/* Sezioni della home e delle pagine che le riusano (generato da cometa.html, poi mantenuto a mano) */
/* caratteri ospitati sul sito: nessuna richiesta a Google Fonts */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-italic.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/figtree.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2")}
:root{
  color-scheme: dark;
  --notte:#14060F;
  --prugna:#2B0D24;
  --prugna-2:#3A1231;
  --petrolio:#0D4D57;
  --petrolio-2:#0A3A42;
  --teal:#157A7E;
  --teal-chiaro:#6FC3C3;
  --magenta:#8E1E63;
  --lume:#D63384;
  --lume-chiaro:#F29AC6;
  --avorio:#F6F1EC;
  --avorio-2:#ECE3DC;
  --inchiostro:#1E1119;
  --inchiostro-2:#5A4553;
  --testo:#F3EAF0;
  --testo-2:#C9B6C3;
  --linea:rgba(243,234,240,.14);
  --linea-chiara:rgba(30,17,25,.12);
  --f-display:"Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --f-body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wrap:clamp(1180px, 86vw, 1720px);
  --header-h:68px;
  --gutter:clamp(16px, 4vw, 40px);
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:clamp(15px, 0.34vw + 12.4px, 21px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip}
body{
  margin:0;background:var(--notte);color:var(--testo);
  font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.08;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem, 4.2vw, 3.2rem);letter-spacing:-.01em}
