/* ============================================================
   LONGEVITY METHOD — DESIGN SYSTEM
   Palette: verde pino / oro antico / crema  (da brand guideline)
   ============================================================ */
:root{
  --pino:#0E3B2E;
  --pino-deep:#07211A;
  --pino-soft:#1B4E3E;
  --oro:#B98F35;
  --oro-lux:#D9B76A;
  --oro-pale:#EBD9AE;
  --crema:#F5F1E6;
  --carta:#FCFAF4;
  --salvia:#7D8C7F;
  --inchiostro:#16241E;
  --linea:rgba(14,59,46,.14);
  --linea-chiara:rgba(235,217,174,.22);
  --ff-display:"Fraunces",Georgia,serif;
  --ff-body:"Inter Tight",system-ui,-apple-system,sans-serif;
  --ff-util:"Jost",system-ui,sans-serif;
  --wrap:1240px;
  --r:2px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-body);
  background:var(--carta);
  color:var(--inchiostro);
  font-size:clamp(.97rem,.93rem + .2vw,1.05rem);
  line-height:1.72;
  font-weight:350;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--oro-pale);color:var(--pino-deep)}

/* ---------- TIPOGRAFIA ---------- */
.display,h1,h2,h3{
  font-family:var(--ff-display);
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 144;
  font-weight:340;
  line-height:1.06;
  letter-spacing:-.018em;
  text-wrap:balance;
}
h1{font-size:clamp(2.6rem,1.5rem + 4.4vw,5.1rem)}
h2{font-size:clamp(1.95rem,1.3rem + 2.5vw,3.35rem)}
h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.6rem);line-height:1.18;letter-spacing:-.01em}
h4{font-family:var(--ff-body);font-size:1.02rem;font-weight:550;letter-spacing:-.005em;line-height:1.35}
em,.it{font-style:italic;font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 144}
.eyebrow{
  font-family:var(--ff-util);
  font-size:.66rem;
  font-weight:400;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--oro);
  display:block;
}
.lead{
  font-size:clamp(1.06rem,1rem + .42vw,1.28rem);
  line-height:1.62;
  font-weight:330;
  color:#3B4A43;
  max-width:60ch;
}
.tm{font-size:.62em;vertical-align:.42em;letter-spacing:.02em}
.cap{
  font-family:var(--ff-util);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--salvia);
}
.mini{font-size:.82rem;line-height:1.6;color:var(--salvia)}

/* ---------- LAYOUT ---------- */
.wrap{width:min(100% - 2.6rem,var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2.6rem,860px);margin-inline:auto}
.sec{padding-block:clamp(4.2rem,3rem + 6vw,8.5rem)}
.sec-tight{padding-block:clamp(3rem,2rem + 4vw,5.5rem)}
.pino{background:var(--pino);color:var(--crema)}
.pino .lead{color:rgba(245,241,230,.74)}
.pino .mini{color:rgba(245,241,230,.55)}
.pino .cap{color:var(--oro-lux)}
.deep{background:var(--pino-deep);color:var(--crema)}
.deep .lead{color:rgba(245,241,230,.72)}
.crema{background:var(--crema)}
.sechead{max-width:70ch;margin-bottom:clamp(2.4rem,1.6rem + 2.6vw,4rem)}
.sechead h2{margin-top:.85rem}
.sechead .lead{margin-top:1.4rem}

/* filo oro + segno ∞ come separatore di sezione */
.filo{display:flex;align-items:center;gap:1.1rem;margin-bottom:2.6rem}
.filo::before,.filo::after{content:"";height:1px;background:var(--linea);flex:1}
.pino .filo::before,.pino .filo::after,.deep .filo::before,.deep .filo::after{background:var(--linea-chiara)}
.filo img{width:34px;opacity:.85;flex:none}

