/*! arefmb-site.css — AREFMB.com sitewide design system (PROPOSED 2026-09-26; not published)
   One stylesheet for every page. Built mechanically from the verified 7-page patch
   (arefmb-public-20260926.css) — same rules, same order — with each rule tagged to the surfaces it serves.
   Surfaces (set on <body>, written by tools/migrate-page.mjs, see DESIGN-SYSTEM.md):
     (no attribute)                     public reading pages: full system (sections 1–3)
     data-surface="app-editorial"       interactive modules that already use the approved editorial palette:
                                        shell + editorial palette (section 2 "E" rules); module CSS owns layout
     data-surface="app"                 interactive modules with their own theme (e.g. valuation terminal):
                                        shell only (shared header, skip link); module CSS owns everything in <main>
   Scoping uses :where(), which adds zero specificity, so public-page cascade is unchanged.
   Old stylesheets are superseded but not deleted. Do not add rules for a single page here: use a module stylesheet
   or a <style data-page-local> block. */

/* ===== 0. APPROVED TOKENS (reference values for new work; existing rules keep their literal values) ===== */
:root{
 --ab-ink:#000;--ab-body:#000;--ab-link:#0053cd;--ab-prussian:#002b51;--ab-heading:#1f4e64;
 --ab-charcoal:#323b43;--ab-rule:#7c8a97;--ab-rule-soft:#d1d5db;--ab-panel:#f3f4f6;--ab-tropical:#c1e1f7;
 --ab-highlight:#b4232c;--ab-paper:#fff;
 --ab-font:Arial,Helvetica,sans-serif;
 --ab-text:20px;--ab-leading:1.5;--ab-measure:78ch;--ab-h1:clamp(32px,3.2vw,44px);--ab-h2:30px;--ab-h3:24px;--ab-label:16px;
 --ab-col:1120px;--ab-gutter:24px;--ab-gutter-mobile:16px;--ab-touch:44px;
}

/* ===== FONT FACES — URL-based; a browser downloads a face only if a page actually renders text in it.
   Public pages render Arial, so these cost nothing there. Kept for app surfaces (valuation etc.) that use them today. ===== */
@font-face{font-family: 'Literata'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/literata-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Literata'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/literata-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/qc-fonts/font-0.ttf) format('truetype');}
@font-face{font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/qc-fonts/font-1.ttf) format('truetype');}
@font-face{font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: normal; font-display: swap; src: url(/assets/qc-fonts/font-2.ttf) format('truetype');}
@font-face{font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: normal; font-display: swap; src: url(/assets/qc-fonts/font-3.ttf) format('truetype');}
@font-face{font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: normal; font-display: swap; src: url(/assets/qc-fonts/font-4.ttf) format('truetype');}
@font-face{font-family: 'Newsreader'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/qc-fonts/font-5.ttf) format('truetype');}
@font-face{font-family: 'Newsreader'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/qc-fonts/font-6.ttf) format('truetype');}
@font-face{font-family: 'Newsreader'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/qc-fonts/font-7.ttf) format('truetype');}

