:root{
    --paper:#F3ECE1;--paper-2:#F8F4EC;--ink:#241A12;--pine:#3C2414;--pine-2:#5A3620;
    --signal:#C17A2E;--muted:#7C6B5A;--line:#E3D8C8;
    --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:#D8B48C;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:#D9C9B5}
  .hero .meta{margin-top:34px;display:flex;gap:28px;flex-wrap:wrap;font-family:var(--mono);font-size:12.5px;color:#C9AF95}
  .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:#33291F}
  .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,.product-hero .thumb{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#E8E1D3,#E8E1D3 11px,#E0D6C2 11px,#E0D6C2 22px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
  .card .thumb{border-bottom:1px solid var(--line)}
  .card .thumb img,.product-hero .thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
  .card .thumb .ph,.product-hero .thumb .ph{font-family:var(--mono);font-size:11px;color:#A89A88;letter-spacing:.08em;background:var(--paper-2);padding:6px 12px;border-radius:20px;border:1px solid var(--line);text-align:center}
  .card .rank,.product-hero .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:#4A423A;display:flex;justify-content:space-between;gap:8px}
  .spec div span:first-child{color:var(--muted)}

  .verdict{font-size:14.5px;color:#3A322A;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:#A8631F}.cta:active{transform:scale(.98)}
  .cta svg{width:14px;height:14px}

  .choose{background:var(--ink);color:#EDE6DC}
  .choose .sec-head{border-color:#3A322A}.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:#B8AA96;margin:0}

  footer{background:var(--pine);color:#D9CDBE;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:#B89B7C;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:#8A6A4E}footer .brand .glyph::before{background:#8A6A4E}
  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:#B8A088;line-height:1.7}
  .legal .req{color:#D9CDBE;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:#3A322A;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:#33291F;margin:0 0 16px}
.full-specs{margin:8px 0 30px}
.full-specs h2{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.specs-table{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
.specs-table tr{border-bottom:1px solid var(--line)}
.specs-table tr:last-child{border-bottom:none}
.specs-table th,.specs-table td{padding:11px 16px;text-align:left;vertical-align:top}
.specs-table th{width:38%;font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--muted);background:var(--paper-2);white-space:nowrap}
.specs-table td{color:#33291F}

.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}
@media(max-width:600px){.pros-cons{grid-template-columns:1fr}}
.pc-col{border:1px solid var(--line);border-radius:10px;padding:18px 20px;background:var(--paper-2)}
.pc-col h3{font-family:var(--disp);font-size:16px;margin:0 0 10px}
.pc-pros h3{color:#2E6B45}
.pc-cons h3{color:#A8631F}
.pc-col ul{margin:0;padding-left:20px}
.pc-col li{margin:0 0 8px;font-size:15px;color:#33291F;line-height:1.5}

.buyer-fit{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}
@media(max-width:600px){.buyer-fit{grid-template-columns:1fr}}
.buyer-fit h3{font-family:var(--disp);font-size:16px;margin:0 0 8px;color:var(--pine)}
.buyer-fit p{font-size:15px;color:#33291F;margin:0;line-height:1.6}

.sources{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}
.sources h2{font-size:20px;margin:0 0 12px}
.sources ul{list-style:none;padding:0;margin:0 0 12px}
.sources li{padding:8px 0;border-bottom:1px solid #F0E9DC;font-size:14.5px}
.sources li:last-child{border-bottom:none}
.sources a{color:var(--pine);font-weight:600;text-decoration:none}
.sources a:hover{border-bottom:1px solid var(--pine)}
.src-type{color:var(--muted);font-weight:400}
.last-verified{font-size:13px;color:var(--muted);margin:0}

.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:#33291F;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:#33291F;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:#D9C9B5;text-decoration:none;font-size:14px;font-weight:600;border-bottom:1px solid transparent;transition:border-color .15s}
.err-link:hover{border-color:#D9C9B5}

/* ---- FAQ, picks & related gear (guides + product pages) ---- */
.faq{margin-top:44px;border-top:1px solid var(--line,#E7DFD0);padding-top:28px}
.faq h2{font-size:24px;margin:0 0 18px}
.faq-item{padding:16px 0;border-bottom:1px solid var(--line,#EAE2D2)}
.faq-item:last-child{border-bottom:none}
.faq-q{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;margin:0 0 6px;color:var(--pine)}
.faq-a{margin:0;color:#4A3D30;line-height:1.65}

.picks{margin-top:44px}
.picks h2{font-size:24px;margin:0 0 18px}
.picks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.pick-card{display:block;padding:18px 20px;border:1px solid #E3D8C8;border-radius:14px;background:#FBF8F3;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.pick-card:hover{border-color:var(--pine);transform:translateY(-2px);box-shadow:0 8px 24px rgba(60,36,20,.08)}
.pk-rank{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:1px;color:var(--signal);font-weight:600}
.pk-name{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:600;color:var(--pine);margin:6px 0 3px;line-height:1.25}
.pk-cat{font-size:13px;color:#8A7A66}
.pk-cta{margin-top:12px;font-size:13px;font-weight:600;color:var(--pine)}
.picks-note{margin-top:14px;font-size:12px;color:#8A7A66}

.related-gear{margin-top:40px;border-top:1px solid var(--line,#E7DFD0);padding-top:24px}
.related-gear h2{font-size:20px;margin:0 0 12px}
.related-gear ul{list-style:none;padding:0;margin:0}
.related-gear li{padding:9px 0;border-bottom:1px solid #F0E9DC;font-size:15px}
.related-gear li:last-child{border-bottom:none}
.related-gear a{color:var(--pine);font-weight:600;text-decoration:none;border-bottom:1px solid transparent}
.related-gear a:hover{border-color:var(--pine)}
.related-gear span{color:#8A7A66;font-size:13px}

/* ---- Contact form ---- */
.contact-form{margin-top:26px;max-width:560px}
.contact-form label{display:block;margin-bottom:18px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;color:var(--pine)}
.contact-form label .opt{color:#8A7A66;font-weight:400}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #D8CBB8;border-radius:10px;background:#fff;font-family:'Inter',sans-serif;font-size:15px;color:var(--pine);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px rgba(60,36,20,.12)}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form button.cta{border:none;cursor:pointer;font-size:15px}
.form-privacy{margin-top:14px;font-size:12px;color:#8A7A66}
.form-privacy a{color:#8A7A66}
/* Honeypot — hidden from humans, visible to bots */
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Result banners */
.form-note{padding:14px 16px;border-radius:10px;margin-bottom:22px;font-size:15px;line-height:1.5}
.form-note.ok{background:#e7f4ee;border:1px solid #b7dcc8;color:#1c5b3e}
.form-note.err{background:#fbeceb;border:1px solid #f0c5c0;color:#a3392c}
