/* salute.atelierbianchini.it · palette dei report cliente (ink/cream/arancio), Fraunces + Inter.
   Contrasto AA misurato con scripts/qa/contrast.mjs: l'arancio #E68A34 come TESTO solo su fondo scuro;
   su fondo chiaro il testo d'accento usa --accent-ink. */

@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-latin-wght-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --paper:#FAF6EF; --cream:#F3ECE1; --sand:#EADFCD; --line:#DCCDB6; --card:#FFFDF9;
  --ink:#18120C; --ink-2:#3E3227; --muted:#6A5A48;
  --accent:#E68A34; --accent-ink:#9E4F16; --accent-soft:#FBE8D3;
  --panel:#221A12; --hair-d:#3A2C1E; --cream-d:#F3ECE1; --muted-d:#B4A48D; --gold:#D8A050;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gutter:16px; --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --radius:12px;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (min-width:900px){body{font-size:18px}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:4px}
.dark :focus-visible,.foot :focus-visible,.cc :focus-visible{outline-color:var(--accent)}

.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
@media (min-width:600px){:root{--gutter:32px}}
@media (min-width:1100px){:root{--gutter:56px}}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:12px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);max-width:22ch}
h3{font-size:1.1875rem;font-weight:550;line-height:1.3}
p{max-width:62ch}

/* eyebrow: hairline + maiuscolo arancio (motivo dei report) */
.eyebrow,.kicker{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);line-height:1.4}
.eyebrow::before,.kicker::before{content:"";flex:none;width:28px;height:1px;background:currentColor}
.kicker{margin-bottom:var(--s2)}
.dark .kicker{color:var(--accent)}

/* ---- header: banda propria con il monogramma ---- */
.top{border-bottom:1px solid var(--line)}
.top-inner{display:flex;align-items:center;height:64px}
.logo{height:36px;width:auto}
@media (min-width:1024px){.top-inner{height:80px}.logo{height:40px}}

