/* ==========================================================================
   DrugsGeek Pro — main stylesheet
   Ported from the design hand-off (project/styles.css) and extended for
   WordPress single/archive/sidebar/sticky-CTA + custom blocks.
   ========================================================================== */

/* ============== TOKENS ============== */
:root{
	--paper:#fbfaf7;
	--paper-2:#f5f2ec;
	--warm:#f3efe6;
	--ink:#0e1013;
	--ink-2:#23262b;
	--muted:#5f6168;
	--line:#e6e3dc;
	--line-2:#d8d4ca;
	--accent: oklch(0.58 0.14 152);
	--accent-2: oklch(0.62 0.16 35);
	--accent-soft: oklch(0.95 0.04 152);
	--accent-ink: #1c4732;
	--hot: oklch(0.62 0.18 28);
	--gold: oklch(0.78 0.14 80);
	--link: oklch(0.50 0.12 245);
	--serif: 'Fraunces', 'Source Serif 4', Georgia, serif;
	--sans: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--maxw: 1200px;
	--gap: 28px;
}
.dgp-density-compact{ --gap: 18px; }

*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{max-width:100%;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit;cursor:pointer}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;background:#fff;padding:8px 12px;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.15);border-radius:6px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;width:1px;height:1px;overflow:hidden}

.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}
.muted{color:var(--muted)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:500}
.ulink{color:var(--link);text-decoration:none;border-bottom:1px solid color-mix(in oklab, var(--link) 30%, transparent)}
.ulink:hover{text-decoration:none;border-bottom-color:var(--link)}

/* ============== ACCENT VARIANTS ============== */
.dgp-accent-blue{ --accent: oklch(0.58 0.13 245); --accent-soft: oklch(0.95 0.04 245); --accent-ink:#1c2c47; }
.dgp-accent-warm{ --accent: oklch(0.58 0.10 60);  --accent-soft: oklch(0.95 0.04 60);  --accent-ink:#4a3a1c; }

/* ============== DISCLOSURE / MASTHEAD ============== */
.disclosure{
	background:var(--ink);color:#dcd8cf;font-family:var(--mono);font-size:11px;
	display:flex;justify-content:center;align-items:center;gap:10px;
	padding:8px 16px;letter-spacing:.04em;
}
.disclosure span:first-child{color:var(--accent);font-size:8px;transform:translateY(-1px)}
.disclosure a{color:#fff;border-bottom:1px solid #555}

.masthead{position:sticky;top:0;background:rgba(251,250,247,.92);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid var(--line)}
.mast-inner{max-width:var(--maxw);margin:0 auto;padding:18px 32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:-0.01em}
.logo:hover{text-decoration:none}
.logo-glyph{font-family:var(--serif);font-size:30px;color:var(--accent);line-height:1}
.logo-word em{font-style:italic;font-weight:400}
.custom-logo{max-height:40px;width:auto}
.topnav{display:flex;gap:24px;justify-content:center;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.topnav li{margin:0}
.topnav a{color:var(--ink-2);font-size:14px;font-weight:500}
.topnav a:hover{color:var(--accent);text-decoration:none}
.mast-right{position:relative}
.search{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 12px;width:280px;color:var(--muted)}
.search:focus-within{border-color:var(--ink);color:var(--ink)}
.search input{border:0;outline:none;background:transparent;flex:1;font-family:var(--sans);font-size:13px;color:var(--ink);min-width:0}
.search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.06);padding:8px;z-index:10}
.search-pop-head{font-size:10px;color:var(--muted);padding:6px 10px;letter-spacing:.18em}
.search-pop-row{display:flex;justify-content:space-between;padding:8px 10px;border-radius:4px;color:var(--ink);text-decoration:none}
.search-pop-row:hover{background:var(--warm);text-decoration:none}

/* ============== SECTION SHELL ============== */
.home-main, .nf-main, .single-main{max-width:var(--maxw);margin:0 auto;padding:60px 32px;display:flex;flex-direction:column;gap:96px}
.section-head{margin-bottom:36px;max-width:760px}
.section-h{font-family:var(--serif);font-weight:500;font-size:46px;line-height:1.05;letter-spacing:-0.025em;margin:6px 0 14px;color:var(--ink);text-wrap:balance}
.section-h em{font-style:italic;color:var(--accent)}
.section-dek{color:var(--muted);font-size:17px;line-height:1.5;max-width:640px;margin:0}

/* ============== HERO ============== */
.trust-strip{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.trust-strip span{display:inline-flex;align-items:center;gap:8px}
.trust-strip b{color:var(--ink);font-weight:600}
.trust-strip svg{color:var(--accent)}

.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;padding:5px 11px;border-radius:999px;margin-bottom:16px;text-transform:uppercase}
.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent-2) 30%, transparent);animation:dgp-pulse 2s ease-in-out infinite}
@keyframes dgp-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.hero-h{font-family:var(--serif);font-weight:500;font-size:72px;line-height:.98;letter-spacing:-0.03em;margin:8px 0 18px;color:var(--ink);text-wrap:balance}
.hero-h em{font-style:italic;color:var(--accent);font-weight:500}
.hero-dek{font-size:19px;line-height:1.5;color:var(--ink-2);margin:0 0 18px;max-width:580px;text-wrap:pretty}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-bottom:24px}
.hero-cta{display:inline-block;font-size:15px;font-weight:600;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px}
.hero-cta:hover{color:var(--accent);text-decoration:none}
.hero-side{display:flex;flex-direction:column;gap:18px;border-left:1px solid var(--line);padding-left:32px}
.hero-side-row{display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:center;color:var(--ink);padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none}
.hero-side-row:last-child{border-bottom:0}
.hero-side-row:hover{text-decoration:none}
.hero-side-row:hover .hero-side-t{color:var(--accent)}
.hero-side-thumb{width:80px;height:60px;overflow:hidden;border-radius:4px}
.hero-side-thumb img{width:100%;height:100%;object-fit:cover}
.hero-side-tag{font-size:10px;color:var(--muted);letter-spacing:.14em;margin-bottom:4px}
.hero-side-t{font-family:var(--serif);font-size:17px;line-height:1.2;font-weight:500;letter-spacing:-0.005em;text-wrap:balance}

