/* =====================================================================
   LA CORTE WELLNESS — Design System del sito
   Coordinato al Brand Center (token --lcw-*). Mobile-first, motion incluso.
   ===================================================================== */

/* ---------- Font (dal Brand Center) ---------- */
@font-face{font-family:"Averta";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/AvertaStd-Regular.woff2") format("woff2");}
@font-face{font-family:"Averta";font-weight:400;font-style:italic;font-display:swap;src:url("/assets/fonts/AvertaStd-RegularItalic.woff2") format("woff2");}
@font-face{font-family:"Averta";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/AvertaStd-Semibold.woff2") format("woff2");}
@font-face{font-family:"Averta";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/AvertaStd-Bold.woff2") format("woff2");}
@font-face{font-family:"AnnaiMN";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/AnnaiMN.woff2") format("woff2");}
@font-face{font-family:"At Gambit";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/AtGambit-Semibold.woff2") format("woff2");}
@font-face{font-family:"At Gambit";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/AtGambit-Regular.woff2") format("woff2");}

/* ---------- Token ---------- */
:root{
  --porcelain:#F9F9F1; --tea:#D7DFAE; --sand:#F5D2BC; --peach:#E68B6C;
  --carbon:#19211E; --accent-ink:#B4532F; --accent:#B4532F; --accent-ink-hover:#9E4526;
  /* tema del widget prenotazione/area riservata OLIN (olin.js legge questi token, gestione flusso di Andrea): li porto sui colori Corte */
  --lcw-accent:var(--accent-ink); --lcw-ink:var(--carbon); --lcw-bg:var(--porcelain);
  --bg:var(--porcelain); --surface:#FFFFFF; --surface-dark:#232B27;
  --tint-green:rgba(215,223,174,.30); --tint-sand:rgba(245,210,188,.35);
  --ink:var(--carbon); --ink-muted:rgba(25,33,30,.66); --on-dark:var(--porcelain); --on-dark-muted:rgba(249,249,241,.72);
  --border:rgba(25,33,30,.12); --border-strong:rgba(25,33,30,.25); --divider:rgba(25,33,30,.08);
  --focus:var(--accent-ink); --focus-ring:rgba(180,83,47,.22);

  --font-sans:"Averta","Avenir Next",system-ui,sans-serif;
  --font-display:"AnnaiMN",Georgia,serif;     /* corsivo: parole-focus, citazioni */
  --font-title:"At Gambit",Georgia,serif;      /* titolazioni particolari */

  --text-hero:clamp(2.1rem,6vw,3.25rem);
  --text-h1:clamp(2.1rem,4.6vw,3.4rem);
  --text-h2:clamp(1.55rem,3.4vw,2.5rem);
  --text-h3:clamp(1.3rem,2.4vw,1.7rem);
  --text-lead:clamp(1.075rem,1.7vw,1.3rem);
  --text-body:1.0625rem;
  --text-small:.875rem; --text-eyebrow:.78rem;

  --lh-tight:1.08; --lh-snug:1.25; --lh-body:1.7;
  --tracking-eyebrow:.18em;

  --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem;
  --space-6:3rem; --space-8:4rem; --space-10:5rem; --space-12:7rem; --space-16:9rem;
  --container:1240px; --measure:64ch; --gutter:clamp(20px,5vw,40px);

  --radius-s:8px; --radius-m:12px; --radius-l:18px; --radius-xl:28px; --radius-pill:999px;
  --shadow-1:none;
  --shadow-2:none; --shadow-3:none;

  --dur-fast:180ms; --dur-base:280ms; --dur-slow:560ms; --dur-breath:800ms;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-in-out:cubic-bezier(.65,0,.35,1);
  --nav-h:72px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;}
img,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
/* mobile: tap singolo diretto su link/bottoni (niente ritardo/doppio-tap iOS) */
a,button,.btn,summary,[role="button"],.card{touch-action:manipulation;}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px;}
ul{list-style:none;}

/* ---------- Tipografia ---------- */
.eyebrow{font-size:var(--text-eyebrow);font-weight:600;letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--accent-ink);max-width:none;}
h1,.h1,h2,.h2,h3,.h3{font-weight:600;line-height:var(--lh-snug);letter-spacing:-.01em;}
.display{font-family:var(--font-title);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.005em;
  font-size:var(--text-hero);}
.h1{font-size:var(--text-h1);} .h2{font-size:var(--text-h2);} .h3{font-size:var(--text-h3);}
.lead{font-size:var(--text-lead);line-height:1.6;color:var(--ink-muted);max-width:var(--measure);}
.focus{font-family:var(--font-display);font-style:normal;color:var(--accent-ink);}
.muted{color:var(--ink-muted);}
p{max-width:var(--measure);}
.balance{text-wrap:balance;}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.container--narrow{max-width:860px;}
.section{padding-block:clamp(2.4rem,5vw,4.75rem);}
.section--tight{padding-block:clamp(2rem,4.5vw,4rem);}
/* striscia di micro-fatti (riempie lo stacco sotto l'hero) */
.strip{background:var(--tint-green);border-block:1px solid var(--border);}
.strip__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.75rem,4vw,3rem);padding-block:15px;}
.strip__i{display:inline-flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:600;color:var(--accent-ink);letter-spacing:.01em;}
.strip__ico{flex:none;color:var(--accent-ink);opacity:.9;}
/* listino pacchetti (con sconto e risparmio) */
.listino__trial{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:1.8rem auto 0;max-width:max-content;
  background:var(--tint-sand);border:1px solid var(--accent);border-radius:var(--radius-pill);
  padding:.6rem 1.3rem;font-weight:700;color:var(--accent-ink);text-align:center;}
.listino__trial-ico{display:inline-flex;color:var(--accent-ink);}
.listino__trial-ico svg{display:block;}
.listino__group{margin-top:2.6rem;}
.listino__group:first-child{margin-top:0;}
.listino__ghead{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;
  margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--divider);}
.listino__glabel{font-size:var(--text-h3);font-weight:600;}
.listino__single{font-size:.95rem;color:var(--ink-muted);}
.listino__single b{color:var(--ink);font-weight:700;}
.listino__grid{display:grid;gap:.9rem;}
.listino__grid--4{grid-template-columns:repeat(4,1fr);}
.listino__grid--3{grid-template-columns:repeat(3,1fr);}
.listino__grid--2{grid-template-columns:repeat(2,1fr);max-width:560px;}
.listino__grid--1{grid-template-columns:minmax(240px,300px);}
.plan{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);
  padding:1.35rem 1.15rem;display:flex;flex-direction:column;gap:.22rem;}
.plan--featured{border-color:var(--accent);background:var(--tint-sand);}
.plan__disc{position:absolute;top:12px;right:12px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;
  padding:2px 9px;border-radius:var(--radius-pill);letter-spacing:.01em;}
.plan__name{font-weight:600;font-size:1rem;color:var(--ink-muted);padding-right:3.2rem;}
.plan__price{font-family:var(--font-title);font-size:2.25rem;font-weight:600;line-height:1.02;margin-top:.15rem;}
.plan__per{font-size:.9rem;color:var(--ink-muted);}
.plan__save{margin-top:.55rem;font-size:.98rem;font-weight:700;color:var(--accent-ink);}
.plan__note{font-size:.78rem;color:var(--ink-muted);margin-top:.15rem;}
.plan__badge{margin-top:.5rem;font-size:.82rem;font-weight:600;color:var(--ink);line-height:1.3;}
.plan__mark{color:var(--accent-ink);font-size:.6em;font-weight:700;vertical-align:super;margin-left:.12em;}
.plan__cta{margin-top:auto;}
.plan__save,.plan__note,.plan__badge{margin-bottom:0;}
.plan__cta{padding-top:.62rem;padding-bottom:.62rem;}
.plan>.plan__cta{margin-top:auto;} /* i bottoni si allineano in fondo (card di pari altezza nella griglia) */
.listino__gnote{margin-top:1rem;font-size:.85rem;color:var(--ink-muted);}
.hero__trial{position:absolute;right:max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)));bottom:clamp(3rem,8vh,5rem);z-index:2;
  display:inline-flex;align-items:center;gap:.5rem;background:rgba(249,249,241,.14);
  border:1px solid rgba(249,249,241,.42);color:var(--on-dark);border-radius:var(--radius-pill);
  padding:15px 26px;font-size:.98rem;font-weight:600;line-height:1;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.hero__trial-ico{display:inline-flex;color:var(--peach);}
