

:root{--ink:#0b1b2b;--ink2:#334155;--muted:#5b6b80;--line:#e2e8f0;--bg:#fff;--alt:#f0f9ff;--p:#0369a1;--p2:#0ea5e9;--p3:#38bdf8;--deep:#082f49;--ok:#059669;--warn:#d97706;--r:18px;--sh:0 10px 30px -12px rgba(8,47,73,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}a{color:var(--p)}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,6vw,4rem);font-weight:800}h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800}h3{font-size:1.25rem}
p{margin:0 0 1em}.wrap{width:min(1160px,100% - 40px);margin-inline:auto}.narrow{width:min(760px,100% - 40px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--muted)}.fine{font-size:.82rem;color:var(--muted)}.center{text-align:center}
.ph{background:#fef3c7;color:#92400e;border:1px dashed #f59e0b;border-radius:6px;padding:0 .35em;font-weight:600;white-space:nowrap}
.preview-bar{background:var(--deep);color:#bae6fd;text-align:center;font-size:.8rem;padding:.4rem 1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#0369a1;margin-bottom:.6em}
.grad{background:linear-gradient(90deg,var(--p),var(--p2) 60%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--p);color:#fff;border:0;border-radius:999px;padding:.8em 1.4em;font:600 1rem var(--font-display);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 6px 18px -8px rgba(3,105,161,.7)}
.btn:hover{background:#075985;transform:translateY(-1px)}.btn:active{transform:none}
.btn-sm{padding:.5em 1em;font-size:.9rem}.btn-lg{padding:1em 1.7em;font-size:1.05rem}.btn-block{width:100%}
.btn-ghost{background:#fff;color:var(--p);box-shadow:inset 0 0 0 2px #bae6fd}.btn-ghost:hover{background:var(--alt)}
.btn-white{background:#fff;color:var(--p)}.btn-white:hover{background:#e0f2fe}
.btn-ghost-white{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.btn-ghost-white:hover{background:rgba(255,255,255,.1)}
.btn-outline{background:#fff;color:var(--p);box-shadow:inset 0 0 0 2px var(--p)}.btn-outline:hover{background:var(--alt)}
.link{font-weight:600;text-decoration:none}
/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:1rem;height:68px}
.logo{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;font-size:1.6rem;letter-spacing:-.03em;color:var(--deep);text-decoration:none;margin-right:auto}
.logo .u{color:var(--p2)}.logo.light{color:#fff}.logo.light .u{color:var(--p3)}
.drop{width:18px;height:24px;background:linear-gradient(var(--p3),var(--p));border-radius:50% 50% 50% 50%/60% 60% 40% 40%;clip-path:path("M9 0C9 0 0 11 0 16a9 9 0 0 0 18 0C18 11 9 0 9 0z")}
.nav-links{display:flex;align-items:center;gap:1.4rem}.nav-links a:not(.btn){color:var(--ink2);text-decoration:none;font-weight:500;font-size:.95rem}.nav-links a:not(.btn):hover{color:var(--p)}
.cart-btn{position:relative;background:none;border:0;color:var(--deep);cursor:pointer;padding:.4rem}
.cart-count{position:absolute;top:-2px;right:-4px;background:var(--p2);color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.menu-btn{display:none;background:none;border:0;padding:.5rem;cursor:pointer}.menu-btn span{display:block;width:22px;height:2px;background:var(--deep);margin:5px 0;border-radius:2px}
@media(max-width:880px){.menu-btn{display:block}.nav-links{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:1rem 20px 1.4rem;gap:.2rem;border-bottom:1px solid var(--line);box-shadow:var(--sh);display:none}.nav-links.open{display:flex}.nav-links a{padding:.7rem 0}.nav-links .btn{margin-top:.5rem}}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,#bae6fd 0,transparent 60%),radial-gradient(900px 500px at -10% 110%,#e0f2fe 0,transparent 60%),#fff}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;padding:5.5rem 0 6rem}
.lead{font-size:1.18rem;color:var(--ink2);max-width:36em}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0}
.hero-points{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;color:var(--ink2);font-weight:500;font-size:.95rem}
.hero-points li::before{content:"✓";color:var(--ok);font-weight:800;margin-right:.4em}
.hero-card{background:rgba(255,255,255,.7);border:1px solid #e0f2fe;border-radius:28px;padding:2rem;box-shadow:var(--sh);backdrop-filter:blur(6px)}
.glass{position:relative;width:150px;height:200px;margin:0 auto 1.6rem;border:4px solid #bae6fd;border-top:0;border-radius:0 0 26px 26px;overflow:hidden;background:linear-gradient(#fff,#f8fdff)}
.water{position:absolute;inset:auto 0 0 0;height:72%;background:linear-gradient(180deg,var(--p3),var(--p));animation:fill 3.5s ease-in-out infinite alternate}
.water::before{content:"";position:absolute;top:-10px;left:-50%;width:200%;height:20px;background:radial-gradient(circle at 10px -4px,transparent 12px,var(--p3) 13px) repeat-x;background-size:30px 20px;animation:wave 2.5s linear infinite}
@keyframes wave{to{transform:translateX(30px)}}@keyframes fill{from{height:62%}to{height:76%}}
.bubbles i{position:absolute;bottom:-10px;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.7);animation:rise 4s infinite ease-in}
.bubbles i:nth-child(1){left:20%;animation-delay:0s}.bubbles i:nth-child(2){left:40%;animation-delay:1s;width:5px;height:5px}.bubbles i:nth-child(3){left:60%;animation-delay:2s}.bubbles i:nth-child(4){left:75%;animation-delay:.5s;width:6px;height:6px}.bubbles i:nth-child(5){left:50%;animation-delay:3s}
@keyframes rise{to{transform:translateY(-170px);opacity:0}}
.hero-steps{display:grid;gap:.6rem}.hero-steps div{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;font-weight:600}
.hero-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--alt);color:var(--p)}
@media(max-width:880px){.hero-inner{grid-template-columns:1fr;padding:3.5rem 0 4rem;gap:2rem}.hero-card{display:none}}
/* sections */
.section{padding:5.5rem 0}.section.alt{background:var(--alt)}
.section-head{text-align:center;max-width:720px;margin:0 auto 3rem}.section-head p:last-child{color:var(--ink2);font-size:1.08rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;box-shadow:var(--sh)}
/* check */
.check-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.5rem;align-items:start}
@media(max-width:880px){.check-grid{grid-template-columns:1fr}}
.zip-form{display:flex;gap:.6rem;margin:1.2rem 0 .4rem}
.zip-form input{flex:1;min-width:0;font-size:1.15rem;letter-spacing:.08em}
input,select,textarea{width:100%;font:inherit;color:var(--ink);border:1.5px solid #cbd5e1;border-radius:12px;padding:.75em .9em;background:#fff;transition:border .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--p2);box-shadow:0 0 0 4px rgba(14,165,233,.15)}
input.invalid,select.invalid{border-color:#dc2626}
.form-msg{min-height:1.2em;font-size:.92rem;font-weight:500;margin:.5rem 0 0}.form-msg.err{color:#dc2626}.form-msg.ok{color:var(--ok)}
.quiz-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.quiz-progress{font-size:.85rem;color:var(--muted);font-weight:600}
.bar{height:6px;background:var(--alt);border-radius:9px;overflow:hidden;margin:.4rem 0 1.4rem}.bar span{display:block;height:100%;width:12.5%;background:linear-gradient(90deg,var(--p2),var(--p));transition:width .3s}
.q h4{font-size:1.15rem;margin-bottom:.3em}.q .hint{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.opts{display:grid;gap:.6rem}
.opt{display:flex;align-items:center;gap:.8rem;border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1rem;cursor:pointer;font-weight:500;transition:all .15s}
.opt:hover{border-color:var(--p3);background:#f8fdff}.opt input{width:auto;accent-color:var(--p)}
.opt:has(input:checked){border-color:var(--p2);background:var(--alt)}
.quiz-nav{display:flex;justify-content:space-between;margin-top:1.4rem}
.quiz-result h3{font-size:1.5rem}
.rec-list{display:grid;gap:.8rem;margin:1rem 0 1.4rem}
.rec{display:flex;gap:1rem;align-items:flex-start;border:1.5px solid #bae6fd;background:#f8fdff;border-radius:14px;padding:1rem}
.rec .ic{font-size:1.6rem;line-height:1}.rec p{margin:.2rem 0 0;color:var(--ink2);font-size:.95rem}
.why{font-size:.9rem;color:var(--ink2);padding-left:1.1rem}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.fact{border-left:3px solid var(--p3);padding:.2rem 0 .2rem 1rem}.fact p{font-size:.92rem;color:var(--ink2);margin:0}
@media(max-width:880px){.facts{grid-template-columns:1fr 1fr}}@media(max-width:520px){.facts{grid-template-columns:1fr}}
/* solutions */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:880px){.sol-grid{grid-template-columns:1fr}}
.sol{background:#fff;border-radius:var(--r);padding:2rem;border:1px solid #e0f2fe;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .2s}
.sol:hover{transform:translateY(-4px)}.sol p{color:var(--ink2)}.sol .link{margin-top:auto}
.sol-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.7rem;background:linear-gradient(135deg,#e0f2fe,#bae6fd);margin-bottom:1rem}
.ticks{list-style:none;padding:0;margin:0 0 1.4rem}.ticks li{padding-left:1.6em;position:relative;margin:.35em 0;color:var(--ink2)}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:1em;height:1em;border-radius:50%;background:#d1fae5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8l3 3 5-6' stroke='%23059669' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/80% no-repeat}
.ticks.big li{font-size:1.05rem}
/* shop */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.5em 1.1em;font:600 .92rem Inter,sans-serif;color:var(--ink2);cursor:pointer}
.chip.active,.chip:hover{border-color:var(--p);color:var(--p);background:var(--alt)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem}
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 14px -10px rgba(8,47,73,.3);transition:box-shadow .2s}
.prod:hover{box-shadow:var(--sh)}
.prod-img{height:150px;display:grid;place-items:center;font-size:3rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}
.prod-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.prod .tag{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p2)}
.prod h3{font-size:1.1rem;margin:.3em 0}.prod p{font-size:.92rem;color:var(--ink2);flex:1}
.price{font-weight:800;font-size:1.1rem;margin-bottom:.8rem}.price .ph{font-size:.9rem}
.prod .actions{display:flex;gap:.5rem}.prod .actions .btn{flex:1;padding:.65em .8em;font-size:.92rem}
.badge-rec{position:absolute;top:10px;left:10px;background:var(--ok);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:.2em .7em}
.prod{position:relative}.prod.recommended{outline:3px solid #6ee7b7}
/* forms */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
@media(max-width:880px){.two-col{grid-template-columns:1fr}.two-col.reverse>form{order:2}}
.form{display:grid;gap:.9rem}.form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem;color:var(--ink2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.row3{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:.8rem}
@media(max-width:520px){.row2,.row3{grid-template-columns:1fr}}
.checks{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.checks legend{font-weight:600;font-size:.9rem;color:var(--ink2);margin-bottom:.4rem}
.checks label{display:flex;align-items:center;gap:.5rem;font-weight:500}.checks input{width:auto;accent-color:var(--p)}
.contact-box{margin-top:2rem;background:#fff;border:1px solid #e0f2fe;border-radius:var(--r);padding:1.3rem 1.5rem}.contact-box p{margin:.2rem 0}
.steps{padding-left:1.2rem}.steps li{margin:.7rem 0;color:var(--ink2)}.steps b{color:var(--ink)}
.success{text-align:center;padding:1rem 0}.success .big{font-size:3rem}
/* faq */
details{background:#fff;border:1px solid #e0f2fe;border-radius:14px;padding:1rem 1.3rem;margin-bottom:.8rem}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::after{content:"+";color:var(--p2);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}details p{margin:.8rem 0 0;color:var(--ink2)}
/* cta band & footer */
.cta-band{background:linear-gradient(120deg,var(--deep),var(--p) 60%,var(--p2));color:#fff;padding:4.5rem 0;text-align:center}
.cta-band h2{max-width:760px;margin:0 auto}.cta-band .cta-row{justify-content:center}
.footer{background:#04192b;color:#94a3b8;padding:3.5rem 0 1.5rem;font-size:.93rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}.footer h4,.footer .fh{color:#fff;font-size:.95rem}
.footer a:not(.logo){display:block;color:#94a3b8;text-decoration:none;margin:.35rem 0}.footer a:hover{color:#fff}.footer p{margin:.35rem 0}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid #1e3a52;margin-top:2.5rem;padding-top:1.3rem;font-size:.85rem}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr}}
/* drawer */
.overlay{position:fixed;inset:0;background:rgba(4,25,43,.5);z-index:50}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:#fff;z-index:60;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(0,0,0,.3)}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}.drawer-head h3{margin:0}
.x{background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--muted)}
.drawer-body{flex:1;overflow:auto;padding:1.3rem 1.5rem}
.line{display:flex;gap:.9rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}
.line .em{font-size:1.8rem;width:48px;height:48px;display:grid;place-items:center;background:var(--alt);border-radius:12px;flex:none}
.line .info{flex:1;min-width:0}.line .info b{display:block;font-size:.95rem}.line .info small{color:var(--muted)}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px}.qty button{background:none;border:0;width:30px;height:30px;cursor:pointer;font-size:1rem;color:var(--p)}.qty span{min-width:20px;text-align:center;font-weight:600}
.addon{display:flex;gap:.6rem;align-items:center;font-weight:500;margin:.4rem 0}.addon input{width:auto;accent-color:var(--p)}
.summary{background:var(--alt);border-radius:14px;padding:1rem 1.2rem;margin:1.2rem 0}.summary div{display:flex;justify-content:space-between;margin:.3rem 0}
.notice{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:12px;padding:.8rem 1rem;font-size:.88rem;margin:1rem 0}
.stepper{display:flex;gap:.4rem;margin-bottom:1.2rem;font-size:.8rem;font-weight:600;color:var(--muted)}.stepper span{flex:1;text-align:center;padding-bottom:.4rem;border-bottom:3px solid var(--line)}.stepper span.on{color:var(--p);border-color:var(--p2)}
.empty{text-align:center;color:var(--muted);padding:3rem 0}.empty .big{font-size:3rem}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--deep);color:#fff;padding:.8rem 1.3rem;border-radius:999px;font-weight:500;z-index:70;transition:transform .3s;box-shadow:var(--sh)}
.toast.show{transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* water report */
.report{margin-top:1.5rem}
.loading{display:flex;gap:1rem;align-items:center}.loading p{margin:0}
.spin{width:34px;height:34px;flex:none;border-radius:50%;border:4px solid #e0f2fe;border-top-color:var(--p2);animation:sp 0.9s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.rep h3{font-size:1.6rem;margin:0 0 .3rem}
.rep-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-top:.4rem}
.rep .eyebrow{margin-bottom:.3em}
.meta{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;color:var(--ink2);font-size:.95rem;margin:0}
.sev{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.45em 1em .45em .5em;font-weight:700;font-size:.92rem;white-space:nowrap}
.sev i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.85rem}
.sev.ok{background:#d1fae5;color:#065f46}.sev.ok i{background:var(--ok)}
.sev.mid{background:#fef3c7;color:#92400e}.sev.mid i{background:var(--warn)}
.sev.warn{background:#fee2e2;color:#991b1b}.sev.warn i{background:#dc2626}
.sev.unk{background:#f1f5f9;color:#334155}.sev.unk i{background:#64748b}
.reasons{margin:.9rem 0 0;padding-left:1.2rem;color:var(--ink2)}.reasons li{margin:.15rem 0}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}
.panel{border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;background:#fcfeff}.panel h4{font-size:1.02rem;margin-bottom:.6rem}
.panel p{font-size:.92rem;color:var(--ink2)}.panel p:last-child{margin-bottom:0}
@media(max-width:880px){.panels{grid-template-columns:1fr}}
.big-stat{font-size:1.9rem;font-weight:800;margin:0 0 .4rem;color:var(--ink)!important}.big-stat small{font-size:.9rem;font-weight:500;color:var(--muted)}
.bad{color:#b91c1c;font-weight:600}.good{color:var(--ok)}.nd{color:var(--muted);font-style:italic}
.vlist{list-style:none;padding:0;margin:0}.vlist li{border-top:1px solid var(--line);padding:.7rem 0;font-size:.93rem}.vlist li:first-child{border-top:0;padding-top:0}.vlist p{margin:.35rem 0 0}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:.8rem}.tbl th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.3rem .4rem;border-bottom:1px solid var(--line)}
.tbl td{padding:.45rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}
.missing{margin-top:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:.8rem 1rem;font-size:.9rem;color:var(--ink2)}.missing ul{margin:.3rem 0 0;padding-left:1.2rem}
.attrib{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.9rem}.attrib p{margin:.3rem 0}
.picker{display:grid;gap:.4rem;background:var(--alt);border-radius:14px;padding:.9rem 1rem;margin-bottom:1rem}.picker label{font-size:.95rem}
.conf{font-size:.9rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:.55rem .8rem;margin:.6rem 0}
.well{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:1.1rem 1.3rem;margin-top:1rem}
.linkbtn{background:none;border:0;color:var(--p);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.rep-cta{margin:1.3rem 0 .4rem}.report-msg h3{margin-bottom:.4rem}
/* recommendation */
.rec-section{background:linear-gradient(180deg,#ecfeff,#fff)}
.rec-card{max-width:900px;margin:0 auto;background:#fff;border:2px solid #a5f3fc;border-radius:24px;padding:2rem;box-shadow:var(--sh)}
.rec-main{display:flex;gap:1.3rem;align-items:flex-start}.rec-main h3{font-size:1.7rem;margin-bottom:.3rem}
.rec-em{font-size:2.6rem;width:76px;height:76px;flex:none;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#e0f2fe,#bae6fd)}
.rec-price{display:grid;gap:.15rem;background:var(--alt);border-radius:14px;padding:.9rem 1.1rem;margin:.6rem 0}.rec-price>span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}.rec-price b{font-size:1.6rem}.rec-price small{color:var(--ink2)}
.why-h{margin:1.4rem 0 .6rem}.rec-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}
.rec-part{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;font-size:.92rem}.rec-part ul{margin:.3rem 0 0;padding-left:1.1rem;color:var(--ink2)}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.4rem 0 1rem}
.path{border:1.5px solid #bae6fd;border-radius:16px;padding:1.1rem 1.2rem;background:#f8fdff;display:flex;flex-direction:column}.path p{color:var(--ink2);font-size:.93rem;flex:1}
.cta-row.tight{margin:0}.small{font-size:.9rem}
@media(max-width:520px){.rec-main{flex-direction:column}.rec-card{padding:1.3rem}}
.toast:empty{display:none}

/* ---------- SEO content pages (v3) ---------- */
.crumbs{font-size:.85rem;color:var(--muted);padding:.9rem 0 0}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
.crumbs li:not(:last-child)::after{content:"›";margin-left:.35rem;color:#94a3b8}.crumbs a{color:var(--ink2);text-decoration:none}.crumbs a:hover{color:var(--p)}
.page-hero{background:radial-gradient(900px 380px at 90% -20%,#bae6fd 0,transparent 60%),#fff;padding:1.2rem 0 2.6rem;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2rem,5vw,3.1rem);margin:.6rem 0 .4em}.page-hero .lead{max-width:44em}
.prose{max-width:760px}.prose h2{font-size:clamp(1.45rem,3vw,1.95rem);margin-top:1.8em}.prose h3{margin-top:1.4em}.prose p,.prose li{color:var(--ink2)}
.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.3em 0}.prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.55em .5em;text-align:left;vertical-align:top}.prose th{color:var(--deep);background:var(--alt)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}@media(max-width:900px){.layout{grid-template-columns:1fr}}
.aside-card{position:sticky;top:90px;background:var(--alt);border:1px solid #e0f2fe;border-radius:var(--r);padding:1.3rem}.aside-card h2,.aside-card h3{font-size:1.1rem;margin-top:0}.aside-card .btn{width:100%;margin-top:.5rem}
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;margin:1.2rem 0}
.link-card{display:block;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;text-decoration:none;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.link-card:hover{border-color:var(--p3);box-shadow:var(--sh)}.link-card b{display:block;color:var(--deep);margin-bottom:.2rem}.link-card span{font-size:.9rem;color:var(--muted)}
.util{border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;margin:1rem 0;background:#fff}.util h3{margin:0 0 .3rem;font-size:1.1rem}
.util dl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:.6rem 0 0;font-size:.93rem}.util dt{color:var(--muted)}.util dd{margin:0;color:var(--ink2)}
.callout{border-left:4px solid var(--p2);background:var(--alt);padding:.9rem 1.1rem;border-radius:0 12px 12px 0;margin:1.2rem 0}.callout p{margin:.2em 0}
.sources{font-size:.88rem;color:var(--muted)}.sources ol{padding-left:1.3em}.sources li{margin:.35em 0;word-break:break-word}.sources a{color:var(--ink2)}
.zip-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0}.zip-chips button{border:1px solid #bae6fd;background:#fff;color:var(--p);border-radius:999px;padding:.3em .8em;font:600 .85rem Inter,sans-serif;cursor:pointer}.zip-chips button:hover{background:var(--alt)}
.faq-list details{margin:.4rem 0}.tag{display:inline-block;font-size:.75rem;font-weight:700;padding:.15em .6em;border-radius:999px;background:#e0f2fe;color:var(--p)}
.section.tight{padding:2.4rem 0}.sol-grid.five{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.foot-grid h4 a,.foot-grid .fh a{color:inherit}
.foot-grid.v3{grid-template-columns:1.2fr repeat(5,1fr)}@media(max-width:880px){.foot-grid.v3{grid-template-columns:1fr 1fr}}
a.sr-only:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;clip:auto;background:#fff;color:var(--p);padding:.6rem 1rem;border-radius:8px;z-index:100;box-shadow:var(--sh)}
.nav-links a[aria-current=page]{color:var(--p)}
.steps-list{padding-left:1.2rem}.steps-list li{margin:.5rem 0}
h1 em.grad{font-style:normal}

/* ---------- WÜDR product range (v4) ---------- */
:root{--night:#07090b;--night2:#0f1418;--steel:#9aa6b2;--fog:#d6dde3}
h1,h2,h3,.pcard-name,.ptag-h,.logo{font-family:var(--font-display);letter-spacing:-.025em}
h1,h2{font-weight:700}
.phero{background:radial-gradient(900px 500px at 80% 0,#1b2833 0,transparent 60%),var(--night);color:#e8edf1;padding:1.2rem 0 3.5rem;position:relative;overflow:hidden}
.phero .crumbs a,.phero .crumbs span{color:#9fb0bf}.phero .eyebrow{color:#7dd3fc}.phero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem);margin:.4rem 0 .4em}.phero .lead{color:#c9d3db}
.phero .ticks li{color:#dbe3ea}.phero .fine{color:#8b9aa8;margin-top:1rem}
.phero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem;align-items:center;margin-top:1.4rem}
.phero-img{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(0,0,0,.7);aspect-ratio:16/10;background:#11181e}.phero-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.phero-grid{grid-template-columns:1fr;gap:1.6rem}.phero-img{order:-1}}
.ticks{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.45rem}.ticks li{padding-left:1.6rem;position:relative}.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.75rem;height:.4rem;border-left:2px solid var(--p2);border-bottom:2px solid var(--p2);transform:rotate(-45deg)}
.ptag{background:var(--night2);color:#c9d3db;padding:2.2rem 0;text-align:center;border-top:1px solid #1d262d}.ptag-h{font-size:clamp(1.4rem,3vw,2rem);color:#fff;font-weight:600;margin-bottom:.3rem}.ptag p{margin:0}
.psec{padding:4.5rem 0}.psec+.psec:not(.dark){border-top:1px solid var(--line)}.psec .eyebrow{color:var(--p)}
.psec-head{max-width:760px}.psec-head p{color:var(--ink2);font-size:1.06rem}
.psec.dark{background:var(--night);color:#d4dce3}.psec.dark h2,.psec.dark h3{color:#fff}.psec.dark .eyebrow{color:#7dd3fc}.psec.dark p{color:#b9c4ce}.psec.dark .feat{background:#10171c;border-color:#1f2a32}.psec.dark .fine{color:#8b9aa8}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;align-items:center}.psec.flip .split-img{order:-1}
.split-img{margin:0;border-radius:20px;overflow:hidden;background:#eef2f5}.split-img img{width:100%;height:auto;display:block}
.psec.dark .split-img{background:#000}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:1.6rem}.psec.flip .split-img{order:0}.psec{padding:3.2rem 0}}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2rem}
.feat{border:1px solid var(--line);border-radius:16px;padding:1.3rem 1.4rem;background:#fff}.feat h3{font-size:1.08rem;margin-bottom:.4rem}.feat p{font-size:.95rem;color:var(--ink2);margin:0 0 .5em}
.feat-label{grid-column:1/-1;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1rem 0 0}
table.spec{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.spec th,.spec td{text-align:left;padding:.8rem .2rem;border-bottom:1px solid #253038;vertical-align:top}.spec th{width:38%;color:#fff;font-weight:600;padding-right:1rem}
.psec:not(.dark) .spec th,.psec:not(.dark) .spec td{border-color:var(--line)}.psec:not(.dark) .spec th{color:var(--ink)}
.pdis{max-width:60em;margin-bottom:2rem}
.dark-band{background:var(--night);color:#d4dce3}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem;margin:1.2rem 0}
.pgrid.svc{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:#e8edf1;background:#0e1418;border:1px solid #1d272e;border-radius:18px;overflow:hidden;transition:transform .2s,border-color .2s}
.pcard:hover{transform:translateY(-3px);border-color:#38bdf8}.pcard[hidden]{display:none}
.pcard-img{display:block;aspect-ratio:4/3;background:#000;overflow:hidden}.pcard-img img{width:100%;height:100%;object-fit:cover;display:block}
.pcard.photo .pcard-img{aspect-ratio:16/9}
.pcard-body{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem 1.2rem}
.pcard-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#7dd3fc;font-weight:600}
.pcard-name{font-size:1.12rem;margin:0;color:#fff;line-height:1.25}.pcard-eb{font-size:.88rem;color:#9fb0bf}
.section.tight:not(.dark-band) .pgrid .pcard{background:#0e1418}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.chip{font:inherit;font-weight:600;font-size:.92rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid #2a363f;background:transparent;color:#d4dce3;cursor:pointer}
.chip span{opacity:.6;font-weight:500;margin-left:.2rem}.chip[aria-pressed=true]{background:#fff;color:var(--night);border-color:#fff}
.dark-band .fine{color:#8b9aa8}.dark-band a{color:#7dd3fc}
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem;margin:1rem 0}
.mitem{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:14px;padding:.55rem .8rem .55rem .55rem;text-decoration:none;color:var(--ink);background:#fff}.mitem:hover{border-color:var(--p3);box-shadow:var(--sh)}
.mitem img{width:72px;height:54px;object-fit:cover;border-radius:10px;background:#000;flex:none}.mitem b{display:block;font-size:.95rem;line-height:1.3;color:var(--deep)}.mitem small{color:var(--muted)}
/* film: poster everywhere, video only on wide screens without reduced motion (app.js) */
.film{position:absolute;inset:0;z-index:0;background:#000}.film img,.film video{width:100%;height:100%;object-fit:cover;display:block;opacity:.8}.phero.hub .film::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.85),rgba(7,9,11,.2) 70%),linear-gradient(0deg,rgba(7,9,11,.9),transparent 45%)}
.film-copy{position:relative;z-index:1}
.phero.hub{min-height:min(78vh,640px);display:flex;align-items:flex-end;padding-bottom:3.5rem}.phero.hub .film-copy{max-width:1160px}.phero.hub .lead{max-width:38em}
.showcase{position:relative;background:var(--night);color:#d4dce3;padding:6rem 0 4rem;overflow:hidden}.showcase .film{height:520px;bottom:auto}.showcase .film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,11,.1),var(--night) 98%)}
.showcase h2{color:#fff;font-size:clamp(2rem,5vw,3.2rem)}.showcase .eyebrow{color:#7dd3fc}.showcase .lead{color:#c9d3db}.showcase .film-copy{padding:3rem 0 6rem}
.cat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}@media(max-width:900px){.cat-row{grid-template-columns:1fr 1fr}}
.btn-white{background:#fff;color:var(--night)}
.rec-models{margin-top:1rem}.rec-models h4{margin:0 0 .4rem}.rec-models .mlist{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* ---------- v5: wudr.vercel.app look (dark premium) ---------- */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --ink-950:#05070c;--ink-900:#080d17;--ink-850:#0d1421;--ink-800:#121c2c;--void:#020406;
  --mineral:#f4f1e8;--fg:#f4f9f8;--copy:#b9c5c4;--steel:#a6adba;--water:#7694ef;--water-bright:#b9c8ff;
  --teal:#6ce4dc;--teal-soft:#b4f4ef;--surface:#10181c;--surface2:#142024;--field:#0b1215;--border:#263236;
  --radius-surface:.75rem;--radius-control:.375rem;--ease-out:cubic-bezier(.16,1,.3,1);--ease-film:cubic-bezier(.22,1,.36,1);
  --font-display:Unbounded,"Unbounded Fallback","Arial Black",Arial,sans-serif;--font-body:Manrope,"Avenir Next","Helvetica Neue",Arial,sans-serif;
  /* legacy tokens remapped */
  --ink:#f4f9f8;--ink2:#b9c5c4;--muted:#aab8b7;--line:#263236;--bg:#05070c;--alt:#080d17;--p:#6ce4dc;--p2:#6ce4dc;--p3:#b4f4ef;--deep:#f4f9f8;
  --ok:#6fe0b0;--warn:#f3c46b;--r:.75rem;--sh:0 30px 80px -40px #000;--night:#05070c;--night2:#080d17;--fog:#d5e1df}
html{background:var(--ink-950);scroll-padding-top:96px;color-scheme:dark}
body{font-family:var(--font-body);font-weight:430;color:var(--fg);background:var(--ink-950);line-height:1.62}
::selection{background:var(--water);color:var(--ink-950)}
:focus-visible{outline:2px solid var(--water-bright);outline-offset:3px}
a{color:var(--teal)}
h1,h2,h3,h4,.pcard-name,.ptag-h,.logo{font-family:var(--font-display);color:#f8fbfa}
h1,h2{font-weight:700;letter-spacing:-.035em;line-height:1}
h1{font-size:clamp(2.45rem,1.7rem + 3vw,4.6rem)}
h2{font-size:clamp(2rem,1.45rem + 2vw,3.4rem)}
h3{font-weight:650;letter-spacing:-.02em;line-height:1.18}
h4{font-weight:650;letter-spacing:-.01em}
p,li{color:var(--copy)}
.lead{color:#c9d4d3;font-size:clamp(1rem,.95rem + .3vw,1.14rem);line-height:1.7}
.wrap{width:min(1280px,100% - 80px)}.narrow{width:min(820px,100% - 80px)}
@media(max-width:1024px){.wrap,.narrow{width:min(920px,100% - 48px)}}
@media(max-width:640px){.wrap,.narrow{width:calc(100% - 32px)}}
.muted,.fine{color:var(--muted)}
.eyebrow,.pcard-cat,.feat-label{color:var(--teal)!important;font-family:var(--font-body);font-size:.68rem;font-weight:760;letter-spacing:.2em;text-transform:uppercase;line-height:1.3;margin-bottom:1rem}
.grad,h1 em.grad{font-style:normal;background:linear-gradient(105deg,#f4f9f8 0%,#f4f9f8 30%,#b4f4ef 70%,#43c9c5 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.ph{background:#2a2110;color:#f3d08a;border:1px dashed #8a6d1f;border-radius:4px}
.preview-bar{background:var(--void);color:#b6c2c1;border-bottom:1px solid #141c20;font-size:.74rem;letter-spacing:.02em}
a.sr-only:focus{background:var(--mineral);color:var(--ink-950);box-shadow:none}
/* buttons: cream primary with dark wipe on hover, ghost outline */
.btn,.btn-white{position:relative;isolation:isolate;min-height:2.75rem;justify-content:space-between;gap:.9rem;padding:.62rem 1rem;border-radius:var(--radius-control);border:1px solid var(--mineral);font:560 .8rem/1.2 var(--font-body);letter-spacing:.01em;color:var(--ink-950);background:linear-gradient(var(--ink-950),var(--ink-950)) left/0 100% no-repeat,var(--mineral);box-shadow:none;transition:background-size .3s var(--ease-out),color .3s,border-color .3s,box-shadow .3s}
.btn::after{content:"";width:1rem;height:1rem;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s var(--ease-out)}
.btn:hover,.btn-white:hover{background-size:100% 100%;background-color:var(--mineral);color:var(--mineral);border-color:#fff;transform:none;box-shadow:0 0 0 1px #f4f1e829,0 .75rem 2rem #00000042}
.btn:hover::after{transform:translateX(2px)}
.btn-sm{min-height:2.5rem;padding:.5rem .9rem;font-size:.78rem}.btn-lg{min-height:3rem;padding:.75rem 1.15rem;font-size:.84rem}.btn-block{width:100%}
.btn-ghost,.btn-ghost-white,.btn-outline{color:var(--mineral);border-color:#ffffff4d;background:linear-gradient(#ffffff1a,#ffffff1a) left/0 100% no-repeat,#05070c59;box-shadow:none}
.btn-ghost:hover,.btn-ghost-white:hover,.btn-outline:hover{background-color:#05070c59;color:#fff;border-color:#fff9;box-shadow:0 0 0 1px #f4f1e814}
.btn:focus-visible{outline:2px solid var(--water-bright);outline-offset:3px}
.link{color:var(--teal);font-weight:600}.linkbtn{color:var(--teal)}
/* header */
.nav{position:sticky;top:0;background:linear-gradient(#05070cf0,#05070cd9);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid #e7edff1a}
.nav-inner{height:4.25rem;width:min(1440px,100% - 80px)}
@media(max-width:1024px){.nav-inner{width:calc(100% - 48px)}}@media(max-width:640px){.nav-inner{width:calc(100% - 32px)}}
.logo{color:#f8fbfa;font-weight:700;font-size:1.5rem;letter-spacing:-.035em}.logo .u,.logo.light .u{color:var(--teal)}.logo.light{color:#f8fbfa}
.drop{width:15px;height:20px;background:linear-gradient(160deg,#f4f9f8,#b4f4ef 55%,#43c9c5);clip-path:path("M7.5 0C7.5 0 0 9.2 0 13.3a7.5 7.5 0 0 0 15 0C15 9.2 7.5 0 7.5 0z")}
.nav-links{gap:.15rem}
.nav-links a:not(.btn){color:#f4f1e8c2;font-size:.76rem;font-weight:640;letter-spacing:.02em;padding:.7rem .65rem;border-radius:var(--radius-control);min-height:44px;display:inline-flex;align-items:center;transition:color .22s,background-color .22s}
.nav-links a:not(.btn):hover,.nav-links a[aria-current=page]{color:var(--mineral);background:#f4f1e80e}
.nav-links .btn{margin-left:.7rem;border-color:#f4f9f8;background-color:#f4f9f8;color:#02090c}
.nav-links .btn:hover{color:#f4f9f8}
.cart-btn{color:var(--fg)}.cart-count{background:var(--teal);color:var(--ink-950)}
.menu-btn span{background:var(--fg)}
@media(max-width:880px){.nav-links{top:4.25rem;background:#080d17fa;border-bottom:1px solid #e7edff24;box-shadow:0 30px 60px -20px #000;padding:.8rem 16px 1.2rem;gap:.35rem}.nav-links a:not(.btn){background:#f4f1e806;border:1px solid #e7edff1a;padding:.75rem .9rem;font-size:.86rem}.nav-links .btn{margin:.4rem 0 0}}
/* sections & rhythm */
.section{padding:clamp(4.5rem,7vw,7rem) 0;background:var(--ink-950)}
.section.alt{background:radial-gradient(circle at 70% 10%,#7694ef1a,transparent 32%),var(--ink-900)}
.section.tight{padding:clamp(2.5rem,4vw,3.5rem) 0}
.section+.section:not(.alt){border-top:1px solid #121a1e}
.section-head{max-width:760px}.section-head h2{margin-bottom:1.25rem}.section-head p:last-child{color:var(--copy)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface);box-shadow:none}
/* home hero */
.hero{background:var(--ink-950);isolation:isolate;min-height:min(88vh,820px);display:flex;align-items:center}
.hero-media{position:absolute;inset:0 0 0 auto;width:76%;z-index:-1;background:#05070c}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05070c 0%,#05070ccc 22%,#05070c00 55%),linear-gradient(0deg,#05070c 0%,#05070c00 30%),radial-gradient(at 56% 47%,#05070c00 0 30%,#05070c80 80%)}
.hero-inner{width:min(1440px,100% - 80px);grid-template-columns:minmax(0,40rem) 1fr;padding:6rem 0 5rem}
.hero h1{font-size:clamp(2.7rem,1.6rem + 3.6vw,5.4rem);line-height:.98;text-shadow:0 2px 28px #000c;margin:0 0 1.25rem}
.hero .lead{color:#d5e1df;max-width:34em}
.hero-points{color:#d5e1df;font-size:.84rem;gap:.5rem 1.4rem}.hero-points li{color:#d5e1df}.hero-points li::before{color:var(--teal)}
.hero-card{align-self:end;justify-self:end;background:#05070cb3;border:1px solid #ffffff1f;border-radius:var(--radius-surface);padding:.6rem;box-shadow:0 48px 120px #0009;backdrop-filter:blur(12px)}
.hero-steps{gap:.4rem}.hero-steps div{background:transparent;border:0;border-radius:var(--radius-control);color:#d5e1df;font-size:.8rem;font-weight:600;padding:.5rem .7rem}
.hero-steps b{background:#6ce4dc0f;border:1px solid #6ce4dc24;color:var(--teal);border-radius:var(--radius-control);font-size:.75rem}
@media(max-width:1024px){.hero-inner{width:calc(100% - 48px)}}
@media(max-width:880px){.hero{display:block;min-height:0}.hero-media{position:relative;inset:auto;width:100%;aspect-ratio:16/10}.hero-media img{object-position:62% 50%}.hero-media::after{background:linear-gradient(0deg,#05070c 0%,#05070c00 45%)}.hero-inner{width:calc(100% - 32px);padding:0 0 3.5rem;margin-top:-2.5rem;position:relative}.hero-card{display:none}}
/* inner page hero */
.page-hero{background:radial-gradient(circle at 12% 22%,#7694ef1a,#0000 30%),radial-gradient(88% 104% at 86% 0,#6ce4dc0f,#0000 60%),linear-gradient(125deg,#05070c 0%,#080d17 55%,#0d1421 100%);border-bottom:1px solid var(--border);padding:1.3rem 0 clamp(3rem,6vw,5rem)}
.page-hero h1{font-size:clamp(2.35rem,1.6rem + 2.8vw,4.2rem);margin:1.2rem 0 1.25rem;max-width:18em;text-shadow:0 2px 28px #000c}
.page-hero .eyebrow+h1{margin-top:0}
.crumbs{color:#9dacab;font-size:.78rem}.crumbs a{color:#b6c2c1}.crumbs a:hover{color:var(--fg)}.crumbs li:not(:last-child)::after{color:#5d6b70}.crumbs span[aria-current]{color:#9dacab}
/* forms */
input,select,textarea{color:var(--fg);background:var(--field);border:1px solid var(--border);border-radius:var(--radius-control);min-height:2.75rem}
input::placeholder,textarea::placeholder{color:#8a9897}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #6ce4dc29}
input.invalid,select.invalid{border-color:#ff7b7b}
select option{background:#0b1215;color:var(--fg)}
.form label,.checks legend{color:#d5e1df}
.checks input,.opt input,.addon input{accent-color:var(--teal)}
.form-msg.err{color:#ff9a9a}.form-msg.ok{color:var(--ok)}
.contact-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface)}
.steps li{color:var(--copy)}.steps b{color:var(--fg)}
/* quiz & report */
.quiz-progress{color:var(--muted)}
.bar{background:var(--surface2);height:4px}.bar span{background:linear-gradient(90deg,#43c9c5,#b4f4ef)}
.q .hint{color:var(--muted)}
.opt{background:#0d1114;border:1px solid var(--border);border-radius:var(--radius-control);color:#e2ebe9}
.opt:hover{border-color:#6ce4dc59;background:#10181c}
.opt:has(input:checked){border-color:var(--teal);background:#6ce4dc12}
.rec{background:#0d1114;border:1px solid #6ce4dc26;border-radius:var(--radius-surface)}
.rec p,.why,.reasons,.meta,.panel p,.rec-part ul,.path p,.prose p,.prose li,.util dd,.vlist li{color:var(--copy)}
.fact{border-left:1px solid #6ce4dc59}.fact p{color:var(--copy)}
.sev.ok{background:#0f2a22;color:#8ff0c4}.sev.ok i{background:#4fd6a0;color:#05070c}
.sev.mid{background:#2b220f;color:#f6d28a}.sev.mid i{background:#f0b44c;color:#05070c}
.sev.warn{background:#2e1215;color:#ffb0b0}.sev.warn i{background:#ff7b7b;color:#05070c}
.sev.unk{background:#161d21;color:#c9d4d3}.sev.unk i{background:#8a9897;color:#05070c}
.panel{background:#0d1114;border:1px solid var(--border);border-radius:var(--radius-surface)}
.big-stat{color:var(--fg)!important}.big-stat small{color:var(--muted)}
.bad{color:#ff9a9a}.good{color:var(--ok)}.nd{color:var(--muted)}
.vlist li,.tbl th,.tbl td,.attrib,.line,.drawer-head{border-color:var(--border)}
.tbl th{color:var(--muted)}.tbl td{color:#d5e1df}
.missing{background:var(--field);border:1px dashed #33444a;color:var(--copy)}
.picker{background:var(--ink-850);border:1px solid #e7edff14}
.conf,.notice{background:#221b0d;border:1px solid #5c4818;color:#f3d08a}
.well{background:#0c1c18;border:1px solid #1f4a3c;color:#d5e1df}
.spin{border-color:var(--surface2);border-top-color:var(--teal)}
.rec-section{background:radial-gradient(88% 104% at 86% 0,#6ce4dc0f,#0000 60%),linear-gradient(145deg,#030609,#05080b 50%,#080b0e)}
.rec-card{background:#040a0c;border:1px solid #ffffff24;border-radius:clamp(1rem,2.2vw,1.5rem);box-shadow:0 48px 120px #0009}
.rec-em,.sol-icon{background:#6ce4dc0f;border:1px solid #6ce4dc24;border-radius:var(--radius-control)}
.rec-price{background:var(--field);border:1px solid var(--border)}.rec-price>span{color:var(--muted)}.rec-price small{color:var(--copy)}
.rec-part{border-color:var(--border);background:#0d1114}
.path{background:#0d1114;border:1px solid var(--border);border-radius:var(--radius-surface)}
/* cards, links, prose */
.sol,.prod,.link-card,.util,.mitem,.feat,.aside-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface);box-shadow:none}
.link-card{transition:border-color .25s,background-color .25s,transform .35s var(--ease-out)}
.link-card:hover,.mitem:hover,.prod:hover{border-color:#6ce4dc59;background:var(--surface2);box-shadow:none}
.link-card b,.mitem b{color:var(--fg);font-family:var(--font-display);font-weight:650;letter-spacing:-.015em}.link-card span,.mitem small{color:var(--muted)}
.prod-img{background:linear-gradient(135deg,#0d1421,#10181c)}.prod .tag{color:var(--teal)}
.aside-card{background:radial-gradient(circle at 10% 12%,#7694ef1f,#0000 40%),#080d17;border-color:#e7edff24}
.prose th{background:var(--surface);color:var(--fg)}.prose th,.prose td{border-color:var(--border)}
.prose a,.sources a{color:var(--teal-soft);text-underline-offset:.2em}
.sources{color:var(--muted)}
.callout{background:var(--surface);border-left:2px solid var(--teal);border-radius:0 var(--radius-control) var(--radius-control) 0}
.util dt{color:var(--muted)}
.tag{background:#6ce4dc14;color:var(--teal-soft);border:1px solid #6ce4dc24}
.zip-chips button{background:transparent;border:1px solid var(--border);color:var(--teal-soft);border-radius:var(--radius-control);font-family:var(--font-body);min-height:2.25rem}
.zip-chips button:hover{background:#6ce4dc12;border-color:#6ce4dc59}
.chip{border:1px solid var(--border);background:transparent;color:#d5e1df;border-radius:var(--radius-control);font-family:var(--font-body);font-size:.8rem}
.chip:hover{border-color:#6ce4dc59;color:#fff;background:#f4f1e80b}
.chip.active,.chip[aria-pressed=true]{background:var(--mineral);color:var(--ink-950);border-color:var(--mineral)}
.ticks li{color:var(--copy)}.ticks li::before{background:none;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);border-radius:0;width:.7rem;height:.38rem;top:.55em;transform:rotate(-45deg)}
details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:1.05rem 1.25rem}
details[open]{border-color:#34454a}
summary{color:var(--fg);font-weight:600}summary::after{color:var(--teal)}details p{color:var(--copy)}
/* products range (v4) retuned */
.phero,.psec.dark,.dark-band,.showcase{background:var(--ink-950)}
.phero{background:radial-gradient(circle at 80% 0,#7694ef1a,#0000 40%),linear-gradient(125deg,#05070c 0%,#080d17 60%,#0d1421 100%);color:var(--fg)}
.phero .crumbs a,.phero .crumbs span{color:#b6c2c1}.phero h1{color:#f8fbfa}.phero .lead,.phero .ticks li{color:#d5e1df}.phero .fine{color:var(--muted)}
.phero-img,.split-img{border-radius:var(--radius-surface);border:1px solid #ffffff1a;background:#040a0c;box-shadow:0 48px 120px #0009}
.psec{background:var(--ink-950)}.psec:nth-of-type(even):not(.dark){background:radial-gradient(circle at 12% 22%,#7694ef12,#0000 30%),var(--ink-900)}
.psec+.psec:not(.dark){border-top:1px solid #121a1e}.psec-head p{color:var(--copy)}
.psec.dark{background:var(--void)}.psec.dark p{color:var(--copy)}.psec.dark .feat{background:var(--surface);border-color:var(--border)}
.spec th,.spec td,.psec:not(.dark) .spec th,.psec:not(.dark) .spec td{border-color:var(--border)}.spec th,.psec:not(.dark) .spec th{color:var(--fg)}.spec td{color:var(--copy)}
.feat p{color:var(--copy)}
.ptag{background:var(--void);border-top:1px solid var(--border);color:var(--copy)}
.pcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-surface);color:var(--fg)}
.pcard:hover{border-color:#6ce4dc59}.pcard-eb{color:var(--muted)}.pcard-img{background:#040a0c}
.section.tight:not(.dark-band) .pgrid .pcard{background:var(--surface)}
.dark-band a{color:var(--teal-soft)}
.film{background:#05070c}.showcase .film::after{background:linear-gradient(180deg,#05070c1a,#05070c 98%)}
.phero.hub .film::after{background:linear-gradient(90deg,#05070cd9,#05070c33 70%),linear-gradient(0deg,#05070ce6,transparent 45%)}
/* CTA band & footer */
.cta-band{background:radial-gradient(88% 104% at 86% 0,#6ce4dc14,#0000 60%),radial-gradient(circle at 12% 80%,#7694ef1a,#0000 35%),linear-gradient(145deg,#030609,#05080b 50%,#080b0e);border-top:1px solid var(--border);padding:clamp(4.5rem,8vw,7rem) 0}
.cta-band h2{color:#f8fbfa;margin-bottom:.6rem}
.footer{background:var(--void);color:#aeb9b8;padding:clamp(4rem,6vw,6rem) 0 1.75rem;font-size:.84rem;border-top:1px solid #121a1e}
.footer p{color:#aeb9b8}
.footer h4,.footer .fh{color:var(--teal);font-family:var(--font-body);font-size:.66rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem;padding-top:.2rem}
.footer a:not(.logo){color:#aeb9b8;border-radius:var(--radius-control);padding:.2rem 0;transition:color .2s}
.footer a:not(.logo):hover{color:var(--fg)}
.foot-bottom{border-top:1px solid var(--border);color:#9dacab;font-size:.76rem}
/* drawer & toast */
.overlay{background:#000000a6}
.drawer{background:var(--ink-900);border-left:1px solid #e7edff1a;box-shadow:-40px 0 80px -20px #000}
.x{color:var(--muted)}
.line .em{background:var(--surface2)}.line .info small{color:var(--muted)}
.qty{border-color:var(--border)}.qty button{color:var(--teal)}
.summary{background:var(--field);border:1px solid var(--border)}
.stepper span{border-color:var(--border);color:var(--muted)}.stepper span.on{color:var(--teal);border-color:var(--teal)}
.empty{color:var(--muted)}
.toast{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:0 20px 50px -20px #000}
/* light motion: desktop only, honours reduced motion (app.js adds .rv) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease-film),transform .9s var(--ease-film)}
.rv.in{opacity:1;transform:none}
.nav.scrolled{background:#020f12c2}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
@media(max-width:880px){.nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:#05070cf7}.nav-links{background:#080d17}}
.drawer{box-shadow:none;visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}.drawer.open{box-shadow:-40px 0 80px -20px #000;visibility:visible;transition:transform .3s ease}
@media(max-width:880px){.nav-links .btn{padding:0 1.1rem;justify-content:space-between}}
/* ===== v6: colour match to the original site + image resolution caps ===== */
:root{--ink-950:#020406;--ink-900:#080d10;--ink-850:#0b1215;--ink-800:#10181c;--bg:#020406;--alt:#080d10;--night:#020406;--night2:#080d10;--copy:#b6c2c1;--ink2:#b6c2c1}
body{background:#020406}
p{color:var(--copy)}
.section.alt{background:#080d10}
.page-hero,.phero{background:radial-gradient(88% 104% at 86% 0,#6ce4dc0f,#0000 60%),linear-gradient(145deg,#030609,#05080b 50%,#080b0e)}
.psec:nth-of-type(even):not(.dark){background:#080d10}
.cta-band{background:radial-gradient(88% 104% at 86% 0,#6ce4dc0f,#0000 60%),linear-gradient(145deg,#030609,#05080b 50%,#080b0e)}
.aside-card{background:#10181c;border-color:#263236}
.nav,.nav.scrolled{background:#020406;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #ffffff1a}
.nav-inner{height:3.5rem}
.drawer{background:#080d10}
@media(max-width:880px){.nav{background:#020406}.nav-links{top:3.5rem;background:#080d10;border-bottom-color:#ffffff1a}}
.hero-media{background:#020406}
.hero-media::after{background:linear-gradient(90deg,#020406 0%,#020406cc 22%,#02040600 55%),linear-gradient(0deg,#020406 0%,#02040600 30%),radial-gradient(at 56% 47%,#02040600 0 30%,#02040680 80%)}
.hero-card{background:#020406b3}
.film{background:#020406}.showcase .film::after{background:linear-gradient(180deg,#0204061a,#020406 98%)}
.phero.hub .film::after{background:linear-gradient(90deg,#020406d9,#02040633 70%),linear-gradient(0deg,#020406e6,transparent 45%)}
/* left-aligned headings, as on the old site */
.section-head{text-align:left;margin:0 0 3rem;max-width:none}.section-head p,.section-head .lead{margin-left:0}
.cta-band,.cta-band .wrap{text-align:left}.cta-band .cta-row{justify-content:flex-start}.cta-band p{margin-left:0}
.section-head h2,.cta-band h2,.psec-head h2,.showcase h2{font-size:clamp(2.25rem,1.2rem + 3.2vw,3.6rem);letter-spacing:-.045em;line-height:.92}
#faq .wrap.narrow{width:min(1440px,100% - 80px)}
@media(min-width:901px){#faq .wrap.narrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:3rem;align-items:start}}
@media(max-width:1024px){#faq .wrap.narrow{width:min(920px,100% - 48px)}}@media(max-width:640px){#faq .wrap.narrow{width:calc(100% - 32px)}}
.btn{font-weight:500;font-size:.8125rem}
/* page-hero photo backdrop (old-site photography) */
.page-hero.has-bg{position:relative;overflow:hidden;isolation:isolate;min-height:min(62vh,560px);display:flex;align-items:flex-end}
.page-hero.has-bg>.wrap{position:relative;z-index:1}
.page-hero-bg{position:absolute;inset:0 0 0 auto;width:62%;z-index:0;display:grid}
.page-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020406 0%,#020406b3 30%,#02040600 65%),linear-gradient(0deg,#020406 0%,#02040600 40%)}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;justify-self:end}
@media(max-width:900px){.page-hero.has-bg{display:block;min-height:0}.page-hero-bg{position:relative;width:100%;aspect-ratio:16/9;margin-bottom:-3rem}.page-hero-bg::after{background:linear-gradient(0deg,#020406 0%,#02040600 55%)}}
/* image framing: cutouts are contained like the original cards, photos cover */
.pcard-img{background:#030507;display:grid}.pcard-img img{object-fit:contain;object-position:50% 100%}
.pcard.photo .pcard-img img{object-fit:cover;object-position:50% 50%}
.split-img{display:grid}.split-img img{object-fit:cover}
.phero-img{display:grid}
.hero-media{display:grid}.hero-media img{justify-self:end}
.film{display:grid}.phero.hub .film img,.phero.hub .film video{justify-self:end}
@media(max-width:880px){.hero-media{aspect-ratio:16/9}}
@media(max-width:900px){.phero.hub{display:block;min-height:0;padding-top:0}.phero.hub .film{position:relative;aspect-ratio:16/9;inset:auto;margin-bottom:-2.5rem}.phero.hub .film::after{background:linear-gradient(0deg,#020406 0%,#02040600 55%)}.phero.hub .film-copy{position:relative}
.showcase .film{height:auto;aspect-ratio:16/9}}
/* Never display an image larger than its source: cap the box at intrinsic size / device pixel ratio.
   Under object-fit cover/contain this keeps the scale at or below 1 on 1x, 2x and 3x screens. */
img[style*="--iw"],.film video{max-width:var(--iw);max-height:var(--ih);margin:auto}
@media(min-resolution:1.5dppx){img[style*="--iw"],.film video{max-width:calc(var(--iw)/1.5);max-height:calc(var(--ih)/1.5)}}
@media(min-resolution:2dppx){img[style*="--iw"],.film video{max-width:calc(var(--iw)/2);max-height:calc(var(--ih)/2)}}
@media(min-resolution:3dppx){img[style*="--iw"],.film video{max-width:calc(var(--iw)/3);max-height:calc(var(--ih)/3)}}
/* soft edges where a capped media box is narrower than its full-bleed container */
.hero-media img,.film img,.film video,.page-hero-bg img{-webkit-mask-image:linear-gradient(90deg,#0000,#000 18%,#000 82%,#0000),linear-gradient(#0000,#000 12%,#000 88%,#0000);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#0000,#000 18%,#000 82%,#0000),linear-gradient(#0000,#000 12%,#000 88%,#0000);mask-composite:intersect}
.hero-media img,.page-hero-bg img,.phero.hub .film img,.phero.hub .film video{-webkit-mask-image:linear-gradient(90deg,#0000,#000 22%),linear-gradient(#0000,#000 10%,#000 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 22%),linear-gradient(#0000,#000 10%,#000 85%,#0000)}
.wrap{width:min(1440px,100% - 80px)}
@media(max-width:1024px){.wrap{width:min(920px,100% - 48px)}}@media(max-width:640px){.wrap{width:calc(100% - 32px)}}
.cta-band h2,.cta-band .lead,.cta-band p{margin-left:0;margin-right:auto}
.hero-media img,.page-hero-bg img,.phero.hub .film img,.phero.hub .film video{margin-right:0}
.ptag,.ptag-h,.ptag p{text-align:left}
.page-hero.has-bg{background:#020406}.phero.hub .film-copy{max-width:none}
.film,.hero-media,.page-hero-bg,.pcard-img,.phero-img{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
/* v6 type + button tones from the old site's computed styles */
body{color:#f4f1e8}
h1,h2,h3,.hero h1,.page-hero h1,.phero h1{color:#f4f9f8}
h1,.hero h1,.page-hero h1,.phero h1{font-size:clamp(2.75rem,2.4rem + 1.3vw,3.6rem);letter-spacing:-.045em;line-height:.9}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em}
.btn-ghost,.btn-ghost-white,.btn-outline{background:linear-gradient(#ffffff1a,#ffffff1a) left/0 100% no-repeat,#02040659}
.addr-block{max-width:640px;padding:1.75rem}.addr-block address{font-style:normal;color:var(--copy);margin:.75rem 0 1rem;line-height:1.6}.addr-block h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.05}
/* brand wordmark (matches wudr.vercel.app: 7.75rem header, 8.5rem at 2xl, 9rem footer) */
.logo{gap:0;line-height:0;flex:none}.logo img{display:block;width:7.75rem;height:auto}
@media(min-width:1536px){.nav .logo img{width:8.5rem}}
.footer .logo img{width:9rem}.footer .logo{margin-bottom:.5rem}
/* phone in nav: shown in mobile menu and on wide desktops */
.nav-tel{white-space:nowrap;font-weight:600;color:#f8fbfa!important}
@media(min-width:881px) and (max-width:1359px){.nav-tel{display:none!important}}
.call-line{margin:1rem 0 0;color:#aeb9b8;font-size:.95rem}.call-line a{color:var(--teal);font-weight:600}
/* hero: hero-card removed; keep copy clear of the product at laptop widths */
@media(min-width:881px) and (max-width:1439px){.hero-copy{max-width:min(40rem,44vw)}}
@media(min-width:881px) and (max-width:1679px){.hero-media{top:50%;bottom:auto;height:auto;aspect-ratio:16/9;transform:translateY(-50%)}.hero-media img{object-position:50% 50%}}
.foot-bottom a{display:inline!important;margin:0!important;padding:0!important}
/* balanced link grids (no orphan rows) */
@media(min-width:900px){.link-grid[data-n="2"]{grid-template-columns:repeat(2,1fr)}.link-grid[data-n="3"],.link-grid[data-n="6"],.link-grid[data-n="9"]{grid-template-columns:repeat(3,1fr)}.link-grid[data-n="4"],.link-grid[data-n="8"],.link-grid[data-n="12"],.link-grid[data-n="16"]{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){.link-grid[data-n="5"],.link-grid[data-n="10"],.link-grid[data-n="15"]{grid-template-columns:repeat(5,1fr)}}
.link-grid[data-n="1"]{grid-template-columns:minmax(0,420px)}@media(min-width:900px){.link-grid[data-n="7"]{grid-template-columns:repeat(4,1fr)}}
/* QA: prose sections align with the page grid instead of floating centred */
.wrap.prose{max-width:none}.wrap.prose>*{max-width:760px}
/* QA: contact address card uses the full row */
@media(min-width:800px){.addr-block{max-width:none;display:grid;grid-template-columns:1.1fr 1fr auto;column-gap:2rem;align-items:start}.addr-block h2,.addr-block .muted{grid-column:1/-1}.addr-block address,.addr-block p{margin:.75rem 0 0}.addr-block .muted{margin-top:1rem}}
/* QA: mobile hero copy starts below the product photo, no overlap */
@media(max-width:880px){.hero-inner{margin-top:.5rem}.hero-media::after{background:linear-gradient(0deg,#05070c 0%,#05070c00 30%)}}
/* QA: ZIP field gets full width on small phones */
@media(max-width:479px){.zip-form{flex-direction:column}.zip-form .btn{width:100%;justify-content:center}}
.quote{font-size:.95rem;font-weight:600;color:var(--copy,#c9d3d1)}
/* QA: feature cards fill the row evenly */
@media(min-width:900px){.feat-grid[data-n="2"]{grid-template-columns:repeat(2,1fr)}.feat-grid[data-n="3"],.feat-grid[data-n="6"],.feat-grid[data-n="9"]{grid-template-columns:repeat(3,1fr)}.feat-grid[data-n="4"],.feat-grid[data-n="7"],.feat-grid[data-n="8"]{grid-template-columns:repeat(4,1fr)}}
.feat-grid+.feat-label{margin-top:2.25rem}
/* QA: product card rows balanced to the number of cards */
@media(min-width:900px){.pgrid[data-n="1"],.pgrid[data-n="2"]{grid-template-columns:repeat(auto-fill,minmax(230px,340px))}.pgrid[data-n="3"],.pgrid[data-n="6"],.pgrid[data-n="9"]{grid-template-columns:repeat(3,1fr)}.pgrid[data-n="4"],.pgrid[data-n="8"],.pgrid[data-n="12"]{grid-template-columns:repeat(4,1fr)}}
.answer-box{border:1px solid var(--line,#d8e2e8);border-left:4px solid var(--teal,#0b7a75);background:var(--surface,#f5f9fa);border-radius:0 12px 12px 0;padding:.9rem 1.1rem;margin:0 0 1.4rem}.answer-box p{margin:.25em 0}.answer-kicker{font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--teal,#0b7a75)}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.layout>.prose{min-width:0}.table-wrap table{margin:.6em 0}
/* v10 display type: Unbounded (SIL OFL 1.1), matched to the heavy, wide, rounded-geometric WÜDR wordmark */@font-face{font-family:Unbounded;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/unbounded-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+2713,U+FEFF,U+FFFD}@font-face{font-family:"Unbounded Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Arial");size-adjust:130%;ascent-override:76%;descent-override:19%;line-gap-override:0%}h1,h2,h3,h4,.pcard-name,.ptag-h,.logo,.link-card b,.mitem b,.btn,.nav-links a,.eyebrow,.pcard-cat,.feat-label,.footer h4,.footer .fh,.chip,.rec-card h3,.why-h{font-family:var(--font-display)}h1,h2,h3,h4{overflow-wrap:break-word;hyphens:manual}h1,.hero h1,.page-hero h1,.phero h1{font-weight:800;font-size:clamp(1.85rem,1.3rem + 2.2vw,2.95rem);letter-spacing:-.035em;line-height:1.04}h2{font-weight:750;font-size:clamp(1.6rem,1.15rem + 1.6vw,2.5rem);letter-spacing:-.03em;line-height:1.06}.section-head h2,.cta-band h2,.psec-head h2,.showcase h2{font-size:clamp(1.75rem,1.1rem + 2.2vw,2.8rem);letter-spacing:-.035em;line-height:1.04}.prose h2{font-size:clamp(1.3rem,1.1rem + .9vw,1.7rem)}h3,h4,.pcard-name{font-weight:650;letter-spacing:-.015em;line-height:1.18}.btn{font-weight:650;letter-spacing:-.005em}.nav-links a:not(.btn){font-weight:560;letter-spacing:-.005em;font-size:.86rem}.eyebrow,.pcard-cat,.feat-label,.footer h4,.footer .fh{font-weight:650;letter-spacing:.12em}.link-card b,.mitem b{font-weight:650;letter-spacing:-.015em}.ptag-h{font-weight:750;letter-spacing:-.03em}.cat-row[data-n="5"]{grid-template-columns:1fr 1fr}@media(min-width:700px){.cat-row[data-n="5"]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1100px){.cat-row[data-n="5"]{grid-template-columns:repeat(5,1fr)}}
.spec.cmp{min-width:560px}.spec.cmp thead th{text-align:left;vertical-align:bottom}.spec.cmp th[scope=row]{width:28%}.spec.cmp td{width:36%}
.nav-links a{white-space:nowrap}@media(min-width:881px) and (max-width:1199px){.nav-links a:not(.btn){font-size:.74rem;padding:.7rem .45rem;letter-spacing:-.01em}.nav-links .btn{font-size:.78rem;padding-left:.9rem;padding-right:.9rem}}
@media(min-width:900px){.pgrid[data-n="5"]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1180px){.pgrid[data-n="5"]{grid-template-columns:repeat(5,1fr)}}
@media(min-width:881px) and (max-width:1023px){.nav-links a:not(.btn){font-size:.69rem;padding:.7rem .34rem}.nav-links .btn{font-size:.72rem;padding-left:.75rem;padding-right:.75rem}.nav-links .btn::after,.nav-links .btn svg{display:none}}
@media(min-width:1180px){.pgrid[data-n="5"] .pcard-name{font-size:1rem;line-height:1.25}}
