:root {
  --paper: #f8f1e5;
  --paper-deep: #eadfce;
  --paper-light: #fffaf1;
  --ink: #142421;
  --muted: #626760;
  --line: #d4c8b7;
  --forest: #123f35;
  --forest-light: #1d5b4b;
  --navy: #142f4c;
  --blue: #356ed7;
  --blue-soft: #dfe9fb;
  --gold: #d39a25;
  --red: #a74437;
  --green: #2c7a5d;
  --coral: #ee634b;
  --apricot: #f3b36b;
  --violet: #8a6bc2;
  --sky: #78b9dc;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: min(1380px, calc(100vw - 96px));
  --radius: 12px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background-color: var(--paper); background-image: radial-gradient(rgba(20,36,33,.035) .7px, transparent .7px); background-size: 7px 7px; font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, p { margin-top: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.shell { width: var(--shell); margin-inline: auto; }
.section-space { padding-top: 112px; padding-bottom: 112px; }
.compact-top { padding-top: 48px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; transform: translateY(-150%); background: white; padding: 10px 16px; border: 2px solid var(--blue); }
.skip-link:focus { transform: translateY(0); }

.freshness-strip { height: 31px; padding: 0 3.3vw; display: flex; align-items: center; justify-content: space-between; background: var(--forest); color: #dce7e2; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.freshness-strip span { display: flex; align-items: center; gap: 9px; }
.freshness-strip i { width: 6px; height: 6px; border-radius: 50%; background: #6bd2a8; box-shadow: 0 0 0 4px rgba(107,210,168,.12); }
.freshness-strip a { border-bottom: 1px solid rgba(255,255,255,.35); }
.site-header { position: sticky; z-index: 50; top: 0; height: 72px; padding: 0 3.3vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: rgba(244,240,232,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand { display: inline-flex; width: max-content; align-items: center; gap: 10px; font-weight: 900; letter-spacing: .11em; font-size: 14px; }
.brand svg { width: 29px; height: 29px; stroke-width: 2; }
.desktop-nav { display: flex; align-items: stretch; height: 100%; }
.desktop-nav a { position: relative; display: grid; place-items: center; padding: 0 18px; color: #444944; font-size: 13px; font-weight: 650; }
.desktop-nav a::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -1px; height: 2px; background: var(--forest); transform: scaleX(0); transition: transform .2s ease; }
.desktop-nav a:hover::after, .desktop-nav a.active::after { transform: scaleX(1); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 6px; }
.icon-button, .menu-button { border: 0; background: transparent; cursor: pointer; }
.icon-button { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 10px; color: #353a35; font-size: 12px; font-weight: 700; }
.icon-button svg { width: 18px; height: 18px; }
.icon-button kbd { padding: 1px 5px; background: #e9e4d9; border: 1px solid #d1ccc1; border-radius: 3px; color: #797b75; font-family: inherit; font-size: 10px; }
.icon-button b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 10px; color: white; background: var(--blue); font-size: 9px; }
.menu-button { display: none; width: 42px; height: 42px; padding: 12px 8px; }
.menu-button span { display: block; width: 25px; height: 1px; background: currentColor; margin: 6px 0; transition: transform .2s; }
.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 45; inset: 103px 0 0; padding: 32px 6vw; background: var(--paper); overflow-y: auto; }
.mobile-menu a { display: block; padding: 15px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(25px, 8vw, 42px); }
.mobile-menu div { display: flex; gap: 20px; margin-top: 28px; }
.mobile-menu div a { flex: 1; font-family: var(--sans); font-size: 12px; font-weight: 700; text-transform: uppercase; }

.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #4d524d; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow i { width: 28px; height: 1px; background: currentColor; }
.home-hero { min-height: 665px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(310px, .68fr); border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.hero-main { padding: 82px 7% 76px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.hero-main h1 { margin-bottom: 28px; font-family: var(--serif); font-weight: 400; font-size: clamp(70px, 7vw, 118px); line-height: .87; letter-spacing: -.057em; }
.hero-main h1 em { color: var(--forest); font-weight: 400; }
.hero-main > p { max-width: 690px; margin-bottom: 34px; color: #555a55; font-family: var(--serif); font-size: 20px; line-height: 1.55; }
.hero-search { width: min(680px, 100%); min-height: 66px; display: flex; align-items: center; gap: 14px; padding: 0 18px; background: var(--paper-light); border: 1px solid #a8a79f; cursor: text; text-align: left; box-shadow: 0 10px 30px rgba(20,35,28,.04); }
.hero-search svg { width: 22px; }
.hero-search span { flex: 1; color: #72756f; }
.hero-search kbd { padding: 4px 8px; color: #777973; background: var(--paper-deep); border: 1px solid var(--line); border-radius: 3px; }
.hero-quick { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 15px; color: #777a74; font-size: 11px; }
.hero-quick a { color: var(--forest); font-weight: 700; border-bottom: 1px solid #7a9087; }
.hero-manifesto { position: relative; padding: 76px 42px 50px; color: #edf3ef; background: var(--forest); overflow: hidden; }
.manifesto-number { position: absolute; top: 26px; right: 28px; color: rgba(255,255,255,.36); font-size: 11px; letter-spacing: .1em; }
.hero-manifesto blockquote { margin: 103px 0 26px; font-family: var(--serif); font-size: clamp(27px, 2.4vw, 39px); line-height: 1.24; letter-spacing: -.025em; }
.hero-manifesto > p { color: #b8cbc3; font-size: 13px; line-height: 1.75; }
.hero-manifesto dl { position: absolute; left: 42px; right: 42px; bottom: 34px; margin: 0; padding-top: 19px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.hero-manifesto dl div { display: flex; flex-direction: column; }
.hero-manifesto dt { font-family: var(--serif); font-size: 28px; }
.hero-manifesto dd { margin: 2px 0 0; color: #9fb5ac; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.principle-line { overflow: hidden; color: white; background: var(--blue); }
.principle-line div { min-width: max-content; height: 39px; display: flex; align-items: center; justify-content: space-around; gap: 52px; padding: 0 26px; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.principle-line i { font-style: normal; opacity: .65; }
.coverage-disclosure { min-height: 92px; padding: 20px 0; display: grid; grid-template-columns: 190px 1fr auto; gap: 35px; align-items: center; border-bottom: 1px solid var(--line); }
.coverage-disclosure > div span, .coverage-disclosure > div strong { display: block; }
.coverage-disclosure > div span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.coverage-disclosure > div strong { font-family: var(--serif); font-size: 24px; font-weight: 400; }
.coverage-disclosure > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.coverage-disclosure > a { color: var(--blue); font-size: 9px; font-weight: 800; border-bottom: 1px solid currentColor; white-space: nowrap; }
.coverage-disclosure > a span { margin-left: 12px; }

.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 50px; }
.section-head .eyebrow { margin-bottom: 16px; }
.section-head h2 { margin-bottom: 12px; font-family: var(--serif); font-size: clamp(38px, 4vw, 62px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.section-head > div > p:last-child { max-width: 700px; margin-bottom: 0; color: var(--muted); }
.section-head > p { max-width: 430px; margin-bottom: 0; color: var(--muted); }
.section-head.light, .section-head.light .eyebrow { color: white; }
.section-head.light > p, .section-head.light > div > p:last-child { color: #abbdb5; }
.arrow-link { flex-shrink: 0; display: inline-flex; align-items: center; gap: 30px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--forest); font-size: 12px; font-weight: 800; }
.arrow-link span { font-size: 18px; }

.position-table-wrap { overflow-x: auto; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); }
.position-table { width: 100%; border-collapse: collapse; min-width: 950px; }
.position-table th { padding: 13px 16px; border-bottom: 1px solid var(--line); color: #797b75; font-size: 9px; letter-spacing: .11em; text-align: left; text-transform: uppercase; }
.position-table td { height: 92px; padding: 16px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.position-table tr:last-child td { border-bottom: 0; }
.position-table th:first-child, .position-table td:first-child { padding-left: 0; }
.position-table th:last-child, .position-table td:last-child { padding-right: 0; text-align: right; }
.person-cell, .mini-person { display: flex; align-items: center; gap: 13px; }
.person-cell strong, .mini-person strong { display: block; font-family: var(--serif); font-size: 17px; font-weight: 400; }
.person-cell small, .mini-person small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.avatar { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; color: #f1eee6; background: var(--forest); border-radius: 50%; font-family: var(--serif); font-size: 13px; }
.record-copy { display: block; max-width: 420px; font-size: 13px; }
.record-copy + small, .position-table td > small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.stance { --stance-color: var(--muted); width: max-content; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px 6px 7px; border: 1px solid var(--stance-color); color: var(--stance-color); font-size: 10px; font-weight: 750; letter-spacing: .03em; white-space: nowrap; }
.stance b { display: grid; place-items: center; width: 19px; height: 19px; color: white; background: var(--stance-color); font-size: 13px; line-height: 1; }
.stance-support { --stance-color: var(--green); }
.stance-oppose { --stance-color: var(--red); }
.stance-mixed { --stance-color: #8a6217; }
.stance-unavailable { --stance-color: #666b68; border-style: dashed; }
.stance-unclear { --stance-color: #777a75; border-style: dashed; }
.stance-compact { padding: 4px 8px 4px 5px; font-size: 9px; }
.stance-compact b { width: 16px; height: 16px; }
.text-button { padding: 0; color: var(--blue); background: none; border: 0; border-bottom: 1px solid currentColor; cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }
.text-button span { margin-left: 7px; }
.save-record { height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 13px; border: 1px solid currentColor; color: inherit; background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.save-record svg { width: 16px; }
.save-record.is-saved { color: white; background: var(--blue); border-color: var(--blue); }
.save-record.is-saved svg { fill: currentColor; }
.icon-save { width: 35px; height: 35px; padding: 0; border-radius: 50%; }
.icon-save span { display: none; }
.hero-actions { flex: 0 0 auto; display: flex; flex-direction: column; align-items: stretch; gap: 9px; }
.record-utilities { display: flex; gap: 1px; }
.record-utilities button { min-height: 34px; padding: 0 11px; color: inherit; background: transparent; border: 1px solid currentColor; cursor: pointer; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.profile-actions .record-utilities { margin-left: 2px; }

.observatory { color: #edf3ef; background: var(--forest); }
.observatory .section-head h2 { color: white; }
.evidence-timeline { border-top: 1px solid rgba(255,255,255,.4); }
.evidence-timeline article { min-height: 128px; display: grid; grid-template-columns: 50px 130px minmax(0,1fr) 40px 70px; gap: 22px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); }
.timeline-index, .evidence-timeline time { color: #8ea59b; font-size: 9px; letter-spacing: .08em; }
.evidence-timeline article > div > p:first-child { margin-bottom: 5px; color: #8fa69c; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.evidence-timeline h3 { margin-bottom: 5px; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.evidence-timeline h3 a { border-bottom: 1px solid rgba(255,255,255,.3); }
.evidence-timeline article > div > p:last-child { margin-bottom: 0; color: #b2c2bb; font-size: 11px; }
.grade { display: grid; place-items: center; width: 32px; height: 32px; color: var(--forest); background: #d6be79; border-radius: 50%; font-family: var(--serif); font-weight: 700; }
.observatory .text-button { color: #d4dfda; }

.bill-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.bill-card { min-height: 360px; padding: 27px; display: flex; flex-direction: column; background: var(--paper-light); }
.bill-card > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.status { width: max-content; display: inline-flex; align-items: center; gap: 7px; color: #626761; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.status i { width: 7px; height: 7px; background: #9b9e99; border-radius: 50%; }
.status-became-law i { background: var(--green); }
.status-passed-house i { background: var(--gold); }
.status-introduced i { background: var(--blue); }
.bill-number { margin-top: 39px; color: var(--blue); font-family: var(--serif); font-size: 33px; }
.bill-card h3 { margin: 7px 0 14px; font-family: var(--serif); font-size: 21px; font-weight: 400; line-height: 1.14; }
.bill-card h3 a:hover { color: var(--blue); }
.bill-card > p { color: var(--muted); font-size: 11px; line-height: 1.65; }
.bill-card footer { margin-top: auto; padding-top: 18px; display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; text-transform: uppercase; }
.bill-card footer a { color: var(--blue); font-size: 19px; }
.trust-block { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 70px; align-items: end; border-top: 1px solid var(--ink); }
.trust-number { align-self: start; color: var(--muted); font-size: 10px; }
.trust-block h2 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(38px, 4vw, 62px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.trust-block > div:last-child > p { color: var(--muted); font-family: var(--serif); font-size: 17px; line-height: 1.65; }

.page-intro { padding-top: 94px; padding-bottom: 84px; display: flex; align-items: flex-end; justify-content: space-between; gap: 70px; border-bottom: 1px solid var(--line); }
.page-intro > div:first-child { max-width: 960px; }
.page-intro h1 { margin-bottom: 26px; font-family: var(--serif); font-size: clamp(58px, 6vw, 94px); font-weight: 400; line-height: .94; letter-spacing: -.055em; }
.page-intro h1 em { color: var(--forest); font-weight: 400; }
.page-intro .lede { max-width: 730px; margin-bottom: 0; color: var(--muted); font-family: var(--serif); font-size: 19px; line-height: 1.55; }
.intro-note { flex: 0 0 180px; padding-top: 18px; border-top: 2px solid var(--ink); }
.intro-note b { display: block; font-family: var(--serif); font-size: 44px; font-weight: 400; }
.version-note { flex-basis: 240px; }
.version-note b { font-size: 27px; white-space: nowrap; }
.intro-note span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.stat-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-bottom: 1px solid var(--line); }
.stat-band div { padding: 24px 0; border-right: 1px solid var(--line); text-align: center; }
.stat-band div:last-child { border-right: 0; }
.stat-band strong { margin-right: 7px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.stat-band span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }

.directory-tools { margin-top: 70px; padding: 30px; display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 2fr); gap: 20px 45px; align-items: end; background: var(--paper-light); border: 1px solid var(--line); }
.directory-tools > div:first-child > span, .directory-fields label > span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.directory-tools h2 { margin: 7px 0 5px; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.directory-tools > div:first-child p { margin: 0; color: var(--muted); font-size: 10px; }
.directory-fields { display: grid; grid-template-columns: minmax(170px, 1.3fr) repeat(3, minmax(115px, .75fr)) auto; gap: 10px; align-items: end; }
.directory-fields label > span { margin-bottom: 7px; }
.directory-fields input, .directory-fields select { width: 100%; height: 43px; padding: 0 12px; color: var(--ink); background: white; border: 1px solid #aaa79e; border-radius: 0; }
.filter-reset { height: 43px; padding: 0 14px; color: var(--blue); background: transparent; border: 1px solid var(--blue); cursor: pointer; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.filter-status { grid-column: 2; margin: 0; color: var(--muted); font-size: 9px; }
.directory-empty { margin-top: 30px; margin-bottom: 100px; padding: 45px; background: var(--paper-light); border: 1px dashed var(--line); text-align: center; }
.directory-empty strong { display: block; margin-bottom: 7px; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.directory-empty p { margin: 0; color: var(--muted); font-size: 10px; }

.issue-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.issue-grid > .issue-card:first-child:nth-last-child(3) { grid-column: 1 / -1; }
.issue-card { min-height: 420px; padding: 38px; border: 1px solid var(--line); background: var(--paper-light); box-shadow: 0 18px 50px rgba(17,23,19,.035); }
.issue-card > div:first-child { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.issue-card h2 { margin: 50px 0 17px; font-family: var(--serif); font-size: 55px; font-weight: 400; letter-spacing: -.04em; }
.issue-card p { max-width: 600px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.issue-card dl { margin: 38px 0; padding: 20px 0; display: flex; gap: 42px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.issue-card dl div { display: flex; flex-direction: column; }
.issue-card dt { font-family: var(--serif); font-size: 25px; }
.issue-card dd { margin: 0; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.card-link { display: flex; justify-content: space-between; align-items: center; padding-top: 17px; border-top: 1px solid var(--ink); font-size: 11px; font-weight: 750; }
.card-link span { color: var(--blue); font-size: 18px; }
.issue-navy h2 { color: var(--navy); }
.issue-blue h2 { color: var(--blue); }
.issue-gold h2 { color: #886018; }
.editorial-note { margin-bottom: 112px; padding: 32px 0; display: grid; grid-template-columns: 180px 1fr 180px; gap: 40px; align-items: start; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); }
.editorial-note span { font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.editorial-note p { margin: 0; font-family: var(--serif); font-size: 20px; line-height: 1.5; }
.editorial-note a { justify-self: end; color: var(--blue); font-size: 10px; font-weight: 750; }

.issue-hero { background: var(--forest); color: white; }
.issue-hero.issue-navy { background: var(--navy); }
.issue-hero.issue-blue { background: var(--blue); }
.issue-hero.issue-blue .issue-title .eyebrow, .issue-hero.issue-blue .issue-title p:last-child { color: #e5ebff; }
.issue-hero.issue-gold { background: #67470e; }
.issue-hero.issue-gold .issue-title .eyebrow, .issue-hero.issue-gold .issue-title p:last-child { color: #f4e7c8; }
.breadcrumbs { padding-top: 23px; display: flex; gap: 8px; color: inherit; opacity: .65; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs a { border-bottom: 1px solid currentColor; }
.issue-title { min-height: 370px; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.issue-title > div { max-width: 890px; }
.issue-title .eyebrow { color: #aabdb5; }
.issue-title h1 { margin-bottom: 20px; font-family: var(--serif); font-size: clamp(78px, 8vw, 122px); font-weight: 400; line-height: .9; letter-spacing: -.06em; }
.issue-title p:last-child { max-width: 740px; color: #bdcbc5; font-family: var(--serif); font-size: 18px; }
.issue-metrics { min-height: 78px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.issue-metrics div { padding: 18px 0; border-right: 1px solid rgba(255,255,255,.15); }
.issue-metrics div:not(:first-child) { padding-left: 30px; }
.issue-metrics strong { display: block; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.issue-metrics span { color: #a9b9b2; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.dimension-stack { border-top: 2px solid var(--ink); }
.issue-head-actions { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 18px; }
.issue-state-filter { min-width: 230px; }
.issue-state-filter span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.issue-state-filter select { width: 100%; height: 40px; padding: 0 11px; color: var(--ink); background: var(--paper-light); border: 1px solid var(--line); }
.record-filter { display: inline-flex; border: 1px solid var(--line); background: var(--paper-light); }
.record-filter button { min-height: 38px; padding: 0 13px; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: transparent; cursor: pointer; font-size: 9px; font-weight: 750; }
.record-filter button:last-child { border-right: 0; }
.record-filter button span { margin-left: 6px; padding: 2px 5px; color: inherit; background: var(--paper-deep); border-radius: 9px; font-size: 8px; }
.record-filter button[aria-pressed="true"] { color: white; background: var(--forest); }
.record-filter button[aria-pressed="true"] span { background: rgba(255,255,255,.15); }
.dimension-card { border-bottom: 1px solid var(--line); }
.dimension-card > header { padding: 35px 0; display: grid; grid-template-columns: 55px 1fr; }
.dimension-card > header > span { color: var(--muted); font-size: 9px; }
.dimension-card h3 { margin-bottom: 7px; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.dimension-card header p { max-width: 850px; margin-bottom: 0; color: var(--muted); font-size: 11px; }
.dimension-records { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 0 0 35px 55px; background: var(--line); }
.dimension-records > div { min-height: 195px; padding: 20px; background: var(--paper-light); }
.dimension-records .stance { margin-top: 18px; }
.dimension-records > div > p { min-height: 34px; margin: 15px 0 9px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.no-record { color: #858781; font-size: 9px; font-style: italic; }
.no-clear-message { display: none; }
.dimension-stack.show-clear-only .person-position.is-unclear { display: none; }
.dimension-stack.show-clear-only .dimension-records { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; background: transparent; }
.dimension-stack.show-clear-only .person-position.is-clear { border: 1px solid var(--line); }
.dimension-stack.show-clear-only .dimension-records.no-clear-records { display: block; }
.dimension-stack.show-clear-only .dimension-records.no-clear-records .no-clear-message { min-height: 112px; padding: 25px; display: flex; flex-direction: column; justify-content: center; background: var(--paper-deep); border-left: 3px solid var(--blue); }
.no-clear-message strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.no-clear-message span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.fact-section { color: white; background: var(--navy); }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.fact-grid article { min-height: 290px; padding: 27px; border-right: 1px solid rgba(255,255,255,.2); }
.fact-grid article:last-child { border-right: 0; }
.fact-grid article > span { display: block; color: #8192a9; font-size: 9px; }
.fact-grid article > b { display: inline-block; margin: 38px 0 17px; color: #8edbbd; font-size: 8px; letter-spacing: .1em; }
.fact-grid article > p { min-height: 95px; font-family: var(--serif); font-size: 18px; line-height: 1.45; }
.fact-grid article a { color: #afc5e3; font-size: 8px; text-transform: uppercase; border-bottom: 1px solid currentColor; }

.subhead { margin-bottom: 25px; padding-bottom: 12px; display: flex; justify-content: space-between; border-bottom: 2px solid var(--ink); }
.subhead span { font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.subhead p { margin: 0; color: var(--muted); font-size: 9px; }
.people-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.people-section:first-of-type .people-grid { grid-template-columns: repeat(2, 1fr); }
.person-card { min-height: 380px; padding: 28px; display: flex; flex-direction: column; background: var(--paper-light); border: 1px solid var(--line); }
.person-card-top { display: flex; justify-content: space-between; }
.avatar-large { width: 70px; height: 70px; font-size: 21px; }
.party-label { margin-top: 43px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.person-card h2 { margin: 7px 0 6px; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.person-card > p { color: var(--muted); font-size: 11px; }
.person-stats { margin-top: auto; padding: 14px 0; display: flex; gap: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; text-transform: uppercase; }
.person-stats b { color: var(--ink); font-family: var(--serif); font-size: 17px; font-weight: 400; }

.profile-hero { background: var(--paper-light); border-bottom: 1px solid var(--line); }
.profile-title { min-height: 330px; display: grid; grid-template-columns: auto 1fr auto; gap: 33px; align-items: center; }
.avatar-xl { width: 118px; height: 118px; font-size: 34px; }
.profile-title .eyebrow { margin-bottom: 10px; }
.profile-title h1 { margin-bottom: 6px; font-family: var(--serif); font-size: clamp(57px, 6vw, 85px); font-weight: 400; letter-spacing: -.055em; line-height: .94; }
.profile-title p { color: var(--muted); }
.profile-actions { display: flex; gap: 10px; }
.outline-link, .outline-button, .primary-button { height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--ink); background: transparent; font-size: 10px; font-weight: 750; }
.primary-button { color: white; background: var(--forest); border-color: var(--forest); }
.profile-summary { min-height: 80px; display: grid; grid-template-columns: 190px 190px 1fr; align-items: center; border-top: 1px solid var(--line); }
.profile-summary div { border-right: 1px solid var(--line); }
.profile-summary strong { margin-right: 7px; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.profile-summary span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.profile-summary p { justify-self: end; max-width: 440px; margin: 0; color: var(--muted); font-size: 9px; }
.record-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.record-groups > article { border-top: 2px solid var(--ink); }
.record-groups article > header { padding: 20px 0; display: flex; justify-content: space-between; align-items: flex-end; }
.record-groups header span, .record-groups header small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.record-groups h3 { margin: 4px 0 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.position-row { min-height: 145px; padding: 18px 0; display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; border-top: 1px solid var(--line); }
.position-row > p { margin: 0; font-family: var(--serif); font-size: 16px; }
.position-row > span:not(.stance) { color: var(--muted); font-size: 10px; }
.position-row > .text-button, .position-row > small { justify-self: end; align-self: end; }
.position-row > small { color: var(--muted); font-size: 8px; }
.activity-section { color: white; background: var(--forest); }
.activity-list { border-top: 1px solid rgba(255,255,255,.35); }
.activity-list article { min-height: 125px; display: grid; grid-template-columns: 120px 40px 1fr 120px; gap: 20px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.15); }
.activity-list time { color: #9bb0a7; font-size: 9px; }
.activity-list article > div > span { color: #8ea49b; font-size: 8px; text-transform: uppercase; }
.activity-list h3 { margin: 3px 0; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.activity-list p { margin: 0; color: #b5c5be; font-size: 10px; }
.activity-list article > a { color: #c7d7d0; font-size: 9px; border-bottom: 1px solid currentColor; }
.empty-dark { padding: 50px; border: 1px solid rgba(255,255,255,.2); color: #aabdb5; text-align: center; }

.bill-grid-large { grid-template-columns: repeat(3, 1fr); }
.bill-grid-large .bill-card { min-height: 390px; }
.bill-hero { background: var(--paper-light); border-bottom: 1px solid var(--line); }
.bill-title { min-height: 390px; padding: 55px 0; display: flex; align-items: center; justify-content: space-between; }
.bill-kicker { margin: 38px 0 5px; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .1em; }
.bill-title h1 { display: inline; margin-right: 20px; color: var(--blue); font-family: var(--serif); font-size: clamp(62px, 7vw, 100px); font-weight: 400; letter-spacing: -.05em; }
.bill-title h2 { display: inline; font-family: var(--serif); font-size: clamp(33px, 4vw, 55px); font-weight: 400; }
.bill-summary { min-height: 160px; display: grid; grid-template-columns: 2fr 1fr; border-top: 1px solid var(--line); }
.bill-summary > div { padding: 28px 40px 28px 0; }
.bill-summary > div + div { padding-left: 40px; border-left: 1px solid var(--line); }
.bill-summary span, .rail-label { display: block; margin-bottom: 10px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.bill-summary p { margin: 0; font-family: var(--serif); font-size: 17px; line-height: 1.55; }
.bill-summary > div + div p { color: var(--muted); font-family: var(--sans); font-size: 11px; }
.bill-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 90px; }
.bill-progress { padding-left: 13px; border-left: 1px solid var(--line); }
.bill-progress article { position: relative; min-height: 120px; padding: 0 0 32px 38px; display: grid; grid-template-columns: 120px 1fr; gap: 20px; }
.bill-progress article > i { position: absolute; left: -19px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--line); }
.bill-progress article.done > i { background: var(--blue); border-color: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }
.bill-progress time { color: var(--muted); font-size: 9px; }
.bill-progress span { font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.bill-progress p { margin-top: 7px; color: var(--muted); font-size: 11px; }
.compact-head { margin-top: 65px; }
.linked-people { border-top: 1px solid var(--ink); }
.linked-people > a { padding: 15px 0; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); }
.linked-people a > span:nth-child(2) { flex: 1; }
.linked-people strong, .linked-people small { display: block; }
.linked-people strong { font-family: var(--serif); font-weight: 400; }
.linked-people small { color: var(--muted); font-size: 9px; }
.linked-people b { color: var(--blue); }
.empty-state { padding: 30px; color: var(--muted); border: 1px solid var(--line); font-size: 11px; }
.source-rail { align-self: start; padding: 28px; background: var(--paper-deep); border-top: 3px solid var(--ink); }
.source-rail > a { display: block; padding: 18px 0; border-top: 1px solid var(--line); }
.source-rail > a small { color: var(--blue); font-size: 8px; text-transform: uppercase; }
.source-rail > a strong { display: block; margin: 4px 0; font-family: var(--serif); font-size: 17px; font-weight: 400; }
.source-rail > a p { margin: 0 0 8px; color: var(--muted); font-size: 9px; }
.source-rail > a span { font-size: 8px; font-weight: 750; border-bottom: 1px solid currentColor; }
.review-stamp { margin-top: 20px; padding: 17px; color: white; background: var(--forest); }
.review-stamp span, .review-stamp p { color: #aac0b7; font-size: 8px; }
.review-stamp strong { display: block; font-family: var(--serif); font-size: 18px; font-weight: 400; }
.review-stamp p { margin: 2px 0 0; }

.compare-controls { margin-top: 55px; padding: 22px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; color: white; background: var(--forest); }
.compare-controls label span { display: block; margin-bottom: 7px; color: #aabdb5; font-size: 8px; letter-spacing: .1em; }
.compare-controls select { width: 100%; height: 45px; padding: 0 32px 0 12px; border: 1px solid #587268; border-radius: 0; color: white; background: #224b3f; }
.compare-toolbar { padding-top: 12px; display: flex; justify-content: flex-end; }
.comparison-grid { display: grid; grid-template-columns: minmax(210px, .8fr) repeat(var(--compare-count), minmax(220px, 1fr)); border-top: 2px solid var(--ink); border-left: 1px solid var(--line); }
.mobile-scroll-hint { display: none; }
.comparison-grid > div { min-height: 145px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.comparison-corner, .comparison-person { min-height: 110px !important; background: var(--paper-deep); }
.comparison-corner span { display: block; color: var(--muted); font-size: 8px; }
.comparison-corner strong { display: block; margin-top: 20px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.comparison-person { display: flex; align-items: center; gap: 12px; }
.comparison-person strong, .comparison-person small { display: block; }
.comparison-person strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.comparison-person small { color: var(--muted); font-size: 8px; }
.comparison-question { position: relative; display: flex; justify-content: space-between; gap: 15px; font-family: var(--serif); font-size: 16px; }
.comparison-question strong { font-weight: 400; }
.info-dot { flex: 0 0 auto; width: 20px; height: 20px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: transparent; cursor: pointer; font-family: var(--serif); font-style: italic; }
.comparison-answer { background: var(--paper-light); }
.comparison-answer p { margin: 17px 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.compare-caveat { margin-top: 25px; padding: 20px; display: flex; gap: 35px; border-left: 3px solid var(--blue); background: var(--blue-soft); }
.compare-caveat strong { flex: 0 0 auto; font-size: 10px; }
.compare-caveat p { margin: 0; color: #4d566d; font-size: 10px; }

.method-principles { border-top: 2px solid var(--ink); }
.method-principles article { min-height: 150px; display: grid; grid-template-columns: 80px 1fr 1fr; gap: 50px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--line); }
.method-principles article > span { color: var(--muted); font-size: 9px; }
.method-principles h2 { margin: 0; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.method-principles p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.grade-section { color: white; background: var(--navy); }
.grade-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.24); }
.grade-grid article { min-height: 270px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); }
.grade-grid article:last-child { border-right: 0; }
.grade-grid article > b { display: grid; place-items: center; width: 53px; height: 53px; margin-bottom: 55px; color: var(--navy); background: #d7bd72; border-radius: 50%; font-family: var(--serif); font-size: 24px; }
.grade-grid h3 { font-family: var(--serif); font-size: 19px; font-weight: 400; }
.grade-grid p { color: #aebcd0; font-size: 10px; line-height: 1.6; }
.limitations { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.limitations h2 { font-family: var(--serif); font-size: 52px; font-weight: 400; }
.limitations ul { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.limitations li { padding: 18px 0 18px 30px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; position: relative; }
.limitations li::before { content: "—"; position: absolute; left: 0; color: var(--blue); }

.release-summary { padding-bottom: 85px; }
.release-stamp { padding: 25px 30px; display: grid; grid-template-columns: 180px 210px 1fr; gap: 30px; align-items: center; color: white; background: var(--forest); }
.release-stamp > span { color: #a8bdb4; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.release-stamp > strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.release-stamp > p { margin: 0; color: #bed0c8; font-size: 10px; }
.release-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.release-metrics > div { padding: 30px; border-right: 1px solid var(--line); }
.release-metrics strong, .release-metrics span { display: block; }
.release-metrics strong { font-family: var(--serif); font-size: 34px; font-weight: 400; }
.release-metrics span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.coverage-meter { height: 12px; margin-top: 35px; background: var(--paper-deep); border: 1px solid var(--line); }
.coverage-meter i { display: block; height: 100%; background: var(--blue); }
.coverage-explainer { max-width: 880px; margin: 17px 0 0; color: var(--muted); font-size: 10px; }
.coverage-explainer b { color: var(--ink); }
.review-ledger { color: white; background: var(--navy); }
.change-list { border-top: 1px solid rgba(255,255,255,.3); }
.change-list article { min-height: 85px; display: grid; grid-template-columns: 55px 1fr 100px; gap: 25px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.15); }
.change-list span { color: #778aa3; font-size: 9px; }
.change-list p { margin: 0; font-family: var(--serif); font-size: 17px; }
.change-list b { justify-self: end; color: #80d6b4; font-size: 8px; letter-spacing: .08em; }
.check-receipt { margin-top: 45px; padding: 22px 0; display: grid; grid-template-columns: 230px 1fr; gap: 30px; border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.check-receipt > span { color: #899bb2; font-size: 8px; letter-spacing: .1em; }
.check-receipt > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.check-receipt p { margin: 0; color: #aebcd0; font-size: 9px; text-transform: uppercase; }
.check-receipt b { display: block; margin-bottom: 3px; color: white; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.empty-ledger { min-height: 150px; padding: 30px; display: flex; gap: 25px; align-items: center; border: 1px solid var(--line); background: var(--paper-light); }
.empty-ledger > span { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid var(--line); border-radius: 50%; color: var(--green); font-family: var(--serif); font-size: 28px; }
.empty-ledger strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.empty-ledger p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.source-registry { background: var(--paper-deep); }
.registry-actions { max-width: 450px; }
.registry-actions p { margin-bottom: 12px; color: var(--muted); font-size: 10px; }
.registry-actions a { display: inline-block; margin-right: 16px; color: var(--blue); border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; }
.registry-table { border-top: 2px solid var(--ink); }
.registry-head, .registry-table > a { display: grid; grid-template-columns: minmax(0, 1.8fr) .7fr 130px 25px; gap: 25px; align-items: center; }
.registry-head { min-height: 38px; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.registry-table > a { min-height: 80px; border-top: 1px solid var(--line); }
.registry-table strong, .registry-table small { display: block; }
.registry-table strong { font-family: var(--serif); font-size: 16px; font-weight: 400; }
.registry-table small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.registry-table > a > span, .registry-table time { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.registry-table > a > b { color: var(--blue); font-size: 18px; }

.research-table { border-top: 2px solid var(--ink); }
.research-table > a { min-height: 120px; display: grid; grid-template-columns: 55px 250px 1fr 30px; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); }
.research-table > a > span, .research-table small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.research-table h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.research-table p { margin: 0; color: var(--muted); font-size: 11px; }
.research-table b { color: var(--blue); font-size: 20px; }
.gap-block { padding: 100px 0; color: white; background: var(--forest); }
.gap-block .shell > span { color: #a6bbb1; font-size: 9px; letter-spacing: .1em; }
.gap-block h2 { margin: 25px 0 55px; font-family: var(--serif); font-size: clamp(45px, 5vw, 75px); font-weight: 400; line-height: 1; }
.gap-block .shell > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; border-top: 1px solid rgba(255,255,255,.3); padding-top: 30px; }
.gap-block p { color: #b2c4bc; font-size: 11px; }
.gap-block p b { display: block; margin-bottom: 8px; color: white; font-family: var(--serif); font-size: 18px; font-weight: 400; }

.design-stack { display: grid; gap: 70px; }
.design-card { margin: 0; display: grid; grid-template-columns: 270px 1fr; gap: 35px; align-items: start; position: relative; }
.design-card > div { position: sticky; top: 115px; }
.design-card > div span { color: var(--blue); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.design-card h2 { margin: 12px 0; font-family: var(--serif); font-size: 30px; font-weight: 400; }
.design-card p { color: var(--muted); font-size: 11px; }
.design-card img { width: 100%; min-height: 340px; object-fit: cover; background: var(--paper-deep); border: 1px solid var(--line); box-shadow: 0 25px 60px rgba(17,23,19,.09); }
.design-card.selected img { border: 3px solid var(--blue); }
.design-card figcaption { position: absolute; right: 10px; bottom: 8px; padding: 4px 7px; color: white; background: rgba(17,23,19,.8); font-size: 7px; text-transform: uppercase; }
.design-card.image-unavailable img { display: none; }
.design-card.image-unavailable::after { content: "Visual reference unavailable. The implemented interface above remains fully functional."; min-height: 220px; display: grid; place-items: center; padding: 30px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }

.lookup-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.lookup-primary, .lookup-manual { padding: clamp(28px, 4vw, 56px); background: var(--paper-light); }
.lookup-step { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.lookup-layout h2 { margin: 11px 0 14px; font-family: var(--serif); font-size: clamp(28px, 3vw, 43px); font-weight: 400; }
.lookup-layout p { max-width: 720px; color: var(--muted); font-size: 12px; line-height: 1.75; }
#address-lookup-form { margin: 32px 0 15px; }
#address-lookup-form > label { display: block; margin-bottom: 8px; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#address-lookup-form > div { display: flex; }
#address-lookup-form input { min-width: 0; flex: 1; height: 54px; padding: 0 16px; color: var(--ink); background: white; border: 1px solid var(--ink); border-right: 0; font: inherit; }
#address-lookup-form button, .lookup-manual > button, .correction-workflow form button { min-height: 48px; padding: 0 22px; color: white; background: var(--blue); border: 1px solid var(--blue); cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
#address-lookup-form button { min-height: 54px; }
#address-lookup-form button:disabled, .lookup-manual > button:disabled { cursor: wait; opacity: .5; }
.lookup-status { min-height: 22px; margin: 0 !important; color: var(--ink) !important; font-weight: 700; }
.address-lookup-unavailable { margin-top: 24px !important; padding: 18px; color: var(--ink) !important; background: var(--paper-deep); border: 1px solid var(--line); font-weight: 700; }
.lookup-primary > small { display: block; margin-top: 15px; color: var(--muted); line-height: 1.6; }
.lookup-manual label { display: block; margin-top: 22px; }
.lookup-manual label span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.lookup-manual select { width: 100%; height: 46px; padding: 0 12px; color: var(--ink); background: white; border: 1px solid var(--line); }
.lookup-manual > button { width: 100%; margin-top: 22px; }
.lookup-results { padding-top: 72px; scroll-margin-top: 110px; outline: 0; }
.lookup-results:empty { padding-top: 0; }
.lookup-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.lookup-people article { min-height: 250px; padding: 28px; display: flex; flex-direction: column; gap: 22px; background: var(--paper-light); }
.lookup-people small { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lookup-people h3 { margin: 7px 0; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.lookup-people p { min-height: 42px; color: var(--muted); font-size: 11px; }
.lookup-people div > a:last-child { color: var(--blue); font-size: 9px; font-weight: 800; }
.lookup-privacy { margin-top: 70px; margin-bottom: 90px; padding: 28px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--paper-deep); border: 1px solid var(--line); }
.lookup-privacy strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.lookup-privacy p { max-width: 800px; margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.lookup-privacy a { flex-shrink: 0; color: var(--blue); font-size: 9px; font-weight: 800; }

.policy-page { max-width: 980px; }
.policy-page article { padding: 35px 0; display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 60px; border-top: 1px solid var(--line); }
.policy-page article:last-child { border-bottom: 1px solid var(--line); }
.policy-page h2 { margin: 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.policy-page p, .policy-page li { color: var(--muted); font-size: 13px; line-height: 1.8; }
.policy-page p { margin-top: 0; }
.policy-page ul { margin: 0; padding-left: 20px; }
.policy-page .arrow-link { color: var(--blue); }

.correction-workflow { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }
.correction-workflow > div:first-child > span, .correction-steps article > span { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.correction-workflow h2 { margin: 10px 0; font-family: var(--serif); font-size: 36px; font-weight: 400; }
.correction-workflow > div > p, .correction-steps p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.correction-workflow form { padding: 35px; background: var(--paper-light); border: 1px solid var(--line); }
.correction-workflow form label { display: block; margin-bottom: 22px; }
.correction-workflow form label span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.correction-workflow input, .correction-workflow textarea { width: 100%; padding: 12px; color: var(--ink); background: white; border: 1px solid var(--line); font: inherit; }
.correction-workflow textarea { resize: vertical; }
.correction-workflow form p { margin: 14px 0 0; color: var(--muted); font-size: 10px; }
.correction-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 10px; background: var(--line); border: 1px solid var(--line); }
.correction-steps article { padding: 28px; background: var(--paper-light); }
.correction-steps h3 { margin: 10px 0; font-family: var(--serif); font-size: 22px; font-weight: 400; }

.not-found { min-height: 650px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.not-found > span { color: var(--blue); font-size: 10px; font-weight: 800; }
.not-found h1 { max-width: 800px; margin: 20px 0; font-family: var(--serif); font-size: 60px; font-weight: 400; line-height: 1; }
.not-found p { color: var(--muted); }
.not-found > div { display: flex; gap: 10px; }

dialog { max-height: calc(100vh - 40px); color: var(--ink); background: var(--paper-light); border: 1px solid var(--ink); box-shadow: 0 35px 100px rgba(0,0,0,.28); }
dialog::backdrop { background: rgba(10,17,13,.62); backdrop-filter: blur(3px); }
.search-dialog { width: min(760px, calc(100vw - 30px)); padding: 0; overflow: hidden; }
.panel-dialog { width: min(650px, calc(100vw - 30px)); padding: 0; overflow-y: auto; }
.dialog-head { min-height: 90px; padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.dialog-head span { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.dialog-head h2 { margin: 4px 0 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.dialog-head button { width: 36px; height: 36px; padding: 0; background: transparent; border: 1px solid var(--line); cursor: pointer; font-size: 25px; line-height: 1; }
.dialog-search { height: 70px; margin: 20px 25px 0; padding: 0 15px; display: flex; align-items: center; gap: 12px; background: white; border: 1px solid var(--ink); }
.dialog-search svg { width: 21px; }
.dialog-search input { flex: 1; height: 100%; min-width: 0; border: 0; outline: 0; font-family: var(--serif); font-size: 19px; }
.dialog-search kbd { color: var(--muted); font-size: 8px; }
.search-results { min-height: 240px; padding: 20px 25px 30px; }
.search-empty > span, .result-count { display: block; margin-bottom: 10px; color: var(--muted); font-size: 8px; letter-spacing: .1em; }
.search-empty > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.search-empty a { padding: 16px; display: flex; justify-content: space-between; background: var(--paper-light); font-family: var(--serif); }
.search-empty a b { color: var(--muted); font-family: var(--sans); font-size: 7px; text-transform: uppercase; }
.search-result { min-height: 65px; display: grid; grid-template-columns: 55px 1fr 20px; gap: 15px; align-items: center; border-top: 1px solid var(--line); }
.search-result > span { color: var(--blue); font-size: 8px; text-transform: uppercase; }
.search-result strong, .search-result small { display: block; }
.search-result strong { font-family: var(--serif); font-size: 16px; font-weight: 400; }
.search-result small { color: var(--muted); font-size: 8px; }
.search-result > b { color: var(--blue); }
.search-result:focus { position: relative; z-index: 1; background: var(--blue-soft); outline-offset: -2px; }
.search-key-help { margin: 15px 0 0; color: var(--muted); font-size: 8px; text-align: right; text-transform: uppercase; letter-spacing: .05em; }
.search-key-help kbd { margin: 0 2px; padding: 2px 5px; background: var(--paper-deep); border: 1px solid var(--line); border-radius: 2px; font-family: inherit; }
.search-none { padding: 55px 20px; color: var(--muted); text-align: center; }
.search-none strong { display: block; color: var(--ink); font-family: var(--serif); font-size: 20px; font-weight: 400; }
.search-none p { margin: 8px auto; max-width: 410px; font-size: 10px; }
#evidence-content, #watch-content { padding: 28px; }
.evidence-grade { padding: 18px; display: flex; align-items: center; gap: 15px; color: white; background: var(--forest); }
.evidence-grade > strong { display: grid; place-items: center; width: 50px; height: 50px; color: var(--forest); background: #d7bd72; border-radius: 50%; font-family: var(--serif); font-size: 25px; }
.evidence-grade span { color: #a8beb4; font-size: 8px; }
.evidence-grade p { margin: 3px 0 0; font-family: var(--serif); font-size: 16px; }
.evidence-meta { margin: 25px 0; border-top: 1px solid var(--line); }
.evidence-meta > div { min-height: 44px; display: grid; grid-template-columns: 110px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.evidence-meta dt { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.evidence-meta dd { margin: 0; font-size: 11px; }
.evidence-meta a { color: var(--blue); border-bottom: 1px solid currentColor; }
.evidence-detail { padding: 22px; background: var(--paper-deep); }
.evidence-detail span { color: var(--muted); font-size: 8px; font-weight: 800; }
.evidence-detail p { margin: 10px 0 0; font-family: var(--serif); font-size: 17px; line-height: 1.55; }
.source-out { margin-top: 18px; padding: 18px; display: block; border: 1px solid var(--line); }
.source-out span, .source-out strong, .source-out small { display: block; }
.source-out span { color: var(--blue); font-size: 8px; text-transform: uppercase; }
.source-out strong { margin: 5px 0; font-family: var(--serif); font-size: 17px; font-weight: 400; }
.source-out small { color: var(--muted); font-size: 8px; }
.dialog-caution { margin: 20px 0 0; color: var(--muted); font-size: 9px; }
.watch-list > div { display: flex; align-items: center; border-bottom: 1px solid var(--line); }
.watch-list a { flex: 1; padding: 14px 0; }
.watch-list span, .watch-list strong { display: block; }
.watch-list span { color: var(--blue); font-size: 7px; text-transform: uppercase; }
.watch-list strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.watch-list button { width: 30px; height: 30px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.watch-actions { padding-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.watch-actions a, .watch-actions button { min-height: 38px; display: inline-flex; align-items: center; padding: 0 12px; color: var(--blue); background: transparent; border: 1px solid currentColor; cursor: pointer; font-size: 9px; font-weight: 800; }
.watch-actions button:last-child { color: var(--red); }
.watch-note { margin: 20px 0 0; color: var(--muted); font-size: 9px; }
.watch-empty { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.watch-empty svg { width: 35px; margin-bottom: 18px; color: var(--muted); }
.watch-empty strong { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.watch-empty p { max-width: 340px; color: var(--muted); font-size: 10px; }
.toast { position: fixed; z-index: 300; left: 50%; bottom: 25px; max-width: min(550px, calc(100vw - 30px)); padding: 13px 18px; color: white; background: var(--ink); box-shadow: 0 10px 35px rgba(0,0,0,.2); font-size: 11px; transform: translate(-50%, 150%); opacity: 0; transition: transform .25s, opacity .25s; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }

.site-footer { min-height: 300px; padding: 58px max(3.3vw, calc((100vw - 1380px)/2)); display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 60px; color: #d8e2dd; background: #0e211b; }
.footer-brand strong { font-size: 22px; letter-spacing: .14em; }
.footer-brand p { color: #8da49a; font-family: var(--serif); font-size: 18px; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.footer-links span, .footer-links a { display: block; }
.footer-links span { margin-bottom: 13px; color: #80998e; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.footer-links a { padding: 3px 0; font-size: 11px; }
.footer-note { color: #80998e; font-size: 9px; }

@media (max-width: 1100px) {
  :root { --shell: min(100% - 48px, 1000px); }
  .desktop-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .menu-button { display: block; }
  .home-hero { grid-template-columns: 1.35fr .65fr; }
  .hero-main { padding: 60px 6%; }
  .hero-manifesto { padding: 45px 25px; }
  .hero-manifesto dl { left: 25px; right: 25px; }
  .hero-manifesto blockquote { margin-top: 90px; }
  .bill-grid { grid-template-columns: repeat(2, 1fr); }
  .people-grid { grid-template-columns: repeat(3, 1fr); }
  .dimension-records { grid-template-columns: repeat(2, 1fr); }
  .bill-detail-grid { gap: 45px; grid-template-columns: 1fr 300px; }
  .compare-controls { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  :root { --shell: calc(100% - 28px); }
  .freshness-strip { height: 40px; padding: 0 14px; line-height: 1.2; }
  .freshness-wide { display: none !important; }
  .site-header { height: 62px; padding: 0 14px; }
  .search-trigger span, .search-trigger kbd, .watch-trigger span { display: none; }
  .mobile-menu { inset: 102px 0 0; }
  .section-space { padding-top: 72px; padding-bottom: 72px; }
  .compact-top { padding-top: 32px; }
  .home-hero { width: 100%; min-height: 0; grid-template-columns: 1fr; border: 0; }
  .hero-main { min-height: 570px; padding: 55px 18px; }
  .hero-main h1 { font-size: clamp(65px, 21vw, 92px); }
  .hero-main > p { font-size: 17px; }
  .hero-search { min-height: 58px; padding: 0 13px; }
  .hero-search span { font-size: 13px; }
  .hero-manifesto { min-height: 460px; padding: 35px 24px; }
  .hero-manifesto blockquote { margin-top: 80px; font-size: 32px; }
  .hero-manifesto dl { left: 24px; right: 24px; }
  .principle-line div { gap: 30px; animation: ticker 25s linear infinite; }
  .coverage-disclosure { padding: 22px 0; grid-template-columns: 95px 1fr; gap: 14px; }
  .coverage-disclosure > p { font-size: 9px; }
  .coverage-disclosure > a { grid-column: 2; justify-self: start; }
  @keyframes ticker { to { transform: translateX(-40%); } }
  .section-head { align-items: flex-start; flex-direction: column; gap: 20px; margin-bottom: 34px; }
  .section-head h2 { font-size: 43px; }
  .position-table-wrap { margin-right: 0; overflow: visible; border-top: 0; border-bottom: 0; }
  .position-table { min-width: 0; display: block; }
  .position-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .position-table tbody { display: grid; gap: 12px; }
  .position-table tr { display: block; padding: 18px; background: var(--paper-light); border: 1px solid var(--line); }
  .position-table td, .position-table td:first-child, .position-table td:last-child { width: 100%; height: auto; padding: 10px 0; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; align-items: start; border: 0; border-bottom: 1px solid var(--line); text-align: left; }
  .position-table td:last-child { padding-bottom: 0; border-bottom: 0; }
  .position-table td::before { content: attr(data-label); padding-top: 3px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .position-table td > * { grid-column: 2; }
  .position-table .text-button { justify-self: start; }
  .evidence-timeline article { padding: 22px 0; grid-template-columns: 35px 1fr 34px; gap: 12px; }
  .evidence-timeline time { grid-column: 2; grid-row: 1; }
  .evidence-timeline article > div { grid-column: 2; }
  .evidence-timeline .grade { grid-column: 3; grid-row: 1; }
  .evidence-timeline .text-button { grid-column: 2; justify-self: start; }
  .bill-grid, .bill-grid-large { grid-template-columns: 1fr; }
  .bill-card { min-height: 330px; }
  .trust-block { grid-template-columns: 35px 1fr; gap: 20px; }
  .trust-block > div:last-child { grid-column: 2; }
  .page-intro { padding-top: 62px; padding-bottom: 55px; align-items: flex-start; flex-direction: column; gap: 35px; }
  .page-intro h1 { font-size: 56px; }
  .page-intro .lede { font-size: 17px; }
  .intro-note { width: 100%; flex-basis: auto; }
  .stat-band { grid-template-columns: repeat(2, 1fr); }
  .stat-band div:nth-child(even) { border-right: 0; }
  .stat-band div:not(:last-child) { border-bottom: 1px solid var(--line); }
  .stat-band div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .directory-tools { margin-top: 38px; padding: 22px; grid-template-columns: 1fr; gap: 22px; }
  .directory-fields { grid-template-columns: 1fr; }
  .filter-status { grid-column: 1; }
  .directory-empty { margin-bottom: 70px; padding: 30px 18px; }
  .issue-grid { grid-template-columns: 1fr; }
  .issue-grid > .issue-card:first-child:nth-last-child(3) { grid-column: auto; }
  .issue-card { min-height: 390px; padding: 28px; }
  .issue-card h2 { font-size: 47px; }
  .editorial-note { grid-template-columns: 1fr; gap: 18px; }
  .editorial-note a { justify-self: start; }
  .issue-title { min-height: 430px; align-items: flex-start; flex-direction: column; justify-content: center; }
  .issue-title > div { width: 100%; min-width: 0; }
  .issue-title h1 { max-width: 100%; font-size: clamp(50px, 16vw, 77px); overflow-wrap: anywhere; }
  .hero-actions { width: 100%; align-items: flex-start; }
  .record-utilities { flex-wrap: wrap; }
  .issue-metrics { grid-template-columns: repeat(2, 1fr); }
  .issue-metrics div { padding-left: 0 !important; }
  .issue-metrics div:nth-child(2) { border-right: 0; padding-left: 20px !important; }
  .issue-metrics div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.15); }
  .issue-metrics div:nth-child(4) { padding-left: 20px !important; }
  .dimension-card > header { grid-template-columns: 35px 1fr; }
  .dimension-records { padding-left: 35px; grid-template-columns: 1fr; }
  .issue-head-actions { width: 100%; align-items: stretch; }
  .record-filter { width: 100%; }
  .record-filter button { flex: 1; }
  .issue-head-actions .arrow-link { align-self: flex-start; }
  .dimension-stack.show-clear-only .dimension-records { grid-template-columns: 1fr; }
  .fact-grid { grid-template-columns: 1fr; }
  .fact-grid article { min-height: 230px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .fact-grid article > p { min-height: 0; }
  .people-grid, .people-section:first-of-type .people-grid { grid-template-columns: 1fr; }
  .person-card { min-height: 355px; }
  .profile-title { min-height: 430px; padding: 45px 0; grid-template-columns: auto 1fr; gap: 18px; }
  .avatar-xl { width: 80px; height: 80px; font-size: 25px; }
  .profile-title h1 { font-size: 52px; }
  .profile-actions { grid-column: 1 / -1; flex-wrap: wrap; }
  .profile-actions .record-utilities { width: 100%; margin-left: 0; }
  .profile-summary { grid-template-columns: repeat(2, 1fr); }
  .profile-summary div { padding: 15px 0; }
  .profile-summary p { grid-column: 1 / -1; padding: 15px 0; border-top: 1px solid var(--line); }
  .record-groups { grid-template-columns: 1fr; }
  .activity-list article { padding: 22px 0; grid-template-columns: 85px 35px 1fr; }
  .activity-list article > a { grid-column: 3; justify-self: start; }
  .bill-title { min-height: 400px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 35px; }
  .bill-title h1, .bill-title h2 { display: block; }
  .bill-title h2 { margin-top: 5px; }
  .bill-summary { grid-template-columns: 1fr; }
  .bill-summary > div { padding: 25px 0; }
  .bill-summary > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .bill-detail-grid { grid-template-columns: 1fr; gap: 55px; }
  .source-rail { grid-row: 1; }
  .bill-progress article { grid-template-columns: 80px 1fr; padding-left: 25px; }
  .compare-controls { width: 100%; margin-top: 35px; grid-template-columns: 1fr; }
  .mobile-scroll-hint { margin: 0 0 10px; display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 8px; text-align: center; text-transform: uppercase; letter-spacing: .05em; }
  .mobile-scroll-hint span { color: var(--blue); font-size: 13px; }
  .comparison-grid { overflow-x: auto; grid-template-columns: 165px repeat(var(--compare-count), 210px); scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
  .comparison-grid > .comparison-corner, .comparison-grid > .comparison-question { position: sticky; left: 0; z-index: 2; box-shadow: 6px 0 12px rgba(17,23,19,.05); }
  .comparison-grid > .comparison-question { background: var(--paper); }
  .comparison-person, .comparison-answer { scroll-snap-align: start; }
  .method-principles article { grid-template-columns: 35px 1fr; gap: 15px; }
  .method-principles p { grid-column: 2; }
  .grade-grid { grid-template-columns: 1fr; }
  .grade-grid article { min-height: 200px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .grade-grid article > b { margin-bottom: 30px; }
  .limitations { grid-template-columns: 1fr; gap: 30px; }
  .release-stamp { padding: 22px; grid-template-columns: 1fr; gap: 8px; }
  .release-metrics { grid-template-columns: repeat(2, 1fr); }
  .release-metrics > div { padding: 22px; }
  .release-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .change-list article { padding: 20px 0; grid-template-columns: 30px 1fr; gap: 12px; }
  .change-list article b { grid-column: 2; justify-self: start; }
  .check-receipt { grid-template-columns: 1fr; }
  .check-receipt > div { grid-template-columns: repeat(2, 1fr); }
  .registry-head { display: none; }
  .registry-actions { max-width: none; }
  .registry-table > a { padding: 18px 0; grid-template-columns: 1fr 25px; gap: 8px 15px; }
  .registry-table > a > span, .registry-table time { grid-column: 1; }
  .registry-table > a > b { grid-column: 2; grid-row: 1; }
  .research-table > a { padding: 20px 0; grid-template-columns: 30px 1fr 20px; gap: 15px; }
  .research-table p { grid-column: 2; }
  .research-table b { grid-column: 3; grid-row: 1; }
  .gap-block .shell > div { grid-template-columns: repeat(2, 1fr); }
  .design-card { grid-template-columns: 1fr; gap: 15px; }
  .design-card > div { position: static; }
  .design-card img { min-height: 180px; }
  .lookup-layout { grid-template-columns: 1fr; }
  .lookup-primary, .lookup-manual { padding: 28px 20px; }
  #address-lookup-form > div { display: grid; }
  #address-lookup-form input { border-right: 1px solid var(--ink); }
  #address-lookup-form button { width: 100%; }
  .lookup-people { grid-template-columns: 1fr; }
  .lookup-privacy { align-items: flex-start; flex-direction: column; }
  .policy-page article { grid-template-columns: 1fr; gap: 15px; }
  .correction-workflow { grid-template-columns: 1fr; gap: 30px; }
  .correction-workflow form { padding: 24px 18px; }
  .correction-steps { grid-column: 1; grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; gap: 35px; padding: 50px 20px; }
  .search-empty > div { grid-template-columns: 1fr; }
  .dialog-head { padding: 18px; }
  .dialog-search { margin: 15px 15px 0; }
  .search-results, #evidence-content, #watch-content { padding: 18px 15px 25px; }
  .evidence-meta > div { grid-template-columns: 90px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media print {
  .freshness-strip, .site-header, .site-footer, dialog, .toast, .save-record { display: none !important; }
  :root { --shell: 100%; }
  body { background: white; }
  a { text-decoration: underline; }
  .section-space { padding: 35px 0; }
}

/* Recordkind product layer */
.freshness-strip { background: #123f35; color: #f6eeda; }
.site-header { background: rgba(255,250,241,.94); box-shadow: 0 10px 30px rgba(47,37,24,.04); }
.brand { position: relative; font-family: var(--serif); font-size: 16px; letter-spacing: .12em; }
.brand::after { content: ""; position: absolute; left: 40px; right: 0; bottom: -5px; height: 3px; background: var(--coral); border-radius: 50%; transform: rotate(-1deg); }
.brand svg { width: 30px; height: 30px; color: var(--forest); }
.desktop-nav a { font-size: 12px; }
.desktop-nav a::after { height: 3px; background: var(--coral); border-radius: 5px 5px 0 0; }
.site-footer { background: #102f2a; }
.footer-brand p { color: #d9cdbb; }
.footer-brand strong { font-family: var(--serif); }
.arrow-link { color: var(--forest); }

.record-label { display: flex; align-items: center; gap: 10px; margin: 0 0 19px; color: #6d6d64; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.record-label span { padding: 5px 8px 4px; color: var(--paper-light); background: var(--forest); border-radius: 2px; }
.record-label.inverse { color: #b9d0c7; }
.record-label.inverse span { color: var(--forest); background: #f4e2ae; }
.record-button { width: max-content; min-height: 44px; display: inline-flex; align-items: center; gap: 28px; padding: 0 17px; color: white; background: var(--forest); border: 1px solid var(--forest); border-radius: 6px; font-size: 11px; font-weight: 800; }
.record-button.light { color: var(--forest); background: #fffaf1; border-color: #fffaf1; }

.rk-hero { min-height: 670px; padding: 70px 0 62px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(370px, .7fr); gap: clamp(42px, 7vw, 110px); align-items: center; }
.rk-hero-copy h1 { max-width: 880px; margin-bottom: 25px; font-family: var(--serif); font-size: clamp(65px, 7vw, 112px); font-weight: 400; line-height: .88; letter-spacing: -.06em; }
.rk-hero-copy h1 em { position: relative; color: var(--forest); font-weight: 400; }
.rk-hero-copy h1 em::after { content: ""; position: absolute; left: 2%; right: 0; bottom: -7px; height: 6px; background: var(--coral); border-radius: 50%; transform: rotate(-1.3deg); opacity: .9; }
.rk-hero-copy > p:not(.record-label) { max-width: 680px; margin-bottom: 31px; color: #555d56; font-family: var(--serif); font-size: 21px; line-height: 1.55; }
.rk-hero .hero-search { width: min(720px, 100%); min-height: 64px; border: 1px solid #a89f91; border-radius: 10px; box-shadow: 0 12px 32px rgba(61,46,27,.08); }
.rk-hero .hero-search:after { content: "START HERE"; position: absolute; transform: translate(10px, 43px) rotate(-4deg); color: var(--coral); font-family: var(--serif); font-size: 9px; font-style: italic; letter-spacing: .08em; }
.rk-hero-actions { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 22px; font-size: 11px; font-weight: 800; }
.rk-hero-actions a { padding-bottom: 5px; border-bottom: 1px solid currentColor; }

.rk-hero-file { position: relative; min-height: 500px; padding: 65px 42px 34px; background: #ead8b9; border: 1px solid #c6b394; border-radius: 9px 9px 14px 14px; box-shadow: 0 22px 60px rgba(62,45,22,.15); transform: rotate(1deg); }
.rk-hero-file::before, .rk-hero-file::after { content: ""; position: absolute; z-index: -1; inset: 9px -8px -8px 9px; background: #f2e5ce; border: 1px solid #d0c0a8; border-radius: inherit; transform: rotate(-1.5deg); }
.rk-hero-file::after { inset: 17px -13px -14px 16px; z-index: -2; background: #f7ecda; transform: rotate(.8deg); }
.file-tabs { position: absolute; top: -34px; right: 18px; left: 35px; height: 35px; display: flex; align-items: flex-end; gap: 6px; }
.file-tabs span { min-width: 88px; padding: 10px 16px 8px; color: white; background: var(--forest); border-radius: 7px 7px 0 0; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.file-tabs span:nth-child(2) { background: var(--blue); }
.file-tabs span:nth-child(3) { background: #bd7d18; }
.file-kicker { margin-bottom: 26px; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.rk-hero-file blockquote { margin: 0 0 23px; font-family: var(--serif); font-size: clamp(31px, 3vw, 47px); line-height: 1.06; letter-spacing: -.035em; }
.rk-hero-file > p:not(.file-kicker) { max-width: 390px; color: #5c584f; font-size: 13px; line-height: 1.7; }
.file-stats { position: absolute; left: 42px; right: 42px; bottom: 35px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(20,36,33,.25); }
.file-stats div { padding: 18px 10px 0 0; }
.file-stats strong, .file-stats span { display: block; }
.file-stats strong { font-family: var(--serif); font-size: 22px; }
.file-stats span { color: #777065; font-size: 7px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.file-number { position: absolute; top: 18px; right: 25px; color: #827765; font-size: 9px; letter-spacing: .09em; }

.rk-desk-strip { color: #f8f1e5; background: var(--forest); }
.rk-desk-strip .shell { min-height: 98px; display: grid; grid-template-columns: 135px repeat(4, 1fr); align-items: stretch; }
.desk-stamp { align-self: center; width: max-content; padding: 7px 9px 5px; color: #f4e2ae; border: 1px solid #f4e2ae; border-radius: 2px; font-size: 8px; font-weight: 850; letter-spacing: .1em; transform: rotate(-2deg); }
.rk-desk-strip a { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 0 18px; border-left: 1px solid rgba(255,255,255,.16); }
.rk-desk-strip a b { font-family: var(--serif); font-size: 27px; font-weight: 400; }
.rk-desk-strip a span { color: #aac3b9; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; line-height: 1.45; }
.rk-desk-strip a i { color: #f0b136; font-style: normal; }

.rk-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.rk-section-heading h2 { margin-bottom: 9px; font-family: var(--serif); font-size: clamp(44px, 5vw, 75px); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.rk-section-heading > div > p:last-child { max-width: 690px; margin: 0; color: var(--muted); }
.rk-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rk-topic-card { --topic-color: var(--coral); position: relative; min-height: 360px; padding: 20px 23px 24px; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,250,241,.88); border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 9px 22px rgba(58,43,25,.055); transition: transform .18s ease, box-shadow .18s ease; overflow: hidden; }
.rk-topic-card::after { content: ""; position: absolute; width: 140px; height: 140px; right: -70px; bottom: -65px; background: color-mix(in srgb, var(--topic-color) 18%, transparent); border-radius: 50%; }
.rk-topic-card:hover { transform: translateY(-5px) rotate(-.25deg); box-shadow: 0 18px 35px rgba(58,43,25,.1); }
.rk-topic-card:nth-child(2n):hover { transform: translateY(-5px) rotate(.25deg); }
.topic-tone-blue { --topic-color: #356ed7; }
.topic-tone-coral { --topic-color: #ee634b; }
.topic-tone-gold { --topic-color: #d59b24; }
.topic-tone-green { --topic-color: #2d7b5d; }
.topic-tone-violet { --topic-color: #8a6bc2; }
.topic-tone-sky { --topic-color: #58a9d3; }
.topic-card-top { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.topic-card-top b { margin-left: auto; color: #a6a095; }
.topic-marker { width: 39px; height: 39px; display: grid; place-items: center; color: white; background: var(--topic-color); border-radius: 50% 50% 44% 56%; font-family: var(--serif); font-size: 13px; box-shadow: inset 0 0 0 4px rgba(255,255,255,.16); }
.topic-status { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 13px; color: #5e665f; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.topic-status i { width: 6px; height: 6px; background: var(--topic-color); border-radius: 50%; }
.rk-topic-card h3 { margin-bottom: 12px; font-family: var(--serif); font-size: clamp(30px, 3vw, 44px); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.rk-topic-card p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.topic-open { z-index: 1; width: max-content; display: flex; gap: 26px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--forest); font-size: 10px; font-weight: 800; }
.rk-curation-note { margin: 23px 0 0; display: flex; gap: 15px; color: var(--muted); font-size: 9px; }
.rk-curation-note span { flex: 0 0 auto; color: var(--forest); font-weight: 850; letter-spacing: .09em; }
.rk-live-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rk-live-card { min-height: 360px; padding: 22px; display: flex; flex-direction: column; background: #fffaf1; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 9px 22px rgba(58,43,25,.055); transition: transform .18s ease, box-shadow .18s ease; }
.rk-live-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(58,43,25,.1); }
.rk-live-rank { display: flex; align-items: center; gap: 10px; }
.rk-live-rank strong { color: var(--coral); font-family: var(--serif); font-size: 30px; font-weight: 400; }
.rk-live-rank span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-live-signal { width: max-content; margin: 22px 0 12px; display: flex; align-items: center; gap: 7px; color: var(--forest); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.rk-live-signal i { width: 7px; height: 7px; background: #f0a92f; border-radius: 50%; box-shadow: 0 0 0 4px #f8e8bf; }
.rk-live-card h3 { margin: 0 0 12px; font-family: var(--serif); font-size: clamp(31px, 3vw, 44px); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.rk-live-card > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.rk-live-measures { margin-top: auto; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 6px; }
.rk-live-measures span { padding: 5px 7px; color: #5c625d; background: #efe7da; border-radius: 2px; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.rk-attention { height: 4px; margin-top: 14px; background: #e9dfd0; border-radius: 4px; overflow: hidden; }
.rk-attention span { height: 100%; display: block; background: linear-gradient(90deg, var(--gold), var(--coral)); border-radius: inherit; }
.rk-live-card footer { padding-top: 10px; display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 8px; }
.rk-live-card footer a { color: var(--forest); font-weight: 850; }
.rk-live-placeholder { min-height: 360px; padding: 22px; background: rgba(255,250,241,.7); border: 1px solid var(--line); border-radius: 12px; }
.rk-live-placeholder span { color: #bbb1a4; font-family: var(--serif); font-size: 30px; }
.rk-live-placeholder i { height: 12px; margin-top: 28px; display: block; background: linear-gradient(90deg, #ece2d4, #f6efe5, #ece2d4); background-size: 200% 100%; border-radius: 8px; animation: live-shimmer 1.8s linear infinite; }
.rk-live-placeholder i:nth-of-type(1) { width: 68%; height: 35px; }
.rk-live-placeholder i:nth-of-type(2) { width: 92%; }
.rk-live-placeholder i:nth-of-type(3) { width: 55%; }
@keyframes live-shimmer { to { background-position: -200% 0; } }
.rk-live-meta { min-height: 45px; margin-bottom: 16px; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); background: #eee4d5; border-radius: 6px; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.rk-live-meta a { color: var(--blue); }
.rk-popularity-method { margin-top: 25px; display: grid; grid-template-columns: repeat(4, 1fr); color: white; background: var(--forest); border-radius: 11px; overflow: hidden; }
.rk-popularity-method > div { min-height: 175px; padding: 24px; border-right: 1px solid rgba(255,255,255,.15); }
.rk-popularity-method > div:last-child { color: var(--ink); background: #f2c35c; border: 0; }
.rk-popularity-method span, .rk-popularity-method strong { display: block; }
.rk-popularity-method span { margin-bottom: 22px; color: #f3c769; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.rk-popularity-method > div:last-child span { color: #7b5715; }
.rk-popularity-method strong { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.rk-popularity-method p { color: #bcd0c7; font-size: 9px; line-height: 1.5; }
.rk-popularity-method > div:last-child p { color: #59441f; }
.rk-deep-files { margin-top: 100px; padding-top: 70px; border-top: 2px solid var(--ink); }
.rk-live-fallback > strong { display: block; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.rk-live-fallback > p { margin-bottom: 25px; color: var(--muted); }
.rk-daily-brief { margin-bottom: 110px; padding: 62px; color: #fff; background: #163b34; border-radius: 16px; box-shadow: 11px 12px 0 #e0cfae; }
.rk-daily-brief > header { display: grid; grid-template-columns: 1fr 430px; gap: 55px; align-items: end; }
.rk-daily-brief h2 { margin: 7px 0 0; font-family: var(--serif); font-size: clamp(48px,6vw,78px); font-weight: 400; line-height: .9; }
.rk-daily-brief h2 em { color: #f3c769; font-weight: 400; }
.rk-daily-brief > header > p { color: #b9cdc5; font-size: 11px; line-height: 1.65; }
.rk-brief-grid { margin-top: 45px; display: grid; grid-template-columns: 1.35fr 1fr 1fr; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; overflow: hidden; }
.rk-brief-grid > a { min-height: 270px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.18); }
.rk-brief-grid > a:last-child { border: 0; }
.rk-brief-grid span { color: #f3c769; font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-brief-grid strong { margin-top: 28px; font-family: var(--serif); font-size: 31px; font-weight: 400; line-height: 1; }
.rk-brief-grid .rk-brief-lead strong { font-size: 52px; }
.rk-brief-grid p { color: #b9cdc5; font-size: 10px; line-height: 1.55; }
.rk-brief-grid b,.rk-brief-grid small { margin-top: auto; color: #f4e7cf; font-size: 8px; }
.rk-daily-brief > footer { padding-top: 25px; display: flex; align-items: center; gap: 35px; }
.rk-daily-brief > footer div { display: flex; align-items: baseline; gap: 7px; }
.rk-daily-brief > footer strong { color: #f3c769; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.rk-daily-brief > footer span { color: #a9c0b7; font-size: 8px; }
.rk-daily-brief > footer a { margin-left: auto; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; }
.rk-brief-loading { min-height: 280px; }
.rk-brief-loading h2 { font-size: 50px; }
.rk-live-tools { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.rk-live-tools > div { display: flex; gap: 7px; }
.rk-live-tools button { padding: 9px 14px; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 20px; font-size: 8px; font-weight: 800; }
.rk-live-tools button.active { color: #fff; background: var(--forest); border-color: var(--forest); }
.rk-live-tools input { width: min(300px,65vw); padding: 10px 15px; background: #fffaf1; border: 1px solid var(--line); border-radius: 20px; }
.rk-live-result-status { min-height: 20px; color: var(--muted); font-size: 8px; }
.rk-desk-digest { margin: 70px 0; padding-top: 55px; border-top: 2px solid var(--ink); }
.rk-desk-digest > header { display: grid; grid-template-columns: 1fr 420px; gap: 50px; align-items: end; }
.rk-desk-digest header span,.rk-coverage-compare header span,.rk-live-record-links header span,.rk-more-now header span { color: var(--coral); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-desk-digest h2,.rk-coverage-compare h2,.rk-live-record-links h2,.rk-more-now h2 { margin: 6px 0 0; font-family: var(--serif); font-size: 45px; font-weight: 400; line-height: .95; }
.rk-desk-digest header p { color: var(--muted); font-size: 10px; }
.rk-desk-digest > div { margin-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rk-desk-digest > div > section { border-top: 5px solid var(--blue); background: #fffaf1; }
.rk-desk-digest > div > section:last-child { border-color: var(--coral); }
.rk-desk-digest section > span { padding: 17px 20px; display: block; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-desk-digest section a { min-height: 112px; padding: 18px 20px; display: grid; grid-template-columns: 42px 1fr 20px; gap: 15px; align-items: center; border-top: 1px solid var(--line); }
.rk-desk-digest section a > b { color: #aaa195; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.rk-desk-digest section strong { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.rk-desk-digest section p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.rk-desk-digest section i { color: var(--blue); font-style: normal; }
.rk-popularity-method a { color: #f3c769; font-weight: 800; }
.rk-coverage-compare { margin-bottom: 70px; padding: 42px; background: #eee4d5; border-radius: 12px; }
.rk-coverage-compare > header { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 50px; }
.rk-coverage-compare > header span { grid-column: 1; }
.rk-coverage-compare > header h2 { grid-column: 1; }
.rk-coverage-compare > header p { grid-column: 2; grid-row: 1/3; color: var(--muted); font-size: 9px; }
.rk-coverage-compare > div { margin-top: 30px; border-top: 1px solid var(--ink); }
.rk-coverage-compare article { min-height: 62px; display: grid; grid-template-columns: 90px 170px 1fr 75px; gap: 20px; align-items: center; border-bottom: 1px solid #d6cab8; }
.rk-coverage-compare article > span,.rk-coverage-compare article > b { color: var(--muted); font-size: 8px; }
.rk-coverage-compare article > strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.rk-coverage-compare article > div { height: 5px; background: #ddd0be; border-radius: 5px; overflow: hidden; }
.rk-coverage-compare article i { height: 100%; display: block; background: var(--blue); }
.rk-live-record-links,.rk-more-now { margin: 70px 0; }
.rk-live-record-links > div { margin-top: 25px; display: grid; grid-template-columns: repeat(2,1fr); border-top: 2px solid var(--ink); }
.rk-live-record-links a { min-height: 155px; padding: 24px; display: grid; grid-template-columns: 1fr 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rk-live-record-links a small,.rk-live-record-links a strong,.rk-live-record-links a p { grid-column: 1; }
.rk-live-record-links a small { color: var(--coral); font-size: 8px; font-weight: 800; }
.rk-live-record-links a strong { margin-top: 7px; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.rk-live-record-links a p { color: var(--muted); font-size: 9px; }
.rk-live-record-links a b { grid-column: 2; grid-row: 1; color: var(--blue); }
.rk-more-now > div { margin-top: 25px; border-top: 2px solid var(--ink); }
.rk-more-now a { min-height: 85px; padding: 14px; display: grid; grid-template-columns: 45px 1fr 20px; gap: 20px; align-items: center; border-bottom: 1px solid var(--line); }
.rk-more-now a > b { color: #aaa195; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.rk-more-now a small,.rk-more-now a strong { display: block; }
.rk-more-now a small { color: var(--muted); font-size: 7px; font-weight: 800; }
.rk-more-now a strong { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.rk-more-now a i { color: var(--blue); font-style: normal; }
.rk-pulse-summary { display: grid; grid-template-columns: 1fr 420px; gap: 60px; align-items: end; }
.rk-pulse-summary span { color: var(--coral); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-pulse-summary h2 { margin: 7px 0 0; font-family: var(--serif); font-size: 48px; font-weight: 400; line-height: .95; }
.rk-pulse-summary > p { color: var(--muted); font-size: 10px; }
.rk-source-pulse-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.rk-source-pulse-grid > article { padding: 27px; background: #fffaf1; border: 1px solid var(--line); border-radius: 11px; }
.rk-source-pulse-grid article > header { display: grid; grid-template-columns: 1fr auto; }
.rk-source-pulse-grid header span,.rk-source-pulse-grid header b { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-source-pulse-grid header h2 { grid-column: 1/3; margin: 8px 0 18px; font-family: var(--serif); font-size: 36px; font-weight: 400; }
.rk-source-pulse-grid article > div { border-top: 1px solid var(--ink); }
.rk-source-pulse-grid article > div a { min-height: 80px; padding: 12px 0; display: grid; grid-template-columns: 1fr 20px; border-bottom: 1px solid var(--line); }
.rk-source-pulse-grid article > div strong,.rk-source-pulse-grid article > div time { grid-column: 1; }
.rk-source-pulse-grid article > div strong { font-family: var(--serif); font-size: 16px; font-weight: 400; }
.rk-source-pulse-grid article > div time { margin-top: 5px; color: var(--muted); font-size: 7px; }
.rk-source-pulse-grid article > div b { grid-column: 2; grid-row: 1; color: var(--blue); }
.rk-feed-link { margin-top: 20px; display: inline-block; color: var(--forest); font-size: 9px; font-weight: 800; }
.rk-source-pulse-page { padding-bottom: 100px; }

.rk-now-detail { padding-top: 25px; padding-bottom: 100px; }
.rk-now-hero { min-height: 390px; display: grid; grid-template-columns: 95px 1fr 180px; gap: 36px; align-items: center; border-bottom: 2px solid var(--ink); }
.rk-now-hero h1 { margin: 8px 0 18px; font-family: var(--serif); font-size: clamp(68px, 9vw, 125px); font-weight: 400; letter-spacing: -.06em; line-height: .82; }
.rk-now-hero > div:nth-child(2) > p:last-child { max-width: 680px; color: var(--muted); font-family: var(--serif); font-size: 19px; line-height: 1.45; }
.rk-now-hero > aside { width: 165px; height: 165px; padding: 25px; display: grid; place-content: center; color: #fff; background: var(--coral); border-radius: 50% 47% 50% 45%; transform: rotate(3deg); text-align: center; }
.rk-now-hero > aside strong { font-family: var(--serif); font-size: 58px; font-weight: 400; line-height: .8; }
.rk-now-hero > aside span { margin-top: 10px; font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-signal-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--ink); }
.rk-signal-grid article { min-height: 180px; padding: 30px; border-right: 1px solid var(--line); }
.rk-signal-grid article:last-child { border: 0; }
.rk-signal-grid strong, .rk-signal-grid span { display: block; }
.rk-signal-grid strong { color: var(--blue); font-family: var(--serif); font-size: 47px; font-weight: 400; }
.rk-signal-grid span { margin: 3px 0 15px; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-signal-grid p { color: var(--muted); font-size: 9px; }
.rk-current-coverage { padding: 85px 0; }
.rk-current-coverage > header { margin-bottom: 30px; display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.rk-current-coverage header span { color: var(--coral); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-current-coverage h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 52px; font-weight: 400; }
.rk-current-coverage header p { max-width: 380px; color: var(--muted); font-size: 9px; }
.rk-current-coverage > div { border-top: 2px solid var(--ink); }
.rk-current-coverage > div > a { min-height: 105px; padding: 20px 12px; display: grid; grid-template-columns: 145px 1fr 165px 20px; gap: 25px; align-items: center; border-bottom: 1px solid var(--line); transition: background .15s ease; }
.rk-current-coverage > div > a:hover { background: rgba(255,250,241,.8); }
.rk-current-coverage a span, .rk-current-coverage a time { color: var(--muted); font-size: 8px; font-weight: 800; }
.rk-current-coverage a strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.rk-current-coverage a b { color: var(--blue); }
.rk-reviewed-bridge { padding: 35px; display: grid; grid-template-columns: 150px 1fr auto; gap: 35px; align-items: center; color: #fff; background: var(--forest); border-radius: 13px; }
.rk-reviewed-bridge > span { color: #f3c769; font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-reviewed-bridge h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 400; }
.rk-reviewed-bridge p { margin-bottom: 0; color: #bed0c9; font-size: 9px; }
.rk-live-caution { margin-top: 30px; padding: 25px; display: grid; grid-template-columns: 170px 1fr; gap: 25px; background: #eee4d5; border-left: 5px solid var(--gold); }
.rk-live-caution strong { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.rk-live-caution p { margin: 0; color: var(--muted); font-size: 10px; }
.rk-live-caution small { grid-column: 2; color: var(--muted); font-size: 7px; }
.rk-now-loading { min-height: 600px; display: grid; place-content: center; text-align: center; }
.rk-now-loading > span { color: var(--coral); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.rk-now-loading h1 { max-width: 800px; margin: 12px auto; font-family: var(--serif); font-size: clamp(48px, 7vw, 85px); font-weight: 400; line-height: .95; }
.rk-now-loading p { color: var(--muted); }
.rk-now-loading .record-button { margin: 20px auto 0; }

.rk-election-preview { padding: 100px 0; color: #f6f0e5; background: #102f2a; }
.rk-election-preview .shell { display: grid; grid-template-columns: .7fr 1.1fr; gap: clamp(45px, 7vw, 100px); align-items: center; }
.rk-election-intro { position: relative; }
.rk-election-intro h2 { margin-bottom: 22px; font-family: var(--serif); font-size: clamp(50px, 5vw, 76px); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.rk-election-intro h2 em { color: #f2ba45; font-weight: 400; }
.rk-election-intro > p:not(.record-label) { max-width: 520px; color: #b6c9c1; line-height: 1.7; }
.election-countdown { width: max-content; margin: 35px 0; display: flex; align-items: center; gap: 15px; transform: rotate(-2deg); }
.election-countdown strong { padding: 4px 12px; color: #102f2a; background: #f4e2ae; font-family: var(--serif); font-size: 43px; font-weight: 400; }
.election-countdown span { color: #d5e0db; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rk-poll-card { color: var(--ink); background: #fffaf1; border: 1px solid #d8cebf; border-radius: 13px; box-shadow: 18px 18px 0 #0b2722, 18px 18px 0 1px rgba(255,255,255,.15); overflow: hidden; }
.rk-poll-card > header { padding: 25px 28px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.rk-poll-card header span, .rk-poll-card header h3 { display: block; }
.rk-poll-card header span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.rk-poll-card header h3 { margin: 4px 0 0; font-family: var(--serif); font-size: 30px; font-weight: 400; }
.not-forecast, .official-label { width: max-content; height: max-content; padding: 6px 8px 5px; color: #7f5c17 !important; background: #f7e6af; border: 1px solid #d6b655; border-radius: 2px; font-size: 7px !important; font-weight: 850; letter-spacing: .08em; transform: rotate(1deg); }
.official-label { color: var(--forest) !important; background: #dbece4; border-color: #80ad99; }
.poll-lead { display: grid; grid-template-columns: 1fr 1fr; }
.poll-lead div { padding: 22px 28px; }
.poll-lead div + div { border-left: 1px solid var(--line); }
.poll-lead small, .poll-lead strong { display: block; }
.poll-lead small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.poll-lead strong { margin-top: 3px; color: var(--blue); font-family: var(--serif); font-size: 42px; font-weight: 400; }
.poll-lead div + div strong { color: var(--coral); }
.poll-stack { border-top: 1px solid var(--line); }
.poll-stack a { min-height: 58px; padding: 10px 27px; display: grid; grid-template-columns: 1fr auto 55px; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); font-size: 11px; }
.poll-stack a span small { display: block; color: var(--muted); font-size: 8px; }
.poll-stack a em { color: var(--forest); font-style: normal; font-weight: 800; text-align: right; }
.rk-poll-card footer { padding: 18px 28px; color: var(--muted); font-size: 9px; }
.rk-poll-card footer a { color: var(--blue); font-weight: 800; }

.rk-feature-file { padding-bottom: 90px; }
.rk-position-file { background: rgba(255,250,241,.86); border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 18px 45px rgba(58,43,25,.07); overflow: hidden; }
.rk-position-file > header, .rk-position-file > article { display: grid; grid-template-columns: 1.05fr 1.5fr 1.5fr 120px; gap: 20px; align-items: center; }
.rk-position-file > header { padding: 13px 22px; color: #77766f; background: #eee1cb; font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.rk-position-file > article { min-height: 105px; padding: 18px 22px; border-top: 1px solid var(--line); }
.rk-position-file article > div p { margin: 7px 0 0; font-size: 11px; line-height: 1.45; }
.rk-position-file article > div small { color: var(--muted); font-size: 8px; }
.rk-position-file > footer { padding: 17px 22px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); background: #f0e7d8; font-size: 9px; }
.rk-position-file > footer a { color: var(--blue); font-weight: 800; }
.rk-bottom-callout { margin-bottom: 110px; padding: 70px 5%; display: grid; grid-template-columns: 130px 1fr 1fr; gap: 45px; align-items: center; color: white; background: var(--forest); border-radius: 16px; box-shadow: 10px 12px 0 #e3d1b3; }
.rk-bottom-callout h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px, 4vw, 65px); font-weight: 400; line-height: .96; }
.rk-bottom-callout > div:last-child p { color: #bfd0c9; }
.scribble { color: #f3c769; font-family: var(--serif); font-size: 16px; font-style: italic; transform: rotate(-7deg); }

.rk-topic-index { padding-bottom: 95px; }
.rk-curation-panel { margin-top: 30px; padding: 27px; display: grid; grid-template-columns: 160px 1fr 1fr auto; gap: 25px; align-items: center; color: #dce8e3; background: var(--forest); border-radius: 10px; }
.rk-curation-panel span { color: #f3c769; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.rk-curation-panel p { margin: 0; color: #bbcdc6; font-size: 10px; }
.rk-curation-panel a { padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; }
.rk-topic-hero { --topic-color: var(--blue); position: relative; overflow: hidden; background: color-mix(in srgb, var(--topic-color) 14%, var(--paper)); border-bottom: 1px solid var(--line); }
.rk-topic-hero::after { content: ""; position: absolute; width: 500px; height: 500px; right: -220px; top: -200px; background: color-mix(in srgb, var(--topic-color) 20%, transparent); border-radius: 50%; }
.rk-topic-title { position: relative; z-index: 1; min-height: 450px; display: grid; grid-template-columns: 100px 1fr 160px; gap: 35px; align-items: center; }
.topic-marker-xl { width: 92px; height: 92px; font-size: 30px; }
.rk-topic-title h1 { margin-bottom: 18px; font-family: var(--serif); font-size: clamp(70px, 9vw, 125px); font-weight: 400; line-height: .85; letter-spacing: -.055em; }
.rk-topic-title > div > p:last-child { max-width: 730px; margin: 0; color: #4f5751; font-size: 18px; }
.topic-folio { color: #6b6e67; font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.8; text-align: right; }
.rk-topic-question { padding-top: 43px; padding-bottom: 43px; display: grid; grid-template-columns: 150px 1fr; gap: 30px; border-bottom: 1px solid var(--line); }
.rk-topic-question span { padding-top: 8px; color: var(--coral); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.rk-topic-question h2 { max-width: 950px; margin: 0; font-family: var(--serif); font-size: clamp(29px, 3.4vw, 49px); font-weight: 400; line-height: 1.1; }
.rk-topic-record { display: grid; grid-template-columns: 1fr .82fr; gap: 25px; }
.rk-source-trail, .rk-source-drawer { background: var(--paper-light); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.rk-source-trail > header, .rk-source-drawer > header { padding: 21px 24px; border-bottom: 1px solid var(--line); }
.rk-source-trail header span, .rk-source-drawer header span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.rk-source-trail h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 31px; font-weight: 400; }
.rk-source-trail article { min-height: 107px; padding: 20px 24px; display: grid; grid-template-columns: 40px 1fr 30px; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); }
.rk-source-trail article:last-child { border: 0; }
.rk-source-trail article > b { width: 35px; height: 35px; display: grid; place-items: center; color: white; background: var(--forest); border-radius: 50%; font-family: var(--serif); font-weight: 400; }
.rk-source-trail article span { font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.rk-source-trail article p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.rk-source-trail article i { color: var(--coral); font-style: normal; font-size: 20px; }
.rk-source-drawer header { display: flex; justify-content: space-between; }
.rk-source-drawer header b { font-family: var(--serif); font-size: 14px; font-weight: 400; }
.rk-source-drawer > a { min-height: 108px; padding: 20px 24px; display: grid; grid-template-columns: 1fr 22px; border-bottom: 1px solid var(--line); }
.rk-source-drawer > a:last-child { border: 0; }
.rk-source-drawer a span, .rk-source-drawer a strong, .rk-source-drawer a small { display: block; grid-column: 1; }
.rk-source-drawer a span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-source-drawer a strong { margin: 4px 0; font-family: var(--serif); font-size: 18px; font-weight: 400; }
.rk-source-drawer a small { color: var(--muted); }
.rk-source-drawer a b { grid-column: 2; grid-row: 1; }
.rk-related-files { margin-bottom: 100px; display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.rk-related-files > * { min-height: 140px; padding: 25px; border-right: 1px solid var(--line); }
.rk-related-files > *:last-child { border: 0; }
.rk-related-files > div > span, .rk-related-files a span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.rk-related-files > div p { margin: 10px 0 0; color: var(--muted); font-size: 10px; }
.rk-related-files a { display: flex; flex-direction: column; }
.rk-related-files a strong { margin-top: 7px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.rk-related-files a b { margin-top: auto; align-self: flex-end; color: var(--coral); }

.rk-topic-snapshot { padding: 58px 0 48px; color: #f7f1e5; background: var(--forest); }
.rk-topic-snapshot header { margin-bottom: 30px; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.rk-topic-snapshot header span { color: #f3c769; font-size: 9px; font-weight: 850; letter-spacing: .11em; }
.rk-topic-snapshot header h2 { margin: 6px 0 0; font-family: var(--serif); font-size: clamp(39px, 4vw, 61px); font-weight: 400; line-height: .95; }
.rk-topic-snapshot header > p { max-width: 330px; margin: 0; color: #b9cdc5; font-size: 10px; text-align: right; }
.rk-topic-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; overflow: hidden; }
.rk-topic-stats article { min-height: 190px; padding: 24px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.18); }
.rk-topic-stats article:last-child { border: 0; }
.rk-topic-stats strong { color: #f5df9f; font-family: var(--serif); font-size: clamp(32px, 3.5vw, 52px); font-weight: 400; line-height: .95; }
.rk-topic-stats span { margin-top: auto; font-family: var(--serif); font-size: 17px; line-height: 1.15; }
.rk-topic-stats small { margin-top: 6px; color: #a9c0b7; font-size: 8px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.rk-topic-scope { margin: 24px 0 0; display: grid; grid-template-columns: 105px minmax(0, 780px); gap: 20px; color: #bfd0c9; font-size: 10px; line-height: 1.65; }
.rk-topic-scope b { color: #f3c769; font-size: 8px; letter-spacing: .1em; }
.rk-topic-briefing { padding-bottom: 82px; }
.rk-update-list { border-top: 2px solid var(--ink); }
.rk-update-list > article { min-height: 205px; padding: 28px 0; display: grid; grid-template-columns: 145px minmax(0, 1fr) 205px; gap: 34px; align-items: start; border-bottom: 1px solid var(--line); }
.rk-update-date { display: flex; flex-direction: column; gap: 21px; }
.rk-update-date b { width: 40px; height: 40px; display: grid; place-items: center; color: white; background: var(--forest); border-radius: 50%; font-family: var(--serif); font-size: 15px; font-weight: 400; }
.rk-update-date time { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.rk-update-copy > div { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.rk-update-copy > div span, .rk-update-copy > div em { padding: 5px 7px 4px; font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rk-update-copy > div span { color: white; background: var(--blue); }
.rk-update-copy > div em { color: #765315; background: #f6e3a9; border: 1px solid #d6b862; }
.rk-update-copy h3 { margin: 13px 0 9px; font-family: var(--serif); font-size: clamp(24px, 2.5vw, 35px); font-weight: 400; line-height: 1.04; }
.rk-update-copy p { max-width: 760px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.rk-update-list > article > a { min-height: 94px; padding: 17px; display: flex; flex-direction: column; color: var(--forest); background: #eee1cb; border: 1px solid #d1c1a8; border-radius: 7px; }
.rk-update-list > article > a small { color: #6d6a60; font-size: 8px; line-height: 1.4; }
.rk-update-list > article > a strong { margin-top: auto; font-size: 9px; }
.rk-open-questions { padding: 64px 0; background: #ead8b9; border-block: 1px solid #c9b797; }
.rk-open-questions .shell { display: grid; grid-template-columns: .62fr 1fr; gap: clamp(40px, 7vw, 100px); align-items: start; }
.rk-open-questions header span { color: var(--coral); font-size: 9px; font-weight: 850; letter-spacing: .11em; }
.rk-open-questions h2 { margin: 8px 0 0; font-family: var(--serif); font-size: clamp(35px, 4vw, 56px); font-weight: 400; line-height: .98; }
.rk-open-questions ol { margin: 0; padding: 0; list-style: none; counter-reset: questions; border-top: 1px solid #9f9077; }
.rk-open-questions li { min-height: 76px; padding: 17px 0; display: grid; grid-template-columns: 45px 1fr; gap: 15px; align-items: center; border-bottom: 1px solid #bbaa8d; font-family: var(--serif); font-size: 18px; counter-increment: questions; }
.rk-open-questions li::before { content: "0" counter(questions); color: var(--coral); font-family: var(--sans); font-size: 9px; font-weight: 850; letter-spacing: .06em; }

.election-desk-hero { color: #f7f1e5; background: #102f2a; }
.election-desk-hero .breadcrumbs { color: #a9c0b7; border-color: rgba(255,255,255,.15); }
.election-desk-hero .shell > div { min-height: 435px; padding: 60px 0; display: flex; flex-direction: column; justify-content: center; }
.election-desk-hero .shell { position: relative; }
.election-desk-hero h1 { max-width: 900px; margin-bottom: 20px; font-family: var(--serif); font-size: clamp(58px, 7vw, 103px); font-weight: 400; line-height: .88; letter-spacing: -.055em; }
.election-desk-hero h1 em { color: #f2ba45; font-weight: 400; }
.election-desk-hero .shell > div > p:last-child { max-width: 750px; margin: 0; color: #b6c9c1; font-size: 17px; }
.election-desk-hero aside { position: absolute; right: 0; bottom: 65px; width: 190px; height: 190px; display: flex; flex-direction: column; justify-content: center; align-items: center; color: var(--forest); background: #f4e2ae; border-radius: 50% 48% 52% 45%; transform: rotate(4deg); }
.election-desk-hero aside strong { font-family: var(--serif); font-size: 67px; font-weight: 400; line-height: .8; }
.election-desk-hero aside span { margin-top: 10px; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.election-desk-hero aside small { margin-top: 8px; font-size: 8px; }
.election-tabs { min-height: 66px; display: flex; align-items: flex-end; gap: 4px; border-bottom: 1px solid var(--line); }
.election-tabs a { min-width: 120px; padding: 17px 20px 14px; color: var(--muted); background: #eee2d1; border: 1px solid var(--line); border-bottom: 0; border-radius: 7px 7px 0 0; font-size: 10px; font-weight: 800; text-align: center; }
.election-tabs a.active { padding-top: 23px; color: white; background: var(--forest); border-color: var(--forest); }
.election-view { min-height: 650px; }
.election-metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.election-metric-grid article { min-height: 250px; padding: 25px; display: flex; flex-direction: column; background: var(--paper-light); border: 1px solid var(--line); border-radius: 10px; }
.election-metric-grid article > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.election-metric-grid article > strong { margin: 24px 0 8px; font-family: var(--serif); font-size: 69px; font-weight: 400; line-height: .8; }
.election-metric-grid article p { color: var(--muted); font-size: 11px; }
.election-metric-grid article a { margin-top: auto; color: var(--blue); font-size: 9px; font-weight: 800; }
.election-metric-grid .metric-accent { color: white; background: var(--coral); border-color: var(--coral); transform: rotate(-.7deg); }
.election-metric-grid .metric-accent > span, .election-metric-grid .metric-accent p, .election-metric-grid .metric-accent a { color: white; }
.election-overview-split { margin-top: 18px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; }
.election-view, .election-view > *, .election-overview-split > *, .ratings-preview, .next-election-date { min-width: 0; }
.election-freshness { margin-bottom: 24px; padding: 15px 18px; display: flex; justify-content: space-between; gap: 18px; background: var(--paper-light); border: 1px solid var(--line); border-left: 5px solid var(--blue); border-radius: 6px; }
.election-freshness strong { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.election-freshness span { color: var(--muted); font-size: 9px; text-align: right; }
.election-freshness[data-state="stale"], .election-freshness[data-state="degraded"] { border-left-color: var(--coral); }
.ratings-preview, .next-election-date { padding: 30px; background: var(--paper-light); border: 1px solid var(--line); border-radius: 10px; }
.ratings-preview header, .election-view-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; }
.ratings-preview header span, .next-election-date > span, .election-view-head > div > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.ratings-preview h2, .election-view-head h2 { margin: 5px 0 0; font-family: var(--serif); font-size: 37px; font-weight: 400; }
.rating-ribbon { min-height: 100px; margin: 28px 0 19px; display: flex; gap: 3px; align-items: stretch; }
.rating-ribbon div { flex: var(--rating-count); min-width: 48px; padding: 14px 6px; display: flex; flex-direction: column; justify-content: flex-end; color: white; border-radius: 5px; }
.rating-ribbon b { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.rating-ribbon span { font-size: 7px; font-weight: 800; }
.rating-blue { background: #356ed7 !important; }
.rating-blue-soft { background: #6e96dd !important; }
.rating-sky { background: #86b9d6 !important; color: #173245 !important; }
.rating-neutral { background: #c9bfae !important; color: #332f29 !important; }
.rating-coral-soft { background: #de8a78 !important; }
.rating-coral { background: #c95b49 !important; }
.rating-red { background: #9f3f35 !important; }
.ratings-preview > p { color: var(--muted); font-size: 10px; }
.ratings-preview > a, .next-election-date a { color: var(--blue); font-size: 9px; font-weight: 800; }
.next-election-date time { display: block; margin: 28px 0 8px; font-family: var(--serif); font-size: 37px; }
.next-election-date h3 { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.next-election-date p { color: var(--muted); font-size: 10px; }
.election-view-head { margin-bottom: 37px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.election-view-head > div > p { max-width: 700px; margin: 10px 0 0; color: var(--muted); }
.poll-summary-card { padding: 26px; display: grid; grid-template-columns: 320px 1fr; gap: 50px; color: white; background: var(--forest); border-radius: 10px; }
.poll-summary-card > div span, .poll-summary-card > div strong, .poll-summary-card > div i { display: block; }
.poll-summary-card span { color: #b6c9c1; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.poll-summary-card strong, .poll-summary-card i { font-family: var(--serif); font-size: 31px; font-weight: 400; font-style: normal; }
.poll-summary-card strong { color: #8bb5ff; }
.poll-summary-card i { color: #f69482; }
.poll-summary-card p { margin: 0; align-self: center; color: #b6c9c1; font-size: 10px; }
.poll-list { margin-top: 18px; background: var(--paper-light); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.poll-list-head, .poll-list > a { display: grid; grid-template-columns: 1.3fr 1fr 1fr 75px; gap: 25px; align-items: center; }
.poll-list-head { padding: 12px 20px; color: var(--muted); background: #eadfce; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.poll-list > a { min-height: 85px; padding: 15px 20px; border-top: 1px solid var(--line); }
.poll-list a strong, .poll-list a small { display: block; }
.poll-list a strong { font-family: var(--serif); font-size: 18px; font-weight: 400; }
.poll-list a small { color: var(--muted); font-size: 8px; }
.poll-measure { display: grid; grid-template-columns: 1fr 38px; gap: 9px; align-items: center; }
.poll-measure span { height: 8px; background: linear-gradient(90deg, var(--blue) var(--poll-value), #e8e1d7 var(--poll-value)); border-radius: 8px; }
.poll-measure-alt span { background: linear-gradient(90deg, var(--coral) var(--poll-value), #e8e1d7 var(--poll-value)); }
.poll-measure b { font-size: 10px; }
.poll-list a em { color: var(--forest); font-size: 11px; font-style: normal; font-weight: 850; text-align: right; }
.poll-reading-note { margin-top: 18px; padding: 25px; display: grid; grid-template-columns: 170px 1fr auto; gap: 25px; align-items: center; border: 1px dashed #9c8d79; border-radius: 10px; }
.poll-reading-note span { color: var(--coral); font-size: 9px; font-weight: 850; letter-spacing: .09em; }
.poll-reading-note p { margin: 0; color: var(--muted); font-size: 10px; }
.poll-reading-note a { color: var(--blue); font-size: 9px; font-weight: 800; }
.ratings-board { display: grid; grid-template-columns: repeat(7, 1fr); gap: 9px; }
.ratings-board article { min-height: 260px; padding: 22px 16px; display: flex; flex-direction: column; color: white; border-radius: 9px; }
.ratings-board article strong { font-family: var(--serif); font-size: 57px; font-weight: 400; }
.ratings-board article h3 { margin-top: auto; margin-bottom: 7px; font-family: var(--serif); font-size: 19px; font-weight: 400; }
.ratings-board article p { margin: 0; color: inherit; font-size: 8px; opacity: .78; }
.source-line { margin-top: 20px; color: var(--muted); font-size: 9px; }
.source-line a { color: var(--blue); font-weight: 800; }
.election-calendar { border-top: 2px solid var(--ink); }
.election-calendar article { min-height: 100px; padding: 15px 18px; display: grid; grid-template-columns: 55px 180px 1fr; gap: 25px; align-items: center; border-bottom: 1px solid var(--line); }
.election-calendar article > span { color: #aaa397; font-size: 9px; }
.election-calendar time { font-family: var(--serif); font-size: 25px; }
.election-calendar small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.election-calendar h3 { margin: 4px 0 0; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.election-calendar .election-day { color: white; background: var(--coral); }
.election-calendar .election-day > span, .election-calendar .election-day small { color: white; }
.election-results-empty { min-height: 520px; display: grid; grid-template-columns: .65fr 1fr; gap: 70px; align-items: center; }
.results-zero { font-family: var(--serif); font-size: clamp(130px, 20vw, 270px); line-height: .8; color: #d8cbb8; }
.election-results-empty h2 { font-family: var(--serif); font-size: clamp(42px, 5vw, 67px); font-weight: 400; line-height: .95; }
.election-results-empty > div > p:not(.record-label) { color: var(--muted); }
.result-label-demo { margin: 25px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.result-label-demo span { padding: 7px 9px; color: var(--muted); border: 1px solid var(--line); border-radius: 3px; font-size: 7px; font-weight: 850; letter-spacing: .06em; }
.election-sources { margin-bottom: 90px; display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.election-sources > * { min-height: 150px; padding: 24px; border-right: 1px solid var(--line); }
.election-sources > *:last-child { border: 0; }
.election-sources > div > span, .election-sources a span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.election-sources > div p { color: var(--muted); font-size: 10px; }
.election-sources a { display: grid; grid-template-columns: 1fr 20px; }
.election-sources a strong, .election-sources a small { display: block; grid-column: 1; }
.election-sources a strong { margin-top: 8px; font-family: var(--serif); font-size: 19px; font-weight: 400; }
.election-sources a small { margin-top: auto; color: var(--muted); font-size: 8px; }
.election-sources a b { grid-column: 2; grid-row: 1; color: var(--blue); }

@media (max-width: 1100px) {
  .rk-hero { grid-template-columns: 1fr .75fr; gap: 45px; }
  .rk-hero-copy h1 { font-size: 72px; }
  .rk-hero-file { min-height: 470px; padding-inline: 28px; }
  .file-stats { left: 28px; right: 28px; }
  .rk-desk-strip .shell { grid-template-columns: 120px repeat(2, 1fr); }
  .rk-desk-strip a:nth-last-child(-n+2) { display: none; }
  .rk-topic-grid { grid-template-columns: repeat(2, 1fr); }
  .rk-live-grid { grid-template-columns: repeat(2, 1fr); }
  .rk-daily-brief > header,.rk-desk-digest > header,.rk-pulse-summary { grid-template-columns: 1fr; }
  .rk-brief-grid { grid-template-columns: 1fr 1fr; }
  .rk-brief-grid .rk-brief-lead { grid-column: 1/3; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .rk-popularity-method { grid-template-columns: repeat(2, 1fr); }
  .rk-popularity-method > div:nth-child(2) { border-right: 0; }
  .rk-now-hero { grid-template-columns: 75px 1fr 150px; }
  .rk-now-hero > aside { width: 140px; height: 140px; }
  .rk-topic-record { grid-template-columns: 1fr; }
  .rk-topic-stats { grid-template-columns: repeat(2, 1fr); }
  .rk-topic-stats article:nth-child(2) { border-right: 0; }
  .rk-topic-stats article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .rk-update-list > article { grid-template-columns: 110px minmax(0, 1fr); }
  .rk-update-list > article > a { grid-column: 2; min-height: 75px; }
  .rk-related-files { grid-template-columns: 1fr 1fr; }
  .rk-related-files > * { border-bottom: 1px solid var(--line); }
  .election-metric-grid { grid-template-columns: repeat(2, 1fr); }
  .ratings-board { grid-template-columns: repeat(4, 1fr); }
  .election-desk-hero aside { width: 150px; height: 150px; }
  .election-desk-hero aside strong { font-size: 51px; }
}

@media (max-width: 760px) {
  .brand { font-size: 14px; }
  .rk-hero { padding: 62px 0 75px; display: block; }
  .rk-hero-copy h1 { font-size: clamp(59px, 18vw, 78px); }
  .rk-hero-copy > p:not(.record-label) { font-size: 17px; }
  .rk-hero .hero-search:after { display: none; }
  .rk-hero-actions { margin-bottom: 85px; }
  .rk-hero-file { min-height: 480px; margin: 0 4px; padding: 55px 25px 30px; transform: none; }
  .rk-hero-file::before { inset: 9px 0 -8px 9px; }
  .rk-hero-file::after { inset: 17px 0 -14px 16px; }
  .file-tabs { left: 18px; right: 12px; }
  .file-tabs span { min-width: 0; flex: 1; padding-inline: 7px; }
  .file-stats { left: 25px; right: 25px; }
  .rk-desk-strip .shell { min-height: 112px; grid-template-columns: 1fr 1fr; }
  .desk-stamp { display: none; }
  .rk-desk-strip a { padding: 14px 10px; border-left: 0; }
  .rk-desk-strip a + a { border-left: 1px solid rgba(255,255,255,.16); }
  .rk-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .rk-section-heading h2 { font-size: 51px; }
  .rk-topic-grid { grid-template-columns: 1fr; }
  .rk-live-grid { grid-template-columns: 1fr; }
  .rk-daily-brief { margin-inline: 4%; padding: 38px 24px; }
  .rk-brief-grid { grid-template-columns: 1fr; }
  .rk-brief-grid .rk-brief-lead { grid-column: 1; }
  .rk-brief-grid > a { min-height: 230px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .rk-daily-brief > footer { align-items: flex-start; flex-direction: column; gap: 10px; }
  .rk-daily-brief > footer a { margin: 12px 0 0; }
  .rk-live-tools { align-items: stretch; flex-direction: column; }
  .rk-live-tools input { width: 100%; }
  .rk-desk-digest > div,.rk-source-pulse-grid,.rk-live-record-links > div { grid-template-columns: 1fr; }
  .rk-coverage-compare { padding: 28px 20px; }
  .rk-coverage-compare > header { grid-template-columns: 1fr; }
  .rk-coverage-compare > header p { grid-column: 1; grid-row: auto; }
  .rk-coverage-compare article { padding: 13px 0; grid-template-columns: 1fr auto; gap: 8px; }
  .rk-coverage-compare article > span,.rk-coverage-compare article > div { grid-column: 1/3; }
  .rk-live-card { min-height: 325px; }
  .rk-live-meta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .rk-popularity-method { grid-template-columns: 1fr; }
  .rk-popularity-method > div { min-height: 145px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .rk-deep-files { margin-top: 70px; padding-top: 50px; }
  .rk-now-hero { min-height: 560px; padding: 55px 0; grid-template-columns: 65px 1fr; gap: 18px; align-items: start; }
  .rk-now-hero h1 { font-size: clamp(62px, 20vw, 88px); }
  .rk-now-hero > aside { grid-column: 2; width: 125px; height: 125px; }
  .rk-signal-grid { grid-template-columns: 1fr; }
  .rk-signal-grid article { min-height: 145px; border-right: 0; border-bottom: 1px solid var(--line); }
  .rk-current-coverage > header { align-items: flex-start; flex-direction: column; }
  .rk-current-coverage > div > a { grid-template-columns: 1fr 20px; gap: 10px; }
  .rk-current-coverage a span, .rk-current-coverage a strong, .rk-current-coverage a time { grid-column: 1; }
  .rk-current-coverage a b { grid-column: 2; grid-row: 1; }
  .rk-reviewed-bridge { grid-template-columns: 1fr; }
  .rk-live-caution { grid-template-columns: 1fr; }
  .rk-live-caution small { grid-column: 1; }
  .rk-topic-card { min-height: 330px; }
  .rk-curation-note { display: block; }
  .rk-curation-note span { display: block; margin-bottom: 6px; }
  .rk-election-preview { padding: 75px 0; }
  .rk-election-preview .shell { grid-template-columns: 1fr; }
  .rk-election-intro h2 { font-size: 52px; }
  .rk-poll-card { box-shadow: 8px 9px 0 #0b2722; }
  .rk-poll-card > header { padding: 20px; }
  .poll-lead div { padding: 18px 20px; }
  .poll-stack a { padding-inline: 20px; grid-template-columns: 1fr auto; }
  .poll-stack a em { display: none; }
  .rk-position-file > header { display: none; }
  .rk-position-file > article { padding: 20px; display: block; }
  .rk-position-file article > * { margin-bottom: 18px; }
  .rk-position-file article > div { padding-top: 18px; border-top: 1px solid var(--line); }
  .rk-position-file article > div::before { content: attr(data-label); display: block; margin-bottom: 8px; color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
  .rk-position-file > footer { flex-direction: column; }
  .rk-bottom-callout { margin-bottom: 70px; padding: 45px 25px; grid-template-columns: 1fr; gap: 24px; }
  .rk-bottom-callout .scribble { display: none; }
  .rk-curation-panel { grid-template-columns: 1fr; }
  .rk-topic-title { min-height: 470px; padding: 45px 0; grid-template-columns: 70px 1fr; gap: 18px; }
  .topic-marker-xl { width: 65px; height: 65px; font-size: 20px; }
  .rk-topic-title h1 { font-size: 68px; }
  .rk-topic-title > div > p:last-child { font-size: 15px; }
  .topic-folio { grid-column: 2; text-align: left; }
  .rk-topic-question { grid-template-columns: 1fr; gap: 12px; }
  .rk-topic-snapshot header { align-items: flex-start; flex-direction: column; }
  .rk-topic-snapshot header > p { text-align: left; }
  .rk-topic-stats { grid-template-columns: 1fr; }
  .rk-topic-stats article { min-height: 145px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .rk-topic-stats article:nth-child(2) { border-right: 0; }
  .rk-topic-stats article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .rk-topic-scope { grid-template-columns: 1fr; gap: 8px; }
  .rk-update-list > article { grid-template-columns: 1fr; gap: 18px; }
  .rk-update-date { flex-direction: row; align-items: center; gap: 13px; }
  .rk-update-list > article > a { grid-column: 1; }
  .rk-open-questions .shell { grid-template-columns: 1fr; }
  .rk-topic-record { padding-bottom: 55px; }
  .rk-related-files { margin-bottom: 70px; grid-template-columns: 1fr; }
  .rk-related-files > * { min-height: 115px; border-right: 0; }
  .election-desk-hero .shell > div { min-height: 500px; padding: 55px 0 165px; }
  .election-desk-hero h1 { font-size: 59px; }
  .election-desk-hero .shell > div > p:last-child { font-size: 14px; }
  .election-desk-hero aside { right: 10px; bottom: 28px; width: 125px; height: 125px; }
  .election-desk-hero aside strong { font-size: 43px; }
  .election-tabs { overflow-x: auto; align-items: flex-end; }
  .election-tabs { max-width: 100%; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .election-tabs a { min-width: 105px; }
  .election-metric-grid { grid-template-columns: 1fr 1fr; }
  .election-metric-grid article { min-height: 220px; padding: 19px; }
  .election-metric-grid article > strong { font-size: 54px; }
  .election-overview-split { grid-template-columns: 1fr; }
  .election-freshness { flex-direction: column; gap: 6px; }
  .election-freshness span { text-align: left; }
  .ratings-preview, .next-election-date { padding: 22px 18px; overflow-wrap: anywhere; }
  .rating-ribbon { overflow-x: auto; }
  .rating-ribbon div { min-width: 64px; }
  .election-view-head { flex-direction: column; }
  .poll-summary-card { grid-template-columns: 1fr; gap: 20px; }
  .poll-list-head { display: none; }
  .poll-list > a { grid-template-columns: 1fr 1fr; gap: 14px; }
  .poll-list > a > div:first-child { grid-column: 1 / -1; }
  .poll-reading-note { grid-template-columns: 1fr; }
  .ratings-board { grid-template-columns: repeat(2, 1fr); }
  .ratings-board article { min-height: 210px; }
  .election-calendar article { min-height: 120px; padding-inline: 10px; grid-template-columns: 30px 1fr; gap: 12px; }
  .election-calendar time { grid-column: 2; }
  .election-calendar article > div { grid-column: 2; }
  .election-results-empty { min-height: 610px; grid-template-columns: 1fr; gap: 25px; }
  .results-zero { font-size: 140px; }
  .election-sources { grid-template-columns: 1fr; }
  .election-sources > * { min-height: 120px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media print {
  .rk-hero-file, .rk-desk-strip, .rk-election-preview, .election-tabs, .rk-bottom-callout { box-shadow: none; transform: none; }
}