.hero__trial-ico svg{display:block;}
@media(max-width:760px){.hero__trial{bottom:auto;top:88px;right:12px;font-size:.78rem;padding:.5rem .9rem;background:rgba(16,22,18,.58);border-color:rgba(255,255,255,.4);}}
/* Countdown apertura: minimale, riusabile (home hero + CTA finali) */
.countdown{display:flex;flex-direction:column;gap:.55rem;text-shadow:0 1px 14px rgba(16,22,18,.65);}
.countdown__label{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark);}
.countdown__units{display:flex;gap:1.15rem;}
.countdown__unit{display:flex;flex-direction:column;align-items:center;}
.countdown__unit b{font-family:var(--font-title);font-weight:500;font-size:1.9rem;line-height:1;
  color:#fff;font-variant-numeric:tabular-nums;}
.countdown__unit i{font-style:normal;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--on-dark-muted);margin-top:.35rem;text-shadow:none;}
.countdown.is-open .countdown__units{display:none;}
/* variante home hero: assoluta, in basso a destra, allineata ai bottoni */
.countdown--hero{position:absolute;right:max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)));bottom:clamp(3rem,8vh,5rem);z-index:2;
  align-items:center;text-align:center;}
/* variante CTA finale: statica a destra nel foot, con pannello per la leggibilità sulla foto */
.countdown--cta{align-items:center;text-align:center;flex:0 0 auto;
  background:rgba(16,22,18,.4);border:1px solid rgba(255,255,255,.14);border-radius:14px;
  padding:.7rem 1.1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.cta-photo__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
  margin-top:2rem;flex-wrap:wrap;}
@media(max-width:820px){
  /* home hero su mobile: countdown nascosto del tutto (la data apertura è già nella striscia sotto) */
  .countdown--hero{display:none;}
  .countdown--cta .countdown__units{gap:1rem;}
  .countdown--cta .countdown__unit b{font-size:1.6rem;}
}
@media(max-width:760px){
  .countdown--cta{align-items:center;text-align:center;}
}
@media(max-width:1023px){.listino__grid--4,.listino__grid--3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:430px){.listino__grid--4,.listino__grid--3,.listino__grid--2,.listino__grid--1{grid-template-columns:1fr;row-gap:1.25rem;}.plan__name{padding-right:3.5rem;}}
/* widget Come arrivare */
.dirtool{max-width:34rem;margin-inline:auto;}
.dirtool__row{display:flex;gap:.6rem;}
.dirtool__input{flex:1 1 auto;min-width:0;padding:.85rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-pill);
  background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;transition:border-color var(--dur-base);}
.dirtool__input::placeholder{color:var(--ink-muted);}
.dirtool__input:focus{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--accent);}
.dirtool__go{flex:0 0 auto;white-space:nowrap;}
.dirtool__geo{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin:.9rem auto 0;padding:.4rem .6rem;
  background:none;border:0;cursor:pointer;color:var(--accent-ink);font:inherit;font-size:.9rem;font-weight:600;}
.dirtool__geo svg{flex:none;}
.dirtool__geo.is-loading{opacity:.55;}
@media(max-width:520px){.dirtool__row{flex-direction:column;}.dirtool__go{width:100%;}}

/* CTA con foto di sfondo: modella a destra, testo a sinistra, gradiente laterale */
.cta-photo{position:relative;overflow:hidden;background-size:cover;background-position:right 28%;
  padding-block:clamp(3.5rem,8vw,6.5rem);}
.cta-photo__scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(18,24,20,.92) 0%,rgba(18,24,20,.78) 30%,rgba(18,24,20,.4) 56%,rgba(18,24,20,0) 80%),
  linear-gradient(180deg,rgba(18,24,20,.3) 0%,rgba(18,24,20,0) 38%,rgba(18,24,20,.3) 100%);}
.cta-photo .container{position:relative;z-index:1;}
.cta-photo__box{max-width:34rem;color:var(--on-dark);text-shadow:none;}
.cta-photo__box .h2{color:var(--on-dark);}
.cta-photo__box .lead{color:var(--on-dark-muted);}
@media(max-width:760px){
  /* mobile: la modella resta visibile in alto, testo in basso su gradiente inferiore */
  .cta-photo{min-height:66vh;display:flex;align-items:flex-end;background-position:62% 28%;padding-block:2rem;}
  .cta-photo__scrim{background:linear-gradient(180deg,rgba(18,24,20,.22) 0%,rgba(18,24,20,0) 36%,rgba(18,24,20,.5) 62%,rgba(18,24,20,.92) 100%);}
  .cta-photo__box{max-width:none;}
}

/* Fascia (band): callout con testo + bottone, es. il Metodo Megareformer */
.band{background:var(--tint-sand);border-block:1px solid var(--border);padding-block:clamp(1.9rem,4.5vw,3rem);}
.band__row{display:flex;gap:clamp(1.2rem,4vw,3rem);align-items:center;justify-content:space-between;flex-wrap:wrap;}
.band__text{max-width:60ch;}
.band__cta{flex:none;}
@media(max-width:640px){.band__cta{width:100%;}.band__cta .btn{width:100%;justify-content:center;}}
.section--dark{background:var(--carbon);color:var(--on-dark);}
.section--dark .lead,.section--dark .muted{color:var(--on-dark-muted);}
.section--green{background:var(--tint-green);}
.section--sand{background:var(--tint-sand);}
.stack>*+*{margin-top:var(--space-3);}
.grid{display:grid;gap:var(--space-4);}
.grid--1{grid-template-columns:minmax(0,400px);}
@media(min-width:720px){.grid--2{grid-template-columns:repeat(2,1fr);}.grid--3{grid-template-columns:repeat(3,1fr);}.grid--4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid--4{grid-template-columns:repeat(4,1fr);}}
/* mobile: le card servizi non impilate ma carosello orizzontale a 2 righe con peek della successiva */
@media(max-width:719px){
  .cards-scroll{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:80%;grid-template-rows:1fr 1fr;
    gap:var(--space-3);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;
    touch-action:pan-x pan-y;   /* orizzontale = carosello, verticale = scroll pagina (NON bloccare la pagina) */
    margin-inline:calc(-1*var(--gutter));padding:2px var(--gutter) 10px;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;}
  .cards-scroll::-webkit-scrollbar{display:none;}
  .cards-scroll>.card{scroll-snap-align:start;}
  /* eccezione: 3 card sulla stessa riga (es. Tre porte) — compatte, niente carosello */
  .cards--rowmobile{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;grid-template-rows:none;
    overflow:visible;margin-inline:0;padding:0;gap:.5rem;scroll-snap-type:none;touch-action:auto;overscroll-behavior:auto;}
  .cards--rowmobile .card__media{aspect-ratio:3/4;}
  .cards--rowmobile .card__body{padding:.65rem .5rem;}
  .cards--rowmobile .card__eyebrow{display:none;}
  .cards--rowmobile .card__title{font-size:.9rem;line-height:1.12;}
  .cards--rowmobile .card__body .muted{display:none;}
  .cards--rowmobile .card__arrow{font-size:.74rem;margin-top:.35rem;}
}

/* ---------- Header / Nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;
  transition:background var(--dur-base),box-shadow var(--dur-base),color var(--dur-base);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;
  max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.nav__logo{display:inline-flex;align-items:center;}
.nav__logo svg{height:34px;width:auto;display:block;}
.nav__logo--light{display:inline-flex;align-items:center;}
.nav__logo--dark{display:none;align-items:center;}
.nav--solid .nav__logo--light{display:none;}
.nav--solid .nav__logo--dark{display:inline-flex;}
.nav__links{display:none;align-items:center;gap:clamp(1rem,2.4vw,2rem);}
.nav__link{font-size:.95rem;font-weight:500;position:relative;padding-block:6px;color:inherit;}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out);}
.nav__link:focus-visible::after{transform:scaleX(1);}
@media(hover:hover) and (pointer:fine){.nav__link:hover::after{transform:scaleX(1);}}
.nav__actions{display:flex;align-items:center;gap:var(--space-2);}
/* stato: trasparente sopra hero scuro, poi solido chiaro */
.nav--top{background:transparent;color:var(--on-dark);}
.nav--solid{background:var(--porcelain);color:var(--ink);
  box-shadow:none;border-bottom:1px solid var(--divider);}
/* mega menù */
.nav__group{position:relative;}
.megamenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-l);
  box-shadow:none;padding:var(--space-3);width:max-content;max-width:min(94vw,760px);
  opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
.megamenu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.nav__group:focus-within .megamenu,.nav__group.is-open .megamenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
@media(hover:hover) and (pointer:fine){.nav__group:hover .megamenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}}
/* layout con pannello featured a destra (stile Brand Center) */
.megamenu--feat{width:min(94vw,720px);display:grid;grid-template-columns:1fr 208px;gap:var(--space-3);align-items:stretch;}
/* dropdown semplice: solo la lista delle sottovoci */
.megamenu--simple{width:max-content;min-width:250px;max-width:min(94vw,320px);}
.megamenu--simple .megamenu__grid{grid-template-columns:1fr;gap:2px;}
.megamenu__main{display:flex;flex-direction:column;min-width:0;}
.megamenu__grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:2px 10px;}
.megamenu__item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:var(--radius-m);transition:background var(--dur-fast);}
@media(hover:hover) and (pointer:fine){.megamenu__item:hover{background:var(--tint-sand);}}
.megamenu__t{font-weight:600;font-size:.98rem;color:var(--ink);}
.megamenu__s{font-size:.82rem;color:var(--ink-muted);line-height:1.3;}
.megamenu__all{display:block;margin-top:auto;padding-top:10px;border-top:1px solid var(--divider);
  font-size:.85rem;font-weight:600;color:var(--accent-ink);}
