/* salute-reticolo · "Reticolo" — poliambulatorio, griglia svizzera chiara, nero e vermiglio.
   Archetipo H11 (griglia svizzera minimale con numeri). Firma: le specialita' sono righe numerate che si aprono
   e la foto si svela con clip-path. Elementi di Marco: 4 (titoli con colore che scorre), 5 (motion blur),
   6 (Lenis), 10 (nastro di marchi dei fondi sanitari), pulsanti magnetici. Spigoli vivi ovunque. */

@font-face{font-family:'Mona Sans';src:url('../_font/mona-sans/mona-sans-wdth-var.woff2') format('woff2');font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('../_font/geist-mono/geist-mono-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --p:#d6402b;   /* vermiglio */
  --s:#f2f1ed;   /* carta */
  --t:#151515;   /* inchiostro */
  --a:#b9c7cf;   /* grigio azzurro */
  --f-titoli:'Mona Sans', 'Arial Narrow', system-ui, sans-serif;
  --f-testo:'Mona Sans', system-ui, sans-serif;
  --f-mono:'Geist Mono', ui-monospace, monospace;

  --t2:color-mix(in oklab, var(--t) 66%, var(--s));
  --riga:color-mix(in oklab, var(--t) 22%, var(--s));
  --riga-leggera:color-mix(in oklab, var(--t) 11%, var(--s));
  --carta:color-mix(in oklab, var(--s) 86%, #fff);
  --bordo:clamp(16px, 3vw, 44px);
  --max:1440px;
  --esce:cubic-bezier(.16,1,.3,1);
}
html[data-font] {--f-mono:var(--f-testo)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--s);color:var(--t);font-family:var(--f-testo);font-size:clamp(16px,.35vw + 14px,18px);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--f-titoli);font-weight:600;letter-spacing:-.035em;line-height:.98;margin:0;text-wrap:balance}
p{margin:0}
figure{margin:0}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--p);outline-offset:3px}
[hidden]{display:none!important}
.sentinella{position:absolute;top:0;left:0;width:1px;height:40px;pointer-events:none}
.salta{position:absolute;left:12px;top:-60px;z-index:100;background:var(--t);color:var(--s);padding:10px 16px}
.salta:focus{top:12px}
section{padding-inline:var(--bordo)}

/* ---------- titoli con il colore che scorre (elemento 4) ---------- */
.titolo{font-size:clamp(2.3rem,1.2rem + 3.6vw,5rem);font-weight:650;font-stretch:112%;letter-spacing:-.045em;line-height:.92}
.titolo__colore{background:linear-gradient(90deg,var(--t) 0 40%,var(--p) 50%,var(--t) 60% 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 26px;background:var(--p);color:#fff;font-weight:600;font-size:1rem;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s;will-change:transform}
.btn:hover{background:var(--t);color:var(--s)}
.btn--linea{background:transparent;color:var(--t);box-shadow:inset 0 0 0 1.5px var(--t)}
.btn--linea:hover{background:var(--t);color:var(--s)}
.btn--chiaro{background:var(--s);color:var(--t)}
.btn--chiaro:hover{background:var(--p);color:#fff}
.btn--nav{min-height:44px;padding:8px 22px}
.btn--pieno{width:100%}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;padding:0 var(--bordo);background:var(--s);border-bottom:1px solid var(--riga)}
.nav__in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:26px;min-height:68px}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-stretch:108%;font-size:1.12rem;letter-spacing:-.02em;text-decoration:none;margin-right:auto;min-width:0;line-height:1.1}
.logo span[data-nome]{overflow-wrap:anywhere}
.logo__segno{flex:none;width:24px;height:24px;background:var(--p);position:relative}
.logo__segno::before,.logo__segno::after{content:"";position:absolute;background:var(--s)}
.logo__segno::before{left:10px;top:5px;width:4px;height:14px}
.logo__segno::after{left:5px;top:10px;width:14px;height:4px}
.nav__voci{display:flex;gap:28px}
.nav__voci a{text-decoration:none;font-weight:500;padding:10px 0;position:relative}
.nav__voci a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--p);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--esce)}
.nav__voci a:hover::after{transform:scaleX(1)}
.burger{display:none;width:48px;height:48px;border:1.5px solid var(--t);background:transparent;cursor:pointer;position:relative;z-index:60}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--t);transition:transform .45s var(--esce)}
.burger span:first-child{top:18px}.burger span:last-child{top:26px}
html.menu-aperto .burger span:first-child{transform:translateY(4px) rotate(45deg)}
html.menu-aperto .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:35;background:var(--s);padding:96px var(--bordo) 30px;display:flex;flex-direction:column;justify-content:space-between}
.menu__voci{display:flex;flex-direction:column;border-top:1px solid var(--riga)}
.menu__voci a{display:flex;align-items:baseline;gap:16px;font-weight:650;font-stretch:112%;font-size:clamp(1.9rem,8vw,2.6rem);letter-spacing:-.04em;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--riga)}
.menu__voci small{font-family:var(--f-mono);font-size:.8rem;color:var(--p);letter-spacing:0;font-weight:500}
.menu__tel{font-family:var(--f-mono);font-size:1.3rem;color:var(--p);text-decoration:none;padding:10px 0}