/* ---- hero: una colonna centrata a ogni larghezza; l'hero non si anima mai (H1 = LCP) ---- */
.hero{padding:40px 0 var(--s6);text-align:center}
.hero-grid{display:flex;flex-direction:column;align-items:center}
.hero-text{display:flex;flex-direction:column;align-items:center;width:100%}
.hero .eyebrow{justify-content:center;font-size:.75rem;letter-spacing:.12em;margin:0;max-width:none}
.hero .eyebrow::before{width:20px}
#h1{margin-top:16px;font-size:clamp(1.875rem,1.1rem + 3.4vw,3.5rem);line-height:1.08;letter-spacing:-.015em;max-width:30ch;text-wrap:balance}
#h1 em{font-style:italic;font-weight:500;color:var(--accent-ink)}
.sub{margin-top:20px;font-size:1.0625rem;color:var(--ink-2);line-height:1.5;max-width:46ch;text-wrap:balance}
.offer{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.offer li{display:inline-flex;align-items:center;min-height:34px;padding:5px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:.9375rem;font-weight:600;line-height:1.3;white-space:nowrap}
.offer li:first-child{color:var(--accent-ink);background:var(--accent-soft);border-color:#E7C6A3}
.hero-form{width:100%;max-width:560px;margin-top:32px;text-align:left}
.callnote{margin-top:12px;font-size:1rem;color:var(--muted);line-height:1.5;text-align:center}
.hero-more{max-width:62ch;margin-top:var(--s4)}
.hero-more .lead{color:var(--ink-2)}
/* test dei 5 secondi (390x664 col banner aperto), ripieghi del brief applicati in ordine sotto 768 px:
   1 header 56 px e 24 px fino all'eyebrow; 2 spazi 12/14/14/20; 3 eyebrow corto (VARIANT_CSS in build.mjs);
   4 chip su una riga che scorre di lato */
@media (max-width:767.98px){
  .top-inner{height:56px}
  .hero{padding-top:24px}
  #h1{margin-top:12px}
  .sub{margin-top:14px}
  .offer{margin-top:14px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;align-self:stretch;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:0 var(--gutter) 2px;scroll-padding:0 var(--gutter);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .offer::-webkit-scrollbar{display:none}
  .offer li{flex:none}
  .hero-form{margin-top:20px}
}
/* ripiego 5, approvato come ultima risorsa: sotto 400 px l'H1 scende a 1.625rem (l'H1 di default sta in 4 righe) */
@media (max-width:399.98px){#h1{font-size:1.625rem}}
@media (min-width:1024px){
  .hero{padding-top:72px;padding-bottom:var(--s7)}
  .hero .eyebrow{font-size:.8125rem}
  .sub{font-size:1.125rem;max-width:62ch}
  .hero-more .lead{font-size:1.0625rem}
}

/* ---- card / modulo ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 12px 14px;box-shadow:0 1px 0 rgba(24,18,12,.04),0 18px 40px -28px rgba(24,18,12,.35)}
@media (min-width:600px){.card{padding:var(--s3)}}
@media (min-width:900px){.card{padding:var(--s4)}}
.prog-row{display:flex;align-items:center;gap:12px}
.progress{flex:1;height:3px;background:var(--sand);border-radius:3px;overflow:hidden}
.progress-bar{display:block;height:100%;width:25%;background:var(--accent);transition:width .25s ease}
.step-label{flex:none;font-size:.8125rem;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.step{border:0;padding:0;margin:0;min-width:0}
.q{font-family:var(--serif);font-size:1.3125rem;font-weight:550;line-height:1.25;padding:0;margin:4px 0 10px}
@media (min-width:900px){.q{font-size:1.5rem;margin-bottom:var(--s2)}}
.opts{display:grid;gap:8px}
.opts-2{grid-template-columns:1fr 1fr}
.opts-2 .opt:last-child:nth-child(odd){grid-column:1 / -1}
.opt{display:flex;align-items:center;width:100%;min-height:50px;padding:8px 12px;text-align:left;background:var(--card);border:1.5px solid #CDBBA2;border-radius:10px;font-size:1rem;font-weight:500;line-height:1.3;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.opt:hover{border-color:var(--accent-ink);transform:translateY(-1px)}
.opt:active{transform:translateY(1px)}
.opt[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent-ink)}
.back,.linkbtn{background:none;border:0;padding:0;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px;color:var(--ink-2)}
.back{display:inline-flex;align-items:center;min-height:48px;margin-top:4px;font-size:.9375rem}
.preset{margin:-6px 0 8px;font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.preset .linkbtn{display:inline-flex;align-items:center;min-height:48px;margin:-12px 0 -12px 4px;padding:0 6px}

.field{margin-bottom:14px;border:0;padding:0;min-width:0}
.field label,.field legend{display:block;font-weight:600;font-size:.9375rem;margin-bottom:6px;padding:0}
.field .opt{font-weight:400}
.opt-hint,.field .opt-l{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=tel],.field input[type=email]{display:block;width:100%;min-height:50px;padding:10px 14px;background:#fff;border:1.5px solid #B9A589;border-radius:10px;font-size:1rem}
.field input:focus-visible{outline:3px solid var(--accent-ink);outline-offset:1px}
.field input[aria-invalid="true"]{border-color:#A3261B}
.field label .opt{display:inline;font-weight:400;color:var(--muted);border:0;padding:0;min-height:0;background:none}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 10px;text-align:center;border:1.5px solid #CDBBA2;border-radius:999px;font-size:.9375rem;font-weight:500;line-height:1.25;background:var(--card)}
.chip input:checked+span{background:var(--accent-soft);border-color:var(--accent-ink);font-weight:600}
.chip input:focus-visible+span{outline:3px solid var(--accent-ink);outline-offset:2px}
.checks{margin:4px 0 16px}
.check{display:flex;gap:12px;align-items:flex-start;min-height:48px;padding:6px 0;font-size:.9375rem;line-height:1.45;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin-top:1px;accent-color:var(--accent-ink)}
.check a{font-weight:600;text-underline-offset:3px}
.err{font-size:.9375rem;color:#A3261B;font-weight:600;line-height:1.4}
.err:empty{display:none}
.field .err{margin-top:6px}
.err-form{margin-top:12px}
.fine{margin-top:12px;font-size:.9375rem;color:var(--muted);line-height:1.5}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* ---- bottoni ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border-radius:999px;border:1.5px solid transparent;font-family:var(--sans);font-size:1rem;font-weight:650;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s}
.btn svg{width:20px;height:20px;flex:none}
.btn-block{display:flex;width:100%}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-primary:hover{background:#EE9744}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:#B9A589}
.btn-ghost:hover{border-color:var(--ink)}
.btn-wa{background:#1F6B45;color:#fff;margin-top:10px}
.btn-wa:hover{background:#185A3A}
.btn[aria-busy="true"]{opacity:.7;pointer-events:none}
.dark .btn-ghost{color:var(--cream-d);border-color:#6B5A47}

/* ---- thank-you ---- */
.thanks{display:grid;gap:12px}
.thanks:focus{outline:none}
.thanks-title{font-family:var(--serif);font-size:1.5rem;font-weight:550;line-height:1.25}
.thanks a:not(.btn){font-weight:650;text-underline-offset:3px;white-space:nowrap}
.copy-num{display:grid;gap:8px}
.copy-num .num{font-family:var(--serif);font-size:1.75rem;font-weight:550;letter-spacing:.01em}
.copied{font-size:.9375rem;color:var(--accent-ink);font-weight:600}
.copied:empty{display:none}
.book{display:grid;gap:12px}
.cal-wrap{min-height:520px;border:1px solid var(--line);border-radius:12px;overflow:auto}
.booked{font-weight:600}

/* ---- sezioni ---- */
.sec{padding:var(--s6) 0}
@media (min-width:900px){.sec{padding:var(--s7) 0}}
.sec h2{margin-bottom:var(--s4)}
@media (min-width:900px){.sec h2{margin-bottom:var(--s5)}}
.alt{background:var(--cream);--sec-bg:var(--cream)}
/* sezioni scure: grana leggerissima (SVG in linea, nessuna richiesta) */
.dark{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--cream-d)}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wm{position:absolute;right:-48px;bottom:-72px;width:min(620px,86vw);height:auto;opacity:.04;pointer-events:none;z-index:-1}

/* numeri: Fraunces, cifre tabulari */
.num-mark,.step-n,.big,.r-v{font-variant-numeric:tabular-nums lining-nums}

/* problema */
.trio{display:grid;gap:var(--s4)}
@media (min-width:900px){.trio{grid-template-columns:repeat(3,1fr);gap:var(--s5)}}
.trio-item{border-top:1px solid var(--ink);padding-top:var(--s2)}
.num-mark{display:block;font-family:var(--serif);font-size:2.25rem;line-height:1.1;color:var(--accent-ink);margin-bottom:var(--s1)}
.trio-item h3{margin-bottom:var(--s1)}
.trio-item p{color:var(--ink-2)}

/* come funziona */
.steps{list-style:none;padding:0;display:grid;gap:var(--s4);counter-reset:s}
.steps li{display:grid;grid-template-columns:52px 1fr;gap:var(--s2);align-items:start}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:var(--s5)}.steps li{grid-template-columns:1fr;gap:var(--s2)}}
.step-n{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--gold);font-family:var(--serif);font-size:1.5rem;font-weight:500}
.steps h3{margin-bottom:var(--s1)}
.steps p{color:var(--ink-2)}
.aside{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);color:var(--muted);font-size:1rem;max-width:62ch}
@media (min-width:900px){.aside{font-size:1.0625rem}}

