/* Leggiti — stile unico del sito demo (27/10/2026). Inchiostro, carta, evidenziatore (BRAND-leggiti-v1, sezione 04). */
:root{
  --ink:#101418; --ink2:#1A2027; --ink3:#262E37;
  --paper:#F4F3EE; --paper2:#EAE8E0; --white:#FFFFFF;
  --lime:#D8F45B; --blue:#4B6BFB;
  --muted:#5D636B; --muted-d:#A3A9B0;
  --line:rgba(16,20,24,.12); --line-d:rgba(244,243,238,.14);
  --r:22px; --r-s:14px;
  --f-tit:"Bricolage Grotesque", ui-sans-serif, sans-serif;
  --f-txt:"Figtree", ui-sans-serif, sans-serif;
  --f-ser:"Instrument Serif", Georgia, serif;
  --gut:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-txt);font-size:17px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
.wrap{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--gut)}
.ser{font-family:var(--f-ser);font-style:italic;font-weight:400;letter-spacing:0}
.tit{font-family:var(--f-tit);font-weight:700;letter-spacing:-.015em;line-height:.95;font-variation-settings:"wdth" 88,"opsz" 96}
.h2{font-family:var(--f-tit);font-weight:700;letter-spacing:-.015em;line-height:1;font-size:clamp(40px,6.4vw,92px);font-variation-settings:"wdth" 90,"opsz" 96}
.h3{font-family:var(--f-tit);font-weight:650;letter-spacing:-.02em;line-height:1.05;font-size:clamp(24px,2.6vw,34px)}
.frase{font-size:clamp(18px,1.6vw,22px);color:var(--muted);max-width:34ch}
.scuro .frase{color:var(--muted-d)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:99px}
.pill.ink{background:var(--ink);color:var(--paper)}
.pill.ghost{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.scuro{background:var(--ink);color:var(--paper)}
section{position:relative}
.sez{padding:clamp(80px,11vw,160px) 0}

/* ---------- logo ---------- */
.logo{font-family:var(--f-tit);font-weight:800;letter-spacing:-.04em;text-decoration:none;font-variation-settings:"wdth" 85;display:inline-flex;align-items:baseline}
.logo .i{position:relative;z-index:0;padding:0 .04em}
.logo .i::before{content:"";position:absolute;z-index:-1;left:-.14em;right:-.18em;bottom:.04em;height:.62em;background:var(--lime);border-radius:.3em .12em .35em .1em;transform:rotate(-4deg)}

/* ---------- menu a notch ---------- */
.notch{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;width:min(560px,calc(100% - 24px));background:rgba(16,20,24,.88);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);color:var(--paper);border-radius:28px;box-shadow:0 10px 40px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.07);transition:border-radius .5s var(--ease)}
.notch-barra{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 8px 0 20px;gap:10px}
.notch .logo-img{height:25px;width:auto;display:block}
.notch-dx{display:flex;align-items:center;gap:6px}
.notch-btn{height:38px;padding:0 14px;border-radius:99px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;background:rgba(255,255,255,.08);text-decoration:none;transition:background .25s}
.notch-btn:hover{background:rgba(255,255,255,.16)}
.notch-btn.lime{background:var(--lime);color:var(--ink)}
.conta-carr{min-width:20px;height:20px;border-radius:99px;background:var(--ink);color:var(--lime);font-size:12px;display:inline-grid;place-items:center;padding:0 5px}
.hamb{width:16px;height:10px;position:relative}
.hamb::before,.hamb::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease),top .4s var(--ease)}
.hamb::before{top:0}.hamb::after{top:8px}
.notch.aperto .hamb::before{top:4px;transform:rotate(45deg)}
.notch.aperto .hamb::after{top:4px;transform:rotate(-45deg)}
.notch-pannello{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.notch.aperto .notch-pannello{grid-template-rows:1fr}
.notch-dentro{overflow:hidden}
.notch-voci{list-style:none;padding:6px 10px 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.notch-voci a{display:flex;flex-direction:column;justify-content:flex-end;min-height:84px;border-radius:18px;padding:12px 14px;background:var(--ink3) center/cover no-repeat;text-decoration:none;font-family:var(--f-tit);font-weight:650;font-size:19px;letter-spacing:-.02em;position:relative;overflow:hidden;opacity:0;transform:translateY(-10px);transition:opacity .4s,transform .5s var(--ease)}
.notch-voci a::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,20,24,.05),rgba(16,20,24,.75))}
.notch-voci a span{position:relative}
.notch-voci a small{position:relative;font-family:var(--f-txt);font-weight:500;font-size:12px;opacity:.75;letter-spacing:0}
.notch.aperto .notch-voci a{opacity:1;transform:none}
.notch.aperto .notch-voci li:nth-child(2) a{transition-delay:.05s}.notch.aperto .notch-voci li:nth-child(3) a{transition-delay:.1s}
.notch.aperto .notch-voci li:nth-child(4) a{transition-delay:.15s}.notch.aperto .notch-voci li:nth-child(5) a{transition-delay:.2s}.notch.aperto .notch-voci li:nth-child(6) a{transition-delay:.25s}
.notch-voci a.lime{background:var(--lime);color:var(--ink)}
.notch-voci a.lime::before{display:none}