/* ============== PLACEHOLDER IMAGE ============== */
.ph-img{position:relative;background:#efece4;overflow:hidden}
.ph-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:#7a766a;letter-spacing:.04em;text-align:center;padding:8px;text-transform:uppercase}

/* ============== PRODUCT BOX VARIANT A ============== */
.picks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pbox{background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s, transform .2s, box-shadow .2s;position:relative}
.pbox:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(0,0,0,.18)}
.pbox-img{width:100%;aspect-ratio:1.1/1;background:var(--warm);overflow:hidden;position:relative}
.pbox-img img{width:100%;height:100%;object-fit:cover}
.pbox-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.pbox-badge{display:inline-block;align-self:flex-start;background:var(--accent-soft);color:var(--accent-ink);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.pbox-corner{position:absolute;top:14px;right:14px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;padding:5px 9px;border-radius:6px;display:flex;align-items:center;gap:5px;z-index:2}
.pbox-corner.deal{background:var(--hot)}
.pbox-corner.gold{background:var(--gold);color:var(--ink)}
.pbox-stock{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);font-family:var(--mono);font-size:10px;color:var(--accent-ink);font-weight:600;letter-spacing:.06em;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:6px}
.pbox-stock::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 30%, transparent)}
.pbox-was{font-size:12px;color:var(--muted);text-decoration:line-through;margin-left:8px}
.pbox-save{font-size:11px;font-weight:600;color:var(--hot);background:color-mix(in oklab, var(--hot) 12%, transparent);padding:2px 7px;border-radius:4px;margin-left:8px;letter-spacing:.02em}
.pbox-title{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.15;letter-spacing:-0.01em;margin:0;color:var(--ink);text-wrap:balance}
.pbox-title a, .pbox-title-lg a, .pbox-c-name{color:inherit;text-decoration:none}
.pbox-title a:hover, .pbox-title-lg a:hover, .pbox-c-name:hover{color:var(--accent);text-decoration:none}
.pbox-rating{display:flex;align-items:center;gap:8px;font-size:13px}
.pbox-rating .mono{font-weight:500}
.stars{display:inline-flex;gap:1px}
.pbox-pros{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--ink-2)}
.pbox-pros li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.pbox-pros .check{color:var(--accent);font-weight:700;flex-shrink:0;width:14px}
.pbox-pros .dash{color:var(--muted);flex-shrink:0;width:14px}
.pbox-pros .con{color:var(--muted)}
.pbox-price{font-size:14px;font-weight:500;color:var(--ink);margin-top:auto;padding-top:8px}
.pbox-price .prime{color:var(--muted);font-weight:400}
.cta{
	display:inline-flex;align-items:center;justify-content:center;gap:6px;
	background:var(--accent);color:#fff;
	font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.005em;
	border:0;border-radius:8px;padding:13px 18px;
	text-decoration:none;transition:transform .12s ease, box-shadow .15s, background .15s;
	min-height:44px;
	box-shadow:0 1px 0 rgba(0,0,0,.04), inset 0 1px 0 rgba(255,255,255,.18), 0 6px 16px -8px color-mix(in oklab, var(--accent) 60%, transparent);
	position:relative;overflow:hidden;
}
.cta::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.18) 50%, transparent 70%);transform:translateX(-100%);transition:transform .5s}
.cta:hover{text-decoration:none;color:#fff;transform:translateY(-1px);box-shadow:0 1px 0 rgba(0,0,0,.04), inset 0 1px 0 rgba(255,255,255,.25), 0 12px 24px -8px color-mix(in oklab, var(--accent) 70%, transparent)}
.cta:hover::before{transform:translateX(100%)}
.cta:active{transform:translateY(0)}
.cta-lg{padding:18px 24px;font-size:16px;width:100%;border-radius:10px}
.cta-sm{padding:9px 14px;font-size:13px;min-height:36px}
.pbox-foot{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}

/* ============== PRODUCT BOX VARIANT B ============== */
.picks-stack{display:flex;flex-direction:column;gap:32px}
.pbox-b{background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:340px 1fr;overflow:hidden}
.pbox-b:hover{border-color:var(--ink);transform:none;box-shadow:none}
.pbox-img-lg{background:var(--warm);min-height:340px;position:relative}
.pbox-img-lg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pbox-b .pbox-body{padding:32px 36px;gap:14px}
.pbox-title-lg{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.1;letter-spacing:-0.02em;margin:6px 0 0;color:var(--ink);text-wrap:balance}
.pbox-blurb{font-size:15px;line-height:1.55;color:var(--ink-2);margin:8px 0 4px;border-left:2px solid var(--accent);padding:2px 0 2px 14px}
.pbox-blurb strong{font-weight:600}
.pbox-price-lg{font-size:22px;font-weight:500;color:var(--ink);margin-top:8px}
.pbox-price-lg .prime{color:var(--muted);font-weight:400;font-size:14px}
.verified{color:var(--accent-ink);font-weight:500}

/* ============== PRODUCT BOX VARIANT C ============== */
.picks-c{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pbox-c{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;transition:border-color .15s;text-decoration:none}
.pbox-c:hover{border-color:var(--ink)}
.pbox-c-img{width:64px;height:64px;border-radius:6px;overflow:hidden;background:var(--warm)}
.pbox-c-img img{width:100%;height:100%;object-fit:cover}
.pbox-c-body{min-width:0;display:flex;flex-direction:column;gap:3px}
.pbox-c-label{font-size:9.5px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.pbox-c-name{font-family:var(--serif);font-size:15px;line-height:1.2;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pbox-c-price{font-size:12px;color:var(--ink)}

/* ============== COMPARISON TABLE ============== */
.cmp-table-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;overflow-x:auto}
.cmp-table{width:100%;border-collapse:collapse;font-size:14px}
.cmp-table th, .cmp-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmp-table thead th{background:var(--paper-2);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line-2)}
.cmp-thumb{width:64px;height:64px;border-radius:6px;overflow:hidden;background:var(--warm);margin-bottom:8px}
.cmp-name{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.15;color:var(--ink);margin-bottom:6px}
.cmp-pickbadge{display:inline-block;background:var(--accent);color:#fff;font-size:9.5px;letter-spacing:.12em;padding:3px 8px;border-radius:999px;font-weight:500}
.cmp-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;width:170px}
.cmp-table td.pick{background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 6%, transparent), color-mix(in oklab, var(--accent) 3%, transparent));position:relative}
.cmp-table th.pick{background:color-mix(in oklab, var(--accent) 8%, var(--paper-2))}
.cmp-table td.pick:first-of-type, .cmp-table th.pick{box-shadow: inset 2px 0 0 var(--accent)}
.cmp-table tbody tr:last-child td{border-bottom:0}

