/* Sorsata — foglio di stile */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/instrument-sans.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url(fonts/newsreader-italic.woff2) format("woff2")}
:root{
 --paper:#F4F0E8;--paper2:#EAE3D5;--card:#FFFDF8;--ink:#191814;--ink2:#4A463E;--mute:#878175;--line:#DCD3C2;
 --cobalto:#2343C8;--cobalto-d:#172F96;--cielo:#DDE4FB;--arancia:#FF6A3D;--arancia-d:#D9481E;--burro:#F6E3A1;--salvia:#4E7A4F;--err:#B42318;
 --hd:"Archivo","Arial Narrow",Arial,sans-serif;--tx:"Instrument Sans","Helvetica Neue",Arial,sans-serif;--se:"Newsreader",Georgia,serif;
 --mx:1280px;--col:720px;--r:22px;--r-s:14px;
 --sh:0 1px 0 rgba(25,24,20,.06),0 12px 30px -18px rgba(25,24,20,.35);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--tx);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--cobalto);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--cobalto-d)}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--arancia);outline-offset:2px;border-radius:6px}
::selection{background:var(--burro)}
sup a{font-weight:700;text-decoration:none;font-size:.78em;padding:0 2px}
h1,h2,h3,h4{margin:0}
p{margin:0 0 1em}
.mx{max-width:var(--mx);margin:0 auto;padding:0 28px}
.narrow{max-width:960px}
.small{font-size:.86rem;color:var(--mute);line-height:1.5}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:200}
.skip:focus{left:8px}
.readbar{position:fixed;inset:0 0 auto;height:3px;z-index:120;pointer-events:none}
.readbar i{display:block;height:100%;width:0;background:var(--arancia)}