/* ---------- BOTTONI ---------- */
.btn{
  font-family:var(--ff-util);
  font-size:.74rem;
  font-weight:400;
  letter-spacing:.17em;
  text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.7rem;
  padding:1.02rem 1.9rem;
  border:1px solid transparent;
  border-radius:var(--r);
  text-decoration:none;
  cursor:pointer;
  transition:background .34s ease,color .34s ease,border-color .34s ease,transform .34s ease;
}
.btn svg{width:15px;height:15px;flex:none;transition:transform .34s ease}
.btn:hover svg{transform:translateX(4px)}
.btn-oro{background:var(--oro);color:#fff;border-color:var(--oro)}
.btn-oro:hover{background:var(--pino);border-color:var(--pino)}
.btn-pino{background:var(--pino);color:var(--crema);border-color:var(--pino)}
.btn-pino:hover{background:var(--oro);border-color:var(--oro);color:#fff}
.btn-linea{border-color:currentColor;opacity:.9}
.btn-linea:hover{background:currentColor;opacity:1}
.pino .btn-linea:hover,.deep .btn-linea:hover{color:var(--pino)}
.btn-linea:hover span{color:var(--carta)}
.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}

/* ---------- HEADER ---------- */
.header{
  position:fixed;inset:0 0 auto;z-index:90;
  padding:1.15rem 0;
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease;
}
.header::before{
  content:"";position:absolute;inset:0 0 auto;height:230px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,33,26,.72) 0%,rgba(7,33,26,.34) 46%,transparent 100%);
  transition:opacity .4s ease;
}
.header.stuck::before{opacity:0}
.header.stuck{background:rgba(252,250,244,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--linea);padding:.75rem 0}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo{position:relative;display:block;width:clamp(140px,15vw,182px);flex:none}
.logo img{width:100%;transition:opacity .4s ease}
.logo .lo-dark{position:absolute;inset:0;opacity:0}
.header.stuck .logo .lo-dark{opacity:1}
.header.stuck .logo .lo-light{opacity:0}
.nav{display:flex;align-items:center;gap:2.1rem}
.nav a{
  font-family:var(--ff-util);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;color:var(--crema);opacity:.82;position:relative;padding-block:.3rem;
  transition:opacity .3s ease,color .3s ease;
}
.header.stuck .nav a{color:var(--pino)}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--oro);transition:width .34s ease}
.nav a:hover{opacity:1}
.nav a:hover::after,.nav a.on::after{width:100%}
.nav a.on{opacity:1;color:var(--oro-lux)}
.header.stuck .nav a.on{color:var(--oro)}
.navcta{padding:.72rem 1.3rem;font-size:.7rem}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--crema)}
.header.stuck .burger{color:var(--pino)}
.burger svg{width:24px;height:24px}

/* ---------- HERO SPLIT ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:100svh;background:var(--pino)}
.hero-txt{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(7rem,6rem + 6vw,9rem) clamp(1.4rem,4vw,5.2rem) clamp(3.5rem,4vw,5rem);
  color:var(--crema);position:relative;
}
.hero-txt::after{
  content:"";position:absolute;right:0;top:14%;bottom:14%;width:1px;
  background:linear-gradient(180deg,transparent,var(--linea-chiara),transparent);
}
.hero-txt h1{margin:1.5rem 0 0}
.hero-txt .lead{margin-top:1.7rem;color:rgba(245,241,230,.76)}
.hero-txt .cta-row{margin-top:2.5rem}
.hero-img{position:relative;overflow:hidden;background:var(--pino-deep)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--pino) 0%,rgba(14,59,46,.34) 26%,transparent 62%)}
.hero-meta{
  display:flex;gap:2.6rem;flex-wrap:wrap;
  margin-top:clamp(2.4rem,2rem + 1.6vw,3.4rem);padding-top:1.7rem;
  border-top:1px solid var(--linea-chiara);
}
.hero-meta div{max-width:250px}
.hero-meta .k{font-family:var(--ff-util);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-lux);margin-bottom:.4rem}
.hero-meta .v{font-size:.86rem;line-height:1.45;color:rgba(245,241,230,.8)}
.hero.compatta{min-height:66svh}
.hero.compatta h1{font-size:clamp(2.3rem,1.4rem + 3.4vw,4rem)}

/* ---------- MANIFESTO ---------- */
.manifesto{text-align:center}
.manifesto p{
  font-family:var(--ff-display);font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 144;
  font-size:clamp(1.55rem,1.05rem + 2.1vw,2.85rem);line-height:1.24;font-weight:320;
  letter-spacing:-.015em;max-width:20ch;margin-inline:auto;text-wrap:balance;
}
.manifesto p + p{margin-top:1.3rem;max-width:24ch}
.manifesto .firma{margin-top:2.6rem}

