@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#17211f; --muted:#66726e; --paper:#f5f6f2; --card:#fff; --line:#dfe5df; --green:#2f5d50; --mint:#d8eee3; --amber:#f6b84a; --red:#d65b49; --dark:#1f302c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.6 Manrope,system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1140px,calc(100% - 44px)); margin:0 auto; }
.site-header { background:rgba(245,246,242,.94); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; backdrop-filter:blur(14px); }
.nav-wrap,.footer-wrap { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; font-size:17px; letter-spacing:-.03em; }
.brand b { font-weight:800; }
.brand-mark { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-weight:800; }
nav { display:flex; align-items:center; gap:28px; color:var(--muted); font-size:13px; font-weight:700; }
nav a:hover { color:var(--green); }
.nav-report { background:var(--ink); color:#fff; padding:10px 15px; border-radius:4px; }
.hero { background:var(--mint); min-height:500px; display:flex; align-items:center; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1fr 440px; gap:70px; align-items:center; padding:82px 0; }
.eyebrow { color:var(--green); font:500 11px/1.2 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; margin:0 0 18px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:700px; font-size:clamp(50px,7vw,83px); line-height:.98; letter-spacing:-.07em; margin-bottom:27px; }
h1 em { color:var(--green); font-style:normal; }
.hero-copy { color:#526660; font-size:17px; max-width:570px; margin-bottom:30px; }
.search-form { display:flex; max-width:580px; background:#fff; padding:6px; border:1px solid #c9dfd2; border-radius:6px; box-shadow:0 10px 25px rgba(47,93,80,.08); }
.search-form input { flex:1; min-width:0; border:0; outline:0; padding:13px 14px; font:inherit; background:transparent; }
button,.button { border:0; cursor:pointer; font:700 12px Manrope,sans-serif; border-radius:4px; padding:13px 17px; }
.search-form button { background:var(--green); color:#fff; }
.search-hint { color:#6a8178; font-size:12px; margin:11px 0 0 3px; }
.hero-card { min-height:310px; border-radius:12px; background:var(--dark); color:#fff; padding:32px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:22px 25px 0 rgba(47,93,80,.16); }
.radar { width:210px; height:210px; border-radius:50%; border:1px solid rgba(216,238,227,.32); position:relative; overflow:hidden; background:radial-gradient(circle,rgba(216,238,227,.12) 1px,transparent 1px); background-size:25px 25px; }
.radar:before,.radar:after { content:''; position:absolute; background:rgba(216,238,227,.18); }
.radar:before { width:100%; height:1px; top:50%; }.radar:after { height:100%; width:1px; left:50%; }
.radar span { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--amber); top:29%; left:62%; box-shadow:0 0 0 8px rgba(246,184,74,.15),0 0 20px var(--amber); }
.radar i { display:block; width:82%; height:82%; border:1px solid rgba(216,238,227,.3); border-radius:50%; margin:9%; }
.hero-card-copy { border-top:1px solid rgba(255,255,255,.16); padding-top:17px; }.hero-card-copy strong { font-size:18px; }.hero-card-copy p { color:#afc4bc; font-size:13px; margin:6px 0 0; }.status-dot { width:8px; height:8px; background:var(--amber); border-radius:50%; display:inline-block; margin-right:8px; }
.section { padding:92px 0; }.section-heading { display:flex; align-items:end; justify-content:space-between; border-bottom:1px solid var(--line); margin-bottom:28px; }.section-heading h2,.method-grid h2,.report-section h2 { font-size:clamp(28px,4vw,44px); letter-spacing:-.055em; line-height:1.05; margin:0 0 25px; }.result-count { color:var(--muted); font:12px 'DM Mono',monospace; margin-bottom:27px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.product-card { background:var(--card); border:1px solid var(--line); padding:25px; min-height:265px; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }.product-card:hover { transform:translateY(-4px); box-shadow:0 13px 25px rgba(23,33,31,.08); }.card-top { display:flex; align-items:start; justify-content:space-between; gap:14px; margin-bottom:22px; }.category { color:var(--muted); font:11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }.risk-badge { background:#fff0e7; color:#9c4b2a; font:600 10px 'DM Mono',monospace; padding:6px 8px; border-radius:3px; white-space:nowrap; }.product-card h3 { font-size:20px; line-height:1.16; letter-spacing:-.04em; margin-bottom:10px; }.product-card p { color:var(--muted); font-size:13px; margin-bottom:22px; }.card-link { color:var(--green); font-size:12px; font-weight:800; margin-top:auto; }.card-link span { margin-left:7px; }
.method-section { background:#e8eee9; padding:90px 0; }.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.method-grid > div:first-child p:not(.eyebrow) { color:var(--muted); max-width:500px; }.method-list > div { display:grid; grid-template-columns:45px 1fr; gap:15px; padding:0 0 23px; margin-bottom:23px; border-bottom:1px solid #cddbd2; }.method-list > div:last-child { border:0; }.method-list span { color:var(--green); font:12px 'DM Mono',monospace; }.method-list strong { font-size:16px; }.method-list p { color:var(--muted); font-size:13px; margin:5px 0 0; }
.report-section { padding:78px 0; display:flex; justify-content:space-between; align-items:center; gap:30px; }.report-section h2 { margin-bottom:10px; }.report-section p:not(.eyebrow) { color:var(--muted); max-width:630px; margin:0; }.button-dark { background:var(--ink); color:#fff; white-space:nowrap; }.button-dark span { margin-left:20px; color:var(--amber); }
.site-footer { border-top:1px solid var(--line); color:var(--muted); font-size:11px; }.footer-wrap { min-height:66px; }.footer-wrap a { color:var(--green); }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.trust-strip { background:#fff; border-bottom:1px solid var(--line); }.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); min-height:98px; }.trust-grid div { display:flex; flex-direction:column; justify-content:center; gap:3px; border-right:1px solid var(--line); padding-left:27px; }.trust-grid div:first-child { padding-left:0; }.trust-grid div:last-child { border:0; }.trust-grid strong { color:var(--green); font-size:22px; letter-spacing:-.05em; }.trust-grid span { color:var(--muted); font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.06em; }
.section-heading { align-items:start; }.section-lede { color:var(--muted); max-width:620px; font-size:13px; margin:11px 0 0; }.text-link { color:var(--green); font-size:12px; font-weight:800; white-space:nowrap; margin-top:9px; }.text-link:hover { text-decoration:underline; text-underline-offset:4px; }.filter-row { display:flex; gap:8px; flex-wrap:wrap; margin:-5px 0 25px; }.filter-button { border:1px solid var(--line); background:transparent; color:var(--muted); font:11px 'DM Mono',monospace; padding:9px 11px; border-radius:3px; }.filter-button:hover,.filter-button.active { color:var(--green); border-color:#a8c7b6; background:#edf6f0; }
.feature-section { background:#fff; padding:0 0 92px; }.feature-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:18px; }.feature-panel { min-height:390px; padding:38px; }.feature-panel-dark { background:var(--dark); color:#fff; }.feature-panel-dark .eyebrow { color:#a7cfbb; }.feature-panel-dark h2 { max-width:470px; font-size:clamp(34px,4vw,55px); letter-spacing:-.06em; line-height:1.02; margin:0 0 17px; }.feature-panel-dark p:not(.eyebrow) { color:#bad0c6; max-width:500px; font-size:14px; }.button-light { display:inline-block; background:#d8eee3; color:var(--dark); margin-top:14px; }.button-light span { margin-left:22px; }.feature-panel-light { background:#f0f4ef; border:1px solid var(--line); }.feature-panel-light .eyebrow { margin-bottom:8px; }.pattern-number { color:var(--green); font-size:82px; line-height:.9; font-weight:800; letter-spacing:-.08em; margin:0 0 6px; }.feature-panel-light h3 { font-size:17px; margin:0 0 20px; }.mini-list { list-style:none; padding:0; margin:0; border-top:1px solid #d6e0d8; }.mini-list li { display:flex; align-items:center; gap:14px; border-bottom:1px solid #d6e0d8; padding:11px 0; font-size:12px; color:#52635a; }.mini-list span { color:var(--green); font:10px 'DM Mono',monospace; }.two-col-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }.two-col-section h2 { font-size:clamp(34px,4vw,53px); letter-spacing:-.06em; line-height:1.02; margin:0; }.two-col-section h2 em { color:var(--green); font-style:normal; }.two-col-section .section-lede { font-size:16px; line-height:1.7; margin:0 0 20px; }

/* Listing pages */
.listing-hero { background:var(--mint); padding:70px 0 64px; }.crumbs { color:var(--green); font:11px 'DM Mono',monospace; margin-bottom:31px; }.crumbs a { text-decoration:underline; text-underline-offset:3px; }.listing-hero h1 { max-width:800px; font-size:clamp(39px,6vw,68px); margin-bottom:24px; }.listing-hero .intro { max-width:720px; color:#526660; font-size:16px; margin:0; }.listing-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:60px; padding:70px 0 100px; }.verdict-box { border:1px solid #e5cda9; background:#fff9ee; padding:23px; margin-bottom:35px; }.verdict-label { color:#98641e; font:11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; margin-bottom:11px; }.verdict-box h2 { font-size:30px; line-height:1.1; letter-spacing:-.05em; margin:0 0 10px; }.verdict-box p { color:#765f3e; font-size:13px; margin:0; }.listing-content h2 { font-size:27px; letter-spacing:-.04em; margin:42px 0 16px; }.listing-content h2:first-child { margin-top:0; }.listing-content p { color:var(--muted); }.signal-list { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:12px; }.signal-list li { display:grid; grid-template-columns:23px 1fr; gap:11px; color:#495852; font-size:14px; }.signal-list li:before { content:'!'; width:21px; height:21px; display:grid; place-items:center; border-radius:50%; color:#9c4b2a; background:#fff0e7; font:700 12px 'DM Mono',monospace; }.quote-card { background:var(--dark); color:#fff; padding:25px; margin-top:26px; }.quote-card p { color:#d6e1db; font-size:14px; margin:0; }.quote-card span { color:#9db7ab; display:block; font:10px 'DM Mono',monospace; margin-top:17px; text-transform:uppercase; }.listing-sidebar { align-self:start; position:sticky; top:103px; }.side-card { border-top:2px solid var(--green); background:#fff; padding:23px; margin-bottom:18px; }.side-card h3 { font-size:14px; margin-bottom:17px; }.side-card p,.side-card li { color:var(--muted); font-size:12px; }.side-card ul { padding-left:17px; margin:0; }.source-link { display:block; color:var(--green); font-size:12px; font-weight:700; overflow-wrap:anywhere; }.review-meta { color:var(--muted); font:10px 'DM Mono',monospace; margin-top:15px; }.notice { background:#f1f4f0; border-left:3px solid var(--green); padding:17px 18px; color:#56635e; font-size:12px; }
@media (max-width:800px) { .container { width:min(100% - 30px,600px); }.nav-wrap { min-height:64px; } nav a:not(.nav-report) { display:none; }.hero-grid,.method-grid,.listing-layout,.two-col-section { grid-template-columns:1fr; gap:35px; }.hero { min-height:auto; }.hero-grid { padding:64px 0; }.hero-card { max-width:470px; }.product-grid { grid-template-columns:1fr 1fr; }.listing-sidebar { position:static; }.report-section { align-items:start; flex-direction:column; }.feature-grid { grid-template-columns:1fr; }.feature-panel { min-height:auto; }.trust-grid { grid-template-columns:repeat(2,1fr); }.trust-grid div:nth-child(2) { border-right:0; }.trust-grid div:nth-child(3),.trust-grid div:nth-child(4) { border-top:1px solid var(--line); }.trust-grid div:nth-child(3) { padding-left:0; } }
@media (max-width:530px) { h1 { font-size:52px; }.product-grid { grid-template-columns:1fr; }.search-form { display:block; background:transparent; padding:0; border:0; box-shadow:none; }.search-form input { background:#fff; width:100%; border:1px solid #c9dfd2; border-radius:4px; margin-bottom:8px; }.search-form button { width:100%; }.footer-wrap { align-items:start; flex-direction:column; justify-content:center; gap:3px; padding:14px 0; }.section,.method-section { padding:65px 0; }.feature-section { padding-bottom:65px; }.trust-grid strong { font-size:18px; }.trust-grid div { padding-left:15px; } }

/* Alert, methodology and report pages */
.page-hero { background:var(--mint); padding:68px 0 60px; }.page-hero h1 { font-size:clamp(42px,6vw,70px); margin:0 0 18px; }.page-hero p:not(.eyebrow) { color:#526660; max-width:690px; font-size:16px; margin:0; }.page-content { padding:65px 0 100px; }.alert-feed { display:grid; gap:13px; }.alert-row { display:grid; grid-template-columns:105px 1fr 125px; gap:22px; align-items:center; background:#fff; border:1px solid var(--line); padding:22px 24px; }.alert-row:hover { border-color:#a8c7b6; }.alert-date { color:var(--muted); font:10px 'DM Mono',monospace; text-transform:uppercase; }.alert-row h2 { font-size:18px; line-height:1.2; letter-spacing:-.035em; margin:0 0 5px; }.alert-row p { color:var(--muted); font-size:12px; margin:0; }.alert-status { justify-self:end; text-align:right; }.status-pill { display:inline-block; background:#fff0e7; color:#9c4b2a; padding:6px 8px; border-radius:3px; font:10px 'DM Mono',monospace; }.alert-status a { display:block; color:var(--green); font-size:11px; font-weight:800; margin-top:10px; }.content-narrow { max-width:790px; }.content-narrow h2 { font-size:29px; letter-spacing:-.05em; margin:45px 0 14px; }.content-narrow h2:first-child { margin-top:0; }.content-narrow p,.content-narrow li { color:var(--muted); font-size:14px; }.content-narrow ul { padding-left:20px; }.rating-table { border:1px solid var(--line); background:#fff; margin:25px 0; }.rating-table div { display:grid; grid-template-columns:145px 1fr; gap:20px; padding:16px 19px; border-bottom:1px solid var(--line); }.rating-table div:last-child { border-bottom:0; }.rating-table strong { font-size:13px; }.rating-table span { color:var(--muted); font-size:13px; }.report-form { max-width:750px; background:#fff; border:1px solid var(--line); padding:27px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.field { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; }.field.full { grid-column:1/-1; }.field label { color:var(--green); font:11px 'DM Mono',monospace; text-transform:uppercase; }.field input,.field select,.field textarea { border:1px solid #cfdad2; border-radius:3px; padding:12px; color:var(--ink); background:#fbfcfa; font:13px Manrope,sans-serif; }.field textarea { min-height:135px; resize:vertical; }.form-note { color:var(--muted); font-size:11px; margin:2px 0 18px; }.report-form button { background:var(--green); color:#fff; }.success-message { display:none; background:#e8f5ed; color:var(--green); padding:13px 16px; margin-top:17px; font-size:13px; }
.facts { margin:0; }.facts div { display:grid; grid-template-columns:80px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }.facts div:last-child { border-bottom:0; padding-bottom:0; }.facts dt { color:var(--muted); font:10px 'DM Mono',monospace; text-transform:uppercase; }.facts dd { margin:0; color:var(--ink); font-size:12px; font-weight:700; }.timeline { list-style:none; padding:0; margin:0 0 30px; border-left:1px solid #bfd1c5; }.timeline li { display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; margin-left:-11px; padding:0 0 17px; color:#52635a; font-size:13px; }.timeline li:last-child { padding-bottom:0; }.timeline li span { width:21px; height:21px; display:grid; place-items:center; background:var(--mint); color:var(--green); border:1px solid #a8c7b6; border-radius:50%; font:10px 'DM Mono',monospace; }
.affiliate-disclosure { background:#f7f1df; border-left:3px solid var(--amber); color:#75613f; padding:12px 14px; margin:-5px 0 22px; font-size:11px; }.product-affiliate-link { color:var(--ink); }.product-affiliate-link:hover { color:var(--green); }.card-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }.card-actions .card-link { margin-top:0; }.affiliate-cta-small { background:var(--green); color:#fff; border-radius:3px; padding:7px 9px; font:10px 'DM Mono',monospace; white-space:nowrap; }.affiliate-cta-small:hover { background:var(--dark); }.affiliate-cta { display:block; text-align:center; background:var(--green); color:#fff; margin-top:16px; }.affiliate-cta:hover { background:var(--dark); }.affiliate-note { background:#f7f1df; color:#75613f; padding:12px 14px; font-size:11px; margin-top:14px; }
.score-panel { display:grid; grid-template-columns:150px 1fr; gap:25px; align-items:center; background:#fff9ee; border:1px solid #e5cda9; padding:23px; margin-bottom:18px; }.score-ring { width:132px; height:132px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--amber) calc(var(--score) * 1%),#eadfd1 0); position:relative; }.score-ring:after { content:''; position:absolute; inset:10px; background:#fff9ee; border-radius:50%; }.score-number { position:relative; z-index:1; text-align:center; color:#8d5a22; font-size:32px; font-weight:800; line-height:1; letter-spacing:-.07em; }.score-number small { display:block; color:#9c8465; font:10px 'DM Mono',monospace; letter-spacing:.04em; margin-top:7px; }.score-copy .eyebrow { color:#98641e; margin-bottom:9px; }.score-copy h2 { color:#704c23; font-size:23px; margin:0 0 7px; }.score-copy p { color:#765f3e; font-size:12px; margin:0; }.score-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }.score-meta span { border:1px solid #e5cda9; color:#8d6c42; padding:5px 7px; border-radius:3px; font:10px 'DM Mono',monospace; }.evidence-table { border:1px solid var(--line); background:#fff; margin:20px 0 30px; }.evidence-table div { display:grid; grid-template-columns:170px 1fr; gap:18px; padding:15px 17px; border-bottom:1px solid var(--line); }.evidence-table div:last-child { border-bottom:0; }.evidence-table strong { font-size:12px; }.evidence-table span { color:var(--muted); font-size:12px; }.checklist { display:grid; grid-template-columns:1fr 1fr; gap:11px; list-style:none; padding:0; margin:18px 0 28px; }.checklist li { background:#f1f4f0; border-left:3px solid #c9d8cf; padding:13px 14px; color:#56635e; font-size:12px; }.checklist li strong { display:block; color:var(--green); margin-bottom:4px; }.update-box { display:flex; justify-content:space-between; align-items:center; gap:20px; background:#e8f5ed; color:#426454; padding:15px 18px; font-size:12px; margin-top:25px; }.update-box a { color:var(--green); font-weight:800; white-space:nowrap; }
.affiliate-cta-small { padding:9px 11px; }.affiliate-cta { padding:16px 19px; font-size:13px; letter-spacing:.01em; box-shadow:0 7px 14px rgba(47,93,80,.14); }.affiliate-cta:hover { transform:translateY(-1px); }.affiliate-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 4px; }.affiliate-banner > span { color:var(--muted); font-size:12px; }.affiliate-banner .affiliate-cta { margin-top:0; min-width:225px; }
@media (max-width:530px) { .affiliate-banner { align-items:stretch; flex-direction:column; gap:10px; }.affiliate-banner .affiliate-cta { min-width:0; } }