/* ---------- hero (H11) ---------- */
.hero{padding-top:clamp(18px,3vh,40px);padding-bottom:clamp(30px,4vw,60px)}
.hero__griglia{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,1.6vw,24px);row-gap:clamp(14px,2.2vh,26px);min-height:min(calc(100svh - 68px - 60px), 860px);grid-template-rows:auto 1fr auto auto auto}
.hero__etichetta{grid-column:1 / span 8;font-family:var(--f-mono);font-size:.88rem;color:var(--t2);padding-bottom:12px;border-bottom:1px solid var(--riga)}
.hero h1{grid-column:1 / span 8;grid-row:2;align-self:end;font-size:clamp(3rem,min(1rem + 5.4vw,12svh),8.2rem);font-weight:700;font-stretch:118%;letter-spacing:-.055em;line-height:.88}
.hero__sotto{grid-column:1 / span 4;grid-row:3;font-size:clamp(1rem,.9rem + .3vw,1.2rem);color:var(--t2);max-width:38ch}
.hero__azioni{grid-column:5 / span 4;grid-row:3;display:flex;flex-wrap:wrap;gap:10px;align-content:start}
.hero__foto{grid-column:9 / span 4;grid-row:1 / span 4;position:relative;overflow:hidden;min-height:320px}
.hero__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__numeri{grid-column:1 / span 8;grid-row:4;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--t)}
.hero__numeri li{padding:14px 16px 0 0;display:grid;gap:2px}
.hero__numeri li + li{padding-left:16px;border-left:1px solid var(--riga)}
.hero__numeri strong{font-family:var(--f-mono);font-weight:500;font-size:clamp(1.6rem,1rem + 1.4vw,2.6rem);letter-spacing:-.04em;line-height:1.05;color:var(--p)}
.hero__numeri span{color:var(--t2);font-size:.95rem}

/* ---------- convenzioni: nastro di marchi (elemento 10) ---------- */
.convenzioni{padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(24px,3vw,40px);border-top:1px solid var(--riga);border-bottom:1px solid var(--riga);display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;align-items:center;max-width:none}
.convenzioni__titolo{font-family:var(--f-mono);font-weight:500;font-size:.88rem;letter-spacing:0;line-height:1.4;color:var(--t2)}
.marchi{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marchi__binario{display:flex;align-items:center;gap:clamp(40px,5vw,80px);width:max-content;padding:8px 0}
.marchio{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:color-mix(in oklab, var(--t) 72%, var(--s));white-space:nowrap}
.marchio svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2}
.marchio--serif{font-stretch:75%;font-weight:400;font-size:1.4rem;letter-spacing:.01em}
.marchio--largo{font-stretch:125%;font-weight:800;letter-spacing:.06em;font-size:1.05rem}
.marchio--corsivo{font-style:italic;font-weight:300;font-stretch:90%;font-size:1.4rem}

