:root {--ink:#14222a;--muted:#536169;--paper:#f4f0e7;--deep-paper:#e6dfd2;--panel:#fffdf8;--line:#c7beb0;--coral:#e85535;--dark-coral:#a72e19;--teal:#0d6b6f;--night:#0d1a20;--focus:#0067d9;--success:#12613c;--error:#9b2515;--serif:Georgia, "Times New Roman", serif;--sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width:76rem;--reading-width:48rem;--gutter:1.5rem}
*, *::before, *::after {box-sizing:border-box}
html {background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}
*, *::before, *::after {animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}
body {margin:0;background:var(--paper);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
[hidden] {display:none !important}
a {color:var(--ink);text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:0.2em;text-decoration-thickness:1.5px}
a:hover {color:var(--dark-coral);text-decoration-thickness:2.5px}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {outline:3px solid #fffdf8;outline-offset:0;box-shadow:0 0 0 6px var(--focus)}
.skip-link {position:absolute;top:-100px;left:var(--gutter);z-index:1000;background:var(--night);color:var(--panel);padding:0.75rem 1.25rem;font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.skip-link:focus {top:0.75rem;color:var(--panel)}
.review-banner {background:var(--night);color:var(--panel);border-bottom:3px solid var(--coral);padding:0.65rem var(--gutter);font-size:0.875rem}
.review-banner__inner {max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem}
.review-banner a, .lead-panel a, .newsletter-band a, .article-cta a, .site-footer a {color:var(--panel);text-decoration-color:var(--coral)}
.review-banner a:hover, .lead-panel a:hover, .newsletter-band a:hover, .article-cta a:hover, .site-footer a:hover {color:var(--panel);text-decoration-color:var(--coral);text-decoration-thickness:3px}
.container {width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}
.site-header {border-bottom:1px solid var(--line);background:var(--paper)}
.site-header__inner {max-width:var(--max-width);margin:0 auto;padding:1rem var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.brand-mark {display:inline-flex;flex-direction:column;text-decoration:none;min-height:44px;justify-content:center}
.brand-mark__title {font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;line-height:1.1;color:var(--ink)}
.brand-mark__tag {font-size:0.75rem;color:var(--muted);letter-spacing:0.04em;text-transform:uppercase;margin-top:0.15rem}
.issue-mark {justify-self:center;font-size:0.8125rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:0.5rem 0.75rem;border:1px solid var(--line);background:var(--panel);min-height:44px;display:inline-flex;align-items:center}
.issue-mark:hover {color:var(--ink);border-color:var(--ink)}
.site-nav {justify-self:end;display:flex;align-items:center;gap:0.75rem}
.nav-link {display:inline-flex;align-items:center;min-height:44px;padding:0.5rem 0.65rem;font-size:0.9375rem;font-weight:600;text-decoration:none;color:var(--ink)}
.nav-link:hover {color:var(--dark-coral);text-decoration:underline}
.btn, .nav-subscribe {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.55rem 1rem;font-family:var(--sans);font-size:0.9375rem;font-weight:700;text-decoration:none;border:1px solid var(--ink);background:var(--panel);color:var(--ink);cursor:pointer}
.btn:hover, .nav-subscribe:hover {background:var(--ink);color:var(--panel);text-decoration:none}
.btn--coral, .nav-subscribe {background:var(--coral);border-color:var(--coral);color:var(--night)}
.btn--coral:hover, .nav-subscribe:hover {background:var(--night);border-color:var(--night);color:var(--panel)}
.btn--light {background:var(--panel);border-color:var(--panel);color:var(--ink)}
.btn--light:hover {background:transparent;border-color:var(--panel);color:var(--panel)}
main {flex:1}
.hero {padding:2.5rem 0 2rem;border-bottom:1px solid var(--line)}
.hero__grid {display:grid;grid-template-columns:1.35fr 0.65fr;gap:2rem;align-items:start}
.eyebrow {margin:0 0 0.65rem;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--dark-coral)}
.hero__title, .page-title {margin:0 0 0.85rem;font-family:var(--serif);font-size:clamp(2.1rem, 4.2vw, 3.35rem);line-height:1.08;letter-spacing:-0.02em;color:var(--ink)}
.hero__title {max-width:12ch}
.hero__dek, .page-dek {margin:0;font-size:1.125rem;line-height:1.55;color:var(--muted);max-width:44rem}
.hero__meta {border:1px solid var(--line);border-left:3px solid var(--coral);background:var(--panel);padding:1.25rem}
.hero__meta-title {margin:0 0 0.5rem;font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em}
.hero__meta p {margin:0 0 0.75rem;font-size:0.9375rem;color:var(--muted)}
.hero__meta p:last-child {margin-bottom:0}
.lead-panel {margin:2rem 0;background:var(--night);color:var(--panel);border-top:5px solid var(--coral);padding:2rem}
.lead-panel__meta, .card__meta {display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem;font-size:0.8125rem;margin-bottom:0.75rem}
.badge {display:inline-block;padding:0.15rem 0.5rem;font-size:0.75rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:1px solid currentColor}
.lead-panel .badge {color:var(--coral);border-color:var(--coral)}
.lead-panel__title {margin:0 0 0.75rem;font-family:var(--serif);font-size:clamp(1.65rem, 2.8vw, 2.35rem);line-height:1.15}
.lead-panel__deck {margin:0 0 1.25rem;font-size:1.0625rem;color:#d7e0e4;max-width:52rem}
.lead-panel__columns {display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem;padding-top:1.25rem;border-top:1px solid #2b3c44}
.lead-panel__label {display:block;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--coral);margin-bottom:0.35rem}
.lead-panel__columns p {margin:0;font-size:0.9375rem;color:#e6ecef}
.filter-bar {background:var(--deep-paper);border:1px solid var(--line);padding:1.25rem;margin:1.5rem 0}
.filter-bar__controls {display:grid;grid-template-columns:1.2fr 1fr auto;gap:1rem;align-items:end}
.field-group {display:flex;flex-direction:column;gap:0.35rem}
.field-label {font-size:0.8125rem;font-weight:700;color:var(--ink)}
.field-input, .field-select {min-height:44px;padding:0.55rem 0.75rem;font-family:var(--sans);font-size:0.9375rem;color:var(--ink);background:var(--panel);border:1px solid var(--ink);border-radius:0}
.topic-disclosure {margin-top:1rem;border-top:1px solid var(--line);padding-top:0.85rem}
.topic-disclosure summary {font-size:0.875rem;font-weight:700;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0.25rem 0.5rem}
.topic-pills {display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.5rem}
.topic-btn {min-height:44px;padding:0.45rem 0.85rem;font-family:var(--sans);font-size:0.8125rem;font-weight:700;background:var(--panel);color:var(--ink);border:1px solid var(--ink);cursor:pointer}
.topic-btn:hover, .topic-btn[aria-pressed="true"] {background:var(--ink);color:var(--panel)}
.section-header {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.75rem;margin:2rem 0 1rem;border-bottom:1px solid var(--line);padding-bottom:0.5rem}
.section-title {margin:0;font-family:var(--serif);font-size:1.5rem}
.result-count {margin:0;font-size:0.875rem;font-weight:600;color:var(--muted)}
.story-grid {display:grid;grid-template-columns:repeat(6, 1fr);gap:1.25rem;margin-bottom:2.5rem}
.story-card {grid-column:span 2;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ink);padding:1.35rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.story-card[data-featured="true"] {border-top-color:var(--coral)}
.story-grid[data-visible-count="1"] .story-card:not([hidden]) {grid-column:span 6}
.story-grid[data-visible-count="2"] .story-card:not([hidden]), .story-grid[data-visible-count="4"] .story-card:not([hidden]), .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(1), .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(2) {grid-column:span 3}
.card__title {margin:0 0 0.5rem;font-family:var(--serif);font-size:1.25rem;line-height:1.25}
.card__deck {margin:0 0 0.85rem;font-size:0.9375rem;color:var(--muted)}
.card__next {margin:0;padding-top:0.75rem;border-top:1px solid var(--line);font-size:0.875rem}
.pill-list {display:flex;flex-wrap:wrap;gap:0.4rem;list-style:none;padding:0;margin:0}
.pill {display:inline-flex;align-items:center;padding:0.15rem 0.5rem;font-size:0.75rem;font-weight:600;background:var(--deep-paper);color:var(--ink);border:1px solid var(--line);text-decoration:none}
a.pill {min-height:44px;padding:0.35rem 0.7rem}
.empty-state {background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--coral);padding:2rem;margin-bottom:2.5rem}
.empty-state h3 {margin:0 0 0.5rem;font-family:var(--serif)}
.newsletter-band {background:var(--teal);color:var(--panel);padding:2.25rem;margin:2.5rem 0;border-top:4px solid var(--coral)}
.newsletter-band__grid, .article-cta__grid, .subscribe-grid {display:grid;grid-template-columns:1.2fr 0.8fr;gap:1.5rem;align-items:center}
.article-layout {padding:2rem 0 3rem}
.article-header {max-width:var(--reading-width);margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.article-title {margin:0.5rem 0 0.75rem;font-family:var(--serif);font-size:clamp(1.75rem, 3.2vw, 2.65rem);line-height:1.12}
.article-deck {margin:0;font-size:1.125rem;color:var(--muted)}
.article-body {display:grid;grid-template-columns:minmax(0, var(--reading-width)) minmax(16rem, 22rem);gap:2.5rem;align-items:start}
.article-section {margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.article-section h2 {margin:0 0 0.5rem;font-family:var(--serif);font-size:1.35rem}
.article-section p {margin:0;font-size:1.0625rem}
.article-rail {background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--coral);padding:1.25rem}
.rail-block {margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.rail-block:last-child {margin-bottom:0;padding-bottom:0;border-bottom:0}
.rail-label {display:block;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:0.35rem}
.related-grid, .topic-index-grid, .signup-states-grid {display:grid;grid-template-columns:repeat(2, 1fr);gap:1.25rem;margin:1.5rem 0 2.5rem}
.article-cta {background:var(--night);color:var(--panel);border-top:4px solid var(--coral);padding:2rem;margin-top:2.5rem}
.prose-panel {max-width:var(--reading-width);background:var(--panel);border:1px solid var(--line);padding:1.75rem;margin:1.5rem 0 2.5rem}
.prose-panel h2 {font-family:var(--serif);margin-top:1.5rem;margin-bottom:0.5rem}
.prose-panel h2:first-child {margin-top:0}
.status-box {background:var(--panel);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--coral);padding:1.25rem}
.status-box--success {border-left-color:var(--success)}
.status-box--error {border-left-color:var(--error)}
.field-error {color:var(--error);font-size:0.875rem;font-weight:600;margin:0.25rem 0 0}
.site-footer {background:var(--night);color:var(--panel);border-top:3px solid var(--coral);padding:2.5rem 0;margin-top:3rem}
.site-footer__inner {max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem}
.footer-links {display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;list-style:none;padding:0;margin:0}
.footer-links a {display:inline-flex;align-items:center;min-height:44px}
@media (max-width:800px) {.hero__grid, .newsletter-band__grid, .article-body, .article-cta__grid, .subscribe-grid, .lead-panel__columns, .filter-bar__controls {grid-template-columns:1fr}
.story-card, .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(1), .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(2) {grid-column:span 3}
}
@media (max-width:600px) {:root {--gutter:18px}
.nav-stories {display:none}
.story-grid, .related-grid, .topic-index-grid, .signup-states-grid {grid-template-columns:1fr}
.story-card, .story-grid[data-visible-count="1"] .story-card:not([hidden]), .story-grid[data-visible-count="2"] .story-card:not([hidden]), .story-grid[data-visible-count="4"] .story-card:not([hidden]), .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(1), .story-grid[data-visible-count="5"] .story-card:not([hidden]):nth-of-type(2) {grid-column:1 / -1}
.article-header {margin-bottom:1rem;padding-bottom:0.85rem}
.article-title {font-size:1.55rem;line-height:1.15}
}
@media (max-width:420px) {.brand-mark__title {font-size:1.25rem}
.nav-link, .nav-subscribe {font-size:0.8125rem;padding:0.45rem 0.65rem}
}
@media (max-width:360px) {.site-header__inner {grid-template-columns:1fr;gap:0.5rem}
.issue-mark {justify-self:start}
.site-nav {justify-self:start;width:100%;justify-content:space-between}
}
@media print {.site-nav, .filter-bar, .newsletter-band, .article-cta, .site-footer, .skip-link, .review-banner {display:none !important}
body, .prose-panel, .story-card {background:#fff;color:#000}
}
/* ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================= */