h3{font-size:1.45rem}
p{margin:0}
.eyebrow{
  font-family:var(--f-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--lume-chiaro);
}
.lead{font-size:1.15rem;color:var(--testo-2);max-width:60ch}
:focus-visible{outline:2px solid var(--lume-chiaro);outline-offset:3px;border-radius:6px}
.grain{position:relative;isolation:isolate}
.grain::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;justify-content:center;
  font:600 1rem/1 var(--f-body);text-decoration:none;cursor:pointer;
  padding:1em 1.4em;border-radius:999px;border:1px solid transparent;
  transition:transform .25s ease, box-shadow .3s ease, background-color .3s ease, border-color .3s ease;
}
.btn-lume{background:var(--lume);color:#fff;box-shadow:0 0 0 rgba(214,51,132,0)}
.btn-lume:hover{box-shadow:0 8px 34px -6px rgba(214,51,132,.7);transform:translateY(-2px)}
.btn-ghost{border-color:var(--linea);color:var(--testo);background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--teal-chiaro);color:#fff}
.btn-scuro{background:var(--inchiostro);color:var(--avorio)}
.btn-scuro:hover{background:var(--magenta)}
.btn small{font-weight:500;opacity:.8;font-size:.82em}
/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;
  background:
    radial-gradient(900px 520px at 85% 10%, rgba(214,51,132,.22), transparent 60%),
    radial-gradient(800px 600px at 5% 90%, rgba(21,122,126,.35), transparent 60%),
    linear-gradient(160deg, var(--prugna) 0%, var(--notte) 55%, var(--petrolio-2) 130%);
}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));display:flex;align-items:center}
.hero .wrap{position:relative;width:100%;padding-block:clamp(32px,6vh,110px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,25rem);gap:clamp(28px,4vw,96px);align-items:end}
.hero-testo{display:grid;gap:clamp(14px,2.6vh,36px)}
.hero-card{
  display:grid;gap:18px;padding:clamp(20px,2vw,28px);border-radius:18px;
  background:rgba(20,6,15,.55);border:1px solid var(--linea);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 30px 80px -40px rgba(214,51,132,.45)
}
.hc-io{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--linea)}
.hc-io img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--prugna),0 0 0 4px rgba(242,154,198,.6)}
.hc-io b{display:block;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.25rem}
.hc-io small{display:block;color:var(--testo-2);font-size:.8rem}
.hc-voto{display:flex;align-items:center;gap:14px;text-decoration:none}
.hc-num{font-family:var(--f-display);font-size:3.2rem;line-height:1;font-variant-numeric:tabular-nums}
.hc-dx{display:grid;gap:4px;font-size:.88rem;color:var(--testo-2)}
.hc-voto:hover .hc-dx span:last-child{color:#fff;text-decoration:underline}
.hc-volti{display:flex;align-items:center}
.hc-volti img,.hc-volti span{width:36px;height:36px;border-radius:50%;border:2px solid var(--prugna);margin-left:-8px;object-fit:cover}
.hc-volti img:first-child{margin-left:0}
.hc-volti span{display:grid;place-items:center;background:var(--magenta);font-size:.72rem;font-weight:600;color:#fff}
.hc-lista{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--linea);display:grid;gap:12px;font-size:.92rem;color:var(--testo-2)}
.hc-lista b{display:block;font-family:var(--f-mono);font-weight:500;font-size:.78rem;letter-spacing:.08em;color:var(--teal-chiaro);text-transform:uppercase}
@media (min-width:1001px) and (max-height:820px){
  .hero .wrap{padding-block:22px 26px}
  .hero .lead{font-size:1rem}
  .hero-card{gap:12px}.hc-lista{gap:8px;padding-top:12px}
}
@media (max-width:1000px){
  .hero .wrap{grid-template-columns:1fr;align-items:start}
  .hero-card{max-width:520px}
  .hero .hero-testo h1{font-size:clamp(2.4rem, min(9.5vw, 7.4vh), 6rem)}
}
@media (min-width:601px) and (max-width:1000px){
  .hero-card{max-width:none;grid-template-columns:auto 1fr;align-items:center;column-gap:28px}
  .hc-lista{grid-column:1/-1;grid-template-columns:1fr 1fr;column-gap:28px}
}
@media (max-width:600px){
  .hero-cta .btn{width:100%}
  .hero-cta .btn-lume{flex-direction:column;gap:.35em}
}
.hero h1{font-size:clamp(2.4rem, min(6.2vw, 9.4vh), 7rem);max-width:16ch;line-height:1.02;font-weight:400;letter-spacing:-.02em}
.hero .lead{max-width:52ch}
.hero h1 em{font-style:italic;color:var(--lume-chiaro)}
.hero h1 .w{display:inline-block;animation:sorgi 1.1s cubic-bezier(.2,.7,.1,1) both}
@keyframes sorgi{from{transform:translateY(.28em);color:var(--teal-chiaro)}to{transform:none}}
.hero .lead{font-size:clamp(1.05rem,1.6vw,1.25rem)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- fase selector ---------- */
.fase{background:var(--prugna);border-block:1px solid var(--linea)}
.fase .wrap{padding-block:clamp(56px,7vw,88px);display:grid;gap:30px}
.fase-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px}
.tabs{display:flex;flex-wrap:wrap;gap:10px}
.tab{
  font:500 .95rem/1 var(--f-body);color:var(--testo-2);background:transparent;cursor:pointer;
  border:1px solid var(--linea);border-radius:999px;padding:.8em 1.2em;transition:all .25s;
}
.tab:hover{color:#fff;border-color:var(--testo-2)}
.tab[aria-selected="true"]{background:var(--testo);color:var(--prugna);border-color:var(--testo)}
.fase-panel{
  display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,4vw,56px);align-items:start;
  padding:clamp(22px,3vw,36px);border-radius:var(--r);
  background:linear-gradient(135deg, rgba(13,77,87,.55), rgba(20,6,15,.4));border:1px solid var(--linea);
}
.fase-panel h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-style:italic}
.fase-panel .quote{margin-top:12px;color:var(--testo-2)}
.fase-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fase-list li{display:flex;gap:12px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--linea)}
.fase-list li::before{content:"✦";color:var(--lume-chiaro);font-size:.8rem}
.fase-pick{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:.95rem;color:var(--testo-2)}
.fase-pick b{color:#fff;font-weight:600}
@media (max-width:760px){.fase-panel{grid-template-columns:1fr}}

/* ---------- servizi ---------- */
.servizi .wrap{padding-block:clamp(72px,9vw,120px);display:grid;gap:44px}
.sez-head{display:grid;gap:14px;max-width:760px}
.grid-servizi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.srv{background:var(--notte);padding:30px 26px 28px;display:grid;gap:12px;align-content:start;position:relative;transition:background-color .35s}
.srv:hover{background:#1C0A16}
.srv .n{font-family:var(--f-mono);font-size:.72rem;color:var(--testo-2);letter-spacing:.1em}
.srv h3{font-size:1.5rem}
.srv p{color:var(--testo-2);font-size:.97rem}
.srv .da{margin-top:6px;font-family:var(--f-mono);font-size:.85rem;color:var(--teal-chiaro);font-variant-numeric:tabular-nums}
.srv.firma{background:linear-gradient(160deg, rgba(142,30,99,.55), rgba(20,6,15,.9))}
.srv.firma .badge{position:absolute;top:22px;right:22px;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--lume);padding:5px 9px;border-radius:999px}
.srv.firma .da{color:var(--lume-chiaro)}
@media (max-width:960px){.grid-servizi{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-servizi{grid-template-columns:1fr}}

/* ---------- metodo ---------- */
.metodo{background:linear-gradient(180deg, var(--petrolio-2), var(--petrolio) 60%, var(--petrolio-2))}
.metodo .wrap{padding-block:clamp(72px,9vw,120px);display:grid;gap:48px}
.tappe{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;--p:0}
.tappe::before,.tappe::after{content:"";position:absolute;left:0;top:13px;height:2px;border-radius:2px}
.tappe::before{right:0;background:rgba(243,234,240,.18)}
.tappe::after{width:calc(var(--p) * 100%);background:linear-gradient(90deg,var(--teal-chiaro),var(--lume));box-shadow:0 0 14px var(--lume);transition:width 2.1s linear,height 2.1s linear}
.tappa{position:relative;display:grid;gap:12px;padding-top:44px}
.tappa .dot{position:absolute;top:4px;left:0;width:20px;height:20px;border-radius:50%;background:var(--petrolio);border:2px solid var(--teal-chiaro);transition:all .4s}
.tappa.on .dot{background:var(--lume);border-color:var(--lume-chiaro);box-shadow:0 0 0 6px rgba(214,51,132,.18),0 0 22px var(--lume)}
.tappa .k{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.14em;color:var(--teal-chiaro)}
.tappa h3{font-size:1.55rem}
.tappa p{color:#D6E6E6;font-size:.97rem}
@media (max-width:860px){
  .tappe{grid-template-columns:1fr;gap:34px;padding-left:36px}
  .tappe::before,.tappe::after{left:9px;top:0;width:2px;height:auto;bottom:0}
  .tappe::after{height:calc(var(--p) * 100%);bottom:auto;width:2px}
  .tappa{padding-top:0}.tappa .dot{left:-36px;top:2px}
}

/* ---------- negoziazione ---------- */
.nego{background:
  radial-gradient(700px 420px at 90% 20%, rgba(214,51,132,.28), transparent 65%),
  var(--prugna)}
.nego .wrap{padding-block:clamp(72px,9vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.nego .legge{margin-top:18px;padding:14px 16px;border-left:2px solid var(--lume);background:rgba(255,255,255,.04);font-size:.93rem;color:var(--testo-2);border-radius:0 8px 8px 0}
.calc{background:rgba(20,6,15,.6);border:1px solid var(--linea);border-radius:var(--r);padding:clamp(22px,3vw,34px);display:grid;gap:20px}
.calc label{display:grid;gap:8px;font-size:.9rem;color:var(--testo-2)}
.calc .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.calc output,.calc .val{font-family:var(--f-mono);color:#fff;font-variant-numeric:tabular-nums}
.calc input[type=range]{width:100%;accent-color:var(--lume)}
.calc input[type=number]{
  width:100%;font:500 1.1rem var(--f-mono);color:#fff;background:rgba(255,255,255,.05);
  border:1px solid var(--linea);border-radius:10px;padding:.7em .8em;font-variant-numeric:tabular-nums
}
.calc .esito{border-top:1px solid var(--linea);padding-top:18px;display:grid;gap:6px}
.calc .big{font-family:var(--f-display);font-size:clamp(2.4rem,5vw,3.4rem);color:var(--lume-chiaro);font-variant-numeric:tabular-nums;line-height:1}
.calc .nota{font-size:.8rem;color:var(--testo-2)}
@media (max-width:860px){.nego .wrap{grid-template-columns:1fr}}

/* ---------- prezzi (sezione chiara) ---------- */
.chiaro{background:var(--avorio);color:var(--inchiostro)}
.chiaro .eyebrow{color:var(--magenta)}
.chiaro .lead{color:var(--inchiostro-2)}
.prezzi .wrap{padding-block:clamp(72px,9vw,120px);display:grid;gap:44px}
.bundles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.bundle{background:#fff;border:1px solid var(--linea-chiara);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;gap:16px}
.bundle .per{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--petrolio)}
.bundle h3{font-size:1.9rem;font-style:italic}
.bundle .prezzo{font-family:var(--f-display);font-size:2.8rem;line-height:1;font-variant-numeric:tabular-nums}
.bundle .rate{font-size:.85rem;color:var(--inchiostro-2);margin-top:-8px}
.bundle ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.95rem;flex:1}
.bundle li{display:flex;gap:10px}
.bundle li::before{content:"";flex:none;width:6px;height:6px;margin-top:.62em;border-radius:50%;background:var(--teal)}
.bundle.top-pick{background:var(--prugna);color:var(--testo);border-color:var(--prugna);box-shadow:0 30px 60px -30px rgba(43,13,36,.7)}
.bundle.top-pick .per{color:var(--lume-chiaro)}
.bundle.top-pick .rate{color:var(--testo-2)}
.bundle.top-pick li::before{background:var(--lume)}
.bundle .flag{align-self:flex-start;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:var(--lume);color:#fff;padding:5px 9px;border-radius:999px}
.bundle .btn{width:100%}
.bundle.top-pick .btn-scuro{background:var(--lume);color:#fff}
@media (max-width:900px){.bundles{grid-template-columns:1fr}}

.listino{display:grid;gap:18px}
.listino-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}
.seg{display:inline-flex;background:var(--avorio-2);border-radius:999px;padding:4px}
.seg button{font:600 .9rem/1 var(--f-body);border:0;background:transparent;color:var(--inchiostro-2);padding:.75em 1.1em;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--inchiostro);color:var(--avorio)}
.tab-wrap{overflow-x:auto;border:1px solid var(--linea-chiara);border-radius:var(--r);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.97rem}
th,td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--linea-chiara)}
tr:last-child td{border-bottom:0}
th{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--inchiostro-2)}
td.p{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
td small{display:block;color:var(--inchiostro-2);font-size:.85rem}
tr.hl td:first-child{color:var(--magenta);font-weight:600}
.fineprint{font-size:.85rem;color:var(--inchiostro-2)}

/* ---------- chi sono ---------- */
.chi .wrap{padding-block:0 clamp(72px,9vw,120px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.chi .ritratto{position:sticky;top:96px;margin:0;box-shadow:0 40px 80px -40px rgba(43,13,36,.55),0 0 0 1px rgba(30,17,25,.08)}
.ritratto{
  aspect-ratio:4/5;max-width:100%;border-radius:var(--r);position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 70% 25%, rgba(214,51,132,.55), transparent 50%),
    linear-gradient(160deg, var(--petrolio), var(--prugna));
  display:grid;place-items:center;color:var(--testo)
}
.ritratto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.ritratto b{font-family:var(--f-display);font-style:italic;font-size:clamp(5rem,12vw,9rem);font-weight:400;opacity:.9}
.ritratto span{position:absolute;bottom:14px;left:16px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.chi h2{font-style:italic}
.chi .bio{display:grid;gap:16px;margin-top:18px;color:var(--inchiostro-2)}
.ph{background:rgba(142,30,99,.08);border:1px dashed rgba(142,30,99,.4);border-radius:6px;padding:1px 6px;color:var(--magenta)}
.cred{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.percorso{list-style:none;margin:26px 0 0;padding:0;display:grid;border-top:1px solid var(--linea-chiara)}
.percorso li{display:grid;grid-template-columns:5.5rem 1fr;column-gap:16px;padding-block:11px;border-bottom:1px solid var(--linea-chiara);align-items:baseline}
.percorso span{font-family:var(--f-mono);font-size:.78rem;color:var(--petrolio);font-variant-numeric:tabular-nums;grid-row:span 2}
.percorso b{font-weight:600;color:var(--inchiostro)}
.percorso em{font-style:normal;font-size:.9rem;color:var(--inchiostro-2)}
.cred span{font-size:.85rem;border:1px solid var(--linea-chiara);border-radius:999px;padding:.45em .9em;background:#fff}
@media (max-width:860px){.chi .wrap{grid-template-columns:1fr}.ritratto{max-width:380px}.chi .ritratto{position:relative;top:0}}

/* ---------- recensioni ---------- */
.voci{overflow:hidden}
.voci .wrap{padding-block:clamp(72px,9vw,110px) 36px;display:grid;gap:40px}
.voci-head{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,5vw,64px);align-items:end}
.punteggio{border:1px solid var(--linea);border-radius:var(--r);padding:24px;display:grid;gap:8px;background:rgba(255,255,255,.03)}
.voto{display:flex;align-items:baseline;gap:8px}
.voto b{font-family:var(--f-display);font-weight:500;font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums}
.voto span,.punteggio p{color:var(--testo-2);font-size:.92rem}
.stelle{color:var(--lume-chiaro);letter-spacing:.08em;font-size:.85rem}
.stelle.grandi{font-size:1.25rem}
.punteggio dl{margin:10px 0 0;display:grid;gap:8px}
.punteggio dl div{display:grid;grid-template-columns:7.5rem 1fr;gap:10px;align-items:center;font-size:.85rem}
.punteggio dt{color:var(--testo-2)}
.punteggio dd{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.punteggio dd i{flex:1;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-chiaro),var(--lume)) 0/calc(var(--v)*100%) 100% no-repeat,rgba(243,234,240,.12)}
.in-evidenza{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rec{margin:0;border:1px solid var(--linea);border-radius:var(--r);padding:22px;display:grid;gap:14px;align-content:start;background:#1B0915}
.rec.grande{background:linear-gradient(160deg,rgba(142,30,99,.28),rgba(13,77,87,.22));padding:26px}
.rec.grande blockquote{font-size:1.3rem}
.chi-rec{display:flex;gap:12px;align-items:center}
.chi-rec b{display:block;font-weight:600;font-size:.98rem}
.chi-rec small{display:block;color:var(--testo-2);font-size:.8rem;line-height:1.35}
.av{width:48px;height:48px;border-radius:50%;flex:none;object-fit:cover;box-shadow:0 0 0 2px rgba(242,154,198,.35)}
.av-ini{display:grid;place-items:center;background:linear-gradient(135deg,var(--petrolio),var(--magenta));font:600 .95rem var(--f-body);color:#fff}
.meta-rec{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.8rem;color:var(--testo-2);font-variant-numeric:tabular-nums}
.srv-tag{margin-left:auto;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-chiaro);border:1px solid rgba(111,195,195,.35);padding:3px 8px;border-radius:999px}
.rec blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:1.12rem;line-height:1.4;color:var(--testo)}
.nastri{display:grid;gap:18px;padding-block:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fila{overflow:hidden}
.nastro{display:flex;gap:18px;width:max-content;animation:scorri 90s linear infinite}
.fila.inversa .nastro{animation-direction:reverse;animation-duration:100s}
.fila:hover .nastro,.fila:focus-within .nastro{animation-play-state:paused}
.nastro .rec{width:22rem;flex:none}
@keyframes scorri{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
.voci .voci-foot{padding-block:28px clamp(64px,8vw,100px);display:flex;justify-content:center}
@media (max-width:900px){.voci-head,.in-evidenza{grid-template-columns:1fr}.nastro .rec{width:290px}}
@media (prefers-reduced-motion: reduce){
  .fila{overflow-x:auto}
  .nastro .rec[aria-hidden="true"]{display:none}
}

/* ---------- faq ---------- */
.faq .wrap{padding-block:clamp(40px,6vw,80px) clamp(72px,9vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px)}
.faq details{border-bottom:1px solid var(--linea);padding-block:20px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;font-family:var(--f-display);font-size:1.3rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-body);color:var(--lume-chiaro);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--testo-2);max-width:62ch}
@media (max-width:860px){.faq .wrap{grid-template-columns:1fr}}

/* ---------- audit / cta ---------- */
.audit{background:
  radial-gradient(600px 380px at 15% 20%, rgba(21,122,126,.45), transparent 65%),
  radial-gradient(600px 380px at 90% 90%, rgba(214,51,132,.35), transparent 65%),
  var(--prugna)}
.audit .wrap{padding-block:clamp(72px,9vw,120px);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.audit h2{font-style:italic}
form.card{background:rgba(20,6,15,.65);border:1px solid var(--linea);border-radius:var(--r);padding:clamp(22px,3vw,32px);display:grid;gap:14px}
form.card label{display:grid;gap:6px;font-size:.88rem;color:var(--testo-2)}
form.card input,form.card select{
  font:500 1rem var(--f-body);color:#fff;background:rgba(255,255,255,.05);
  border:1px solid var(--linea);border-radius:10px;padding:.8em .9em;width:100%
}
form.card select option{color:#111}
form.card .ok{font-size:.92rem;color:var(--teal-chiaro)}
@media (max-width:860px){.audit .wrap{grid-template-columns:1fr}}
.nota-privacy{font-size:.8rem;color:var(--testo-2)}
.nota-privacy a{color:var(--lume-chiaro)}
/* ---------- mobile: tocco, iOS, notch ---------- */
html{-webkit-tap-highlight-color:rgba(214,51,132,.18)}
.wrap{padding-left:max(var(--gutter), env(safe-area-inset-left, 0px));padding-right:max(var(--gutter), env(safe-area-inset-right, 0px))}
form.card input,form.card select,.calc input[type=number]{font-size:max(16px, 1rem)}
.calc input[type=range]{height:32px}
.tab{padding:.85em 1.2em}
.seg button{padding:.8em 1.15em}
.faq summary{min-height:44px;align-items:center}
.faq details{padding-block:14px}
.btn{text-align:center}
tr.hl td small{font-weight:400}
.nowrap{white-space:nowrap}
@media (max-width:600px){
  .voci-foot .btn,.calc .btn{width:100%}
  .hero .eyebrow{letter-spacing:.12em}
}
@media (hover:none){
  .btn-lume:hover{transform:none}
  .fila:hover .nastro,.fila:focus-within .nastro{animation-play-state:running}
}
/* link servizi e WhatsApp */
.srv-link{margin-top:auto;justify-self:start;color:var(--lume-chiaro);text-decoration:none;font-weight:600;font-size:.92rem;min-height:44px;display:inline-flex;align-items:center;gap:.4em}
.srv-link:hover{color:#fff}
.srv-link::after{content:"";position:absolute;inset:0}
.srv{position:relative}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
.tab,.seg button,.fase-pick .btn,.btn{min-height:44px}

/* metodo: ogni tappa si accende quando la linea la raggiunge */
.tappa .k,.tappa h3,.tappa p{transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.tappa h3{transition-delay:.06s}.tappa p{transition-delay:.12s}
.js .tappa:not(.on) .k,.js .tappa:not(.on) h3,.js .tappa:not(.on) p{opacity:.3;transform:translateY(10px)}
.tappa.on .dot{animation:tappa-pop .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes tappa-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:none}}
@media (prefers-reduced-motion: reduce){.js .tappa:not(.on) .k,.js .tappa:not(.on) h3,.js .tappa:not(.on) p{opacity:1;transform:none}}