/* ============== QUIZ ============== */
.quiz-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:48px 52px;max-width:820px;margin:0 auto;box-shadow:0 24px 60px -32px rgba(0,0,0,.12),0 2px 8px -4px rgba(0,0,0,.04);position:relative;min-height:200px}
.quiz-card::before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:3px;background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:0 0 3px 3px}
.quiz-prog{display:flex;align-items:center;gap:14px;margin-bottom:32px}
.quiz-prog-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.quiz-prog-fill{height:100%;background:var(--accent);transition:width .3s ease}
.quiz-prog-txt{font-size:11px;color:var(--muted);letter-spacing:.06em}
.quiz-q{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.15;letter-spacing:-0.015em;margin:0 0 24px;color:var(--ink);text-wrap:balance}
.quiz-opts{display:flex;flex-direction:column;gap:10px}
.quiz-opt{
	display:flex;justify-content:space-between;align-items:center;
	background:#fff;border:1px solid var(--line);border-radius:8px;
	padding:18px 22px;font-size:16px;color:var(--ink);text-align:left;
	transition:border-color .15s, background .15s, transform .1s;
}
.quiz-opt:hover{border-color:var(--ink);background:var(--paper-2)}
.quiz-opt.sel{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.quiz-opt-arrow{color:var(--muted);font-size:14px;transition:transform .15s}
.quiz-opt:hover .quiz-opt-arrow{transform:translateX(3px);color:var(--accent)}
.quiz-back{background:transparent;border:0;color:var(--muted);font-size:12px;letter-spacing:.04em;margin-top:16px;padding:6px 0}
.quiz-back:hover{color:var(--ink)}
.quiz-result-h{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.15;letter-spacing:-0.015em;margin:8px 0 24px;color:var(--ink)}
.quiz-alts{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.quiz-alts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quiz-actions{display:flex;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.quiz-actions button{background:transparent;border:0;font-size:12px;color:var(--link);padding:0;border-bottom:1px solid color-mix(in oklab, var(--link) 30%, transparent);cursor:pointer;font-family:var(--mono)}
.quiz-actions button:hover{border-bottom-color:var(--link)}

/* ============== HOW-TO ============== */
.howto-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.howto-card{display:flex;flex-direction:column;padding:28px 24px 24px;color:var(--ink);border-right:1px solid var(--line);transition:background .15s;text-decoration:none}
.howto-card:last-child{border-right:0}
.howto-card:hover{text-decoration:none;background:var(--paper-2)}
.howto-num{font-size:11px;color:var(--accent);letter-spacing:.1em;margin-bottom:30px;font-weight:500}
.howto-t{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.2;letter-spacing:-0.01em;margin:0 0 8px;color:var(--ink);text-wrap:balance}
.howto-d{font-size:13.5px;line-height:1.5;color:var(--muted);margin:0 0 28px;flex:1}
.howto-read{font-size:11px;color:var(--ink);letter-spacing:.06em}

/* ============== REVIEWS / ARTICLE CARDS ============== */
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rv-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink);transition:border-color .15s;text-decoration:none}
.rv-card:hover{border-color:var(--ink);text-decoration:none}
.rv-img{width:100%;aspect-ratio:2.4/1;background:var(--warm);overflow:hidden}
.rv-img img{width:100%;height:100%;object-fit:cover}
.rv-tag{font-size:10px;color:var(--muted);letter-spacing:.14em;padding:18px 24px 0}
.rv-t{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.18;letter-spacing:-0.015em;margin:8px 24px 16px;color:var(--ink);text-wrap:balance}
.rv-row{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:flex-start;padding:0 24px 16px}
.rv-take{font-size:14px;line-height:1.5;color:var(--ink-2)}
.rv-author{font-size:11px;color:var(--muted);padding:0 24px 20px;letter-spacing:.04em}

/* ============== ACCORDION ============== */
.acc{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item:last-child{border-bottom:0}
.acc-q{
	display:flex;justify-content:space-between;align-items:center;width:100%;
	background:transparent;border:0;padding:22px 28px;text-align:left;
	font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.3;letter-spacing:-0.01em;
	color:var(--ink);transition:background .15s;cursor:pointer;
}
.acc-q:hover{background:var(--paper-2)}
.acc-chev{color:var(--accent);font-size:22px;font-weight:300;flex-shrink:0;margin-left:24px;width:20px;text-align:center}
.acc-item.open .acc-q{background:var(--paper-2)}
.acc-a{padding:0 28px 24px;max-width:780px}
.acc-a p{font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 14px}
.acc-prod{margin:14px 0}

/* ============== NEWSLETTER ============== */
.news{background:var(--ink);color:#fff;border-radius:18px;padding:72px 32px;text-align:center;background-image:radial-gradient(circle at 20% 20%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 60%),radial-gradient(circle at 80% 80%, color-mix(in oklab, var(--accent-2) 14%, transparent), transparent 60%);position:relative;overflow:hidden}
.news::after{content:"℞";position:absolute;right:-40px;bottom:-80px;font-family:var(--serif);font-size:340px;color:rgba(255,255,255,.04);font-weight:300;line-height:1}
.news .eyebrow{color:#9aa0a6}
.news-inner{max-width:560px;margin:0 auto;position:relative;z-index:1}
.news-h{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1.05;letter-spacing:-0.02em;margin:6px 0 14px;color:#fff;text-wrap:balance}
.news-d{font-size:16px;color:#c8ccd1;margin:0 0 28px}
.news-form{display:flex;gap:8px;max-width:440px;margin:0 auto 14px}
.news-form input{flex:1;background:#fff;border:0;border-radius:6px;padding:13px 16px;font-family:var(--sans);font-size:14px;color:var(--ink);outline:none;min-height:44px}
.news-form .cta{flex-shrink:0}
.news-trust{font-size:11px;color:#9aa0a6;letter-spacing:.04em}

/* ============== TRUST BLOCK ============== */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.trust-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}
.trust-card-h{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);margin-bottom:10px}
.trust-card p{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0}

/* ============== FOOTER ============== */
.ftr{background:var(--paper-2);border-top:1px solid var(--line);margin-top:60px}
.ftr-inner{max-width:var(--maxw);margin:0 auto;padding:60px 32px 40px}
.ftr-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ftr-cols div{display:flex;flex-direction:column;gap:8px}
.ftr-h{font-size:11px;color:var(--muted);letter-spacing:.12em;margin-bottom:6px}
.ftr-cols a{color:var(--ink-2);font-size:14px;text-decoration:none}
.ftr-cols a:hover{color:var(--accent);text-decoration:none}
.ftr-rule{height:1px;background:var(--line);margin:48px 0 24px}
.ftr-foot{display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted);line-height:1.6;flex-wrap:wrap}
.ftr-foot div:last-child{max-width:600px;text-align:right}
.ftr-cols ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}

/* ============== 404 ============== */
.nf-main{padding-top:48px;gap:80px}
.nf-msg{max-width:680px;margin:0 auto;text-align:center;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nf-h{font-family:var(--serif);font-weight:500;font-size:54px;line-height:1.05;letter-spacing:-0.025em;margin:8px 0 16px;color:var(--ink);text-wrap:balance}
.nf-d{font-size:17px;color:var(--ink-2);margin:0 auto 28px;max-width:540px}
.nf-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px;max-width:480px;margin:0 auto 32px;color:var(--muted)}
.nf-search input{flex:1;border:0;outline:none;background:transparent;font-family:var(--sans);font-size:15px;color:var(--ink)}
.nf-suggest{display:flex;flex-direction:column;gap:0;max-width:480px;margin:0 auto;border-top:1px solid var(--line)}
.nf-suggest a{display:flex;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;font-weight:500;text-align:left;text-decoration:none}
.nf-suggest a:hover{color:var(--accent);text-decoration:none}
.nf-suggest a span{color:var(--muted);font-size:11px;letter-spacing:.1em}
.nf-suggest a:hover span{color:var(--accent)}

/* ============== SINGLE / PAGE ============== */
.single-main{padding:40px 32px;gap:48px}
.single-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:flex-start}
.single-body{min-width:0}
.dgp-crumbs{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-bottom:18px}
.dgp-crumbs a{color:var(--muted)}
.dgp-crumbs a:hover{color:var(--ink);text-decoration:none}
.single-cat{display:inline-block;margin-bottom:8px;color:var(--accent);text-decoration:none}
.single-h{font-family:var(--serif);font-weight:500;font-size:54px;line-height:1.04;letter-spacing:-0.025em;margin:8px 0 16px;color:var(--ink);text-wrap:balance}
.single-dek{font-size:19px;color:var(--ink-2);line-height:1.55;margin:0 0 16px;max-width:680px}
.single-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--muted);margin-bottom:28px}
.single-feat-img{margin:24px 0 36px;border-radius:12px;overflow:hidden;background:var(--warm);aspect-ratio:16/9}
.single-feat-img img{width:100%;height:100%;object-fit:cover}

.prose{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:720px}
.prose p{margin:0 0 18px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.15;letter-spacing:-0.02em;color:var(--ink);margin:48px 0 14px;text-wrap:balance}
.prose h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;color:var(--ink);margin:32px 0 12px}
.prose h4{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin:24px 0 10px}
.prose a{color:var(--link);border-bottom:1px solid color-mix(in oklab, var(--link) 30%, transparent)}
.prose a:hover{text-decoration:none;border-bottom-color:var(--link)}
.prose blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin:24px 0;font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--ink);font-style:italic}
.prose ul, .prose ol{padding-left:22px;margin:0 0 18px}
.prose li{margin-bottom:6px}
.prose img{border-radius:8px;margin:18px 0}
.prose code{font-family:var(--mono);font-size:.92em;background:var(--paper-2);padding:2px 6px;border-radius:4px}
.prose pre{background:var(--ink);color:#dcd8cf;padding:16px 20px;border-radius:8px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.6}
.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.prose figure{margin:24px 0}
.prose figcaption{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}
.prose .alignwide{max-width:none}
.prose .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}

