/* Initial, quiet page design. Only small parallelogram controls remain. */
:root{
 --brand-ink:#686868;
 --brand-muted:#6b6b6b;
 --brand-navy:#284962;
 --brand-red:#d42027;
 --brand-white:#fff;
 --brand-cream:#fff8ee;
 --brand-cream-deep:#fff0ca;
 --brand-line:#e7e4df;
 --brand-radius:12px;
 --brand-shadow:0 5px 18px #33333306;
}
body{color:var(--brand-ink);background:#fff}
.header{background:#fffffff2;border-color:#eeeae5}
.heading,.hero h1,.hero h1 em,.household-section .heading,.growth .heading,.closing h2,
.promise h3,.policy h3,.household-card h3,.household-funding h3,.household-funding h4,
.policy-flow-card h3,.received-heading h3,.voice-list-group h4,.policy-finder h3,.map-title{color:#626262}
.hero h1 em{font-style:normal}
.lead,.hero .hero-lead,.promise p,.promise-points,.policy-lead,.household-section .lead,
.household-benefit p,.household-detail,.household-funding p,.policy-flow-card p,
.policy-flow-return p,.policy-flow figcaption,.policy-topic-copy>span,.policy-finder>p,
.voice-scope,.target small,.source-note,.subdetail .reference,.footer p,.hero-history dd,
.voice-foot,.draft{color:var(--brand-muted)}
.section-label,.household-section .section-label,.policies-section .section-label,.growth .section-label,
.hero .eyebrow,.hero-identity,.promise small,.household-timeline strong,.household-project,
.policy-top,.policy-top .number,.target strong,.policy-more>summary,.household-more>summary,
.household-key,.household-key strong,.household-benefit .household-key,.household-benefit h4,
.policy-topic,.policy-reading-links a,.promise-links a,.household-related a,.received-heading>span,
.household-tag,.map-action{color:var(--brand-ink)}
/* White space carries section changes; no sloping background partitions or floating scenery. */
.hero{background:#fff;border-radius:0}
.hero .eyebrow::before{background:var(--brand-red)}
.hero .portrait::before{background:#ffedb5;outline:none;box-shadow:0 0 0 24px #fff8e8}
.hero-identity{border:1px solid #e1e1de;border-radius:7px;box-shadow:0 4px 18px #33333308}
.hero-history{border-color:#e5e3df}
.kind-note{background:#fff8e8;color:var(--brand-ink)}
.policies-section{background:#f8f7f4}
.household-section{background:#fff}
.growth{background:#f3f7fa}
.closing{background:#faf8f4;color:var(--brand-ink);border:0}
/* Original card layout: aligned edges and equal-height policy cards. */
.policy,.household-card,.policy-flow-card{border:1px solid var(--brand-line);box-shadow:var(--brand-shadow)}
.household-funding{background:#faf9f6;border-color:var(--brand-line)}
.household-timeline li{border-color:var(--brand-line)}
.policy:target{box-shadow:0 5px 20px #28496212}
.policy>ul>li::before{background:#aaa49c}
.target:nth-child(n){background:#faf9f6}
.target:nth-child(n) .target-silhouette{fill:var(--brand-navy)}
.policy-grid .policy .policy-silhouette{color:var(--brand-navy)}
.policy-grid .policy .policy-art-halo{fill:#f8efda}
.policy-flow-arrow{color:#91a7b6}
.policy-flow-number{background:var(--brand-navy);color:#fff}
.policy-flow-return{background:#fff;border-color:#dce5eb;color:var(--brand-ink)}
.policy-map-node{background:#fff;border:1px solid var(--brand-line);box-shadow:var(--brand-shadow)}
.policy-map-base{background:#fff6e2;border-color:#eadfc4}
.policy-map-lines path{stroke:var(--brand-navy);stroke-opacity:.22}
.map-icon{color:var(--brand-navy)}
.map-icon-halo{fill:#faf3e2}
.map-action>span{color:var(--brand-red)}
.map-mobile-bridge span{background:#f8f7f4}
/* Small, quiet parallelograms; the text and focus outline stay level. */
.button,.hero .button,.hero .small-link,.closing .button{
 position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
 min-height:48px;padding:13px 25px;border:0;border-radius:0;box-shadow:none;
 background:transparent;color:#fff;font-size:14px;font-weight:700;line-height:1.7;text-decoration:none
}
.button::before,.hero .small-link::before{
 content:"";position:absolute;inset:0 6px;z-index:-1;transform:skewX(-9deg);
 background:var(--brand-red);border-radius:3px;pointer-events:none
}
.hero .small-link{color:var(--brand-ink)}
.hero .small-link::before{background:#fff;border:1px solid #deddd9}
.button:hover,.hero .button:hover,.hero .small-link:hover,.closing .button:hover{background:transparent}
.button:hover::before{background:#b8232b}
.hero .small-link:hover::before{background:#f8f7f4}
.policy-top .number{position:relative;isolation:isolate;padding:2px 9px}
.policy-top .number::before{content:"";position:absolute;inset:0 2px;z-index:-1;transform:skewX(-9deg);background:#f7f3e9;border-radius:3px;pointer-events:none}
.district-tabs button{background:#fff;color:var(--brand-ink);border-color:#e3dfda;border-radius:8px;box-shadow:none}
.district-tabs button[aria-selected=true]{background:var(--brand-red);border-color:var(--brand-red);color:#fff;box-shadow:none}
.received-voices li:nth-child(n)::before{background:#c38a7a}
a:focus-visible,button:focus-visible,summary:focus-visible,.hero a:focus-visible,.policy:focus-visible,
.district-tabs button:focus-visible,.district-tab-panels [role=tabpanel]:focus-visible{outline:3px solid var(--brand-navy);outline-offset:4px}
@media(max-width:750px){
 .hero h1{font-size:clamp(32px,8.9vw,42px)}
 .hero .portrait::before{box-shadow:0 0 0 22px #fff8e8}
 .hero .button,.hero .small-link{font-size:13px;padding:13px 22px}
}
@media(prefers-reduced-motion:no-preference){.button::before,.hero .small-link::before{transition:background-color .16s ease}}

/* Typographic hierarchy: section 48/34px, card 26/22px, body 15/14px. */
:root{--type-heading:#444444;--type-card:#4d4d4d;--type-body:#686868}
.hero h1,.hero h1 em{color:var(--type-heading);font-weight:800}
.heading,.household-section .heading,.growth .heading,.closing h2{
 font-size:48px;font-weight:800;line-height:1.45;letter-spacing:-.04em;
 color:var(--type-heading);margin-top:14px;margin-bottom:26px
}
.promise h3,.policy h3,.household-card h3,.household-funding>h3,.received-heading h3,.policy-finder h3{
 font-size:26px;font-weight:700;line-height:1.55;letter-spacing:-.025em;color:var(--type-card)
}
.policy-flow-card h3,.map-title,.policy-map-base .map-title{
 font-size:24px;font-weight:700;line-height:1.55;color:var(--type-card)
}
.household-benefit h4,.household-funding h4,.voice-list-group h4,.subdetail summary{
 font-size:16px;font-weight:700;line-height:1.7;color:var(--type-card)
}
.lead,.hero .hero-lead,.promise p,.promise-points,.policy-lead,.policy>ul>li,
.household-section .lead,.household-benefit p,.household-detail,.household-funding p,
.policy-flow-card p,.received-voices li,.message-body p,.closing p{
 font-size:15px;font-weight:400;line-height:1.95;color:var(--type-body)
}
.subdetail p{font-size:14px;font-weight:400;line-height:1.95;color:var(--type-body)}
.subdetail .reference{font-size:12px;color:var(--brand-muted)}
.section-label,.household-section .section-label,.policies-section .section-label,.growth .section-label{
 font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--brand-muted)
}
.policy-more>summary,.household-more>summary{font-weight:700}
@media(max-width:800px){
 .map-title,.policy-map-base .map-title,.policy-map-care .map-title{font-size:21px}
}
@media(max-width:750px){
 .heading,.household-section .heading,.growth .heading,.closing h2{font-size:34px;line-height:1.5;margin-bottom:22px}
 .promise h3,.policy h3,.household-card h3,.household-funding>h3,.received-heading h3,.policy-finder h3{font-size:22px}
 .policy-flow-card h3{font-size:22px}
 .lead,.hero .hero-lead,.promise p,.promise-points,.policy-lead,.policy>ul>li,
 .household-section .lead,.household-benefit p,.household-detail,.household-funding p,
 .policy-flow-card p,.received-voices li,.message-body p,.closing p{font-size:14px}
}
@media(max-width:380px){
 .heading,.household-section .heading,.growth .heading,.closing h2{font-size:32px}
 .map-title,.policy-map-base .map-title,.policy-map-care .map-title{font-size:18px}
 .policy-flow-card h3{font-size:20px}
}
