/* Renderistico.it — v2
   Layout: sala di proiezione. Fondo carbone, immagini a tutto schermo, titoli in maiuscolo sottile
   come il logo; il fondo passa da scuro a chiaro mentre si scorre. Nessun colore d'accento forte:
   solo i neutri del marchio e un filo di ottone. */

@font-face{font-family:"Strawford";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/strawford-light.woff2") format("woff2")}
@font-face{font-family:"Strawford";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/strawford-regular.woff2") format("woff2")}
@font-face{font-family:"Strawford";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/strawford-bold.woff2") format("woff2")}

@property --bg{syntax:"<color>";inherits:true;initial-value:#0F0F0E}
@property --fg{syntax:"<color>";inherits:true;initial-value:#F2F0EC}
@property --fg2{syntax:"<color>";inherits:true;initial-value:#9B978F}
@property --linea{syntax:"<color>";inherits:true;initial-value:rgba(242,240,236,.16)}

:root{
  --carbone:#0F0F0E; --carta:#EAE8E3; --avorio:#F2F0EC; --inchiostro:#131312;
  --bg:#0F0F0E; --fg:#F2F0EC; --fg2:#9B978F; --linea:rgba(242,240,236,.16);
  --ottone:#C6AE84; --ottone-testo:#C6AE84;
  --font:"Strawford","Helvetica Neue",Helvetica,Arial,sans-serif;
  --t-xs:.75rem; --t-s:.9375rem; --t-m:1.0625rem; --t-l:1.375rem;
  --t-xl:clamp(1.5rem,1rem + 1.2vw,2.125rem);
  --d3:clamp(2rem,1rem + 2.8vw,3.5rem);
  --d2:clamp(2.75rem,.8rem + 5.2vw,6rem);
  --g:clamp(20px,4vw,64px);
  --sez:clamp(88px,13vw,220px);
  --e:cubic-bezier(.16,1,.3,1);
  --e2:cubic-bezier(.76,0,.24,1);
}
body[data-tema="chiaro"]{--bg:#EAE8E3;--fg:#131312;--fg2:#6A665F;--linea:rgba(19,19,18,.18);--ottone-testo:#7A6641}
body.atelier{--ottone:#AEB993;--ottone-testo:#AEB993}
body.atelier[data-tema="chiaro"]{--ottone-testo:#555B43}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--t-m);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:--bg .6s var(--e2),--fg .6s var(--e2),--fg2 .6s var(--e2),--linea .6s var(--e2);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--ottone);outline-offset:4px}
[hidden]{display:none!important}
::selection{background:var(--fg);color:var(--bg)}
.nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.salta{position:fixed;left:12px;top:12px;z-index:200;background:var(--avorio);color:var(--inchiostro);padding:12px 18px;transform:translateY(-200%)}
.salta:focus{transform:none}

.w{width:100%;max-width:1760px;margin-inline:auto;padding-inline:var(--g)}
.sez{padding-block:var(--sez)}
.sez--mezza{padding-block:calc(var(--sez) * .55)}

/* ---------- tipografia ---------- */
.d2,.d3{font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.94;text-wrap:balance}
.d2{font-size:var(--d2)}
.d3{font-size:var(--d3);line-height:1}
.xl{font-size:var(--t-xl);font-weight:300;line-height:1.24;letter-spacing:-.01em;text-wrap:pretty}
.lead{font-size:var(--t-l);line-height:1.45;max-width:36em}
.etichetta{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.testo{max-width:60ch}
.testo p + p{margin-top:1.1em}
.tenue{color:var(--fg2)}

/* parole che salgono */
.p{display:inline-block;overflow:hidden;vertical-align:top;padding:.2em 0 .12em;margin:-.2em 0 -.12em}
.p > span{display:inline-block}
html.js:not(.calmo) [data-parole] .p > span{transform:translateY(112%);transition:transform .8s var(--e);transition-delay:calc(var(--i) * 30ms + var(--ritardo,0ms))}
html.js:not(.calmo) [data-parole].visto .p > span{transform:none}

/* comparsa generica */
html.js:not(.calmo) [data-riv]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--e),transform .75s var(--e);transition-delay:var(--ritardo,0ms)}
html.js:not(.calmo) [data-riv].visto{opacity:1;transform:none}

/* ---------- immagini ---------- */
.foto{display:block;position:relative;overflow:hidden;background:#1c1c1b}
.foto img{width:100%;height:100%;object-fit:cover}
html.js:not(.calmo) .foto[data-svela]{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--e);transition-delay:var(--ritardo,0ms)}
html.js:not(.calmo) .foto[data-svela] img{scale:1.2;transition:scale 1.3s var(--e);transition-delay:var(--ritardo,0ms)}
html.js:not(.calmo) .foto[data-svela].visto{clip-path:inset(0)}
html.js:not(.calmo) .foto[data-svela].visto img{scale:1}
.foto[data-parallasse] img{position:absolute;left:0;top:-12%;width:100%;height:124%;translate:0 var(--py,0px);will-change:translate}
a.scatto{display:block;cursor:zoom-in}
.didascalia{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:var(--t-s);line-height:1.35}
.didascalia span:last-child{color:var(--fg2);text-align:right}

/* cornice: i segni d'angolo del logo */
.cornice{position:relative}
.cornice::before,.cornice::after{content:"";position:absolute;width:28px;height:28px;pointer-events:none;z-index:3;transition:border-color .9s}
.cornice::before{top:-10px;left:-10px;border-top:1.5px solid var(--fg);border-left:1.5px solid var(--fg)}
.cornice::after{bottom:-10px;right:-10px;border-bottom:1.5px solid var(--fg);border-right:1.5px solid var(--fg)}

/* ---------- pulsanti e link ---------- */
.link{position:relative;display:inline-block;font-size:var(--t-s);font-weight:700;padding-bottom:6px}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--e)}
.link:hover::after{transform:scaleX(0);transform-origin:left;animation:ritorna .7s var(--e) .25s forwards}
@keyframes ritorna{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:0 34px;border:1px solid var(--fg);border-radius:60px;font-size:var(--t-s);font-weight:700;letter-spacing:.01em;overflow:hidden;isolation:isolate;transition:color .5s var(--e),border-color .9s}
.btn::before{content:"";position:absolute;inset:-1px;background:var(--fg);border-radius:60px;transform:translateY(101%);transition:transform .6s var(--e);z-index:-1}
.btn:hover{color:var(--bg)}
.btn:hover::before{transform:none}
.btn--pieno{background:var(--fg);color:var(--bg)}
.btn--pieno::before{background:var(--ottone)}
.btn--pieno:hover{color:var(--inchiostro)}
.btn svg{width:16px;height:16px;flex:none;transition:transform .5s var(--e)}
.btn:hover svg{transform:translateX(5px)}

/* ---------- ingresso: solo alla prima visita della home ---------- */
.sipario{display:none}
html.js.primo .sipario{display:flex;position:fixed;inset:0;z-index:300;background:var(--carbone);color:var(--avorio);align-items:flex-end;justify-content:space-between;padding:var(--g);transition:transform .9s var(--e2);will-change:transform}
html.js.primo .sipario.su{transform:translateY(-100%)}
.sipario__conto{font-size:clamp(4rem,14vw,13rem);font-weight:300;line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sipario__motto{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:#9B978F}

/* ---------- cursore ---------- */
.cursore{display:none}
@media (hover:hover) and (pointer:fine){
  html.js .cursore{display:grid;place-items:center;position:fixed;left:0;top:0;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:var(--avorio);pointer-events:none;z-index:250;opacity:0;scale:.4;transition:opacity .2s,scale .3s var(--e);will-change:transform}
  .cursore span{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#000;white-space:nowrap}
  html.js .cursore.grande{opacity:1;scale:1}
  html.js .cursore.via{opacity:0}
}

/* ---------- testata e menu ---------- */
.testa{position:fixed;inset:0 0 auto 0;z-index:120;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:transform .45s var(--e);pointer-events:none}
.testa::before{content:"";position:absolute;inset:0 0 auto 0;height:210%;background:linear-gradient(to bottom,rgba(0,0,0,.62) 0,rgba(0,0,0,.34) 42%,rgba(0,0,0,0) 100%);pointer-events:none;z-index:-1;transition:opacity .6s}
body[data-tema="chiaro"] .testa::before{background:linear-gradient(to bottom,rgba(0,0,0,.78) 0,rgba(0,0,0,.5) 45%,rgba(0,0,0,0) 100%)}
.menu-aperto .testa::before,.testa.nascosta::before{opacity:0}
.testa .w{display:flex;align-items:center;justify-content:space-between;height:88px}
.testa a,.testa button{pointer-events:auto}
.testa.nascosta{transform:translateY(-110%)}
.logo{display:block;height:36px;width:auto}
.testa__destra{display:flex;align-items:center;gap:clamp(20px,3vw,44px);font-size:var(--t-s);font-weight:700}
.menu-btn{display:flex;align-items:center;gap:14px;font-weight:700;font-size:var(--t-s);height:48px}
.menu-btn i{position:relative;display:block;width:34px;height:10px}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .6s var(--e),top .6s var(--e)}
.menu-btn i::before{top:0}.menu-btn i::after{top:9px}
.menu-aperto .menu-btn i::before{top:4.5px;transform:rotate(45deg)}
.menu-aperto .menu-btn i::after{top:4.5px;transform:rotate(-45deg)}
@media (max-width:640px){.testa__cta{display:none}.testa .w{height:72px}.logo{height:30px}}

.menu{position:fixed;inset:0;z-index:110;--bg:#0F0F0E;--fg:#F2F0EC;--fg2:#9B978F;--linea:rgba(242,240,236,.16);background:var(--bg);color:var(--fg);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .65s var(--e2),visibility 0s .65s;overflow:auto}
.menu-aperto .menu{clip-path:inset(0);visibility:visible;transition:clip-path .65s var(--e2),visibility 0s}
.menu__dentro{min-height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--g);padding:120px var(--g) var(--g)}
.menu__voci{display:flex;flex-direction:column;justify-content:center}
.menu__voci a{display:block;font-size:clamp(2.25rem,min(6.2vw,9.6vh),6.75rem);font-weight:300;text-transform:uppercase;letter-spacing:-.015em;line-height:1.02;overflow:hidden;transition:opacity .4s}
.menu__voci a span{display:inline-block;transform:translateY(110%);transition:transform .75s var(--e),padding .5s var(--e)}
.menu-aperto .menu__voci a span{transform:none;transition-delay:calc(var(--i) * 45ms + .2s),0s}
.menu__voci:hover a{opacity:.32}
.menu__voci a:hover{opacity:1}
.menu__voci a:hover span{padding-left:.25em}
.menu__voci a[aria-current="page"]{color:var(--ottone)}
.menu__lato{display:flex;flex-direction:column;justify-content:flex-end;gap:32px}
.menu__foto{position:relative;aspect-ratio:4/5;max-height:54vh;margin:10px 10px 10px auto;width:min(100%,420px)}
.menu__foto .foto{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.menu__foto .foto.attiva{opacity:1}
.menu__contatti{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:var(--t-s);border-top:1px solid var(--linea);padding-top:24px}
.menu__contatti a:hover{color:var(--ottone)}
@media (max-width:860px){
  .menu__dentro{grid-template-columns:minmax(0,1fr);padding-top:100px}
  .menu__foto{display:none}
}

/* ---------- hero ---------- */
.hero{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:#000;color:#fff;z-index:0}
.hero__media{position:absolute;inset:0;transform:scale(calc(1 - var(--hp,0) * .06));transform-origin:50% 100%;will-change:transform}
html.js.primo:not(.calmo) .hero.attesa .hero__media{clip-path:inset(18% 26% 18% 26%)}
.hero__media{clip-path:inset(0);transition:clip-path 1.2s var(--e2)}
.hero__slide{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 100%);z-index:1}
.hero__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.hero__slide.attiva{clip-path:inset(0);z-index:2}
.hero__slide.attiva img{animation:respiro 9s linear forwards}
.hero__slide.entra{z-index:3;clip-path:inset(0);transition:clip-path 1.5s var(--e2)}
.hero__slide.entra img{animation:entra 1.9s var(--e) forwards}
.hero__slide.esce img{transition:transform 1.5s var(--e2),filter 1.5s;transform:translateX(-12%) scale(1.1);filter:brightness(.45)}
@keyframes respiro{from{transform:scale(1.02)}to{transform:scale(1.1)}}
@keyframes entra{from{transform:translateX(18%) scale(1.25)}to{transform:scale(1.02)}}
.hero__velo{position:absolute;inset:0;z-index:4;background:linear-gradient(to top,rgba(0,0,0,.72) 0,rgba(0,0,0,.18) 38%,rgba(0,0,0,0) 58%),linear-gradient(to bottom,rgba(0,0,0,.42) 0,rgba(0,0,0,0) 20%);opacity:calc(1 + var(--hp,0) * .6);pointer-events:none}
.hero__buio{position:absolute;inset:0;z-index:6;background:#000;opacity:calc(var(--hp,0) * .7);pointer-events:none}
.hero__testo{position:absolute;left:0;right:0;bottom:clamp(84px,11vh,128px);z-index:5;transform:translateY(calc(var(--hp,0) * -90px))}
.hero__motto{font-size:clamp(1rem,1.5vw,1.5rem);font-weight:300;letter-spacing:.02em;margin-bottom:clamp(6px,1vw,14px);overflow:hidden}
.hero__motto span{display:inline-block}
.hero__marchio{font-weight:300;text-transform:uppercase;line-height:.8;letter-spacing:-.01em;font-size:calc((min(100vw,1760px) - 2 * var(--g)) * .1295);white-space:nowrap;display:flex;justify-content:space-between;overflow:hidden;padding-bottom:.06em}
.hero__marchio span{display:inline-block}
html.js:not(.calmo) .hero__marchio span{transform:translateY(110%);transition:transform 1.1s var(--e);transition-delay:calc(var(--i) * 40ms + .15s)}
html.js:not(.calmo) .hero__motto span{transform:translateY(120%);transition:transform .9s var(--e) .55s}
html.js:not(.calmo) .hero.pronto .hero__marchio span,html.js:not(.calmo) .hero.pronto .hero__motto span{transform:none}
.hero__barra{position:absolute;left:0;right:0;bottom:clamp(22px,3.4vh,40px);z-index:5;font-size:var(--t-s)}
.hero__barra .w{display:flex;align-items:center;justify-content:space-between;gap:24px}
html.js:not(.calmo) .hero__barra{opacity:0;transition:opacity .8s .8s}
html.js:not(.calmo) .hero.pronto .hero__barra{opacity:1}
.hero__didascalia{display:flex;align-items:baseline;gap:14px;min-width:0;flex:1}
.hero__didascalia > span:first-child{white-space:nowrap;flex:none}
.hero__n{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.6)}
.hero__nome{overflow:hidden;height:1.5em;white-space:nowrap;min-width:0;flex:1}
.hero__nome span{overflow:hidden;text-overflow:ellipsis}
.hero__nome span{display:block;transition:transform .9s var(--e2)}
a.hero__nome{display:block}
a.hero__nome span::after{content:"\2192";display:inline-block;margin-left:.7em;transition:transform .5s var(--e)}
a.hero__nome:hover span::after{transform:translateX(6px)}
.hero__passi{display:flex;gap:8px}
.hero__passi button{position:relative;width:clamp(28px,5vw,64px);height:28px}
.hero__passi button::before,.hero__passi button::after{content:"";position:absolute;left:0;right:0;top:13px;height:1.5px;background:rgba(255,255,255,.3)}
.hero__passi button::after{background:#fff;transform:scaleX(0);transform-origin:left}
.hero__passi button.attivo::after{animation:avanza var(--durata,6500ms) linear forwards}
@keyframes avanza{to{transform:scaleX(1)}}
.hero__giu{display:flex;align-items:center;gap:12px;font-weight:700}
.hero__giu i{display:block;width:1px;height:38px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.hero__giu i::after{content:"";position:absolute;inset:0;background:#fff;animation:cola 2.2s var(--e2) infinite}
@keyframes cola{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
@media (max-width:760px){.hero__giu{display:none}.hero__passi{gap:6px;flex:none}.hero__passi button{width:20px}.scena__didascalia{display:none}}

.corpo{position:relative;z-index:2;background:var(--bg);overflow-x:clip}
main{overflow-x:clip}

/* ---------- apertura delle pagine interne ---------- */
.apertura{position:relative;min-height:min(92svh,1040px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#000}
.apertura__media{position:absolute;inset:0}
.apertura__media .foto{position:absolute;inset:0}
.apertura__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;translate:0 var(--py,0px);scale:1.08}
html.js:not(.calmo) .apertura__media img{scale:1.22;transition:scale 1.5s var(--e)}
html.js:not(.calmo) .apertura.pronto .apertura__media img{scale:1.08}
.apertura__velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74) 0,rgba(0,0,0,.2) 46%,rgba(0,0,0,.34) 100%)}
.apertura__testo{position:relative;z-index:2;width:100%;padding-block:160px clamp(40px,6vw,88px)}
.apertura h1{font-size:var(--d2);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.92;max-width:11em;text-wrap:balance}
.apertura .percorso{margin-bottom:22px}
.apertura .etichetta{color:rgba(255,255,255,.7)}
.apertura__sotto{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 60px;margin-top:clamp(22px,3vw,44px)}
.apertura__sotto p{max-width:34em;font-size:var(--t-l);line-height:1.4;color:rgba(255,255,255,.88)}
.apertura--testo{min-height:0;background:none;color:inherit}
.apertura--testo .apertura__testo{padding-block:clamp(170px,22vh,260px) clamp(40px,6vw,96px)}
.apertura--testo .etichetta{color:var(--fg2)}
.apertura--testo .apertura__sotto p{color:inherit}

/* ---------- manifesto e numeri ---------- */
.manifesto{font-size:clamp(1.6rem,.9rem + 2.2vw,3rem);font-weight:300;line-height:1.14;letter-spacing:-.018em;max-width:22em}
html.js:not(.calmo) .manifesto .m{opacity:.16;transition:opacity .5s}
html.js:not(.calmo) .manifesto .m.on{opacity:1}
.numeri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,72px);margin-top:clamp(64px,9vw,150px)}
.numeri > div{border-top:1px solid var(--linea);padding-top:22px}
.numeri dt{font-size:clamp(2.75rem,1rem + 3.4vw,4.75rem);font-weight:300;line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.numeri dd{margin-top:18px;font-size:var(--t-s);line-height:1.45;color:var(--fg2);max-width:26em}
.numeri dd b{display:block;color:var(--fg);font-weight:700;font-size:var(--t-m);margin-bottom:4px}
@media (max-width:820px){.numeri{grid-template-columns:minmax(0,1fr)}}

/* ---------- scena: il render passa dal bianco e nero ai colori mentre si scorre ---------- */
.scena{position:relative;height:260vh}
.scena__fermo{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}
.scena__quadro{position:absolute;inset:0;clip-path:inset(calc((1 - var(--apri,0)) * 14vh) calc((1 - var(--apri,0)) * 16vw));will-change:clip-path}
.scena__strato{position:absolute;inset:0}
.scena__strato img{width:100%;height:100%;object-fit:cover}
.scena__modello{background:#0a0a0a}
.scena__render{opacity:var(--x,0)}
.scena__linea{position:absolute;top:0;bottom:0;left:calc(var(--x,0) * 100%);width:1px;background:#fff;opacity:calc(1 - var(--apri,0) * 1.4)}
.scena__velo{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:var(--velo,0);pointer-events:none;transition:opacity .9s}
.scena__angoli{position:absolute;inset:calc((1 - var(--apri,0)) * 14vh - 12px) calc((1 - var(--apri,0)) * 16vw - 12px);pointer-events:none;opacity:calc(1 - var(--apri,0) * 1.2)}
.scena__angoli::before,.scena__angoli::after{content:"";position:absolute;width:30px;height:30px}
.scena__angoli::before{top:0;left:0;border-top:1.5px solid #fff;border-left:1.5px solid #fff}
.scena__angoli::after{bottom:0;right:0;border-bottom:1.5px solid #fff;border-right:1.5px solid #fff}
.scena__titolo{position:relative;z-index:3;color:#fff;text-align:center;padding-inline:var(--g)}
.scena__titolo h2{font-size:clamp(2.5rem,1rem + 5vw,6.5rem);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.92}
.scena__titolo p{margin-top:24px;font-size:var(--t-l);opacity:var(--apri,0);transform:translateY(calc((1 - var(--apri,0)) * 20px))}
html.js:not(.calmo) .scena__titolo .p > span{transform:translateY(112%);transition:transform .9s var(--e);transition-delay:calc(var(--i) * 45ms)}
html.js:not(.calmo) .scena.titolo-on .scena__titolo .p > span{transform:none}
.scena__didascalia{position:absolute;right:var(--g);bottom:clamp(22px,4vh,44px);z-index:3;color:#fff;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;opacity:calc(1 - var(--apri,0) * 2)}
.scena__stato{position:absolute;left:var(--g);bottom:clamp(22px,4vh,44px);z-index:3;color:#fff;display:flex;gap:28px;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase}
.scena__stato span{opacity:.4;transition:opacity .5s}
.scena__stato span.on{opacity:1}
@media (max-width:760px){
  .scena{height:220vh}
  .scena__quadro{clip-path:inset(calc((1 - var(--apri,0)) * 16vh) calc((1 - var(--apri,0)) * 6vw))}
  .scena__angoli{inset:calc((1 - var(--apri,0)) * 16vh - 10px) calc((1 - var(--apri,0)) * 6vw - 10px)}
}

/* ---------- intestazione di sezione ---------- */
.titolo-sez{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;margin-bottom:clamp(40px,6vw,104px)}
.titolo-sez h2{max-width:10em}
.titolo-sez h2.d3{max-width:15em}

/* ---------- elenco servizi con anteprima che segue il cursore ---------- */
.servizi{border-top:1px solid var(--linea)}
.servizio{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr) auto;gap:16px clamp(20px,4vw,72px);align-items:center;padding-block:clamp(22px,3.2vw,48px);border-bottom:1px solid var(--linea);transition:opacity .5s,padding .7s var(--e)}
.servizio__nome{font-size:clamp(2rem,1rem + 3vw,4rem);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:1}
.servizio__testo{font-size:var(--t-s);color:var(--fg2);max-width:38ch}
.servizio__freccia{width:56px;height:56px;border:1px solid var(--linea);border-radius:50%;display:grid;place-items:center;transition:background-color .5s var(--e),color .5s,transform .7s var(--e),border-color .5s}
.servizio__freccia svg{width:18px;height:18px}
.servizio .foto{display:none}
@media (hover:hover) and (pointer:fine){
  .servizi:hover .servizio{opacity:.28}
  .servizi .servizio:hover{opacity:1;padding-left:clamp(12px,2vw,36px)}
  .servizio:hover .servizio__freccia{background:var(--fg);color:var(--bg);border-color:var(--fg);transform:rotate(-45deg)}
}
.anteprima{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:900px){
  .anteprima{display:block;position:fixed;left:0;top:0;width:clamp(280px,26vw,460px);aspect-ratio:4/5;margin:-13vw 0 0 48px;z-index:90;pointer-events:none;overflow:hidden;clip-path:inset(50% 50% 50% 50%);transition:clip-path .8s var(--e);will-change:transform}
  .anteprima.on{clip-path:inset(0)}
  .anteprima .foto{position:absolute;inset:0;opacity:0;transition:opacity .5s;background:none}
  .anteprima .foto.attiva{opacity:1}
  .anteprima .foto img{transform:scale(1.25);transition:transform 1.4s var(--e)}
  .anteprima .foto.attiva img{transform:scale(1.05)}
}
@media (max-width:899px),(hover:none){
  .servizio{grid-template-columns:minmax(0,1fr) auto;row-gap:14px}
  .servizio__testo{grid-column:1/-1;grid-row:2}
  .servizio .foto{display:block;grid-column:1/-1;aspect-ratio:3/2;margin-top:8px}
  .servizio__freccia{width:44px;height:44px}
}

/* ---------- galleria da trascinare ---------- */
.galleria{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.galleria::-webkit-scrollbar{display:none}
.galleria.presa{cursor:grabbing}
.galleria__pista{display:flex;gap:clamp(12px,1.6vw,28px);padding-inline:var(--g);width:max-content}
.galleria__pista > li{flex:none}
.galleria a{display:block;-webkit-user-drag:none;user-select:none}
.galleria .foto{height:clamp(340px,66vh,760px);aspect-ratio:var(--r)}
.galleria .foto img{width:116%;max-width:none;margin-left:-8%;translate:var(--px,0px) 0;transition:scale 1.2s var(--e);-webkit-user-drag:none;pointer-events:none}
.galleria a:hover .foto img{scale:1.05}
.galleria .didascalia{font-size:var(--t-m)}
.galleria__n{font-size:var(--t-xs);letter-spacing:.14em;color:var(--fg2);margin-bottom:10px;font-variant-numeric:tabular-nums}
@media (max-width:700px){.galleria .foto{height:min(108vw,480px)}}

/* ---------- parole cinetiche ---------- */
.cinetica{overflow:hidden;padding-block:clamp(20px,3vw,48px)}
.cinetica li{font-size:clamp(2.6rem,9vw,10rem);font-weight:300;text-transform:uppercase;line-height:.96;letter-spacing:-.02em;white-space:nowrap;transform:translate3d(var(--kx,0px),0,0);will-change:transform;border-top:1px solid var(--linea);padding-block:.06em}
.cinetica li:last-child{border-bottom:1px solid var(--linea)}
.cinetica li:nth-child(even){text-align:right}
.cinetica li span{-webkit-text-stroke:1px var(--fg);color:transparent;transition:color .7s var(--e)}
.cinetica li:hover span,.cinetica li.on span{color:var(--fg)}

/* ---------- fascia a tutto schermo ---------- */
.fascia{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff}
.fascia .foto{position:absolute;inset:0}
.fascia__velo{position:absolute;inset:0;background:rgba(0,0,0,.42)}
.fascia__testo{position:relative;z-index:2;padding-block:120px}
.fascia__testo h2{max-width:11em}
.fascia__testo p{max-width:34em;margin-top:32px;font-size:var(--t-l);line-height:1.45;color:rgba(255,255,255,.88)}

.motivi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px clamp(24px,4vw,72px)}
.motivi li{border-top:1px solid var(--linea);padding-top:22px}
.motivi h3{font-size:var(--t-xl);font-weight:300;letter-spacing:-.01em;line-height:1.1;margin-bottom:16px}
.motivi p{font-size:var(--t-s);color:var(--fg2)}
@media (max-width:860px){.motivi{grid-template-columns:minmax(0,1fr)}}

/* ---------- blocchi a due colonne ---------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,7vw,140px);align-items:center}
.duo--alto{align-items:start}
.duo__foto{margin:10px}
.duo--inverso > :first-child{order:2}
.duo .d2{font-size:clamp(2.25rem,.8rem + 3.4vw,4.25rem)}
.duo h2 + .lead,.duo h2 + .testo,.duo h2 + p{margin-top:28px}
.duo .link,.duo .btn{margin-top:36px}
@media (max-width:860px){.duo{grid-template-columns:minmax(0,1fr)}.duo--inverso > :first-child{order:0}}

.voci > li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,120px);align-items:center;padding-block:clamp(44px,7vw,120px);border-top:1px solid var(--linea)}
.voci > li:nth-child(even) > .voci__testo{order:2}
.voci__testo{container-type:inline-size}
.voci h2,.voci h3{font-size:min(var(--d3),calc(100cqi / (var(--parola,8) * .72)));font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:1}
.voci p{margin-top:22px;max-width:50ch;color:var(--fg2)}
.voci .link{margin-top:30px}
.voci .foto{aspect-ratio:3/2}
.voci .foto--alta{aspect-ratio:4/5;max-height:86vh;margin-inline:auto}
@media (max-width:820px){.voci > li{grid-template-columns:minmax(0,1fr)}.voci > li:nth-child(even) > .voci__testo{order:0}}

/* riga giustificata di immagini */
.riga{display:flex;gap:clamp(8px,1.2vw,20px)}
.riga > *{flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r)}
.riga .foto{height:100%}
@media (max-width:700px){
  .riga{overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--g);margin-inline:calc(var(--g) * -1);padding-inline:var(--g);scrollbar-width:none}
  .riga::-webkit-scrollbar{display:none}
  .riga > *{flex:none;height:min(70vw,360px);width:auto;scroll-snap-align:start}
}

/* ---------- passi del preventivo (sequenza reale) ---------- */
.passi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,72px);counter-reset:passo}
.passi > li{counter-increment:passo;border-top:1px solid var(--fg);padding-top:20px}
.passi > li::before{content:"0" counter(passo);display:block;font-size:clamp(3rem,1.5rem + 3.4vw,4.75rem);font-weight:300;line-height:.9;letter-spacing:-.03em}
.passi h3{font-size:var(--t-l);font-weight:400;line-height:1.25;margin-block:22px 14px}
.passi .foto{aspect-ratio:3/2;margin-top:22px}
.passi ul{font-size:var(--t-s);color:var(--fg2);display:grid;gap:8px}
.passi ul li{padding-left:20px;position:relative}
.passi ul li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:1px;background:currentColor}
.passi p{font-size:var(--t-s);color:var(--fg2);margin-bottom:10px}
.passi a{text-decoration:underline;text-underline-offset:.25em}
@media (max-width:900px){.passi{grid-template-columns:minmax(0,1fr)}}

.elenco{display:grid;gap:0;font-size:var(--t-xl);font-weight:300;line-height:1.2}
.elenco li{border-top:1px solid var(--linea);padding-block:18px}
.elenco li:last-child{border-bottom:1px solid var(--linea)}
.incluso{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(36px,6vw,120px)}
.incluso > div{border-top:1px solid var(--linea);padding-block:26px}
.incluso dt{font-size:var(--t-xl);font-weight:300;line-height:1.15;margin-bottom:12px}
.incluso dd{font-size:var(--t-s);color:var(--fg2);max-width:52ch}
@media (max-width:820px){.incluso{grid-template-columns:minmax(0,1fr)}}

/* ---------- progetti ---------- */
.strumenti{display:block}
.filtri{display:flex;flex-wrap:wrap;gap:10px}
.filtri button{min-height:48px;padding:0 24px;border:1px solid var(--linea);border-radius:48px;font-size:var(--t-s);font-weight:700;transition:background-color .4s,color .4s,border-color .4s}
.filtri button:hover{border-color:var(--fg)}
.filtri button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.conteggio{font-size:var(--t-s);color:var(--fg2);margin-top:18px;min-height:1.6em}
.mappa svg{width:100%;height:auto;display:block;overflow:visible}
.mappa__terra{fill:none;stroke:var(--fg);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.45}
.mappa__punto{cursor:pointer}
.mappa__punto circle{fill:var(--fg);transition:r .3s,fill .3s}
.mappa__punto .alone{fill:var(--fg);opacity:0;transition:opacity .3s}
.mappa__punto:hover circle:not(.alone),.mappa__punto:focus-visible circle:not(.alone),.mappa__punto.attivo circle:not(.alone){fill:var(--ottone);r:7px}
.mappa__punto.attivo .alone,.mappa__punto:focus-visible .alone{opacity:.18}
.mappa__punto.spento{opacity:.2}
.mappa__punto:focus{outline:none}
.mappa__sede rect{fill:none;stroke:var(--fg);stroke-width:1.5}
.mappa__stato{min-height:3.2em;margin-top:14px;font-size:var(--t-s);line-height:1.4;color:var(--fg2)}
.mappa__stato b{display:block;font-weight:700;color:var(--fg)}
@media (max-width:860px){.strumenti{grid-template-columns:minmax(0,1fr)}.mappa{max-width:260px}}

.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,7vw,130px) clamp(20px,4vw,72px);align-items:start}
.mosaico > .tessera.pari{margin-top:clamp(60px,14vw,240px)}
.tessera{display:block;text-align:left;width:100%}
a.tessera{color:inherit}
.tessera .foto{aspect-ratio:4/3}
.tessera.alta .foto{aspect-ratio:4/5}
.tessera .foto img{transition:transform 1.4s var(--e)}
.tessera:hover .foto img{transform:scale(1.06)}
.tessera__testo{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:18px}
.tessera__nome{font-size:var(--t-xl);font-weight:300;letter-spacing:-.01em;line-height:1.1}
.tessera__luogo{font-size:var(--t-s);color:var(--fg2);white-space:nowrap}
@media (max-width:700px){.mosaico{grid-template-columns:minmax(0,1fr)}.mosaico > .tessera.pari{margin-top:0}}

/* ---------- chiusura e piè di pagina ---------- */
.chiusura{padding-block:var(--sez) clamp(48px,7vw,110px)}
.chiusura__link{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--linea);padding-bottom:clamp(24px,3vw,48px)}
.chiusura__link h2{font-size:clamp(2.8rem,1rem + 6.4vw,8rem);font-weight:300;text-transform:uppercase;line-height:.86;letter-spacing:-.02em}
.chiusura__tondo{flex:none;width:clamp(72px,11vw,170px);aspect-ratio:1;border:1px solid var(--fg);border-radius:50%;display:grid;place-items:center;transition:background-color .6s var(--e),color .6s,transform .8s var(--e)}
.chiusura__tondo svg{width:28%;height:28%}
.chiusura__link:hover .chiusura__tondo{background:var(--fg);color:var(--bg);transform:rotate(-45deg)}
.chiusura__sotto{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:28px clamp(24px,4vw,72px);margin-top:clamp(32px,4vw,64px)}
.chiusura__sotto p{max-width:26em;font-size:var(--t-l);line-height:1.4}
.chiusura__sotto dt{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);margin-bottom:8px}
.chiusura__sotto dd{font-size:var(--t-l)}
.chiusura__sotto a:hover{color:var(--ottone-testo)}
@media (max-width:900px){.chiusura__sotto{grid-template-columns:minmax(0,1fr)}}

.piede{border-top:1px solid var(--linea);padding-block:clamp(48px,6vw,88px) 28px;font-size:var(--t-s)}
.piede__griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px clamp(24px,4vw,72px)}
.piede h2{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--fg2);margin-bottom:16px}
.piede ul{display:grid;gap:8px}
.piede a:hover{color:var(--ottone-testo)}
.piede__marchio{margin-top:clamp(56px,8vw,130px);overflow:hidden}
.piede__marchio svg{display:block;width:100%;height:auto}
html.js:not(.calmo) .piede__marchio svg{transform:translateY(60%);transition:transform 1.1s var(--e)}
html.js:not(.calmo) .piede__marchio.visto svg{transform:none}
.piede__legale{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 28px;color:var(--fg2);font-size:var(--t-xs)}
.piede__legale a{text-decoration:underline;text-underline-offset:.25em}
@media (max-width:820px){.piede__griglia{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- modulo preventivo ---------- */
.modulo{--bg:#F4F3EF;--fg:#131312;--fg2:#6A665F;--linea:rgba(19,19,18,.18);background:var(--bg);color:var(--fg);padding:clamp(24px,3.4vw,56px)}
.modulo__passi{display:flex;gap:6px;margin-bottom:30px}
.modulo__passi li{flex:1;height:2px;background:var(--linea);position:relative;overflow:hidden}
.modulo__passi li::after{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--e)}
.modulo__passi li.fatto::after{transform:none}
.modulo fieldset{border:0;padding:0;margin:0;min-width:0}
.modulo legend{padding:0;font-size:var(--d3);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:1;margin-bottom:10px}
.modulo .nota{font-size:var(--t-s);color:var(--fg2);margin-bottom:26px}
.js .modulo fieldset:not(.attivo){display:none}
.js .modulo fieldset.attivo{animation:passo .8s var(--e)}
@keyframes passo{from{opacity:0;transform:translateY(24px)}}
html:not(.js) .modulo fieldset + fieldset{margin-top:40px}
.scelte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.scelte label{display:flex;align-items:center;gap:14px;min-height:62px;padding:12px 18px;border:1px solid var(--linea);cursor:pointer;font-size:var(--t-s);line-height:1.3;transition:border-color .3s,background-color .3s,color .3s}
.scelte label:hover{border-color:var(--fg)}
.scelte input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border:1.5px solid currentColor;border-radius:50%}
.scelte input[type=checkbox]{border-radius:0}
.scelte input:checked{background:currentColor;box-shadow:inset 0 0 0 3px var(--fg)}
.scelte label:has(input:checked){background:var(--fg);color:var(--bg);border-color:var(--fg)}
.scelte label:has(input:checked) input{border-color:var(--bg);background:var(--bg)}
.scelte label:has(input:focus-visible){outline:2px solid var(--ottone);outline-offset:2px}
.campi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.campo{display:grid;gap:4px;font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.campo--largo{grid-column:1/-1}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:10px 0;border:0;border-bottom:1px solid var(--fg2);border-radius:0;background:transparent;font-size:1.125rem;letter-spacing:0;text-transform:none;color:var(--fg)}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--fg);box-shadow:0 1px 0 var(--fg)}
.campo [aria-invalid="true"]{border-bottom-color:#B3261E;box-shadow:0 1px 0 #B3261E}
.consenso{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-s);line-height:1.45;margin-top:22px}
.consenso input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#131312}
.consenso a{text-decoration:underline;text-underline-offset:.25em}
.errore{color:#B3261E;font-size:var(--t-s);margin-top:16px;min-height:1.5em}
.modulo__azioni{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.modulo__esito h3{font-size:var(--d3);font-weight:300;text-transform:uppercase;line-height:1;margin-bottom:18px}
.modulo__esito pre{white-space:pre-wrap;font:inherit;font-size:var(--t-s);border:1px solid var(--linea);padding:18px;margin-block:20px;max-height:260px;overflow:auto;user-select:all}
.modulo__esito .btn{margin:6px 8px 0 0}
@media (max-width:620px){.scelte,.campi{grid-template-columns:minmax(0,1fr)}}

dialog.finestra{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;background:transparent;overflow:auto}
dialog.finestra[open]{animation:apri .9s var(--e)}
@keyframes apri{from{opacity:0;transform:translateY(60px) scale(.98)}}
dialog.finestra::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
.finestra__chiudi{position:absolute;top:14px;right:14px;width:48px;height:48px;font-size:30px;line-height:1;color:#131312;z-index:2;transition:transform .6s var(--e)}
.finestra__chiudi:hover{transform:rotate(90deg)}
dialog.finestra .modulo legend{padding-right:48px}

.contatti{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,120px);align-items:start}
.recapiti > div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding-block:18px;border-top:1px solid var(--linea)}
.recapiti > div:last-child{border-bottom:1px solid var(--linea)}
.recapiti dt{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);padding-top:.5em}
.recapiti dd{font-size:var(--t-l)}
.recapiti a:hover{color:var(--ottone-testo)}
@media (max-width:900px){.contatti{grid-template-columns:minmax(0,1fr)}}

/* ---------- pagina progetto ---------- */
.percorso a{border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;transition:border-color .4s}
.percorso a:hover{border-color:#fff}
.apertura--progetto{min-height:100svh;background:var(--carbone)}
.apertura--progetto h1{max-width:13em}
.apertura--progetto .apertura__sotto{align-items:baseline}
.apertura--progetto .apertura__sotto p{font-size:var(--t-xl);font-weight:300;line-height:1.1;color:#fff}
.apertura--progetto a.scatto{display:inline-block}
html.volo:not(.calmo) .apertura__media img{scale:1.08;transition:none}
@media (min-width:900px){
  .apertura--meta .apertura__media,.apertura--meta .apertura__velo{left:50%}
  .apertura--meta .apertura__velo{background:linear-gradient(to bottom,rgba(0,0,0,.3) 0,rgba(0,0,0,0) 32%)}
  .apertura--meta .apertura__testo .w > *{max-width:calc(50% - var(--g))}
  .apertura--meta h1{font-size:clamp(2.25rem,var(--tit,4vw),6.5rem)}
}
@media (max-width:899px) and (orientation:portrait){
  .apertura--progetto:not(.apertura--meta) .apertura__media{bottom:auto;height:62svh}
  .apertura--progetto:not(.apertura--meta) .apertura__velo{background:linear-gradient(to bottom,rgba(0,0,0,.42) 0,rgba(0,0,0,0) 20%,rgba(15,15,14,0) 40%,#0F0F0E 62%)}
}
.pj-scheda{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,140px);align-items:start}
.pj-scheda .manifesto{max-width:15em}
.pj-dati dd{font-size:var(--t-m);line-height:1.5}
.pj-dati > div{grid-template-columns:110px 1fr}
.pj-dati a{border-bottom:1px solid var(--linea);transition:border-color .4s}
.pj-dati a:hover{border-color:var(--fg);color:inherit}
.pj-descr{margin-top:clamp(28px,4vw,56px);max-width:34em;font-size:var(--t-m);line-height:1.65;color:var(--fg2)}
.pj-descr p + p{margin-top:1em}
.pj-esito{margin-top:clamp(28px,4vw,56px);font-size:var(--t-l);line-height:1.4;max-width:26em;color:var(--ottone-testo)}
@media (max-width:900px){.pj-scheda{grid-template-columns:minmax(0,1fr)}}

.pj-galleria{padding-bottom:var(--sez)}
.pj-galleria > .w{display:block}
.pj-vista{grid-column:1/-1;margin:0;min-width:0}
.pj-vista .foto{width:100%}
.pj-vista--larga{margin-inline:calc(var(--g) * -1)}
.pj-vista--larga .didascalia{padding-inline:var(--g)}
.pj-vista--dx{grid-column:4/-1}
.pj-vista--sx{grid-column:1/10}
.pj-vista--alta{grid-column:3/11;justify-self:center;width:min(100%,calc(86vh * var(--r)))}
.pj-vista--coppia-a{grid-column:1/6}
.pj-vista--coppia-b{grid-column:7/12;margin-top:clamp(80px,16vw,280px)}
@media (max-width:760px){
  .pj-vista--dx,.pj-vista--sx,.pj-vista--alta,.pj-vista--coppia-a,.pj-vista--coppia-b{grid-column:1/-1;margin-top:0;width:100%}
}

.pj-prossimo{border-top:1px solid var(--linea)}
.pj-prossimo__link{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:end}
.pj-prossimo .foto{aspect-ratio:var(--r)}
.pj-prossimo--alta .foto{width:min(100%,calc(78vh * var(--r)))}
.pj-prossimo .foto img{transition:scale 1.1s var(--e)}
.pj-prossimo__link:hover .foto img{scale:1.04}
.pj-prossimo__testo{display:flex;flex-direction:column;gap:clamp(12px,1.6vw,22px);container-type:inline-size}
.pj-prossimo__nome{font-size:min(var(--d3),calc(100cqi / (var(--parola,8) * .8)));font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.95;text-wrap:balance}
.pj-prossimo__luogo{font-size:var(--t-l);color:var(--fg2)}
.pj-prossimo .scheda__vai{align-self:flex-start;margin-top:10px}
@media (max-width:860px){.pj-prossimo__link{grid-template-columns:minmax(0,1fr)}.pj-prossimo--alta .foto{width:100%}}

/* ---------- apertura della pagina progetto: testo su fondo pieno, render intero ---------- */
.pj-apertura{display:flex;flex-direction:column;background:var(--carbone);color:#fff}
.pj-apertura__media{order:-1;display:block;position:relative;cursor:zoom-in}
.pj-apertura__media .foto{aspect-ratio:var(--r);background:#1c1c1b}
.pj-apertura__testo{padding-block:clamp(26px,4vw,40px) clamp(40px,6vw,72px);container-type:inline-size}
.pj-apertura .percorso{margin-bottom:16px;color:rgba(255,255,255,.7)}
.pj-apertura h1{font-size:min(var(--d2),calc((min(100cqi,1760px) - 2 * var(--g)) / (var(--parola,8) * .74)));font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.92;max-width:13em;text-wrap:balance}
.pj-apertura__luogo{margin-top:clamp(14px,2vw,26px);font-size:var(--t-xl);font-weight:300;line-height:1.1}
@media (min-width:900px){
  .pj-apertura__media{order:0}
  .pj-apertura__testo{padding-block:clamp(130px,16vh,190px) clamp(40px,5vw,72px)}
  .pj-apertura--meta{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}
  .pj-apertura--meta .pj-apertura__testo{align-self:end}
  .pj-apertura--meta .pj-apertura__media .foto{aspect-ratio:auto;height:100%;position:absolute;inset:0}
}

/* ---------- pagina configuratore ---------- */
.conf-apertura .pj-apertura__testo{padding-top:clamp(112px,16vh,190px);padding-bottom:clamp(36px,5vw,64px)}
.conf-apertura .pj-apertura__luogo{max-width:24em;line-height:1.25}
.conf-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:clamp(26px,3vw,40px)}
.conf-azioni .btn--pieno{background:#F2F0EC;color:#131312}
.prova{background:var(--carbone);color:#F2F0EC;padding-bottom:var(--sez)}
.prova__griglia{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.prova__quadro{position:relative;overflow:hidden;background:#1c1c1b}
.prova__quadro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prova__scelte{display:flex;flex-direction:column;gap:26px}
.prova__scelte fieldset{border:0;margin:0;padding:18px 0 0;border-top:1px solid rgba(242,240,236,.16)}
.prova__scelte legend{float:left;width:100%;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:#9B978F;margin-bottom:14px}
.prova__campioni{display:flex;flex-wrap:wrap;gap:10px;clear:both}
.prova__campioni button{width:44px;height:44px;border-radius:50%;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);outline-offset:3px;transition:transform .25s var(--e)}
.prova__campioni button:hover{transform:scale(1.08)}
.prova__campioni button[aria-pressed="true"]{box-shadow:0 0 0 2px #0F0F0E,0 0 0 3px #F2F0EC}
.prova__nome{margin-top:10px;font-size:var(--t-s)}
.prova__nota{font-size:var(--t-xs);line-height:1.6;color:#9B978F}
@media (max-width:999px){.prova__griglia{grid-template-columns:minmax(0,1fr)}.prova .w{padding-inline:0}.prova__scelte{padding-inline:var(--g)}}
.motivi--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.motivi__n{display:block;font-size:var(--t-xs);letter-spacing:.14em;color:var(--fg2);margin-bottom:10px;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.motivi--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.motivi--4{grid-template-columns:minmax(0,1fr)}}
.conf-numeri{margin-top:clamp(56px,8vw,120px)}

/* ---------- pagina Progetti ---------- */
.prg-apertura .pj-apertura__testo{padding-bottom:clamp(24px,3vw,44px)}
.lavori-sez{padding-bottom:var(--sez)}
.filtri-barra{position:sticky;top:0;z-index:60;background:var(--bg);padding-block:14px;margin-bottom:clamp(28px,4vw,56px);transition:top .45s var(--e)}
.testa:not(.nascosta) ~ main .filtri-barra{top:88px}
.filtri-barra__dentro{display:flex;align-items:center;justify-content:space-between;gap:16px}
.filtri-barra .filtri{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0}
.filtri-barra .filtri::-webkit-scrollbar{display:none}
.filtri button{white-space:nowrap;flex:none}
.filtri button span{margin-left:6px;font-weight:400;opacity:.55}
.filtri-barra .conteggio{margin:0;white-space:nowrap;min-height:0}
.lavori{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:clamp(56px,7vw,112px);align-items:start}
.lav{display:block;color:inherit;grid-column:span 6;min-width:0}
.lav[data-s="4"]{grid-column:span 4}.lav[data-s="5"]{grid-column:span 5}.lav[data-s="6"]{grid-column:span 6}
.lav[data-s="7"]{grid-column:span 7}.lav[data-s="8"]{grid-column:span 8}
.lav__foto{position:relative;overflow:hidden}
.lav--l .lav__foto{aspect-ratio:3/2}
.lav--p .lav__foto{aspect-ratio:4/5}
.lav__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lav__foto > img{transition:scale 1.2s var(--e)}
.lav__altra{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--e)}
@media (hover:hover) and (pointer:fine){.lav:hover .lav__altra{opacity:1}.lav:hover .lav__foto > img{scale:1.03}}
.lav__info{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;margin-top:18px;align-items:baseline}
.lav__n{grid-row:span 2;font-size:var(--t-xs);letter-spacing:.14em;color:var(--fg2);font-variant-numeric:tabular-nums}
.lav__titolo{font-size:var(--t-xl);font-weight:300;line-height:1.1;letter-spacing:-.01em}
.lav__sotto{margin-top:6px;font-size:var(--t-s);line-height:1.45;color:var(--fg2)}
.lav.compare{animation:compare .6s var(--e) both}
@keyframes compare{from{opacity:0;transform:translateY(24px)}}
@media (max-width:760px){
  .lavori{grid-template-columns:minmax(0,1fr);row-gap:44px}
  .lav,.lav[data-s]{grid-column:1/-1}
  .filtri-barra{margin-bottom:24px;padding-block:10px}
  .filtri-barra .filtri{margin-inline:calc(var(--g) * -1);padding-inline:var(--g);gap:8px}
  .filtri-barra .conteggio{display:none}
  .filtri button{min-height:42px;padding:0 18px}
  .lav__titolo{font-size:1.5rem}
}
@media (max-width:640px){.testa:not(.nascosta) ~ main .filtri-barra{top:72px}}

/* pulsante preventivo fisso, da telefono, sulle pagine dei progetti */
.cta-fissa{display:none}
@media (max-width:760px){
  .cta-fissa{display:inline-flex;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:115;transform:translate(-50%,160%);transition:transform .45s var(--e);min-height:52px;padding:0 26px;background:#F2F0EC;color:#131312;border-color:#F2F0EC;box-shadow:0 10px 30px rgba(0,0,0,.35);white-space:nowrap}
  .cta-fissa.su{transform:translate(-50%,0)}
  .menu-aperto .cta-fissa{transform:translate(-50%,160%)}
}

/* ---------- Insights: elenco e articoli ---------- */
.ins-meta{display:block;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.ins-titolo{display:block;margin-top:14px;font-size:var(--t-xl);font-weight:300;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.ins-titolo--grande{font-size:clamp(1.9rem,1rem + 2vw,3rem);line-height:1.05}
.ins-estratto{display:block;margin-top:16px;font-size:var(--t-s);line-height:1.6;color:var(--fg2);max-width:42em}
.ins-primo{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:end;margin-bottom:clamp(72px,10vw,170px)}
.ins-primo .foto{aspect-ratio:3/2}
.ins-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(56px,8vw,130px) clamp(20px,4vw,72px);align-items:start}
.ins-griglia .ins-scheda:nth-child(even){margin-top:clamp(40px,8vw,140px)}
.ins-scheda{display:block}
.ins-scheda .foto{aspect-ratio:3/2;margin-bottom:22px}
.ins-primo .foto img,.ins-scheda .foto img{transition:scale 1s var(--e)}
.ins-primo:hover .foto img,.ins-scheda:hover .foto img{scale:1.04}
@media (max-width:860px){.ins-primo,.ins-griglia{grid-template-columns:minmax(0,1fr)}.ins-griglia .ins-scheda:nth-child(even){margin-top:0}}
.scheda--articolo{width:clamp(280px,36vw,600px)}
.scheda--articolo .foto{aspect-ratio:3/2}
.scheda--articolo .scheda__titolo{text-transform:none;font-size:var(--t-l);line-height:1.25;letter-spacing:0}
@media (max-width:760px){.scheda--articolo{width:82vw}}

.art-testa{padding-block:clamp(130px,17vh,200px) clamp(36px,5vw,64px);container-type:inline-size}
.art-testa h1{font-size:min(clamp(2.1rem,1rem + 3.6vw,5rem),calc((min(100cqi,1760px) - 2 * var(--g)) / (var(--parola,10) * .66)));font-weight:300;text-transform:uppercase;letter-spacing:-.01em;line-height:1;max-width:22em;text-wrap:balance}
.art-testa .percorso{margin-bottom:22px}
.art-copertina{margin-block:0}
.art-copertina .foto{width:100%}
.art__griglia{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,46rem) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:start}
.art__lato{position:sticky;top:120px;display:flex;flex-direction:column;gap:22px;font-size:var(--t-s)}
.art__lato dl{display:flex;flex-direction:column;gap:14px}
.art__lato dt{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.art__testo{font-size:clamp(1.0625rem,1rem + .22vw,1.1875rem);line-height:1.75}
.art__testo > :first-child,.art__testo > .nascosto + *{margin-top:0}
.art__testo p{margin:0 0 1.15em}
.art__testo h2{font-size:clamp(1.55rem,1.15rem + 1.3vw,2.35rem);font-weight:300;line-height:1.15;letter-spacing:-.01em;margin:2.1em 0 .7em;text-wrap:balance}
.art__testo h3{font-size:clamp(1.22rem,1.08rem + .55vw,1.55rem);font-weight:400;line-height:1.3;margin:1.8em 0 .6em}
.art__testo h4{font-size:1.1em;font-weight:700;margin:1.6em 0 .5em}
.art__testo ul,.art__testo ol{margin:0 0 1.4em;padding-left:1.25em;list-style:disc}
.art__testo ol{list-style:decimal}
.art__testo li{margin:.4em 0;padding-left:.2em}
.art__testo li p{margin:0}
.art__testo li::marker{color:var(--fg2)}
.art__testo strong{font-weight:700}
.art__testo a{border-bottom:1px solid currentColor;transition:color .3s}
.art__testo a:hover{color:var(--ottone-testo)}
.art__testo figure{margin:2.2em 0}
.art__tabella{overflow-x:auto;margin:1.6em 0 2.2em}
.art__testo table{width:100%;min-width:520px;border-collapse:collapse;font-size:.94em;line-height:1.5}
.art__testo th,.art__testo td{border-top:1px solid var(--linea);padding:.85em .7em .85em 0;text-align:left;vertical-align:top}
.art__testo th{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);font-weight:400}
.art__testo td p{margin:0}
@media (max-width:999px){.art__griglia{grid-template-columns:minmax(0,1fr)}.art__lato{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid var(--linea);padding-bottom:20px}.art__lato dl{flex-direction:row;gap:28px}}

/* ---------- schede grandi a scorrimento (servizi, progetti) ---------- */
.scorri__testa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(36px,5vw,80px)}
.scorri__testa h2{max-width:14em}
.scorri__comandi{display:flex;align-items:center;gap:12px;margin-left:auto}
.scorri__comandi .link{margin-right:clamp(10px,2.4vw,36px)}
.scorri__conto{font-size:var(--t-s);font-variant-numeric:tabular-nums;color:var(--fg2);margin-right:8px;white-space:nowrap}
.scorri__conto b{font-weight:400;color:var(--fg)}
.scorri__freccia{width:56px;height:56px;border:1px solid var(--linea);border-radius:50%;display:grid;place-items:center;transition:background-color .3s,color .3s,border-color .3s,opacity .3s}
.scorri__freccia svg{width:18px;height:18px}
.scorri__freccia:hover:not(:disabled){background:var(--fg);color:var(--bg);border-color:var(--fg)}
.scorri__freccia:disabled{opacity:.28;cursor:default}
.scorri__pista{--bordo:max(var(--g),calc((100vw - 1760px) / 2 + var(--g)));position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:var(--bordo);overscroll-behavior-x:contain}
.scorri__pista::-webkit-scrollbar{display:none}
@media (hover:hover) and (pointer:fine){.scorri__pista{cursor:grab}}
.scorri__pista.presa{cursor:grabbing;scroll-snap-type:none}
.scorri__pista ul{display:flex;gap:clamp(14px,1.8vw,32px);padding-inline:var(--bordo);width:max-content}
.scheda{flex:none;width:clamp(280px,31vw,520px);scroll-snap-align:start}
.scheda a{display:block;-webkit-user-drag:none;user-select:none}
.scheda .foto{aspect-ratio:4/5}
.scheda .foto img{transition:scale 1s var(--e);-webkit-user-drag:none;pointer-events:none}
.scheda a:hover .foto img{scale:1.05}
.scheda__n{display:block;margin-top:22px;font-size:var(--t-xs);letter-spacing:.14em;color:var(--fg2);font-variant-numeric:tabular-nums}
.scheda__titolo{display:block;margin-top:8px;font-size:var(--t-xl);font-weight:300;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.scheda__testo{display:block;margin-top:14px;font-size:var(--t-s);line-height:1.55;color:var(--fg2)}
.scheda__vai{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:var(--t-s);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.scheda__vai svg{width:14px;height:14px;transition:transform .4s var(--e)}
a:hover .scheda__vai svg{transform:translateX(5px)}
.scheda--progetto{width:auto}
.scheda--progetto .foto{height:clamp(320px,60vh,680px);aspect-ratio:var(--r);width:auto}
.scheda__riga{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px}
.scheda--progetto .scheda__titolo{margin:0;font-size:var(--t-l);text-transform:none;letter-spacing:0;line-height:1.2}
.scheda__luogo{font-size:var(--t-s);color:var(--fg2);white-space:nowrap}
.scorri__barra{position:relative;height:2px;background:var(--linea);margin-top:clamp(28px,4vw,56px)}
.scorri__barra i{position:absolute;top:0;bottom:0;left:0;width:20%;background:var(--fg)}
.scorri--fermo .scorri__conto,.scorri--fermo .scorri__freccia,.scorri--fermo .scorri__barra{display:none}
@media (max-width:760px){
  .scheda{width:80vw}
  .scorri__freccia{width:46px;height:46px}
  .scorri__comandi .link{margin-right:auto}
  .scorri__comandi{width:100%}
  .scheda--progetto .foto{height:min(104vw,460px)}
}

/* ---------- passaggio tra le pagine: una dissolvenza breve, senza attese ----------
   (dove il browser lo consente; altrove la pagina si apre semplicemente subito) */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .testa{view-transition-name:testa}
}
::view-transition-old(root){animation:vt-via .18s ease-out both}
::view-transition-new(root){animation:vt-luce .26s ease-out both}
@keyframes vt-via{to{opacity:0}}
@keyframes vt-luce{from{opacity:0}}
::view-transition-group(testa){animation-duration:.2s}

/* ---------- visore dei progetti ---------- */
dialog.visore{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0A0A0A;color:#F2F0EC}
dialog.visore[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:visore .55s var(--e2)}
@keyframes visore{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.visore__barra{display:flex;justify-content:space-between;align-items:center;padding:18px var(--g);font-size:var(--t-s)}
.visore__barra b{font-weight:400;font-size:var(--t-l)}
.visore__barra button{font-weight:700;display:flex;align-items:center;gap:10px;height:44px}
.visore__scena{position:relative;min-height:0;display:grid;place-items:center;padding-inline:var(--g);overflow:hidden}
.visore__scena img{position:absolute;inset:0 var(--g);width:calc(100% - 2 * var(--g));height:100%;max-width:none;object-fit:contain;opacity:0;pointer-events:none}
.visore__scena img:not([src]){visibility:hidden}
.visore__scena img.entra{opacity:1;pointer-events:auto;animation:entra .5s cubic-bezier(.22,1,.36,1) both}
.visore__scena img.esce{opacity:0;transform:translateX(calc(var(--verso,0) * -4%));transition:opacity .3s ease,transform .5s cubic-bezier(.22,1,.36,1)}
@keyframes entra{from{opacity:0;transform:translateX(calc(var(--verso,0) * 4%))}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.visore__scena img.entra{animation-duration:.2s}.visore__scena img.esce{transition-duration:.2s}}
.visore__piede{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--g) 22px;font-size:var(--t-s)}
.visore__conto{font-variant-numeric:tabular-nums;color:#9B978F}
.visore__nav{display:flex;gap:10px}
.visore__nav button{width:56px;height:56px;border:1px solid rgba(242,240,236,.3);border-radius:50%;display:grid;place-items:center;transition:background-color .4s,color .4s}
.visore__nav button:hover{background:#F2F0EC;color:#0A0A0A}
.visore__nav svg{width:18px;height:18px}

/* ---------- tour virtuale ---------- */
.tour{position:relative;aspect-ratio:16/9;background:#000;margin:10px}
.tour .foto,.tour iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour__avvio{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.3);color:#fff;width:100%;transition:background-color .5s}
.tour__avvio span{display:grid;place-items:center;width:clamp(110px,14vw,180px);aspect-ratio:1;border-radius:50%;background:#F2F0EC;color:#131312;font-weight:700;font-size:var(--t-s);transition:transform .7s var(--e)}
.tour__avvio:hover{background:rgba(0,0,0,.12)}
.tour__avvio:hover span{transform:scale(1.1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ---------- galleria del progetto: tutte le immagini in vista, mosaico compatto ---------- */
.pj-mosaico{columns:3;column-gap:clamp(10px,1.2vw,18px)}
.pj-mosaico a{display:block;aspect-ratio:var(--r);break-inside:avoid;margin-bottom:clamp(10px,1.2vw,18px);overflow:hidden;background:#1a1a19;cursor:zoom-in}
.pj-mosaico img{width:100%;height:auto;transition:transform .9s var(--e),opacity .4s}
@media (hover:hover){.pj-mosaico a:hover img{transform:scale(1.03)}}
@media (max-width:1000px){.pj-mosaico{columns:2}}
@media (max-width:420px){.pj-mosaico{column-gap:8px}.pj-mosaico a{margin-bottom:8px}}
.pj-galleria .pj-galleria__testa{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:clamp(18px,2.4vw,32px)}
.pj-gruppo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:clamp(18px,2vw,28px);margin:clamp(32px,4.5vw,64px) 0 clamp(14px,1.6vw,22px);border-top:1px solid var(--linea)}
.pj-gruppo:first-child{margin-top:0}
.pj-gruppo h3{margin:0;font-size:var(--t-l);font-weight:400;letter-spacing:.01em;margin-right:auto}
.pj-gruppo__n{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.pj-gruppo__tour{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border:1px solid var(--linea);border-radius:999px;font-size:var(--t-s);font-weight:700;transition:background-color .4s,color .4s,border-color .4s}
.pj-gruppo__tour:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.pj-gruppo__tour svg{width:14px;height:14px}
@media (max-width:600px){.pj-gruppo h3{flex-basis:100%}}

/* ---------- progetti grandi: galleria a capitoli (esterni, appartamenti, attico...) ---------- */
.pj-galleria--capitoli{padding-bottom:var(--sez)}
.capitoli__barra{position:sticky;top:0;z-index:20;background:var(--bg);border-block:1px solid var(--linea);transition:top .5s var(--e2)}
.testa:not(.nascosta) ~ main .capitoli__barra{top:88px}
.capitoli__barra .w{display:flex;align-items:center;gap:clamp(16px,3vw,48px);min-height:72px}
.capitoli__barra h2{flex:none;margin:0}
.capitoli__schede{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:12px 0;margin-left:auto}
.capitoli__schede::-webkit-scrollbar{display:none}
.capitoli__schede button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;line-height:1;border:1px solid var(--linea);border-radius:999px;font-size:var(--t-s);white-space:nowrap;transition:background-color .3s,color .3s,border-color .3s}
.capitoli__schede button span{display:block;line-height:1;font-size:var(--t-xs);letter-spacing:.1em;color:var(--fg2);font-variant-numeric:tabular-nums;transition:color .3s}
.capitoli__schede button:hover{border-color:var(--fg)}
.capitoli__schede button[aria-selected="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.capitoli__schede button[aria-selected="true"] span{color:inherit;opacity:.6}
.capitolo{padding-top:clamp(36px,5vw,80px);scroll-margin-top:160px}
.capitolo.compare{animation:capitolo .55s var(--e2)}
@keyframes capitolo{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.capitolo__testa{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,96px);align-items:end}
.capitolo__copertina{display:block;overflow:hidden;background:#1a1a19;aspect-ratio:3/2;max-height:74vh}
.capitolo__copertina img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--e)}
@media (hover:hover){.capitolo__copertina:hover img{transform:scale(1.025)}}
.capitolo__titolo{margin:14px 0 0;font-size:clamp(2rem,1.2rem + 2.2vw,3.4rem);font-weight:300;text-transform:uppercase;letter-spacing:-.015em;line-height:.98}
.capitolo__testo{margin:22px 0 0;max-width:30em;font-size:var(--t-m);line-height:1.65;color:var(--fg2)}
.capitolo__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:32px}
.capitolo__azioni .btn svg,.capitolo__sfoglia svg{width:14px;height:14px}
.capitolo__sfoglia{display:inline-flex;align-items:center;gap:10px;font-size:var(--t-s);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.capitolo__striscia{margin-top:clamp(40px,5vw,72px)}
.capitolo__striscia .scorri__testa{margin-bottom:clamp(16px,2vw,28px);align-items:center}
.scheda--foto{width:auto}
.scheda--foto a{display:block;height:clamp(200px,30vh,340px);aspect-ratio:var(--r);overflow:hidden;background:#1a1a19;cursor:zoom-in}
.scheda--foto img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e);-webkit-user-drag:none;pointer-events:none}
@media (hover:hover){.scheda--foto a:hover img{transform:scale(1.04)}}
@media (max-width:899px){
  .capitoli__barra .w{min-height:60px;gap:12px}
  .capitoli__barra h2{display:none}
  .capitoli__schede{margin-left:0;margin-inline:calc(var(--g) * -1);padding-inline:var(--g)}
  .testa:not(.nascosta) ~ main .capitoli__barra{top:72px}
  .capitolo__testa{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
  .capitolo__copertina{margin-inline:calc(var(--g) * -1)}
  .scheda--foto a{height:200px}
}
.pj-sito{margin-top:clamp(28px,4vw,48px)}

/* Atelier: apertura divisa, testo su fondo pieno e render accanto */
.atl-apertura{display:grid;grid-template-columns:minmax(0,1fr);background:var(--carbone);color:#fff}
.atl-apertura__testo{display:flex;align-items:flex-end;padding:clamp(104px,14vw,150px) var(--g) clamp(36px,5vw,72px)}
.atl-apertura__in{max-width:620px}
.atl-apertura .percorso{color:rgba(255,255,255,.7);margin-bottom:22px}
.atl-apertura .percorso a{color:inherit}
.atl-apertura h1{font-size:clamp(2.6rem,1rem + 4vw,4.75rem);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:.94}
.atl-apertura__lead{margin-top:24px;font-size:var(--t-l, 1.15rem);line-height:1.45;color:rgba(255,255,255,.82);max-width:34em}
.atl-apertura__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}
.atl-apertura__azioni .link{color:#fff}
.atl-apertura__media .foto{display:block;aspect-ratio:3/2;background:#1c1c1b;overflow:hidden}
.atl-apertura__media img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
  .atl-apertura{grid-template-columns:minmax(0,42fr) minmax(0,58fr);min-height:min(100svh,980px)}
  .atl-apertura__media .foto{aspect-ratio:auto;height:100%}
  .atl-apertura__testo{padding-right:clamp(32px,4vw,72px)}
}
.atl-casi{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,56px)}
.atl-casi .foto{display:block;aspect-ratio:4/5;overflow:hidden;background:#d8d5cf}
.atl-casi img{width:100%;height:100%;object-fit:cover}
.atl-casi h3{font-size:var(--t-xl);font-weight:300;line-height:1.1;margin:22px 0 12px}
.atl-casi p{font-size:var(--t-s);color:var(--fg2);max-width:40ch}
@media (max-width:899px){.atl-casi{grid-template-columns:minmax(0,1fr)}.atl-casi .foto{aspect-ratio:3/2}}
.incluso--uno{grid-template-columns:minmax(0,1fr)}
.atl-garanzie{padding-block:clamp(56px,7vw,104px)}
.atl-garanzie ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(24px,4vw,72px)}
.atl-garanzie li{border-top:1px solid var(--linea);padding-top:20px;display:grid;gap:8px}
.atl-garanzie b{font-weight:400;font-size:var(--t-l, 1.15rem);color:var(--ottone-testo)}
.atl-garanzie span{font-size:var(--t-s);color:var(--fg2)}
@media (max-width:760px){.atl-garanzie ul{grid-template-columns:minmax(0,1fr)}}

/* Servizi: indice interattivo con immagine che cambia */
.indice{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,96px)}
.indice__lista{list-style:none;padding:0;margin:0;counter-reset:none}
.indice__voce{border-top:1px solid var(--linea)}
.indice__voce:last-child{border-bottom:1px solid var(--linea)}
.indice__voce a{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:0 12px;padding:22px 0;color:inherit;text-decoration:none}
.indice__n{font-size:var(--t-xs);letter-spacing:.14em;color:var(--fg2);padding-top:.9em;font-variant-numeric:tabular-nums;transition:color .4s var(--e)}
.indice__corpo{display:grid;gap:6px}
.indice__titolo{font-size:clamp(1.9rem,1rem + 2vw,3rem);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:1;transition:transform .6s var(--e),color .4s var(--e)}
.indice__et{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ottone-testo, var(--ottone))}
.indice__testo{font-size:var(--t-s);color:var(--fg2);max-width:44ch;margin-top:6px}
.indice__vai{display:inline-flex;align-items:center;gap:10px;font-size:var(--t-s);margin-top:8px}
.indice__vai svg{width:16px;height:16px}
.indice__foto{grid-column:1 / -1;display:block;aspect-ratio:3/2;overflow:hidden;margin-top:18px;background:#1c1c1b}
.indice__foto img{width:100%;height:100%;object-fit:cover}
.indice__scena{display:none}
@media (min-width:1000px){
  .indice{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  .indice__foto{display:none}
  .indice__voce a{padding:26px 0}
  .indice__testo,.indice__vai{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--e),opacity .4s var(--e),margin .6s var(--e);margin-top:0}
  .indice__voce.attiva .indice__testo{max-height:6em;opacity:1;margin-top:8px}
  .indice__voce.attiva .indice__vai{max-height:2em;opacity:1;margin-top:10px}
  .indice__voce:not(.attiva) .indice__titolo{color:var(--fg2)}
  .indice__voce.attiva .indice__titolo{transform:translateX(14px)}
  .indice__voce.attiva .indice__n{color:var(--ottone-testo, var(--ottone))}
  .indice__scena{display:block;position:relative}
  .indice__fermo{position:sticky;top:max(96px,12vh);aspect-ratio:4/5;max-height:78vh;width:100%;overflow:hidden;background:#1c1c1b}
  .indice__quadro{position:absolute;inset:0;opacity:0;transform:scale(1.06);clip-path:inset(0 0 100% 0);transition:opacity .5s var(--e),transform 1.1s var(--e),clip-path .9s var(--e)}
  .indice__quadro.attiva{opacity:1;transform:none;clip-path:inset(0 0 0 0);z-index:1}
  .indice__quadro img{width:100%;height:100%;object-fit:cover}
  .indice__conto{position:absolute;right:18px;bottom:16px;z-index:2;color:#fff;font-size:var(--t-xs);letter-spacing:.14em;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px rgba(0,0,0,.5)}
}
@media (prefers-reduced-motion:reduce){.indice__quadro,.indice__titolo{transition:none!important}}

/* Servizi: confronto modello / render */
.confronto{position:relative;overflow:hidden;aspect-ratio:16/9;background:#1c1c1b;user-select:none;touch-action:pan-y}
.confronto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.confronto__modello{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.confronto__linea{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.confronto__maniglia{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;color:#131312;display:flex;align-items:center;justify-content:center;gap:2px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.confronto__maniglia svg{width:14px;height:14px}
.confronto__et{position:absolute;bottom:16px;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:6px 12px;background:rgba(15,15,14,.55);border-radius:999px;pointer-events:none}
.confronto__et--sx{left:16px}.confronto__et--dx{right:16px}
.confronto__cursore{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.confronto__cursore:focus-visible + *{outline:none}
.confronto:has(.confronto__cursore:focus-visible) .confronto__maniglia{outline:2px solid var(--ottone);outline-offset:3px}
@media (max-width:640px){.confronto{aspect-ratio:4/5}}
@media (max-width:999px){.indice__foto{order:-1;margin:0 0 18px}.indice__voce a{padding:26px 0 28px}}

/* Virtual tour a schermo intero, dentro il sito */
dialog.vt{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0F0F0E;color:#fff;display:none;flex-direction:column}
dialog.vt[open]{display:flex;animation:vt-entra .45s var(--e) both}
dialog.vt::backdrop{background:rgba(15,15,14,.9)}
@keyframes vt-entra{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.vt__barra{display:flex;align-items:center;gap:16px;padding:12px var(--g);border-bottom:1px solid rgba(255,255,255,.12);min-height:58px}
.vt__marchio{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap}
.vt__titolo{flex:1;min-width:0;font-size:var(--t-s);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt__chiudi{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;font-size:var(--t-s);background:none;cursor:pointer}
.vt__chiudi span{font-size:1.3em;line-height:1}
.vt__chiudi:hover{background:#fff;color:#131312}
.vt__scena{position:relative;flex:1;min-height:0}
.vt__scena iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vt__carico{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--t-s);color:rgba(255,255,255,.55)}
@media (max-width:640px){.vt__marchio{display:none}}
@media (prefers-reduced-motion:reduce){dialog.vt[open]{animation:none}}

/* Modulo: allegati e campo trappola */
.trappola{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.campo--file > span{display:block;margin-bottom:8px}
.campo--file small{color:var(--fg2);font-size:.9em}
.allega{position:relative;display:flex;align-items:center;justify-content:center;min-height:96px;padding:18px;border:1px dashed var(--linea);text-align:center;cursor:pointer;transition:border-color .3s,background-color .3s}
.allega:hover,.allega.sopra{border-color:var(--ottone);background:rgba(198,174,132,.08)}
.allega input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.allega__testo{font-size:var(--t-s);color:var(--fg2)}
.allega__testo u{color:var(--fg)}
.allega:focus-within{outline:2px solid var(--ottone);outline-offset:2px}
.allega__lista{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px;font-size:var(--t-s)}
.allega__lista li::before{content:"↑ ";color:var(--ottone)}
.allega__lista li.troppo{color:#b4513a}
.campo--file .allega,.campo--file .allega__lista,.campo--file .nota{text-transform:none;letter-spacing:0}
.campo--file .nota{font-size:var(--t-xs);line-height:1.5}
.campo--file small{text-transform:none;letter-spacing:0}

/* ---------- telefono come un'app (ottobre 2026) ----------
   Barra fissa in basso con Progetti, Servizi, Richiedi preventivo e Menu; menu con i servizi a portata di pollice;
   ricerca e vista a griglia nei progetti; tocchi rapidi senza riquadri grigi. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app,.hero__azione,.vista-scelta,.menu__apri,.menu__sotto{display:none}
a,button,label,input,select,textarea{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}

/* ricerca progetti (tutte le misure) */
.cerca{display:flex;align-items:center;gap:12px;max-width:560px;margin:0 0 18px;padding:0 20px;min-height:52px;border:1px solid var(--linea);border-radius:60px;background:rgba(242,240,236,.04);transition:border-color .3s}
.cerca:focus-within{border-color:var(--ottone)}
.cerca svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--fg2);stroke-width:1.6;stroke-linecap:round}
.cerca input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--fg);font:inherit;font-size:16px;padding:14px 0}
.cerca input::placeholder{color:var(--fg2)}
.cerca input::-webkit-search-cancel-button{filter:invert(1);opacity:.6}
.lavori-vuoto{padding:40px 0 20px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;color:var(--fg2);font-size:var(--t-m)}

@media (max-width:900px){
  /* barra in basso */
  .app{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0;position:fixed;left:0;right:0;bottom:0;z-index:130;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(15,15,14,.88);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
    border-top:1px solid rgba(242,240,236,.1);color:#F2F0EC;font-family:var(--font);transition:transform .35s var(--e)}
  .app__voce{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;border:0;background:none;padding:0;color:rgba(242,240,236,.62);font:inherit;font-size:11px;letter-spacing:.04em;cursor:pointer;transition:color .2s,transform .15s}
  .app__voce svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
  .app__voce[aria-current="page"],.app__menu[aria-expanded="true"]{color:#F2F0EC}
  .app__voce[aria-current="page"] svg{stroke:#C6AE84}
  .app__voce:active{transform:scale(.92)}
  .app__voce--preventivo svg{stroke:#C6AE84}
  .app__voce--preventivo{color:rgba(242,240,236,.85)}
  .tastiera .app,.vt-aperto .app{transform:translateY(120%)}
  .cta-fissa{display:none!important}
  .piede{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .menu__dentro{padding-bottom:calc(var(--g) + 76px + env(safe-area-inset-bottom,0px))}

  /* menu: poche voci, ariose; i servizi si aprono sotto "Servizi" */
  .menu__dentro{padding-top:110px;gap:0;align-content:space-between;grid-template-rows:1fr auto}
  .menu__voci{justify-content:flex-start}
  .menu__voci a{font-size:clamp(2rem,10vw,2.75rem);line-height:1;padding:9px 0;letter-spacing:-.01em}
  .menu__voci:hover a{opacity:1}
  .menu__voci a:hover span{padding-left:0}
  .menu__gruppo{position:relative}
  .menu__apri{position:absolute;right:-8px;top:2px;width:52px;height:52px;border:0;background:none;color:var(--fg);cursor:pointer;display:grid;place-items:center}
  .menu__apri i{position:relative;width:16px;height:16px}
  .menu__apri i::before,.menu__apri i::after{content:"";position:absolute;left:0;top:7.5px;width:16px;height:1px;background:currentColor;transition:transform .4s var(--e)}
  .menu__apri i::after{transform:rotate(90deg)}
  .menu__apri[aria-expanded="true"] i::after{transform:rotate(0)}
  .menu__sotto{list-style:none;margin:0;padding:0 0 0 2px;display:block;max-height:0;overflow:hidden;transition:max-height .55s var(--e),padding .55s var(--e)}
  .menu__gruppo.aperto .menu__sotto{max-height:420px;padding:6px 0 12px 2px}
  .menu__voci .menu__sotto a{display:block;font-size:1.0625rem;text-transform:none;letter-spacing:0;line-height:1.2;padding:9px 0;color:var(--fg2);opacity:1}
  .menu__voci .menu__sotto a:active{color:var(--ottone)}
  .menu__contatti{border-top:0;padding-top:0;gap:12px;font-size:.875rem;color:var(--fg2)}
  .menu__contatti a{color:var(--fg2)}
  .menu__lato{gap:0;margin-top:36px}

  /* home: un pulsante già nella prima schermata */
  .hero__azione{display:inline-flex;margin-top:22px;min-height:50px;padding:0 24px;border-color:rgba(255,255,255,.7);color:#fff;background:rgba(15,15,14,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

  /* progetti: scelta tra immagini grandi e griglia */
  .cerca{margin-bottom:12px}
  .vista-scelta{display:flex;gap:4px;flex:none}
  .vista-scelta button{display:grid;place-items:center;width:40px;height:40px;border:1px solid transparent;border-radius:50%;background:none;color:var(--fg2);cursor:pointer}
  .vista-scelta button[aria-pressed="true"]{border-color:var(--linea);color:var(--fg)}
  .vista-scelta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
  .lavori.griglia{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:26px}
  .lavori.griglia .lav,.lavori.griglia .lav[data-s]{grid-column:auto}
  .lavori.griglia .lav__foto{aspect-ratio:4/5}
  .lavori.griglia .lav__info{display:block;margin-top:10px}
  .lavori.griglia .lav__titolo{font-size:15px;line-height:1.2}
  .lavori.griglia .lav__sotto{margin-top:4px;font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .lavori.griglia .lav__n{display:none}

  /* campi del modulo a 16px: il telefono non ingrandisce la pagina quando li tocchi */
  input,select,textarea{font-size:16px}
}
.cerca-riga{display:flex;align-items:center;gap:10px}
.cerca-riga .cerca{flex:1;margin-bottom:0}
.lavori-sez > .cerca-riga{margin-bottom:18px}
@media (max-width:900px){
  .lavori-sez > .cerca-riga{margin-bottom:12px}
  .hero__barra{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .hero__testo{bottom:calc(128px + env(safe-area-inset-bottom,0px))}
}

/* telefono: testata su fondo pieno quando si scorre (niente testo che passa dietro al logo);
   lo spazio della tacca del telefono vale anche per menu e aperture, così niente si sovrappone */
@media (max-width:900px){
  .testa::before{transition:opacity .4s,background .4s,height .4s}
  .testa.scorsa::before{height:100%;background:rgba(15,15,14,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(242,240,236,.08)}
  .menu-aperto .testa::before{opacity:0}
  .menu__dentro{padding-top:calc(110px + env(safe-area-inset-top,0px))}
  main{padding-top:env(safe-area-inset-top,0px)}
  .testa:not(.nascosta) ~ main .filtri-barra,.testa:not(.nascosta) ~ main .capitoli__barra{top:calc(72px + env(safe-area-inset-top,0px))}
}

.chiusura__link h2.d3{font-size:var(--d3)}

/* ---------- Protocollo Renderistico, Piano di lancio, Cosa ricevi (ottobre 2026) ---------- */
.protocollo__testa .etichetta{margin:0 0 14px;color:var(--ottone-testo)}
.protocollo__sotto{margin-top:14px;color:var(--fg2);font-size:var(--t-m);max-width:28em}
.scheda--tappa .scheda__n{color:var(--ottone-testo);letter-spacing:.18em;text-transform:uppercase}
.scheda__servizi{display:block;margin-top:10px;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}

.banda-tappa{border-bottom:1px solid var(--linea);padding-block:18px}
.banda-tappa__dentro{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;font-size:var(--t-s)}
.banda-tappa__dentro p{margin:0;display:flex;gap:6px 14px;flex-wrap:wrap;align-items:baseline}
.banda-tappa__marchio{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ottone-testo)}
.banda-tappa__dentro b{font-weight:700}
.banda-tappa__punti{display:flex;gap:6px;flex:1;max-width:520px}
.banda-tappa__punti span{flex:1;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);padding-top:10px;border-top:2px solid var(--linea)}
.banda-tappa__punti span.on{color:var(--fg);border-top-color:var(--ottone)}

/* piano di lancio */
.piano{--bg:#F4F3EF;--fg:#131312;--fg2:#6A665F;--linea:rgba(19,19,18,.18);background:var(--bg);color:var(--fg);padding:clamp(24px,3.6vw,64px);max-width:1100px}
.piano__passi{display:flex;gap:6px;margin:0 0 32px;padding:0;list-style:none}
.piano__passi li{flex:1;height:2px;background:var(--linea);position:relative;overflow:hidden}
.piano__passi li::after{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--e)}
.piano__passi li.fatto::after{transform:none}
.piano fieldset{border:0;padding:0;margin:0;min-width:0}
.piano legend{padding:0;font-size:var(--d3);font-weight:300;text-transform:uppercase;letter-spacing:-.012em;line-height:1;margin-bottom:10px}
.piano .nota{font-size:var(--t-s);color:var(--fg2);margin:0 0 26px}
.piano__domanda:not([hidden]){animation:passo .7s var(--e)}
.piano .scelte label{min-height:64px}
.piano__azioni{margin-top:28px;min-height:52px}
.piano__risultato{outline:none;animation:passo .8s var(--e)}
.piano__risultato > .etichetta{margin:0 0 12px;color:#7A6641}
.piano__intro{margin:16px 0 0;font-size:var(--t-m);line-height:1.55;color:var(--fg2);max-width:46em}
.piano__tappe{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--linea);border:1px solid var(--linea)}
.piano__tappe > li{background:var(--bg);padding:26px 22px 30px;display:flex;flex-direction:column;gap:6px}
.piano__tappe .tappa__n{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:#7A6641}
.piano__tappe h3{margin:0;font-size:clamp(1.5rem,1rem + 1vw,2rem);font-weight:300;text-transform:uppercase;line-height:1}
.piano__tappe .tappa__quando{align-self:flex-start;margin-top:8px;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--linea);border-radius:60px}
.piano__tappe ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.piano__tappe ul a{font-weight:700;border-bottom:1px solid var(--linea)}
.piano__tappe ul a:hover{border-bottom-color:var(--fg)}
.piano__tappe ul p{margin:4px 0 0;font-size:var(--t-s);line-height:1.45;color:var(--fg2)}
.piano__tappe .tappa--vuota{color:var(--fg2);font-size:var(--t-s)}
.piano__invio{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px clamp(24px,4vw,64px);margin-top:56px;padding-top:40px;border-top:1px solid var(--linea)}
.piano__invio h3{margin:0 0 12px;font-size:clamp(1.5rem,1rem + 1vw,2rem);font-weight:300;text-transform:uppercase;line-height:1}
.piano__bottoni{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:22px}
.piano__esito{margin-top:18px;font-size:var(--t-m);line-height:1.5}
.piano__esito b{display:block;font-size:var(--t-l);font-weight:400;margin-bottom:4px}
.piano__ricomincia{margin-top:36px;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 4px;font:inherit;font-size:var(--t-s);color:var(--fg2);cursor:pointer}

/* cosa ricevi */
.ricevi__schede{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.ricevi__schede button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 20px;border:1px solid var(--linea);border-radius:14px;background:none;color:var(--fg);font:inherit;cursor:pointer;text-align:left;transition:background .3s,border-color .3s,color .3s}
.ricevi__schede button b{font-size:var(--t-s);font-weight:700}
.ricevi__schede button span{font-size:var(--t-xs);color:var(--fg2)}
.ricevi__schede button:hover{border-color:var(--fg)}
.ricevi__schede button[aria-selected="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.ricevi__schede button[aria-selected="true"] span{color:inherit;opacity:.7}
.ricevi__pannello{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;animation:passo .7s var(--e)}
.ricevi__file .etichetta{margin:0 0 16px;color:var(--ottone-testo)}
.ricevi__file ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.ricevi__file li{padding:16px 0;border-bottom:1px solid var(--linea);font-size:var(--t-m);line-height:1.4}
.ricevi__mock{position:relative;background:radial-gradient(120% 90% at 50% 18%,#34322D 0%,#1C1B19 55%,#121211 100%);padding:clamp(28px,4vw,64px) clamp(18px,3vw,48px);min-height:clamp(340px,36vw,560px);display:grid;place-items:center;overflow:hidden;isolation:isolate}
.ricevi__mock::after{content:"";position:absolute;left:10%;right:10%;bottom:6%;height:14%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.55),transparent);z-index:-1;filter:blur(6px)}
.mock{position:relative;width:100%;display:grid;place-items:center;font-family:var(--font)}
.mock img{display:block;width:100%;height:100%;object-fit:cover}
.mock .mk{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}
/* entrata: ogni anteprima si compone quando si apre la scheda */
.ricevi__pannello:not([hidden]) .mock > *{animation:mock-su .9s var(--e) both}
.ricevi__pannello:not([hidden]) .mock > *:nth-child(2){animation-delay:.12s}
.ricevi__pannello:not([hidden]) .mock > *:nth-child(3){animation-delay:.24s}
@keyframes mock-su{from{opacity:0;transform:translateY(26px) scale(.97)}}
.ricevi__pannello:not([hidden]) .ricevi__file li{animation:mock-su .7s var(--e) both}
.ricevi__pannello:not([hidden]) .ricevi__file li:nth-child(2){animation-delay:.08s}
.ricevi__pannello:not([hidden]) .ricevi__file li:nth-child(3){animation-delay:.16s}

/* stampa: copertina e brochure aperta */
.mock--stampa{grid-template-columns:minmax(0,.62fr) minmax(0,1.6fr);align-items:end;gap:0;max-width:720px}
.br{box-shadow:0 2px 3px rgba(0,0,0,.25),0 30px 60px -12px rgba(0,0,0,.65)}
.br--copertina{position:relative;aspect-ratio:3/4.2;z-index:2;margin-right:-14%;transform:rotate(-4deg) translateY(4%);overflow:hidden;background:#000}
.br__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.65))}
.br__cop-testo{position:absolute;left:10%;right:10%;bottom:9%;display:flex;flex-direction:column;gap:4px;color:#F2F0EC}
.br__cop-testo b{font-weight:300;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(.75rem,1.5vw,1.2rem);line-height:1.05}
.br__cop-testo i{font-style:normal;font-size:clamp(.5rem,.8vw,.7rem);letter-spacing:.2em;text-transform:uppercase;color:#C6AE84}
.br__cop-testo .mk{margin-bottom:4px}
.br--aperta{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.5/1;background:#F4F2EE;transform:perspective(1600px) rotateX(10deg) rotateZ(1deg)}
.br__pag{position:relative;overflow:hidden}
.br__pag--sx::after{content:"";position:absolute;inset:0 0 0 auto;width:18%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.28))}
.br__pag--dx{display:flex;flex-direction:column;gap:6px;padding:9% 9% 7%;color:#131312;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 14%),#F4F2EE}
.br__eti{font-size:clamp(.45rem,.7vw,.62rem);letter-spacing:.22em;text-transform:uppercase;color:#7A6641}
.br__tit{font-weight:300;text-transform:uppercase;font-size:clamp(.7rem,1.35vw,1.15rem);line-height:1.05}
.br__testo{font-size:clamp(.42rem,.7vw,.62rem);line-height:1.5;color:#6A665F;max-width:24ch}
.br__foto{margin-top:auto;aspect-ratio:16/10;overflow:hidden}
.br__piede{display:flex;justify-content:space-between;font-size:clamp(.38rem,.55vw,.5rem);letter-spacing:.16em;text-transform:uppercase;color:#9A958B;padding-top:6px}

/* web: browser e telefono */
.mock--web{max-width:720px;padding:0 6% 8% 0}
.web{width:100%;border-radius:10px;overflow:hidden;background:#0F0F0E;box-shadow:0 2px 4px rgba(0,0,0,.3),0 40px 80px -16px rgba(0,0,0,.7)}
.web__barra{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#2A2926}
.web__barra i{width:8px;height:8px;border-radius:50%;background:#4A4844}
.web__barra i:nth-child(1){background:#C6AE84}
.web__barra span{margin-left:12px;flex:1;max-width:46%;padding:4px 10px;border-radius:20px;background:#1A1918;color:#9B978F;font-size:clamp(.45rem,.75vw,.66rem)}
.web__hero{position:relative;aspect-ratio:16/8.4;overflow:hidden}
.web__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0) 30%,rgba(0,0,0,.55))}
.web__nav{position:absolute;left:5%;right:5%;top:6%;display:flex;align-items:center;gap:8px;color:#F2F0EC;font-size:clamp(.42rem,.7vw,.62rem)}
.web__nav b{font-weight:400;letter-spacing:.16em;text-transform:uppercase;margin-right:auto}
.web__nav em{font-style:normal;opacity:.8;margin-left:4%}
.web__titolo{position:absolute;left:5%;bottom:22%;color:#F2F0EC;font-weight:300;text-transform:uppercase;font-size:clamp(.95rem,2.4vw,2rem);line-height:.98}
.web__cta{position:absolute;left:5%;bottom:8%;padding:5px 12px;border-radius:30px;background:#F2F0EC;color:#131312;font-size:clamp(.42rem,.7vw,.6rem);font-weight:700}
.web__miniature{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;background:#0F0F0E}
.web__miniature span{aspect-ratio:16/10;overflow:hidden}
.tel{background:#141413;border-radius:24px;padding:6px;box-shadow:0 0 0 1px #3A3936,0 30px 60px -10px rgba(0,0,0,.7)}
.tel__schermo{position:relative;aspect-ratio:9/19.2;border-radius:19px;overflow:hidden;background:#0F0F0E;color:#F2F0EC}
.tel__schermo--chiaro{background:#fff;color:#131312}
.tel--web{position:absolute;right:0;bottom:0;width:21%}
.tel--web .tel__schermo{display:flex;flex-direction:column}
.tel__nav{display:flex;align-items:center;gap:5px;padding:16% 9% 8%;font-size:clamp(.32rem,.55vw,.5rem);letter-spacing:.14em;text-transform:uppercase}
.tel__nav b{font-weight:400}
.tel__img{height:44%;overflow:hidden}
.tel__tit{padding:10% 9% 6%;font-weight:300;text-transform:uppercase;font-size:clamp(.5rem,.9vw,.8rem);line-height:1.05}
.tel__cta{margin:0 9%;padding:6% 0;border-radius:30px;background:#F2F0EC;color:#131312;text-align:center;font-size:clamp(.32rem,.55vw,.5rem);font-weight:700}

/* social: storia, post, reel */
.mock--social{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,26px);max-width:620px;align-items:center}
.tel--post{transform:translateY(-6%) scale(1.06);z-index:1}
.ig__barre{position:absolute;left:6%;right:6%;top:3.5%;display:flex;gap:3px}
.ig__barre i{flex:1;height:2px;background:rgba(255,255,255,.4);border-radius:2px}
.ig__barre i.on{background:#fff}
.ig__autore{position:absolute;left:6%;top:7%;display:flex;align-items:center;gap:5px;font-size:clamp(.38rem,.62vw,.56rem);font-weight:700;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.ig__av{display:grid;place-items:center;width:clamp(14px,1.6vw,20px);aspect-ratio:1;border-radius:50%;background:#0F0F0E;color:#F2F0EC;box-shadow:0 0 0 1.5px #C6AE84}
.ig__av .mk{width:55%;height:55%}
.ig__sticker{position:absolute;left:50%;top:44%;transform:translateX(-50%) rotate(-4deg);padding:6px 10px;background:#F2F0EC;color:#131312;border-radius:6px;font-size:clamp(.45rem,.8vw,.72rem);font-weight:700;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.ig__su{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);padding:5px 12px;border-radius:30px;background:rgba(255,255,255,.92);color:#131312;font-size:clamp(.36rem,.6vw,.55rem);font-weight:700;white-space:nowrap}
.tel__schermo--chiaro{display:flex;flex-direction:column}
.ig__testa{display:flex;align-items:center;gap:6px;padding:14% 7% 5%;font-size:clamp(.36rem,.6vw,.55rem);line-height:1.2}
.ig__testa small{display:block;color:#8A857C;font-size:.85em}
.ig__testa .ig__av{box-shadow:none}
.ig__img{aspect-ratio:4/5;overflow:hidden}
.ig__azioni{display:flex;gap:8%;padding:5% 7% 2%}
.ig__azioni svg{width:clamp(10px,1.2vw,15px);fill:none;stroke:#131312;stroke-width:1.8;stroke-linejoin:round}
.ig__dida{padding:1% 7%;font-size:clamp(.34rem,.56vw,.52rem);line-height:1.35;color:#3A3834}
.ig__bottone{margin:5% 7% 0;padding:5% 0;border-radius:6px;background:#131312;color:#fff;text-align:center;font-size:clamp(.34rem,.56vw,.52rem);font-weight:700}
.ig__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:28%;aspect-ratio:1;border-radius:50%;background:rgba(15,15,14,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ig__play svg{width:42%;fill:#fff;margin-left:8%}
.ig__reel-testo{position:absolute;left:7%;right:7%;bottom:6%;display:flex;flex-direction:column;gap:3px;color:#fff;font-size:clamp(.36rem,.6vw,.55rem);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.ig__reel-testo b{font-weight:300;text-transform:uppercase;font-size:1.4em;letter-spacing:.04em}

/* cantiere: telo sulla recinzione, con cielo e strada */
.mock--cantiere{max-width:760px}
.cn{position:relative;width:100%;aspect-ratio:16/8.6;border-radius:6px;overflow:hidden;background:linear-gradient(180deg,#58646E 0%,#8B8F8C 48%,#B7AE9C 62%);box-shadow:0 40px 80px -20px rgba(0,0,0,.7)}
.cn__cielo{position:absolute;inset:0 0 40% 0;background:radial-gradient(60% 80% at 70% 0%,rgba(255,236,205,.35),transparent 60%)}
.cn__telo{position:absolute;left:5%;right:5%;top:22%;height:52%;display:grid;grid-template-columns:1.9fr 1fr;box-shadow:0 14px 30px rgba(0,0,0,.4);transform:perspective(900px) rotateY(-7deg);transform-origin:left center}
.cn__img{overflow:hidden}
.cn__pannello{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 10%;background:#0F0F0E;color:#F2F0EC}
.cn__pannello .mk{width:16px;height:16px;margin-bottom:6px}
.cn__pannello b{font-weight:300;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(.8rem,1.9vw,1.6rem);line-height:1}
.cn__pannello span{font-size:clamp(.42rem,.75vw,.66rem);letter-spacing:.18em;text-transform:uppercase;color:#C6AE84}
.cn__pannello em{font-style:normal;margin-top:10%;padding:5px 10px;align-self:flex-start;border-radius:30px;background:#F2F0EC;color:#131312;font-size:clamp(.4rem,.7vw,.62rem);font-weight:700}
.cn__pannello small{margin-top:6px;font-size:clamp(.38rem,.62vw,.56rem);color:#9B978F}
.cn__recinto{position:absolute;left:0;right:0;top:74%;height:8%;background:repeating-linear-gradient(90deg,#4A4844 0 4px,transparent 4px 9%),linear-gradient(#6C6A64,#57554F)}
.cn__strada{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(#3A3936,#2A2926)}
.cn__strada::after{content:"";position:absolute;left:0;right:0;top:46%;height:3px;background:repeating-linear-gradient(90deg,#C9C4B8 0 40px,transparent 40px 80px);opacity:.6}

/* ufficio vendite: tablet con elenco, pianta e finiture */
.mock--vendite{max-width:700px}
.tab{width:100%;background:#141413;border-radius:22px;padding:12px;box-shadow:0 0 0 1px #3A3936,0 40px 80px -16px rgba(0,0,0,.7)}
.tab__schermo{display:grid;grid-template-columns:.85fr 2fr;aspect-ratio:4/2.9;border-radius:12px;overflow:hidden;background:#F4F2EE;color:#131312}
.tab__lato{display:flex;flex-direction:column;gap:6px;padding:9% 8%;background:#0F0F0E;color:#F2F0EC}
.tab__marchio{display:flex;align-items:center;gap:6px;margin-bottom:10%;font-size:clamp(.38rem,.62vw,.56rem);letter-spacing:.16em;text-transform:uppercase}
.tab__voce{display:flex;flex-direction:column;gap:2px;padding:8% 9%;border-radius:8px;font-size:clamp(.36rem,.6vw,.54rem);color:#9B978F}
.tab__voce b{font-weight:400;font-size:1.6em;color:#F2F0EC}
.tab__voce.on{background:#2A2926;box-shadow:inset 2px 0 0 #C6AE84}
.tab__main{display:flex;flex-direction:column;gap:8px;padding:5% 6%}
.tab__schede{display:flex;gap:6px}
.tab__schede i{font-style:normal;padding:5px 10px;border-radius:30px;border:1px solid rgba(19,19,18,.18);font-size:clamp(.38rem,.62vw,.56rem)}
.tab__schede i.on{background:#131312;color:#F2F0EC;border-color:#131312}
.tab__pianta{flex:1;min-height:0}
.tab__pianta img{object-fit:contain}
.tab__finiture{display:flex;align-items:center;gap:6px}
.tab__finiture img{width:clamp(16px,2.4vw,30px);height:auto;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 2px #F4F2EE,0 0 0 3px rgba(19,19,18,.2)}
.tab__finiture img:first-child{box-shadow:0 0 0 2px #F4F2EE,0 0 0 3.5px #131312}
.tab__finiture em{font-style:normal;margin-left:auto;font-size:clamp(.38rem,.62vw,.56rem);color:#6A665F}

/* portali: pagina di ricerca con due annunci */
.mock--portale{max-width:700px}
.pt{width:100%;border-radius:10px;overflow:hidden;background:#F4F2EE;box-shadow:0 40px 80px -16px rgba(0,0,0,.7)}
.pt__cerca{display:flex;gap:8px;padding:12px 14px;background:#fff;border-bottom:1px solid #E2DED6}
.pt__cerca span{padding:5px 12px;border-radius:30px;background:#F4F2EE;color:#6A665F;font-size:clamp(.42rem,.7vw,.62rem)}
.pt__cerca span:last-child{background:#131312;color:#F2F0EC}
.pt__lista{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}
.pt__annuncio{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px rgba(19,19,18,.08)}
.pt__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.pt__badge{position:absolute;left:8px;top:8px;padding:4px 8px;border-radius:4px;background:#131312;color:#F2F0EC;font-size:clamp(.38rem,.6vw,.55rem);font-weight:700}
.pt__punti{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:4px}
.pt__punti i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6)}
.pt__punti i.on{background:#fff}
.pt__info{display:flex;flex-direction:column;gap:3px;padding:10px 12px 14px;font-size:clamp(.4rem,.66vw,.6rem);color:#6A665F}
.pt__info b{color:#131312;font-size:1.35em}
.pt__tag{display:flex;gap:4px;margin-top:4px}
.pt__tag i{font-style:normal;padding:3px 6px;border-radius:4px;background:#F4F2EE;color:#7A6641;font-weight:700}
.pt__info em{font-style:normal;margin-top:6px;color:#131312;font-weight:700}

@media (max-width:900px){
  .mock--stampa{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr)}
  .mock--web{padding:0 8% 10% 0}
  .tel--web{width:26%}
  .mock--social{gap:8px}
  .tel{border-radius:16px;padding:4px}
  .tel__schermo{border-radius:13px}
}
@media (prefers-reduced-motion:reduce){.ricevi__pannello:not([hidden]) .mock > *,.ricevi__pannello:not([hidden]) .ricevi__file li{animation:none}}

.kit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--linea);border:1px solid var(--linea)}
.kit > li{background:var(--bg);padding:28px 24px 32px}
.kit__n{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ottone-testo)}
.kit h3{margin:10px 0 0;font-size:clamp(1.5rem,1rem + 1vw,2rem);font-weight:300;text-transform:uppercase;line-height:1}
.kit ul{margin:16px 0 0;padding:0 0 0 18px;display:grid;gap:10px;font-size:var(--t-s);line-height:1.45}
.kit__azioni{margin-top:48px;display:flex;gap:28px;flex-wrap:wrap;align-items:center}

@media (max-width:900px){
  .piano__tappe,.kit{grid-template-columns:minmax(0,1fr)}
  .piano__invio{grid-template-columns:minmax(0,1fr)}
  .piano .scelte{grid-template-columns:minmax(0,1fr)}
  .ricevi__schede{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--g) * -1);padding-inline:var(--g)}
  .ricevi__schede::-webkit-scrollbar{display:none}
  .ricevi__schede button{flex:none}
  .ricevi__pannello{grid-template-columns:minmax(0,1fr)}
  .ricevi__mock{min-height:0;padding:30px 14px 36px}
  .banda-tappa__punti{order:3;flex-basis:100%;max-width:none}
}
/* piano di lancio: come funziona, risposte modificabili; kit di vendita: indice della pagina */
.come{list-style:none;margin:0 0 clamp(40px,5vw,72px);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);max-width:1100px}
.come li{border-top:1px solid var(--linea);padding-top:20px}
.come__n{font-size:var(--t-xs);letter-spacing:.18em;color:var(--ottone-testo)}
.come h3{margin:10px 0 8px;font-size:var(--t-l);font-weight:400;line-height:1.2}
.come p{margin:0;font-size:var(--t-s);line-height:1.55;color:var(--fg2)}
.piano__risposte{margin-top:28px;padding:20px 22px;border:1px solid var(--linea)}
.piano__risposte-t{margin:0 0 10px;font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:#7A6641}
.piano__risposte ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 24px}
.piano__risposte li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}
.piano__risposte li span{grid-column:1 / -1;font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.piano__risposte li b{font-weight:400;font-size:var(--t-s)}
.piano__cambia{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 2px;font:inherit;font-size:var(--t-xs);font-weight:700;color:var(--fg);cursor:pointer;min-height:32px}
.indice-pagina{padding-block:clamp(28px,4vw,48px) 0}
.indice-pagina .etichetta{margin:0 0 14px;color:var(--ottone-testo)}
.indice-pagina ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.indice-pagina a{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px;border:1px solid var(--linea);transition:border-color .3s}
.indice-pagina a:hover{border-color:var(--fg)}
.indice-pagina b{font-size:var(--t-m);font-weight:400}
.indice-pagina span{font-size:var(--t-s);line-height:1.45;color:var(--fg2)}
@media (max-width:900px){.come,.indice-pagina ol{grid-template-columns:minmax(0,1fr)}}
.menu__extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:clamp(18px,3vh,32px);opacity:0;transform:translateY(10px);transition:opacity .5s .5s,transform .7s var(--e) .5s}
.menu-aperto .menu__extra,.menu.aperto .menu__extra,[aria-hidden="false"] .menu__extra{opacity:1;transform:none}
.menu__extra span{width:100%;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg2)}
.menu__voci .menu__extra a{display:inline-block;font-size:.9375rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1;padding:11px 16px;border:1px solid rgba(242,240,236,.2);border-radius:999px;opacity:1;transition:border-color .3s,color .3s}
.menu__voci .menu__extra a:hover{border-color:var(--ottone);color:var(--ottone)}
/* selettore lingua */
.testa__lingua{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:.8125rem;font-weight:700;letter-spacing:.14em;color:var(--fg,#F2F0EC);opacity:.9;transition:opacity .3s,color .3s}
.testa__lingua:hover{opacity:1;color:var(--ottone)}
.inv-link{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}
.tel-nota{opacity:.6;font-size:.85em;white-space:nowrap}
/* marchio della home: la "O" finale non deve essere tagliata (si nasconde solo in verticale, per l'ingresso) */
.hero__marchio{overflow:visible;clip-path:inset(-.05em -.5em 0 -.5em)}
.hero__marchio span{letter-spacing:0}
.allega__lista li{display:flex;align-items:center;justify-content:space-between;gap:12px}
.allega__togli{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:.8rem;cursor:pointer;opacity:.6;position:relative;z-index:2}
.allega__togli:hover{opacity:1;background:rgba(127,127,127,.15)}
/* pulsante flottante di iubenda: da telefono sta sopra la barra dell'app */
@media (max-width:899px){
  .iubenda-tp-btn[data-tp-float],.iubenda-tp-btn[data-tp-float][data-tp-float=bottom-left]{bottom:calc(74px + env(safe-area-inset-bottom,0px)) !important}
  .menu-aperto .iubenda-tp-btn[data-tp-float]{display:none !important}
}
/* progetti: scelta tra immagini grandi e griglia anche da computer (ottobre 2026) */
.vista-scelta{display:flex;gap:4px;flex:none}
.vista-scelta button{display:grid;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:50%;background:none;color:var(--fg2);cursor:pointer;transition:color .2s,border-color .2s}
.vista-scelta button:hover{color:var(--fg)}
.vista-scelta button[aria-pressed="true"]{border-color:var(--linea);color:var(--fg)}
.vista-scelta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.cerca-riga{display:flex;align-items:center;gap:14px}
.cerca-riga .cerca{flex:1;max-width:560px;margin-bottom:0}
@media (min-width:900px){
  .cerca-riga{justify-content:space-between}
  .lavori.griglia{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,2.4vw,40px);row-gap:clamp(44px,5vw,72px)}
  .lavori.griglia .lav,.lavori.griglia .lav[data-s]{grid-column:auto;margin-top:0}
  .lavori.griglia .lav__foto{aspect-ratio:4/5}
  .lavori.griglia .lav__foto img{width:100%;height:100%;object-fit:cover}
  .lavori.griglia .lav__info{display:block;margin-top:16px}
  .lavori.griglia .lav__titolo{font-size:clamp(1.05rem,.9rem + .4vw,1.35rem);line-height:1.2}
  .lavori.griglia .lav__titolo,.lavori.griglia .lav__sotto{display:block}
  .lavori.griglia .lav__sotto{margin-top:6px;font-size:var(--t-s)}
}
@media (min-width:1500px){.lavori.griglia{grid-template-columns:repeat(4,minmax(0,1fr))}}