/* type */
.h1,.h2,.h3{font-family:var(--hd);font-stretch:68%;font-weight:850;text-transform:uppercase;letter-spacing:-.005em;line-height:.93;color:var(--ink)}
.h1{font-size:clamp(2.6rem,6.2vw,5.4rem)}
.h2{font-size:clamp(2rem,3.9vw,3.25rem)}
.h3{font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1}
.h1 em,.h2 em,.h3 em{font-family:var(--se);font-style:italic;font-weight:500;text-transform:none;font-stretch:normal;color:var(--cobalto);letter-spacing:-.03em;font-size:1.04em;line-height:.9}
.kick{font-family:var(--hd);font-stretch:85%;font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;color:var(--arancia-d);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.kick .dot{width:8px;height:8px;border-radius:50%;background:var(--arancia);display:inline-block}
.lead{font-size:1.16rem;line-height:1.55;color:var(--ink2);max-width:56ch}
.lead2{font-family:var(--se);font-style:italic;font-size:1.22rem;line-height:1.45;color:var(--ink2);margin:14px 0 0;max-width:58ch}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:2px solid transparent;border-radius:999px;padding:13px 24px;font:700 .98rem/1 var(--tx);text-decoration:none;transition:transform .15s,background .15s,color .15s,box-shadow .15s;white-space:nowrap}
.btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-co{background:var(--cobalto);color:#fff;box-shadow:0 4px 0 var(--cobalto-d)}
.btn-co:hover{background:var(--cobalto-d);color:#fff}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#000;color:#fff}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-sm{padding:9px 16px;font-size:.88rem}
.btn-wide{width:100%}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pill{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:9px 18px;font:700 .82rem/1 var(--hd);font-stretch:90%;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:2px solid var(--ink)}
.pill-ink{background:var(--ink);color:var(--paper)}
.pill-line{background:var(--card);color:var(--ink)}
.pill-line:hover{background:var(--ink);color:var(--paper)}
.bars{display:inline-grid;gap:4px}.bars i{display:block;width:16px;height:2px;background:currentColor}.bars i+i{width:10px}

/* top bars */
.adbar{background:var(--ink);color:#D9D4C8;font-size:.82rem;line-height:1.4;padding:8px 0}
.adbar .mx{display:flex;align-items:center;gap:12px}
.adbar p{margin:0}
.adbar a{color:#fff}
.adtag{flex:none;font:800 .68rem/1 var(--hd);letter-spacing:.12em;text-transform:uppercase;background:var(--arancia);color:var(--ink);padding:5px 8px;border-radius:4px}
.usp svg,.cod svg,.fct svg,.ovm-ct svg,.fbadges svg,.util .ct svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}

/* header (altezza costante: niente salti durante lo scroll) */
.hdr{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:2px solid var(--ink);transition:box-shadow .2s}
.hdr.sm{box-shadow:0 10px 30px -22px rgba(0,0,0,.55)}
.hdr-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;height:74px}
.logo{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}
.logo .mark{width:30px;height:38px;color:var(--ink);flex:none}
.lw{display:flex;flex-direction:column}
.logo b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:2.3rem;letter-spacing:-.01em;line-height:.82}
.logo small{font-family:var(--se);font-style:italic;font-size:.82rem;color:var(--mute);line-height:1.1;white-space:nowrap}
.hnav{justify-self:center;display:flex;align-items:center;gap:2px;background:var(--card);border:1.5px solid var(--ink);border-radius:999px;padding:4px}
.hnav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;padding:8px 15px;border-radius:999px;transition:background .15s,color .15s}
.hnav a:hover{background:var(--paper2)}
.hnav a[aria-current]{background:var(--cobalto);color:#fff}
.hsep{width:5px;height:5px;border-radius:50%;background:var(--arancia);margin:0 6px}
.hr{display:flex;align-items:center;gap:10px}
.cartbtn{display:inline-flex;align-items:center;gap:9px;background:var(--cobalto);color:#fff;text-decoration:none;border-radius:999px;padding:8px 16px 8px 13px;font-weight:700;font-size:.9rem;box-shadow:0 3px 0 var(--cobalto-d);transition:transform .15s}
.cartbtn:hover{color:#fff;transform:translateY(-1px)}
.cartbtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.cartbtn .n{min-width:22px;height:22px;border-radius:11px;background:var(--arancia);color:#fff;display:inline-grid;place-items:center;font-size:.76rem;padding:0 6px}
.cartbtn .cs{font-variant-numeric:tabular-nums;opacity:.85}
.cartbtn.bump{animation:bump .5s}
@keyframes bump{30%{transform:scale(1.12) rotate(-3deg)}60%{transform:scale(.96)}}
.burger{width:46px;height:46px;border-radius:50%;border:2px solid var(--ink);background:var(--card);display:grid;place-content:center;gap:4px;padding:0}
.burger i{display:block;width:18px;height:2px;background:var(--ink);border-radius:1px}
.burger i:nth-child(2){width:12px;justify-self:end}
.burger:hover{background:var(--ink)}.burger:hover i{background:var(--paper)}
.util{background:var(--cielo);font-size:.84rem;color:var(--ink)}
.util .mx{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.usp{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.usp li{display:flex;align-items:center;gap:7px}
.usp svg{color:var(--cobalto)}
.util .ct{display:flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:none}

/* rail (fuori dall'header, non sticky) */
.rail{border-bottom:1px solid var(--line);padding:14px 0 16px}
.rail-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.rail-top p{margin:0;font:800 .78rem/1 var(--hd);letter-spacing:.1em;text-transform:uppercase}
.rail-top p span{color:var(--mute);font-weight:600}
.rail-top a{font-size:.86rem;font-weight:700}
.rail-in{max-width:var(--mx);margin:0 auto;padding:2px 28px 4px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:28px;overscroll-behavior-x:contain}
.rail-in::-webkit-scrollbar{display:none}
.rail-in a{flex:0 0 auto;width:212px;scroll-snap-align:start;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:7px 12px 7px 7px;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.rail-in a:hover{border-color:var(--ink);transform:translateY(-2px)}
.rail-in .ph{width:48px;border-radius:11px}
.rail-in b{display:block;font-size:.8rem;line-height:1.15}
.rail-in small{font-size:.72rem;color:var(--mute)}
.rail-in em{font:900 1.5rem/1 var(--hd);font-stretch:62%;font-style:normal;color:var(--cobalto)}
.rail-in em i{font-style:normal;font-size:.8rem;margin-left:1px}

/* overlay menu */
.ovm{position:fixed;inset:0;z-index:150;background:var(--paper);overflow:auto;animation:ovin .28s ease-out}
@keyframes ovin{from{opacity:0;transform:translateY(-12px)}}
.ovm-in{padding-top:18px;padding-bottom:40px}
.ovm-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:14px}
.ovm-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-top:30px}
.ovm-big{display:flex;flex-direction:column}
.ovm-big a{font-family:var(--hd);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1;color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:16px;transition:color .15s,padding .2s}
.ovm-big a:hover{color:var(--cobalto);padding-left:10px}
.ovm-big i{font-style:normal;font-size:.9rem;font-stretch:100%;color:var(--arancia-d);letter-spacing:.06em}
.ovm-lab{font-family:var(--hd);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--mute);margin-bottom:10px}
.ovm-rec{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ovm-rec a{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);padding:6px;border-radius:12px}
.ovm-rec a:hover{background:var(--card)}
.ovm-rec .ph{width:48px;height:48px;border-radius:12px;flex:none}
.ovm-rec b{display:block;font-size:.9rem;line-height:1.2}
.ovm-rec small{color:var(--mute);font-size:.78rem}
.ovm-ct{display:flex;flex-direction:column;gap:8px}
.ovm-ct a{display:flex;gap:8px;align-items:center;color:var(--ink);font-weight:600}
body.lock{overflow:hidden}

/* photos */
.ph{margin:0;position:relative;overflow:hidden;background:var(--paper2);border-radius:var(--r-s)}
.ph img{width:100%;height:100%;object-fit:cover}
.r1{aspect-ratio:1}.r43{aspect-ratio:4/3}.r45{aspect-ratio:4/5}.r169{aspect-ratio:16/9}
.ph.noimg img{display:none}
.ph.noimg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,var(--paper2) 0 10px,var(--line) 10px 11px)}

/* hero */
.hero{padding:56px 0 30px;position:relative;overflow-x:clip}
.hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero .h1{margin-bottom:22px}
.byline{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem;color:var(--mute);margin:0}
.byline span{display:flex;align-items:center;gap:6px}
.byline svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.hero-vis{position:relative;display:grid;grid-template-columns:1fr;min-height:540px}
.hv-photo{position:absolute;inset:0 0 0 22%;border-radius:28px;overflow:hidden;transform:rotate(1.2deg)}
.hv-photo .ph{height:100%;border-radius:0}
.hv-cap,.rh-img .hv-cap{position:absolute;right:12px;bottom:12px;background:rgba(25,24,20,.62);color:#fff;font-size:.7rem;padding:4px 9px;border-radius:999px}
.hv-glass{position:absolute;left:0;bottom:26px;width:236px;background:var(--card);border:2px solid var(--ink);border-radius:24px;padding:16px 18px 18px;box-shadow:8px 8px 0 var(--ink);transform:rotate(-2deg)}
.hv-lab{font-family:var(--hd);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--mute);margin:0 0 6px}
.glass{width:100%;height:auto;display:block}
.glass .gbg{fill:var(--paper)}
.glass .lay{transition:y .9s cubic-bezier(.3,.9,.3,1),height .9s cubic-bezier(.3,.9,.3,1),fill .9s}
.glass .shine{fill:#fff;opacity:.35}
.glass .tg{font:700 13px var(--tx);fill:var(--arancia-d)}
.hv-glass .glass{max-width:150px;margin:0 auto}
.hv-name{display:block;text-decoration:none;color:var(--ink);text-align:center;margin-top:8px;min-height:3em}
.hv-name b{display:block;font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:1.08rem;line-height:1.05}
.hv-name small{color:var(--cobalto);font-weight:700}
.hv-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}
.hv-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--line)}
.hv-dots button[aria-current]{background:var(--arancia);width:20px;border-radius:4px}
.stamp{position:absolute;right:-10px;top:-18px;width:118px;height:118px;animation:spin 22s linear infinite}
.stamp text{font:700 10.5px var(--tx);letter-spacing:.14em;text-transform:uppercase;fill:#fff}
.stamp .big{font:900 34px var(--hd);font-stretch:62%;letter-spacing:0;animation:spin 22s linear infinite reverse;transform-origin:60px 60px}
.stamp .sm{font:700 11px var(--tx);letter-spacing:.1em;animation:spin 22s linear infinite reverse;transform-origin:60px 60px}
@keyframes spin{to{transform:rotate(360deg)}}
.facts{list-style:none;margin:46px 0 0;padding:22px 0 0;border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.facts li{display:flex;gap:12px;align-items:flex-start}
.facts b{white-space:nowrap;font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:3rem;line-height:.8;color:var(--cobalto)}
.facts span{font-size:.86rem;line-height:1.35;color:var(--ink2)}

/* ticker */
.tick-wrap{overflow:hidden;padding:14px 0;margin-top:16px}
.ticker{background:var(--ink);color:var(--paper);overflow:hidden;padding:13px 0;transform:rotate(-1deg);margin:0 -20px}
.ticker div{display:flex;width:max-content;animation:tick 38s linear infinite}
.ticker span{font-family:var(--hd);font-stretch:70%;font-weight:800;text-transform:uppercase;font-size:1.3rem;letter-spacing:.02em;padding:0 22px;display:flex;align-items:center;gap:44px}
.ticker span::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--arancia);margin-left:22px}
@keyframes tick{to{transform:translateX(-50%)}}