/* ---------- GRIGLIE ---------- */
.grid{display:grid;gap:clamp(1.5rem,1rem + 1.8vw,2.6rem)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,1.5rem + 3vw,5rem);align-items:center}
.split.tight{grid-template-columns:1.15fr .85fr}
.split.flip .sp-img{order:-1}
.sp-img{position:relative;overflow:hidden;border-radius:var(--r)}
.sp-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sp-img.wide img{aspect-ratio:5/4}

/* ---------- VALORI ---------- */
.valori{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--linea)}
.valore{padding:2rem 1.4rem 1.6rem;border-right:1px solid var(--linea)}
.valore:last-child{border-right:0}
.valore .n{font-family:var(--ff-util);font-size:.66rem;letter-spacing:.2em;color:var(--oro)}
.valore h4{margin:.9rem 0 .55rem}
.valore p{font-size:.87rem;line-height:1.62;color:var(--salvia)}

/* ---------- FASI DEL METODO ---------- */
.fase{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,1rem + 2vw,3.4rem);
  padding-block:clamp(2.4rem,1.8rem + 2.4vw,3.8rem);border-top:1px solid var(--linea);
}
.pino .fase,.deep .fase{border-top-color:var(--linea-chiara)}
.fase .num{
  font-family:var(--ff-display);font-variation-settings:"opsz" 144;
  font-size:clamp(2.6rem,2rem + 3vw,4.6rem);font-weight:300;line-height:.86;
  color:transparent;-webkit-text-stroke:1px var(--oro);letter-spacing:-.03em;
}
.fase-body{max-width:70ch}
.fase-body h3{margin-bottom:.4rem}
.fase-body .cap{margin-bottom:1rem}
.fase-body p{color:#3B4A43}
.pino .fase-body p{color:rgba(245,241,230,.72)}
.taglist{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem}
.tag{
  font-family:var(--ff-util);font-size:.68rem;letter-spacing:.06em;
  padding:.4rem .8rem;border:1px solid var(--linea);border-radius:100px;color:var(--salvia);
}
.pino .tag,.deep .tag{border-color:var(--linea-chiara);color:rgba(245,241,230,.7)}

/* ---------- MAPPA CAPITALE SALUTE (elemento firma) ---------- */
.mappa{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,1.5rem + 3vw,4.5rem);align-items:center}
.radar-box{position:relative;padding:1rem}
.radar-box::before{
  content:"";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:82%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(217,183,106,.13) 0%,transparent 66%);
}
.radar{width:100%;height:auto;overflow:visible}
.radar .ring,.radar .axis{stroke:var(--linea-chiara);stroke-width:.8;fill:none}
.radar .lbl{
  font-family:var(--ff-util);font-size:9.4px;letter-spacing:.13em;text-transform:uppercase;
  fill:rgba(245,241,230,.6);
}
.radar .poly-b{
  fill:none;stroke:var(--crema);stroke-width:1;stroke-dasharray:4 4;opacity:0;
  transform:scale(.4);transform-origin:230px 200px;transition:opacity .9s ease .55s,transform 1.1s cubic-bezier(.2,.7,.25,1) .55s;
}
.radar .poly-a{
  fill:rgba(217,183,106,.17);stroke:var(--oro-lux);stroke-width:1.6;opacity:0;
  transform:scale(.4);transform-origin:230px 200px;transition:opacity .9s ease .2s,transform 1.1s cubic-bezier(.2,.7,.25,1) .2s;
}
.radar .dot{fill:var(--oro-lux);opacity:0;filter:drop-shadow(0 0 5px rgba(217,183,106,.7));transition:opacity .7s ease .9s}
.is-in .poly-a,.is-in .poly-b{opacity:1;transform:scale(1)}
.is-in .dot{opacity:1}
.legenda{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:1.6rem}
.legenda span{display:flex;align-items:center;gap:.55rem;font-family:var(--ff-util);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,241,230,.62)}
.legenda i{width:18px;height:0;border-top:2px solid var(--oro-lux);display:inline-block}
.legenda i.tratteggio{border-top:1px dashed var(--crema)}
.mappa-lista{list-style:none;margin-top:1.8rem;display:grid;gap:.1rem}
.mappa-lista li{padding:.85rem 0;border-top:1px solid var(--linea-chiara);display:flex;gap:1rem;align-items:baseline;font-size:.92rem;color:rgba(245,241,230,.78)}
.mappa-lista li span{font-family:var(--ff-util);font-size:.66rem;letter-spacing:.16em;color:var(--oro-lux);flex:none;width:1.6rem}