/* pannello featured con foto + CTA lista d'attesa */
.megamenu__feat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;
  border-radius:var(--radius-l);overflow:hidden;background:var(--tint-sand);}
.megamenu__feat-img{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform .5s var(--ease-out);}
.megamenu__feat::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,26,20,0) 38%,rgba(20,26,20,.32) 62%,rgba(16,22,16,.82) 100%);}
.megamenu__feat-body{position:relative;z-index:1;padding:16px;display:flex;flex-direction:column;gap:8px;}
.megamenu__feat-title{font-family:var(--font-display);font-size:1.18rem;line-height:1.15;color:var(--on-dark);}
.megamenu__feat-cta{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;color:var(--on-dark);}
.megamenu__feat-cta svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out);}
@media(hover:hover) and (pointer:fine){.megamenu__feat:hover .megamenu__feat-img{transform:scale(1.05);}.megamenu__feat:hover .megamenu__feat-cta svg{transform:translateX(4px);}}
.nav__burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border-radius:var(--radius-pill);}
.nav__burger svg{display:block;}
.nav--top .nav__burger{background:rgba(249,249,241,.18);}
/* ---- Selettore lingue (dropdown esterno: bandiera + sigla) ---- */
.langsw{position:relative;}
.langsw__btn{display:inline-flex;align-items:center;gap:.35rem;padding:7px 10px;border-radius:var(--radius-pill);
  font-size:.86rem;font-weight:600;color:inherit;line-height:1;-webkit-tap-highlight-color:transparent;}
.nav--top .langsw__btn{background:rgba(249,249,241,.16);}
.nav--solid .langsw__btn{background:rgba(25,33,30,.05);}
.langsw__flag{font-size:1.05rem;line-height:1;}
.langsw__chev{transition:transform var(--dur-base);opacity:.65;}
.langsw.is-open .langsw__chev{transform:rotate(180deg);}
.langsw__menu{position:absolute;top:calc(100% + 8px);left:50%;min-width:96px;background:var(--surface);color:var(--ink);
  border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:none;padding:5px;
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px);transition:opacity var(--dur-base),transform var(--dur-base);z-index:120;}
.langsw.is-open .langsw__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.langsw__opt{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:11px 12px;border-radius:var(--radius-s);
  text-align:center;font-size:.9rem;font-weight:600;color:var(--ink);}
.langsw__opt .langsw__flag{font-size:1.1rem;}
@media(hover:hover) and (pointer:fine){.langsw__opt:hover{background:var(--tint-sand);}}
/* mobile: selettore lingua come il bottone menu — stessa dimensione, trasparente, solo bandiera + freccetta */
@media(max-width:1023px){
  .langsw__abbr,.langsw__chev{display:none;}
  .langsw__btn{width:44px;height:44px;padding:8px;gap:0;justify-content:center;}
  .nav--top .langsw__btn{background:rgba(249,249,241,.18);}
  .nav--solid .langsw__btn{background:transparent;}
}

/* ---- Menu mobile: drawer a 3/4 da destra, si vede la pagina sotto ---- */
.mnav{position:fixed;inset:0;z-index:110;visibility:hidden;}
.mnav.is-open{visibility:visible;}
.mnav__backdrop{position:absolute;inset:0;background:rgba(18,24,20,.42);opacity:0;transition:opacity var(--dur-base);}
.mnav.is-open .mnav__backdrop{opacity:1;}
.mnav__panel{position:absolute;top:0;right:0;bottom:0;width:min(80vw,360px);background:var(--porcelain);color:var(--ink);
  transform:translateX(100%);transition:transform var(--dur-slow) var(--ease-out);
  display:flex;flex-direction:column;padding:calc(var(--nav-h) + 6px) 22px calc(22px + env(safe-area-inset-bottom));
  overflow-y:auto;overscroll-behavior:contain;box-shadow:none;}
.mnav.is-open .mnav__panel{transform:translateX(0);}
.mnav__close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--radius-pill);background:rgba(25,33,30,.06);color:var(--ink);}
.mnav__nav{display:flex;flex-direction:column;}
.mnav__link,.mnav__acc-h{display:flex;align-items:center;justify-content:space-between;width:100%;
  font-family:var(--font-title);font-size:1.24rem;font-weight:600;padding:15px 0;border-bottom:1px solid var(--divider);
  color:var(--ink);text-align:left;-webkit-tap-highlight-color:transparent;}
.mnav__caret{width:9px;height:9px;border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);
  transform:rotate(45deg);transition:transform var(--dur-base);flex:none;margin-right:4px;}
.mnav__acc-h[aria-expanded="true"] .mnav__caret{transform:rotate(-135deg);}
.mnav__acc-body{padding:4px 0 12px;}
.mnav__acc-body a{display:block;font-size:1.02rem;color:var(--ink-muted);padding:9px 0;}
.mnav__acc-body .mnav__all{color:var(--accent-ink);font-weight:600;font-size:.92rem;padding-top:11px;white-space:nowrap;}
.mnav__acc-body .mnav__all svg{display:inline-block;vertical-align:middle;margin-left:.2rem;}
.mnav__login{display:block;text-align:center;margin-top:1rem;padding:12px 0;color:var(--ink-muted);font-size:1rem;}
.mnav__cta{margin-top:.8rem;}
.mnav__info{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--divider);display:flex;flex-direction:column;gap:.7rem;}
.mnav__info-i{display:flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--ink-muted);text-align:left;}
.mnav__info-ico{flex:0 0 auto;color:var(--accent-ink);opacity:.9;}

/* ---- Responsive nav: burger nelle azioni, lingua sempre visibile ---- */
.nav__burger{display:inline-flex;}
@media(min-width:1024px){.nav__links{display:flex;}.nav__burger,.mnav{display:none;}}
@media(max-width:1023px){.nav__actions .nav__login,.nav__actions .nav__cta{display:none;}}
.nav--top .nav__burger span{box-shadow:none;}

/* ---------- Bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;
  font-size:.98rem;line-height:1;padding:15px 26px;border-radius:var(--radius-pill);
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base),background var(--dur-base);
  will-change:transform;}
.btn:active{transform:translateY(1px) scale(.99);}
.btn--primary{background:var(--peach);color:var(--carbon);box-shadow:none;}
.btn--ghost{border:1.5px solid currentColor;}
.nav--top .btn--ghost{border-color:rgba(249,249,241,.6);}
.btn--light{background:var(--porcelain);color:var(--carbon);}
.btn--block{width:100%;}
/* hover animati SOLO su dispositivi con hover reale (desktop). Su mobile: tap singolo, nessuno stato appiccicoso */
@media(hover:hover) and (pointer:fine){
  .btn--primary:hover{box-shadow:none;transform:translateY(-2px);filter:brightness(1.03);}
  .btn--ghost:hover{background:rgba(25,33,30,.06);transform:translateY(-2px);}
  .nav--top .btn--ghost:hover{background:rgba(249,249,241,.12);}
  .btn--light:hover{box-shadow:none;transform:translateY(-2px);filter:brightness(.97);}
  .footer .btn--light:hover{filter:brightness(.9);}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:90svh;display:flex;align-items:flex-end;color:var(--on-dark);
  padding-block:clamp(4rem,12vh,8rem) clamp(3rem,8vh,5rem);overflow:hidden;}
.hero__media{position:absolute;inset:0;z-index:-1;}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(25,33,30,.50) 0%,rgba(25,33,30,.22) 34%,rgba(25,33,30,.72) 100%);}
/* placeholder hero scuro: bianco leggibile e resa "cinematografica" in attesa della foto */
.hero .ph{background:repeating-linear-gradient(45deg,#39413c 0 14px,#333b36 14px 28px);color:rgba(249,249,241,.55);}
.hero .ph::after{background:rgba(25,33,30,.5);color:rgba(249,249,241,.8);}
.hero__title{font-family:var(--font-title);font-weight:600;font-size:var(--text-hero);line-height:var(--lh-tight);
  letter-spacing:-.01em;max-width:16ch;overflow-wrap:break-word;}
.hero__sub{font-size:var(--text-lead);max-width:44ch;margin-top:var(--space-3);color:var(--on-dark-muted);}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);}
@media(max-width:540px){.hero__cta{flex-direction:column;align-items:stretch;}.hero__cta .btn{width:100%;}}