/* generic sections */
.sec{padding:64px 0}
.sec.alt{background:var(--paper2)}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.seg{display:inline-flex;background:var(--card);border:2px solid var(--ink);border-radius:999px;padding:3px}
.seg button{border:0;background:none;border-radius:999px;padding:8px 16px;font-weight:700;font-size:.9rem}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.seg-sm button{padding:5px 12px;font-size:.8rem}

/* recipe cards */
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rgrid.g3{grid-template-columns:repeat(3,1fr)}
.rc{position:relative;display:block;color:var(--ink);text-decoration:none}
.rc .ph{border-radius:20px;transition:border-radius .3s}
.rc .ph img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.rc:hover .ph img{transform:scale(1.06)}
.rc:hover .ph{border-radius:20px 20px 60px 20px}
.rc .chip{position:absolute;left:12px;top:12px}
.rc-in{display:block;padding:12px 2px 0}
.rc-in b{display:block;font-family:var(--hd);font-stretch:72%;font-weight:800;text-transform:uppercase;font-size:1.28rem;line-height:1.02}
.rc .meta{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--ink2);margin-top:6px}
.gbar{width:46px;height:6px;border-radius:3px;background:var(--line);overflow:hidden;flex:none}
.gbar i{display:block;height:100%;width:var(--g);background:var(--cobalto)}
.rc.hide{display:none}
.chip{display:inline-flex;align-items:center;font:700 .7rem/1 var(--hd);font-stretch:90%;text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:6px 10px}
.chip-frullatore{background:var(--burro);color:var(--ink)}
.chip-shaker{background:var(--cobalto);color:#fff}

/* article */
.art{display:grid;grid-template-columns:240px minmax(0,var(--col));gap:70px;justify-content:center;padding-top:70px;padding-bottom:40px}
.toc{position:sticky;top:110px;align-self:start;font-size:.9rem}
.toc>p{font-family:var(--hd);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--mute);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:6px 0;color:var(--ink2);text-decoration:none;border-left:2px solid var(--line);padding-left:12px;transition:border-color .2s,color .2s}
.toc a::before{content:counter(t,decimal-leading-zero);font:700 .74rem/1.9 var(--hd);color:var(--mute)}
.toc a.on{border-color:var(--arancia);color:var(--ink);font-weight:700}
.tprog{height:4px;background:var(--line);border-radius:2px;margin-top:16px;overflow:hidden}
.tprog i{display:block;height:100%;width:0;background:var(--cobalto)}
.body>section{margin-top:76px;scroll-margin-top:120px}
.body h3{font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin:0 0 8px}
.body h4{font-family:var(--hd);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--mute);margin:0 0 10px}
.drop::first-letter{font-family:var(--hd);font-stretch:62%;font-weight:900;float:left;font-size:5.4rem;line-height:.78;margin:6px 10px 0 0;color:var(--cobalto)}
.drop{font-size:1.1rem}
.sh{margin-bottom:22px}
.sh .no{display:inline-block;font:800 .8rem/1 var(--hd);letter-spacing:.1em;color:var(--paper);background:var(--arancia-d);padding:6px 9px;border-radius:6px;margin-bottom:14px;transform:rotate(-2deg)}
figure.wide{margin:30px -60px;position:relative}
figure.wide .ph{border-radius:var(--r)}
figcaption{font-family:var(--se);font-style:italic;color:var(--mute);font-size:.95rem;margin-top:10px;padding-left:60px}

