:root{
  --ink:#111111;
  --muted:#5d5d5d;
  --line:#e6e6e6;
  --paper:#ffffff;
  --wash:#f5f5f3;
  --yellow:#FCD116;
  --blue:#003893;
  --red:#CE1126;
  --accent:var(--blue);
  --ok:#0b6b3a;
  --radius:14px;
  --max:1120px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.demo-ribbon{background:#111;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:8px 12px}
.demo-ribbon b{color:var(--yellow)}
.ruo-bar{background:var(--wash);border-bottom:1px solid var(--line);font-size:13px;padding:8px 0;color:var(--muted);text-align:center}
header.site{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;gap:22px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;margin-right:auto}
.brand img{height:28px;width:auto}
.brand span{font-weight:800;letter-spacing:.12em;font-size:13px}
.brand small{display:block;font-weight:600;letter-spacing:.16em;font-size:9px;color:var(--muted)}
nav.links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;font-weight:600}
nav.links a{color:var(--ink);text-decoration:none}
nav.links a:hover,.nav a.active{color:var(--accent)}
.nav-cta{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.accent{background:var(--accent);border-color:var(--accent)}
.btn:hover{opacity:.9;text-decoration:none}
.search{flex:1;min-width:180px;max-width:280px}
.search input{width:100%;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit}
.hero{padding:54px 0 28px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(32px,5vw,58px);line-height:.95;letter-spacing:-.03em;margin:0 0 14px}
.hero p{max-width:620px;color:var(--muted);margin:0 0 22px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.kpi{border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.kpi b{display:block;font-size:13px}
.kpi span{color:var(--muted);font-size:12px}
.section{padding:48px 0}
.section h2{margin:0 0 8px;letter-spacing:-.03em;font-size:28px}
.lede{color:var(--muted);margin:0 0 22px;max-width:680px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.filter{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}
.filter:hover{border-color:var(--blue);color:var(--blue)}
.filter.on{background:var(--blue);border-color:var(--blue);color:#fff}
.filter .n{opacity:.7;margin-left:4px;font-weight:600}
.cat-block{margin:0 0 36px}
.cat-block h3{margin:0 0 14px;font-size:18px;letter-spacing:-.02em}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{aspect-ratio:16/9;object-fit:cover;background:var(--wash)}
.card .body{padding:12px 14px 16px}
.card h3{margin:0 0 4px;font-size:16px}
.meta{font-size:12px;color:var(--muted)}
.price{font-weight:800;margin-top:8px}
.badge{display:inline-block;background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.legal{font-size:13px;color:var(--muted)}
.legal h2,.legal h3{color:var(--ink)}
footer.site{border-top:1px solid var(--line);padding:36px 0 24px;background:var(--wash);margin-top:20px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;font-size:13px}
.foot b{display:block;margin-bottom:8px}
.foot a{display:block;color:var(--ink);margin:4px 0;text-decoration:none}
.disclaimer{margin-top:22px;font-size:11px;color:var(--muted);max-width:900px}
.gate{position:fixed;inset:0;background:rgba(10,10,10,.92);z-index:80;display:none;align-items:center;justify-content:center;padding:24px}
.gate.show{display:flex}
.gate-card{background:#fff;max-width:520px;border-radius:18px;padding:28px}
.gate-card h2{margin-top:0}
.notice{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
form .row{display:grid;gap:8px;margin-bottom:12px}
label{font-size:12px;font-weight:700}
input,textarea,select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;width:100%}
.cart-count{background:var(--red);color:#fff;border-radius:999px;font-size:10px;padding:1px 6px;margin-left:4px}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.compare-col h3{margin:0 0 6px;font-size:18px}
.compare-col .lede{margin-bottom:14px}
.tile-frame{width:280px;max-width:100%}
.card .card-img{aspect-ratio:16/9;object-fit:cover;background:var(--wash)}
.strength-label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 6px}
.strength-select{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}
.bubbles{display:flex;flex-wrap:wrap;gap:6px}
.bubble{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer;line-height:1}
.bubble:hover{border-color:var(--blue);color:var(--blue)}
.bubble.on,.bubble.on:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.pdp .bubbles{margin:4px 0 2px}
.pdp .bubble{padding:7px 12px;font-size:12px}
.bubble.pack{padding:6px 10px}
.sku-line{font-size:12px;color:var(--muted);margin-top:8px}
.card h3 .name{font-size:16px}
.callout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.callout .kpi b{margin-bottom:4px}
@media(max-width:900px){
  .grid,.kpis,.foot,.two,.compare-grid,.callout{grid-template-columns:1fr 1fr}
  nav.links{display:none}
}
@media(max-width:640px){
  .grid,.kpis,.foot,.two,.compare-grid,.callout{grid-template-columns:1fr}
}