/* ---------- specialita' ---------- */
.specialita{padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(60px,8vw,110px)}
.specialita__in{max-width:var(--max);margin:0 auto}
.specialita__testa{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:clamp(26px,3vw,44px)}
.specialita__testa .titolo{grid-column:1 / span 7}
.specialita__testa p{grid-column:9 / span 4;color:var(--t2)}
.righe{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--t)}
.riga{border-bottom:1px solid var(--riga)}
.riga__testa{width:100%;display:grid;grid-template-columns:70px minmax(0,1.3fr) minmax(0,1fr) 110px 44px;align-items:center;gap:16px;padding:clamp(16px,1.8vw,24px) 0;background:none;border:0;text-align:left;cursor:pointer;min-height:64px}
.riga__n{font-family:var(--f-mono);font-size:.9rem;color:var(--p)}
.riga__nome{font-weight:650;font-stretch:112%;font-size:clamp(1.5rem,1rem + 1.6vw,2.6rem);letter-spacing:-.04em;line-height:1;transition:transform .5s var(--esce)}
.riga__dett{color:var(--t2)}
.riga__prezzo{font-family:var(--f-mono);font-weight:500;font-size:1.1rem;text-align:right}
.riga__piu{justify-self:end;width:36px;height:36px;border:1.5px solid var(--t);position:relative;transition:background .3s,transform .5s var(--esce)}
.riga__piu::before,.riga__piu::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.riga__piu::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--esce)}
.riga__testa[aria-expanded=true] .riga__piu{background:var(--t);color:var(--s)}
.riga__testa[aria-expanded=true] .riga__piu::after{transform:translate(-50%,-50%) rotate(0)}
.riga__testa:hover .riga__nome{transform:translateX(10px)}
.riga__corpo{display:grid;grid-template-columns:70px minmax(0,4fr) minmax(0,5fr);gap:16px;padding:0 0 clamp(20px,2.4vw,32px)}
.riga__corpo figure{grid-column:2;aspect-ratio:4/3;overflow:hidden}
.riga__corpo img{width:100%;height:100%;object-fit:cover}
.riga__corpo > div{grid-column:3;display:grid;gap:12px;align-content:start;max-width:52ch;font-size:1.08rem}
.riga__nota{font-family:var(--f-mono);font-size:.9rem;color:var(--t2);padding-top:10px;border-top:1px solid var(--riga-leggera)}
.riga__testa[aria-expanded=false] + .riga__corpo{display:none}
.specialita__altre{margin-top:22px;color:var(--t2)}

/* ---------- prenota ---------- */
.prenota{padding-top:clamp(60px,8vw,120px);padding-bottom:clamp(60px,8vw,120px);background:var(--t);color:var(--s)}
.prenota__in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px}
.prenota__info{grid-column:1 / span 6;display:grid;gap:30px;align-content:start}
.prenota .titolo__colore{background-image:linear-gradient(90deg,var(--s) 0 40%,var(--p) 50%,var(--s) 60% 100%)}
.passi{list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in oklab, var(--s) 30%, var(--t))}
.passi li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid color-mix(in oklab, var(--s) 18%, var(--t));font-size:1.1rem}
.passi span{font-family:var(--f-mono);color:var(--p)}
.modulo{grid-column:8 / span 5;display:grid;gap:18px;background:var(--s);color:var(--t);padding:clamp(22px,2.6vw,34px)}
.campo{display:grid;gap:6px;font-weight:600;font-size:.93rem}
.campo select,.campo input[type=text],.campo input[type=tel]{font-weight:400;font-size:1rem;background:var(--carta);border:1.5px solid color-mix(in oklab, var(--t) 35%, var(--s));border-radius:0;padding:12px 14px;min-height:50px;width:100%}
.campo select:focus,.campo input:focus{outline:2px solid var(--p);outline-offset:1px}
.campo--riga{display:flex;align-items:center;gap:10px;font-weight:500;min-height:44px}
.campo--riga input{width:20px;height:20px;accent-color:var(--p)}
.modulo__quando{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.modulo__quando button{border:1.5px solid var(--riga);background:transparent;min-height:46px;font-weight:600;cursor:pointer;transition:all .3s}
.modulo__quando button[aria-pressed=true]{background:var(--t);border-color:var(--t);color:var(--s)}

/* ---------- check-up ---------- */
.checkup{padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(60px,8vw,110px)}
.checkup__in{max-width:var(--max);margin:0 auto}
.checkup .titolo{margin-bottom:clamp(28px,4vw,50px);max-width:14ch}
.pacchetti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--t);border-bottom:1px solid var(--riga)}
.pacchetto{padding:26px 24px 30px;display:grid;gap:14px;align-content:start}
.pacchetto + .pacchetto{border-left:1px solid var(--riga)}
.pacchetto h3{font-size:1.6rem;font-stretch:112%}
.pacchetto__prezzo{font-family:var(--f-mono);font-size:clamp(2.4rem,1.6rem + 2vw,3.6rem);letter-spacing:-.05em;line-height:1}
.pacchetto ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pacchetto li{padding-left:22px;position:relative;color:var(--t2)}
.pacchetto li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--p)}
.pacchetto--pieno{background:var(--p);color:#fff}
.pacchetto--pieno li{color:rgba(255,255,255,.9)}
.pacchetto--pieno li::before{background:#fff}

/* ---------- medici ---------- */
.medici{padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(60px,8vw,110px)}
.medici__in{max-width:var(--max);margin:0 auto}
.medici .titolo{margin-bottom:clamp(28px,4vw,50px);max-width:12ch}
.medici__griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.medico{display:grid;gap:6px;align-content:start}
.medico figure{aspect-ratio:4/5;overflow:hidden;margin-bottom:8px;background:var(--a)}
.medico img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1s var(--esce)}
.medico:hover img{filter:none;transform:scale(1.04)}
.medico h3{font-size:1.2rem;font-stretch:105%;letter-spacing:-.02em}
.medico p{font-family:var(--f-mono);font-size:.88rem;color:var(--t2)}

/* ---------- recensioni ---------- */
.recensioni{padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(60px,8vw,110px)}
.recensioni__in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--t)}
.recensioni__voto,.recensioni blockquote{padding:24px 22px 10px 0;margin:0}
.recensioni blockquote{padding-left:22px;border-left:1px solid var(--riga);display:grid;gap:14px;align-content:start}
.recensioni__voto strong{font-family:var(--f-mono);font-weight:500;font-size:clamp(3.6rem,2.4rem + 3vw,6rem);letter-spacing:-.06em;line-height:.9;color:var(--p)}
.recensioni__voto h2{font-family:var(--f-testo);font-weight:500;font-size:1rem;letter-spacing:0;color:var(--t2);margin-top:10px;line-height:1.4}
.recensioni blockquote p{font-size:1.12rem;font-weight:500;line-height:1.4}
.recensioni footer{font-family:var(--f-mono);font-size:.88rem;color:var(--t2)}