/* ---------- Placeholder immagini (grigio etichettato) ---------- */
.ph{position:relative;background:
  repeating-linear-gradient(45deg,#e9e8e2 0 12px,#e4e3dc 12px 24px);
  border-radius:var(--radius-l);overflow:hidden;color:rgba(25,33,30,.5);
  display:flex;align-items:center;justify-content:center;text-align:center;font-size:.8rem;letter-spacing:.03em;}
.ph[data-ratio="16/9"]{aspect-ratio:16/9;} .ph[data-ratio="4/5"]{aspect-ratio:4/5;}
.ph[data-ratio="1/1"]{aspect-ratio:1/1;} .ph[data-ratio="3/2"]{aspect-ratio:3/2;} .ph[data-ratio="21/9"]{aspect-ratio:21/9;}
.ph::after{content:"foto: " attr(data-label);position:absolute;padding:6px 12px;background:rgba(255,255,255,.7);
  border-radius:var(--radius-pill);font-weight:600;max-width:calc(100% - 24px);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero .ph{border-radius:0;height:100%;}
.hero .ph::after{top:calc(var(--nav-h) + 18px);left:50%;transform:translateX(-50%);}
/* ---- Hero con due foto reali: dissolvenza giorno <-> notte (dolce, ~10s) ---- */
.hero__media--photo{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.hero__photo{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero__photo--day{z-index:0;}
.hero__photo--night{z-index:1;opacity:0;}
/* crossfade solo quando esistono entrambe le foto */
.is-daynight .hero__photo--night{animation:lcw-daynight 8s ease-in-out forwards;}
.hero--photo .hero__scrim{background:
  linear-gradient(180deg,rgba(18,25,21,.46) 0%,rgba(18,25,21,.14) 30%,rgba(16,22,18,.52) 60%,rgba(12,18,14,.84) 100%),
  linear-gradient(90deg,rgba(14,20,16,.58) 0%,rgba(14,20,16,.16) 46%,rgba(14,20,16,0) 74%);}
.hero--photo .hero__title{text-shadow:none;}
.hero--photo .hero__sub,.hero--photo .eyebrow{text-shadow:none;}
.nav--top{text-shadow:none;} .nav--solid{text-shadow:none;}
/* i menu a tendina hanno fondo solido: niente ombra testo ereditata dalla nav (evita l'effetto sfocato) */
.megamenu,.megamenu *,.mnav,.mnav *{text-shadow:none;}
@keyframes lcw-daynight{
  0%,75% {opacity:0;}   /* giorno tenuto ~6s (75% di 8s) */
  100%   {opacity:1;}   /* dissolvenza in notturna, poi resta notte */
}
@media(prefers-reduced-motion:reduce){
  .is-daynight .hero__photo--night{animation:none;opacity:0;}
}

/* ---------- Card ---------- */
.card__media{position:relative;aspect-ratio:3/2;background-size:cover;background-position:center;}
.card__badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--peach);color:var(--carbon);
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;
  border-radius:var(--radius-pill);box-shadow:none;}
.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);
  box-shadow:none;overflow:hidden;display:flex;flex-direction:column;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);}
@media(hover:hover) and (pointer:fine){a.card:hover,.card--interactive:hover{transform:translateY(-4px);box-shadow:none;}}
.card__body{padding:var(--space-3);display:flex;flex-direction:column;gap:.5rem;flex:1;}
.card__eyebrow{font-size:var(--text-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;}
.card__title{font-size:var(--text-h3);font-weight:600;}
.card__arrow{margin-top:auto;font-weight:600;color:var(--accent-ink);display:inline-flex;align-items:center;gap:.4rem;}
.card__arrow svg{transition:transform var(--dur-base) var(--ease-out);}
@media(hover:hover) and (pointer:fine){a.card:hover .card__arrow svg{transform:translateX(4px);}}
/* icona leggera di sfondo (percorsi) */
.card--icon .card__body{position:relative;z-index:1;}
.card__bgicon{position:absolute;right:-14px;bottom:-18px;z-index:0;color:var(--accent-ink);opacity:.07;
  pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);}
@media(hover:hover) and (pointer:fine){a.card--icon:hover .card__bgicon{opacity:.12;transform:translate(-4px,-4px) rotate(-3deg);}}
.card__badge--inline{position:static;align-self:flex-start;margin-bottom:.2rem;box-shadow:none;}

/* ---------- Carosello foto (Lo spazio) ---------- */
/* swipe orizzontale via JS; verticale = scroll pagina (robusto iOS+Android) */
.carousel{position:relative;aspect-ratio:4/3;border-radius:var(--radius-l);overflow:hidden;box-shadow:none;
  touch-action:pan-y;}
.carousel__track{display:flex;height:100%;transition:transform .8s cubic-bezier(.65,0,.35,1);will-change:transform;
  user-select:none;-webkit-user-select:none;}
.carousel__slide{flex:0 0 100%;height:100%;background-size:cover;background-position:center;-webkit-user-drag:none;}
@media(prefers-reduced-motion:reduce){.carousel__track{transition:none;}}
.carousel__dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:16px;z-index:2;}
.carousel__dot{position:relative;width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  background:rgba(255,255,255,.55);box-shadow:none;transition:background var(--dur-base),transform var(--dur-base);}
.carousel__dot::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;}
.carousel__dot.is-active{background:#fff;transform:scale(1.25);}
/* frecce di scorrimento: morbide e poco invasive */
.carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;color:#fff;
  background:rgba(20,24,22,.26);opacity:.55;
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  -webkit-tap-highlight-color:transparent;
  transition:opacity var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out);}
@media(hover:hover) and (pointer:fine){.carousel:hover .carousel__arrow{opacity:.85;}.carousel__arrow:hover{opacity:1;background:rgba(20,24,22,.42);}}
.carousel__arrow--prev{left:.7rem;}
.carousel__arrow--next{right:.7rem;}
.carousel__arrow svg{width:20px;height:20px;display:block;}
@media(max-width:560px){.carousel__arrow{width:44px;height:44px;opacity:.7;}.carousel__arrow svg{width:16px;height:16px;}}
@media(max-width:760px){.carousel{aspect-ratio:3/2;}}

/* ---------- Foto singola in split ---------- */
.split__photo{aspect-ratio:4/3;border-radius:var(--radius-l);overflow:hidden;background-size:cover;
  background-position:center;box-shadow:none;}
.split__photo--tall{aspect-ratio:4/5;}
@media(max-width:760px){.split__photo{aspect-ratio:3/2;}.split__photo--tall{aspect-ratio:4/5;}}

/* ---------- Fascia filosofia con foto di sfondo ---------- */
.quote-band{position:relative;padding-block:clamp(4.5rem,11vw,8rem);background-size:cover;background-position:center;
  background-attachment:fixed;overflow:hidden;}
/* touch/mobile: niente parallax fixed (ripaint a ogni frame -> scroll a scatti e barra del browser che "balla") */
@media (hover:none),(pointer:coarse),(max-width:900px){.quote-band{background-attachment:scroll;}}
.quote-band__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,18,12,.48) 0%,rgba(12,18,12,.36) 50%,rgba(12,18,12,.52) 100%);}
.quote-band .container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.quote-band .pquote{max-width:26ch;margin-inline:auto;}
.quote-band .pquote,.pquote--light{color:var(--on-dark);text-shadow:none;}
.quote-band .pquote__who,.pquote__who{color:var(--on-dark-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600;}
@media(max-width:760px){.quote-band{background-attachment:scroll;}}

/* ---------- Metodo / step ---------- */
.step{display:flex;gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--divider);}
.step__n{font-family:var(--font-title);font-size:2.2rem;line-height:1;color:var(--accent-ink);min-width:2.4ch;}

/* ---------- Prezzi ---------- */
.price{border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--space-3);background:var(--surface);}
.price__amount{font-family:var(--font-title);font-size:2rem;}
.price__note{color:var(--ink-muted);font-size:var(--text-small);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--divider);}
.faq__item{border-bottom:1px solid var(--divider);}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:var(--space-3) 0;font-weight:600;font-size:1.05rem;text-align:left;}
.faq__q .ico{transition:transform var(--dur-base) var(--ease-out);flex:none;}
.faq__item.is-open .ico{transform:rotate(45deg);}
.faq__a{max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-out);}
.faq__a-in{padding-bottom:var(--space-3);color:var(--ink-muted);max-width:var(--measure);}

/* ---------- Pull quote ---------- */
.pquote{font-family:var(--font-display);font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.3;
  color:var(--accent-ink);max-width:24ch;}

/* ---------- CTA sticky mobile ---------- */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
  background:rgba(249,249,241,.92);backdrop-filter:blur(8px);border-top:1px solid var(--divider);
  transform:translateY(120%);transition:transform var(--dur-base) var(--ease-out);}