/* ---------- PERCORSI ---------- */
.percorsi{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--linea)}
.percorso{padding:clamp(1.8rem,1.4rem + 1.4vw,2.8rem);border-right:1px solid var(--linea);display:flex;flex-direction:column;position:relative;background:var(--carta);transition:background .4s ease}
.percorso:last-child{border-right:0}
.percorso:hover{background:#fff}
.percorso.top{background:var(--pino);color:var(--crema)}
.percorso.top .lead,.percorso.top p{color:rgba(245,241,230,.74)}
.percorso.top .cap{color:var(--oro-lux)}
.percorso.top .plist li{border-top-color:var(--linea-chiara);color:rgba(245,241,230,.78)}
.percorso.top .plist li::before{color:var(--oro-lux)}
.percorso .badge{
  position:absolute;top:0;right:0;background:var(--oro);color:#fff;
  font-family:var(--ff-util);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem .8rem;
}
.percorso h3{margin:.9rem 0 .3rem}
.percorso .claim{font-family:var(--ff-display);font-style:italic;font-variation-settings:"WONK" 1;font-size:1.02rem;color:var(--oro);line-height:1.35;margin-bottom:1.1rem}
.percorso.top .claim{color:var(--oro-lux)}
.percorso > p{font-size:.92rem;color:#41504A}
.plist{list-style:none;margin:1.5rem 0 0;display:grid}
.plist li{
  font-size:.86rem;line-height:1.5;padding:.62rem 0 .62rem 1.15rem;border-top:1px solid var(--linea);
  position:relative;color:#41504A;
}
.plist li::before{content:"—";position:absolute;left:0;color:var(--oro);font-size:.8rem}
.pfoot{margin-top:auto;padding-top:1.7rem}
.prezzo{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1.2rem}
.prezzo .v{font-family:var(--ff-display);font-size:1.9rem;font-weight:340;letter-spacing:-.02em}
.prezzo .u{font-family:var(--ff-util);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--salvia)}
.percorso.top .prezzo .u{color:rgba(245,241,230,.6)}

/* riga prospetto Assessment */
.prospetto{border-top:1px solid var(--linea-chiara);border-bottom:1px solid var(--linea-chiara);padding:1.5rem 0;display:flex;flex-wrap:wrap;gap:1.4rem 3rem;align-items:baseline;margin-block:2.4rem}
.prospetto div{display:flex;flex-direction:column;gap:.3rem}
.prospetto .k{font-family:var(--ff-util);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-lux)}
.prospetto .v{font-family:var(--ff-display);font-size:1.5rem;font-weight:340;letter-spacing:-.02em}

/* ---------- CARD STRUMENTI ---------- */
.card{border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;background:var(--carta);transition:transform .45s cubic-bezier(.2,.7,.25,1),box-shadow .45s ease}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px -22px rgba(14,59,46,.5)}
.card figure{overflow:hidden;background:var(--pino-deep)}
.card figure img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.25,1)}
.card:hover figure img{transform:scale(1.05)}
.cbody{padding:1.5rem 1.5rem 1.7rem}
.cbody h4{margin-bottom:.5rem}
.cbody p{font-size:.87rem;line-height:1.6;color:var(--salvia)}

/* ---------- PERSONE ---------- */
.persona{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,1rem + 2vw,3rem);align-items:start}
.ritratto{
  width:clamp(96px,10vw,132px);aspect-ratio:3/4;flex:none;
  border:1px solid var(--linea);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#fff,var(--crema));
  font-family:var(--ff-display);font-size:2.2rem;color:var(--oro);letter-spacing:-.03em;
}
.pino .ritratto,.deep .ritratto{border-color:var(--linea-chiara);background:linear-gradient(160deg,rgba(255,255,255,.06),transparent)}
.persona h3{margin-bottom:.25rem}
.persona .ruolo{font-family:var(--ff-util);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin-bottom:1rem}
.persona p{font-size:.93rem;color:#41504A}
.pino .persona p{color:rgba(245,241,230,.74)}
.persona p + p{margin-top:.9rem}
.quote{
  font-family:var(--ff-display);font-style:italic;font-variation-settings:"WONK" 1,"opsz" 144;
  font-size:clamp(1.1rem,1rem + .6vw,1.42rem);line-height:1.42;color:var(--pino);
  border-left:1px solid var(--oro);padding-left:1.4rem;margin-top:1.5rem;font-weight:330;
}
.pino .quote,.deep .quote{color:var(--oro-pale)}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--linea)}
.team li{list-style:none;padding:1.15rem 0;border-bottom:1px solid var(--linea);display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline}
.team li:nth-child(odd){padding-right:2rem}
.team li:nth-child(even){padding-left:2rem;border-left:1px solid var(--linea)}
.team .nome{font-weight:500;font-size:.98rem}
.team .spec{font-size:.85rem;color:var(--salvia)}

