:root { --ink:#14130F; --charcoal:#44443F; --muted:#646255; --quiet:#8C8A72; --bg:#F5F5ED; --bone:#F3F2E7; --khaki:#DFDBB0; --pale:#E7E5C9; --line:#D0CDAE; --olive:#616245; --stone:#B1AD86; }
* { box-sizing: border-box; }
body { margin:0; font-family:Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; color:var(--ink); background:var(--bg); line-height:1.48; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } a:hover { color:var(--olive); }
.skip-link { position:absolute; left:-999px; top:auto; } .skip-link:focus { left:1rem; top:1rem; background:var(--khaki); padding:.75rem; border:1px solid var(--ink); z-index:20; }
.site-header { max-width:1320px; margin:0 auto; padding:16px 22px; display:flex; justify-content:space-between; align-items:center; gap:22px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); }.brand-mark { width:26px; height:26px; border:1px solid var(--ink); display:grid; place-items:center; font-size:9px; font-weight:800; letter-spacing:.08em; background:var(--khaki); }.brand-text { display:flex; flex-direction:column; line-height:1; }.brand-text span { font-size:14px; font-weight:800; letter-spacing:-.04em; }.brand-text small { margin-top:3px; font-size:8px; letter-spacing:.18em; text-transform:uppercase; color:var(--quiet); }
nav { display:flex; gap:18px; flex-wrap:wrap; } nav a { color:var(--quiet); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; } nav a.active { color:var(--ink); }
main { max-width:1320px; margin:0 auto; padding:0 22px 72px; }
.hero { min-height:72vh; display:grid; align-content:center; padding:62px 0 38px; border-bottom:1px solid var(--line); }.eyebrow { color:var(--olive); font-size:10px; letter-spacing:.24em; text-transform:uppercase; font-weight:800; margin:0 0 14px; }
h1 { font-size:clamp(54px, 11.2vw, 148px); font-weight:800; line-height:.82; letter-spacing:-.105em; margin:0 0 20px; max-width:1160px; } h2 { font-size:clamp(30px,5vw,72px); font-weight:800; line-height:.88; letter-spacing:-.08em; margin:0 0 12px; } h3 { font-size:22px; font-weight:800; letter-spacing:-.055em; margin:0 0 6px; }
p { margin-top:0; }.hero-copy, .page-title p { font-size:clamp(16px,1.8vw,20px); color:var(--muted); max-width:640px; }
.search-label { display:block; font-size:9px; font-weight:800; letter-spacing:.20em; text-transform:uppercase; margin:28px 0 8px; color:var(--quiet); }
.search-input { width:100%; max-width:620px; min-height:48px; border:1px solid var(--ink); padding:0 12px; font:600 14px/1 Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; color:var(--ink); background:var(--bone); }
.search-input:focus { outline:2px solid var(--khaki); outline-offset:2px; }.search-input.compact { max-width:520px; min-height:46px; margin-top:12px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; border:1px solid var(--ink); background:transparent; color:var(--ink); }.button.primary { background:var(--ink); color:var(--bg); border-color:var(--ink); }.button.secondary:hover, .button.primary:hover { background:var(--khaki); color:var(--ink); border-color:var(--ink); }.button.large { min-height:46px; padding:0 18px; }
.trust-strip { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:22px; max-width:780px; }.trust-strip span { padding:10px 10px; border-right:1px solid var(--line); color:var(--quiet); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.trust-strip span:last-child { border-right:0; }
.notice { background:var(--pale); border:1px solid var(--line); padding:12px 14px; margin:24px 0; color:var(--charcoal); font-size:13px; max-width:960px; }
.section-head, .page-title { margin:58px 0 20px; max-width:840px; }.section-head p:not(.eyebrow), .page-title p { max-width:620px; }
.card-grid { display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid var(--line); }.card-grid.featured article:first-child { grid-column:auto; }
.product-card, .split-card, .method-summary, .method-grid article, .empty-state { background:transparent; border-bottom:1px solid var(--line); padding:20px 0; }.product-card { display:grid; grid-template-columns:54px 1fr; gap:18px; align-items:start; transition:.15s background-color; }.product-card:hover { background:var(--bone); }
.evidence-chip { width:40px; height:40px; border:1px solid var(--grade-color); display:grid; place-items:center; align-content:center; color:var(--grade-color); }.evidence-chip span { display:block; font-size:17px; font-weight:800; line-height:.9; }.evidence-chip small { display:none; }.verdict { font-weight:800; color:var(--ink); }.meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.meta-grid div { padding:8px 10px 8px 0; }.meta-grid dt { color:var(--quiet); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.meta-grid dd { margin:0; font-weight:800; font-size:11px; }.text-link { font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:800; color:var(--olive); }
.method-summary, .split-card { display:grid; grid-template-columns:1.2fr .8fr; gap:34px; align-items:start; margin-top:34px; border-top:1px solid var(--line); }.method-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0; border-top:1px solid var(--line); }.method-grid article { padding:20px 22px 20px 0; border-right:1px solid var(--line); }.method-grid article:nth-child(even) { padding-left:22px; border-right:0; }
.legal-copy { max-width:760px; border-top:1px solid var(--ink); padding-top:22px; }.legal-copy h2 { margin-top:26px; font-size:24px; letter-spacing:-.055em; }.legal-copy h2:first-child { margin-top:0; }.disclaimer-title h1 { color:var(--ink); }
.site-footer { border-top:1px solid var(--line); padding:24px 22px; color:var(--quiet); max-width:1320px; margin:0 auto; font-size:12px; }.small { color:var(--quiet); font-size:13px; }
@media (max-width: 820px) { .site-header { padding:16px; align-items:flex-start; flex-direction:column; } main { padding:0 16px 48px; } .hero { min-height:auto; padding:48px 0 34px; } nav { gap:12px; } .trust-strip, .method-grid, .method-summary, .split-card { grid-template-columns:1fr; } .trust-strip span { border-right:0; border-bottom:1px solid var(--line); } .trust-strip span:last-child { border-bottom:0; } .product-card { grid-template-columns:42px 1fr; gap:14px; } .method-grid article, .method-grid article:nth-child(even) { padding:18px 0; border-right:0; } .meta-grid { grid-template-columns:1fr; } }