/* ---------- evidenziatore: la pennellata che passa sotto le parole ---------- */
.ev{position:relative;z-index:0;white-space:nowrap;font:inherit;color:inherit;background:none}
.ev::before{content:"";position:absolute;z-index:-1;left:-.12em;right:-.12em;bottom:.02em;height:.5em;background:url(/img/pennellata.svg) no-repeat 0 0/100% 100%;clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}
.ev.su::before{clip-path:inset(0 0 0 0)}
.ev.alto::before{bottom:.08em;height:.7em}
.ev.blu::before{background-image:url(/img/pennellata-blu.svg)}
.scuro .ev{color:var(--paper)}

/* ---------- comparsa (resta a fine animazione: niente lampeggio) ---------- */
.js .sale{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.js .sale.visto{opacity:1;transform:none}
.js .sale.r2{transition-delay:.1s}.js .sale.r3{transition-delay:.2s}.js .sale.r4{transition-delay:.3s}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:99px;font-weight:700;font-size:16px;text-decoration:none;transition:transform .3s var(--ease),background .3s,box-shadow .3s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn.lime{background:var(--lime);color:var(--ink);box-shadow:0 8px 30px rgba(216,244,91,.25)}
.btn.ink{background:var(--ink);color:var(--paper)}
.btn.vetro{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.btn.linea{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.btn .fr{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover .fr{transform:translateX(4px)}
.btn[disabled]{opacity:.5;pointer-events:none}

/* ---------- apertura ---------- */
.hero{height:100svh;min-height:620px;color:#fff;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink)}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,20,24,.25) 0%,rgba(16,20,24,0) 30%,rgba(16,20,24,.15) 55%,rgba(16,20,24,.8) 100%)}
.hero-testo{position:relative;z-index:2;padding-bottom:clamp(36px,6vw,72px)}
.hero h1{font-size:clamp(58px,11.5vw,190px)}
.hero h1 .ser{font-size:1.08em;display:inline-block;margin-top:.04em}
.hero-sotto{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(20px,3vw,36px)}
.hero-sotto p{font-size:clamp(18px,1.7vw,22px);max-width:30ch;color:rgba(255,255,255,.88)}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.hero-pillole{position:absolute;z-index:2;right:var(--gut);top:clamp(110px,18vh,190px);display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.hero-pillole .pill{font-size:13px;text-transform:none;letter-spacing:0;font-weight:600;padding:9px 14px}
.hero-pillole .pill b{font-weight:800}
.esempio{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;color:#fff}

/* ---------- manifesto Leggiti / Rileggiti ---------- */
.manifesto p.grande{font-family:var(--f-tit);font-weight:650;font-size:clamp(34px,5.4vw,80px);line-height:1.04;letter-spacing:-.03em;max-width:16ch;font-variation-settings:"wdth" 90}
.coppia{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(48px,6vw,80px)}
.carta{border-radius:var(--r);padding:clamp(24px,3vw,40px);min-height:420px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.carta.chiara{background:var(--white)}
.carta.scura{background:var(--ink);color:var(--paper)}
.carta .nome{font-family:var(--f-tit);font-weight:800;font-size:clamp(44px,5vw,72px);letter-spacing:-.04em;line-height:.9;font-variation-settings:"wdth" 85}
.carta .quando{max-width:58%;font-family:var(--f-ser);font-style:italic;font-size:clamp(26px,2.4vw,34px);line-height:1.1;margin-top:10px}
.carta .prezzo{font-family:var(--f-tit);font-weight:700;font-size:clamp(46px,5vw,76px);letter-spacing:-.04em;line-height:1}
.carta .prezzo small{font-size:.3em;font-family:var(--f-txt);font-weight:600;letter-spacing:0;color:var(--muted)}
.carta.scura .prezzo small{color:var(--muted-d)}
.carta .riga{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.carta .foto-angolo{position:absolute;right:-30px;top:-30px;width:46%;aspect-ratio:1;border-radius:50%;object-fit:cover;opacity:.95}

/* ---------- numeri ---------- */
.numeri{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.num{background:var(--ink2);border-radius:var(--r);padding:clamp(22px,2.6vw,34px);min-height:220px;display:flex;flex-direction:column;justify-content:space-between}
.num b{font-family:var(--f-tit);font-weight:700;font-size:clamp(64px,7.6vw,120px);letter-spacing:-.05em;line-height:.9;color:var(--lime);font-variation-settings:"wdth" 80}
.num b small{font-size:.38em;letter-spacing:-.02em;margin-left:4px}
.num > span{color:var(--muted-d);font-size:16px;max-width:20ch}

/* ---------- passi ---------- */
.passi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,5vw,64px)}
.passo{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;background:var(--ink)}
.passo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.passo:hover img{transform:scale(1.04)}
.passo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,20,24,0) 40%,rgba(16,20,24,.85))}
.passo .n{position:absolute;z-index:2;top:18px;left:18px;font-family:var(--f-tit);font-weight:800;font-size:15px;background:var(--lime);color:var(--ink);width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.passo .t{position:absolute;z-index:2;left:22px;right:22px;bottom:22px}
.passo .t h3{font-family:var(--f-tit);font-weight:700;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.03em;line-height:1}
.passo .t p{margin-top:8px;color:rgba(255,255,255,.82);font-size:16px}

/* ---------- prodotti in tessere ---------- */
.tessere{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,5vw,64px)}
.tessera{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;text-decoration:none;background:var(--ink)}
.tessera img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tessera:hover img{transform:scale(1.05)}
.tessera::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,20,24,.35) 0%,rgba(16,20,24,0) 30%,rgba(16,20,24,0) 45%,rgba(16,20,24,.88) 100%)}
.tessera .su{position:absolute;z-index:2;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px}
.tessera .giu{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}
.tessera h3{font-family:var(--f-tit);font-weight:750;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.035em;line-height:1}
.tessera p{color:rgba(255,255,255,.85);font-size:15.5px;margin-top:6px;max-width:30ch}
.tessera .prz{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.2)}
.tessera .prz b{font-family:var(--f-tit);font-size:28px;font-weight:700;letter-spacing:-.03em}
.tessera .prz s{opacity:.6;font-size:15px;margin-left:8px}
.tessera .prz .vai{width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800;transition:transform .4s var(--ease)}
.tessera:hover .vai{transform:rotate(-45deg)}
.tessera.larga{grid-column:span 2;aspect-ratio:auto}

/* ---------- solo benessere ---------- */
.striscia{display:flex;gap:12px;overflow:hidden;margin-top:clamp(40px,5vw,64px);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.striscia-nastro{display:flex;gap:12px;animation:scorri 46s linear infinite;flex-shrink:0}
.striscia figure{position:relative;width:clamp(220px,24vw,320px);aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;flex-shrink:0}
.striscia figure img{width:100%;height:100%;object-fit:cover}
.striscia figcaption{position:absolute;left:12px;bottom:12px}
@keyframes scorri{to{transform:translateX(calc(-100% - 12px))}}
.no-griglia{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:end}
.no-lista{list-style:none;display:grid;gap:10px}
.no-lista li{display:flex;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line-d);font-size:clamp(18px,1.6vw,21px)}
.no-lista li b{font-family:var(--f-tit);color:var(--lime);font-weight:700;min-width:2.2em}

/* ---------- area personale: telefono ---------- */
.area{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.telefono{width:min(360px,86vw);margin:0 auto;aspect-ratio:9/18.5;border-radius:48px;background:var(--ink);padding:12px;box-shadow:0 40px 80px rgba(16,20,24,.25),inset 0 0 0 2px #2c333b;position:relative}
.telefono::before{content:"";position:absolute;top:22px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:99px;background:#000;z-index:3}
.schermo{height:100%;border-radius:38px;background:var(--paper);overflow:hidden;padding:62px 20px 20px;display:flex;flex-direction:column;gap:14px}
.schermo .ciao{font-family:var(--f-tit);font-weight:700;font-size:26px;letter-spacing:-.03em;line-height:1}
.schermo .scheda{background:var(--white);border-radius:18px;padding:14px 16px;font-size:14.5px;line-height:1.45}
.schermo .scheda small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.schermo .barra{height:8px;border-radius:9px;background:var(--paper2);margin-top:10px;overflow:hidden}
.schermo .barra i{display:block;height:100%;width:0;background:var(--blue);border-radius:9px;transition:width 1.4s var(--ease) .3s}
.visto .schermo .barra i{width:var(--w)}
.schermo .bott{margin-top:auto;height:48px;border-radius:99px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-weight:700;font-size:14px}

/* ---------- FAQ ---------- */
.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--f-tit);font-weight:650;font-size:clamp(21px,2vw,27px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-style:normal;transition:transform .4s var(--ease)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--muted);font-size:18px;max-width:60ch}

/* ---------- piede con nome gigante ---------- */
.piede{background:var(--ink);color:var(--paper);padding-top:clamp(64px,8vw,110px);overflow:hidden}
.piede-righe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;font-size:15px;color:var(--muted-d)}
.piede-righe a{text-decoration:none;color:var(--paper)}
.piede-righe ul{list-style:none;display:grid;gap:8px}
.piede-righe h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-d);margin-bottom:10px;font-weight:700}
.gigante-fondo{background:var(--ink);overflow:hidden;padding:0 var(--gut) clamp(14px,2vw,28px)}
.gigante{display:block;width:100%;height:auto;clip-path:inset(0 100% 0 0);transition:clip-path 1.6s var(--ease)}
.gigante.su{clip-path:inset(0 0 0 0)}
.demo-nota{font-size:13px;color:var(--muted-d);padding:18px 0 22px;border-top:1px solid var(--line-d);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- banner prova ---------- */
.banner-prova{background:var(--lime);color:var(--ink);text-align:center;font-weight:700;font-size:15px;padding:12px var(--gut);position:relative;z-index:5}
.banner-prova b{font-weight:800}
.prima{padding-top:96px}

/* ---------- pagine interne ---------- */
.testata{padding:150px 0 50px}
.testata h1{font-size:clamp(52px,9vw,140px)}
.prodotto-alto{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);padding-top:96px;align-items:start}
.prodotto-foto{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;position:sticky;top:90px}
.prodotto-foto img{width:100%;height:100%;object-fit:cover}
.prodotto-info{padding:clamp(8px,3vw,40px) 0}
.prodotto-info h1{font-size:clamp(52px,6.4vw,100px);margin:14px 0 8px}
.prodotto-info .sott{font-family:var(--f-ser);font-style:italic;font-size:clamp(26px,2.4vw,34px);line-height:1.1}
.prodotto-info .frase{margin-top:18px;color:var(--ink);font-size:clamp(20px,1.8vw,24px)}
.prezzo-big{font-family:var(--f-tit);font-weight:700;font-size:clamp(56px,6vw,88px);letter-spacing:-.04em;line-height:1;margin-top:28px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.prezzo-big s{font-size:.35em;color:var(--muted);font-weight:500}
.prezzo-big small{font-family:var(--f-txt);font-size:15px;font-weight:600;color:var(--muted);letter-spacing:0}
.scelta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.scelta label{border-radius:var(--r-s);padding:14px 16px;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;display:block;transition:box-shadow .25s}
.scelta input{position:absolute;opacity:0;pointer-events:none}
.scelta label:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink)}
.scelta b{display:block;font-family:var(--f-tit);font-size:24px;letter-spacing:-.03em}
.scelta span{font-size:14px;color:var(--muted)}
.aggiungi{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.aree{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.aree li{padding:9px 14px;border-radius:99px;background:var(--white);font-weight:600;font-size:15px;box-shadow:inset 0 0 0 1px var(--line)}
.fatti{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:30px}
.fatti div{background:var(--white);border-radius:var(--r-s);padding:16px}
.fatti small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.fatti b{font-family:var(--f-tit);font-size:21px;letter-spacing:-.02em;font-weight:650}
.nonfa{margin-top:30px;padding:20px;border-radius:var(--r-s);background:var(--ink);color:var(--paper);font-size:18px}
.nonfa small{display:block;color:var(--lime);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.compra-fisso{display:none}

/* carrello */
.carrello{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(20px,3vw,40px);align-items:start;padding-bottom:120px}
.righe{display:grid;gap:10px}
.riga-c{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;background:var(--white);border-radius:var(--r);padding:12px}
.riga-c img{width:96px;height:96px;border-radius:14px;object-fit:cover}
.riga-c h3{font-family:var(--f-tit);font-size:22px;letter-spacing:-.02em;font-weight:700;line-height:1.1}
.riga-c p{color:var(--muted);font-size:14px}
.qta{display:inline-flex;align-items:center;gap:4px;margin-top:8px;background:var(--paper);border-radius:99px;padding:3px}
.qta button{width:32px;height:32px;border-radius:50%;background:var(--white);font-weight:700}
.qta span{min-width:24px;text-align:center;font-weight:700}
.riga-c .dx{text-align:right;display:grid;gap:8px;justify-items:end}
.riga-c .dx b{font-family:var(--f-tit);font-size:22px;letter-spacing:-.02em}
.togli{font-size:13px;color:var(--muted);text-decoration:underline}
.riepilogo{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:clamp(22px,2.6vw,32px);position:sticky;top:90px}
.riepilogo .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line-d);margin-top:14px;padding-top:18px}
.riepilogo .tot b{font-family:var(--f-tit);font-size:52px;letter-spacing:-.04em;line-height:1}
.riepilogo .lr{display:flex;justify-content:space-between;color:var(--muted-d);font-size:15px;padding:4px 0}
.riepilogo input{width:100%;height:52px;border-radius:14px;border:0;background:var(--ink3);color:var(--paper);padding:0 16px;font:inherit;margin-top:6px}
.riepilogo label{font-size:13px;color:var(--muted-d);display:block;margin-top:18px}
.riepilogo .btn{width:100%;margin-top:18px;height:60px;font-size:17px}
.sicuro{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;color:var(--muted-d);margin-top:12px}
.nota-abb{font-size:13.5px;color:var(--lime);margin-top:12px}
.vuoto{background:var(--white);border-radius:var(--r);padding:40px;text-align:center}
.errore{color:#ffb4a8;font-size:14px;margin-top:10px;min-height:1em}

/* resoconto (area personale) */
.resoconto{max-width:880px}
.resoconto article{background:var(--white);border-radius:var(--r);padding:clamp(22px,3vw,40px);margin-top:14px}
.resoconto article small{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.resoconto article h2{font-family:var(--f-tit);font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;line-height:1.05;margin:6px 0 14px}
.resoconto article p{font-size:clamp(19px,1.8vw,23px);line-height:1.5;max-width:46ch}
.resoconto .prova-bollo{display:inline-block;background:var(--ink);color:var(--lime);font-weight:700;font-size:13px;padding:8px 14px;border-radius:99px}
.cosa-provare{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);font-size:16px;color:var(--muted)}
.cosa-provare b{color:var(--ink)}

/* ---------- telefono ---------- */
@media (max-width:900px){
  .coppia,.area,.no-griglia,.prodotto-alto,.carrello{grid-template-columns:1fr}
  .numeri{grid-template-columns:1fr 1fr}
  .passi{grid-template-columns:1fr;gap:10px}
  .passo{aspect-ratio:4/3}
  .tessere{grid-template-columns:1fr;gap:10px}
  .tessera{aspect-ratio:4/5}
  .tessera.larga{grid-column:auto;aspect-ratio:4/5}
  .carta{min-height:360px}
  .hero-pillole{top:84px;right:var(--gut);left:var(--gut);align-items:flex-start}
  .hero-pillole .pill.ghost:last-child{display:none}
  .carta .quando{max-width:none;margin-top:14px}
  .carta .foto-angolo{width:38%;right:-20px;top:-20px}
  .prodotto-foto{position:relative;top:0;aspect-ratio:4/3.4}
  .prodotto-alto{padding-top:76px}
  .compra-fisso{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:40;background:var(--ink);color:var(--paper);border-radius:99px;padding:8px 8px 8px 22px;align-items:center;justify-content:space-between;box-shadow:0 10px 30px rgba(0,0,0,.3);transform:translateY(120%);transition:transform .5s var(--ease)}
  .compra-fisso.su{transform:none}
  .compra-fisso b{font-family:var(--f-tit);font-size:22px;letter-spacing:-.02em}
  .compra-fisso .btn{height:46px;padding:0 20px}
  .riepilogo{position:relative;top:0}
  .riga-c{grid-template-columns:72px 1fr;}
  .riga-c img{width:72px;height:72px}
  .riga-c .dx{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
}
@media (max-width:520px){
  body{font-size:16px}
  .num{min-height:170px}
  .num > span{font-size:14px}
  .notch-voci a{min-height:74px;font-size:17px}
  .hero-sotto{flex-direction:column;align-items:flex-start}
  .hero-cta .btn{height:52px;padding:0 20px}
  .fatti{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .sale{opacity:1;transform:none}
  .ev::before,.gigante .i::before{clip-path:none}
  html{scroll-behavior:auto}
}

/* evidenziatore su piu' righe (testi lunghi: area personale, telefono) */
.ev.riga{white-space:normal;background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 88%/0% 46%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.2s var(--ease);padding:0 .08em;border-radius:3px}
.ev.riga::before{display:none}
.ev.riga.su{background-size:100% 46%}
.ev.riga.blu{background-image:linear-gradient(rgba(75,107,251,.35),rgba(75,107,251,.35))}
@media (prefers-reduced-motion:reduce){.js .gigante{clip-path:none}.ev.riga{background-size:100% 46%}}

/* giro 3: la corritrice di Rileggiti sta a destra nella foto; evidenziato leggibile nelle carte scure */
img[src*="corsa-lago"]{object-position:74% 50%}
.carta-scura{background:var(--ink)!important;color:var(--paper)}
.carta-scura .ev.riga{color:var(--ink)}
