/* Site theme: colors, fonts, and shapes for every page. Loaded last, so it wins over page styles.
   Look: clean neutral palette, modern sans-serif type, pill buttons, flat rounded cards. */

:root{
  --font-display:"Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --font-body:"Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --font-ui:"Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;

  --bg:#FFFFFF;
  --surface:#F7F4F1;
  --surface-2:#EEE9E4;
  --text:#1A1A1A;
  --text-muted:#666666;
  --border:#E6E1DB;
  --accent:#1A1A1A;
  --accent-soft:#EEE9E4;
  --accent-2:#7A6655;
  --accent-2-soft:#F2ECE5;
  --good:#0D7744;
  --good-soft:#E4F2EA;
  --bad:#B3261E;
  --bad-soft:#FBEAE9;
  --warn-bg:#FBF3E8;
  --warn-text:#7A3E10;
  --warn-border:#EBD6B8;
  --focus:#1A1A1A;
  --on-accent:#FFFFFF;
  --shadow:none;
  --radius-card:20px;
  --radius-input:12px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#121212;
    --surface:#1C1C1C;
    --surface-2:#262626;
    --text:#F2F2F2;
    --text-muted:#A3A3A3;
    --border:#2E2E2E;
    --accent:#F2F2F2;
    --accent-soft:#262626;
    --accent-2:#C2B2A0;
    --accent-2-soft:#2A2520;
    --good:#6FCB8F;
    --good-soft:#1C3323;
    --bad:#E5847D;
    --bad-soft:#3A1F1D;
    --warn-bg:#33281A;
    --warn-text:#F0C79A;
    --warn-border:#5C4526;
    --focus:#F2F2F2;
    --on-accent:#121212;
    --shadow:none;
  }
}
:root[data-theme="dark"]{
  --bg:#121212;
  --surface:#1C1C1C;
  --surface-2:#262626;
  --text:#F2F2F2;
  --text-muted:#A3A3A3;
  --border:#2E2E2E;
  --accent:#F2F2F2;
  --accent-soft:#262626;
  --accent-2:#C2B2A0;
  --accent-2-soft:#2A2520;
  --good:#6FCB8F;
  --good-soft:#1C3323;
  --bad:#E5847D;
  --bad-soft:#3A1F1D;
  --warn-bg:#33281A;
  --warn-text:#F0C79A;
  --warn-border:#5C4526;
  --focus:#F2F2F2;
  --on-accent:#121212;
  --shadow:none;
}

/* Type */
body{font-family:var(--font-body);letter-spacing:-0.011em;}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.025em;}
h1{font-weight:500;}
h2{font-weight:500;}
h3{font-weight:500;letter-spacing:-0.015em;}
.lede{color:var(--text-muted);}
td.cost,.cost,.stat b,.atlas-score-num,.score-badge,.sb-score,.calc-out b{font-variant-numeric:tabular-nums;}
.stat b,.guide-title,.path-title,.topic-card h3,.feature-card h3,.related-name,.latest-title,.atlas-score-title,.atlas-score-num,.score-badge,.card-head h2,.newsletter h2,.labs-promo-copy h2,.labs-promo h2{font-weight:500;}
/* Small labels: quieter than before, sentence-like spacing */
.eyebrow,.newsletter-eyebrow,.updates-title,.field-label,.section-label,.fact .k,.calc-out .k,th,.r-meta,.sc-out h4,.ci-scale h4,.nc-group legend{letter-spacing:.04em;font-weight:500;}

/* Links in body copy stay recognizable with a near-black accent */
:where(main, .wrap p, .wrap li, .wrap td) a:not([class]){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
/* ...except link lists that are navigation, not prose */
.hero-topics a,.updates-list a,.archive a,.sc-list .n a,.results a,.toc a,.board td:first-child a,.nav-group-menu a,.footer-links a,.rfoot-links a,.breadcrumbs a{text-decoration:none;}
.updates-list a:hover span,.archive a:hover .archive-title,.toc a:hover{text-decoration:underline;}

/* Buttons: pills */
.btn-primary,.btn-secondary,.review-cta-btn,.labs-promo-cta,.site-nav-links > a.nav-cta,.newsletter-row button,.contact-form button,
.compare-go,.print-btn,.search-form button,.crisis-btn,.ci-reset,.nc-reset,.clear-btn,.chip,.nav-toggle{border-radius:999px;}
.btn-primary,.review-cta-btn,.labs-promo-cta,.newsletter-row button,.contact-form button,.compare-go,.print-btn,.search-form button{font-weight:500;}
.site-nav-links > a.nav-cta{padding-inline:14px;}

/* Cards and panels: flat, rounded, soft fill */
.card,.topic-card,.feature-card,.path-card,.guide-card,.brief-item,.newsletter,.atlas-score,.related-card,.labs-promo,.review-cta,.toc,
.included-extra .box,.baseline,.weight,.source,.decade,.money > div,.latest,.short,.crisis,.compare-bar,.compare-dialog,.nav-group-menu,
.topics-help > div,.sb-result,.ci-result,.nc-mets,.calc-out,.updates{border-radius:var(--radius-card);}
.topic-card,.feature-card,.path-card,.guide-card,.related-card,.brief-item,.baseline,.weight,.source,.decade,.money > div,.included-extra .box,.topics-help > div{
  background:var(--surface);border-color:transparent;box-shadow:none;
}
.card,.atlas-score,.newsletter,.latest{border-color:var(--border);box-shadow:none;}
.path-card:hover,.guide-card:hover,.related-card:hover,.latest:hover{border-color:var(--border);background:var(--surface-2);}
.labs-promo,.review-cta{background:var(--surface);border-color:transparent;}
.updates{border-radius:0;}

/* Inputs */
.calc input:not([type="checkbox"]),.calc select,.newsletter-row input,.contact-form input,.contact-form select,.contact-form textarea,
.search-form input,select,input[type="search"]{border-radius:var(--radius-input);}

/* Tables */
table{border-radius:16px;}

@media (prefers-reduced-motion:reduce){ *{transition:none !important;} }