/* fibre chart */
.fchart{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px 14px;margin:20px 0 10px}
.fc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:700}
.fc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fc-list li{display:grid;grid-template-columns:44px minmax(120px,1.1fr) 1.4fr 52px;gap:14px;align-items:center;padding:8px 0;border-top:1px dashed var(--line);transition:background .2s}
.fc-list li:first-child{border-top:0}
.fc-list .ph{border-radius:50%}
.fl b{display:block;font-size:.95rem;line-height:1.2}
.fl small{color:var(--mute);font-size:.78rem}
.fbar{height:14px;background:var(--paper);border-radius:7px;overflow:hidden}
.fbar i{display:block;height:100%;width:0;background:var(--c);border-radius:7px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.fchart.in .fbar i{width:var(--w)}
.fv{font-family:var(--hd);font-stretch:75%;font-weight:800;font-size:1.1rem;text-align:right}

/* builder */
.builder{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;background:var(--cobalto);border-radius:28px;padding:22px;margin:18px 0 26px;color:#fff;position:relative;overflow:hidden}
.builder::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(255,255,255,.07)}
.bpick{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.bpick button{display:flex;align-items:center;gap:10px;text-align:left;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.22);color:#fff;border-radius:14px;padding:7px 10px 7px 7px;transition:background .15s,transform .15s,border-color .15s}
.bpick button:hover{background:rgba(255,255,255,.16)}
.bpick button[aria-pressed=true]{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.bpick .ph{width:40px;height:40px;border-radius:10px;flex:none}
.bpick b{display:block;font-size:.88rem;line-height:1.15}
.bpick small{font-size:.74rem;opacity:.75}
.bglass{background:var(--paper);color:var(--ink);border-radius:20px;padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.bglass .glass{max-width:170px}
.bnum{margin:0;display:flex;align-items:baseline;gap:8px}
.bnum b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:3.2rem;line-height:1;color:var(--cobalto)}
.bmsg{margin:0;font-size:.9rem;color:var(--ink2);min-height:2.8em}

/* types, water, claims */
.types,.claims{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 22px}
.type,.claims article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.type>div,.claims article>div{padding:16px 18px 18px}
.type .ph,.claims .ph{border-radius:0}
.type p,.claims p{font-size:.95rem;margin-bottom:.6em}
.type h3{font-size:1.6rem}
.where{color:var(--ink2)}
.water{display:flex;gap:18px;align-items:center;background:var(--ink);color:var(--paper);border-radius:var(--r);padding:16px;margin:24px 0}
.water .ph{width:120px;flex:none;border-radius:16px}
.water b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:2.6rem;line-height:1;color:var(--arancia)}
.water p{margin:4px 0 0;font-size:.94rem;color:#D9D4C8}
.water sup a{color:var(--burro)}
.big30{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:3.6rem;line-height:1;color:var(--arancia);padding:0 10px}

/* compare + quiz */
.cmp{overflow-x:auto;margin:22px 0}
.cmp table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;font-size:.94rem}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cmp thead th{font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:1.05rem;background:var(--paper2);text-align:center}
.cmp thead img{width:56px;height:56px;object-fit:contain;margin:0 auto 6px;background:#fff;border-radius:12px}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp tbody th{font-weight:600;width:42%}
.cmp td{text-align:center}
.cmp .y{color:var(--salvia);font-weight:700}
.cmp .y::before{content:"✓ "}
.cmp .n{color:var(--mute)}
.cmp .n::before{content:"– "}
.quiz{background:var(--burro);border-radius:28px;padding:24px;margin:28px 0;position:relative}
.quiz h3{font-size:1.9rem;margin-bottom:14px}
.qq{border:0;padding:0;margin:0 0 16px}
.qq legend{font-weight:700;margin-bottom:8px;display:flex;gap:10px;align-items:center}
.qq legend span{font:800 .74rem/1 var(--hd);background:var(--ink);color:var(--burro);padding:5px 7px;border-radius:5px}
.qq label{display:inline-flex;margin:0 6px 6px 0;cursor:pointer}
.qq input{position:absolute;opacity:0;pointer-events:none}
.qq label span{border:2px solid var(--ink);border-radius:999px;padding:8px 14px;font-weight:600;font-size:.92rem;background:rgba(255,255,255,.5);transition:background .15s}
.qq input:checked+span{background:var(--ink);color:var(--burro)}
.qq input:focus-visible+span{outline:3px solid var(--cobalto);outline-offset:2px}
.qres{background:var(--card);border:2px solid var(--ink);border-radius:20px;padding:16px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;animation:pop .35s}
.qres img{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:14px}
.qres .imgs{display:flex;gap:6px}
.qres h4{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.45rem;color:var(--ink);letter-spacing:0;margin:0 0 4px}
.qres p{margin:0 0 10px;font-size:.94rem}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}

/* product card */
.pcard{display:grid;grid-template-columns:230px 1fr;background:var(--card);border:2px solid var(--ink);border-radius:26px;overflow:hidden;margin:30px 0;box-shadow:6px 6px 0 var(--cobalto)}
.pc-img{background:linear-gradient(160deg,var(--cielo),#fff);position:relative;display:grid;place-items:center;padding:18px}
.pc-img img{width:100%;max-width:190px;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}
.sticker{position:absolute;left:12px;top:12px;background:var(--arancia);color:#fff;font:900 1.15rem/1 var(--hd);font-stretch:66%;white-space:nowrap;padding:0;border-radius:50%;width:80px;height:80px;display:grid;place-items:center;text-align:center;transform:rotate(-10deg);box-shadow:0 3px 0 var(--arancia-d)}
.pc-txt{padding:22px 24px}
.pc-txt h3{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.55rem;line-height:1.02;margin-bottom:8px}
.pc-txt p{font-size:.95rem;color:var(--ink2)}
.pc-txt .row{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px}
.pcard.in{animation:pop .5s}

/* recipe rows */
.rtools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 16px}
.sel{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}
.sel select{font:inherit;font-weight:600;border:2px solid var(--ink);border-radius:999px;padding:7px 14px;background:var(--card);color:var(--ink)}
.rlist{display:flex;flex-direction:column;gap:10px}
.rrow{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.rrow.open{border-color:var(--ink);box-shadow:var(--sh)}
.rrow-h{width:100%;display:grid;grid-template-columns:70px 1fr auto 34px;gap:14px;align-items:center;background:none;border:0;text-align:left;padding:10px 14px 10px 10px}
.rrow-h .ph{border-radius:14px}
.rrow-t b{display:block;font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.3rem;line-height:1.02}
.rrow .meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.84rem;color:var(--ink2);margin-top:5px}
.gnum{font-size:.8rem;color:var(--mute);text-align:right}
.gnum b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:2rem;color:var(--cobalto);line-height:1}
.plus{width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);position:relative;transition:transform .25s,background .2s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.rrow.open .plus{transform:rotate(45deg);background:var(--ink);color:var(--paper)}
.rrow-b{padding:4px 22px 20px}
.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 16px}
.thumbs span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.74rem;color:var(--ink2);width:66px;text-align:center;line-height:1.15}
.thumbs .ph{width:56px;border-radius:50%;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line)}
.thumbs.big span{width:84px}.thumbs.big .ph{width:72px}
.cols{display:grid;grid-template-columns:1fr 1.25fr;gap:26px}
.ing{list-style:none;margin:0;padding:0}
.ing li{position:relative;padding:8px 0 8px 32px;border-bottom:1px dashed var(--line);cursor:pointer;transition:color .2s}
.ing li::before{content:"";position:absolute;left:0;top:10px;width:20px;height:20px;border:2px solid var(--ink);border-radius:6px;transition:background .15s}
.ing li.done{color:var(--mute);text-decoration:line-through}
.ing li.done::before{background:var(--salvia) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.4'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--salvia)}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:4px 0 12px 42px}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font:800 .9rem/28px var(--hd);text-align:center}
.steps.big li{font-size:1.08rem;padding-bottom:18px}
.tip{background:var(--burro);border-radius:14px;padding:12px 16px 12px 46px;position:relative;font-size:.95rem;margin:10px 0}
.tip::before{content:"!";position:absolute;left:14px;top:12px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--burro);font:900 .85rem/22px var(--hd);text-align:center}
.lnk{font-weight:700}
.rrow.hide{display:none}

