section[id]{scroll-margin-top:100px}details{margin-top:1.4rem}summary{cursor:pointer;font-weight:700;padding:.5rem 0}details p{margin-top:1rem!important}details a{display:inline-block;margin-top:1rem}.service:last-child{grid-column:1/-1}.service:last-child p{max-width:800px}.opportunities{padding:7rem 0;background:#f7f5ef}.opportunities>.wrap>p{max-width:900px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 1rem}.filters button,#guide-options button{padding:.7rem 1rem;border:1px solid #b4c2c1;background:white;color:var(--ink);cursor:pointer;border-radius:3px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.opportunity{background:white;padding:2rem;border:1px solid var(--line);border-top:3px solid var(--sand)}.opportunity h3{font-family:Georgia,serif;font-size:1.7rem;margin:1rem 0}.status{font-size:.82rem;color:#345e56;font-weight:bold}.source{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem;font-size:.85rem}.source a{display:inline-block}.source small{color:var(--muted)}.freshness{color:#855715;font-weight:600;margin:.5rem 0 0}.opportunity-help{background:#e9edea;padding:2rem;margin-top:2rem}.contact-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.contact-actions .button{font-size:.9rem;cursor:pointer;background:transparent}.floating-tools{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:15;display:flex;gap:.5rem;flex-direction:column;align-items:end}.floating-tools>*{border:1px solid #aab5b4;background:var(--ink);color:white;border-radius:30px;padding:.8rem 1.2rem;text-decoration:none;box-shadow:0 4px 22px #0002;font-size:.9rem;cursor:pointer}.floating-tools>a{background:#235c4d}dialog{border:1px solid var(--line);border-radius:12px;padding:1.8rem;width:min(440px,calc(100% - 32px));max-height:80dvh;color:var(--ink);box-shadow:0 24px 80px #0004}dialog::backdrop{background:#142b3880}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.dialog-head h3{font-family:Georgia,serif;font-size:1.7rem}.dialog-head button{background:none;border:0;font-size:1.8rem;cursor:pointer;color:var(--ink)}.assistant-note{font-size:.8rem;color:var(--muted)}#guide-options{display:flex;flex-wrap:wrap;gap:.5rem}#guide-answer{margin:1rem 0}#guide-answer a{display:block;margin-top:.6rem}.footer{padding-bottom:160px}[hidden]{display:none!important}@media(max-width:700px){.opportunity-grid{grid-template-columns:1fr}.opportunities{padding:4rem 0}.opportunity{padding:1.5rem}.floating-tools{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.floating-tools>*{font-size:.82rem}.contact-actions{align-items:stretch;flex-direction:column}}
/* Azioni coerenti con Domus: due controlli compatti ai lati dello schermo. */
.button{border-radius:6px;text-align:center;line-height:1.3}
.button:active,.contact-actions a:active{transform:translateY(1px)}
.filters button,#guide-options button{min-height:44px;border-radius:6px;line-height:1.25}
.filters button:hover,#guide-options button:hover{border-color:var(--sand);background:#f5f0e5}
.filters button[aria-pressed=true],.filters button[aria-pressed=true]:hover{background:var(--ink);color:#fff}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:590px;gap:8px}
.contact-actions .button{display:flex;justify-content:flex-start;gap:10px;min-height:60px;padding:10px 13px;border-color:#c5a66c99;color:#fff;background:#ffffff09;font-size:14px;font-weight:600}
.contact-actions .button:hover{background:#ffffff1c}
.contact-actions .whatsapp-call{background:#25563760;border-color:#64b888a8}
.contact-actions .whatsapp-call:hover{background:#255637a0}
.call-help{max-width:590px;margin:.65rem 0 0;color:#d9e6e2;font-size:14px;line-height:1.45}
.contact{padding:5.5rem 0}.contact-grid{align-items:center}.contact-card .label{margin-bottom:.6rem}.contact-card .contact-email{min-height:50px;padding:.7rem 1.1rem;cursor:pointer;font-size:14px}.contact-card .contact-email span{font-size:18px}.contact-card p{margin:1.7rem 0 0}
.action-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:15px;line-height:1}
.floating-tools{display:contents}
.floating-tools>*{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));z-index:15;display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 15px 8px 8px;border:1px solid #c5a66c80;border-radius:999px;background:var(--ink);box-shadow:0 8px 24px #0004;color:#fff;font-size:12px;font-weight:700;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}
.floating-tools>*:hover{transform:translateY(-2px)}
.floating-tools>button{left:18px;right:auto}
.floating-tools>a{right:18px;left:auto;background:#235c4d;border-color:#6fc49b88}
.float-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid currentColor;border-radius:50%;font-size:11px;line-height:1}
.footer{padding-bottom:100px}
@media(max-width:700px){
  .contact-actions{grid-template-columns:1fr;max-width:none}
  .contact-actions .button{min-height:56px}
  .floating-tools>*{bottom:calc(12px + env(safe-area-inset-bottom));width:52px;height:52px;min-height:52px;justify-content:center;padding:6px;border-radius:50%;font-size:11px}
  .floating-tools>button{left:12px;right:auto}
  .floating-tools>a{right:12px;left:auto}
  .floating-tools .float-icon{width:38px;height:38px;flex-basis:38px}
  .floating-tools .float-label{display:none}
  .footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}
/* Casablanca a tutta larghezza, con testi e controlli leggibili sopra ogni foto. */
.gallery{position:relative;isolation:isolate;min-height:min(850px,calc(100svh - 88px));min-height:max(660px,min(850px,calc(100svh - 88px)));background:#142b38;overflow:hidden}
.gallery-slides,.gallery-slide{position:absolute;inset:0}
.gallery-slide{margin:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}
.gallery-slide.is-active{opacity:1;visibility:visible}
.gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(.9)}
.gallery-slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b202dea 0%,#0b202db8 35%,#0b202d52 70%,#0b202d25 100%),linear-gradient(0deg,#071c2bd9 0%,transparent 35%)}
.gallery-slide:first-child img{object-position:center 43%}
.gallery-slide:nth-child(3) img{object-position:center 52%}
.gallery-slide figcaption{position:absolute;z-index:2;left:max(24px,calc((100vw - var(--max))/2));bottom:104px;display:grid;gap:2px;max-width:min(470px,calc(100% - 48px));color:#fff;text-shadow:0 2px 12px #0009;font-size:14px;line-height:1.45}
.gallery-slide figcaption strong{font-size:16px;letter-spacing:.02em}
.gallery-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:min(calc(100% - 48px),var(--max));min-height:inherit;margin:auto;padding:50px 0 150px;color:#fff}
.gallery-copy .eyebrow{color:#e4c48e}
.gallery-copy h1{max-width:860px;margin:1rem 0 1.5rem;font-size:clamp(3.4rem,6.5vw,6.5rem);line-height:1.03;text-shadow:0 3px 24px #071b2ca6}
.gallery-copy .lead{max-width:680px;color:#fff;text-shadow:0 2px 16px #071b2caa}
.gallery-copy .hero-actions{margin-top:1.5rem}
.gallery-copy .button.outline{background:#0c263585;backdrop-filter:blur(5px)}
.hero-contact-actions{gap:10px}.hero-contact-actions .button{min-height:50px;cursor:pointer;font-size:14px;line-height:1.25;white-space:nowrap}.hero-contact-actions .button>span{font-size:18px;line-height:1}.hero-discovery{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:14px;font-weight:600}.hero-discovery a{text-decoration:underline;text-decoration-color:#e4c48e;text-underline-offset:5px}.hero-discovery a:hover{color:#e4c48e}
.gallery-controls{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:128px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff}
.gallery-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #ffffffa8;border-radius:50%;background:#142b38ad;color:#fff;font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(5px)}
.gallery-controls button:hover{background:#c5a66c;color:#142b38}
.gallery-count{min-width:62px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.12em}
.gallery-credits{margin-top:1.5rem;border-top:1px solid #ffffff30;padding-top:.7rem;font-size:12px;line-height:1.6}
.gallery-credits summary{display:inline-block;cursor:pointer;color:#d8e2df}
.gallery-credits p{max-width:900px;margin:.7rem 0 0;color:#cbd6d3}
.gallery-credits a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.gallery{min-height:max(740px,calc(100svh - 72px))}.gallery-copy{width:min(calc(100% - 48px),760px);padding-bottom:210px}}
@media(max-width:700px){
  .gallery{min-height:max(760px,calc(100svh - 72px))}
  .gallery-copy{width:calc(100% - 36px);justify-content:flex-start;padding:clamp(46px,8svh,76px) 0 230px}
  .gallery-copy .eyebrow{font-size:12px;letter-spacing:.12em}
  .gallery-copy h1{max-width:570px;margin:.9rem 0 1.1rem;font-size:clamp(2.55rem,10vw,3.6rem);line-height:1.06}
  .gallery-copy .lead{max-width:540px;font-size:1rem;line-height:1.45}
  .gallery-copy .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:1.1rem}
  .gallery-copy .hero-contact-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.gallery-copy .hero-contact-actions .button{min-height:44px;padding:.6rem .8rem;white-space:normal}.gallery-copy .hero-contact-actions .button:first-child{max-width:100%}.hero-discovery{gap:.5rem 1rem;margin-top:.7rem;font-size:13px}
  .gallery-copy .button{min-height:44px;padding:.63rem .9rem;font-size:14px}
  .gallery-slide figcaption{left:18px;right:18px;bottom:164px;max-width:none;font-size:12px}
  .gallery-slide figcaption strong{font-size:14px}
  .gallery-controls{right:18px;bottom:83px;gap:4px}
  .gallery-controls button{width:44px;height:44px}
  .gallery-count{min-width:57px;font-size:12px}
  .gallery-slide::after{background:linear-gradient(180deg,#071c2bcf 0%,#071c2b88 58%,#071c2bd9 100%)}
}
@media(max-width:700px) and (max-height:760px){.gallery-copy{padding-top:35px}.gallery-copy h1{font-size:clamp(2.3rem,9vw,3.1rem)}.gallery-copy .lead{font-size:.94rem}.gallery-copy h1{margin-bottom:.7rem}}
@media(prefers-reduced-motion:reduce){.gallery-slide{transition:none}}
/* Restore the compact Domus utility bar, before the September 28 expansion. */
.quick-contact{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-height:38px;padding:3px clamp(22px,5vw,76px);background:#090807;color:#d9c7b9}
.quick-contact-link{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:2px 13px;border:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer;font:inherit;line-height:1.3}
.quick-contact-link strong{font-size:10px;font-weight:600;letter-spacing:.035em}.quick-contact-link span{color:var(--sand);font-size:15px}.quick-contact-link+.quick-contact-link{border-inline-start:1px solid #ffffff18}.quick-contact-link:hover{color:#fff}
@media(max-width:700px){.quick-contact{min-height:40px;gap:11px;padding:3px 4vw}.quick-contact-link{min-height:34px;padding:0 8px}.quick-contact-link strong{font-size:10px;letter-spacing:.01em}.quick-contact-link span{font-size:14px}}
.language-control{display:flex;align-items:center;gap:.45rem;flex:none;font-size:.75rem;font-weight:700}.language-control label{color:var(--muted)}.language-control select{max-width:135px;min-height:44px;padding:.3rem .45rem;border:1px solid #c7d1cf;border-radius:6px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.language-control select:focus-visible{outline:3px solid var(--sand);outline-offset:2px}
@media(max-width:900px){.header-inner{gap:.8rem}.nav{gap:.8rem}.nav a{font-size:.8rem}}
@media(max-width:700px){.language-control{margin-left:auto}.language-control label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-control select{max-width:110px;font-size:.72rem}.menu-toggle{order:2}.brand img{width:94px}}
/* Le etichette tradotte richiedono il menu compatto anche sui tablet stretti. */
@media(min-width:701px) and (max-width:820px){.header-inner{min-height:72px}.menu-toggle{display:block;order:2}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fffdf8;padding:1.5rem 24px 2rem;box-shadow:0 18px 30px #142b3820;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.language-control{margin-left:auto}.brand img{width:105px}}