/* ===== 1. BASE (public surface) — former public-site, site-polish, qc-reader ===== */
:root:where(:has(> body:not([data-surface^="app"]))){--paper:#fcfbf8;--line:#e7e3d8;--ink:#33415c;--soft:#69748a;--slate:#9aa2af;--brass:#b08f45;--card:#fff;--wash:#f1eee5;--font-display:'Newsreader',Georgia,serif;--font-body:'IBM Plex Sans',Arial,sans-serif;--font-data:'IBM Plex Mono',monospace}
:where(html:has(> body:not([data-surface^="app"]))) *{box-sizing:border-box}
html:where(:has(> body:not([data-surface^="app"]))){scroll-behavior:smooth}
body:where(:not([data-surface^="app"])){margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
:where(html:has(> body:not([data-surface^="app"]))) a{color:inherit}
:where(html:has(> body:not([data-surface^="app"]))) .wrap{max-width:1120px;margin:auto;padding:0 32px}
:where(html:has(> body:not([data-surface^="app"]))) header{border-bottom:1px solid var(--line);padding:17px 0;background:rgba(252,251,248,.97);position:sticky;top:0;z-index:10}
:where(html:has(> body:not([data-surface^="app"]))) header .wrap{display:flex;justify-content:space-between;align-items:center}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:34px;line-height:1;letter-spacing:.02em;text-decoration:none}
:where(html:has(> body:not([data-surface^="app"]))) nav{display:flex;gap:22px;font-size:12px;letter-spacing:.04em}
:where(html:has(> body:not([data-surface^="app"]))) nav a{text-decoration:none;color:var(--soft)}
:where(html:has(> body:not([data-surface^="app"]))) nav a:hover,:where(html:has(> body:not([data-surface^="app"]))) nav a[aria-current="page"]{color:var(--ink);border-bottom:1px solid var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:80px 0 64px}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{display:grid;grid-template-columns:1fr 300px;gap:76px;align-items:center}
:where(html:has(> body:not([data-surface^="app"]))) .eyebrow,:where(html:has(> body:not([data-surface^="app"]))) .label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) h1,:where(html:has(> body:not([data-surface^="app"]))) h2,:where(html:has(> body:not([data-surface^="app"]))) h3{font-family:'Newsreader',Georgia,serif;font-weight:400}
:where(html:has(> body:not([data-surface^="app"]))) h1{font-size:clamp(54px,8vw,88px);line-height:.98;margin:14px 0 22px;color:#233047}
:where(html:has(> body:not([data-surface^="app"]))) h2{font-size:38px;margin:0 0 16px}
:where(html:has(> body:not([data-surface^="app"]))) h3{font-size:23px;margin:0 0 9px}
:where(html:has(> body:not([data-surface^="app"]))) .lede{font-size:18px;line-height:1.7;color:var(--soft);max-width:720px}
:where(html:has(> body:not([data-surface^="app"]))) .portrait-frame{width:100%;aspect-ratio:750/970;overflow:hidden;background:#fff}
:where(html:has(> body:not([data-surface^="app"]))) .portrait{width:100%;height:auto;display:block;transform:translateY(-13.3%);filter:grayscale(.08)}
:where(html:has(> body:not([data-surface^="app"]))) section{padding:64px 0;border-top:1px solid var(--line)}
:where(html:has(> body:not([data-surface^="app"]))) .button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:13px 20px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em;margin-top:18px}
:where(html:has(> body:not([data-surface^="app"]))) .button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink);margin-left:8px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:30px 0 0;padding:0;list-style:none}
:where(html:has(> body:not([data-surface^="app"]))) .path-list li{border-top:1px solid var(--ink);padding-top:18px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list a{font-family:'Newsreader',Georgia,serif;font-size:27px;text-decoration-thickness:1px;text-underline-offset:5px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list p{color:var(--soft);line-height:1.55}
:where(html:has(> body:not([data-surface^="app"]))) .topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
:where(html:has(> body:not([data-surface^="app"]))) .topic{display:block;background:var(--card);border:1px solid var(--line);padding:26px;text-decoration:none;min-height:150px}
:where(html:has(> body:not([data-surface^="app"]))) .topic:hover{border-color:var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .count{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:12px}
:where(html:has(> body:not([data-surface^="app"]))) .topic p{color:var(--soft);line-height:1.55;margin:0}
:where(html:has(> body:not([data-surface^="app"]))) .chips{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}
:where(html:has(> body:not([data-surface^="app"]))) .chip{border:1px solid var(--line);background:var(--wash);padding:8px 12px;border-radius:20px;font-size:12px;text-decoration:none}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:28px 0}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index h2{font-size:24px;border-bottom:1px solid var(--ink);padding-bottom:9px}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index ul{margin:0;padding:0;list-style:none}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index li{margin:0 0 9px}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index a{text-underline-offset:3px}
:where(html:has(> body:not([data-surface^="app"]))) .playlist-note{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--brass);margin-left:5px}
:where(html:has(> body:not([data-surface^="app"]))) .breadcrumb{font-size:12px;color:var(--soft);margin-bottom:24px}
:where(html:has(> body:not([data-surface^="app"]))) .note{background:var(--wash);padding:20px;border-left:3px solid var(--brass);color:var(--soft);line-height:1.55}
:where(html:has(> body:not([data-surface^="app"]))) .video-section{scroll-margin-top:100px;margin:0 0 50px}
:where(html:has(> body:not([data-surface^="app"]))) .video-section h2{border-bottom:1px solid var(--ink);padding-bottom:12px}
:where(html:has(> body:not([data-surface^="app"]))) .video-list{margin:0;padding:0;list-style:none}
:where(html:has(> body:not([data-surface^="app"]))) .video{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:baseline;border-bottom:1px solid var(--line);padding:14px 0}
:where(html:has(> body:not([data-surface^="app"]))) .video .num{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:11px}
:where(html:has(> body:not([data-surface^="app"]))) .video a{font-family:'Newsreader',Georgia,serif;font-size:18px;text-underline-offset:4px}
:where(html:has(> body:not([data-surface^="app"]))) .video .meta{font-family:'IBM Plex Mono',monospace;color:var(--soft);font-size:11px;white-space:nowrap}
:where(html:has(> body:not([data-surface^="app"]))) .career-list{border-top:1px solid var(--ink)}
:where(html:has(> body:not([data-surface^="app"]))) .career-row{display:grid;grid-template-columns:180px 1fr;gap:38px;padding:28px 0;border-bottom:1px solid var(--line)}
:where(html:has(> body:not([data-surface^="app"]))) .career-company{font-family:'Newsreader',Georgia,serif;font-size:24px}
:where(html:has(> body:not([data-surface^="app"]))) .career-date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--brass);margin-top:6px}
:where(html:has(> body:not([data-surface^="app"]))) .career-row p{color:var(--soft);line-height:1.6}
:where(html:has(> body:not([data-surface^="app"]))) .career-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
:where(html:has(> body:not([data-surface^="app"]))) .career-links a{font-size:12px;text-underline-offset:3px}
:where(html:has(> body:not([data-surface^="app"]))) .research-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}
:where(html:has(> body:not([data-surface^="app"]))) .research-item{border-top:1px solid var(--ink);padding-top:18px}
:where(html:has(> body:not([data-surface^="app"]))) .research-item p{color:var(--soft);line-height:1.6}
:where(html:has(> body:not([data-surface^="app"]))) .ledger{border-top:1px solid var(--ink)}
:where(html:has(> body:not([data-surface^="app"]))) .ledger-row{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
:where(html:has(> body:not([data-surface^="app"]))) .year{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:12px}
:where(html:has(> body:not([data-surface^="app"]))) footer{padding:40px 0;text-align:center;border-top:1px solid var(--line);font-family:'IBM Plex Mono',monospace;color:var(--slate);font-size:11px;letter-spacing:.08em}
:where(html:has(> body:not([data-surface^="app"]))) .search{width:100%;padding:14px 15px;border:1px solid var(--line);font-size:15px;background:#fff;color:var(--ink);margin:18px 0 4px}
:where(html:has(> body:not([data-surface^="app"]))) .hidden{display:none!important}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:29px}
:where(html:has(> body:not([data-surface^="app"]))) nav{gap:12px;margin-top:14px;flex-wrap:wrap;font-size:11px}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:48px 0}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .portrait-frame{width:min(280px,100%)}
:where(html:has(> body:not([data-surface^="app"]))) .path-list,:where(html:has(> body:not([data-surface^="app"]))) .topic-grid,:where(html:has(> body:not([data-surface^="app"]))) .research-list,:where(html:has(> body:not([data-surface^="app"]))) .politics-index{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .video{grid-template-columns:34px 1fr}
:where(html:has(> body:not([data-surface^="app"]))) .video .meta{grid-column:2;white-space:normal}
:where(html:has(> body:not([data-surface^="app"]))) .career-row{grid-template-columns:1fr;gap:10px}
:where(html:has(> body:not([data-surface^="app"]))) .button.secondary{margin-left:0}
:where(html:has(> body:not([data-surface^="app"]))) .wrap{padding:0 20px}
:where(html:has(> body:not([data-surface^="app"]))) h1{font-size:52px}
}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index{grid-template-columns:repeat(4,1fr);gap:22px}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index h2{font-size:20px;border-bottom:2px solid var(--ink);margin-bottom:8px}
:where(html:has(> body:not([data-surface^="app"]))) .politics-index li{margin-bottom:5px;font-size:13px;line-height:1.25}
:where(html:has(> body:not([data-surface^="app"]))) .gate{background:#fff;border:1px solid var(--line);padding:28px;max-width:760px;margin:26px 0}
:where(html:has(> body:not([data-surface^="app"]))) .gate h2{font-size:29px}
:where(html:has(> body:not([data-surface^="app"]))) .gate-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:16px 0}
:where(html:has(> body:not([data-surface^="app"]))) .gate input[type=email]{padding:13px;border:1px solid var(--line);font:inherit}
:where(html:has(> body:not([data-surface^="app"]))) .gate-check{display:flex;gap:9px;align-items:flex-start;color:var(--soft);font-size:13px;line-height:1.45}
:where(html:has(> body:not([data-surface^="app"]))) .locked{display:none}
:where(html:has(> body:not([data-surface^="app"]))) .compact-section{scroll-margin-top:90px;margin:0 0 30px}
:where(html:has(> body:not([data-surface^="app"]))) .compact-section h2{font-size:23px;border-bottom:2px solid var(--ink);padding-bottom:7px;margin-bottom:5px}
:where(html:has(> body:not([data-surface^="app"]))) .compact-list{columns:2;column-gap:34px;margin:0;padding:0;list-style:none}
:where(html:has(> body:not([data-surface^="app"]))) .compact-list li{break-inside:avoid;border-bottom:1px solid var(--line);padding:6px 0;font-size:13px;line-height:1.3}
:where(html:has(> body:not([data-surface^="app"]))) .compact-list a{text-underline-offset:2px}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .gate-row{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .compact-list{columns:1}
}
@media(prefers-reduced-motion:reduce){
html:where(:has(> body:not([data-surface^="app"]))){scroll-behavior:auto}
}
:root:where(:has(> body:not([data-surface^="app"]))){--paper:#f8f6ef;--line:#dcd7ca;--ink:#17233a;--soft:#5d687b;--slate:#8991a0;--brass:#ad7b2c;--card:#fffdf8;--wash:#ede8dc;--navy:#17233a;--blue:#274b7a}
:where(html:has(> body:not([data-surface^="app"]))) .wrap{max-width:1240px;padding-left:40px;padding-right:40px}
:where(html:has(> body:not([data-surface^="app"]))) header{padding:20px 0;background:rgba(23,35,58,.97);color:#fff;border-bottom-color:rgba(255,255,255,.16);backdrop-filter:blur(12px)}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:38px;letter-spacing:.01em}
:where(html:has(> body:not([data-surface^="app"]))) nav{gap:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
:where(html:has(> body:not([data-surface^="app"]))) nav a{color:rgba(255,255,255,.72);padding:8px 0;border-bottom:2px solid transparent}
:where(html:has(> body:not([data-surface^="app"]))) nav a:hover,:where(html:has(> body:not([data-surface^="app"]))) nav a[aria-current="page"]{color:#fff;border-bottom-color:#d4a650}
:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools{color:#fff;font-weight:600;border:1px solid rgba(212,166,80,.72);padding:8px 11px;background:rgba(212,166,80,.11)}
:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools:hover,:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools[aria-current="page"]{background:#d4a650;color:#17233a;border-color:#d4a650}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:96px 0 82px;background:linear-gradient(135deg,#f8f6ef 0%,#f8f6ef 70%,#ebe5d8 100%)}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{grid-template-columns:minmax(0,1fr) 350px;gap:82px}
:where(html:has(> body:not([data-surface^="app"]))) .eyebrow,:where(html:has(> body:not([data-surface^="app"]))) .label{font-size:12px}
:where(html:has(> body:not([data-surface^="app"]))) h1{font-size:clamp(68px,9vw,112px);line-height:.88;letter-spacing:-.035em;margin:18px 0 28px;color:var(--navy)}
:where(html:has(> body:not([data-surface^="app"]))) h2{font-size:clamp(42px,5vw,58px);line-height:1.03;letter-spacing:-.02em}
:where(html:has(> body:not([data-surface^="app"]))) h3{font-size:28px;line-height:1.08}
:where(html:has(> body:not([data-surface^="app"]))) .lede{font-size:20px;line-height:1.65;max-width:800px}
:where(html:has(> body:not([data-surface^="app"]))) .portrait-frame{aspect-ratio:4/5;border:1px solid var(--line);box-shadow:18px 18px 0 #d9caaa}
:where(html:has(> body:not([data-surface^="app"]))) .portrait{transform:translateY(-14.2%);filter:none}
:where(html:has(> body:not([data-surface^="app"]))) section{padding:82px 0}
:where(html:has(> body:not([data-surface^="app"]))) .button{padding:16px 24px;text-transform:uppercase;border:1px solid var(--navy);transition:transform .18s ease,background .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .button:hover{background:var(--blue);transform:translateY(-2px)}
:where(html:has(> body:not([data-surface^="app"]))) .path-list{gap:20px;margin-top:34px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list li{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--ink);padding:28px;min-height:220px;transition:transform .18s ease,border-color .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .path-list li:hover{transform:translateY(-4px);border-color:var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .path-list a{font-size:34px;line-height:1.05}
:where(html:has(> body:not([data-surface^="app"]))) .path-list p{font-size:16px;line-height:1.6}
:where(html:has(> body:not([data-surface^="app"]))) .topic{border-top:4px solid var(--ink);padding:32px;min-height:190px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .topic:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(23,35,58,.08)}
:where(html:has(> body:not([data-surface^="app"]))) .video a{font-size:20px;line-height:1.3}
:where(html:has(> body:not([data-surface^="app"]))) .video{padding:17px 0}
:where(html:has(> body:not([data-surface^="app"]))) .research-item h3{font-size:30px}
:where(html:has(> body:not([data-surface^="app"]))) .section-heading{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:end;margin-bottom:34px}
:where(html:has(> body:not([data-surface^="app"]))) .section-heading>p{color:var(--soft);line-height:1.6;margin:0}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card{display:flex;flex-direction:column;min-height:310px;padding:34px;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--brass);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(23,35,58,.1)}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card-lead{background:var(--navy);color:#fff;border-color:var(--navy)}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card h3{font-size:40px;margin:18px 0 14px}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card p{font-size:17px;line-height:1.6;color:var(--soft);margin:0}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card-lead p{color:rgba(255,255,255,.72)}
:where(html:has(> body:not([data-surface^="app"]))) .card-tag,:where(html:has(> body:not([data-surface^="app"]))) .card-link{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .card-link{margin-top:auto;padding-top:30px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .wrap{padding-left:20px;padding-right:20px}
:where(html:has(> body:not([data-surface^="app"]))) header{position:static}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:32px}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:58px 0}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{grid-template-columns:1fr;gap:46px}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid h1,:where(html:has(> body:not([data-surface^="app"]))) h1{font-size:clamp(54px,16vw,72px)}
:where(html:has(> body:not([data-surface^="app"]))) .portrait-frame{width:min(320px,calc(100% - 18px))}
:where(html:has(> body:not([data-surface^="app"]))) section{padding:58px 0}
:where(html:has(> body:not([data-surface^="app"]))) .path-list,:where(html:has(> body:not([data-surface^="app"]))) .editorial-grid,:where(html:has(> body:not([data-surface^="app"]))) .section-heading{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .section-heading{gap:14px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list li{min-height:auto}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card{min-height:260px;padding:27px}
:where(html:has(> body:not([data-surface^="app"]))) .editorial-card h3{font-size:34px}
:where(html:has(> body:not([data-surface^="app"]))) nav{gap:14px;font-size:10px}
}
:where(html:has(> body:not([data-surface^="app"]))) .hero h1{font-size:clamp(46px,5vw,72px);line-height:1.02;margin:10px 0 16px}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .hero h1{font-size:clamp(38px,10vw,50px);line-height:1.04;margin:8px 0 12px}
}
:where(html:has(> body:not([data-surface^="app"]))) nav a:hover,:where(html:has(> body:not([data-surface^="app"]))) nav a[aria-current="page"]{border-bottom-color:#0053cd!important}
:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools:hover,:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools[aria-current="page"]{border-color:#0053cd!important}
body:where(:not([data-surface^="app"])){font-size:16px;line-height:1.55}
:where(html:has(> body:not([data-surface^="app"]))) .wrap{max-width:1180px}
:where(html:has(> body:not([data-surface^="app"]))) header{padding:19px 0}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:31px;letter-spacing:.01em}
:where(html:has(> body:not([data-surface^="app"]))) nav{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:10px;letter-spacing:.1em}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:70px 0 58px}
:where(html:has(> body:not([data-surface^="app"]))) .hero .lede{max-width:790px}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{grid-template-columns:minmax(0,1fr) 320px;gap:64px}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid h1{font-size:clamp(64px,8vw,96px)}
:where(html:has(> body:not([data-surface^="app"]))) section{padding:56px 0}
:where(html:has(> body:not([data-surface^="app"]))) .path-list{gap:22px}
:where(html:has(> body:not([data-surface^="app"]))) .path-list li{padding:20px 4px 0}
:where(html:has(> body:not([data-surface^="app"]))) .button{transition:background .18s ease,color .18s ease,border-color .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .button:hover{background:#1d293d}
:where(html:has(> body:not([data-surface^="app"]))) .button.secondary:hover{background:var(--wash)}
:where(html:has(> body:not([data-surface^="app"]))) .projects>.project{display:flex;flex-direction:column;min-height:285px;transition:border-color .18s ease,transform .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .projects>.project:hover{border-color:var(--brass);transform:translateY(-2px)}
:where(html:has(> body:not([data-surface^="app"]))) .projects>.project a{margin-top:auto;text-underline-offset:4px}
:where(html:has(> body:not([data-surface^="app"]))) .method article p{color:var(--soft);line-height:1.65}
:where(html:has(> body:not([data-surface^="app"]))) .career-row{padding:32px 0}
:where(html:has(> body:not([data-surface^="app"]))) .career-row p{max-width:720px}
:where(html:has(> body:not([data-surface^="app"]))) .topic{transition:border-color .18s ease,transform .18s ease}
:where(html:has(> body:not([data-surface^="app"]))) .topic:hover{transform:translateY(-2px)}
:where(html:has(> body:not([data-surface^="app"]))) .path-list{grid-template-columns:repeat(4,1fr)}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature{background:var(--navy);color:#fff;border-top:0}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:72px;align-items:center}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature h2{color:#fff}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature .lede{color:rgba(255,255,255,.72);max-width:690px}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature .button{background:#fff;color:var(--navy);border-color:#fff}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature .button:hover{background:#d9caaa}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp{width:240px;height:240px;border:2px solid #d4a650;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;text-align:center;text-transform:uppercase;font-family:'IBM Plex Mono',monospace;letter-spacing:.13em;color:#d4a650;box-shadow:inset 0 0 0 9px var(--navy),inset 0 0 0 11px #d4a650;transition:transform .2s ease,background .2s ease}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp strong{display:block;font-family:'Newsreader',Georgia,serif;font-size:66px;line-height:1;color:#fff;letter-spacing:-.04em;margin:8px 0 4px}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp span{font-size:11px;max-width:150px}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp:hover{transform:rotate(-2deg) scale(1.03);background:#203353}
@media(max-width:760px){
body:where(:not([data-surface^="app"])){font-size:15px}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:44px 0}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid{grid-template-columns:1fr;gap:34px}
:where(html:has(> body:not([data-surface^="app"]))) .hero-grid h1{font-size:60px}
:where(html:has(> body:not([data-surface^="app"]))) section{padding:44px 0}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:27px}
:where(html:has(> body:not([data-surface^="app"]))) .projects>.project{min-height:auto}
:where(html:has(> body:not([data-surface^="app"]))) .path-list,:where(html:has(> body:not([data-surface^="app"]))) .election-feature-grid{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .election-feature-grid{gap:34px}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp{width:190px;height:190px}
:where(html:has(> body:not([data-surface^="app"]))) .election-stamp strong{font-size:52px}
}
:where(html:has(> body:not([data-surface^="app"]))) a:focus-visible,:where(html:has(> body:not([data-surface^="app"]))) button:focus-visible,:where(html:has(> body:not([data-surface^="app"]))) select:focus-visible,:where(html:has(> body:not([data-surface^="app"]))) input:focus-visible{outline:3px solid #d4a650;outline-offset:3px}
@media(max-width:760px){
body:where(:not([data-surface^="app"])){font-size:16px}
:where(html:has(> body:not([data-surface^="app"]))) header{padding:16px 0}
:where(html:has(> body:not([data-surface^="app"]))) .mark{display:inline-block;font-size:34px;line-height:1.1;padding:4px 0}
:where(html:has(> body:not([data-surface^="app"]))) nav{gap:4px 14px;margin-top:12px;font-size:12px;line-height:1.25}
:where(html:has(> body:not([data-surface^="app"]))) nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 1px}
:where(html:has(> body:not([data-surface^="app"]))) .button,:where(html:has(> body:not([data-surface^="app"]))) .chip,:where(html:has(> body:not([data-surface^="app"]))) .career-links a{min-height:44px;display:inline-flex;align-items:center}
:where(html:has(> body:not([data-surface^="app"]))) .button{font-size:12px;padding:14px 18px}
:where(html:has(> body:not([data-surface^="app"]))) .lede{font-size:19px;line-height:1.62}
:where(html:has(> body:not([data-surface^="app"]))) .topic p,:where(html:has(> body:not([data-surface^="app"]))) .path-list p,:where(html:has(> body:not([data-surface^="app"]))) .editorial-card p,:where(html:has(> body:not([data-surface^="app"]))) .method article p{font-size:16px}
:where(html:has(> body:not([data-surface^="app"]))) footer{font-size:12px;line-height:1.8}
}
:where(html:has(> body:not([data-surface^="app"]))) .site-social{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
:where(html:has(> body:not([data-surface^="app"]))) .site-social span{color:var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .site-social a{text-underline-offset:3px}
@media(max-width:420px){
:where(html:has(> body:not([data-surface^="app"]))) nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
:where(html:has(> body:not([data-surface^="app"]))) nav a{width:100%}
}
body:where(:not([data-surface^="app"])){font-size:17px;line-height:1.62}
:where(html:has(> body:not([data-surface^="app"]))) .lede{font-size:20px;line-height:1.68}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .lede{font-size:20px;line-height:1.68}
:where(html:has(> body:not([data-surface^="app"]))) .topic p,:where(html:has(> body:not([data-surface^="app"]))) .path-list p,:where(html:has(> body:not([data-surface^="app"]))) .editorial-card p,:where(html:has(> body:not([data-surface^="app"]))) .method article p{font-size:17px;line-height:1.65}
}
:where(html:has(> body:not([data-surface^="app"]))) .brief-balance{display: none !important;}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) header{padding:10px 0 7px}
:where(html:has(> body:not([data-surface^="app"]))) header .wrap{display:block}
:where(html:has(> body:not([data-surface^="app"]))) .mark{font-size:29px;line-height:1;padding:2px 0}
:where(html:has(> body:not([data-surface^="app"]))) nav{display:flex;flex-wrap:nowrap;gap:13px;margin-top:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;font-size:10px}
:where(html:has(> body:not([data-surface^="app"]))) nav::-webkit-scrollbar{display:none}
:where(html:has(> body:not([data-surface^="app"]))) nav a{flex:0 0 auto;width:auto;min-height:44px;padding:8px 0;white-space:nowrap}
:where(html:has(> body:not([data-surface^="app"]))) nav a.nav-tools{padding:8px 5px}
}
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:42px 0 36px}
:where(html:has(> body:not([data-surface^="app"]))) .hero h1,:where(html:has(> body:not([data-surface^="app"]))) .hero-grid h1{font-size:clamp(46px,5vw,72px);line-height:1.02;margin:10px 0 16px}
:where(html:has(> body:not([data-surface^="app"]))) .hero .lede{font-size:18px;line-height:1.5;margin:0}
:where(html:has(> body:not([data-surface^="app"]))) .hero+section{padding-top:30px}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .hero{padding:28px 0 26px}
:where(html:has(> body:not([data-surface^="app"]))) .hero h1,:where(html:has(> body:not([data-surface^="app"]))) .hero-grid h1{font-size:clamp(38px,10vw,50px);line-height:1.04;margin:8px 0 12px}
:where(html:has(> body:not([data-surface^="app"]))) .hero .lede{font-size:16px;line-height:1.48}
:where(html:has(> body:not([data-surface^="app"]))) .hero+section{padding-top:20px}
}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages{font:400 17px/1.5 "IBM Plex Sans",sans-serif}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .wrap{max-width:1120px;padding-inline:24px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header{position:static;padding:12px 0;background:var(--navy);color:#fff}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header .mark{font:500 30px/1.1 "Newsreader",serif;white-space:nowrap}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav{display:flex;flex-wrap:wrap;gap:4px 18px;overflow:visible;margin:0;font:500 13px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:.03em}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav a{display:inline-flex;align-items:center;min-height:44px;width:auto;padding:8px 0;color:#d7dce4}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav a[aria-current]{color:#fff;border-bottom:2px solid var(--brass)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages section{padding:24px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h1{font:500 clamp(34px,4vw,48px)/1.1 "Newsreader",serif;letter-spacing:-.02em;margin:0 0 12px;color:var(--navy)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h2{font:500 30px/1.12 "Newsreader",serif;margin:0 0 10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h3{font:500 26px/1.16 "Newsreader",serif;margin:0 0 10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages p{margin:0 0 14px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .meta{font:400 12px/1.5 "IBM Plex Mono",monospace;color:#596474;letter-spacing:0;text-transform:none;margin-bottom:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .label{font:500 12px/1.4 "IBM Plex Mono",monospace;letter-spacing:.08em;margin-bottom:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .qc-intro,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-intro{padding:20px 0;border-top:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .qc-intro h1{margin-bottom:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .qc-intro p{margin-top:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages.qc-teaching .qc-intro{padding-bottom:8px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages.qc-teaching .article-body{padding-top:8px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .lede,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-purpose{font:400 18px/1.45 "IBM Plex Sans",sans-serif;margin:0;color:var(--soft)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .qc-intro{background:var(--paper);color:var(--ink)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .source-link{font-size:14px;margin-block:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages a:focus-visible,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages button:focus-visible,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages input:focus-visible{outline:3px solid #a67b28;outline-offset:4px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .button,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .read-link,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-link{display:inline-flex;align-items:center;min-height:44px;margin:10px 0 0;padding:8px 14px;border:1px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;font:500 14px/1.3 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;align-self:flex-start}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages footer{padding:20px 0;font:400 14px/1.5 "IBM Plex Sans",sans-serif}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages footer .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:20px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages footer a{min-height:44px;display:inline-flex;align-items:center}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-grid,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects>.project,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors>article{min-height:0;padding:20px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--brass);display:flex;flex-direction:column;gap:0;transform:none}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card{text-decoration:none}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card p,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .project p,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card p{font:400 21px/1.5 "IBM Plex Sans",sans-serif;color:var(--soft)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card b,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card b{font:500 18px/1.35 "IBM Plex Sans",sans-serif;margin-top:auto;padding-top:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card strong{font:500 28px/1.1 "Newsreader",serif;margin-bottom:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .project h3 a,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors h2 a{font:inherit;margin:0;color:var(--navy);text-decoration:none}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .project h3 a:hover,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors h2 a:hover{text-decoration:underline}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects>.project a.read-link{margin-top:auto}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .research-jump,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .source-jump{display:flex;flex-wrap:wrap;gap:10px;overflow:visible;padding:0;margin:0 0 20px;font:500 16px/1.4 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .research-jump a,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .source-jump a{border:1px solid var(--line);padding:10px 18px;min-height:44px;color:var(--navy);background:#fff;text-decoration:none;width:auto}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .research-group{scroll-margin-top:20px;padding:16px 0 28px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .research-group>p{color:var(--soft);font-size:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .article-body,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .sources-body{max-width:780px;padding-top:20px;padding-bottom:24px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .article-body p{font:400 18px/1.6 "IBM Plex Sans",sans-serif;color:var(--ink);margin-bottom:18px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .article-body .standfirst{font-size:20px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .article-body h2{margin:26px 0 14px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .question-line{border-block:1px solid var(--line);padding:16px 0;margin:24px 0;font:500 17px/1.5 "IBM Plex Sans",sans-serif}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .next-step{background:var(--paper);padding:16px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .next-step .wrap{display:flex;flex-wrap:wrap;gap:12px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .sources-body section{scroll-margin-top:20px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .sources-body li{margin-bottom:8px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors{margin-top:20px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-dashboard{background:#0c1421;color:#fff;padding:16px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-head,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-foot{display:flex;justify-content:space-between;gap:16px;font:400 12px/1.5 "IBM Plex Mono",monospace}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-head{padding-bottom:12px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-head strong{color:#d5aa53}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-cell{min-width:0;border-right:1px solid #303c50;padding-right:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-name,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-date{font:400 12px/1.4 "IBM Plex Mono",monospace;color:#c3cbd6;display:block}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-line{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-value{font:500 19px/1.3 "IBM Plex Mono",monospace}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-change{font:400 12px/1.4 "IBM Plex Mono",monospace}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-change.up{color:#84d2aa}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-change.down{color:#f19797}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-foot{border-top:1px solid #303c50;padding-top:12px;margin-top:12px;color:#c3cbd6}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-band{background:var(--wash)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-band>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-form{display:grid;grid-template-columns:1fr auto;gap:10px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-form input[type=email]{min-width:0;width:100%;padding:12px;font:16px "IBM Plex Sans",sans-serif;border:1px solid #667085}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-form button{font:500 14px "IBM Plex Sans",sans-serif;background:var(--navy);color:white;border:0;padding:12px;min-height:44px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-consent{grid-column:1/-1;font-size:14px;display:flex;align-items:flex-start;gap:8px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-error{display:none;grid-column:1/-1;color:#9b2f2f}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .honeypot{position:absolute;left:-9999px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .home-news{padding:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .home-news-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .news-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .rail-story{border-top:1px solid var(--line);padding:16px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .rail-meta{font:400 12px/1.4 "IBM Plex Mono",monospace;color:var(--soft)}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .rail-story h3{font-size:23px;margin:10px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .rail-story p{font-size:16px}
@media(max-width:760px){
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .wrap{padding-inline:18px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header .wrap{display:block}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header .mark{font-size:28px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav{gap:0 14px;margin-top:5px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav a{font-size:13px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-grid,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-grid,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .news-rail{grid-template-columns:1fr;gap:14px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects>.project,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .decision-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors>article{padding:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .qc-intro,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-intro{padding:20px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h2{font-size:28px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .project h3{font-size:26px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-head,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-foot{display:block}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-head span,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .market-foot a{display:block;margin-top:8px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-band>.wrap{grid-template-columns:1fr;gap:12px}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-form{grid-template-columns:1fr}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-form button{width:100%}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .home-news-head{display:block}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header nav{gap:0 8px}
}
@media print{
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages header,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages footer,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .subscriber-band{display:none}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .wrap{max-width:none;padding-inline:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages section{padding:14px 0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h1{font-size:28pt}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h2{font-size:20pt}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages h3{font-size:17pt}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects>.project,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .desk-doors>article,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-card,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .sources-body section{break-inside:avoid}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .projects,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .finance-grid{grid-template-columns:1fr 1fr}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages p{font-size:11pt}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .button,:where(html:has(> body:not([data-surface^="app"]))) .qc-pages .read-link{padding:5px 8px;min-height:0}
:where(html:has(> body:not([data-surface^="app"]))) .qc-pages a{overflow-wrap:anywhere}
}

/* ===== 2. SITE SYSTEM — former home-candidate, site-density, personal-header (S=shell, all surfaces) and arefmb-editorial (E=public+app-editorial), effective cascade order ===== */
body:where(:not([data-surface^="app"])).qc-home #home-intro{padding:12px 0 20px!important;background:#fff!important;color:#000!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro .wrap{max-width:1180px!important;padding-inline:20px!important}
body:where(:not([data-surface^="app"])).qc-home .home-draft{font-size:12px;margin:8px 20px;color:#323b43}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-purpose{font-size:16px;line-height:1.5;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid #000}
body:where(:not([data-surface^="app"])).qc-home .home-feature-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;align-items:start}
body:where(:not([data-surface^="app"])).qc-home .home-story{background:#fff!important;color:#000!important;padding:0!important;min-width:0}
body:where(:not([data-surface^="app"])).qc-home .home-story h1{font-size:clamp(30px,3.6vw,48px)!important;line-height:1.15!important;margin:8px 0 12px!important;max-width:20ch}
body:where(:not([data-surface^="app"])).qc-home .home-story h2{font-size:25px!important;line-height:1.2!important;margin:6px 0 8px!important}
body:where(:not([data-surface^="app"])).qc-home .home-story h1 a,body:where(:not([data-surface^="app"])).qc-home .home-story h2 a{color:#000!important;text-decoration:none}
body:where(:not([data-surface^="app"])).qc-home .home-story h1 a:hover,body:where(:not([data-surface^="app"])).qc-home .home-story h2 a:hover{text-decoration:underline}
body:where(:not([data-surface^="app"])).qc-home .home-story p{font-size:17px;line-height:1.5;margin:10px 0}
body:where(:not([data-surface^="app"])).qc-home .home-story .home-kicker{font-size:12px;font-weight:700;color:#1f4e64;margin:0;letter-spacing:.05em}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-meta{font-size:12px;line-height:1.5;color:#323b43;margin:8px 0}
body:where(:not([data-surface^="app"])).qc-home .home-supporting{display:contents}
body:where(:not([data-surface^="app"])).qc-home .home-supporting article{border-left:1px solid #c5cbd3;padding-left:20px!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;padding:10px 16px;background:#0053cd!important;color:#fff!important;border:1px solid #0053cd;font-size:16px;font-weight:700;text-decoration:none;line-height:1.4}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-featured{background:#b4232c!important;border-color:#b4232c}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-action:hover{filter:brightness(.88)}
body:where(:not([data-surface^="app"])).qc-home #home-intro a:focus-visible{outline:3px solid #0053cd;outline-offset:4px}
body:where(:not([data-surface^="app"])).qc-home .home-tools{border-top:2px solid #000;margin-top:24px;padding-top:16px}
body:where(:not([data-surface^="app"])).qc-home .home-section-title{display:flex;justify-content:space-between;align-items:center;gap:16px}
body:where(:not([data-surface^="app"])).qc-home .home-section-title h2{font-size:24px;margin:0}
body:where(:not([data-surface^="app"])).qc-home .home-section-title>a,body:where(:not([data-surface^="app"])).qc-home .home-topic-links>a{display:inline-flex;align-items:center;min-height:44px;color:#002b50}
body:where(:not([data-surface^="app"])).qc-home .home-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:12px}
body:where(:not([data-surface^="app"])).qc-home .home-tool-grid .home-action{width:100%}
body:where(:not([data-surface^="app"])).qc-home .home-topic-links{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #c5cbd3;margin-top:12px;padding-top:8px}
body:where(:not([data-surface^="app"])).qc-home .home-directory{padding-block:16px!important}
@media(max-width:700px){
body:where(:not([data-surface^="app"])).qc-home .home-feature-grid{grid-template-columns:1fr;gap:22px}
body:where(:not([data-surface^="app"])).qc-home .home-supporting article{border-left:0;border-top:1px solid #c5cbd3;padding:18px 0 0!important}
body:where(:not([data-surface^="app"])).qc-home .home-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body:where(:not([data-surface^="app"])).qc-home #home-intro .wrap{padding-inline:16px!important}
body:where(:not([data-surface^="app"])).qc-home .home-section-title{align-items:flex-start;flex-wrap:wrap;gap:0}
body:where(:not([data-surface^="app"])).qc-home .home-story h2{font-size:23px!important}
}
@media print{
body:where(:not([data-surface^="app"])).qc-home header,body:where(:not([data-surface^="app"])).qc-home footer,:where(html:has(> body:not([data-surface^="app"]))) .subscriber-band,:where(html:has(> body:not([data-surface^="app"]))) .desk-wire,:where(html:has(> body:not([data-surface^="app"]))) .market-dashboard,:where(html:has(> body:not([data-surface^="app"]))) .home-directory{display:none!important}
body:where(:not([data-surface^="app"])).qc-home .home-story,body:where(:not([data-surface^="app"])).qc-home .home-tools{break-inside:avoid}
body:where(:not([data-surface^="app"])).qc-home .home-feature-grid{grid-template-columns:1.3fr 1fr}
}
html:where(:has(> body:not([data-surface^="app"]))){scroll-padding-top:88px}
body:where(:not([data-surface^="app"])){background:#fff!important;color:#000!important}
body:where(:not([data-surface^="app"])) header{padding:12px 0!important}
body:where(:not([data-surface^="app"])) header .wrap{max-width:1280px!important}
body:where(:not([data-surface^="app"])) header .mark{font-size:30px!important;line-height:1.1!important}
body:where(:not([data-surface^="app"])) header nav{display:flex!important;gap:12px!important;align-items:center;grid-template-columns:none!important}
body:where(:not([data-surface^="app"])) header nav a{flex:0 0 auto!important;width:auto!important;text-transform:uppercase!important;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;color:#000!important}
body:where(:not([data-surface^="app"])) header nav a[aria-current=page]{border-bottom-color:#0053cd!important}
body:where(:not([data-surface^="app"])) header nav a{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:8px 7px!important;line-height:1.25!important}
body:where(:not([data-surface^="app"])) :is(.wrap,.container,.page-wrap){max-width:1280px}
body:where(:not([data-surface^="app"])) main>section,body:where(:not([data-surface^="app"])) main>.wrap>section{padding-top:26px!important;padding-bottom:26px!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero){padding-top:24px!important;padding-bottom:22px!important;min-height:0!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero) h1{font-size:clamp(34px,4vw,54px)!important;line-height:1.12!important;margin:6px 0 12px!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.worth-hero,.finance-hero,.politics-hero,.page-hero) .lede{font-size:18px!important;line-height:1.5!important;margin:8px 0!important;max-width:72ch!important}
body:where(:not([data-surface^="app"])) :is(.section-heading,.section-header){margin-bottom:16px!important;gap:24px!important}
body:where(:not([data-surface^="app"])) :is(.section-heading,.section-header) h2{margin:0!important}
body:where(:not([data-surface^="app"])) :is(.editorial-card,.research-item,.politics-card,.topic,.path-list li,.tool-card,.finance-card){padding:20px!important;min-height:0!important}
body:where(:not([data-surface^="app"])) :is(.editorial-grid,.politics-grid,.topic-grid,.path-list,.tools-grid){gap:16px!important;margin-top:18px!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column){max-width:76ch!important;font-size:18px!important;line-height:1.6!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column) p{margin:0 0 1em!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column) h2{margin:1.25em 0 .45em!important;font-size:30px!important;line-height:1.2!important}
body:where(:not([data-surface^="app"])) :is(.button,.btn,.filter-button,.news-filters button,.filter-row button,.congress-tabs button,.senate-minis button){min-height:44px!important;line-height:1.3!important;padding:10px 14px!important}
body:where(:not([data-surface^="app"])) footer{padding-top:20px!important;padding-bottom:20px!important;margin-top:20px!important}
body:where(:not([data-surface^="app"])) :is(.congress-main,.finance-main,.research-main){padding-top:18px!important}
body:where(:not([data-surface^="app"])) .senate-minis button{min-width:44px!important}
body:where(:not([data-surface^="app"])) :is(.video-note,.video-sources){margin-top:18px!important}
body:where(:not([data-surface^="app"])) :is(.video-section,.compact-section){padding-top:26px!important;padding-bottom:26px!important}
body:where(:not([data-surface^="app"])) .politics-index>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
body:where(:not([data-surface^="app"])) header{position:static!important;padding:10px 0!important}
body:where(:not([data-surface^="app"])) header .wrap{padding-left:16px!important;padding-right:16px!important;gap:8px!important}
body:where(:not([data-surface^="app"])) header .mark{font-size:26px!important}
body:where(:not([data-surface^="app"])) header nav{gap:3px!important;flex-wrap:wrap!important}
body:where(:not([data-surface^="app"])) header nav a{font-size:11px!important;padding:8px 5px!important;letter-spacing:0!important}
body:where(:not([data-surface^="app"])) :is(.wrap,.container,.page-wrap){padding-left:16px!important;padding-right:16px!important}
body:where(:not([data-surface^="app"])) main>section,body:where(:not([data-surface^="app"])) main>.wrap>section{padding-top:20px!important;padding-bottom:20px!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero){padding-top:18px!important;padding-bottom:18px!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero) h1{font-size:34px!important;line-height:1.12!important}
body:where(:not([data-surface^="app"])) :is(.editorial-card,.research-item,.politics-card,.topic,.path-list li,.tool-card,.finance-card){padding:16px!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column){font-size:18px!important;line-height:1.55!important}
body:where(:not([data-surface^="app"])) .section-heading{display:block!important}
body:where(:not([data-surface^="app"])) .politics-index{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
body:where(:not([data-surface^="app"])) :is(.video-section,.compact-section){padding-top:20px!important;padding-bottom:20px!important}
}
body:where(:not([data-surface^="app"])) .politics-workspace>section{padding:0!important}
:root:where(:has(> body:not([data-surface^="app"]))){--reader-text:clamp(1.125rem,1.05rem + .3vw,1.25rem);--reader-title:clamp(2rem,1.4rem + 2vw,3rem);--reader-section:clamp(1.5rem,1.2rem + .8vw,2rem);--reader-label:.875rem;--reader-leading:1.55;--reader-measure:68ch}
body:where(:not([data-surface^="app"])){font-size:var(--reader-text);line-height:var(--reader-leading);-webkit-text-size-adjust:100%}
body:where(:not([data-surface^="app"])) header nav a{font-size:var(--reader-label)!important;letter-spacing:0!important;text-transform:none!important}
body:where(:not([data-surface^="app"])) :is(main,.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero) h1{font-size:var(--reader-title)!important;line-height:1.12!important;text-wrap:balance;margin-block:0 1rem!important}
body:where(:not([data-surface^="app"])) :is(main,.article-body,.article-content,.prose,.reading-column) h2{font-size:var(--reader-section)!important;line-height:1.2!important;text-wrap:balance}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column){font-size:var(--reader-text)!important;line-height:var(--reader-leading)!important;max-width:var(--reader-measure)!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column) :is(p,li){font-size:inherit!important;line-height:inherit!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column) p{margin-block:0 .85em!important}
body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column) h2{margin-block:1.15em .45em!important}
body:where(:not([data-surface^="app"])) :is(.meta,.data-date,.public-release-time,.qc-release-time,.eyebrow,.label){font-size:var(--reader-label)!important;line-height:1.4!important}
body:where(:not([data-surface^="app"])) :is(.button,.btn,button,input,select){font-size:1rem;line-height:1.35}
body:where(:not([data-surface^="app"])) :is(.button,.btn){font-size:1rem!important;min-height:44px!important}
body:where(:not([data-surface^="app"])) main :is(img,video){max-width:100%;height:auto}
body:where(:not([data-surface^="app"])) main :is(.editorial-card,.research-item,.politics-card,.topic,.tool-card,.finance-card){min-width:0;overflow-wrap:break-word}
body:where(:not([data-surface^="app"])) .politics-workspace{overflow-wrap:anywhere}
body:where(:not([data-surface^="app"])) .candidate-row{flex-wrap:wrap}
body:where(:not([data-surface^="app"])) .state-label select{min-width:0;max-width:100%}
@media(max-width:760px){
body:where(:not([data-surface^="app"])) header nav{gap:2px 8px!important}
body:where(:not([data-surface^="app"])) header nav a{padding:8px 4px!important}
body:where(:not([data-surface^="app"])) :is(.meta,.data-date,.public-release-time){overflow-wrap:break-word}
body:where(:not([data-surface^="app"])) .politics-title{flex-wrap:wrap;gap:8px}
body:where(:not([data-surface^="app"])) .politics-title .public-release-time{margin:0 0 12px}
}
@media(prefers-reduced-motion:reduce){
html:where(:has(> body:not([data-surface^="app"]))){scroll-behavior:auto}
}
body:where(:not([data-surface^="app"])) header{padding-block:4px!important}
body:where(:not([data-surface^="app"])) main>section,body:where(:not([data-surface^="app"])) main>.wrap>section{padding-block:16px!important}
body:where(:not([data-surface^="app"])) :is(.hero,.article-hero,.opinion-hero,.case-hero,.teaser-hero,.model-hero,.worth-hero,.finance-hero,.politics-hero,.congress-hero,.page-hero){padding-block:14px!important}
body:where(:not([data-surface^="app"])) :is(.editorial-card,.research-item,.politics-card,.topic,.path-list li,.tool-card,.finance-card){padding:14px!important}
body:where(:not([data-surface^="app"])) :is(.editorial-grid,.politics-grid,.topic-grid,.path-list,.tools-grid){gap:12px!important;margin-top:12px!important}
body:where(:not([data-surface^="app"])) :is(.section-heading,.section-header){margin-bottom:10px!important;gap:16px!important}
body:where(:not([data-surface^="app"])) footer{padding-block:14px!important;margin-top:12px!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro{padding-block:6px 12px!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro .wrap{max-width:1280px!important;padding-inline:24px!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro .home-purpose{margin-bottom:10px;padding-bottom:10px}
body:where(:not([data-surface^="app"])).qc-home .home-feature-grid{gap:16px}
body:where(:not([data-surface^="app"])).qc-home .home-supporting article{padding-left:16px!important}
body:where(:not([data-surface^="app"])).qc-home .home-tools{margin-top:16px;padding-top:10px}
body:where(:not([data-surface^="app"])).qc-home .home-tool-grid{gap:12px;margin-top:8px}
body:where(:not([data-surface^="app"])).qc-home .home-topic-links{margin-top:8px;padding-top:4px}
body:where(:not([data-surface^="app"])).qc-home .home-directory{padding-block:10px!important}
body:where(:not([data-surface^="app"])) .portfolio-page main,body:where(:not([data-surface^="app"])).portfolio-page main{max-width:1280px;padding-bottom:24px}
body:where(:not([data-surface^="app"])).portfolio-page .brief-list li{padding-block:8px}
@media(max-width:760px){
body:where(:not([data-surface^="app"])) header .wrap{gap:4px!important}
body:where(:not([data-surface^="app"])) main>section,body:where(:not([data-surface^="app"])) main>.wrap>section{padding-block:12px!important}
body:where(:not([data-surface^="app"])).qc-home #home-intro .wrap{padding-inline:16px!important}
body:where(:not([data-surface^="app"])).qc-home .home-feature-grid{gap:14px}
body:where(:not([data-surface^="app"])).qc-home .home-supporting article{padding:12px 0 0!important}
body:where(:not([data-surface^="app"])) :is(.video-section,.compact-section){padding-block:14px!important}
}
:root:where(:has(> body:not([data-surface^="app"]))){--reader-text:20px;--reader-title:clamp(32px,3.2vw,44px);--reader-section:30px;--reader-label:14px;--reader-leading:1.5;--reader-measure:78ch;--font-body:Arial,Helvetica,sans-serif;--font-display:Arial,Helvetica,sans-serif}
html:root body:where(:not([data-surface^="app"])),html:root body:where(:not([data-surface^="app"])) *:not([class*="icon"]):not([class*="fa-"]){font-family:Arial,Helvetica,sans-serif!important}
html:root body:where(:not([data-surface^="app"])){font-size:20px!important;line-height:1.5!important}
html:root body:where(:not([data-surface^="app"])) :is(p,li){font-size:20px;line-height:1.5}
html:root body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column,.worth-content){width:100%;max-width:78ch!important;font-size:20px!important;line-height:1.5!important;box-sizing:border-box}
html:root body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column,.worth-content) :is(p,li){font-size:20px!important;line-height:1.5!important}
html:root body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column,.worth-content) p{margin-block:0 .85em!important}
html:root body:where(:not([data-surface^="app"])) h1{font-size:clamp(32px,3.2vw,44px)!important;line-height:1.12!important;font-weight:700!important;letter-spacing:-.02em!important}
html:root body:where(:not([data-surface^="app"])) h2{font-size:30px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.015em!important}
html:root body:where(:not([data-surface^="app"])) h3{font-size:24px!important;line-height:1.25!important;font-weight:700!important}
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story h2{font-size:26px!important;line-height:1.2!important}
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story p{font-size:20px!important;line-height:1.45!important}
html:root body:where(:not([data-surface^="app"])) :is(.meta,.home-meta,.data-date,.public-release-time,.qc-release-time,.eyebrow,.label,time){font-size:16px!important;line-height:1.45!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story .home-meta,html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story .home-meta *{font-size:14px!important;line-height:1.45!important}
html:root body:where(:not([data-surface^="app"])) :is(button,input,select,textarea,.button,.btn,.filter-button){font-size:18px!important;line-height:1.3!important;min-height:44px;box-sizing:border-box}
html:root body:where(:not([data-surface^="app"])) .personal-doors a,html:root body:where(:not([data-surface^="app"])) .personal-tool-grid article>a{font-size:19px!important;font-weight:700!important}
html:root body:where(:not([data-surface^="app"])) .bio-link{font-size:18px!important}
html:root body header.personal-masthead .mark{font-size:28px!important;letter-spacing:0!important}
html:root body header.personal-masthead nav a{font-size:17px!important;padding-inline:8px!important}
html:root body:where(:not([data-surface^="app"])) :is(table,th,td){font-size:17px;line-height:1.4;font-variant-numeric:tabular-nums}
html:root body:where(:not([data-surface^="app"])) svg text{font-family:Arial,Helvetica,sans-serif!important}
@media(max-width:760px){
html:root body:where(:not([data-surface^="app"])) h2{font-size:26px!important}
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story h2{font-size:25px!important}
html:root body header.personal-masthead .mark{font-size:26px!important}
html:root body header.personal-masthead nav a{font-size:16px!important;padding-inline:6px!important}
html:root body:where(:not([data-surface^="app"])) :is(.wrap,.container,.page-wrap){padding-inline:16px!important}
}
body header.personal-masthead{background:#000!important;color:#fff!important;padding:4px 0!important;border:0!important}
body header.personal-masthead .wrap{max-width:1280px!important;padding:0 20px!important;display:flex!important;align-items:center;justify-content:space-between;gap:8px!important}
body header.personal-masthead .mark{display:inline-flex!important;align-items:center;gap:10px;color:#fff!important;font-size:28px!important;line-height:1!important;letter-spacing:0!important;text-decoration:none!important;margin:0!important;padding:0!important}
body header.personal-masthead .mark img{display:block;width:44px;height:44px;object-fit:contain;flex:none}
body header.personal-masthead .mark span{display:inline!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:inherit!important;opacity:1!important;visibility:visible!important}
body header.personal-masthead nav a{color:#fff!important;background:transparent!important;text-transform:none!important}
body header.personal-masthead nav{background:#000!important;border:0!important;padding:0!important;display:flex!important;flex-wrap:wrap;justify-content:flex-start;gap:4px!important}
body header.personal-masthead nav a{color:#fff!important;-webkit-text-fill-color:#fff!important;display:inline-flex!important;align-items:center;min-height:44px;padding:0 8px!important;font-size:15px!important;letter-spacing:0!important;opacity:1!important}
body header.personal-masthead nav a{margin:0!important;font-weight:500!important}
body header.personal-masthead.topbar{display:block!important}
body header.personal-masthead nav a[aria-current=page]{border-bottom-color:#fff!important}
body:where(:not([data-surface^="app"])) .personal-welcome{padding:24px 20px 20px!important;max-width:1280px!important;margin:0 auto}
body:where(:not([data-surface^="app"])) .personal-welcome h1{font-size:clamp(28px,3vw,38px)!important;line-height:1.15!important;margin:0 0 6px!important}
body:where(:not([data-surface^="app"])) .personal-welcome>p{font-size:22px!important;margin:0 0 4px!important}
body:where(:not([data-surface^="app"])) .bio-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline!important;color:#000!important;font-size:17px}
body:where(:not([data-surface^="app"])) .personal-doors{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
body:where(:not([data-surface^="app"])) .personal-doors a,body:where(:not([data-surface^="app"])) .personal-tool-grid article>a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;background:#0053cd!important;color:#fff!important;text-decoration:none!important;font-size:18px!important;font-weight:600;box-sizing:border-box}
body :is(.personal-doors a,.bio-link,.personal-tool-grid a,.personal-masthead a):focus-visible{outline:3px solid #0053cd;outline-offset:3px}
body:where(:not([data-surface^="app"])) .personal-reading{padding:16px 20px!important;max-width:1280px;margin:auto;border-top:1px solid #d1d5db}
body:where(:not([data-surface^="app"])) .personal-reading>h2{font-size:24px!important;margin:0 0 14px!important}
body:where(:not([data-surface^="app"])) .personal-reading .home-story h2{font-size:24px!important;line-height:1.2!important;margin:0 0 8px!important}
body:where(:not([data-surface^="app"])) .personal-reading .home-story h2 a{color:#000!important;text-decoration:underline!important;text-underline-offset:3px}
body:where(:not([data-surface^="app"])) .personal-reading .home-story p{font-size:17px;margin:6px 0}
body:where(:not([data-surface^="app"])) .personal-reading .home-meta{font-size:13px!important;line-height:1.4}
body:where(:not([data-surface^="app"])) .personal-reading .home-kicker{display:none}
body:where(:not([data-surface^="app"])) .personal-tools{max-width:1280px;margin:auto;padding:20px}
body:where(:not([data-surface^="app"])) .personal-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body:where(:not([data-surface^="app"])) .personal-tool-grid p{margin:8px 0}
@media(max-width:760px){
body header.personal-masthead .wrap{padding:0 16px!important;flex-wrap:wrap}
body header.personal-masthead .mark{font-size:25px!important}
body:where(:not([data-surface^="app"])) .personal-welcome{padding:20px 16px 16px!important}
body:where(:not([data-surface^="app"])) .personal-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body:where(:not([data-surface^="app"])) .personal-doors a:last-child{grid-column:1/-1}
body:where(:not([data-surface^="app"])) .personal-reading{padding:14px 16px!important}
body:where(:not([data-surface^="app"])) .personal-tool-grid{grid-template-columns:1fr}
body header.personal-masthead nav{width:100%;gap:6px!important}
}
body:where(:not([data-surface^="app"])) .personal-doors a{text-transform:none!important;letter-spacing:0!important}
body:where(:not([data-surface^="app"])) .home-meta,body:where(:not([data-surface^="app"])) .personal-tools .meta{font-variant-numeric:tabular-nums}
body header.personal-masthead nav a[aria-current=page]{font-weight:700!important;text-decoration:underline!important;text-underline-offset:6px}
html:root body header.personal-masthead{padding:0!important;background:#000!important}
html:root body header.personal-masthead .wrap{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;max-width:none!important}
html:root body header.personal-masthead .mark{align-self:flex-start;padding:10px 20px!important;gap:12px!important;font-size:clamp(30px,3vw,40px)!important;font-weight:500!important;letter-spacing:.015em!important;min-height:66px;box-sizing:border-box}
html:root body header.personal-masthead .mark img{width:62px!important;height:56px!important;object-fit:contain}
html:root body header.personal-masthead nav{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;background:#f3f4f6!important;padding:0 12px!important;gap:0!important;width:100%!important;box-sizing:border-box;border-bottom:1px solid #d1d5db!important}
html:root body header.personal-masthead nav a{background:transparent!important;color:#0053cd!important;-webkit-text-fill-color:#0053cd!important;min-height:48px!important;padding:8px 12px!important;font-size:19px!important;font-weight:700!important;text-decoration:none!important;border:0!important;border-radius:0!important;line-height:1.2!important}
html:root body header.personal-masthead nav a[aria-current=page]{color:#000!important;-webkit-text-fill-color:#000!important;border-bottom:3px solid #000!important;background:#fff!important}
html:root body:where(:not([data-surface^="app"])) main a:not(.button):not(.btn):not([role=button]):not(.card):not(.feature-card){color:#0053cd}
html:root body:where(:not([data-surface^="app"])) :is(.personal-reading .home-story h2 a,.bio-link){color:#0053cd!important}
html:root body:where(:not([data-surface^="app"])) :is(h2,h3){color:#1f4e64!important}
html:root body:where(:not([data-surface^="app"])) :is(h2,h3) a{color:#0053cd!important}
html:root body:where(:not([data-surface^="app"])) :is(.feature-panel,.dark-panel,.featured,.feature-card) :is(h2,h3){color:inherit!important}
html:root body:where(:not([data-surface^="app"])) :is(p,li){font-size:21px;line-height:1.5}
html:root body:where(:not([data-surface^="app"])) :is(.article-body,.article-content,.prose,.reading-column,.worth-content) :is(p,li){font-size:21px!important}
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story p{font-size:21px!important}
html:root body:where(:not([data-surface^="app"])) a:focus-visible{outline:3px solid #0053cd!important;outline-offset:3px}
@media(max-width:760px){
html:root body header.personal-masthead .mark{padding:8px 16px!important;font-size:30px!important;gap:10px!important}
html:root body header.personal-masthead nav{padding:0 8px!important}
html:root body header.personal-masthead nav a{font-size:16px!important;padding:10px 8px!important;flex:1 0 auto;justify-content:center}
}
html:root body header.personal-masthead .mark{position:relative!important;z-index:100!important}
:root:where(:has(> body:not([data-surface="app"]))){color-scheme: light; --paper:#fff; --card:#fff; --wash:#fff; --bg:#fff; --surface:#fff; --ink:#000; --navy:#000; --text:#000; --soft:#323b43; --muted:#323b43; --slate:#7c8a97; --line:#7c8a97; --border:#7c8a97; --brass:#0053cd; --gold:#0053cd; --accent:#0053cd; --blue:#0053cd; --thumb-bg:#fff; --brass-line:#7c8a97; --font-display:'Literata',Georgia,serif; --font-body:'Literata',Georgia,serif; --font-data:'Literata',Georgia,serif;}
html:where(:has(> body:not([data-surface="app"]))),body:where(:not([data-surface="app"])){background:#fff!important; color:#000!important;}
body:where(:not([data-surface="app"])) *,body:where(:not([data-surface="app"])) *::before,body:where(:not([data-surface="app"])) *::after{font-family:'Literata',Georgia,serif!important; color:#000!important; background-color:transparent!important; border-color:#7c8a97!important; text-shadow:none!important;}
body:where(:not([data-surface="app"])){font-family:'Literata',Georgia,serif!important; font-optical-sizing:auto;}
:where(html:has(> body:not([data-surface="app"]))) header,:where(html:has(> body:not([data-surface="app"]))) footer,:where(html:has(> body:not([data-surface="app"]))) main,:where(html:has(> body:not([data-surface="app"]))) nav,:where(html:has(> body:not([data-surface="app"]))) section,:where(html:has(> body:not([data-surface="app"]))) article,:where(html:has(> body:not([data-surface="app"]))) aside,:where(html:has(> body:not([data-surface="app"]))) dialog,:where(html:has(> body:not([data-surface="app"]))) .card,:where(html:has(> body:not([data-surface="app"]))) .panel,:where(html:has(> body:not([data-surface="app"]))) .hero,:where(html:has(> body:not([data-surface="app"]))) .site-header,:where(html:has(> body:not([data-surface="app"]))) .site-footer,:where(html:has(> body:not([data-surface="app"]))) .masthead,:where(html:has(> body:not([data-surface="app"]))) .toolbar,:where(html:has(> body:not([data-surface="app"]))) .controls,:where(html:has(> body:not([data-surface="app"]))) .modal,:where(html:has(> body:not([data-surface="app"]))) .menu,:where(html:has(> body:not([data-surface="app"]))) .dropdown,:where(html:has(> body:not([data-surface="app"]))) .popover,:where(html:has(> body:not([data-surface="app"]))) [role=dialog],:where(html:has(> body:not([data-surface="app"]))) [role=menu],:where(html:has(> body:not([data-surface="app"]))) [role=listbox]{background:#fff!important;}
body:where(:not([data-surface="app"])) *{box-shadow:none!important;}
body:where(:not([data-surface="app"])) header a{color:#000!important;}
html body:where(:not([data-surface="app"]))[data-qc-extension] header nav a,html body:where(:not([data-surface="app"]))[data-qc-extension] header nav a:visited{color:#000!important;}
body:where(:not([data-surface="app"])) .legend span{color:#002b50!important;}
body:where(:not([data-surface="app"])) .legend .brass{color:#0053cd!important;}
body:where(:not([data-surface="app"])) a{color:#0053cd!important;}
body:where(:not([data-surface="app"])) h1,body:where(:not([data-surface="app"])) h2,body:where(:not([data-surface="app"])) h3,body:where(:not([data-surface="app"])) h4,body:where(:not([data-surface="app"])) h5,body:where(:not([data-surface="app"])) h6,body:where(:not([data-surface="app"])) h1 a,body:where(:not([data-surface="app"])) h2 a,body:where(:not([data-surface="app"])) h3 a,body:where(:not([data-surface="app"])) nav a,:where(html:has(> body:not([data-surface="app"]))) .brand,:where(html:has(> body:not([data-surface="app"]))) .brand a,:where(html:has(> body:not([data-surface="app"]))) .masthead a{color:#000!important;}
body:where(:not([data-surface="app"])) button,body:where(:not([data-surface="app"])) input,body:where(:not([data-surface="app"])) select,body:where(:not([data-surface="app"])) textarea,body:where(:not([data-surface="app"])) [role=button],body:where(:not([data-surface="app"])) .button,body:where(:not([data-surface="app"])) .btn{font-family:'Literata',Georgia,serif!important; background:#fff!important; color:#000!important; border-color:#7c8a97!important;}
body:where(:not([data-surface="app"])) button:hover,body:where(:not([data-surface="app"])) .button:hover,body:where(:not([data-surface="app"])) .btn:hover{border-color:#0053cd!important;}
body:where(:not([data-surface="app"])) [aria-selected=true],body:where(:not([data-surface="app"])) [aria-pressed=true],body:where(:not([data-surface="app"])) button.active,body:where(:not([data-surface="app"])) button.is-active,body:where(:not([data-surface="app"])) .button.active,body:where(:not([data-surface="app"])) .btn.active,body:where(:not([data-surface="app"])) .tab.active,body:where(:not([data-surface="app"])) .tab-button.active,body:where(:not([data-surface="app"])) .segmented button.active{background:#0053cd!important;color:#fff!important;border-color:#0053cd!important;}
body:where(:not([data-surface="app"])) [aria-selected=true] *,body:where(:not([data-surface="app"])) [aria-pressed=true] *,body:where(:not([data-surface="app"])) button.active *{color:#fff!important;}
body:where(:not([data-surface="app"])) .chart-column i,body:where(:not([data-surface="app"])) .history-mark{background:#002b50!important;}
body:where(:not([data-surface="app"])) .chart-column.selected i,body:where(:not([data-surface="app"])) .history-column[aria-pressed=true] .history-mark{background:#0053cd!important;}
body:where(:not([data-surface="app"])) .selected-metric{outline:2px solid #0053cd!important;outline-offset:-2px;}
body:where(:not([data-surface="app"])) .peer-chip.selected{border:2px solid #0053cd!important;}
body:where(:not([data-surface="app"])) :focus-visible{outline:2px solid #0053cd!important;outline-offset:3px;}
body:where(:not([data-surface="app"])) input[type=range],body:where(:not([data-surface="app"])) input[type=checkbox],body:where(:not([data-surface="app"])) input[type=radio]{accent-color:#0053cd;}
body:where(:not([data-surface="app"])) input::placeholder,body:where(:not([data-surface="app"])) textarea::placeholder{color:#323b43!important;opacity:1;}
body:where(:not([data-surface="app"])) :disabled{opacity:.55;}
body:where(:not([data-surface="app"])) table,body:where(:not([data-surface="app"])) th,body:where(:not([data-surface="app"])) td,body:where(:not([data-surface="app"])) .metric,body:where(:not([data-surface="app"])) .stat,body:where(:not([data-surface="app"])) time{font-variant-numeric:tabular-nums;}
body:where(:not([data-surface="app"])) svg text,body:where(:not([data-surface="app"])) svg tspan{font-family:'Literata',Georgia,serif!important;fill:#000!important;}
body:where(:not([data-surface="app"])) .readout p{font-family:'Literata',Georgia,serif!important;}
body:where(:not([data-surface="app"])) header nav{flex-wrap:wrap!important;white-space:normal!important;height:auto!important;overflow:visible!important;}
:where(html:has(> body:not([data-surface="app"]))) .senate-geo path{fill:#fff!important;stroke:#7c8a97!important;}
:where(html:has(> body:not([data-surface="app"]))) .senate-geo path.cycle{fill:rgba(124,138,151,.35)!important;}
:where(html:has(> body:not([data-surface="app"]))) .senate-geo path[data-assignment=D]{fill:#0053cd!important;}
:where(html:has(> body:not([data-surface="app"]))) .senate-geo path[data-assignment=R]{fill:#323b43!important;}
:where(html:has(> body:not([data-surface="app"]))) .senate-geo path[data-assignment=O]{fill:#7c8a97!important;}
body:where(:not([data-surface="app"])) .senate-minis button.cycle,body:where(:not([data-surface="app"])) .congress-legend i.cycle{background:rgba(124,138,151,.35)!important;}
body:where(:not([data-surface="app"])) .senate-minis button[data-assignment=D]{background:#0053cd!important;color:#fff!important;}
body:where(:not([data-surface="app"])) .senate-minis button[data-assignment=R]{background:#323b43!important;color:#fff!important;}
body:where(:not([data-surface="app"])) .senate-minis button[data-assignment=O]{background:#7c8a97!important;color:#000!important;}
:where(html:has(> body:not([data-surface="app"]))) .house-mode .senate-geo path.cycle{fill:#fff!important;}
:where(html:has(> body:not([data-surface="app"]))) .wm-frame{fill:#fff!important;}
:where(html:has(> body:not([data-surface="app"]))) .wm-line-prime{stroke:#7c8a97!important;}
:where(html:has(> body:not([data-surface="app"]))) .dd-rule{background:#7c8a97!important;}
body:where(:not([data-surface="app"])) dialog::backdrop{background:rgba(0,0,0,.45)!important;}
body:where(:not([data-surface="app"])) video,body:where(:not([data-surface="app"])) iframe{background:#fff!important;}
body:where(:not([data-surface="app"])) ::selection{background:#0053cd!important;color:#fff!important;}
@media print{
html:where(:has(> body:not([data-surface="app"]))),body:where(:not([data-surface="app"])){background:#fff!important;color:#000!important;}
}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#d5aa53" i]{stroke:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#d5aa53" i]{fill:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#72a7d8" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#72a7d8" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#70b89b" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#70b89b" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#d37b71" i]{stroke:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#d37b71" i]{fill:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#b89bd8" i]{stroke:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#b89bd8" i]{fill:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#d6a5e8" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#d6a5e8" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#c3cedd" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#c3cedd" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#697589" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#697589" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#0d1522" i]{stroke:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#0d1522" i]{fill:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#2c3a51" i]{stroke:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#2c3a51" i]{fill:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#7e8ba0" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#7e8ba0" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#8f9db2" i]{stroke:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#8f9db2" i]{fill:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#d9e0ea" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#d9e0ea" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#e6bd67" i]{stroke:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#e6bd67" i]{fill:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#aeb8c7" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#aeb8c7" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#c79a43" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#c79a43" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#b08f45" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#b08f45" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#ad7b2c" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#ad7b2c" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#9a701f" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#9a701f" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#b89448" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#b89448" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#a9823d" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#a9823d" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#ac8237" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#ac8237" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#1c2b43" i]{stroke:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#1c2b43" i]{fill:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#1e293f" i]{stroke:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#1e293f" i]{fill:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#142139" i]{stroke:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#142139" i]{fill:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#17233a" i]{stroke:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#17233a" i]{fill:#000000!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#f8f7ef" i]{stroke:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#f8f7ef" i]{fill:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#f8f6ef" i]{stroke:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#f8f6ef" i]{fill:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#fcfbf8" i]{stroke:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#fcfbf8" i]{fill:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#18253a" i]{stroke:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#18253a" i]{fill:#002b50!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#faf8f2" i]{stroke:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#faf8f2" i]{fill:#ffffff!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#eee9de" i]{stroke:#7c8a971f!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#eee9de" i]{fill:#7c8a971f!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#a6a8ab" i]{stroke:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#a6a8ab" i]{fill:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#a97727" i]{stroke:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#a97727" i]{fill:#0053cd!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#456e85" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#456e85" i]{fill:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#c4cdd0" i]{stroke:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#c4cdd0" i]{fill:#7c8a97!important}
:where(html:has(> body:not([data-surface="app"]))) svg [stroke="#7c8d95" i]{stroke:#323b43!important}
:where(html:has(> body:not([data-surface="app"]))) svg [fill="#7c8d95" i]{fill:#323b43!important}
body:where(:not([data-surface="app"])) header > .wrap{padding-top:12px!important;padding-bottom:12px!important;}
body:where(:not([data-surface="app"])) .desk-intro,body:where(:not([data-surface="app"])) .qc-intro,body:where(:not([data-surface="app"])) .hero{padding-top:24px!important;padding-bottom:24px!important;min-height:0!important;}
body:where(:not([data-surface="app"])) .desk-intro h1,body:where(:not([data-surface="app"])) .qc-intro h1,body:where(:not([data-surface="app"])) .hero h1{margin-top:8px!important;margin-bottom:12px!important;line-height:1.14!important;}
body:where(:not([data-surface="app"])) .desk-intro p,body:where(:not([data-surface="app"])) .qc-intro p,body:where(:not([data-surface="app"])) .hero p{margin-top:8px!important;margin-bottom:12px!important;}
body:where(:not([data-surface="app"])) .desk-doors,body:where(:not([data-surface="app"])) .finance-grid,body:where(:not([data-surface="app"])) .decision-grid{gap:16px!important;}
body:where(:not([data-surface="app"])) .research-group,body:where(:not([data-surface="app"])) .brief-section,body:where(:not([data-surface="app"])) .home-directory,body:where(:not([data-surface="app"])) .desk-wire{padding-top:24px!important;padding-bottom:24px!important;}
body:where(:not([data-surface="app"])) .project,body:where(:not([data-surface="app"])) .news-item,body:where(:not([data-surface="app"])) .finance-card{padding:20px!important;}
body:where(:not([data-surface="app"])) .desk-doors > article{padding:20px!important;border:0!important;}
body:where(:not([data-surface="app"])) .desk-link{display:inline-block;padding:8px 0!important;margin-top:0!important;border:0!important;text-decoration:underline;text-underline-offset:4px;}
html body:where(:not([data-surface="app"])) .desk-doors > article:first-child{background:#000!important;}
html body:where(:not([data-surface="app"])) .desk-doors > article:nth-child(2),html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child{background:#002b50!important;}
html body:where(:not([data-surface="app"])) .desk-doors > article,html body:where(:not([data-surface="app"])) .desk-doors > article *,html body:where(:not([data-surface="app"])) .desk-doors > article a:visited,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child:visited,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child *{color:#fff!important;}
html body:where(:not([data-surface="app"])) .desk-doors > .desk-link:focus-visible,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child:focus-visible{outline:3px solid #0053cd!important;outline-offset:4px!important;}
body:where(:not([data-surface="app"])) .desk-link:hover h2,body:where(:not([data-surface="app"])) .finance-card:hover h2{text-decoration:underline;text-underline-offset:4px;}
body:where(:not([data-surface="app"])) .desk-doors h2,body:where(:not([data-surface="app"])) .finance-card h2{margin-top:4px!important;margin-bottom:10px!important;line-height:1.2!important;}
body:where(:not([data-surface="app"])) .desk-doors p,body:where(:not([data-surface="app"])) .finance-card p{margin:8px 0!important;line-height:1.5!important;}
body:where(:not([data-surface="app"])) main > article,body:where(:not([data-surface="app"])) article.prose,body:where(:not([data-surface="app"])) .article-body,body:where(:not([data-surface="app"])) .article-content{max-width:72ch!important;margin-left:auto!important;margin-right:auto!important;}
body:where(:not([data-surface="app"])) main > article p,body:where(:not([data-surface="app"])) article.prose p,body:where(:not([data-surface="app"])) .article-body p,body:where(:not([data-surface="app"])) .article-content p{font-size:20px!important;line-height:1.55!important;margin:0 0 1em!important;}
@media(max-width:600px){
body:where(:not([data-surface="app"])) .wrap{padding-left:16px!important;padding-right:16px!important;}
body:where(:not([data-surface="app"])) .desk-intro,body:where(:not([data-surface="app"])) .qc-intro,body:where(:not([data-surface="app"])) .hero{padding-top:18px!important;padding-bottom:18px!important;}
body:where(:not([data-surface="app"])) .desk-intro h1,body:where(:not([data-surface="app"])) .qc-intro h1,body:where(:not([data-surface="app"])) .hero h1{font-size:32px!important;}
body:where(:not([data-surface="app"])) .desk-doors,body:where(:not([data-surface="app"])) .finance-grid{gap:12px!important;}
body:where(:not([data-surface="app"])) .desk-doors > article,body:where(:not([data-surface="app"])) .finance-card,body:where(:not([data-surface="app"])) .project,body:where(:not([data-surface="app"])) .news-item{padding:16px!important;}
body:where(:not([data-surface="app"])) main > article p,body:where(:not([data-surface="app"])) article.prose p,body:where(:not([data-surface="app"])) .article-body p,body:where(:not([data-surface="app"])) .article-content p{font-size:19px!important;line-height:1.5!important;}
}
html body:where(:not([data-surface="app"])) a{color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) h1 a,html body:where(:not([data-surface="app"])) h2 a,html body:where(:not([data-surface="app"])) h3 a,html body:where(:not([data-surface="app"])) header a,html body:where(:not([data-surface="app"])) nav a{color:#000!important;}
html body:where(:not([data-surface="app"])) .project,html body:where(:not([data-surface="app"])) .decision-card,html body:where(:not([data-surface="app"])) .finance-card,html body:where(:not([data-surface="app"])) .subscriber-band,html body:where(:not([data-surface="app"])) .subscriber-band > .wrap,html body:where(:not([data-surface="app"])) .panel,html body:where(:not([data-surface="app"])) .source-link-panel{background-color:#f3f4f6!important;}
html body:where(:not([data-surface="app"])) .desk-doors > article:first-child,html body:where(:not([data-surface="app"])) .desk-doors > article:nth-child(2),html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child{background:#1f4e64!important;}
html body:where(:not([data-surface="app"])) .desk-doors > article *,html body:where(:not([data-surface="app"])) .desk-doors > article a:visited,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child *,html body:where(:not([data-surface="app"])) .finance-grid > .finance-card:first-child:visited{color:#fff!important;}
html body:where(:not([data-surface="app"])) button,html body:where(:not([data-surface="app"])) .btn,html body:where(:not([data-surface="app"])) .button{border-color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) button:hover,html body:where(:not([data-surface="app"])) .btn:hover,html body:where(:not([data-surface="app"])) .button:hover{background-color:#f3f4f6!important;}
html body:where(:not([data-surface="app"])) button[aria-selected=true],html body:where(:not([data-surface="app"])) button[aria-pressed=true],html body:where(:not([data-surface="app"])) button.active,html body:where(:not([data-surface="app"])) button.is-active,html body:where(:not([data-surface="app"])) .tab.active,html body:where(:not([data-surface="app"])) .tab-button.active,html body:where(:not([data-surface="app"])) .segmented button.active{background:#1f4e64!important;color:#fff!important;border-color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) button[aria-selected=true] *,html body:where(:not([data-surface="app"])) button[aria-pressed=true] *,html body:where(:not([data-surface="app"])) button.active *{color:#fff!important;}
html body:where(:not([data-surface="app"])) :focus-visible{outline-color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) input[type=range],html body:where(:not([data-surface="app"])) input[type=checkbox],html body:where(:not([data-surface="app"])) input[type=radio]{accent-color:#1f4e64;}
html body:where(:not([data-surface="app"])) #home-intro .home-tool-button,html body:where(:not([data-surface="app"])) #home-intro .home-tool-button:hover{background:#1f4e64!important;border-color:#1f4e64!important;color:#fff!important;}
html body:where(:not([data-surface="app"])) #home-intro .desk-doors article{border-top-color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) #home-intro .desk-doors .desk-link,html body:where(:not([data-surface="app"])) #home-intro .desk-doors .desk-link:hover{background:#fff!important;color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) #home-intro a:focus-visible{outline-color:#1f4e64!important;}
html body:where(:not([data-surface="app"])) ::selection{background:#1f4e64!important;color:#fff!important;}
html body:where(:not([data-surface="app"])) button:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)),html body:where(:not([data-surface="app"])) .btn,html body:where(:not([data-surface="app"])) .button{background:#323b43!important;color:#fff!important;border-color:#323b43!important;}
html body:where(:not([data-surface="app"])) button:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)) *,html body:where(:not([data-surface="app"])) .btn *,html body:where(:not([data-surface="app"])) .button *{color:#fff!important;}
html body:where(:not([data-surface="app"])) button:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)):hover,html body:where(:not([data-surface="app"])) .btn:hover,html body:where(:not([data-surface="app"])) .button:hover{background:#000!important;border-color:#000!important;}
html body:where(:not([data-surface="app"])) button[aria-selected=true]:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)),html body:where(:not([data-surface="app"])) button[aria-pressed=true]:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)),html body:where(:not([data-surface="app"])) button.active:not(:is(.senate-minis button,[data-assignment],.history-column,.chart-column)),html body:where(:not([data-surface="app"])) button.is-active,html body:where(:not([data-surface="app"])) .tab.active,html body:where(:not([data-surface="app"])) .tab-button.active,html body:where(:not([data-surface="app"])) .segmented button.active,html body:where(:not([data-surface="app"])) button[type=submit]{background:#0053cd!important;color:#fff!important;border-color:#0053cd!important;}
html body:where(:not([data-surface="app"])) #home-intro .home-tool-button,html body:where(:not([data-surface="app"])) #home-intro .home-tool-button:hover{background:#0053cd!important;color:#fff!important;border-color:#0053cd!important;}
html body:where(:not([data-surface="app"])) #home-intro .desk-doors .desk-link,html body:where(:not([data-surface="app"])) #home-intro .desk-doors .desk-link:hover{background:#323b43!important;color:#fff!important;border-color:#323b43!important;}
html body:where(:not([data-surface="app"])) #home-intro .desk-doors article:first-child .desk-link,html body:where(:not([data-surface="app"])) #home-intro .desk-doors article:first-child .desk-link:hover{background:#b4232c!important;color:#fff!important;border-color:#b4232c!important;}
html body:where(:not([data-surface="app"])) :focus-visible,html body:where(:not([data-surface="app"])) #home-intro a:focus-visible{outline-color:#0053cd!important;outline-offset:3px!important;}

/* ===== 3. SHELL GUARD — makes the shared header render identically on every surface, including app pages
   whose module CSS styles header/nav/a generically. Values equal what public pages already compute. ===== */
html:root body header.personal-masthead{display:block!important;margin:0!important;font-family:Arial,Helvetica,sans-serif!important;font-size:20px!important;font-weight:400!important;font-style:normal!important;text-transform:none!important;letter-spacing:normal!important;color:#fff!important;box-shadow:none!important;text-align:start!important}
html:root body header.personal-masthead *{font-family:Arial,Helvetica,sans-serif!important;text-shadow:none!important;box-shadow:none!important;background-color:transparent;border-color:#7c8a97;box-sizing:border-box}
html:root body header.personal-masthead .mark span{font-size:inherit!important;font-weight:inherit!important}
html:root body header.personal-masthead nav a:visited{color:#0053cd!important;-webkit-text-fill-color:#0053cd!important}
html:root body header.personal-masthead nav a[aria-current=page]:visited{color:#000!important;-webkit-text-fill-color:#000!important}
html:root body header.personal-masthead a:focus-visible{outline:3px solid #0053cd!important;outline-offset:3px}

/* ===== 4. FORMATTING FIXES from the 7-page patch (F1–F4). F3 applies to all surfaces. ===== */
/* F1 release-time stamps aligned to the content column (inline margin styles removed from templates) */
html:root body:where(:not([data-surface^="app"])) main>.qc-release-time{max-width:1120px!important;margin:12px auto 0!important;padding-inline:24px!important;box-sizing:border-box}
html:root body:where(:not([data-surface^="app"])) .project>.qc-release-time{margin:0 0 8px!important}
/* F2 home lead headline matched to sibling headlines */
html:root body:where(:not([data-surface^="app"])) .personal-reading .home-story.home-lead h3{font-size:26px!important;line-height:1.2!important;margin:0 0 8px!important}
/* F3 skip link visible on focus (was black on the black masthead) */
.qc-skip-main{position:absolute;left:12px;top:-100px;padding:12px 18px;z-index:1000}
html:root body a.qc-skip-main{background:#fff!important;color:#000!important;-webkit-text-fill-color:#000!important;text-decoration:underline!important;font-family:Arial,Helvetica,sans-serif!important}
html:root body a.qc-skip-main:focus{top:12px;outline:3px solid #0053cd!important;outline-offset:3px}
/* F4 home welcome/“Latest research” aligned to the 1120px column; full-width rule under nav kept */
html:root body:where(:not([data-surface^="app"])) .personal-welcome{max-width:none!important;padding-inline:max(24px,calc((100% - 1072px) / 2))!important;box-sizing:border-box}
html:root body:where(:not([data-surface^="app"])) .personal-reading{padding-inline:24px!important}
@media(max-width:760px){html:root body:where(:not([data-surface^="app"])) :is(.personal-welcome,.personal-reading,main>.qc-release-time){padding-inline:16px!important}}

/* ===== 5. OPT-IN ARTICLE COMPONENTS — the approved U.S.–China article layout, generalized. Applies only when
   <body> has class "ab-article" (new pages via new-page.mjs); no existing page carries it, so nothing changes today. */
html body.ab-article .qc-intro.wrap,html body.ab-article .article-body.wrap{max-width:900px!important;margin-left:auto!important;margin-right:auto!important;padding-left:40px!important;padding-right:40px!important;box-sizing:border-box}
html body.ab-article .qc-intro .lede{max-width:none}
html body.ab-article .draft-line{font-size:15px!important;line-height:1.4;border-left:3px solid #7c8a97;padding:4px 12px;margin:0 0 20px}
html body.ab-article .fig{margin:22px 0 26px;padding:12px 0 0;border-top:1px solid #7c8a97}
html body.ab-article .fig-title{font-size:16px;font-weight:700;margin:0 0 10px}
html body.ab-article .fig-note{font-size:14px!important;line-height:1.45;margin:8px 0 0}
html body.ab-article .chart{display:block;max-width:100%;height:auto}
html body.ab-article .chart text{font-family:Arial,Helvetica,sans-serif!important}
html body.ab-article .chart-legend{display:flex;gap:18px;font-size:14px;margin:0 0 8px}
html body.ab-article .chart-legend span{display:inline-flex;align-items:center;gap:6px}
html body.ab-article .narrow{display:none}
html body.ab-article .grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
html body.ab-article table.data{width:100%;border-collapse:collapse;font-size:16px;margin:4px 0 0}
html body.ab-article table.data th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.02em;padding:6px 8px;border-bottom:2px solid #000}
html body.ab-article table.data td{padding:8px;border-bottom:1px solid #7c8a97;vertical-align:top;line-height:1.35}
html body.ab-article .sources{margin:30px 0 0;padding:12px 0 0;border-top:1px solid #7c8a97;font-size:14px!important;line-height:1.5}
html:root body.ab-article .article-body .sources p{font-size:14px!important;line-height:1.5!important;margin:0 0 .5em!important}
@media(max-width:720px){html body.ab-article .wide{display:none}html body.ab-article .narrow{display:block}html body.ab-article .qc-intro.wrap,html body.ab-article .article-body.wrap{padding-left:20px!important;padding-right:20px!important}html body.ab-article .grid2{grid-template-columns:1fr}html body.ab-article table.data{font-size:15px}}