/* timeline */
.timeline{list-style:none;padding:0;position:relative;display:grid;gap:var(--s4)}
.timeline li{position:relative;padding-left:32px}
.timeline li::before{content:"";position:absolute;left:5px;top:10px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--sec-bg,var(--paper))}
.timeline::before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:1px;background:var(--line)}
.when{font-family:var(--serif);font-size:1.25rem;font-weight:550;margin-bottom:4px}
.timeline li p:not(.when){color:var(--ink-2)}
@media (min-width:900px){
  .timeline{grid-template-columns:repeat(4,1fr);gap:var(--s4)}
  .timeline::before{left:0;right:0;top:5px;bottom:auto;width:auto;height:1px}
  .timeline li{padding-left:0;padding-top:36px}
  .timeline li::before{left:0;top:0}
}

/* esempi */
.see-grid{display:grid;gap:var(--s5)}
@media (min-width:900px){.see-grid{grid-template-columns:.8fr 1.2fr;gap:var(--s6);align-items:end}}
.see-item{display:grid;gap:var(--s2);justify-items:center}
.see-item figcaption{font-size:1rem;color:var(--ink-2);max-width:44ch;text-align:center}
.open-link{display:flex;justify-content:center;align-items:center;min-height:48px;font-weight:650;color:var(--accent-ink);text-underline-offset:4px}
/* telefono: screenshot vero della pagina /esempio che scorre piano; fermo con movimento ridotto */
.phone{display:block;width:min(260px,66vw);aspect-ratio:9/18.5;border-radius:38px;background:var(--ink);padding:10px;box-shadow:0 30px 60px -30px rgba(24,18,12,.5);text-decoration:none}
.phone-screen{display:flex;flex-direction:column;height:100%;border-radius:29px;overflow:hidden;background:#F2F5F3}
.phone-bar{flex:none;display:flex;align-items:center;justify-content:center;height:34px;background:#E9EEEB;border-bottom:1px solid #D3DCD8}
.phone-url{font-size:.75rem;line-height:1;color:#2E3B37;background:#fff;border-radius:999px;padding:5px 14px}
.phone-view{position:relative;display:block;flex:1;overflow:hidden;container-type:size}
.phone-view picture{display:block}
.phone-shot{display:block;width:100%;height:auto;max-width:none}
.phone-fallback{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:18px;background:linear-gradient(165deg,#DCE7E2,#9DB8AE);color:#16302A;font-family:var(--serif);font-size:1.25rem;line-height:1.2}
@media (prefers-reduced-motion:no-preference){
  .phone-shot{animation:phone-scroll 36s ease-in-out infinite}
  .phone:hover .phone-shot,.phone:active .phone-shot,.phone:focus-visible .phone-shot{animation-play-state:paused}
}
@keyframes phone-scroll{0%,8%{transform:translateY(0)}46%,54%{transform:translateY(calc(-100% + 100cqh))}92%,100%{transform:translateY(0)}}
.report{position:relative;width:100%;max-width:520px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s3);box-shadow:0 30px 60px -36px rgba(24,18,12,.45)}
.stamp{position:absolute;top:16px;right:16px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);padding:5px 10px;border-radius:6px}
.r-head img{height:20px;width:auto;margin-bottom:var(--s2)}
.r-title{font-family:var(--serif);font-size:1.375rem;font-weight:550;line-height:1.25}
.r-sub{font-size:.875rem;color:var(--muted)}
.r-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:var(--s3) 0}
.r-kpis>div{border-top:2px solid var(--ink);padding-top:8px}
.r-k{font-size:.8125rem;color:var(--muted);line-height:1.3}
.r-v{font-family:var(--serif);font-size:clamp(1.25rem,1rem + 1.2vw,1.75rem);font-weight:550;line-height:1.2;margin-top:4px}
.r-chart{margin-bottom:var(--s3)}
.bars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;height:96px;align-items:end;margin-top:8px;border-bottom:1px solid var(--line)}
.bars span{height:var(--h);background:var(--accent);border-radius:4px 4px 0 0;position:relative}
.bars i{position:absolute;top:-20px;left:0;right:0;text-align:center;font-style:normal;font-size:.8125rem;font-weight:600}
.bars-x{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px;font-size:.75rem;color:var(--muted);text-align:center}
.r-list{list-style:none;padding:0;font-size:.9375rem}
.r-list li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--sand)}
.r-list li span:last-child{font-weight:650}