.dgp-aff-disclosure{background:var(--accent-soft);color:var(--accent-ink);border-radius:8px;padding:14px 18px;font-size:13px;margin:0 0 28px;line-height:1.5}
.dgp-aff-disclosure strong{font-weight:600}
.dgp-aff-inline{font-weight:500}

.single-disclaimer{margin-top:48px;padding:20px 24px;border:1px dashed var(--line-2);border-radius:8px;background:var(--paper-2)}
.single-disclaimer p{font-size:13px;color:var(--ink-2);margin:0;line-height:1.55}

.single-author{margin-top:36px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:64px 1fr;gap:18px}
.single-author-avatar img{border-radius:50%}
.single-author-body h3{margin:6px 0 6px;font-family:var(--serif);font-weight:500;font-size:18px}
.single-author-body p{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 0 8px}

.single-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.single-nav a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 22px;color:var(--ink);text-decoration:none;transition:border-color .15s}
.single-nav a:hover{border-color:var(--ink);text-decoration:none}
.single-nav-next{text-align:right}
.single-nav strong{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.2}

.single-sidebar{position:relative}
.single-sidebar-sticky{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}
.dgp-sticky-pbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.dgp-sticky-pbox-img{aspect-ratio:1.4/1;background:var(--warm);border-radius:6px;overflow:hidden}
.dgp-sticky-pbox-img img{width:100%;height:100%;object-fit:cover}
.dgp-sticky-pbox-name{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.2;margin:4px 0 0}