.cta-bar.is-visible{transform:translateY(0);}
@media(min-width:1024px){.cta-bar{display:none;}}

/* ---------- Footer ---------- */
.footer{background:var(--carbon);color:var(--on-dark);padding-block:var(--space-8) var(--space-4);}
.footer a{color:var(--on-dark-muted);transition:color var(--dur-fast);}
@media(hover:hover) and (pointer:fine){.footer a:hover{color:var(--on-dark);}}
.footer .btn,.footer .btn:hover{color:var(--carbon);}
.footer__top{display:grid;gap:var(--space-6);grid-template-columns:1fr;}
@media(min-width:860px){.footer__top{grid-template-columns:1.25fr 2fr;align-items:start;}}
.footer__logo svg{width:190px;height:auto;}
.footer__logo{margin-bottom:.2rem;}
.footer__tag{margin-top:1rem;font-family:var(--font-display);color:var(--peach);font-size:1.15rem;}
.footer__addr{margin-top:1rem;color:var(--on-dark-muted);font-size:.9rem;line-height:1.75;}
.footer__brand .btn{margin-top:1.4rem;}
.footer__cols{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);}
@media(min-width:600px){.footer__cols{grid-template-columns:repeat(3,1fr);}}
/* mobile: Esperienze a sinistra (2 righe), Percorsi e La Corte impilati a destra -> footer piu' corto */
@media(max-width:599px){.footer__cols>.footer__col:first-child{grid-row:1 / span 2;}}
/* mobile: spazio in fondo cosi' la CTA sticky non taglia il footer */
@media(max-width:1023px){.footer{padding-bottom:calc(var(--space-4) + 80px + env(safe-area-inset-bottom));}}
.footer__ct{font-size:var(--text-eyebrow);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);margin-bottom:.9rem;}
.footer__col ul{display:flex;flex-direction:column;gap:.55rem;}
.footer__col a{font-size:.92rem;}
.footer__legal{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);
  font-size:var(--text-small);color:var(--on-dark-muted);}
.footer__quick{display:flex;flex-wrap:wrap;gap:.4rem var(--space-3);}
@media(max-width:1023px){.footer__col a{display:inline-block;padding-block:10px;}.footer__quick a{display:inline-flex;align-items:center;min-height:44px;padding-block:6px;}}
.footer__biz{margin-top:var(--space-2);font-size:var(--text-small);color:var(--on-dark-muted);opacity:.75;}

/* ---------- Motion (reveal) ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-breath) var(--ease-out),transform var(--dur-breath) var(--ease-out);}
.reveal.is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- Utility ---------- */
.center{text-align:center;} .mx-auto{margin-inline:auto;}
.center p{margin-inline:auto;} /* i box dei paragrafi (max-width measure) si centrano davvero */
.pill{display:inline-block;padding:5px 14px;border-radius:var(--radius-pill);background:var(--tint-sand);
  color:var(--accent-ink);font-size:var(--text-small);font-weight:600;}
.divider{height:1px;background:var(--divider);border:0;margin-block:var(--space-4);}
.skip{position:absolute;left:-9999px;}.skip:focus{left:12px;top:12px;z-index:200;background:var(--surface);padding:10px 16px;border-radius:8px;}

/* Modale prenotazione (embed Olin) */
.bookm{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;}
.bookm[hidden]{display:none;}
.bookm__backdrop{position:absolute;inset:0;background:rgba(16,22,18,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:bookm-fade .25s ease-out;}
.bookm__dialog{position:relative;z-index:1;width:100%;max-width:480px;max-height:calc(100dvh - 32px);overflow:auto;
  border-radius:16px;box-shadow:none;background:#fff;animation:bookm-pop .3s cubic-bezier(.2,.8,.2,1);}
.bookm__iframe{display:block;width:100%;max-width:480px;height:760px;max-height:calc(100dvh - 32px);border:0;border-radius:16px;background:#fff;}
/* popup promo di apertura */
.promo{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem;
  opacity:0;visibility:hidden;transition:opacity var(--dur-base),visibility var(--dur-base);}
.promo[hidden]{display:none;}
.promo.is-open{opacity:1;visibility:visible;}
.promo__backdrop{position:absolute;inset:0;background:rgba(16,22,18,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.promo__card{position:relative;z-index:1;border-radius:var(--radius-l);overflow:hidden;max-width:27rem;width:100%;
  min-height:min(70svh,500px);max-height:calc(100svh - 2rem);overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;color:var(--on-dark);
  background-size:cover;background-position:center;
  transform:translateY(14px) scale(.98);transition:transform var(--dur-base) var(--ease-out);}
.promo.is-open .promo__card{transform:none;}
.promo__scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(16,22,18,.22) 0%,rgba(16,22,18,.5) 42%,rgba(12,18,14,.92) 100%);}
.promo__body{position:relative;z-index:1;padding:1.9rem 1.7rem 1.7rem;text-align:left;}
.promo__close{position:absolute;top:.6rem;right:.9rem;z-index:2;background:rgba(0,0,0,.28);border:0;font-size:1.5rem;line-height:1;
  color:#fff;cursor:pointer;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.42);-webkit-tap-highlight-color:transparent;}
.promo__eyebrow{font-size:var(--text-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--peach);font-weight:600;}
.promo__heading{font-family:var(--font-title);font-size:clamp(2rem,8vw,2.6rem);font-weight:600;line-height:1.02;margin:.5rem 0 0;color:var(--on-dark);}
.promo__text{color:rgba(249,249,241,.92);margin:.85rem 0 1.4rem;font-size:1rem;line-height:1.5;}
.listino__trial{white-space:nowrap;}
/* tabella prezzi (pagina listino) */
.ptbl__group{margin-top:2.6rem;}
.ptbl__group:first-child{margin-top:0;}
.ptbl__label{font-size:var(--text-h3);font-weight:600;padding-bottom:.55rem;border-bottom:2px solid var(--ink);}
.ptbl__rows{display:flex;flex-direction:column;}
.ptbl__sub{margin-top:1rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}
.ptbl__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid var(--divider);}
.ptbl__name{color:var(--ink);font-weight:500;}
.ptbl__note{display:block;font-size:.82rem;color:var(--ink-muted);font-weight:400;margin-top:.12rem;}
.ptbl__price{flex:none;font-weight:700;color:var(--ink);white-space:nowrap;text-align:right;}
.ptbl__save{display:block;margin-top:.18rem;font-size:.8rem;font-weight:600;color:var(--accent-ink);}
.ptbl__per{display:block;margin-top:.1rem;font-size:.78rem;font-weight:400;color:var(--ink-muted);}
.ptbl__gift{display:inline-block;margin-top:.3rem;font-size:.76rem;font-weight:600;color:var(--accent-ink);background:var(--sand);padding:.16rem .55rem;border-radius:999px;line-height:1.3;}
.ptbl__snote{margin-top:.75rem;font-size:.85rem;color:var(--accent-ink);font-weight:600;}
/* Orari lezioni per servizio */
.orari{max-width:52rem;margin-inline:auto;display:flex;flex-direction:column;gap:.55rem;}
.orari__day{display:grid;grid-template-columns:7rem 1fr;gap:1rem;align-items:start;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:.85rem 1.15rem;}
.orari__dname{font-weight:700;color:var(--ink);padding-top:.35rem;}
.orari__slots{display:flex;flex-wrap:wrap;gap:.4rem;}
.orari__slot{display:inline-flex;align-items:center;justify-content:center;min-width:3.5rem;padding:.35rem .55rem;
  background:var(--tint-sand);border-radius:var(--radius-pill);font-size:.92rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
@media(max-width:560px){.orari__day{grid-template-columns:1fr;gap:.45rem;padding:.8rem 1rem;}.orari__dname{padding-top:0;}}
.ptbl__promo{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:var(--tint-sand);border:1px solid var(--accent);border-radius:var(--radius-l);padding:1.1rem 1.4rem;margin-top:1.4rem;}
.ptbl__promo-k{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}
.ptbl__promo-t{margin-top:.2rem;font-weight:600;}
.ptbl__promo-p{flex:none;font-family:var(--font-title);font-size:1.7rem;font-weight:600;color:var(--accent-ink);}
.ptbl__promo + .ptbl__promo{margin-top:1rem;}
.bookm__close{position:absolute;top:8px;right:8px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--carbon);font-size:24px;line-height:1;box-shadow:none;
  transition:transform var(--dur-base) var(--ease-out),background var(--dur-base);}
@media(hover:hover) and (pointer:fine){.bookm__close:hover{transform:scale(1.08);background:#fff;}}
@keyframes bookm-fade{from{opacity:0}to{opacity:1}}
@keyframes bookm-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bookm__backdrop,.bookm__dialog{animation:none;}}

/* ============ Product showcase con pin interattivi (awwwards) ============ */
.product{position:relative;background:radial-gradient(130% 100% at 50% 12%,#2b342f 0%,#1c231f 55%,#141a17 100%);
  color:var(--on-dark);overflow:hidden;}
.product .eyebrow{color:var(--peach);}
.product .lead{color:var(--on-dark-muted);margin-inline:auto;}
.prod__stage{position:relative;margin:clamp(2rem,5vw,3.5rem) auto 0;max-width:min(100%,940px);}
.prod__img{width:100%;height:auto;filter:none;}
/* pin */
.pin{position:absolute;transform:translate(-50%,-50%);z-index:2;line-height:0;}
.pin__dot{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--peach);color:var(--carbon);box-shadow:none;
  transition:transform var(--dur-base) var(--ease-out);}
.pin__dot::before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--peach);
  animation:pin-pulse 2.6s cubic-bezier(.22,1,.36,1) infinite;}
.pin__n{font-family:var(--font-title);font-size:.86rem;font-weight:600;line-height:1;}
@keyframes pin-pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(2.4);opacity:0}100%{opacity:0}}
.pin__card{position:absolute;top:50%;width:250px;text-align:left;background:var(--surface);color:var(--ink);
  border-radius:var(--radius-m);padding:16px 18px;box-shadow:none;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%) scale(.96);
  transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);z-index:3;}