/* week */
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0 0;align-items:end}
.week button{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.wb{height:150px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.wb i{display:block;height:var(--h);background:var(--paper2);border:2px solid var(--ink);border-bottom:0;border-radius:12px 12px 0 0;transition:background .2s,height .6s}
.wb em{position:absolute;left:0;right:0;bottom:calc(var(--h) + 4px);font:800 .82rem var(--hd);font-style:normal;text-align:center}
.week .ph{width:44px;border-radius:50%;border:2px solid var(--ink)}
.week b{font:800 .86rem var(--hd);text-transform:uppercase;letter-spacing:.05em}
.week button[aria-pressed=true] .wb i{background:var(--cobalto)}
.week button:hover .wb i{background:var(--cielo)}
.week button[aria-pressed=true]:hover .wb i{background:var(--cobalto)}
.dayout{border-top:2px solid var(--ink);padding:14px 2px;min-height:58px;font-size:1rem}
.dayout b{font-family:var(--hd);text-transform:uppercase}
.shop-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--card);border:1px dashed var(--ink);border-radius:20px;padding:16px 18px;margin:8px 0 14px}
.shop-cta p{margin:2px 0 0;font-size:.9rem;color:var(--ink2)}

/* errors */
.errs{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.err{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.err:first-child{grid-column:1/-1}
.err button{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;text-align:left;padding:16px 18px}
.en{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:2.8rem;line-height:.8;color:var(--arancia)}
.err b{flex:1;font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:1.15rem;line-height:1.05}
.more{font-size:.78rem;font-weight:700;color:var(--cobalto);white-space:nowrap}
.err p{padding:0 18px 16px 62px;margin:0;font-size:.95rem;color:var(--ink2)}
.err.open{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.err.open p{color:#D9D4C8}.err.open .more{color:var(--burro)}

/* sera quiz */
.sera{margin-top:16px}
.score{font-weight:600;margin-bottom:12px}
.score b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:1.8rem;color:var(--cobalto)}
.sera ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.sq{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:background .25s,border-color .25s}
.sq>p:first-child{font-weight:700;line-height:1.3;margin:0;min-height:2.6em}
.sq-b{display:flex;gap:6px}
.sq-b button{flex:1;border:1.5px solid var(--ink);background:none;border-radius:999px;padding:6px 4px;font-size:.8rem;font-weight:700}
.sq-b button:hover{background:var(--paper2)}
.sq-r{font-size:.86rem;margin:0}
.sq.ok{background:#E3EFE1;border-color:var(--salvia)}
.sq.ko{background:#FBE5DE;border-color:var(--arancia-d)}
.sq.ok .sq-b button[data-v].pick,.sq.ko .sq-b button[data-v].right{background:var(--salvia);color:#fff;border-color:var(--salvia)}
.sq.ko .sq-b button.pick{background:var(--arancia-d);color:#fff;border-color:var(--arancia-d)}
.sq.done .sq-b button{pointer-events:none}

.doctor{border:2px solid var(--err);border-radius:20px;padding:16px 18px 16px 58px;position:relative;margin-top:22px;font-size:.96rem;background:#FFF7F4}
.doctor::before{content:"+";position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:8px;background:var(--err);color:#fff;font:900 1.3rem/28px var(--hd);text-align:center}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:16px 40px 16px 0;font-weight:700;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 1.6rem/1 var(--hd);transition:transform .2s;color:var(--cobalto)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink2);padding-bottom:6px}
.start{background:var(--cobalto);color:#fff;border-radius:28px;padding:30px;position:relative;overflow:hidden}
.start .h2{color:#fff;margin-bottom:12px}
.start .btn-line{border-color:#fff;color:#fff}.start .btn-line:hover{background:#fff;color:var(--cobalto)}
.start .btn-co{background:var(--arancia);box-shadow:0 4px 0 var(--arancia-d)}
.sources{font-size:.86rem;color:var(--ink2);padding-left:20px;word-break:break-word}
.sources li{margin-bottom:6px}

/* modal */
.modal{position:fixed;inset:0;z-index:160;background:rgba(25,24,20,.5);display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal-in{background:var(--card);border-radius:24px;max-width:520px;width:100%;max-height:86vh;overflow:auto;padding:22px;animation:pop .3s}
.modal-in header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.modal-in h3{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.7rem}
.slist{list-style:none;padding:0;margin:10px 0 18px;columns:2;column-gap:20px}
.slist li{break-inside:avoid;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.94rem}
.slist label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.slist input{margin-top:5px;accent-color:var(--cobalto)}
.modal .row{display:flex;gap:10px;flex-wrap:wrap}
.x{width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);background:var(--card);font-size:1.4rem;line-height:1;display:grid;place-items:center}
.x:hover{background:var(--ink);color:var(--paper)}

/* page heads, crumbs */
.phead{padding:54px 0 34px;border-bottom:2px solid var(--ink);background:radial-gradient(circle at 92% 20%,var(--cielo) 0 140px,transparent 141px)}
.phead .h1{margin-bottom:14px}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.84rem;color:var(--mute);padding-top:18px;padding-bottom:4px}
.crumbs a{color:var(--ink2)}

/* recipe page */
.rhero{padding:16px 0 10px}
.rhero-in{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center}
.rh-img{position:relative}
.rh-img .ph{aspect-ratio:4/5;border-radius:30px 30px 30px 120px}
.rh-img .chip{position:absolute;left:16px;top:16px;font-size:.8rem;padding:8px 12px}
.rh-txt .h1{font-size:clamp(2.6rem,5.4vw,4.6rem);margin-bottom:16px}
.rstats{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.rstats li{padding:12px 0;display:flex;flex-direction:column}
.rstats li+li{border-left:1px solid var(--line);padding-left:16px}
.rstats b{font-family:var(--hd);font-stretch:68%;font-weight:900;text-transform:uppercase;font-size:1.9rem;line-height:1;color:var(--cobalto)}
.rstats li>span{font-size:.8rem;color:var(--mute)}
.rbody{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.rcol{position:sticky;top:96px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px}
.rcol .h3,.rcol2 .h3{margin-bottom:12px}
.serv{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:700}
.serv span{margin-right:auto}
.serv button,.qty button{width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);background:var(--card);font-size:1.2rem;line-height:1}
.serv button:hover,.qty button:hover{background:var(--ink);color:var(--paper)}
.serv output{font:900 1.8rem/1 var(--hd);font-stretch:62%;min-width:24px;text-align:center}
.timers{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.timer{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:var(--paper);border-radius:14px;padding:8px 8px 8px 14px}
.timer .tl{font-weight:700;font-size:.9rem}
.timer .tv{font:800 1.3rem/1 var(--hd);font-stretch:70%;font-variant-numeric:tabular-nums;min-width:52px;text-align:right}
.timer button{border:0;background:var(--ink);color:var(--paper);border-radius:999px;padding:7px 14px;font-weight:700;font-size:.82rem}
.timer.run{background:var(--cielo)}
.timer.end{background:var(--burro)}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.why div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}
.why b{font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase}
.why p{font-size:.9rem;margin:4px 0 0;color:var(--ink2)}

/* cooking mode */
.cook{position:fixed;inset:0;z-index:170;background:var(--ink);color:var(--paper);display:grid;place-items:center;padding:20px}
.cook[hidden]{display:none}
.cook-in{max-width:760px;width:100%;display:flex;flex-direction:column;gap:24px;min-height:70vh}
.cook header{display:flex;align-items:center;gap:14px}
.cook header b{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.3rem;flex:1}
.cook header .kick{margin:0;color:var(--arancia)}
.cook .x{background:transparent;border-color:var(--paper);color:var(--paper)}
.cook-step{flex:1;display:flex;flex-direction:column;justify-content:center}
.cook-n{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:7rem;line-height:.8;color:var(--arancia)}
.cook-t{font-family:var(--se);font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.25;margin-top:16px}
.cook-dots{display:flex;gap:6px}
.cook-dots i{height:6px;flex:1;border-radius:3px;background:#3A3832}
.cook-dots i.on{background:var(--arancia)}
.cook footer{display:flex;justify-content:space-between;gap:12px}
.cook footer .btn-line{border-color:var(--paper);color:var(--paper)}
.cook-wl{color:#9A958A}

/* list pages */
.slbox{background:var(--card);border:2px solid var(--ink);border-radius:26px;padding:22px;display:flex;flex-direction:column;gap:16px}
.slp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.slp{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:14px;padding:6px;cursor:pointer;font-size:.86rem;font-weight:600;line-height:1.2;transition:border-color .15s,background .15s}
.slp input{position:absolute;opacity:0}
.slp .ph{width:40px;flex:none;border-radius:10px}
.slp:has(input:checked){border-color:var(--cobalto);background:var(--cielo)}
.slp:has(input:focus-visible){outline:3px solid var(--arancia)}
.slbox .btn{align-self:flex-start}
.nolist{padding-left:20px}.nolist li{margin-bottom:8px}

/* product page */
.ppage{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.gal{position:sticky;top:96px}
.gmain{background:#fff;border-radius:28px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;border:1px solid var(--line)}
.gmain img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.gmain.zoom{cursor:zoom-out}.gmain.zoom img{transform:scale(2)}
.ths{display:flex;gap:8px;margin:10px 0}
.ths button{width:76px;height:76px;border-radius:14px;overflow:hidden;border:2px solid var(--line);background:#fff;padding:0}
.ths button[aria-pressed=true]{border-color:var(--cobalto)}
.ths img{width:100%;height:100%;object-fit:cover}
.h1-p{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-bottom:10px}
.pprice{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:18px 0 12px}
.pprice b{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:3.4rem;line-height:1;color:var(--cobalto)}
.pprice small{color:var(--mute)}
.badges{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
.badges li{border:1.5px solid var(--ink);border-radius:999px;padding:5px 11px;font-size:.82rem;font-weight:600}
.qtyrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.qty{display:flex;align-items:center;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:999px;padding:4px}
.qty button{width:34px;height:34px;border:0}
.qty input{width:40px;border:0;background:none;text-align:center;font:800 1.1rem var(--hd);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.cod{display:flex;gap:10px;align-items:center;background:var(--cielo);border-radius:14px;padding:12px 14px;font-size:.92rem;margin:16px 0}
.box3{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink);border-radius:20px;overflow:hidden;margin:0 0 18px}
.box3 div{padding:14px;text-align:center}
.box3 div+div{border-left:2px solid var(--ink)}
.box3 b{display:block;font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:2.1rem;line-height:1}
.box3 small{color:var(--mute)}
.use{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 26px}
.use div{background:var(--card);border-radius:16px;padding:12px;border:1px solid var(--line)}
.use b{font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase}
.use p{font-size:.84rem;margin:2px 0 0;color:var(--ink2)}
.specs{width:100%;border-collapse:collapse;font-size:.93rem;margin:12px 0 18px}
.specs th,.specs td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.specs th{width:42%;color:var(--mute);font-weight:600;padding-right:12px}
.notes{background:var(--card);border-left:4px solid var(--arancia);border-radius:0 14px 14px 0;padding:12px 16px;font-size:.92rem;margin-bottom:14px}

/* cart page */
.cartpage{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding-top:30px;padding-bottom:60px;align-items:start}
.panel2{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px}
.panel2+.panel2{margin-top:16px}
.panel2 .h3{margin-bottom:14px}
.line{display:flex;justify-content:space-between;padding:6px 0}
.line.t{font-weight:800;font-size:1.25rem;border-top:2px solid var(--ink);margin-top:8px;padding-top:12px}
.fs-bar{height:8px;border-radius:4px;background:var(--paper2);overflow:hidden;margin:8px 0}
.fs-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cobalto),var(--arancia));transition:width .5s}
.steps3{list-style:none;padding:0;margin:0 0 14px;display:flex;gap:6px;font-size:.78rem;font-weight:700;counter-reset:st}
.steps3 li{counter-increment:st;flex:1;padding:8px 10px;border-radius:10px;background:var(--paper);color:var(--mute)}
.steps3 li::before{content:counter(st) " · "}
.steps3 li.on{background:var(--ink);color:var(--paper)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:.82rem;font-weight:700;margin-bottom:4px}
.form input:not([type=checkbox]),.form textarea{width:100%;font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--paper);color:var(--ink);transition:border-color .15s,background .15s}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--cobalto);background:#fff}
.form input:user-invalid{border-color:var(--err)}
.form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.88rem;cursor:pointer}
.form .chk input{margin-top:4px;width:18px;height:18px;accent-color:var(--cobalto);flex:none}
.citem{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}
.citem img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:14px;border:1px solid var(--line)}
.citem b{display:block;font-size:.92rem;line-height:1.25}
.citem small{display:block;color:var(--mute)}
.q{display:inline-flex;align-items:center;gap:8px;margin-top:6px}
.q button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ink);background:none;line-height:1}
.rm{display:block;border:0;background:none;color:var(--mute);font-size:.78rem;text-decoration:underline;margin-top:4px;padding:0;margin-left:auto}
.empty{color:var(--mute);text-align:center;padding:26px 0}
.upsell:empty{display:none}
.upsell{margin-top:14px;background:var(--burro);border-radius:16px;padding:12px;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;font-size:.88rem}
.upsell img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:12px}
.upsell b{display:block}
.thanks .titems{font-weight:600}

/* docs */
.docwrap{display:grid;grid-template-columns:220px minmax(0,760px);gap:56px;padding-top:40px;padding-bottom:70px;justify-content:center}
.docnav{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column}
.docnav a{color:var(--ink2);text-decoration:none;padding:7px 12px;border-left:2px solid var(--line);font-size:.92rem}
.docnav a[aria-current]{border-color:var(--arancia);color:var(--ink);font-weight:700}
.doc h2{font-family:var(--hd);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:1.35rem;margin:28px 0 8px}
.doc table{width:100%;border-collapse:collapse;font-size:.92rem;margin:10px 0 16px;display:block;overflow-x:auto}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:9px 10px 9px 0;text-align:left;vertical-align:top}
.doc thead th{font-weight:700;border-bottom:2px solid var(--ink)}
.doc .kv{display:table}
.doc .kv th{color:var(--mute);font-weight:600;width:170px}
.upd{font-size:.82rem;color:var(--mute)}
.form-box{background:var(--card);border:1px dashed var(--ink);border-radius:16px;padding:16px;font-size:.94rem}
.credits td{word-break:break-word}

/* footer */
.ft{margin-top:70px}
.fnext{border-top:2px solid var(--ink);padding:40px 0}
.fnext-in{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px;align-items:stretch}
.fnext-t .h2{margin-bottom:10px}
.fnext-t p:last-child{color:var(--ink2);margin:0;max-width:44ch}
.fprod{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;background:var(--card);border:1.5px solid var(--ink);border-radius:22px;padding:12px;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.fprod:hover{color:var(--ink);transform:translateY(-3px);box-shadow:5px 5px 0 var(--arancia)}
.fprod .img{aspect-ratio:1;background:var(--cielo);border-radius:16px;display:grid;place-items:center}
.fprod img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}
.fprod small{display:block;font:800 .7rem/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--arancia-d);margin-bottom:6px}
.fprod b{display:block;font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.12rem;line-height:1.02}
.fprod em{display:block;font:900 1.6rem/1 var(--hd);font-stretch:62%;font-style:normal;color:var(--cobalto);margin-top:8px}
.fmain{background:var(--cobalto);color:#DCE3FF;overflow:hidden}
.fmain .mx{padding-top:52px;padding-bottom:26px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.ft h4{font:800 .78rem/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.ft ul{list-style:none;margin:0;padding:0}
.fgrid li{margin-bottom:7px;font-size:.92rem}
.fmain a{color:#DCE3FF;text-decoration:none}
.fmain a:hover{color:#fff;text-decoration:underline}
.fmain .logo{color:#fff;margin-bottom:14px}
.fmain .logo .mark{color:#fff}
.fabout p{font-size:.92rem;max-width:38ch}
.fct{display:flex;flex-direction:column;gap:6px}
.fct a{display:flex;gap:8px;align-items:center}
.fbadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px!important}
.fbadges li{display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 11px;font-size:.78rem;color:#fff}
.fbadges svg{width:15px;height:15px;color:var(--burro)}
.imp{display:grid;grid-template-columns:1fr 1fr;gap:4px 30px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);font-size:.79rem;line-height:1.5;color:#BFCBFA}
.imp b{color:#fff}
.imp a{color:#fff;text-decoration:underline}
.fword{font-family:var(--hd);font-stretch:62%;font-weight:900;font-size:clamp(5.5rem,24vw,22rem);line-height:.78;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.28);text-align:center;margin:30px 0 8px;user-select:none;white-space:nowrap}
.copy{display:flex;flex-wrap:wrap;gap:4px 0;font-size:.76rem;color:#BFCBFA;margin:0;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
.copy span:not(:last-child)::after{content:"·";margin:0 8px;opacity:.6}

/* drawer, toast, cookie */
.drawer{position:fixed;inset:0;z-index:140;overflow:hidden;visibility:hidden;transition:opacity .25s,visibility 0s .35s;background:rgba(25,24,20,.45);opacity:0;pointer-events:none}
.drawer.on{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s}
.drawer .panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--paper);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.drawer.on .panel{transform:none}
.drawer header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:2px solid var(--ink)}
.drawer h3{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.6rem}
.fs{padding:12px 20px 0}
.fs-t{font-size:.86rem;margin:0;font-weight:600}
.drawer .items{flex:1;overflow:auto;padding:0 20px}
.drawer .upsell{margin:0 20px 10px}
.drawer footer{padding:16px 20px 20px;background:var(--card);border-top:1px solid var(--line)}
.tot{display:flex;justify-content:space-between;padding:3px 0;font-size:.95rem}
.tot.big{font-weight:800;font-size:1.2rem}
.drawer footer .small{margin:6px 0 12px}
.drawer .d-go{width:100%}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;font-weight:600;font-size:.92rem;opacity:0;transition:all .3s;z-index:180;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
.ck{position:fixed;left:20px;bottom:20px;z-index:130;max-width:390px;background:var(--card);border:2px solid var(--ink);border-radius:22px;padding:18px;box-shadow:6px 6px 0 var(--ink)}
.ck[hidden]{display:none}
.ck h4{font-family:var(--hd);font-stretch:72%;font-weight:850;text-transform:uppercase;font-size:1.3rem;margin-bottom:6px}
.ck p{font-size:.86rem;margin:0 0 12px}
.ck .bt{display:flex;gap:8px}.ck .bt .btn{flex:1}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.no-io .reveal{opacity:1;transform:none}

/* responsive */
@media (max-width:1100px){
 .rgrid{grid-template-columns:repeat(3,1fr)}
 .art{grid-template-columns:1fr;gap:0}
 .toc{display:none}
 figure.wide{margin:28px 0}figcaption{padding-left:0}
 .hnav{display:none}
 .hdr-in{grid-template-columns:1fr auto}
}
@media (max-width:980px){
 .hero-in,.rhero-in,.ppage,.rbody,.cartpage{grid-template-columns:1fr}
 .fnext-in{grid-template-columns:1fr 1fr}.fnext-t{grid-column:1/-1}
 .hero{padding-top:34px}
 .hero-vis{min-height:440px;margin-top:6px}
 .hv-photo{inset:0 0 0 30%}
 .facts{grid-template-columns:1fr 1fr}
 .rcol,.gal{position:static}
 .fgrid{grid-template-columns:1fr 1fr}
 .docwrap{grid-template-columns:1fr;gap:20px}
 .docnav{position:static;flex-direction:row;flex-wrap:wrap;gap:4px}
 .docnav a{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.82rem}
 .ovm-grid{grid-template-columns:1fr;gap:26px}
 .sera ul{grid-template-columns:1fr 1fr}
 .slp-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 body{font-size:16px}
 .mx{padding:0 16px}
 .rail-in{padding:10px 16px 12px}
 .usp{gap:14px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.usp::-webkit-scrollbar{display:none}
 .util .ct{display:none}
 .hdr-in{height:62px;gap:10px}
 .logo small{display:none}
 .logo b{font-size:2rem}
 .logo .mark{width:26px;height:33px}
 .cartbtn{padding:8px 12px}
 .cartbtn .cs{display:none}
 .burger{width:42px;height:42px}
 .adbar .mx{align-items:flex-start}
 .rail-in{padding:2px 16px 4px;scroll-padding-inline:16px}
 .rail-top p span{display:none}
 .rail-in a{width:188px}
 .fnext-in{grid-template-columns:1fr}
 .fprod{grid-template-columns:90px 1fr}
 .copy{flex-direction:column}
 .copy span::after{display:none}
 .pill{padding:8px 12px}
 .rgrid,.rgrid.g3{grid-template-columns:1fr 1fr;gap:14px}
 .rc-in b{font-size:1.05rem}
 .rc .meta{font-size:.76rem}
 .hero-vis{min-height:400px}
 .hv-photo{inset:0 0 50px 24%}
 .hv-glass{width:190px;padding:12px;bottom:0}
 .hv-glass .glass{max-width:120px}
 .stamp{width:92px;height:92px;right:-4px}
 .facts b{font-size:2.4rem}
 .ticker span{font-size:1.05rem}
 .sec{padding:44px 0}
 .body>section{margin-top:56px}
 .fc-list li{grid-template-columns:38px 1fr 46px;gap:10px}
 .fc-list .fbar{grid-column:2/4;grid-row:2;margin-top:-4px}
 .builder{grid-template-columns:1fr;padding:14px;border-radius:22px}
 .bglass{order:-1;flex-direction:row;flex-wrap:wrap;justify-content:center;text-align:left;position:sticky;top:70px;z-index:2}
 .bglass .glass{max-width:84px}
 .bglass .btn{margin-left:auto}
 .bnum b{font-size:2.4rem}
 .bmsg{flex-basis:100%;min-height:0}
 .bpick{grid-template-columns:1fr 1fr}
 .bpick button{padding:5px 8px 5px 5px}
 .bpick .ph{width:32px;height:32px}
 .bpick b{font-size:.8rem}
 .bpick .por{display:none}
 .types,.claims,.errs,.cols,.why,.use{grid-template-columns:1fr}
 .water{flex-direction:column;align-items:flex-start}
 .pcard{grid-template-columns:1fr}
 .pc-img{padding:24px}
 .pc-img img{max-width:160px}
 .rrow-h{grid-template-columns:56px 1fr 30px;gap:10px;padding:8px}
 .rrow-t b{font-size:1.1rem}
 .gnum{display:none}
 .rrow-b{padding:4px 14px 16px}
 .week{gap:4px}
 .wb{height:110px}
 .week .ph{width:34px}
 .week b{font-size:.72rem}
 .wb em{font-size:.66rem}
 .shop-cta{flex-direction:column;align-items:flex-start}
 .sera ul{grid-template-columns:1fr}
 .sq>p:first-child{min-height:0}
 .quiz{padding:18px}
 .qres{grid-template-columns:1fr}
 .rstats b{font-size:1.5rem}
 .rh-img .ph{border-radius:24px 24px 24px 80px}
 .box3 b{font-size:1.6rem}
 .form{grid-template-columns:1fr}
 .slist{columns:1}
 .slp-grid{grid-template-columns:1fr}
 .fgrid{grid-template-columns:1fr 1fr;gap:26px 18px}.fabout{grid-column:1/-1}
 .imp{grid-template-columns:1fr}
 .ck{left:10px;right:10px;bottom:10px;max-width:none}
 .cook-n{font-size:5rem}
 .ovm-rec{grid-template-columns:1fr}
 .start{padding:22px}
 .citem{grid-template-columns:56px 1fr auto}
 .citem img{width:56px;height:56px}
}
@media print{
 .adbar,.util,.hdr,.ft,.drawer,.ck,.toast,.readbar,.ovm{display:none!important}
 body.printing-list>*:not(#shopmodal){display:none!important}
 body.printing-list #shopmodal{position:static;background:none}
}
