/* GM Tecnolab · stile comune
   Colori del banco di lavoro: tappetino antistatico, ambra, rame. */
:root{
  --carta:#f3f0e8;--carta-2:#e9e4d8;--inchiostro:#15211f;--grigio:#4b5553;
  --tappeto:#173f3b;--tappeto-2:#0f2e2b;--tappeto-3:#21524d;--linea-t:rgba(255,255,255,.09);
  --ambra:#64d94c;--ambra-2:#8ae274;/* il verde del logo (il nome del token è rimasto) */--rame:#1d6f1a;/* verde scuro del logo per il fondo chiaro */--chiaro-t:#bcd1cd;
  --ok:#0e6b3d;--ok-t:#8be3b1;--no:#a3311c;--no-t:#ffb4a3;
  --r:14px;--max:1180px;
  --tit:'Bricolage Grotesque',system-ui,sans-serif;
  --txt:'Atkinson Hyperlegible',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carta);color:var(--inchiostro);font:400 1.0625rem/1.6 var(--txt)}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--tit);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,7vw,4.6rem)}
h2{font-size:clamp(1.9rem,4.4vw,3rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1em}
.mono{font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.salta{position:absolute;left:-9999px;top:8px;background:var(--ambra);color:var(--inchiostro);padding:10px 16px;border-radius:8px;z-index:99;font-weight:700}
.salta:focus{left:12px}
:focus-visible{outline:3px solid var(--ambra);outline-offset:3px}
main :focus-visible{outline-color:var(--rame)}
.scuro :focus-visible{outline-color:var(--ambra)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* TESTATA */
.testata{background:var(--tappeto-2);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--linea-t)}
.testata .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.marchio{min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--tit);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;white-space:nowrap}
.marchio img{width:48px;height:48px;flex:none;border-radius:50%}
.marchio small{display:block;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--chiaro-t);line-height:1.2}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;font-weight:700;font-size:.98rem}
.menu a:hover{background:var(--tappeto-3)}
.menu a[aria-current=page]{color:var(--ambra)}
.menu .cta a{background:var(--ambra);color:var(--inchiostro);margin-left:6px}
.menu .cta a:hover{background:var(--ambra-2)}
.menu .cta a[aria-current=page]{color:var(--inchiostro)}
.menu-btn{display:none;background:none;border:1.5px solid var(--chiaro-t);color:#fff;border-radius:8px;padding:9px 14px;font:700 .95rem var(--txt);cursor:pointer}
@media(max-width:900px){
  .menu-btn{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--tappeto-2);flex-direction:column;align-items:stretch;padding:8px 16px 18px;border-bottom:1px solid var(--linea-t)}
  .menu.open{display:flex}
  .menu a{padding:14px 12px;font-size:1.1rem}
  .menu .cta a{margin:8px 0 0;text-align:center}
}
.anni-mini{margin:0 auto 0 4px;flex:none;display:flex;flex-direction:column;align-items:center;color:var(--ambra);border:2px solid currentColor;outline:1px solid currentColor;outline-offset:2px;border-radius:7px;padding:3px 7px 4px;transform:rotate(-8deg);line-height:1}
.anni-mini b{font:800 1.25rem/1 var(--tit);letter-spacing:-.03em}
.anni-mini span{font:600 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
@media(max-width:360px){.marchio{font-size:1.12rem}.marchio small{font-size:.56rem;letter-spacing:.06em}.marchio img{width:40px;height:40px}}
@media(max-width:360px){.anni-mini{padding:2px 5px 3px;margin-left:0}.anni-mini b{font-size:1.05rem}.anni-mini span{font-size:.5rem;letter-spacing:.06em}}

/* PULSANTI */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border-radius:999px;border:2px solid transparent;font:700 1.02rem var(--txt);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn-ambra{background:var(--ambra);color:var(--inchiostro)}
.btn-ambra:hover{background:var(--ambra-2)}
.btn-linea{border-color:currentColor;background:transparent}
.btn-scuro{background:var(--tappeto);color:#fff}
.btn-scuro:hover{background:var(--tappeto-3)}
.bottoni{display:flex;flex-wrap:wrap;gap:12px}

/* STATO APERTO / CHIUSO */
.stato{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:500;font-size:.82rem;letter-spacing:.04em;padding:8px 14px;border-radius:999px;border:1.5px solid currentColor}
.stato::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
.stato.aperto{color:var(--ok)}.stato.chiuso{color:var(--no)}
.scuro .stato.aperto{color:var(--ok-t)}.scuro .stato.chiuso{color:var(--no-t)}
.stato.aperto::before{box-shadow:0 0 0 4px rgba(139,227,177,.18)}

/* SEZIONI */
.scuro{background:var(--tappeto);color:#fff;
  background-image:linear-gradient(var(--linea-t) 1px,transparent 1px),linear-gradient(90deg,var(--linea-t) 1px,transparent 1px);
  background-size:40px 40px;background-position:-1px -1px}
.scuro a:not(.btn){color:#fff}
.scuro .btn-linea{color:#fff}
.sez{padding:clamp(56px,9vw,110px) 0}
.occhiello{display:block;font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rame);margin-bottom:14px}
.scuro .occhiello{color:var(--ambra)}
.intro{font-size:1.2rem;max-width:40em;color:var(--grigio)}
.scuro .intro{color:var(--chiaro-t)}

/* HERO */
.hero{overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(40px,6vw,80px)}
.hero h1 em{font-style:normal;color:var(--ambra)}
.hero .sotto{font-size:1.2rem;color:var(--chiaro-t);max-width:32em}
.hero .stato{margin-bottom:22px}
.hero .wrap>div:first-child{position:relative}
.anni{position:absolute;right:4%;top:118px;margin:0;display:flex;align-items:center;gap:10px;color:var(--ambra);border:3px solid currentColor;outline:1.5px solid currentColor;outline-offset:3px;border-radius:10px;padding:4px 14px 4px 12px;transform:rotate(-8deg)}
.anni b{font:800 3.2rem/1 var(--tit);letter-spacing:-.03em}
.anni span{font:600 .74rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;max-width:6.5em}
@media(max-width:1100px){.anni{top:96px;right:0}.anni b{font-size:2.6rem}}
@media(max-width:900px){.anni{position:static;display:inline-flex;margin:0 0 22px 6px}.anni b{font-size:2.2rem}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* IL TELEFONO SMONTABILE */
.officina{position:relative}
.banco{height:clamp(420px,46vw,520px);display:grid;place-items:center;touch-action:pan-y}
/* ogni strato e' inclinato da solo e spostato in alto: niente 3D annidato, cosi' Safari non lo schiaccia */
.telefono{--x:0;position:relative;width:clamp(112px,12vw,146px);aspect-ratio:1/2;transform:translateY(calc(40px + var(--x) * 120px))}
.strato{position:absolute;inset:0;transform:translateY(calc(var(--i) * (5px + var(--x) * 78px) * -.85)) perspective(1400px) rotateX(58deg) rotateZ(-38deg);transition:filter .2s,opacity .2s}
.strato svg{width:100%;height:100%;overflow:visible}
.strato .num{font:600 22px var(--mono);fill:var(--ambra)}
.telefono.punta .strato{opacity:.35}
.telefono.punta .strato.acceso{opacity:1;filter:drop-shadow(0 0 10px rgba(245,185,58,.75))}
.leva{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;max-width:420px;margin:6px auto 0}
.leva label,.leva output{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--chiaro-t)}
.leva output{min-width:3.2em;text-align:right;color:var(--ambra)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:grab}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--ambra) var(--p,0%),rgba(255,255,255,.22) var(--p,0%))}
input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:rgba(255,255,255,.22)}
input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--ambra)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:50%;background:var(--ambra);border:4px solid var(--tappeto-2);box-shadow:0 0 0 2px var(--ambra)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ambra);border:4px solid var(--tappeto-2);box-shadow:0 0 0 2px var(--ambra)}
.legenda{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.legenda li{display:flex;gap:10px;align-items:baseline;padding:6px 8px;border-radius:8px;cursor:default;transition:background .2s}
.legenda li.acceso{background:rgba(245,185,58,.14)}
.legenda b{font-family:var(--mono);color:var(--ambra);font-weight:600}
.legenda span{font-size:.95rem;color:var(--chiaro-t)}
.legenda strong{color:#fff;display:block;font-size:1rem}
@media(max-width:520px){.legenda{grid-template-columns:1fr}}

/* PORTE (home) */
.porte{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.porte h3{margin:0;font-size:inherit;grid-row:1}
.porte .gruppo-carte{grid-column:1/-1;grid-row:2}
.ramo{width:100%;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;background:#fff;color:var(--inchiostro);border:2px solid var(--carta-2);border-radius:var(--r);padding:22px 24px;font:inherit;transition:border-color .2s,background .2s}
.ramo:hover{border-color:var(--rame)}
.ramo svg{width:52px;height:52px;flex:none;color:var(--tappeto)}
.ramo-testo{flex:1;min-width:0}
.ramo-nome{display:block;font:800 clamp(1.5rem,3vw,2rem)/1.05 var(--tit);letter-spacing:-.02em}
.ramo-sotto{display:block;margin-top:6px;font:500 .8rem/1.35 var(--mono);letter-spacing:.04em;color:var(--grigio)}
.ramo-segno{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:2px solid currentColor}
.ramo-segno::before,.ramo-segno::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;margin:-1.25px 0 0 -7px;background:currentColor;transition:transform .2s}
.ramo-segno::after{transform:rotate(90deg)}
.ramo[aria-expanded=true]{background:var(--tappeto);border-color:var(--tappeto);color:#fff}
.ramo[aria-expanded=true] svg{color:var(--ambra)}
.ramo[aria-expanded=true] .ramo-sotto{color:var(--chiaro-t)}
.ramo[aria-expanded=true] .ramo-segno::after{transform:rotate(0)}
.gruppo-carte{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.gruppo-sw{grid-template-columns:repeat(2,1fr)}
@media(min-width:561px){.gruppo-sw .porta{grid-column:2}}
.gruppo-carte[hidden]{display:none}
.porta{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--carta-2);border-radius:var(--r);padding:24px;text-decoration:none;transition:border-color .2s,transform .2s}
.porta:hover{border-color:var(--rame);transform:translateY(-3px)}
.porta h4{font-family:var(--tit);font-weight:800;font-size:1.3rem;line-height:1.05;letter-spacing:-.01em;margin:0 0 .5em}
.porta svg{width:46px;height:46px;margin-bottom:18px;color:var(--tappeto)}
.porta p{color:var(--grigio);margin:0 0 18px;flex:1}
.porta .vai{font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rame)}
@media(max-width:1100px){.gruppo-carte{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.porte,.gruppo-carte{grid-template-columns:1fr}.porte h3,.porte .gruppo-carte{grid-row:auto}.porte h3+.gruppo-carte{margin-bottom:6px}.porte h3~h3{margin-top:10px}.ramo{padding:16px 18px;gap:14px}.ramo svg{width:40px;height:40px}}

/* SCONTRINO / SCHEDA DI ACCETTAZIONE */
.biglietto{position:relative;background:#fffdf7;color:var(--inchiostro);border-radius:6px;padding:28px 26px 30px;font-family:var(--mono);font-size:.92rem;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.biglietto::before,.biglietto::after{content:"";position:absolute;left:0;right:0;height:10px;
  background:radial-gradient(circle at 7px 0,transparent 6px,#fffdf7 6.5px) 0 0/14px 10px repeat-x}
.biglietto::before{top:-9px;transform:scaleY(-1)}
.biglietto::after{bottom:-9px}
.biglietto .riga{display:flex;justify-content:space-between;gap:12px;border-bottom:1.5px dashed #cfc8b8;padding:9px 0}
.biglietto .riga span:first-child{color:var(--grigio);text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;padding-top:2px}
.biglietto .riga span:last-child{text-align:right;font-weight:600}
.biglietto h3{font-family:var(--mono);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}
.timbro{position:absolute;right:18px;top:22px;transform:rotate(-12deg);border:3px solid var(--rame);color:var(--rame);border-radius:8px;padding:4px 10px;font:700 .82rem var(--mono);letter-spacing:.08em;text-transform:uppercase}

.anteprima{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.anteprima .biglietto{max-width:400px;justify-self:center;width:100%;transform:rotate(1.5deg)}
@media(max-width:860px){.anteprima{grid-template-columns:1fr}}

/* STRISCIA CONTATTI */
.contatti-striscia{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.contatti-striscia h3{font-size:1.1rem;font-family:var(--mono);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ambra);margin-bottom:10px}
.contatti-striscia p{color:var(--chiaro-t)}
.contatti-striscia .grande{font-family:var(--tit);font-weight:800;font-size:1.6rem;color:#fff;text-decoration:none;letter-spacing:-.01em;line-height:1.2;display:inline-block}
@media(max-width:820px){.contatti-striscia{grid-template-columns:1fr}}

/* INTESTAZIONE DELLE PAGINE INTERNE */
.testa-pag{padding:clamp(44px,7vw,84px) 0 clamp(36px,5vw,60px)}
.testa-pag h1{font-size:clamp(2.2rem,6vw,4rem);max-width:15em}
.testa-pag .intro{color:var(--chiaro-t)}

/* RIPARAZIONI */
.indice{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:26px 0 0}
.indice a{display:inline-block;padding:10px 16px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;text-decoration:none;font-weight:700}
.indice a:hover{border-color:var(--ambra);color:var(--ambra)}
.reparto{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,5vw,64px);padding:clamp(40px,6vw,64px) 0;border-top:1.5px solid var(--carta-2)}
.reparto:first-child{border-top:0}
.reparto .icona{width:64px;height:64px;color:var(--tappeto);margin-bottom:16px}
.reparto .lato p{color:var(--grigio)}
.voci{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.voci li{background:#fff;border:1.5px solid var(--carta-2);border-radius:12px;padding:18px 20px}
.voci h4{font-family:var(--tit);font-weight:800;line-height:1.05;letter-spacing:-.01em;font-size:1.12rem;margin:0 0 .3em}
.voci p{margin:0;color:var(--grigio);font-size:.98rem}
@media(max-width:860px){.reparto{grid-template-columns:1fr}.voci{grid-template-columns:1fr}}
.passi{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
.passi li{counter-increment:p;border-top:3px solid var(--ambra);padding-top:18px}
.passi li::before{content:"0" counter(p);display:block;font:600 .85rem var(--mono);color:var(--ambra);letter-spacing:.08em;margin-bottom:10px}
.passi h3{font-size:1.25rem}
.passi p{color:var(--chiaro-t);margin:0}
@media(max-width:900px){.passi{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.passi{grid-template-columns:1fr}}
.spunte{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.spunte label{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid var(--carta-2);border-radius:12px;padding:16px 18px;cursor:pointer;height:100%}
.spunte input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--tappeto);flex:none}
.spunte b{display:block}
.spunte span{color:var(--grigio);font-size:.98rem}
.spunte input:checked~span b{text-decoration:line-through;text-decoration-color:var(--rame);text-decoration-thickness:2px}
.conta{margin-top:18px;font-family:var(--mono);font-size:.85rem;color:var(--grigio)}
@media(max-width:700px){.spunte{grid-template-columns:1fr}}

/* DIAGNOSI */
.diagnosi{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:940px){.diagnosi{grid-template-columns:1fr}}
.passo{margin-bottom:34px}
.passo-tit{display:flex;align-items:baseline;gap:12px;font-family:var(--tit);font-weight:800;font-size:1.5rem;line-height:1.2;letter-spacing:-.01em;margin:0 0 14px}
.passo-tit b{font:600 .85rem var(--mono);color:var(--rame);letter-spacing:.08em}
.scelte{display:flex;flex-wrap:wrap;gap:10px}
.scelta{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:10px 18px;border-radius:12px;border:2px solid var(--carta-2);background:#fff;color:var(--inchiostro);font:700 1rem var(--txt);cursor:pointer;transition:border-color .15s,background .15s}
.scelta svg{width:26px;height:26px;color:var(--tappeto);flex:none}
.scelta:hover{border-color:var(--rame)}
.scelta[aria-pressed=true]{background:var(--tappeto);border-color:var(--tappeto);color:#fff}
.scelta[aria-pressed=true] svg{color:var(--ambra)}
.vuoto{color:var(--grigio);font-style:italic;margin:0}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-weight:700}
.campo .aiuto{font-size:.92rem;color:var(--grigio)}
input[type=text],input[type=tel],input[type=email],select,textarea{font:400 1rem var(--txt);font-size:16px;padding:13px 14px;border-radius:10px;border:1.5px solid #8f9693;background:#fff;color:var(--inchiostro);width:100%}
textarea{min-height:130px;resize:vertical}
.scheda-col{position:sticky;top:96px}
@media(max-width:940px){.scheda-col{position:static}}
.biglietto .consiglio{display:block;font-family:var(--txt);font-size:1rem;line-height:1.5;margin:16px 0 0;padding:14px 16px;background:#f4efe1;border-left:4px solid var(--ambra);border-radius:4px}
.biglietto .consiglio b{display:block;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rame);margin-bottom:4px}
.biglietto ul{font-family:var(--txt);font-size:.98rem;margin:8px 0 0;padding-left:20px}
.biglietto .azioni{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.biglietto .azioni .btn{width:100%}
.biglietto.vuota .riga span:last-child{color:#9a948a}

/* DOVE */
.dove{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:860px){.dove{grid-template-columns:minmax(0,1fr)}}
.targa{display:inline-block;background:#fbfaf6;border:3px solid var(--inchiostro);outline:2px solid #fbfaf6;border-radius:6px;padding:12px 22px 10px;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.12);margin-bottom:22px}
.targa small{display:block;font:600 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase}
.targa strong{display:block;font-family:var(--tit);font-weight:800;font-size:clamp(1.25rem,5vw,2.1rem);letter-spacing:.02em;text-transform:uppercase;line-height:1.1}
.settimana{list-style:none;margin:16px 0 0;padding:0}
.settimana li{display:flex;justify-content:space-between;gap:12px;padding:12px 4px;border-bottom:1.5px solid var(--carta-2)}
.settimana li.oggi{background:#fff;border-radius:8px;padding-left:12px;padding-right:12px;font-weight:700;box-shadow:inset 4px 0 0 var(--ambra)}
.settimana span{font-family:var(--mono);font-size:.92rem;text-align:right}
.mappa{position:relative;width:100%;border-radius:var(--r);overflow:hidden;background:var(--tappeto);color:#fff;aspect-ratio:4/3.4;min-height:340px;
  background-image:linear-gradient(var(--linea-t) 1px,transparent 1px),linear-gradient(90deg,var(--linea-t) 1px,transparent 1px);background-size:32px 32px}
.mappa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:6px}
.map-ph svg{width:56px;height:56px;color:var(--ambra);margin-bottom:6px}
.map-ph .luogo{font-family:var(--tit);font-weight:800;font-size:1.4rem}
.map-ph .nota{font-size:.92rem;color:var(--chiaro-t);max-width:30em;margin-top:10px}
.map-ph .btn{margin-top:10px}

/* MODULO */
.modulo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.modulo .pieno{grid-column:1/-1}
.modulo .nota{font-size:.95rem;color:var(--grigio)}
@media(max-width:640px){.modulo{grid-template-columns:1fr}}
.esca{display:none}
.lato-contatti{background:var(--tappeto);color:#fff;border-radius:var(--r);padding:28px}
.lato-contatti p{color:var(--chiaro-t)}
.lato-contatti .occhiello{color:var(--ambra)}
.lato-contatti a.grande{font-family:var(--tit);font-weight:800;font-size:1.5rem;color:#fff;text-decoration:none;display:inline-block;margin-bottom:6px}
.lato-contatti a.email{font-size:1.2rem;overflow-wrap:anywhere}

/* TESTO LUNGO (privacy) */
.testo{max-width:46em}
.testo h2{font-size:1.6rem;margin-top:1.8em}
.testo li{margin-bottom:.4em}
.da-completare{background:#ffe1d6;color:#7a1f0b;font-weight:700;padding:0 4px;border-radius:3px}

/* PIEDE */
.piede{background:var(--tappeto-2);color:var(--chiaro-t);padding:56px 0 28px;font-size:.98rem}
.piede .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.piede a{color:#fff}
.piede b{color:#fff}
.piede ul{list-style:none;margin:0;padding:0}
.piede li{margin-bottom:6px}
.piede .fine{grid-column:1/-1;border-top:1px solid var(--linea-t);padding-top:20px;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em}
@media(max-width:760px){.piede .wrap{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.piede li a,.piede p a{display:inline-block;padding:4px 0;min-height:28px}
.link-mappa{display:inline-block;padding:8px 0;min-height:36px;font-weight:700}
input[type=range]{font-size:16px}
.social{display:flex;flex-wrap:wrap;gap:8px 18px}
.social a{display:inline-flex!important;align-items:center;gap:8px;min-height:32px}
.social svg{width:20px;height:20px;flex:none}
.voto{display:flex;align-items:center;gap:10px;margin:22px 0 0;font-size:.98rem;color:var(--chiaro-t)}
.voto svg{width:22px;height:22px;flex:none;color:var(--ambra)}
.voto b{color:#fff}
.striscia-pellicole{display:flex;align-items:center;gap:20px;margin-top:16px;background:#fff;border:1.5px solid var(--carta-2);border-radius:var(--r);padding:20px 24px;text-decoration:none;color:var(--inchiostro);transition:border-color .2s,transform .2s}
.striscia-pellicole:hover{border-color:var(--rame);transform:translateY(-3px)}
.striscia-pellicole svg{width:46px;height:46px;flex:none;color:var(--tappeto)}
.striscia-pellicole>span:first-of-type{flex:1;color:var(--grigio)}
.striscia-pellicole b{display:block;font:800 1.3rem/1.1 var(--tit);letter-spacing:-.01em;color:var(--inchiostro);margin-bottom:.25em}
.striscia-pellicole .vai{font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rame);white-space:nowrap}
@media(max-width:700px){.striscia-pellicole{flex-wrap:wrap;gap:14px}.striscia-pellicole>span:first-of-type{flex-basis:calc(100% - 60px)}}
@media(max-width:360px){.stato{font-size:.74rem;letter-spacing:0;gap:8px;padding:8px 12px}}
.voci li.largo{grid-column:1/-1}
.diagramma{margin-top:34px;max-width:860px}
.diag-disp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.diag-disp li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border:1.5px solid rgba(255,255,255,.25);border-radius:12px;font-weight:700;font-size:.95rem;text-align:center}
.diag-disp svg{width:34px;height:34px;color:var(--ambra)}
.diag-forca{position:relative;height:52px;margin:0 25%}
.diag-forca::before{content:"";position:absolute;left:50%;top:0;height:20px;border-left:2px solid var(--ambra)}
.diag-forca::after{content:"";position:absolute;left:0;right:0;top:20px;bottom:8px;border:2px solid var(--ambra);border-bottom:0;border-radius:10px 10px 0 0}
.diag-rami{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.diag-ramo{position:relative;padding:20px;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r);background:rgba(255,255,255,.05)}
.diag-ramo::before{content:"";position:absolute;left:50%;top:-10px;margin-left:-7px;border:7px solid transparent;border-top:9px solid var(--ambra);border-bottom:0}
.diag-tit{font:800 1.5rem/1.1 var(--tit);letter-spacing:-.01em;color:#fff;margin:0 0 .3em}
.diag-ramo p{color:var(--chiaro-t);margin:0}
.diag-ramo .diag-tit{color:#fff}
.diag-ramo .indice{margin-top:16px;gap:8px}
@media(max-width:560px){.diag-disp li{font-size:.78rem;padding:10px 2px}.diag-disp svg{width:26px;height:26px}.diag-ramo{padding:16px 14px}.diag-tit{font-size:1.25rem}.diag-ramo .indice a{padding:9px 13px}}
.diag-link{display:flex;flex-direction:column;text-decoration:none;transition:border-color .2s}
.diag-link:hover{border-color:var(--ambra)}
.diag-link .diag-tit{display:block}
.diag-txt{color:var(--chiaro-t);flex:1}
.diag-link .vai{margin-top:16px;font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ambra)}
@media(max-width:560px){.diag-ramo .indice a{padding:7px 12px;font-size:.88rem}.diag-rami{gap:10px}}
.voci li[id]{scroll-margin-top:110px}.voci li:target{border-color:var(--rame)}
@media(max-width:400px){.diag-ramo .indice a{padding:7px 10px;font-size:.8rem;white-space:nowrap}.diag-ramo{padding:16px 12px}}
.reparto{scroll-margin-top:70px}
h2[id]{scroll-margin-top:90px}

.foto-lab{margin:36px 0 0}
.foto-lab img{display:block;width:100%;border-radius:var(--r);border:1.5px solid var(--carta-2)}
.foto-lab figcaption{margin-top:10px;font-family:var(--mono);font-weight:500;font-size:.8rem;letter-spacing:.04em;color:var(--grigio)}
@media(max-width:560px){.foto-lab img{aspect-ratio:3/2;object-fit:cover;object-position:78% 50%}}
.reparto .lato h3{font-size:clamp(1.9rem,4.4vw,3rem);letter-spacing:-.02em}
.ramo-tit{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:clamp(40px,6vw,64px) 0 0;padding:18px 0 0;border-top:4px solid var(--tappeto);font-size:clamp(1.3rem,3vw,1.7rem);color:var(--tappeto);text-transform:uppercase;letter-spacing:.02em}
.ramo-tit:first-child{margin-top:clamp(32px,5vw,56px)}
.ramo-tit span{font:500 .8rem/1.3 var(--mono);letter-spacing:.06em;text-transform:none;color:var(--rame)}
.ramo-tit + .reparto{border-top:0}
.ramo-tit{scroll-margin-top:70px}