.pin__k{display:block;font-family:var(--font-title);font-size:.72rem;font-weight:600;letter-spacing:.16em;
  color:var(--peach);margin-bottom:7px;}
.pin--right .pin__card{left:calc(100% + 18px);transform-origin:left center;}
.pin--left .pin__card{right:calc(100% + 18px);transform-origin:right center;}
.pin__card::before{content:"";position:absolute;top:50%;width:18px;height:1px;background:var(--peach);}
.pin--right .pin__card::before{right:100%;} .pin--left .pin__card::before{left:100%;}
.pin__title{display:block;font-weight:600;font-size:1rem;line-height:1.25;letter-spacing:-.01em;color:var(--ink);max-width:none;}
.pin__text{display:block;margin-top:7px;font-size:.875rem;line-height:1.5;color:var(--ink-muted);max-width:none;}
.pin.is-open{z-index:5;}
.pin.is-open .pin__dot,.pin__dot:focus-visible{transform:scale(1.15);}
.pin.is-open .pin__dot::before{animation:none;opacity:0;}
.pin.is-open .pin__card{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);}
@media(hover:hover) and (pointer:fine){
  .pin:hover{z-index:5;}
  .pin:hover .pin__dot{transform:scale(1.15);}
  .pin:hover .pin__dot::before{animation:none;opacity:0;}
  .pin:hover .pin__card{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);}
}
.prod__hint{text-align:center;margin-top:1.3rem;font-size:.8rem;letter-spacing:.02em;color:var(--on-dark-muted);}
/* lista features (riferimento + mobile) */
.prod__list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 3rem;margin-top:clamp(2.2rem,5vw,3.5rem);
  text-align:left;max-width:900px;margin-inline:auto;}
.prod__li{display:flex;gap:1rem;align-items:baseline;}
.prod__li-n{font-family:var(--font-title);color:var(--peach);font-size:1.05rem;font-weight:600;flex:none;min-width:1.6em;}
.prod__li-b{display:block;}
.prod__li-t{display:block;font-weight:600;color:var(--on-dark);}
.prod__li-x{display:block;margin-top:2px;font-size:.9rem;line-height:1.5;color:var(--on-dark-muted);}
@media(max-width:760px){
  .prod__list{grid-template-columns:1fr;gap:1.1rem;}
  /* la card inline NON si apre su mobile: position:fixed e' instabile perche' un antenato
     (.reveal/[data-parallax]) ha un transform e crea containing-block -> tooltip "sformato".
     Il tap sul pin porta invece alla voce corrispondente della lista, gia' completa e leggibile. */
  .pin__card,.pin--left .pin__card,.pin--right .pin__card{display:none!important;}
  .pin__dot{width:30px;height:30px;} .pin__n{font-size:.8rem;}
  .pin{padding:9px;touch-action:manipulation;}   /* area tappabile ~48px, dot centrato invariato */
  .pin.is-active .pin__dot{transform:scale(1.18);}
  .pin.is-active .pin__dot::before{animation:none;opacity:0;}
  /* evidenziazione temporanea della voce raggiunta dal pin */
  .prod__li{border-radius:var(--radius-m);padding:8px;margin-inline:-8px;transition:background var(--dur-base);scroll-margin-top:90px;}
  .prod__li.is-flash{background:rgba(230,139,108,.18);}
  .product--light .prod__li.is-flash{background:rgba(180,83,47,.10);}
}

/* ============ Catalogo massaggi: tab + card + dettaglio ============ */
.catalog{background:var(--porcelain);}
.cat-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,3vw,2.4rem);
  margin:clamp(2rem,5vw,3rem) auto 0;border-bottom:1px solid var(--border);max-width:900px;}
.cat-tab{position:relative;padding:0 0 14px;font-family:var(--font-title);font-size:clamp(.95rem,1.6vw,1.15rem);
  letter-spacing:.02em;color:var(--ink-muted);background:none;transition:color var(--dur-base);}
.cat-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent-ink);
  transform:scaleX(0);transition:transform var(--dur-base) var(--ease-out);}
.cat-tab.is-active{color:var(--ink);}
.cat-tab.is-active::after{transform:scaleX(1);}
@media(hover:hover) and (pointer:fine){.cat-tab:hover{color:var(--ink);}}
.cat-panel[hidden]{display:none;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:clamp(2rem,5vw,3rem);text-align:left;}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr;}}
.cat-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-l);padding:22px 22px 20px;box-shadow:none;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);}
@media(hover:hover) and (pointer:fine){.cat-card:hover{transform:translateY(-4px);box-shadow:none;}}
.cat-card__name{font-family:var(--font-title);font-size:1.28rem;font-weight:600;line-height:1.2;color:var(--ink);min-height:2.4em;}
.cat-card__meta{display:flex;align-items:center;gap:.5rem;margin-top:14px;padding-top:14px;border-top:1px solid var(--divider);
  font-size:.92rem;color:var(--ink-muted);}
.cat-card__meta .ico-clock{color:var(--accent-ink);flex:none;}
.cat-card__price{margin-left:auto;font-weight:600;color:var(--ink);}
.cat-card__cta{display:flex;align-items:center;gap:.7rem;margin-top:18px;}

.cat-card__more{min-height:44px;padding-block:6px;font-weight:600;font-size:.9rem;color:var(--accent-ink);display:inline-flex;align-items:center;gap:.35rem;background:none;}
.cat-card__more svg{width:15px;height:15px;transition:transform var(--dur-base) var(--ease-out);}
@media(hover:hover) and (pointer:fine){.cat-card__more:hover svg{transform:translateX(3px);}}
.cat-card__cta .btn{margin-left:auto;}
.btn--sm{padding:.5rem 1.1rem;font-size:.9rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
/* modale dettaglio massaggio */
.detailm{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;}
.detailm[hidden]{display:none;}
.detailm__backdrop{position:absolute;inset:0;background:rgba(16,22,18,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:bookm-fade .25s ease-out;}
.detailm__dialog{position:relative;z-index:1;width:100%;max-width:560px;max-height:calc(100dvh - 32px);overflow:auto;
  background:var(--surface);border-radius:var(--radius-l);box-shadow:none;
  padding:clamp(24px,4vw,40px);animation:bookm-pop .3s cubic-bezier(.2,.8,.2,1);text-align:left;}
.detailm__close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:var(--tint-sand);
  color:var(--carbon);font-size:24px;line-height:1;box-shadow:none;transition:transform var(--dur-base);}
@media(hover:hover) and (pointer:fine){.detailm__close:hover{transform:scale(1.08);}}
.cat-detail__name{font-family:var(--font-title);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;margin-top:.3rem;color:var(--ink);}
.cat-detail__tag{font-family:var(--font-display);font-size:1.1rem;color:var(--accent-ink);margin-top:.6rem;line-height:1.35;}
.cat-detail__body{margin-top:1.2rem;color:var(--ink-muted);font-size:var(--text-body);}
.cat-detail__body p+p{margin-top:.8rem;}
.cat-detail__k{margin-top:1.6rem;font-family:var(--font-title);font-size:1.05rem;font-weight:600;color:var(--ink);}
.cat-detail__list{margin-top:.8rem;display:grid;gap:.9rem;}
.cat-detail__lt{display:block;font-weight:600;color:var(--ink);}
.cat-detail__lx{display:block;margin-top:2px;font-size:.92rem;color:var(--ink-muted);line-height:1.5;}
.cat-detail__why{margin-top:.7rem;color:var(--ink-muted);}
.cat-detail__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;justify-content:space-between;
  margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--border);}