/* come lavoro */
.grid6{display:grid;gap:0;border-top:1px solid var(--line)}
.grid6>div{padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.grid6 h3{margin-bottom:var(--s1)}
.grid6 h3::before{content:"";display:block;width:24px;height:2px;background:var(--accent);margin-bottom:12px}
.grid6 p{color:var(--ink-2)}
@media (min-width:700px){.grid6{grid-template-columns:1fr 1fr;column-gap:var(--s5)}}
@media (min-width:1000px){.grid6{grid-template-columns:repeat(3,1fr)}}

/* prezzo */
.price-grid{display:grid;gap:var(--s4)}
@media (min-width:900px){.price-grid{grid-template-columns:.8fr 1.2fr;gap:var(--s6);align-items:start}}
.price h2{margin-bottom:var(--s3)}
.big{font-family:var(--serif);font-size:clamp(3rem,2rem + 5vw,5rem);font-weight:500;line-height:1.05;color:var(--gold);letter-spacing:-.02em}
.big span{font-size:.36em;color:var(--cream-d);letter-spacing:0;font-weight:400}
.under{margin-top:var(--s2);color:var(--cream-d);font-size:1.0625rem}
.price-card{background:var(--panel);border:1px solid var(--hair-d);border-radius:16px;padding:var(--s3)}
@media (min-width:600px){.price-card{padding:var(--s4)}}
.terms{display:grid;gap:0}
.terms>div{padding:var(--s2) 0;border-bottom:1px solid var(--hair-d)}
.terms>div:first-child{padding-top:0}
.terms dt{font-size:.8125rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.terms dd{margin:0;color:var(--cream-d)}
.summary{margin:var(--s3) 0 var(--s1);font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.4;color:#fff}
.small{font-size:.9375rem;color:var(--muted-d)}
.price .btn{margin-top:var(--s3)}
.price-card .btn{display:flex;width:fit-content;margin-inline:auto}
.about .small,.foot .small{color:var(--muted)}

/* per chi */
.fit-grid{display:grid;gap:var(--s3)}
@media (min-width:800px){.fit-grid{grid-template-columns:1fr 1fr;gap:var(--s4)}}
.fit-col{border-radius:14px;padding:var(--s3)}
.fit-col.yes{background:var(--card);border:1px solid var(--line)}
.fit-col.no{background:transparent;border:1px dashed #B9A589}
.fit-col h3{margin-bottom:var(--s2)}
.fit-col ul{list-style:none;padding:0;display:grid;gap:12px}
.fit-col li{position:relative;padding-left:30px}
.fit-col li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:10px;border-left:2.5px solid var(--accent-ink);border-bottom:2.5px solid var(--accent-ink);transform:rotate(-45deg) translateY(-2px)}
.fit-col.no li::before{width:14px;height:0;border-left:0;border-bottom:2.5px solid var(--muted);transform:none;top:.8em}

/* chi sono */
.about-grid{display:grid;gap:var(--s4);align-items:center}
@media (min-width:900px){.about-grid{grid-template-columns:380px 1fr;gap:var(--s6)}}
.portrait{display:block;width:min(320px,78vw);border-radius:16px;overflow:hidden;background:#0b0907;justify-self:center}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.about h2{margin-bottom:var(--s3)}
.about-text p+p{margin-top:var(--s2)}
.about-text .small{margin-top:var(--s3)}

/* faq: <details name="faq"> esclusivi anche senza JS; con JS apertura e chiusura animate (app.js) */
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);overflow:hidden}
.faq summary{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:60px;padding:19px 4px;cursor:pointer;list-style:none;font-family:var(--sans);font-size:1.0625rem;font-weight:500;line-height:1.4;border-radius:4px;transition:color .15s}
.faq summary::-webkit-details-marker{display:none}
@media (hover:hover){.faq summary:hover{color:var(--accent-ink)}}
.pm{position:relative;flex:none;width:16px;height:16px;transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.pm::before,.pm::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1.5px;border-radius:1px;background:var(--accent-ink)}
.pm::after{transform:rotate(90deg)}
.faq details.is-open .pm,html:not(.fq) .faq details[open] .pm{transform:rotate(45deg)}
.fa p{padding:0 4px 24px;color:var(--muted);max-width:65ch}

/* chiusura */
.close{text-align:left}
.close h2{color:#fff;margin-bottom:var(--s2)}
.close p{color:var(--cream-d);font-size:1.0625rem}
.close-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.textlink{display:inline-flex;align-items:center;min-height:48px;font-weight:600;color:var(--cream-d);text-underline-offset:4px}
@media (min-width:900px){.close-inner{display:grid;grid-template-columns:1.1fr .9fr;column-gap:var(--s6);align-items:end}.close-actions{margin-top:0;justify-content:flex-end}.close h2,.close p{grid-column:1}.close-actions{grid-column:2;grid-row:1 / span 2}}

/* footer: tre colonne, riga finale; 96 px sotto perché barra e bottone WhatsApp non coprano i link */
.foot{background:var(--ink);color:var(--muted-d);border-top:1px solid var(--hair-d);padding:var(--s6) 0 96px;font-size:.9375rem}
.foot p{max-width:none}
.foot-grid{display:grid;gap:var(--s4)}
@media (min-width:768px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr;gap:var(--s5)}}
.foot-logo{height:34px;width:auto;margin-bottom:var(--s2)}
.foot-h{color:var(--cream-d);font-size:.8125rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--s1)}
.foot ul{list-style:none;padding:0}
.foot-col li{line-height:1.5;padding:2px 0}
.foot-col a{display:inline-flex;align-items:center;min-height:48px;color:var(--cream-d);text-underline-offset:3px;overflow-wrap:anywhere}
.foot-note{color:var(--muted-d)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;margin-top:var(--s5);padding-top:var(--s2);border-top:1px solid var(--hair-d)}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.foot-links a,.foot-links .linkbtn{display:inline-flex;align-items:center;min-height:48px;color:var(--cream-d);font-weight:500}
.foot-links .linkbtn{text-decoration:underline}

/* barra mobile (sotto 768 px): "Analisi gratuita" lascia a destra lo spazio del bottone WhatsApp */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;padding:8px 80px calc(8px + env(safe-area-inset-bottom)) var(--gutter);background:rgba(250,246,239,.97);border-top:1px solid var(--line)}
.mbar .btn-primary{flex:1}
@media (min-width:768px){.mbar{display:none!important}}