/* ---------- contatti ---------- */
.contatti{padding-bottom:clamp(40px,6vw,80px)}
.contatti__in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.contatti__blocco{grid-column:span 3;background:var(--carta);padding:clamp(20px,2.4vw,30px);display:grid;gap:12px;align-content:start}
.contatti__blocco--nero{grid-column:span 5;background:var(--t);color:var(--s)}
.contatti__blocco--nero h2{font-size:clamp(1.9rem,1.2rem + 1.8vw,3rem);font-stretch:112%;letter-spacing:-.045em}
.contatti__blocco--nero p{color:color-mix(in oklab, var(--s) 80%, var(--t))}
.contatti__blocco--nero .btn{justify-self:start;margin-top:8px}
.contatti__mail{font-family:var(--f-mono);font-size:.92rem;text-decoration:none;padding:8px 0;overflow-wrap:anywhere}
.contatti__blocco h3{font-size:1.15rem;font-stretch:108%;margin-top:6px}
.contatti__blocco dl{margin:0;display:grid;gap:6px}
.contatti__blocco dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--riga-leggera)}
.contatti__blocco dt{color:var(--t2)}
.contatti__blocco dd{margin:0;font-family:var(--f-mono)}
.contatti__blocco--mappa{grid-column:span 4;padding:0;position:relative;min-height:280px;overflow:hidden}
.contatti__blocco--mappa svg{position:absolute;inset:0;width:100%;height:100%}
.m-fondo{fill:var(--carta)}
.m-fiume{fill:none;stroke:var(--a);stroke-width:26}
.m-reticolo path{fill:none;stroke:var(--riga);stroke-width:1.5}
.m-blocco{fill:color-mix(in oklab, var(--p) 18%, var(--s));stroke:var(--p);stroke-width:1.5}
.m-testo{font:500 11px var(--f-mono);fill:var(--t2);letter-spacing:.1em}
.m-pin circle{fill:var(--p)}

/* ---------- piede ---------- */
.piede{padding:clamp(40px,6vw,80px) var(--bordo) clamp(90px,8vw,110px);border-top:1.5px solid var(--t)}
.piede__in{max-width:var(--max);margin:0 auto;display:grid;gap:clamp(24px,3vw,40px)}
.piede__nome{font-weight:750;font-stretch:120%;font-size:clamp(2.2rem,.6rem + 6vw,7rem);letter-spacing:-.06em;line-height:.9;overflow-wrap:anywhere}
.piede__colonne{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--f-mono);font-size:.86rem;color:var(--t2)}
.piede a{text-decoration:none;display:inline-block;padding:8px 0}