.cat-detail__meta{display:flex;gap:1.8rem;}
.cat-detail__meta span{display:flex;flex-direction:column;font-weight:600;color:var(--ink);}
.cat-detail__meta b{font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:2px;}

/* Product showcase tema chiaro (estetica): fondo rosa tenue, testo scuro */
.product--light{background:radial-gradient(130% 100% at 50% 8%,rgba(245,210,188,.22) 0%,rgba(245,210,188,.10) 46%,var(--porcelain) 100%);color:var(--ink);}
.product--light .eyebrow{color:var(--accent-ink);}
.product--light .lead{color:var(--ink-muted);}
.product--light .prod__img{filter:none;}
.product--light .prod__hint{color:var(--ink-muted);}
.product--light .prod__li-t{color:var(--ink);}
.product--light .prod__li-x{color:var(--ink-muted);}

/* Product showcase verticale (macchinari alti, es. HAURA) */
.prod__stage--narrow{max-width:min(100%,820px);}
.prod__stage--narrow .prod__img{max-height:78vh;width:auto;margin-inline:auto;}

/* Badge "Novità a Brescia" nella hero */
.hero__badge{display:inline-block;background:var(--peach);color:var(--carbon);font-size:.72rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius-pill);
  box-shadow:none;margin-bottom:1rem;}

/* Breadcrumb SEO */
.crumbs{background:var(--porcelain);border-bottom:1px solid var(--divider);font-size:.82rem;}
.crumbs .container{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-block:5px;color:var(--ink-muted);}
.crumbs a{color:var(--ink-muted);transition:color var(--dur-fast);display:inline-block;padding-block:9px;}
@media(hover:hover) and (pointer:fine){.crumbs a:hover{color:var(--accent-ink);}}
.crumbs__sep{color:var(--border-strong);}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600;}

/* Header pagine di dettaglio (terzo livello) senza hero immagine */
main.no-hero{padding-top:var(--nav-h);}
.dhead{background:var(--porcelain);padding-block:clamp(2.4rem,5vw,4.5rem);}
/* Prezzi: meno vuoto tra il bottone dell'hero e il box promo */
.pricetable-sec{padding-top:clamp(.8rem,2vw,1.4rem);}
.dhead:has(+ .pricetable-sec){padding-bottom:clamp(1.2rem,3vw,2.2rem);}
.dhead__title{font-family:var(--font-title);font-weight:600;font-size:var(--text-hero);line-height:var(--lh-tight);
  letter-spacing:-.01em;margin-top:.4rem;color:var(--ink);}
.dhead__tag{font-family:var(--font-display);font-size:var(--text-lead);color:var(--accent-ink);
  margin-top:1rem;max-width:44ch;margin-inline:auto;line-height:1.35;}
.dhead__cta{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:1.8rem;}
@media(max-width:540px){.dhead__cta{flex-direction:column;align-items:stretch;}.dhead__cta .btn{width:100%;justify-content:center;}}

/* Figure: diagramma/illustrazione a piena larghezza, incorniciato su card bianca */
.figure{margin:0;}
.figure__img{display:block;width:100%;height:auto;background:#fff;border-radius:var(--radius-l);
  padding:clamp(.9rem,3vw,2rem);box-shadow:none;border:1px solid var(--border);}
.figure__cap{margin:1.1rem auto 0;text-align:center;color:var(--ink-muted);
  font-size:var(--text-small);max-width:62ch;line-height:1.55;}

/* Icona leggera per le box dei benefici (features) */
.feat__ico{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  border-radius:var(--radius-m);background:var(--tint-green);color:var(--accent-ink);margin-bottom:1rem;}

/* Carosello tecnologie (testo + foto per slide) */
.carousel--tech{position:relative;aspect-ratio:auto;border-radius:0;box-shadow:none;overflow:visible;}
.techcar__vp{position:relative;overflow:hidden;border-radius:var(--radius-l);box-shadow:none;border:1px solid var(--border);touch-action:pan-y;}
.carousel--tech .carousel__track{height:auto;align-items:stretch;transition:transform .5s cubic-bezier(.4,0,.2,1);}
/* Nav galleria SOTTO la card (frecce ai lati dei puntini): non copre mai il testo */
.carousel--tech .carousel__nav{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:1.2rem;}
.carousel--tech .carousel__nav .carousel__dots{position:static;bottom:auto;margin:0;}
.carousel--tech .carousel__arrow{position:static;top:auto;left:auto;right:auto;transform:none;
  width:42px;height:42px;flex:none;opacity:1;color:var(--carbon);background:var(--porcelain);
  border:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;}
@media(hover:hover) and (pointer:fine){.carousel--tech .carousel__arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent);opacity:1;}}
.carousel--tech .carousel__arrow:active{transform:scale(.94);}
.carousel--tech .carousel__slide{height:auto;background:none;}
.techslide{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:420px;}
.techslide__txt{background:var(--surface);padding:clamp(1.6rem,4vw,3.2rem);display:flex;flex-direction:column;justify-content:center;}
.techslide__txt .eyebrow{margin-bottom:.2rem;}
.techslide__img{background-size:cover;background-position:center;min-height:100%;}
.carousel--tech .carousel__dots{position:static;bottom:auto;margin-top:1.1rem;}
.carousel--tech .carousel__dot{background:rgba(25,33,30,.22);}
.carousel--tech .carousel__dot.is-active{background:var(--accent-ink);}
@media(max-width:760px){
  .techslide{grid-template-columns:1fr;min-height:0;}
  .techslide__img{aspect-ratio:4/3;min-height:0;}
}

/* Prima / Dopo (slider a tendina) */
.ba-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr;}
@media(min-width:560px){.ba-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.ba-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4);}}
.ba-card{display:flex;flex-direction:column;}
.ba{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius-l);
  box-shadow:none;touch-action:pan-y;cursor:ew-resize;user-select:none;background:#e9e5dc;}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ba__before{position:absolute;inset:0;clip-path:inset(0 50% 0 0);will-change:clip-path;}
.ba__divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.9);
  transform:translateX(-1px);pointer-events:none;box-shadow:none;}
.ba__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;
  border-radius:50%;background:#fff;box-shadow:none;display:flex;align-items:center;justify-content:center;
  color:var(--accent-ink);gap:-2px;}
.ba__lbl{position:absolute;bottom:12px;z-index:2;font-size:.72rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;background:rgba(18,24,20,.55);padding:5px 11px;border-radius:var(--radius-pill);
  backdrop-filter:blur(3px);pointer-events:none;}
.ba__lbl--b{left:12px;} .ba__lbl--a{right:12px;}
.ba__cap{margin-top:.9rem;text-align:center;font-size:var(--text-small);}
.ba__note{margin-top:1.8rem;max-width:70ch;font-size:var(--text-small);}

/* ---------- Hero video (loop, nessun taglio: 16:9 pieno) ---------- */
/* niente background sull'elemento hero su desktop: coprirebbe il media a z-index:-1 */
.hero--video{min-height:90svh;max-height:100svh;}
.hero--video .hero__media--video{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#0b0f0d;}
.hero__video{width:100%;height:100%;object-fit:cover;display:block;}   /* 16:9 dentro 16:9 = nessun crop */
.hero--video .hero__scrim{background:
  linear-gradient(0deg,rgba(10,14,12,.86) 0%,rgba(10,14,12,.4) 34%,rgba(10,14,12,0) 62%),
  linear-gradient(90deg,rgba(10,14,12,.6) 0%,rgba(10,14,12,0) 58%);}
.hero--video .hero__title{text-shadow:none;}
.hero--video .hero__sub,.hero--video .eyebrow{text-shadow:none;}
/* mobile: video a piena altezza come sfondo, testo in sovraimpressione (come le hero foto) */
@media(max-width:760px){
  .hero--video{aspect-ratio:auto;min-height:82svh;}
  .hero--video .hero__scrim{background:
    linear-gradient(0deg,rgba(10,14,12,.88) 0%,rgba(10,14,12,.45) 40%,rgba(10,14,12,.06) 72%),
    linear-gradient(90deg,rgba(10,14,12,.5) 0%,rgba(10,14,12,0) 62%);}
}

/* Features con sfondo fotografico: band cinematografica, testo e icone in chiaro */
.features--photo{position:relative;overflow:hidden;background-size:cover;background-position:center;
  color:var(--on-dark);padding-block:clamp(5rem,11vw,9.5rem);}
.features--photo .features__scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(13,18,15,.80) 0%,rgba(13,18,15,.72) 42%,rgba(13,18,15,.84) 100%);}
.features--photo .container{position:relative;z-index:1;}
.features--photo .eyebrow{color:var(--peach);}
.features--photo .h2,.features--photo .h3{color:var(--on-dark);}
.features--photo .muted{color:var(--on-dark-muted);}
.features--photo .feat__ico{background:rgba(255,255,255,.10);color:var(--peach);
  border:1px solid rgba(255,255,255,.18);box-shadow:none;}