/* ---------- FORM ---------- */
.booking{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,1.5rem + 3vw,4rem);align-items:start}
.formcard{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:clamp(1.6rem,1.2rem + 1.8vw,3rem)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.8rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field.full{grid-column:1/-1}
.field label{font-family:var(--ff-util);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--salvia)}
.field input,.field select,.field textarea{
  font-family:var(--ff-body);font-size:.95rem;color:var(--inchiostro);
  padding:.82rem .9rem;border:1px solid var(--linea);border-radius:var(--r);
  background:#fff;transition:border-color .3s ease,box-shadow .3s ease;
}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--oro);box-shadow:0 0 0 3px rgba(185,143,53,.13)}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.4rem;font-size:.82rem;line-height:1.55;color:var(--salvia)}
.consent input{margin-top:.25rem;accent-color:var(--oro);flex:none}
.formnote{font-size:.76rem;color:var(--salvia);margin-top:1rem}
.infocard{border:1px solid var(--linea);border-radius:var(--r);padding:clamp(1.5rem,1.2rem + 1.4vw,2.4rem);background:var(--crema)}
.riga{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--linea)}
.riga:last-of-type{border-bottom:0}
.riga .ic{width:20px;flex:none;color:var(--oro);margin-top:.15rem}
.riga .ic svg{width:20px;height:20px}
.riga .k{font-family:var(--ff-util);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia);margin-bottom:.25rem}
.riga .v{font-size:.95rem;line-height:1.5}
.riga .v a{text-decoration:none;border-bottom:1px solid var(--linea)}
.riga .v a:hover{border-color:var(--oro);color:var(--oro)}
.passi{display:grid;gap:0;margin-top:1.6rem;border-top:1px solid var(--linea)}
.passo{display:flex;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--linea)}
.passo .sn{font-family:var(--ff-util);font-size:.66rem;letter-spacing:.16em;color:var(--oro);flex:none;width:1.5rem;padding-top:.2rem}
.passo h4{font-size:.94rem;margin-bottom:.15rem}
.passo p{font-size:.83rem;color:var(--salvia);line-height:1.55}
.esito{display:none;text-align:center;padding:2.5rem 1rem}
.esito.on{display:block}
.esito .ic{width:46px;height:46px;border:1px solid var(--oro);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;color:var(--oro)}
.esito .ic svg{width:22px;height:22px}

/* ---------- CTA BAND ---------- */
.ctaband{background:var(--pino-deep);color:var(--crema);text-align:center;position:relative;overflow:hidden}
.ctaband .wrap{position:relative;z-index:2}
.ctaband h2{margin-bottom:1.2rem}
.ctaband .lead{margin:0 auto 2.3rem;color:rgba(245,241,230,.72)}
.ctaband .cta-row{justify-content:center}
.glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(120vw,900px);aspect-ratio:1;opacity:.12;pointer-events:none;
  background:radial-gradient(circle,var(--oro-lux) 0%,transparent 62%)}