/* ---------- whatsapp ---------- */
.wa{position:fixed;right:18px;bottom:18px;z-index:45;width:58px;height:58px;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 26px -10px rgba(10,60,30,.5)}
.wa svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round}
.wa .wa__cornetta{fill:#fff;stroke:none}
.wa{transition:transform .45s cubic-bezier(.16,1,.3,1),visibility 0s 0s}
html.js:not(.scorso) .wa{transform:translateY(170%);visibility:hidden;transition:transform .4s ease,visibility 0s .4s}

/* ---------- stati iniziali solo con JS ---------- */
@keyframes sew-mostra{to{visibility:visible}}
.js .hero [data-h]{visibility:hidden;animation:sew-mostra 0s 3s forwards}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hero h1{grid-column:1 / span 8}
  .hero__sotto{grid-column:1 / span 8}
  .hero__azioni{grid-column:1 / span 8;grid-row:4}
  .hero__numeri{grid-row:5}
  .hero__griglia{grid-template-rows:auto 1fr auto auto auto}
  .hero__foto{grid-row:1 / span 5}
  .riga__testa{grid-template-columns:50px minmax(0,1fr) 100px 44px}
  .riga__dett{display:none}
  .riga__corpo{grid-template-columns:50px minmax(0,1fr) minmax(0,1fr)}
  .contatti__blocco,.contatti__blocco--mappa{grid-column:span 6}
  .contatti__blocco--nero{grid-column:span 12}
  .recensioni__in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recensioni blockquote:nth-of-type(2){border-left:0;padding-left:0}
}
@media (max-width:900px){
  .nav__voci,.btn--nav{display:none}
  .burger{display:block}
  .hero__griglia{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;min-height:0}
  .hero__etichetta,.hero h1,.hero__sotto,.hero__azioni,.hero__numeri{grid-column:1 / -1;grid-row:auto}
  .hero__foto{grid-column:1 / -1;grid-row:auto;aspect-ratio:16/10;min-height:0}
  .convenzioni{grid-template-columns:1fr;gap:10px}
  .specialita__testa .titolo,.specialita__testa p{grid-column:1 / -1}
  .specialita__testa{row-gap:14px}
  .riga__corpo{grid-template-columns:1fr}
  .riga__corpo figure,.riga__corpo > div{grid-column:1}
  .prenota__info,.modulo{grid-column:1 / -1}
  .pacchetti{grid-template-columns:1fr}
  .pacchetto + .pacchetto{border-left:0;border-top:1px solid var(--riga)}
  .medici__griglia{grid-template-columns:repeat(2,minmax(0,1fr))}
  .piede__colonne{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .hero h1{font-size:clamp(2.6rem,11.8vw,3.4rem)}
  .hero__azioni .btn{flex:1 1 100%}
  .hero__numeri li{padding-right:8px}
  .hero__numeri li + li{padding-left:10px}
  .hero__numeri span{font-size:.88rem}
  .riga__testa{grid-template-columns:34px minmax(0,1fr) auto 38px;gap:10px}
  .riga__prezzo{font-size:.95rem}
  .recensioni__in{grid-template-columns:1fr}
  .recensioni blockquote{border-left:0;padding-left:0;border-top:1px solid var(--riga)}
  .contatti__blocco,.contatti__blocco--mappa{grid-column:1 / -1}
  .piede__colonne{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}
  .js .hero [data-h]{visibility:visible}
}
/* hero: indice delle specialita' nello spazio sopra il titolo (solo se c'e' altezza) */
.hero__indice{grid-column:1 / span 8;grid-row:2;align-self:start;list-style:none;margin:0;padding:6px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.hero__indice a{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--riga-leggera);text-decoration:none;font-weight:500;transition:color .3s,padding .4s var(--esce)}
.hero__indice a:hover{color:var(--p);padding-left:6px}
.hero__indice span{font-family:var(--f-mono);font-size:.8rem;color:var(--p)}
@media (max-height:820px),(max-width:1180px){.hero__indice{display:none}}

/* ---------- apertura: un battito si disegna, poi la griglia si solleva colonna per colonna ---------- */
.apertura{background:transparent}
.ap-colonne{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr)}
.ap-colonne span{background:var(--s);box-shadow:1px 0 0 var(--riga)}
.ap-centro{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:22px;padding:0 20px}
.ap-battito{width:min(84vw,720px);height:clamp(70px,14vmin,120px);overflow:visible}
.ap-battito path{fill:none;stroke:var(--p);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ap-nome{display:flex;align-items:center;gap:12px;font-family:var(--f-titoli);font-weight:700;font-stretch:115%;font-size:clamp(1.3rem,1rem + 1.6vw,2.2rem);letter-spacing:-.03em;color:var(--t);text-align:center}
.ap-croce{flex:none;width:.95em;height:.95em;background:var(--p);clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%)}
@media (max-width:560px){.ap-colonne{grid-template-columns:repeat(6,1fr)}.ap-colonne span:nth-child(n+7){display:none}}