.single-related{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.single-related-row{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:center;color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line)}
.single-related-row:last-child{border-bottom:0}
.single-related-row:hover{text-decoration:none}
.single-related-row:hover .single-related-t{color:var(--accent)}
.single-related-thumb{width:60px;height:45px;border-radius:4px;overflow:hidden}
.single-related-thumb img{width:100%;height:100%;object-fit:cover}
.single-related-t{font-family:var(--serif);font-weight:500;font-size:14px;line-height:1.25}

/* ============== MOBILE STICKY CTA ============== */
.dgp-sticky-cta{
	position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);
	padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;z-index:60;
	box-shadow:0 -8px 24px rgba(0,0,0,.06);
}
.dgp-sticky-cta-eyebrow{font-size:9px;color:var(--muted);letter-spacing:.14em}
.dgp-sticky-cta-name{font-family:var(--serif);font-size:14px;font-weight:500;color:var(--ink);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ============== PAGINATION ============== */
.dgp-pagination{margin-top:48px;display:flex;justify-content:center}
.dgp-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.dgp-pagination a, .dgp-pagination span{padding:10px 14px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:13px;background:#fff}
.dgp-pagination a:hover{border-color:var(--ink);text-decoration:none}
.dgp-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============== COMMENTS ============== */
.comments-area{margin-top:64px;border-top:1px solid var(--line);padding-top:32px;max-width:720px}
.comments-title{font-family:var(--serif);font-weight:500;font-size:24px;margin:0 0 24px}
.comment-list{list-style:none;padding:0;margin:0 0 32px}
.comment-list li{padding:18px 0;border-bottom:1px solid var(--line)}
.comment-list .children{list-style:none;padding-left:24px;margin-top:12px;border-left:1px solid var(--line)}
.comment-author{font-weight:600;font-size:14px;color:var(--ink)}
.comment-meta{font-size:11px;color:var(--muted);margin-bottom:8px}
.comment-content{font-size:15px;line-height:1.55}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 14px;font-family:inherit;font-size:14px;margin-bottom:12px}

/* ============== PROS/CONS BLOCK ============== */
.dgp-procons{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 26px;margin:24px 0}
.dgp-procons-h{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin-bottom:14px}
.dgp-procons-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dgp-procons-label{font-size:10px;color:var(--muted);letter-spacing:.14em;margin-bottom:10px}
.dgp-procons-pros .dgp-procons-label{color:var(--accent-ink)}
.dgp-procons ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.dgp-procons li{display:flex;gap:8px;font-size:14px;color:var(--ink-2);line-height:1.45}
.dgp-procons .check{color:var(--accent);font-weight:700;width:14px;flex-shrink:0}
.dgp-procons .dash{color:var(--muted);width:14px;flex-shrink:0}

/* ============== AFFILIATE CTA BLOCK ============== */
.dgp-aff-cta-wrap{margin:24px 0;text-align:center}
.dgp-aff-cta-note{font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.04em}

/* ============== RESPONSIVE ============== */
@media (max-width: 980px){
	.hero{grid-template-columns:1fr;gap:40px}
	.hero-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}
	.hero-h{font-size:44px}
	.picks-grid, .picks-c, .rv-grid, .ftr-cols, .howto-grid, .trust-grid{grid-template-columns:1fr 1fr}
	.pbox-b{grid-template-columns:1fr}
	.pbox-img-lg{min-height:240px;aspect-ratio:1.5/1;position:relative}
	.topnav{display:none}
	.mast-inner{grid-template-columns:auto 1fr}
	.search{width:200px}
	.section-h, .nf-h{font-size:32px}
	.news-h{font-size:32px}
	.cmp-table{font-size:12.5px}
	.cmp-table th, .cmp-table td{padding:10px 12px}
	.single-grid{grid-template-columns:1fr}
	.single-sidebar-sticky{position:static}
	.single-h{font-size:38px}
	.dgp-sticky-cta{display:flex}
}
@media (max-width: 640px){
	.picks-grid, .picks-c, .rv-grid, .ftr-cols, .howto-grid, .trust-grid{grid-template-columns:1fr}
	.home-main, .nf-main, .single-main{padding:32px 18px;gap:60px}
	.ftr-foot{flex-direction:column}
	.ftr-foot div:last-child{text-align:left}
	.quiz-card{padding:24px 20px}
	.news-form{flex-direction:column}
	.hero-h{font-size:36px}
	.single-h{font-size:30px}
	.dgp-procons-grid{grid-template-columns:1fr}
	.cmp-table .cmp-label{width:auto}
	.single-nav{grid-template-columns:1fr}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
	*{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