/* Parola-chiave (focus) nelle hero: pulita, senza ombra */
.hero__title .focus{text-shadow:none;}

/* Tab catalogo su mobile: aspetto a pill (chiaramente selezionabili) + scroll orizzontale */
@media(max-width:640px){
  .cat-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;border-bottom:0;
    gap:.55rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    margin:1.6rem calc(-1*var(--gutter)) 0;padding:0 var(--gutter) 4px;}
  .cat-tabs::-webkit-scrollbar{display:none;}
  .cat-tab{flex:none;padding:.6rem 1.15rem;border:1.5px solid var(--border-strong);
    border-radius:var(--radius-pill);color:var(--ink-muted);font-size:.95rem;white-space:nowrap;}
  .cat-tab::after{display:none;}
  .cat-tab.is-active{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff;}
}

/* Pallini del carosello tecnologie: niente ombra (fondo chiaro) */
.carousel--tech .carousel__dot{box-shadow:none;}
/* Prima/Dopo: si trascina SOLO dalla maniglia centrale; l'immagine lascia scorrere la pagina */
.ba{touch-action:auto;cursor:default;}
.ba__divider{pointer-events:none;}
.ba__handle{pointer-events:auto;touch-action:none;cursor:ew-resize;}
.ba__handle::before{content:"";position:absolute;inset:-12px;border-radius:50%;}

/* Revisione: contrasto testo peach su chiaro, focus su fondi scuri, pin statico reduced-motion */
.product--light .prod__li-n{color:var(--accent-ink);}
.pin__k{color:var(--accent-ink);}
.nav--top :focus-visible,.footer :focus-visible,.section--dark :focus-visible,.product :focus-visible,.cta-photo :focus-visible{outline-color:var(--porcelain);}
@media(prefers-reduced-motion:reduce){.pin__dot::before{animation:none;}}

/* ---------- Fascia partner (Blum) ---------- */
.partner{background:#FBF4EE;}
.partner__top{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;}
.partner__media{position:relative;}
.partner__photo{aspect-ratio:5/4;background-size:cover;background-position:center;border-radius:var(--radius-l);}
.partner__logo{position:absolute;left:1.1rem;bottom:1.1rem;background:var(--carbon);border-radius:14px;padding:.7rem 1.05rem;display:flex;}
.partner__logo img{height:26px;width:auto;display:block;}
.partner__h{font-family:var(--font-title);font-weight:600;font-size:clamp(1.5rem,3vw,2.05rem);line-height:1.12;letter-spacing:-.005em;color:var(--carbon);}
.partner__awards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(1.8rem,3.5vw,2.6rem);}
.partner__award{display:flex;gap:.85rem;align-items:flex-start;border:1px solid rgba(180,83,47,.3);border-radius:16px;padding:1rem 1.2rem;background:#fff;}
.partner__award-ico{width:30px;height:30px;color:var(--accent-ink);flex:none;margin-top:2px;}
.partner__award-t{display:block;font-weight:700;color:var(--accent-ink);font-size:.95rem;letter-spacing:.01em;}
.partner__award-s{display:block;font-weight:600;font-size:.85rem;color:var(--carbon);margin:.12rem 0 .35rem;}
.partner__award-x{font-size:.85rem;color:var(--ink-muted);line-height:1.45;margin:0;}
.partner__body{margin-top:clamp(2.2rem,5vw,3.6rem);}
.partner__quote{font-family:var(--font-display);color:var(--accent-ink);font-size:clamp(1.4rem,3.2vw,2.05rem);line-height:1.14;max-width:22ch;margin:0 auto;}
.partner__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.3rem,3vw,2.4rem);margin-top:clamp(1.8rem,4vw,2.8rem);}
.partner__pillar-t{font-family:var(--font-title);font-size:1.15rem;color:var(--carbon);}
.partner__pillar-x{margin-top:.5rem;color:var(--ink-muted);font-size:.95rem;line-height:1.5;}
.partner__cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:clamp(1.9rem,4vw,2.8rem);}
@media(max-width:820px){
  .partner__top{grid-template-columns:1fr;gap:1.6rem;}
  .partner__pillars{grid-template-columns:1fr;gap:1.4rem;text-align:center;}
  .partner__awards{grid-template-columns:1fr;}
}

/* ---------- Fascia promo (sotto la hero, sopra il breadcrumb): sottile, centrata ---------- */
.promobar{background:var(--accent-ink);color:var(--porcelain);}
.promobar__in{display:flex;align-items:baseline;justify-content:center;gap:.3rem .95rem;padding:.5rem 0;flex-wrap:wrap;text-align:center;}
.promobar__eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--sand);}
.promobar__offer{font-family:var(--font-title);font-weight:600;font-size:clamp(1rem,2.1vw,1.25rem);line-height:1.15;}
.promobar .focus{color:var(--sand);}
.promobar__trial{font-size:.9rem;color:rgba(249,249,241,.85);}
@media(max-width:720px){.promobar__in{gap:.1rem .75rem;padding:.55rem 0;}}

/* ---------- Spotlight partner (pagina I Partner) ---------- */
.spotlight__logo{text-align:center;margin-bottom:1.9rem;}
.spotlight__logo img{height:auto;width:auto;max-height:120px;max-width:min(300px,80%);vertical-align:middle;}
.spotlight__logo--chip img{max-height:52px;padding:1.15rem 1.6rem;background:var(--carbon);border-radius:18px;}
.spotlight__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:56rem;margin:2.2rem auto 0;}
.spotlight__stat{display:flex;flex-direction:column;align-items:center;text-align:center;}
.spotlight__stat-n{display:block;font-family:var(--font-title);font-weight:600;font-size:1.7rem;color:var(--accent-ink);line-height:1;}
.spotlight__stat-l{display:block;font-size:.85rem;color:var(--ink-muted);margin-top:.45rem;line-height:1.35;}
.spotlight__gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:2.4rem;}
.spotlight__gimg{aspect-ratio:3/4;background-size:cover;background-position:center;border-radius:var(--radius-l);}
.spotlight__cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem;}
.spotlight__cta--left{justify-content:flex-start;}
.spotlight__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:center;}
.spotlight__grid--right{grid-template-columns:1.18fr .82fr;}
.spotlight__h--title{font-family:var(--font-title);}
.spotlight__photo{aspect-ratio:3/4;background-size:cover;background-position:center;border-radius:var(--radius-l);}
.spotlight__photo-cap{margin-top:.75rem;text-align:center;font-size:.8rem;color:var(--ink-muted);}
.spotlight__stats--2{grid-template-columns:1fr 1fr;max-width:none;margin:2.2rem 0 0;}
@media(max-width:560px){.spotlight__stat-n{font-size:1.35rem;}}
@media(max-width:820px){
  .spotlight__stats{grid-template-columns:1fr 1fr;gap:1.4rem;}
  .spotlight__gallery{grid-template-columns:1fr 1fr;}
  .spotlight__grid{grid-template-columns:1fr;gap:1.5rem;}
  .spotlight__grid--right .spotlight__side{order:-1;}
  .spotlight__cta--left{justify-content:center;}
}

/* ---------- Popup promo: offerte chiare ---------- */
.promo__trial{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--porcelain);margin:.3rem 0 1rem;font-size:1rem;}
.promo__trial-ico{color:var(--peach);display:inline-flex;}
.promo__offers{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem;}
.promo__offer{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(249,249,241,.12);border:1px solid rgba(249,249,241,.2);border-radius:12px;padding:.7rem .95rem;}
.promo__offer-t{color:var(--porcelain);font-weight:600;font-size:.95rem;line-height:1.25;}
.promo__offer-p{font-family:var(--font-title);font-weight:600;color:var(--peach);font-size:1.15rem;white-space:nowrap;}
.promo__note{font-size:.84rem;color:rgba(249,249,241,.72);margin-bottom:1.1rem;line-height:1.4;}

/* Popup OLIN — chip interessi: indicatore checkbox per rendere evidente la multi-selezione.
   Solo CSS: olin.js (dominio Andrea) applica la classe .is-on, qui aggiungiamo il flag. */
.lcw .lcw__int{display:inline-flex;align-items:center;gap:9px;}
.lcw .lcw__int::before{
  content:"";width:17px;height:17px;flex:none;border-radius:6px;
  border:1.6px solid rgba(28,35,31,.30);background:#fff center/12px 12px no-repeat;
  transition:border-color .15s var(--ease-out),background-color .15s var(--ease-out);}
.lcw .lcw__int.is-on::before{
  border-color:#fff;background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4532F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
