:root{
    --paper:#ECEDEA;--paper-2:#F5F6F3;--ink:#1B2024;--pine:#1E3A34;--pine-2:#274c43;
    --signal:#E1533B;--muted:#6A7178;--line:#D3D5CF;
    --mono:'JetBrains Mono',ui-monospace,monospace;--disp:'Space Grotesk',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px}

  .disclosure-bar{background:var(--ink);color:#EDEDEA;font-size:12.5px;font-family:var(--mono);letter-spacing:.01em}
  .disclosure-bar .wrap{padding-top:9px;padding-bottom:9px;display:flex;gap:10px;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap}
  .disclosure-bar strong{color:var(--signal);font-weight:500}

  header.site{border-bottom:1px solid var(--line);background:var(--paper)}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
  .brand{display:flex;align-items:center;gap:12px;font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.01em}
  .brand .glyph{width:30px;height:30px;border:2px solid var(--pine);border-radius:7px;position:relative;flex:none}
  .brand .glyph::before{content:"";position:absolute;left:5px;right:5px;top:8px;height:2px;background:var(--pine)}
  .brand .glyph::after{content:"";position:absolute;left:5px;right:11px;top:14px;bottom:6px;background:var(--signal);border-radius:1px}
  nav.top{display:flex;gap:26px;font-size:14px;font-weight:500}
  nav.top a{text-decoration:none;color:var(--muted);transition:color .15s}
  nav.top a:hover{color:var(--ink)}
  @media(max-width:720px){nav.top{display:none}}

  .hero{background:var(--pine);color:#EAEDE9;position:relative;overflow:hidden}
  .hero .wrap{padding-top:78px;padding-bottom:70px;position:relative;z-index:2}
  .hero .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#8FB3A8;margin:0 0 22px}
  .hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(34px,6vw,62px);line-height:1.03;letter-spacing:-.02em;margin:0;max-width:15ch}
  .hero h1 em{font-style:normal;color:var(--signal)}
  .hero p.lede{font-size:clamp(16px,2vw,19px);max-width:52ch;margin:26px 0 0;color:#C6D2CD}
  .hero .meta{margin-top:34px;display:flex;gap:28px;flex-wrap:wrap;font-family:var(--mono);font-size:12.5px;color:#9DBAB0}
  .hero .meta b{color:#EAEDE9;font-weight:500;display:block;font-size:20px;font-family:var(--disp)}
  .hero .grid-lines{position:absolute;inset:0;z-index:1;opacity:.5;background-image:linear-gradient(var(--pine-2) 1px,transparent 1px),linear-gradient(90deg,var(--pine-2) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 78% 30%,#000,transparent 70%)}

  section{padding:64px 0}
  .sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:36px;border-bottom:1px solid var(--line);padding-bottom:16px}
  .sec-head .no{font-family:var(--mono);font-size:13px;color:var(--signal);font-weight:500}
  .sec-head h2{font-family:var(--disp);font-weight:600;font-size:clamp(22px,3.4vw,30px);letter-spacing:-.01em;margin:0}
  .sec-head .sub{margin-left:auto;color:var(--muted);font-size:13.5px;max-width:34ch;text-align:right}
  @media(max-width:640px){.sec-head{flex-wrap:wrap}.sec-head .sub{text-align:left;margin-left:0;max-width:none}}

  .livebar{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:26px}
  .dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}
  .dot.ok{background:#3f9d5f}.dot.warn{background:#d9a441}.dot.err{background:var(--signal)}
  .dot.load{background:var(--muted);animation:pulse 1s infinite}
  @keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}

  .intro-copy{max-width:64ch;font-size:17px;color:#2C333A}
  .intro-copy p{margin:0 0 16px}

  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
  .card{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
  .card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(27,32,36,.4)}
  .card .thumb{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#E4E6E1,#E4E6E1 11px,#DEE0DA 11px,#DEE0DA 22px);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line)}
  .card .thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
  .card .thumb .ph{font-family:var(--mono);font-size:11px;color:#9AA1A0;letter-spacing:.08em;background:var(--paper-2);padding:6px 12px;border-radius:20px;border:1px solid var(--line)}
  .card .rank{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:11px;background:var(--ink);color:#fff;padding:4px 9px;border-radius:5px;letter-spacing:.05em;z-index:2}
  .card .body{padding:20px;display:flex;flex-direction:column;flex:1}
  .card h3{font-family:var(--disp);font-weight:600;font-size:19px;margin:0 0 4px;letter-spacing:-.01em}
  .card .cat{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:14px}

  .spec{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:12px 0;margin:2px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
  .spec div{font-family:var(--mono);font-size:11.5px;color:#454C52;display:flex;justify-content:space-between;gap:8px}
  .spec div span:first-child{color:var(--muted)}

  .verdict{font-size:14.5px;color:#333A40;flex:1}
  .verdict b{color:var(--pine)}

  .pricerow{margin-top:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
  .price{font-family:var(--disp);font-weight:700;font-size:24px;color:var(--ink);line-height:1}
  .price.pending{font-size:15px;color:var(--muted);font-weight:500}
  .asof{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:6px;max-width:22ch}
  .cta{display:inline-flex;align-items:center;gap:8px;background:var(--signal);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:11px 16px;border-radius:8px;white-space:nowrap;transition:background .15s,transform .1s}
  .cta:hover{background:#c9412c}.cta:active{transform:scale(.98)}
  .cta svg{width:14px;height:14px}

  .choose{background:var(--ink);color:#E7E8E4}
  .choose .sec-head{border-color:#333A40}.choose .sec-head h2{color:#fff}.choose .sec-head .no{color:var(--signal)}
  .choose .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
  .choose .col h4{font-family:var(--disp);font-size:16px;margin:0 0 8px;color:#fff;display:flex;align-items:center;gap:9px}
  .choose .col h4 .k{font-family:var(--mono);font-size:12px;color:var(--signal)}
  .choose .col p{font-size:14px;color:#AEB4B2;margin:0}

  footer{background:var(--pine);color:#C9D4CF;padding:56px 0 40px;font-size:13.5px}
  footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px}
  @media(max-width:900px){footer .cols{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:560px){footer .cols{grid-template-columns:1fr;gap:24px}}
  footer h5{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7FA093;margin:0 0 14px}
  footer p{margin:0 0 12px;line-height:1.55}
  footer .brand{color:#fff;margin-bottom:16px}
  footer .brand .glyph{border-color:#6f9488}footer .brand .glyph::before{background:#6f9488}
  footer a.inline{color:#EBE7DF;text-underline-offset:2px}
  .legal{border-top:1px solid var(--pine-2);padding-top:22px;font-family:var(--mono);font-size:11.5px;color:#8AA79B;line-height:1.7}
  .legal .req{color:#C9D4CF;display:block;margin-top:10px}

/* ---- Product review page ---- */
.crumbs{font-family:var(--mono);font-size:12px;color:var(--muted);padding:26px 0 0}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs span{color:var(--ink)}
.product-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;padding:24px 0 8px;align-items:start}
@media(max-width:760px){.product-hero{grid-template-columns:1fr;gap:22px}}
.product-hero .cat{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 10px}
.product-hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(28px,4.6vw,46px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px}
.product-hero .verdict{font-size:16px;color:#333A40;margin:0 0 20px}
.product-hero .verdict b{color:var(--pine)}
.buybox{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);padding:20px;margin-top:4px}
.buybox .pricerow{margin-top:0}
.product-hero .thumb{border-radius:12px;border:1px solid var(--line)}
.spec.block{grid-template-columns:1fr 1fr;margin:0 0 20px}
.review-body{max-width:70ch;padding:8px 0 4px}
.review-body h2{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:34px 0 12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.review-body p{font-size:17px;color:#2C333A;margin:0 0 16px}
.related{border-top:1px solid var(--line);margin-top:8px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.related-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--paper-2);transition:transform .15s,box-shadow .15s}
.related-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(27,32,36,.4)}
.related-card .rk{font-family:var(--mono);font-size:10.5px;color:var(--signal);letter-spacing:.06em}
.related-card .nm{font-family:var(--disp);font-weight:600;font-size:16px;color:var(--ink);margin:6px 0 2px}
.related-card .ct{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.review-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--pine);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.review-link:hover{border-color:var(--pine)}
.card h3 a{text-decoration:none;color:inherit}
.card h3 a:hover{color:var(--pine)}


/* ---- Article & guides pages ---- */
.article{max-width:72ch;padding:8px 0 8px}
.article-cat{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--signal);margin:0 0 12px}
.article h1{font-family:var(--disp);font-weight:700;font-size:clamp(28px,4.6vw,44px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px}
.article-meta{font-family:var(--mono);font-size:12px;color:var(--muted);margin:0 0 24px}
.article .lead{font-size:19px;line-height:1.55;color:#2C333A;margin:0 0 8px}
.article h2{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:34px 0 12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.article p{font-size:17px;color:#2C333A;margin:0 0 16px}
.article-disclose{margin-top:34px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);font-size:13.5px;color:var(--muted);font-family:var(--body)}

/* guides index groups */
.guide-group{padding:44px 0 8px}
.guide-group:first-of-type{padding-top:28px}
.guide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.guide-item{display:block;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--paper-2);transition:transform .15s,box-shadow .15s}
.guide-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(27,32,36,.4)}
.guide-item .gt{font-family:var(--disp);font-weight:600;font-size:16px;color:var(--ink);margin:0 0 4px;line-height:1.25}
.guide-item .gd{font-size:13px;color:var(--muted);margin:0}

/* ---- 404 page ---- */
.err-actions{margin-top:32px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.err-link{color:#C6D2CD;text-decoration:none;font-size:14px;font-weight:600;border-bottom:1px solid transparent;transition:border-color .15s}
.err-link:hover{border-color:#C6D2CD}