/* WhatsApp flottante: dal caricamento su tablet e desktop, con la barra sotto 768 px, mai col banner aperto */
.wa-float{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#1F6B45;color:#fff;box-shadow:0 10px 24px -8px rgba(24,18,12,.5),0 2px 6px rgba(24,18,12,.2);transition:background-color .15s}
.wa-float svg{width:28px;height:28px}
.wa-float:hover{background:#185A3A}
.wa-tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--ink);color:var(--cream-d);font-size:.875rem;font-weight:600;padding:8px 12px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s}
@media (hover:hover) and (min-width:768px){.wa-float:hover .wa-tip,.wa-float:focus-visible .wa-tip{opacity:1}}
@media (max-width:767.98px){.wa-float{display:none;bottom:calc(6px + env(safe-area-inset-bottom))}body.bar-on .wa-float{display:flex}}
body.cc-open .wa-float{display:none!important}

/* banner consenso */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--ink);color:var(--cream-d);border-top:1px solid var(--hair-d);padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom))}
.cc-inner{max-width:1200px;margin:0 auto;display:grid;gap:8px}
.cc-text{font-size:.875rem;line-height:1.45;max-width:none}
.cc-text a{color:#fff;font-weight:600;text-underline-offset:3px}
.cc-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.btn-cc{min-height:48px;padding:8px 10px;background:transparent;color:#fff;border-color:#8A7861;font-size:.9375rem}
.btn-cc:hover{border-color:#fff}
.cc-more{display:grid;gap:8px;padding:4px 0}
.cc-row{font-size:.875rem;max-width:none}
.cc .check{min-height:44px}
.cc .check input{accent-color:var(--accent)}
.cc .btn-ghost{color:#fff;border-color:#8A7861;min-height:48px;justify-self:start}
@media (min-width:900px){.cc{padding:16px var(--gutter)}.cc-inner{grid-template-columns:1fr auto;align-items:center;column-gap:var(--s4)}.cc-more{grid-column:1 / -1;grid-row:2}.cc-actions{grid-template-columns:repeat(3,minmax(130px,auto))}.cc-text{font-size:.9375rem}}

/* sezioni sotto l'hero: compaiono una volta (app.js aggiunge .rv solo se gira, quindi senza JS tutto è visibile) */
@media (prefers-reduced-motion:no-preference){
  html.rv main>.sec{transition:opacity .6s ease,transform .6s ease}
  html.rv main>.sec:not(.in){opacity:0;transform:translateY(8px)}
}
/* nessuna entrata animata sull'hero: l'H1 è l'elemento LCP e deve dipingersi subito */
.step:not([hidden]){animation:stepin .2s ease-out}
@keyframes stepin{from{opacity:.4}to{opacity:1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* pagine legali */
.legal{padding-top:var(--s4);padding-bottom:var(--s6);max-width:820px}
.legal h1{font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem);margin-bottom:var(--s1)}
.legal h2{font-size:1.375rem;margin:var(--s5) 0 var(--s2)}
.legal p,.legal li{color:var(--ink-2)}
.legal p+p{margin-top:var(--s2)}
.legal ul{padding-left:1.2em;display:grid;gap:var(--s1)}
.legal a{font-weight:600;text-underline-offset:3px}
.legal .small{color:var(--muted)}
.legal .draft{background:var(--accent-soft);border:1px solid var(--accent-ink);border-radius:10px;padding:12px 16px;font-weight:600;color:var(--ink);margin-bottom:var(--s4)}
.legal .back{margin-top:var(--s5)}
.table-wrap{overflow-x:auto;margin-top:var(--s2)}
.legal table{border-collapse:collapse;width:100%;font-size:.9375rem;min-width:520px}
.legal th,.legal td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{font-weight:650;color:var(--ink)}