/* ---------- FOOTER ---------- */
.footer{background:var(--pino-deep);color:rgba(245,241,230,.62);padding-block:clamp(3rem,2.4rem + 3vw,5rem) 2rem;border-top:1px solid var(--linea-chiara)}
.fgrid2{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.8rem;border-bottom:1px solid var(--linea-chiara)}
.footer h5{font-family:var(--ff-util);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-lux);font-weight:400;margin-bottom:1.1rem}
.footer ul{list-style:none;display:grid;gap:.6rem}
.footer a{text-decoration:none;font-size:.89rem;transition:color .3s ease}
.footer a:hover{color:var(--oro-lux)}
.footer .flogo{width:170px;margin-bottom:1.3rem}
.footer p{font-size:.86rem;line-height:1.65}
.social{display:flex;gap:.7rem;margin-top:1.3rem}
.social a{width:36px;height:36px;border:1px solid var(--linea-chiara);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--oro-lux);transition:background .3s ease,color .3s ease}
.social a svg{width:16px;height:16px}
.social a:hover{background:var(--oro);color:#fff;border-color:var(--oro)}
.legale{padding-top:2.2rem;display:grid;gap:1.4rem}
.legale p{font-size:.74rem;line-height:1.62;color:rgba(245,241,230,.45);max-width:105ch}
.direzione{display:flex;flex-wrap:wrap;gap:.5rem 2.2rem;padding:1.2rem 0;border-block:1px solid var(--linea-chiara)}
.direzione div{font-size:.78rem}
.direzione .k{font-family:var(--ff-util);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-lux);margin-bottom:.2rem}
.tbd{color:#E0A96D;font-family:var(--ff-util);font-size:.72rem;letter-spacing:.05em}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.6rem;font-size:.75rem;color:rgba(245,241,230,.4)}
.fbot a{font-size:.75rem}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .9s cubic-bezier(.2,.7,.25,1),transform .9s cubic-bezier(.2,.7,.25,1)}
.rv.is-in{opacity:1;transform:none}
.stagger > *{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.7,.25,1),transform .8s cubic-bezier(.2,.7,.25,1)}
.stagger.is-in > *{opacity:1;transform:none}
.stagger.is-in > *:nth-child(2){transition-delay:.09s}
.stagger.is-in > *:nth-child(3){transition-delay:.18s}
.stagger.is-in > *:nth-child(4){transition-delay:.27s}
.stagger.is-in > *:nth-child(5){transition-delay:.36s}
.stagger.is-in > *:nth-child(6){transition-delay:.45s}

/* ---------- PAGINE (router) ---------- */
/* pagine indipendenti: nessun router lato client */

/* WhatsApp flottante */
.wa{position:fixed;right:1.2rem;bottom:1.2rem;z-index:80;width:52px;height:52px;border-radius:50%;
  background:var(--pino);color:var(--crema);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px -10px rgba(7,33,26,.6);transition:transform .35s ease,background .35s ease}
.wa:hover{transform:scale(1.07);background:var(--oro);color:#fff}
.wa svg{width:24px;height:24px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .valori{grid-template-columns:repeat(2,1fr);border-left:1px solid var(--linea)}
  .valore{border-bottom:1px solid var(--linea)}
  .percorsi{grid-template-columns:1fr}
  .percorso{border-right:0;border-bottom:1px solid var(--linea)}
  .percorso:last-child{border-bottom:0}
  .g4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav{position:fixed;inset:0 0 0 auto;width:min(84vw,340px);background:var(--pino);
    flex-direction:column;justify-content:center;align-items:flex-start;gap:1.5rem;
    padding:2.5rem;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.25,1);z-index:95}
  .nav.aperto{transform:none}
  .nav a{color:var(--crema);font-size:1rem;letter-spacing:.1em}
  .header.stuck .nav a{color:var(--crema)}
  .header.stuck .nav a.on{color:var(--oro-lux)}
  .burger{display:block;z-index:96}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-txt{order:2;padding-top:clamp(2.5rem,6vw,4rem)}
  .hero-txt::after{display:none}
  .hero-img{order:1;min-height:56svh;margin-top:0}
  .hero-img img{object-position:center 28%}
  .split,.mappa,.booking,.split.tight{grid-template-columns:1fr}
  .split.flip .sp-img{order:0}
  .team{grid-template-columns:1fr}
  .team li:nth-child(odd),.team li:nth-child(even){padding-inline:0;border-left:0}
}
@media (max-width:620px){
  .g2,.g3,.g4{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .fgrid2{grid-template-columns:1fr;gap:2rem}
  .fase{grid-template-columns:1fr;gap:.8rem}
  .persona{grid-template-columns:1fr}
  .valori{grid-template-columns:1fr}
  .prospetto{flex-direction:column;gap:1.1rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv,.stagger > *{opacity:1;transform:none}
  .radar .poly-a,.radar .poly-b,.radar .dot{opacity:1;transform:none}
}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}