/* GovThatWorks.org V46 consolidated site bundle. Source order preserved from V45. */

/* ===== merged from /styles-v12.css ===== */
:root{
  --ink:#102133;
  --navy:#0b1b2c;
  --navy-2:#102c46;
  --blue:#225d92;
  --blue-2:#3478af;
  --sky:#dce9f3;
  --paper:#f5f1e8;
  --paper-2:#ebe3d4;
  --white:#fff;
  --muted:#5c6b78;
  --muted-2:#7a8893;
  --line:#d8dee2;
  --accent:#c8a467;
  --accent-soft:#efe3cf;
  --radius:22px;
  --radius-sm:14px;
  --max:1220px;
  --shadow:0 30px 80px rgba(7,22,36,.16);
  --shadow-soft:0 18px 50px rgba(9,28,44,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;color:var(--ink);background:#fbfcfc;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;line-height:1.66;text-rendering:optimizeLegibility}
a{color:inherit}
::selection{background:#cbdfee;color:#0a1a2b}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.03;margin:0 0 .72rem;font-weight:500}
h2{font-size:clamp(2.55rem,5.4vw,4.85rem);letter-spacing:-.05em}
h3{font-size:1.52rem}
p{margin-top:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}.narrow{max-width:1000px}
.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:12px;top:12px;background:white;padding:10px 14px;z-index:9999;border:2px solid var(--blue)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(250,251,251,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,33,51,.08)}
.nav-wrap{max-width:1320px;margin:auto;min-height:82px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:.86rem;line-height:1.13;letter-spacing:.015em;font-weight:540}
.brand-mark{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px}.brand-mark img{display:block;width:48px;height:48px;filter:drop-shadow(0 3px 8px rgba(12,30,47,.08))}
.brand-text b{font-weight:760}
.site-header nav{display:flex;gap:25px;align-items:center}
.site-header nav a{text-decoration:none;font-size:.86rem;color:#455868;position:relative;padding:28px 0 25px;transition:color .2s ease}
.site-header nav a:not(.nav-read):after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--blue);transition:right .25s ease}
.site-header nav a:hover,.site-header nav a.active{color:#08131f}
.site-header nav a:hover:after,.site-header nav a.active:after{right:0}
.site-header nav .nav-read{padding:10px 16px;border:1px solid #b8c4cc;border-radius:999px;color:var(--ink);background:#fff;font-weight:700}
.site-header nav .nav-read:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.menu-toggle{display:none}
.scroll-progress{height:2px;background:transparent;position:absolute;left:0;right:0;bottom:-1px}.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--blue))}

/* Hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 83% 10%,rgba(184,207,222,.58) 0,transparent 29%),
  radial-gradient(circle at 72% 68%,rgba(232,220,194,.6) 0,transparent 32%),
  linear-gradient(140deg,#fbfcfc 0%,#f4f7f6 52%,#f5f0e7 100%)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(12,32,49,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(12,32,49,.028) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to right,#000 0,rgba(0,0,0,.8) 48%,transparent 82%);pointer-events:none}
.hero-grid{position:relative;max-width:1320px;margin:auto;padding:106px 32px 100px;display:grid;grid-template-columns:1.15fr .85fr;gap:76px;align-items:center}
.hero-copy{max-width:780px}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.69rem;color:var(--blue)}
.kicker{display:inline-flex;align-items:center;gap:12px}.kicker:before{content:"";width:42px;height:1px;background:var(--accent)}
.hero h1{font-size:clamp(3.7rem,7.1vw,7.55rem);letter-spacing:-.066em;max-width:920px;margin:.62rem 0 1.3rem;color:#0b1d2e}
.hero h1 em{font-weight:400;color:var(--blue);font-style:italic}
.hero-deck{font-size:1.18rem;max-width:700px;color:#435665;line-height:1.65}
.hero-quote{margin:30px 0 30px;padding:2px 0 2px 22px;border-left:2px solid var(--accent);font-family:Georgia,serif;font-size:1.28rem;line-height:1.48;max-width:660px;color:#1b3347}
.hero-actions,.fiscal-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border-radius:999px;text-decoration:none;font-weight:760;font-size:.88rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--navy);color:white;box-shadow:0 8px 20px rgba(10,29,45,.16)}.btn.primary:hover{background:#142f47;box-shadow:0 11px 25px rgba(10,29,45,.22)}
.btn.secondary{border:1px solid #aebcc6;background:rgba(255,255,255,.62)}.btn.secondary:hover{background:#fff;border-color:#768b9a}.btn.light{background:white;color:var(--navy)}
.hero-meta-grid{display:flex;gap:0;margin-top:32px;border-top:1px solid rgba(16,33,51,.13);border-bottom:1px solid rgba(16,33,51,.13);max-width:620px}
.hero-meta-grid div{display:flex;align-items:baseline;gap:8px;padding:13px 22px 13px 0;margin-right:22px;border-right:1px solid rgba(16,33,51,.13)}.hero-meta-grid div:last-child{border-right:0;margin-right:0}
.hero-meta-grid strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--blue)}.hero-meta-grid span{font-size:.72rem;color:#697b88;text-transform:uppercase;letter-spacing:.08em;line-height:1.25}
.source-note{font-size:.76rem;color:#6c7d89;margin-top:16px;letter-spacing:.02em}

/* Book object */
.book-stage{position:relative;min-height:565px;display:grid;place-items:center;perspective:1100px}
.book-stage:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(34,93,146,.16);border-radius:50%;top:34px;right:0}
.book-stage:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(200,164,103,.28);border-radius:50%;bottom:15px;left:10px}
.book-shadow{position:absolute;width:340px;height:95px;background:rgba(12,29,46,.23);filter:blur(34px);bottom:17px;transform:rotate(-5deg)}
.book-cover{position:relative;width:min(372px,82vw);aspect-ratio:.66;background:linear-gradient(155deg,#173551 0%,#0d2033 52%,#081725 100%);color:white;box-shadow:0 36px 85px rgba(8,25,40,.3);padding:45px 39px;transform:rotateY(-9deg) rotateZ(1.4deg);border-radius:4px;z-index:2;overflow:hidden}
.book-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 24%,transparent 80%,rgba(255,255,255,.05));pointer-events:none}
.book-cover:after{content:"";position:absolute;top:0;right:0;width:8px;height:100%;background:linear-gradient(to right,rgba(255,255,255,.02),rgba(255,255,255,.15))}
.cover-edition{font-size:.58rem;letter-spacing:.19em;color:#9db6c8;margin-bottom:18px}.cover-rule{width:75px;height:2px;background:var(--accent);margin-bottom:27px}.cover-small{font-size:.62rem;letter-spacing:.19em;line-height:1.58;color:#c8d7e2}.cover-title{font-family:Georgia,serif;font-size:clamp(2.35rem,4.4vw,4.05rem);line-height:.95;letter-spacing:-.052em;margin-top:59px}.cover-title span{font-style:italic;color:#bdd9e9}.cover-author{position:absolute;left:39px;bottom:39px;letter-spacing:.18em;font-size:.67rem}.cover-author:before{content:"";display:block;width:42px;height:1px;background:rgba(255,255,255,.4);margin-bottom:12px}

/* Six principles */
.principle-band{position:relative;background:var(--navy);color:white;padding:0;overflow:hidden}
.principle-band:before{content:"THE SIX TESTS";position:absolute;right:-25px;top:-25px;font-family:Georgia,serif;font-size:8rem;letter-spacing:-.05em;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none}
.principle-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.principle-grid div{min-height:135px;border-left:1px solid rgba(255,255,255,.13);padding:31px 20px 25px}.principle-grid div:last-child{border-right:1px solid rgba(255,255,255,.13)}
.principle-grid span{font-family:Georgia,serif;font-weight:500;font-size:1rem;display:block;color:#f5f8fa}.principle-grid small{display:block;color:#9fb5c4;line-height:1.42;margin-top:8px;font-size:.73rem}

/* Common section system */
.section{padding:118px 0;position:relative}.section-head{max-width:840px;margin-bottom:56px}.section-head .eyebrow{margin-bottom:12px}.section-head p{font-size:1.08rem;color:var(--muted);max-width:740px;line-height:1.7}.section-head.split{max-width:none;display:grid;grid-template-columns:1fr .82fr;gap:78px;align-items:end}.section-head.split p{margin-bottom:8px}
.philosophy{background:#fff}.philosophy:before{content:"01";position:absolute;left:max(24px,calc((100vw - var(--max))/2 - 88px));top:93px;font-family:Georgia,serif;font-size:4rem;color:rgba(16,33,51,.045)}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.test-card{position:relative;border:1px solid #dde3e6;border-radius:var(--radius);padding:30px 28px 31px;background:#fff;min-height:330px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.test-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue),var(--accent));opacity:.82}.test-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:#cad4da}.test-index{font-size:.69rem;font-weight:850;letter-spacing:.14em;color:var(--blue);margin-bottom:36px}.test-card h3{font-size:1.7rem;letter-spacing:-.025em}.test-card p{font-size:.91rem;color:#596b78}.test-question{font-weight:760;color:#223a4d!important}

/* Commitments */
.commitments{background:var(--paper);border-top:1px solid #e6dfd1;border-bottom:1px solid #e6dfd1}.commitments:before{content:"";position:absolute;left:0;right:0;top:0;height:100%;background-image:radial-gradient(rgba(30,58,78,.045) .7px,transparent .7px);background-size:17px 17px;pointer-events:none;opacity:.6}.commitments .wrap{position:relative}.commitment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.commitment-card{position:relative;background:rgba(255,255,255,.9);border-radius:var(--radius);padding:34px 35px 33px;border:1px solid #e1dbcf;box-shadow:0 8px 25px rgba(58,50,36,.035);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.commitment-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(58,50,36,.08)}.commitment-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.72}.commitment-num{font-size:.68rem;font-weight:850;color:var(--blue);letter-spacing:.14em}.commitment-card h3{margin-top:18px;font-size:1.72rem;letter-spacing:-.025em;color:#173049}.commitment-card p{font-size:.91rem;color:#5b6871;line-height:1.67;margin-bottom:0}

/* Plan */
.plan{background:#fbfcfc}.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;counter-reset:part}.area-card{position:relative;border-radius:var(--radius);padding:33px 34px 30px;background:#eef4f6;border:1px solid #dce7eb;overflow:hidden;counter-increment:part;transition:transform .22s ease,box-shadow .22s ease}.area-card:after{content:counter(part,decimal-leading-zero);position:absolute;right:20px;top:3px;font-family:Georgia,serif;font-size:6.6rem;line-height:1;color:rgba(25,65,94,.055);pointer-events:none}.area-card:nth-child(3n){background:#f5f0e6;border-color:#e7dfd2}.area-card:nth-child(3n):after{color:rgba(109,84,43,.06)}.area-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.area-card .eyebrow{position:relative;z-index:1}.area-card h3{font-size:2rem;letter-spacing:-.035em;margin-top:9px;max-width:85%;position:relative;z-index:1}.area-card p{color:#536978;max-width:88%;position:relative;z-index:1}.area-card details{border-top:1px solid rgba(16,33,51,.13);margin-top:22px;padding-top:15px;position:relative;z-index:1}.area-card summary{cursor:pointer;font-weight:800;font-size:.86rem;list-style:none;display:flex;align-items:center;gap:8px}.area-card summary:after{content:"+";font-size:1.1rem;color:var(--blue)}.area-card details[open] summary:after{content:"−"}.area-card summary::-webkit-details-marker{display:none}.area-card ul{padding-left:19px;font-size:.81rem;color:#5e6c78;line-height:1.6;margin-bottom:2px}

/* Amendments */
.amendments{background:linear-gradient(145deg,#0c1e30 0%,#0a1724 72%);color:white;overflow:hidden}.amendments:before{content:"WE THE PEOPLE";position:absolute;left:-10px;top:40px;font-family:Georgia,serif;font-size:12rem;letter-spacing:-.07em;color:rgba(255,255,255,.018);white-space:nowrap}.amendments:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(57,126,173,.12),transparent 28%);pointer-events:none}.amendments .wrap{position:relative;z-index:1}.amendments .section-head p{color:#a9bfce}.amendments .eyebrow{color:#8fc3df}.amendment-list{border-top:1px solid rgba(255,255,255,.17)}.amendment{border-bottom:1px solid rgba(255,255,255,.14)}.amendment summary{list-style:none;display:grid;grid-template-columns:62px 1fr 38px;gap:16px;align-items:center;padding:24px 4px;cursor:pointer;font-family:Georgia,serif;font-size:1.39rem;transition:background .2s ease,padding-left .2s ease}.amendment summary:hover{background:rgba(255,255,255,.025);padding-left:10px}.amendment summary::-webkit-details-marker{display:none}.amendment .number{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.68rem;letter-spacing:.14em;color:#8fc3df}.amendment .chev{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.65rem;font-weight:300;text-align:center;transition:.2s}.amendment[open] .chev{transform:rotate(45deg);color:var(--accent)}.amendment-body{padding:3px 36px 43px 82px;max-width:860px;color:#d4e0e7}.amendment-body p{font-size:.94rem;line-height:1.78}.amendment-body p:first-of-type{font-size:1rem}.proposal-label{display:inline-block;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 11px;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;margin:5px 0 18px;color:#9ec8df;background:rgba(255,255,255,.025)}

/* Fiscal */
.fiscal{background:linear-gradient(180deg,#f3f7f7 0%,#edf3f4 100%);overflow:hidden}.fiscal-intro{margin-bottom:46px}.fiscal-copy p{font-size:1.05rem;color:var(--muted);max-width:660px}.fiscal-dashboard{position:relative;background:#fff;border:1px solid #dfe7ea;border-radius:30px;padding:34px;box-shadow:0 28px 70px rgba(10,33,50,.09);overflow:hidden}.fiscal-dashboard:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(34,93,146,.08);border-radius:50%;right:-150px;top:-175px}.dashboard-heading{position:relative;display:grid;grid-template-columns:1fr .8fr;gap:55px;align-items:end;margin-bottom:25px}.dashboard-heading h3{font-size:2.35rem;margin-top:8px}.dashboard-heading p{color:#667784;margin:0;font-size:.9rem}.scenario-switch{position:relative;display:inline-flex;gap:5px;background:#eef3f5;border-radius:999px;padding:5px;margin-bottom:20px}.scenario-switch button{border:0;background:transparent;color:#506473;border-radius:999px;padding:9px 15px;font-weight:750;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.scenario-switch button:hover{transform:translateY(-1px)}.scenario-switch button.active{background:var(--navy);color:white;box-shadow:0 5px 12px rgba(9,31,48,.13)}.scenario-readout{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:22px;background:linear-gradient(135deg,#0e2740,#173e5c);color:white;border-radius:22px;padding:27px 30px;margin-bottom:20px}.readout-label{display:block;color:#9fc2d8;text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;font-weight:800}.readout-main strong{display:block;font-family:Georgia,serif;font-size:3rem;font-weight:500;line-height:1;margin:8px 0 10px}.readout-main small{display:block;color:#bdd0dc;max-width:620px;line-height:1.5}.readout-side{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.12);padding-left:25px;gap:18px}.readout-side div{display:flex;flex-direction:column;justify-content:center}.readout-side span{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:#95b4c8}.readout-side strong{font-family:Georgia,serif;font-size:1.75rem;font-weight:500}.fiscal-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative}.chart-card{background:#f7f9fa;border:1px solid #e2e8eb;border-radius:20px;padding:25px;min-height:330px;overflow:hidden}.chart-card-wide{grid-column:1/-1}.chart-title-row{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:20px}.chart-title-row h3{font-size:1.55rem;margin:.3rem 0 0}.chart-kicker{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--blue)}.chart-unit{font-size:.69rem;color:#7b8a94;white-space:nowrap}.line-chart-wrap{height:280px}.line-chart{width:100%;height:100%;overflow:visible}.line-grid{stroke:#dce5e9;stroke-width:1}.line-axis-label{font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#74848f}.line-main{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(34,93,146,.12));stroke-dasharray:1200;stroke-dashoffset:1200}.line-area{fill:url(#debtAreaGradient);opacity:0}.line-point{fill:white;stroke:var(--blue);stroke-width:3;transform-origin:center;transform:scale(0)}.fiscal-dashboard.animate .line-main{animation:drawLine 1.35s ease forwards}.fiscal-dashboard.animate .line-area{animation:fadeArea .8s ease .65s forwards}.fiscal-dashboard.animate .line-point{animation:popPoint .35s ease forwards}.chart-foot{display:flex;justify-content:space-between;color:#6e7f8b;font-size:.75rem;margin-top:5px}.diverging-chart{position:relative;padding:4px 0}.zero-line{position:absolute;left:47%;top:0;bottom:0;width:1px;background:#bcc8cf}.div-row{display:grid;grid-template-columns:105px 1fr 72px;gap:11px;align-items:center;margin:18px 0;font-size:.78rem}.div-row>span{color:#5d6f7c}.div-row>b{text-align:right;font-weight:800;color:#243d50}.div-track{height:13px;position:relative;border-radius:999px;background:linear-gradient(90deg,#e9eef0 0 47%,#d7e0e5 47% 47.5%,#e9eef0 47.5% 100%);overflow:visible}.div-track i{position:absolute;height:100%;top:0;width:0;border-radius:999px;background:var(--blue);transition:width 1s cubic-bezier(.2,.75,.25,1),left 1s cubic-bezier(.2,.75,.25,1)}.div-track i.negative{right:53%;background:#a25b54}.div-track i.positive{left:47%;background:#3d789d}.chart-note{font-size:.76rem!important;color:#71808b!important;line-height:1.5;margin:24px 0 0}.distribution-card{min-height:auto}.distribution-band{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:0;border-radius:18px;overflow:hidden;border:1px solid #dbe4e8}.band{padding:23px 22px;min-height:172px;position:relative;transform:none;opacity:1}.band+ .band{border-left:1px solid rgba(16,33,51,.1)}.band span{font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;display:block;margin-bottom:15px}.band b{font-family:Georgia,serif;font-size:1.34rem;font-weight:500;display:block;margin-bottom:8px}.band small{line-height:1.5;color:#586c7b}.band.robust{background:#e7f0eb}.band.robust span{color:#3c7657}.band.conditional{background:#f4ecdc}.band.conditional span{color:#9a6d2d}.band.variable{background:#eef2f4}.band.variable span{color:#667987}.fiscal-dashboard.animate .band{animation:bandIn .55s ease forwards}.fiscal-dashboard.animate .band:nth-child(2){animation-delay:.16s}.fiscal-dashboard.animate .band:nth-child(3){animation-delay:.32s}.distribution-note{font-size:.79rem!important;color:#60717d!important;margin:16px 0 0!important}.distribution-note strong{color:#263d4e}.fiscal-actions{margin-top:20px}
@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes fadeArea{to{opacity:.13}}@keyframes popPoint{to{transform:scale(1)}}@keyframes bandIn{to{transform:none;opacity:1}}

/* Research */
.research{background:white}.research-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px}.research-main{position:sticky;top:126px;align-self:start}.research-main p{color:var(--muted);font-size:1.05rem}.research-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px;counter-reset:research}.mini-card{position:relative;background:#f4f6f7;padding:29px 27px;border-radius:18px;counter-increment:research;overflow:hidden;border:1px solid #e7ecef}.mini-card:before{content:counter(research,decimal-leading-zero);display:block;font-size:.65rem;letter-spacing:.14em;font-weight:850;color:var(--blue);margin-bottom:32px}.mini-card:after{content:"";position:absolute;width:86px;height:86px;border:1px solid rgba(34,93,146,.09);border-radius:50%;right:-25px;top:-25px}.mini-card h3{font-size:1.35rem}.mini-card p{font-size:.9rem;color:#60717f;margin-bottom:0}

/* Read card / footer */
.read-book{padding-top:36px;background:white}.read-card{position:relative;background:linear-gradient(135deg,#173a56,#0b1e30);color:white;border-radius:30px;padding:57px 58px;display:flex;align-items:center;justify-content:space-between;gap:40px;overflow:hidden}.read-card:before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-90px;top:-160px}.read-card p{color:#bdced9;max-width:700px}.read-card .eyebrow{color:#95c2d9}.read-card>*{position:relative;z-index:1}
footer{padding:58px 0 72px;background:#07131f;color:#d1dde5}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:35px}.footer-grid strong{font-family:Georgia,serif;font-weight:500;font-size:1.05rem}.footer-grid span,.footer-note{color:#8399a8;font-size:.78rem}.footer-links{display:flex;gap:18px;font-size:.8rem}.footer-links a{text-decoration:none;color:#b9cbd6}.footer-links a:hover{color:#fff}.footer-note{grid-column:1/-1;max-width:920px;margin:0;border-top:1px solid rgba(255,255,255,.09);padding-top:24px;line-height:1.6}

/* Motion & focus */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #72a9d0;outline-offset:4px;border-radius:4px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.test-card,.commitment-card,.area-card,.amendment summary{transition:none}}
@media (max-width:1080px){.site-header nav{gap:17px}.site-header nav a{font-size:.81rem}.hero-grid{gap:42px}.principle-grid{grid-template-columns:repeat(3,1fr)}.principle-grid div:nth-child(4){border-left:1px solid rgba(255,255,255,.13)}.test-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.dashboard-heading,.scenario-readout{grid-template-columns:1fr}.readout-side{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:18px}.fiscal-chart-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:auto}.distribution-band{grid-template-columns:1fr}.band+ .band{border-left:0;border-top:1px solid rgba(16,33,51,.1)}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fbfcfc;padding:18px 28px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 30px rgba(12,30,47,.08)}.site-header nav.open{display:flex}.site-header nav a,.site-header nav .nav-read{padding:12px 4px;border:0;border-radius:0;background:transparent}.site-header nav .nav-read{color:var(--blue)}.site-header nav a:after{display:none}.menu-toggle{display:block;border:1px solid var(--line);background:white;border-radius:999px;padding:8px 14px;font-weight:700;color:var(--ink)}.hero-grid,.fiscal-grid,.research-grid{grid-template-columns:1fr}.hero-copy{max-width:none}.book-stage{min-height:480px}.book-stage:before{right:12%}.principle-grid{grid-template-columns:repeat(3,1fr)}.research-main{position:static}.section-head.split{grid-template-columns:1fr;gap:14px}.footer-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.area-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.fiscal-dashboard{padding:21px;border-radius:22px}.dashboard-heading h3{font-size:1.9rem}.scenario-switch{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}.scenario-switch button{padding:8px 6px;font-size:.72rem}.scenario-readout{padding:22px}.readout-main strong{font-size:2.5rem}.readout-side{grid-template-columns:1fr 1fr}.chart-card{padding:20px}.chart-title-row{display:block}.chart-unit{display:block;margin-top:5px}.div-row{grid-template-columns:78px 1fr 60px;gap:7px}.line-chart-wrap{height:230px}.wrap,.nav-wrap{padding-left:20px;padding-right:20px}.nav-wrap{min-height:74px}.site-header nav{top:74px}.hero-grid{padding:72px 20px 70px}.hero h1{font-size:3.45rem;letter-spacing:-.058em}.hero-deck{font-size:1.03rem}.hero-quote{font-size:1.14rem}.hero-meta-grid{display:grid;grid-template-columns:repeat(3,1fr)}.hero-meta-grid div{display:block;margin:0;padding:12px 9px;border-right:1px solid rgba(16,33,51,.12)}.hero-meta-grid strong{display:block}.hero-meta-grid span{font-size:.61rem}.book-stage{min-height:415px}.book-cover{width:276px;padding:33px 28px}.cover-title{margin-top:45px}.cover-author{left:28px}.principle-grid{grid-template-columns:1fr 1fr}.principle-grid div{min-height:124px;padding:25px 18px}.test-grid,.commitment-grid,.area-grid,.research-cards{grid-template-columns:1fr}.section{padding:84px 0}.section-head{margin-bottom:40px}.section-head h2{font-size:2.9rem}.amendment summary{grid-template-columns:42px 1fr 24px;font-size:1.12rem;padding:20px 3px}.amendment-body{padding-left:46px;padding-right:8px}.read-card{padding:38px 28px;display:block}.read-card .btn{margin-top:16px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.brand-text{display:none}.philosophy:before{display:none}}
@media print{.site-header,.hero-actions,.book-stage,.principle-band,.read-book,footer{display:none!important}.section{padding:30px 0}.reveal{opacity:1!important;transform:none!important}.commitment-card,.test-card,.area-card{break-inside:avoid;box-shadow:none}.amendments{background:#fff!important;color:#000}.amendment-body,.amendments .section-head p{color:#222}.amendment{border-color:#bbb}.proposal-label{color:#333;border-color:#aaa}}

/* Fiscal path comparison */
.comparison-card{background:linear-gradient(180deg,#fbfcfc 0%,#f4f7f8 100%)}
.comparison-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:-2px 0 18px}
.comparison-summary div{padding:14px 16px;border:1px solid #dde6ea;border-radius:14px;background:rgba(255,255,255,.72)}
.comparison-summary span{display:block;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;color:#71828d;font-weight:800;margin-bottom:5px}
.comparison-summary strong{font-family:Georgia,serif;font-weight:500;font-size:1.55rem;color:#17354e}
.chart-legend{display:flex;gap:22px;align-items:center;margin:0 0 4px 2px;font-size:.72rem;color:#5b6c78}
.chart-legend span{display:inline-flex;align-items:center;gap:8px}
.chart-legend span:before{content:"";display:inline-block;width:23px;height:3px;border-radius:999px}
.legend-current:before{background:#9a5d58}.legend-plan:before{background:var(--blue)}
.current-line{fill:none;stroke:#9a5d58;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200}
.plan-line{fill:none;stroke:var(--blue);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;filter:drop-shadow(0 4px 5px rgba(34,93,146,.12))}
.current-point{fill:white;stroke:#9a5d58;stroke-width:2.6;transform-origin:center;transform:scale(0)}
.plan-point{fill:white;stroke:var(--blue);stroke-width:3;transform-origin:center;transform:scale(0)}
.fiscal-dashboard.animate .current-line{animation:drawLine 1.25s ease .08s forwards}.fiscal-dashboard.animate .plan-line{animation:drawLine 1.35s ease .2s forwards}
.fiscal-dashboard.animate .current-point,.fiscal-dashboard.animate .plan-point{animation:popPoint .35s ease forwards}
.comparison-note{margin-top:12px!important}
@media (max-width:680px){.comparison-summary{grid-template-columns:1fr}.chart-legend{flex-wrap:wrap;gap:10px 18px}.comparison-chart-wrap{height:250px}}

/* ===== Visual redesign inspired by reference mockup ===== */
body{background:#f8f6f1}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,35,52,.08)}
.nav-wrap{max-width:1400px;min-height:92px;padding:0 42px;gap:24px}
.brand{gap:16px;min-width:320px}
.brand-mark{width:78px;height:78px;flex:0 0 78px}.brand-mark img{width:78px;height:78px;filter:none}
.brand-text{font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.02;letter-spacing:-.01em;color:#0b1c2d;display:block}
.brand-text b{display:block;font-size:1.06em;font-weight:600}
.brand-text small{display:block;margin-top:8px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:.62rem;line-height:1.2;letter-spacing:.26em;text-transform:uppercase;color:#0f2c48;font-weight:800}
.site-header nav{gap:34px;flex-wrap:wrap;justify-content:flex-end}
.site-header nav a{padding:32px 0 28px;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.03em;font-size:.77rem;color:#0b2135;font-weight:700}
.site-header nav a:not(.nav-read):after{bottom:21px;height:2px;background:#193b5c}
.scroll-progress span{background:linear-gradient(90deg,#183956,#c7342d)}

.hero{position:relative;overflow:hidden;background:#0a1624 url('hero-capitol-user.webp') center center/cover no-repeat;min-height:740px}
.hero:before{display:none}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,36,.94) 0%,rgba(7,21,36,.86) 25%,rgba(7,21,36,.58) 42%,rgba(7,21,36,.18) 60%,rgba(7,21,36,.46) 100%),linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.14) 100%)}
.hero-grid{position:relative;z-index:1;max-width:1400px;min-height:740px;padding:118px 48px 72px;grid-template-columns:minmax(480px,720px) minmax(240px,360px);gap:52px;align-items:center}
.hero-copy{max-width:660px;color:#fff;padding:18px 0 0}
.kicker{display:block;margin-bottom:16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:#fff;text-transform:uppercase;letter-spacing:.31em;font-size:.94rem;font-weight:800}
.kicker:before{display:none}
.hero h1{font-size:clamp(3.7rem,6vw,5.25rem);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;color:#fff}
.hero h1 em{color:#fff}
.hero-deck{font-family:Georgia,"Times New Roman",serif;font-size:1.09rem;max-width:620px;color:rgba(255,255,255,.94);line-height:1.55;margin-bottom:28px}
.hero-actions{gap:18px}
.btn{min-height:54px;padding:0 32px;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.09em;font-size:1rem}
.btn.primary{background:linear-gradient(180deg,#c83a31 0%,#b9201d 100%);box-shadow:0 14px 30px rgba(141,19,16,.25)}
.btn.primary:hover{background:linear-gradient(180deg,#d5483f 0%,#bd231f 100%)}
.btn.secondary{background:transparent;border:1.5px solid rgba(255,255,255,.88);color:#fff}
.btn.secondary:hover{background:rgba(255,255,255,.08);border-color:#fff}
.hero-meta-grid,.source-note{display:none}
.hero-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:34px;color:#fff}
.hero-quote-card{max-width:360px;text-align:left;color:#fff;background:rgba(9,25,40,.18);backdrop-filter:blur(4px);padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 35px rgba(4,17,29,.12);justify-self:end}
.hero-quote{margin:0;max-width:9.2ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2.15vw,2.7rem);line-height:1.12;color:#fff7ea;text-shadow:0 2px 12px rgba(0,0,0,.32);padding:0;border:0;text-wrap:balance}
.hero-attrib{margin-top:14px;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.18em;font-size:.95rem;color:#f4dec1;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.hero-values{display:flex;flex-direction:column;gap:10px;padding:22px 0 22px 26px;border-left:1px solid rgba(255,255,255,.55);position:relative}
.hero-values:before,.hero-values:after{content:"";position:absolute;left:-1px;width:48px;height:1px;background:rgba(255,255,255,.7)}
.hero-values:before{top:0}.hero-values:after{bottom:0}
.hero-values span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:1rem;letter-spacing:.23em;text-transform:uppercase;color:#f7f9fb}

.principle-band{margin-top:0;background:#0c1a2a}
.section-head h2{font-size:clamp(2.4rem,4vw,4rem)}


.policy-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 22px}
.policy-lane{border-radius:22px;padding:28px 30px;background:#fff;border:1px solid #dfe6ea;box-shadow:var(--shadow-soft)}
.policy-lane h3{font-size:1.65rem;letter-spacing:-.02em;margin-bottom:14px}
.policy-lane ul{margin:0;padding-left:18px;color:#4b5d69}
.policy-lane li{margin:0 0 10px}
.policy-lane strong{color:#112538}
.lane-kicker{display:inline-block;margin-bottom:10px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#6b7c88}
.current-policy{background:linear-gradient(180deg,#fff 0%,#f7f5f2 100%)}
.plan-policy{background:linear-gradient(180deg,#f5f9fd 0%,#eef4f8 100%);border-color:#cbd9e4}
@media (max-width:900px){.policy-compare{grid-template-columns:1fr}}

@media (max-width:1200px){
  .brand{min-width:auto}.brand-mark{width:62px;height:62px;flex-basis:62px}.brand-mark img{width:62px;height:62px}
  .site-header nav{gap:22px}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:110px;padding-bottom:58px}
  .hero-side{align-items:flex-start}.hero-quote-card{max-width:460px}
}
@media (max-width:760px){
  .site-header{position:sticky}
  .nav-wrap{padding:0 18px;min-height:78px}
  .brand{gap:10px}.brand-mark{width:50px;height:50px;flex-basis:50px}.brand-mark img{width:50px;height:50px}
  .brand-text{font-size:.78rem}.brand-text small{font-size:.51rem;letter-spacing:.16em}
  .hero{min-height:auto;background-position:center center}
  .hero-grid{padding:88px 22px 44px;gap:28px}
  .kicker{font-size:.72rem;letter-spacing:.18em}
  .hero h1{font-size:3.05rem}
  .hero-deck{font-size:1rem}
  .btn{width:100%}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-quote{font-size:2rem;max-width:100%}
  .hero-attrib{font-size:.82rem}
  .hero-values span{font-size:.79rem;letter-spacing:.15em}
}

/* Objections & Answers */
.objections-section{background:linear-gradient(180deg,#f7f4ed 0%,#f2eee5 100%);border-top:1px solid #e0d9cc;border-bottom:1px solid #ded7ca}
.objections-section .section-head{margin-bottom:36px}
.objection-download{margin-top:10px;background:#1b474d!important;color:#fff!important;border:0!important}.objection-download:hover{background:#12383d!important}
.objection-list{border-top:1px solid rgba(16,33,51,.16)}
.objection-item{border-bottom:1px solid rgba(16,33,51,.15)}
.objection-item summary{display:grid;grid-template-columns:150px 1fr 32px;gap:22px;align-items:center;padding:23px 4px;cursor:pointer;list-style:none;font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.3;color:#102133}
.objection-item summary::-webkit-details-marker{display:none}
.objection-tag{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1b474d}
.objection-plus{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.6rem;font-weight:300;text-align:center;transition:transform .2s ease;color:#8a3324}
.objection-item[open] .objection-plus{transform:rotate(45deg)}
.objection-body{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 4px 27px 172px}
.objection-body>div{background:rgba(255,255,255,.72);border:1px solid #ddd7cb;border-radius:14px;padding:18px 19px}
.objection-body b{display:block;margin-bottom:7px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#1b474d}
.objection-body div:first-child{border-left:3px solid #8a3324}.objection-body div:first-child b{color:#8a3324}
.objection-body p{font-size:.9rem;color:#50616d;margin:0;line-height:1.58}
@media(max-width:850px){.objection-item summary{grid-template-columns:1fr 28px;gap:10px}.objection-tag{grid-column:1/-1}.objection-body{grid-template-columns:1fr;padding-left:4px}}

/* Objections & Answers */
.objections-section{background:linear-gradient(180deg,#f7f4ed 0%,#f2eee5 100%);border-top:1px solid #e0d9cc;border-bottom:1px solid #ded7ca}
.objections-section .section-head{margin-bottom:36px}
.objection-download{margin-top:10px;background:#1b474d!important;color:#fff!important;border:0!important}.objection-download:hover{background:#12383d!important}
.objection-list{border-top:1px solid rgba(16,33,51,.16)}
.objection-item{border-bottom:1px solid rgba(16,33,51,.15)}
.objection-item summary{display:grid;grid-template-columns:150px 1fr 32px;gap:22px;align-items:center;padding:23px 4px;cursor:pointer;list-style:none;font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.3;color:#102133}
.objection-item summary::-webkit-details-marker{display:none}
.objection-tag{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1b474d}
.objection-plus{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.6rem;font-weight:300;text-align:center;transition:transform .2s ease;color:#8a3324}
.objection-item[open] .objection-plus{transform:rotate(45deg)}
.objection-body{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 4px 27px 172px}
.objection-body>div{background:rgba(255,255,255,.72);border:1px solid #ddd7cb;border-radius:14px;padding:18px 19px}
.objection-body b{display:block;margin-bottom:7px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#1b474d}
.objection-body div:first-child{border-left:3px solid #8a3324}.objection-body div:first-child b{color:#8a3324}
.objection-body p{font-size:.9rem;color:#50616d;margin:0;line-height:1.58}
@media(max-width:850px){.objection-item summary{grid-template-columns:1fr 28px;gap:10px}.objection-tag{grid-column:1/-1}.objection-body{grid-template-columns:1fr;padding-left:4px}}

/* ===== Civic structure / government reorganization ===== */
.government-reform{background:linear-gradient(180deg,#eef3f4 0%,#f8f6f1 100%);border-top:1px solid #d9e2e6;border-bottom:1px solid #e1ded7}
.government-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.civic-btn{background:#15354f;color:#fff!important;border:1px solid #15354f!important}
.civic-btn:hover{background:#0d263b!important}.secondary-civic{background:transparent!important;color:#15354f!important}.secondary-civic:hover{background:#15354f!important;color:#fff!important}
.dhs-banner{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;padding:24px 26px;margin:34px 0 22px;border-radius:20px;background:#fff4f1;border:1px solid #e5b9ad;box-shadow:var(--shadow-soft)}
.dhs-banner h3{font-size:1.75rem;margin:.15rem 0 .35rem}.dhs-banner p{margin:0;color:#5b6266}.dhs-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#a92a22;color:#fff;font:300 2.2rem/1 Georgia,serif}
.reorg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.reorg-card{background:#fff;border:1px solid #dce4e7;border-radius:22px;padding:26px 28px;box-shadow:var(--shadow-soft)}
.reorg-card h3{font-size:1.6rem;margin:.45rem 0 .9rem;letter-spacing:-.02em}.reorg-card p{color:#51616d;margin:14px 0 0;line-height:1.58}
.reorg-status{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:.66rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;background:#e8eef2;color:#15354f}
.reorg-status.merge{background:#f3e7e1;color:#7e2e24}.reorg-status.new{background:#e2eef1;color:#135160}.reorg-status.rebuild{background:#e9e8f2;color:#3b3b70}.reorg-status.expand{background:#eef1df;color:#4e5b20}.reorg-status.independent{background:#f3ead8;color:#6f5320}
.transfer-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:14px;border-radius:14px;background:#f6f8f9;border:1px solid #e4e9ec}
.transfer-flow span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d5dfe4;font-size:.72rem;font-weight:760;color:#425665}.transfer-flow b{font-size:1.15rem;color:#9c342a}.transfer-flow strong{font-size:.76rem;color:#10283d}
.preserve-strip{margin-top:22px;padding:22px 26px;border-left:4px solid #1b666d;background:#fff;border-radius:0 16px 16px 0}.preserve-strip p{margin:.45rem 0 0;color:#52636f}

/* ===== Civic lab pages ===== */
.civic-page{background:#f7f5ef}.civic-page .site-header{background:rgba(255,255,255,.94)}
.civic-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a1d30 0%,#153b55 58%,#1e5d65 100%);color:#fff;padding:108px 0 84px}
.civic-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}
.civic-hero .wrap{position:relative;z-index:1}.civic-hero .eyebrow{color:#e4c8a6}.civic-hero h1{font-size:clamp(3.2rem,6vw,6.2rem);line-height:.98;letter-spacing:-.055em;max-width:1000px;margin:.6rem 0 1.25rem;color:#fff}.civic-hero p{max-width:780px;font-size:1.12rem;line-height:1.65;color:rgba(255,255,255,.86)}
.civic-disclaimer{display:inline-flex;margin-top:20px;padding:9px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.06)}
.compare-system{display:grid;grid-template-columns:1fr 1fr;gap:20px}.system-card{border-radius:22px;padding:28px;background:#fff;border:1px solid #dce3e6;box-shadow:var(--shadow-soft)}.system-card.proposed{background:linear-gradient(180deg,#f1f7f8,#fff);border-color:#bfd6da}.system-card h3{font-size:1.8rem;margin:.3rem 0 .75rem}.system-card ul{padding-left:20px;color:#50616d}.system-card li{margin:.6rem 0}.system-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850;color:#6c7c86}.system-card.proposed .system-label{color:#1c646b}
.process-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:stretch;margin-top:20px}.process-step{position:relative;padding:20px;border-radius:16px;background:#fff;border:1px solid #dde4e7;min-height:132px}.process-step:not(:last-child):after{content:"→";position:absolute;right:-18px;top:50%;transform:translateY(-50%);z-index:2;color:#a23b31;font-size:1.4rem;font-weight:800}.process-step b{display:block;color:#0d263b;margin-bottom:8px}.process-step span{color:#5d6d77;font-size:.9rem}
.lab-card{background:#0d2235;color:#fff;border-radius:26px;padding:30px;box-shadow:0 20px 50px rgba(11,31,48,.18)}.lab-card h2{color:#fff;margin-bottom:.4rem}.lab-card p{color:#cbd7df}.lab-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:22px 0}.lab-button{appearance:none;border:0;border-radius:999px;padding:14px 22px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;background:#d13a31;color:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(209,58,49,.24)}.lab-button:hover{transform:translateY(-1px)}
.ballot-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;margin:20px 0 28px}.ballot-dot{aspect-ratio:1;border-radius:50%;background:#415467;opacity:.18;transform:scale(.45);transition:transform .35s ease,opacity .35s ease,background .35s ease}.ballot-dot.counted{opacity:1;transform:scale(1)}.ballot-dot.a{background:#5ca5d8}.ballot-dot.b{background:#d9574d}.ballot-dot.c{background:#59a88e}
.vote-rounds{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vote-panel{background:#132d43;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px}.vote-panel h3{color:#fff;font-size:1.3rem;margin-bottom:18px}.vote-row{display:grid;grid-template-columns:105px 1fr 56px;gap:12px;align-items:center;margin:14px 0}.vote-name{font-size:.85rem;color:#dce6ec}.vote-track{height:17px;border-radius:999px;background:#2a4052;overflow:hidden}.vote-fill{display:block;height:100%;width:0;border-radius:999px;transition:width .9s cubic-bezier(.2,.75,.2,1)}.vote-fill.a{background:#5ca5d8}.vote-fill.b{background:#d9574d}.vote-fill.c{background:#59a88e}.vote-value{text-align:right;font-variant-numeric:tabular-nums;color:#fff;font-weight:800}.eliminated{opacity:.42;text-decoration:line-through}.majority-line{font-size:.76rem;color:#d6c1a3;margin-top:10px}.sim-status{min-height:52px;margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);color:#fff}
.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fact-card{padding:24px;border-radius:20px;background:#fff;border:1px solid #dce3e6}.fact-card strong{display:block;font-family:Georgia,serif;font-size:2.5rem;color:#0d2b43;margin-bottom:6px}.fact-card span{color:#5b6c77}
.source-box{margin-top:28px;padding:20px 22px;border-radius:16px;background:#f0ede6;border:1px solid #ded7ca;font-size:.84rem;color:#53636d}.source-box a{color:#1b5962}

/* Congress lab */
.house-meter{display:grid;grid-template-columns:1fr 1fr;gap:20px}.house-stat{padding:28px;border-radius:22px;background:#fff;border:1px solid #dce4e7}.house-stat strong{display:block;font-family:Georgia,serif;font-size:4rem;line-height:1;color:#112d45}.house-stat.proposed strong{color:#a92f28}.house-stat p{color:#596a75;margin:.75rem 0 0}
.seat-legend{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 14px;font-size:.78rem;color:#53636d}.seat-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.current{background:#193d5a}.legend-dot.added{background:#c8453c}
.seat-grid{display:grid;grid-template-columns:repeat(39,1fr);gap:4px;padding:20px;border-radius:18px;background:#fff;border:1px solid #dce4e7}.seat-dot{aspect-ratio:1;border-radius:50%;background:#193d5a;opacity:0;transform:scale(.35);animation:seatIn .28s ease forwards}.seat-dot.added{background:#c8453c}@keyframes seatIn{to{opacity:1;transform:scale(1)}}
.state-compare{display:grid;gap:14px}.state-row{display:grid;grid-template-columns:130px 1fr 70px 1fr 70px;gap:12px;align-items:center}.state-name{font-weight:850;color:#17344c}.state-bar{height:14px;background:#e6ecef;border-radius:999px;overflow:hidden}.state-bar i{display:block;height:100%;border-radius:999px}.state-bar.current i{background:#6c8190}.state-bar.proposed i{background:#bd3f36}.state-num{text-align:right;font-weight:850;color:#334b5d}
.stv-demo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.share-card,.seat-outcome{background:#fff;border:1px solid #dce4e7;border-radius:20px;padding:24px}.share-bar{display:flex;height:34px;border-radius:999px;overflow:hidden;margin:18px 0}.share-bar span{display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:850}.share-a{background:#315f82}.share-b{background:#ba443a}.share-c{background:#3e8b76}.five-seats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0}.mini-seat{aspect-ratio:1;border-radius:14px;background:#e5ecef;display:grid;place-items:center;font-weight:900;color:#fff;transform:translateY(8px);opacity:.2;transition:.45s ease}.mini-seat.filled{opacity:1;transform:none}.mini-seat.a{background:#315f82}.mini-seat.b{background:#ba443a}.mini-seat.c{background:#3e8b76}

@media(max-width:1050px){.reorg-grid,.compare-system,.vote-rounds,.house-meter,.stv-demo{grid-template-columns:1fr}.process-flow{grid-template-columns:1fr 1fr}.process-step:nth-child(2):after{display:none}.seat-grid{grid-template-columns:repeat(30,1fr)}}
@media(max-width:720px){.reorg-grid{grid-template-columns:1fr}.dhs-banner{grid-template-columns:1fr}.process-flow{grid-template-columns:1fr}.process-step:after{display:none}.ballot-grid{grid-template-columns:repeat(12,1fr)}.fact-row{grid-template-columns:1fr}.seat-grid{grid-template-columns:repeat(20,1fr)}.state-row{grid-template-columns:90px 1fr 45px}.state-row .state-bar.proposed,.state-row .state-num.proposed-num{grid-column:auto}.civic-hero{padding:82px 0 60px}.civic-hero h1{font-size:3.3rem}}

/* ===== Civic Lab clarity pass ===== */
.plain-english-box{margin-top:24px;padding:24px 26px;border-radius:20px;background:linear-gradient(180deg,#f4f8f9,#fff);border:1px solid #cbdde0;box-shadow:var(--shadow-soft)}
.plain-english-box h3{font-size:1.55rem;margin:.35rem 0 .65rem;color:#10283b}.plain-english-box p{color:#52636f;max-width:980px}.plain-label{display:inline-block;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#1c646b}.micro-note{font-size:.86rem;line-height:1.55;color:#61717b}.card-translation{margin-top:18px;padding-top:16px;border-top:1px solid #e4e9eb;font-size:.88rem;color:#5b6b75}
.layman-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.layman-card{padding:22px;border-radius:18px;background:#fff;border:1px solid #dce5e8;box-shadow:var(--shadow-soft)}.layman-card h3{font-size:1.35rem;margin:.35rem 0 .55rem}.layman-card p{color:#596a75;font-size:.91rem}
.tie-rule-note{margin-top:18px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#dfe8ed;font-size:.87rem;line-height:1.55}.tie-rule-note strong{color:#fff}.vote-row.winner{outline:1px solid rgba(255,255,255,.18);border-radius:10px;padding:5px 7px;margin-left:-7px;margin-right:-7px}.vote-row.tie{outline:1px dashed #e7c79f;border-radius:10px;padding:5px 7px;margin-left:-7px;margin-right:-7px}.vote-row.tie .vote-value{color:#f1d7b5}
.definition-chip{margin-top:16px;padding:13px 14px;border-radius:12px;background:#eef3f5;color:#4d5e69;font-size:.82rem;line-height:1.5}.definition-chip strong{color:#17354c}
.map-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map-card{background:#fff;border:1px solid #dce5e8;border-radius:22px;padding:24px;box-shadow:var(--shadow-soft)}.map-card h3{font-size:1.65rem;margin:.35rem 0 1rem}.map-card p{color:#566874;font-size:.91rem;line-height:1.6}.district-map{display:block;width:100%;height:auto;border-radius:16px;background:#f8fafb;margin:10px 0 12px}.district-map .group-a circle{fill:#315f82}.district-map .group-b circle{fill:#ba443a}.district-map .map-caption,.district-map .multi-label{font-family:Inter,Arial,sans-serif;font-size:16px;fill:#647681;font-weight:700}.map-legend{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0 15px;font-size:.78rem;color:#60717c}.voter-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.voter-dot.a{background:#315f82}.voter-dot.b{background:#ba443a}.seat-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 18px}.seat-strip span{display:grid;place-items:center;min-height:48px;border-radius:12px;color:#fff;font-weight:900}.seat-strip .a{background:#315f82}.seat-strip .b{background:#ba443a}.proposed-map-card{border-color:#bad2d6;background:linear-gradient(180deg,#f2f8f8,#fff)}
@media(max-width:1050px){.layman-grid,.map-compare{grid-template-columns:1fr}}

/* ===== Government reorganization page ===== */
.government-teaser{background:linear-gradient(180deg,#eef3f4 0%,#f8f6f1 100%);border-top:1px solid #d9e2e6;border-bottom:1px solid #e1ded7}
.government-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.government-preview-grid article{background:#fff;border:1px solid #dce4e7;border-radius:20px;padding:22px 24px;box-shadow:var(--shadow-soft)}
.government-preview-grid h3{font-size:1.42rem;margin:.65rem 0 .5rem}.government-preview-grid p{margin:0;color:#5a6a75;line-height:1.55}
.government-page .government-hero{background:linear-gradient(135deg,#0a1d30 0%,#14364d 52%,#23595f 100%)}
.transfer-matrix{display:grid;gap:10px;margin-top:22px}
.transfer-row{display:grid;grid-template-columns:minmax(0,1.4fr) 42px minmax(0,1fr);gap:12px;align-items:center;padding:15px 18px;border-radius:14px;background:#fff;border:1px solid #dce4e7;box-shadow:var(--shadow-soft)}
.transfer-row span{color:#52636f}.transfer-row b{text-align:center;color:#a33b31;font-size:1.2rem}.transfer-row strong{color:#123049}
.guardrail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.guardrail-grid article{padding:22px;border-radius:18px;background:#fff;border:1px solid #dce4e7;box-shadow:var(--shadow-soft)}
.guardrail-grid strong{display:block;color:#14354e;font-size:1.03rem;margin-bottom:8px}.guardrail-grid span{color:#5a6b76;font-size:.9rem;line-height:1.58}
.government-page .reorg-card p+p{margin-top:9px}.government-page .reorg-card strong{color:#16384f}
.government-page .preserve-strip+.preserve-strip{margin-top:14px}
@media(max-width:1050px){.government-preview-grid,.guardrail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.government-preview-grid,.guardrail-grid{grid-template-columns:1fr}.transfer-row{grid-template-columns:1fr}.transfer-row b{text-align:left;transform:rotate(90deg);width:max-content;margin:0 auto}.transfer-row strong{padding-top:2px}}

/* ===== Dedicated policy pages + simplified home ===== */
.site-header nav{gap:16px}
.site-header nav a{font-size:.7rem}
.plan-deep-dives{margin-top:32px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#0d2235,#163f55);color:#fff;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);gap:30px;align-items:start}
.plan-deep-dives h3{color:#fff;font-size:2rem;margin:.25rem 0 .7rem}.plan-deep-dives p{color:#cbd7df}.plan-deep-dives .eyebrow{color:#e5c9a7}
.deep-dive-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deep-dive-links a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none;transition:.2s ease}.deep-dive-links a:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}.deep-dive-links b{font-family:Georgia,"Times New Roman",serif;font-size:1rem}.deep-dive-links span{font-size:.76rem;color:#c7d5dd;line-height:1.35}
.soft-section{background:#f1eee7;border-top:1px solid #e0d9cd;border-bottom:1px solid #e0d9cd}
.amend-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.amend-summary-card{display:grid;grid-template-columns:54px 1fr;gap:18px;background:#fff;border:1px solid #dfe5e8;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft)}.amend-summary-card .commitment-num{font-size:1rem}.amend-summary-card h3{font-size:1.45rem;margin:.25rem 0 .65rem}.amend-summary-card p{font-size:.9rem;color:#53636f}.amend-summary-card>a{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#1b5960;text-decoration:none}.example-box{margin:14px 0 16px;padding:13px 15px;border-left:3px solid #a63c2d;background:#f7f2eb}.example-box b{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#8a3324}.example-box p{margin:.35rem 0 0}
.amendments-page-section{background:#fbfaf7}.amendments-page-section .amendment-body{background:#fff}.amendments-page-section .amendment{scroll-margin-top:120px}
.callout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.argument-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.argument-method article{background:#fff;border:1px solid #dde4e7;border-radius:18px;padding:22px}.argument-method article>b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#123b4f;color:#fff}.argument-method h3{margin:.7rem 0 .45rem}.argument-method p{margin:0;color:#53636f}
.objection-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;list-style:none;padding:0;margin:0}.objection-index li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #dde3e6;border-radius:12px;padding:12px 14px}.objection-index li span{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#8a3324}.center-action{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.method-card{background:#fff;border:1px solid #dde4e7;border-radius:18px;padding:24px}.method-card>span{font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#8a3324}.method-card h3{font-size:1.35rem;margin:.55rem 0}.method-card p{color:#52636e;margin:0}.source-ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.source-ladder article{background:#fff;border-radius:18px;padding:20px;border:1px solid #ddd}.source-ladder b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1b5960;color:#fff}.source-ladder h3{font-size:1.05rem;margin:.7rem 0 .45rem}.source-ladder p{font-size:.82rem;color:#596a75;margin:0}.timeline-example{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;background:#fff;border:1px solid #dfe4e7;border-radius:20px;padding:22px}.timeline-example>div{display:flex;flex-direction:column;gap:3px;text-align:center}.timeline-example b{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}.timeline-example span{font-size:.8rem;color:#64747f}.timeline-example i{font-style:normal;color:#a63c2d;font-size:1.4rem}

/* Fiscal interaction */
.fiscal-page-hero{background:linear-gradient(135deg,#091a2b 0%,#133c54 55%,#1b6066 100%)}
.fiscal-lab-section{background:#fbfaf7}.fiscal-interactive{background:#fff;border:1px solid #dce4e8;border-radius:24px;padding:26px;box-shadow:var(--shadow-soft)}
.click-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.click-controls button{appearance:none;border:1px solid #bfcbd2;background:#f6f8f8;color:#173247;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer;transition:.2s ease}.click-controls button:hover{transform:translateY(-1px);border-color:#6e8999}.click-controls button.active{background:#123b4f;color:#fff;border-color:#123b4f;box-shadow:0 8px 22px rgba(18,59,79,.18)}
.big-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.big-readout>div{background:#f5f7f7;border-radius:16px;padding:15px 17px}.big-readout span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:#657783;font-weight:800}.big-readout strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:#0f2638;margin-top:5px}
.interactive-chart-shell{background:linear-gradient(180deg,#fbfcfc,#f2f5f6);border:1px solid #e1e6e8;border-radius:18px;padding:8px;overflow:hidden}.interactive-chart-shell svg{width:100%;height:auto;display:block;min-height:320px}.fiscal-gridline{stroke:#dbe2e5;stroke-width:1}.fiscal-axis{font-size:12px;fill:#637681;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.fiscal-path{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.current-path{stroke:#8d3328}.repair-path{stroke:#1d6670}.fiscal-dot{stroke:#fff;stroke-width:2}.current-dot{fill:#8d3328}.repair-dot{fill:#1d6670}
.scenario-stage{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:28px;align-items:center}.scenario-number span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#647682}.scenario-number strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5rem);line-height:1;color:#102638;margin:.35rem 0 .65rem}.scenario-number p{margin:0;color:#52636f}.motion-bar{height:54px;position:relative;border-radius:999px;background:linear-gradient(90deg,#efe3df 0 49.8%,#d1d9dd 49.8% 50.2%,#deeceb 50.2% 100%);overflow:hidden}.motion-bar i{position:absolute;top:9px;height:36px;border-radius:999px;transition:left 650ms cubic-bezier(.2,.8,.2,1),width 650ms cubic-bezier(.2,.8,.2,1),background:#1b6a70}.motion-bar i.negative{background:#a53b2d}.motion-bar i.neutral{background:#71808a}.bar-zero{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.68rem;font-weight:900;color:#344b58;z-index:2;background:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.dark-outline{border:1px solid #193b50!important;color:#193b50!important;background:transparent!important}.fiscal-source-note{font-size:.8rem;color:#667783;margin:22px auto 0;max-width:900px;text-align:center}

@media(max-width:1100px){.source-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:11px}.site-header nav a{font-size:.64rem}}
@media(max-width:900px){.plan-deep-dives,.scenario-stage{grid-template-columns:1fr}.amend-summary-grid,.method-grid,.argument-method,.callout-grid{grid-template-columns:1fr}.deep-dive-links{grid-template-columns:1fr}.big-readout{grid-template-columns:1fr}.objection-index{grid-template-columns:1fr}.source-ladder{grid-template-columns:1fr}.timeline-example{grid-template-columns:1fr}.timeline-example i{transform:rotate(90deg)}.amend-summary-card{grid-template-columns:44px 1fr}}

/* ===== v5 fiscal + health explainers ===== */
.plain-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plain-language-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.plain-language-grid article{background:#fff;border:1px solid #dde4e7;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft)}.plain-language-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#123b4f;color:#fff;font-weight:900;margin-bottom:17px}.plain-language-grid h3{font-size:1.35rem}.plain-language-grid p{margin:0;color:#53636f;font-size:.9rem}.explain-strip{margin-top:20px;padding:17px 18px;border-radius:15px;background:#f4f0e8;border-left:4px solid #1b6670;display:grid;grid-template-columns:max-content 1fr;gap:14px;align-items:start}.explain-strip b{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#1b5960}.explain-strip span{color:#445965;font-size:.9rem}.health-explain{margin-top:20px}.lab-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:16px}.mini-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#657783;margin:0 0 8px}.click-controls.compact{margin-bottom:0}.click-controls.compact button{padding:9px 14px;font-size:.78rem}.motion-scale,.meter-endpoints{display:flex;justify-content:space-between;gap:10px;color:#667883;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 4px 7px}.meter-endpoints{margin-top:6px;text-transform:none;letter-spacing:0;font-weight:700}.meaning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.meaning-grid article{padding:20px;border-radius:16px;background:#f6f8f8;border:1px solid #e0e6e8}.meaning-grid h3{font-size:1.1rem;margin-bottom:.45rem}.meaning-grid p{margin:0;color:#536570;font-size:.86rem}.health-sensitivity-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:24px;align-items:start;margin-bottom:22px}.health-two-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health-two-metrics>div{background:#f5f7f7;border-radius:16px;padding:17px}.health-two-metrics span,.health-ledger-cards span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#677883;font-weight:850}.health-two-metrics strong,.health-ledger-cards strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:500;color:#112b3d;margin:.35rem 0}.health-two-metrics small,.health-ledger-cards small{display:block;color:#647681;line-height:1.4}.accessible-meter i{left:50%;width:8.1%;will-change:left,width}.path-enter{stroke-dasharray:1;stroke-dashoffset:1}.drawn .path-enter{stroke-dashoffset:0;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.dot-enter{opacity:0;transform:scale(.5);transform-box:fill-box;transform-origin:center}.drawn .dot-enter{opacity:1;transform:scale(1);transition:opacity .35s .25s ease,transform .35s .25s ease}
.health-page-hero{background:linear-gradient(135deg,#09202a 0%,#164d56 55%,#2b7375 100%)}.health-system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.health-system-grid article{background:#fff;border:1px solid #dde5e7;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft)}.system-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#123b4f;color:#fff;font-weight:900;font-size:.78rem;margin-bottom:16px}.health-system-grid h3{font-size:1.3rem}.health-system-grid p{margin:0;color:#53636f;font-size:.9rem}.two-column-explainer{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.two-column-explainer>div{padding:22px;border-radius:18px;border:1px solid #ded8cc;background:#f9f6f0}.two-column-explainer h3{font-size:1.25rem}.two-column-explainer p{margin:0;color:#53636f}.health-lab-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.health-lab-hero>div{background:#f5f7f7;border-radius:18px;padding:20px}.health-lab-hero strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;color:#102638;margin:.45rem 0}.health-lab-hero p{margin:0;color:#566873}.health-ledger-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.health-ledger-cards article{padding:18px;border:1px solid #e0e5e7;border-radius:16px;background:#fff}.family-lab{background:#fff;border:1px solid #dce3e6;border-radius:24px;padding:26px;box-shadow:var(--shadow-soft)}.family-display{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(390px,1.22fr);gap:28px;align-items:center}.family-copy>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:#647783;font-weight:850}.family-copy>strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;font-weight:500;color:#102638;margin:.35rem 0 .7rem}.family-copy p{margin:0;color:#536570}.family-bar-row{margin-bottom:18px}.family-bar-row label{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;font-weight:750;margin-bottom:6px;color:#4d606d}.family-bar-row>div{height:22px;border-radius:999px;background:#edf1f2;overflow:hidden}.family-bar-row i{display:block;height:100%;width:0;background:#8d3328;border-radius:999px;transition:width .65s cubic-bezier(.2,.8,.2,1)}.family-bar-row.new i{background:#1d6670}.family-net{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-top:8px;border-top:1px solid #dfe5e7}.family-net span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#647681;font-weight:850}.family-net strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500;color:#1b6670}.family-net strong.cost-more{color:#9a3a2e}.transition-lab{background:#fff;border:1px solid #dde4e7;border-radius:22px;padding:25px}.transition-panel{display:grid;grid-template-columns:92px 1fr;gap:25px;align-items:center;background:#f5f7f7;border-radius:18px;padding:24px}.transition-number{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#123b4f;color:#fff;font-family:Georgia,serif;font-size:2rem}.transition-panel h3{font-size:1.45rem}.transition-panel p{margin:0;color:#53636f}.risk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.risk-grid article{background:#fff;border:1px solid #dde4e7;border-radius:18px;padding:22px}.risk-grid h3{font-size:1.25rem}.risk-grid p{margin:0;color:#53636f;font-size:.88rem}
@media(max-width:1100px){.plain-language-grid.four,.health-system-grid,.risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-toolbar{grid-template-columns:1fr}.health-sensitivity-grid,.family-display{grid-template-columns:1fr}}
@media(max-width:760px){.plain-language-grid,.plain-language-grid.four,.meaning-grid,.health-system-grid,.health-two-metrics,.health-lab-hero,.health-ledger-cards,.risk-grid,.two-column-explainer{grid-template-columns:1fr}.explain-strip{grid-template-columns:1fr}.transition-panel{grid-template-columns:1fr}.transition-number{width:62px;height:62px}.motion-scale{font-size:.57rem}.family-copy>strong{font-size:1.9rem}}


/* v6 repaired deep-dive content */
.draft-amendments{display:grid;gap:14px;margin-top:28px}.draft-amendment{border:1px solid #d9e1e5;border-radius:18px;background:#fff;overflow:hidden;scroll-margin-top:120px;box-shadow:0 8px 28px rgba(12,33,49,.04)}.draft-amendment summary{list-style:none;display:grid;grid-template-columns:48px 1fr 32px;gap:14px;align-items:center;padding:20px 22px;cursor:pointer;font-family:Georgia,serif;font-size:1.12rem;color:#172d3e}.draft-amendment summary::-webkit-details-marker{display:none}.draft-num{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.13em;color:#8a3324}.draft-toggle{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center;font-size:1.45rem;color:#2c6475;transition:transform .18s ease}.draft-amendment[open] .draft-toggle{transform:rotate(45deg)}.draft-body{padding:4px 24px 28px 84px;border-top:1px solid #e7ecee}.draft-label{display:inline-block;margin:18px 0 10px;padding:5px 9px;border-radius:999px;background:#edf4f6;color:#345f70;font-size:.62rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.draft-body p{font-family:Georgia,serif;font-size:.95rem;line-height:1.75;color:#334957;margin:12px 0;white-space:normal}.draft-body .draft-source{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.72rem;color:#73838d;border-top:1px solid #e7ecee;padding-top:14px;margin-top:20px}
.quick-debates{display:grid;gap:18px;margin-top:26px}.quick-debate{background:#fff;border:1px solid #dfe5e8;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft)}.quick-debate-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.quick-debate-head>span{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#123b4f;color:#fff;font-weight:900;font-size:.72rem;letter-spacing:.08em}.quick-debate-head h3{margin:0;font-size:1.48rem}.debate-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.debate-columns>div{padding:16px;border-radius:14px;background:#f7f9fa;border:1px solid #e5eaec}.debate-columns>div:nth-child(1){border-top:3px solid #8a3324}.debate-columns>div:nth-child(2){border-top:3px solid #2f6a78}.debate-columns>div:nth-child(3){border-top:3px solid #9a7b43}.debate-columns b{display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#3d5565;margin-bottom:8px}.debate-columns p{font-size:.86rem;line-height:1.58;color:#53636f;margin:0}.debate-source{margin-top:13px;font-size:.7rem;color:#788892}
@media(max-width:860px){.debate-columns{grid-template-columns:1fr}.draft-body{padding-left:24px}.draft-amendment summary{grid-template-columns:36px 1fr 28px}}
@media(prefers-reduced-motion:reduce){.draft-toggle,.seat-dot,.ballot-dot,.vote-fill,.fiscal-path,.fiscal-dot,.motion-bar i,.family-bar i{animation:none!important;transition:none!important}}


/* v7: current-policy comparison system */
.policy-comparison{background:#f5f7f7;border-top:1px solid #e1e7e9;border-bottom:1px solid #e1e7e9}
.compare-stack{display:grid;gap:14px}
.compare-row{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch;background:#fff;border:1px solid #dce4e7;border-radius:20px;padding:14px;box-shadow:var(--shadow-soft)}
.compare-cell{padding:18px;border-radius:15px;min-width:0}.compare-cell span{display:block;font-size:.65rem;line-height:1.2;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-bottom:9px}.compare-cell p{margin:0;color:#445965;font-size:.9rem;line-height:1.58}
.compare-cell.current{background:#f3f4f2}.compare-cell.current span{color:#67747d}.compare-cell.proposal{background:#edf4f5}.compare-cell.proposal span{color:#1c5c64}.compare-cell.people{background:#f8f3ea}.compare-cell.people span{color:#8a4f36}.compare-arrow{display:grid;place-items:center;font-family:Georgia,serif;font-size:1.5rem;color:#6d7d86}
.comparison-sources{margin:20px 4px 0;color:#6a7983;font-size:.76rem;line-height:1.55}.comparison-sources a{color:#245e74}
.home-compare-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 34px}.home-compare-key>div{padding:18px 19px;border-radius:16px;border:1px solid #dce4e7;background:#fff}.home-compare-key span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#1d6070;margin-bottom:7px}.home-compare-key p{margin:0;color:#53636f;font-size:.86rem}
.lab-pulse{animation:labPulse .5s ease both}@keyframes labPulse{0%{transform:scale(1);filter:none}45%{transform:scale(1.012);filter:brightness(1.035)}100%{transform:scale(1);filter:none}}

/* v7: Tribal Nations page. The visual intentionally avoids generic ceremonial iconography. */
.tribal-hero{background:linear-gradient(135deg,#122f30 0%,#315a57 52%,#705a44 100%)}
.tribal-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:48px;align-items:center}
.tribal-civic-visual{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:14px;box-shadow:0 30px 70px rgba(0,0,0,.18)}.tribal-civic-visual svg{display:block;width:100%;height:auto;border-radius:20px}.tribal-civic-visual small{display:block;color:#dbe7df;font-size:.7rem;line-height:1.45;padding:10px 5px 2px}
.tribal-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tribal-policy-grid article{background:#fff;border:1px solid #dfe5df;border-radius:20px;padding:24px;box-shadow:var(--shadow-soft)}.tribal-policy-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#315a57;color:#fff;font-size:.72rem;font-weight:900;margin-bottom:16px}.tribal-policy-grid h3{font-size:1.35rem}.tribal-policy-grid p{margin:0;color:#53636f;font-size:.9rem}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.impact-grid article{padding:22px;border-radius:18px;background:#fff;border:1px solid #dedfd9}.impact-grid h3{font-size:1.22rem}.impact-grid p{margin:0;color:#53636f;font-size:.88rem}
@media(max-width:1050px){.compare-row{grid-template-columns:1fr 28px 1fr}.compare-cell.people{grid-column:1/-1}.tribal-hero-grid{grid-template-columns:1fr}.tribal-civic-visual{max-width:700px}.tribal-policy-grid,.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.compare-row{grid-template-columns:1fr}.compare-arrow{transform:rotate(90deg);height:22px}.home-compare-key,.tribal-policy-grid,.impact-grid{grid-template-columns:1fr}.tribal-civic-visual{padding:8px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.lab-pulse{animation:none!important}}


/* v9 interaction reliability fixes */
.motion-bar{overflow:visible}
.motion-bar:before{content:"";position:absolute;inset:0;border-radius:999px;overflow:hidden;pointer-events:none}
.motion-bar i{z-index:1;box-shadow:0 3px 10px rgba(12,35,52,.16)}
.motion-bar i.positive{background:#176f70}
.motion-bar i.negative{background:#b23d2f}
.meter-zero-line{position:absolute;left:50%;top:3px;bottom:3px;width:2px;background:#aebbc2;transform:translateX(-1px);z-index:2;pointer-events:none}
.meter-thumb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;min-width:70px;max-width:112px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #cbd5da;box-shadow:0 3px 10px rgba(9,28,43,.14);font-size:.68rem;line-height:1;font-weight:900;text-align:center;color:#17364b;transition:left 650ms cubic-bezier(.2,.8,.2,1),background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}
.meter-thumb.negative{background:#fff4f1;border-color:#d9a096;color:#8d2e24}
.meter-thumb.positive{background:#eef8f6;border-color:#92c4bd;color:#155b5d}
.meter-thumb.neutral{background:#fff;color:#4f606b}
.bar-zero{display:none!important}
.distribution-band .band{opacity:1!important;transform:none!important}
#fiscal-debt-chart .fiscal-path:not(.path-enter){stroke-dasharray:none;stroke-dashoffset:0}
#fiscal-debt-chart .fiscal-dot:not(.dot-enter){opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.meter-thumb{transition:none!important}.path-enter{stroke-dasharray:none!important;stroke-dashoffset:0!important}.dot-enter{opacity:1!important;transform:none!important}}

/* ===== v10 header navigation repair =====
   Keep the desktop navigation on one row. If the viewport is too narrow
   to hold every tab comfortably, switch to the existing Menu control
   instead of allowing the final tab (Book) to wrap onto a second line. */
@media (min-width:1121px){
  .nav-wrap{display:flex;flex-wrap:nowrap;align-items:center}
  .brand{flex:0 1 320px;min-width:265px}
  .site-header nav{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;white-space:nowrap;justify-content:flex-end;gap:clamp(9px,1vw,16px)}
  .site-header nav a{flex:0 0 auto;white-space:nowrap}
}
@media (min-width:1121px) and (max-width:1320px){
  .nav-wrap{padding-left:24px;padding-right:24px;gap:18px}
  .brand{min-width:245px;gap:12px}
  .brand-mark{width:60px;height:60px;flex-basis:60px}
  .brand-mark img{width:60px;height:60px}
  .brand-text{font-size:.86rem}
  .brand-text small{font-size:.52rem;letter-spacing:.18em}
  .site-header nav{gap:8px}
  .site-header nav a{font-size:.61rem;letter-spacing:.02em}
}
@media (max-width:1120px){
  .nav-wrap{position:relative}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fbfcfc;padding:18px 28px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 30px rgba(12,30,47,.08);white-space:normal}
  .site-header nav.open{display:flex}
  .site-header nav a,.site-header nav .nav-read{padding:12px 4px;border:0;border-radius:0;background:transparent;font-size:.78rem}
  .site-header nav a:after{display:none}
  .menu-toggle{display:block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;color:var(--ink)}
}

/* v11 household lens, 50-state map, mobile refinements */
.income-lens{background:#fff;border:1px solid #d7e0e5;border-radius:26px;padding:24px}.income-tier-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}.income-tier-controls button{min-height:68px;border:1px solid #c8d4db;border-radius:18px;background:#f8fafb;color:#163249;padding:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left;font:inherit;cursor:pointer}.income-tier-controls button span{font-size:.72rem;font-weight:750;color:#617384}.income-tier-controls button b{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.income-tier-controls button.active{background:#143f55;color:#fff;border-color:#143f55}.income-tier-controls button.active span{color:#dfeaf0}.income-lens-panel{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:20px}.income-lens-main{background:#0d2940;color:#fff;border-radius:22px;padding:24px}.income-lens-main span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:800;color:#bcd0dc}.income-lens-main strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.8rem;margin:8px 0 10px}.income-lens-main p{color:#e8eef2;margin:0;line-height:1.55}.income-lens-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.income-lens-grid article{background:#f4f6f7;border-radius:18px;padding:18px}.income-lens-grid span{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;font-weight:800;color:#687b89}.income-lens-grid b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;color:#102c42;margin:8px 0}.income-lens-grid p{margin:0;color:#526878;line-height:1.48;font-size:.86rem}.income-wealth-note,.income-connection{margin-top:16px;border-left:4px solid #9b3f34;background:#f5efe8;padding:16px 18px;border-radius:0 14px 14px 0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:start}.income-wealth-note strong,.income-connection strong{color:#17364d}.income-wealth-note span,.income-connection{color:#435c6d;line-height:1.5}.us-seat-map{background:#fff;border:1px solid #d7e0e5;border-radius:26px;padding:22px}.map-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.map-controls button{border:1px solid #c7d3da;background:#fff;border-radius:999px;padding:10px 15px;color:#17364d;font-weight:800}.map-controls button.active{background:#173f55;color:#fff;border-color:#173f55}.state-tile-map-wrap{width:100%;overflow:hidden;background:#f7f8f8;border-radius:18px;padding:8px}.state-tile-map-wrap svg{display:block;width:100%;height:auto;max-height:540px}.state-tile{cursor:pointer;outline:none}.state-tile rect{stroke:#fff;stroke-width:2;transition:stroke .18s,filter .18s}.state-tile:hover rect,.state-tile:focus rect,.state-tile.selected rect{stroke:#b73f34;stroke-width:4;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12))}.tile-abbr{font-size:15px;font-weight:850;fill:#0f293d}.tile-value{font-size:18px;font-weight:900;fill:#0f293d}.state-map-legend{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 3px 16px;color:#5b6f7c;font-size:.78rem}.state-map-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#b73f34;margin-right:6px}.state-detail-panel{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1px;background:#d9e1e6;border-radius:18px;overflow:hidden}.state-detail-panel>div{background:#fff;padding:16px}.state-detail-panel span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:800;color:#71818c}.state-detail-panel strong{display:block;margin-top:6px;color:#102d43;font-size:1.15rem}.five-seats .mini-seat.a{background:#426a8e!important;color:#fff!important;border-color:#426a8e!important}.five-seats .mini-seat.b{background:#bd4a3d!important;color:#fff!important;border-color:#bd4a3d!important}.five-seats .mini-seat.c{background:#5a8f7c!important;color:#fff!important;border-color:#5a8f7c!important}.tribal-photo{margin:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:26px;padding:12px;overflow:hidden}.tribal-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:18px;background:#dfe5e6}.tribal-photo figcaption{padding:12px 5px 3px;color:#e5ece8;font-size:.75rem;line-height:1.5}.tribal-photo figcaption strong{color:#fff}.tribal-photo figcaption a{color:#fff;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.income-tier-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.income-lens-panel{grid-template-columns:1fr}.income-lens-grid{grid-template-columns:1fr 1fr 1fr}.state-detail-panel{grid-template-columns:1fr 1fr}.state-detail-panel>div:first-child{grid-column:1/-1}}
@media(max-width:680px){html,body{overflow-x:hidden}.wrap{width:100%;max-width:100%;padding-left:20px;padding-right:20px}.section{padding-top:64px;padding-bottom:64px}.section-head h2{font-size:clamp(2.25rem,11vw,3rem);line-height:.98}.civic-hero h1{font-size:clamp(2.7rem,12vw,3.7rem);line-height:.96}.civic-hero p,.section-head p{font-size:1rem;line-height:1.6}.income-lens{padding:16px;border-radius:20px}.income-tier-controls{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-left:-2px;margin-right:-2px;-webkit-overflow-scrolling:touch}.income-tier-controls button{flex:0 0 146px;scroll-snap-align:start;min-height:66px}.income-lens-grid{grid-template-columns:1fr}.income-lens-main strong{font-size:2.35rem}.income-wealth-note,.income-connection{grid-template-columns:1fr}.click-controls{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;gap:8px;padding-bottom:6px;-webkit-overflow-scrolling:touch}.click-controls button{flex:0 0 auto;min-height:46px}.health-sensitivity-grid,.health-two-metrics{min-width:0}.scenario-number strong,#hp-national,#hp-household{font-size:clamp(2.4rem,13vw,4.4rem)!important;overflow-wrap:anywhere}.motion-scale{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.motion-scale span:nth-child(2){text-align:center}.motion-scale span:last-child{text-align:right}.us-seat-map{padding:14px;border-radius:20px}.map-controls{display:flex;overflow-x:auto;flex-wrap:nowrap}.map-controls button{flex:0 0 auto}.state-tile-map-wrap{padding:2px;overflow-x:auto}.state-tile-map-wrap svg{min-width:650px}.state-map-legend{display:block}.state-map-legend small{display:block;margin-top:5px}.state-detail-panel{grid-template-columns:1fr 1fr}.state-detail-panel>div{padding:13px}.state-detail-panel strong{font-size:1rem}.five-seats{gap:8px}.five-seats .mini-seat{min-width:0;aspect-ratio:1/1;font-size:1.35rem}.tribal-photo{padding:8px;border-radius:20px}.tribal-photo img{aspect-ratio:4/3}.compare-cell{padding:18px}.compare-row{gap:8px}.footer-grid{gap:22px}.footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.brand-mark img{width:58px!important;height:58px!important}.brand-text{display:block!important;font-size:.9rem;line-height:.98;max-width:220px}.brand-text small{font-size:.52rem;letter-spacing:.16em;margin-top:8px}.nav-wrap{padding-left:14px;padding-right:14px;min-height:96px}.menu-toggle{padding:9px 15px}.state-tile-map-wrap svg{min-width:610px}}
/* v11.1 mobile polish */
.five-seats .mini-seat{opacity:1!important;transform:none!important}
@media(max-width:680px){
  .state-tile-map-wrap{overflow:hidden!important;padding:2px}
  .state-tile-map-wrap svg{min-width:0!important;width:100%!important;max-width:100%;height:auto}
  .tile-abbr{font-size:12px}
  .tile-value{font-size:14px}
  .state-map-legend{font-size:.72rem;line-height:1.45}
}
@media(max-width:430px){
  .state-tile-map-wrap svg{min-width:0!important}
}

/* ===== v12 Fresno-area STV simulator + sitewide color note ===== */
.chart-color-note{grid-column:1/-1;margin:0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;line-height:1.5;color:inherit;opacity:.72}
.color-inline-note,.simulation-color-note{font-size:.76rem;line-height:1.5;color:#60727e}.simulation-color-note{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f4f0e8;border-left:3px solid #865c32}.simulation-color-note strong{color:#273f50}
.fresno-stv-lab{margin-top:30px;background:#fff;border:1px solid #d7e0e5;border-radius:26px;padding:28px;box-shadow:var(--shadow-soft)}
.fresno-lab-head{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(190px,.55fr);gap:24px;align-items:start}.fresno-lab-head h3{font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;margin:.35rem 0 .8rem}.fresno-lab-head p{margin:0;color:#536875;line-height:1.6}.quota-card{background:#0d2940;color:#fff;border-radius:20px;padding:20px}.quota-card>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:850;color:#c5d6df}.quota-card>strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:3.3rem;line-height:1;margin:7px 0 10px}.quota-card small{display:block;line-height:1.45;color:#d8e3e9}.quota-card b{color:#fff}
.fresno-boundary-note{margin:18px 0 20px;padding:14px 16px;border-left:4px solid #1b6670;background:#eef5f5;border-radius:0 14px 14px 0;color:#455d6b;font-size:.88rem;line-height:1.55}.fresno-boundary-note strong{color:#15384f}
.fresno-scenario-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.fresno-scenario-row button{appearance:none;border:1px solid #c6d2d9;background:#f8fafb;color:#17364d;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer;min-height:44px}.fresno-scenario-row button.active{background:#173f55;color:#fff;border-color:#173f55}
.fresno-sim-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:20px;align-items:start}.fresno-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fresno-candidate{--candidate:#52748e;border:1px solid #dbe3e7;border-radius:18px;padding:15px;background:#fbfcfc;transition:opacity .25s ease,border-color .25s ease,background .25s ease}.fresno-candidate.elected{background:#f0f7f3;border-color:#9fc8b5}.fresno-candidate.eliminated{opacity:.46;background:#f6f6f4}.fresno-candidate-head{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center}.fresno-swatch{width:12px;height:38px;border-radius:999px;background:var(--candidate)}.fresno-candidate-name{min-width:0}.fresno-candidate-name strong{display:block;color:#102d43}.fresno-candidate-name span{font-size:.74rem;color:#687b87}.fresno-candidate-votes{font-weight:900;color:#17364d;font-variant-numeric:tabular-nums}.fresno-candidate-track{height:9px;border-radius:999px;background:#e6ecef;overflow:hidden;margin-top:11px}.fresno-candidate-track i{display:block;height:100%;width:0;border-radius:999px;background:var(--candidate);transition:width .65s cubic-bezier(.2,.75,.2,1)}.fresno-candidate-status{display:block;margin-top:8px;font-size:.7rem;font-weight:800;color:#6a7b85}.fresno-candidate.elected .fresno-candidate-status{color:#276650}.fresno-candidate.eliminated .fresno-candidate-status{color:#7a6d67}
.fresno-round-panel{position:sticky;top:128px;background:#0d2940;color:#fff;border-radius:22px;padding:22px}.fresno-round-panel .mini-label{color:#bfd0da}.fresno-round-panel h4{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.2;color:#fff;margin:.25rem 0 .65rem}.fresno-round-panel>p{color:#d7e2e8;line-height:1.55;font-size:.9rem}.fresno-winners{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}.fresno-winners>span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#bdd0db;margin-bottom:8px}.fresno-winners div{display:flex;flex-wrap:wrap;gap:7px}.fresno-winners em{font-style:normal;color:#d6e0e6;font-size:.82rem}.winner-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:7px 9px;font-size:.75rem;font-weight:750}.winner-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}.fresno-lab-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.fresno-lab-actions .lab-button{padding:11px 14px;font-size:.68rem;min-height:42px}.secondary-lab{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:none!important}.secondary-lab:disabled,.lab-button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
.fresno-how-it-works{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.fresno-how-it-works article{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:16px;border:1px solid #dde4e7;border-radius:16px;background:#f8fafb}.fresno-how-it-works article>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#183f57;color:#fff}.fresno-how-it-works strong{color:#15364d}.fresno-how-it-works p{margin:.25rem 0 0;color:#627581;font-size:.78rem;line-height:1.45}.fresno-source{margin-top:14px}
@media(max-width:900px){.fresno-lab-head,.fresno-sim-grid{grid-template-columns:1fr}.fresno-round-panel{position:static}.fresno-how-it-works{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.fresno-stv-lab{padding:16px;border-radius:20px}.fresno-lab-head h3{font-size:2.15rem}.quota-card{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}.quota-card>span{grid-column:1}.quota-card>strong{grid-row:1/3;grid-column:2;font-size:2.7rem;text-align:right}.quota-card small{grid-column:1/3;margin-top:4px}.fresno-scenario-row{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch}.fresno-scenario-row button{flex:0 0 auto}.fresno-candidates{grid-template-columns:1fr}.fresno-candidate{padding:13px}.fresno-how-it-works{grid-template-columns:1fr}.fresno-lab-actions{display:grid;grid-template-columns:1fr 1fr}.fresno-lab-actions #fresno-run{grid-column:1/-1}.fresno-lab-actions .lab-button{width:100%;font-size:.64rem}.chart-color-note{font-size:.68rem}}

/* ===== merged from /assets/css/upgrades.css ===== */
/*
 * Drop-in upgrade stylesheet for govthatworks.org
 * Load AFTER the site's existing stylesheet.
 */
:root {
  --gtw-cream: #faf8f5;
  --gtw-navy: #0c1a2a;
  --gtw-blue: #1c3d5a;
  --gtw-blue-2: #244f73;
  --gtw-text: #17202a;
  --gtw-muted: #52606d;
  --gtw-border: #c9c3bb;
  --gtw-border-strong: #8f969c;
  --gtw-surface: #ffffff;
  --gtw-gold: #8a5a16;
  --gtw-danger: #8c2f2f;
  --gtw-success: #1f5b43;
  --gtw-focus: #005fcc;
  --gtw-shadow: 0 18px 50px rgba(12, 26, 42, 0.12);
  --gtw-radius: 4px;
  --gtw-serif: Georgia, 'Times New Roman', serif;
  --gtw-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--gtw-cream); color: var(--gtw-text); }

/* Accessibility foundation */
.gtw-skip-link {
  position: fixed;
  z-index: 9999;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-160%);
  padding: 0.75rem 1rem;
  background: var(--gtw-navy);
  color: #fff;
  border-radius: var(--gtw-radius);
}
.gtw-skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--gtw-focus) !important;
  outline-offset: 3px;
}

.gtw-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Header + responsive navigation */
.gtw-site-header {
  position: relative;
  z-index: 50;
  border-bottom: 1px solid var(--gtw-border);
  background: color-mix(in srgb, var(--gtw-cream) 96%, transparent);
  backdrop-filter: blur(10px);
}
.gtw-site-nav {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.gtw-brand {
  color: var(--gtw-navy);
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  line-height: 1.05;
  min-width: 220px;
}
.gtw-brand__title { font: 700 1rem/1.05 var(--gtw-serif); }
.gtw-brand__tagline { margin-top: 0.25rem; font: 600 0.68rem/1.2 var(--gtw-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gtw-muted); }
.gtw-nav-toggle {
  display: none;
  margin-left: auto;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid var(--gtw-border-strong);
  background: transparent;
  color: var(--gtw-navy);
  cursor: pointer;
  font: 700 0.8rem var(--gtw-sans);
}
.gtw-nav-toggle__icon { width: 1.2rem; display: grid; gap: 4px; }
.gtw-nav-toggle__icon span { display: block; height: 2px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
.gtw-nav-toggle[aria-expanded='true'] .gtw-nav-toggle__icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.gtw-nav-toggle[aria-expanded='true'] .gtw-nav-toggle__icon span:nth-child(2) { opacity: 0; }
.gtw-nav-toggle[aria-expanded='true'] .gtw-nav-toggle__icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.gtw-nav-menu {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.15rem;
  flex-wrap: wrap;
}
.gtw-nav-menu a,
.gtw-nav-menu button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.58rem;
  color: var(--gtw-navy);
  background: transparent;
  border: 0;
  text-decoration: none;
  font: 700 0.76rem/1.1 var(--gtw-sans);
  cursor: pointer;
}
.gtw-nav-menu a:hover,
.gtw-nav-menu button:hover,
.gtw-nav-menu a[aria-current='page'] { background: rgba(28, 61, 90, 0.08); }
.gtw-search-trigger kbd { margin-left: 0.4rem; font: inherit; font-weight: 600; color: var(--gtw-muted); }

/* Shared UI */
.gtw-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--gtw-navy);
  border-radius: var(--gtw-radius);
  background: var(--gtw-navy);
  color: #fff;
  text-decoration: none;
  font: 700 0.88rem/1 var(--gtw-sans);
  cursor: pointer;
}
.gtw-button:hover { background: var(--gtw-blue); border-color: var(--gtw-blue); }
.gtw-button--secondary { background: transparent; color: var(--gtw-navy); }
.gtw-button--secondary:hover { background: rgba(12, 26, 42, 0.07); }
.gtw-button--quiet { background: transparent; border-color: var(--gtw-border); color: var(--gtw-navy); }
.gtw-button:disabled { cursor: not-allowed; opacity: 0.55; }
.gtw-card { border: 1px solid var(--gtw-border); background: rgba(255,255,255,0.45); padding: clamp(1rem, 2vw, 1.5rem); }
.gtw-eyebrow { color: var(--gtw-gold); font: 800 0.75rem/1.2 var(--gtw-sans); letter-spacing: 0.11em; text-transform: uppercase; }
.gtw-section-title { margin: 0.25rem 0 0.75rem; color: var(--gtw-navy); font-family: var(--gtw-serif); }

/* Native accordions */
.gtw-accordion-group { border-top: 1px solid var(--gtw-border); }
.gtw-policy-accordion { border-bottom: 1px solid var(--gtw-border); }
.gtw-policy-accordion > summary {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  min-height: 58px;
  padding: 0.95rem 0;
  cursor: pointer;
  color: var(--gtw-navy);
  font: 700 clamp(1rem, 2vw, 1.2rem)/1.25 var(--gtw-serif);
}
.gtw-policy-accordion > summary::-webkit-details-marker { display: none; }
.gtw-policy-accordion > summary::after { content: '+'; font: 500 1.6rem/1 var(--gtw-sans); }
.gtw-policy-accordion[open] > summary::after { content: '–'; }
.gtw-policy-accordion__body { padding: 0 0 1.25rem; max-width: 74ch; }

/* In-page TOC */
.gtw-toc { position: sticky; top: 1rem; border-left: 3px solid var(--gtw-navy); padding: 0.25rem 0 0.25rem 1rem; }
.gtw-toc__list { margin: 0; padding-left: 1.1rem; }
.gtw-toc__item { margin: 0.4rem 0; }
.gtw-toc__item--h3 { margin-left: 0.75rem; font-size: 0.92em; }
.gtw-toc a { color: var(--gtw-blue); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }

/* Downloads */
.gtw-download-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; }
.gtw-download-card { display: flex; flex-direction: column; min-height: 180px; }
.gtw-download-card h3 { margin: 0.35rem 0; font-family: var(--gtw-serif); color: var(--gtw-navy); }
.gtw-download-card p { margin: 0 0 1rem; color: var(--gtw-muted); }
.gtw-download-card .gtw-button { margin-top: auto; align-self: flex-start; }
.gtw-sheet-embed { margin-top: 1rem; border: 1px solid var(--gtw-border); background: #fff; }
.gtw-sheet-embed iframe { display: block; width: 100%; min-height: 520px; border: 0; }

/* Dialogs: search + feedback */
dialog.gtw-dialog {
  width: min(760px, calc(100% - 2rem));
  max-height: min(86vh, 860px);
  padding: 0;
  border: 1px solid var(--gtw-border-strong);
  border-radius: var(--gtw-radius);
  background: var(--gtw-cream);
  color: var(--gtw-text);
  box-shadow: var(--gtw-shadow);
}
dialog.gtw-dialog::backdrop { background: rgba(12, 26, 42, 0.58); }
.gtw-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--gtw-border); }
.gtw-dialog__header h2 { margin: 0; color: var(--gtw-navy); font-family: var(--gtw-serif); }
.gtw-dialog__body { padding: 1.2rem; overflow: auto; }
.gtw-dialog__close { min-width: 44px; min-height: 44px; border: 0; background: transparent; color: var(--gtw-navy); font-size: 1.5rem; cursor: pointer; }
.gtw-search-input { width: 100%; min-height: 52px; box-sizing: border-box; border: 1px solid var(--gtw-border-strong); background: #fff; color: var(--gtw-text); padding: 0.75rem 0.9rem; font: 1rem var(--gtw-sans); }
.gtw-search-meta { display: flex; justify-content: space-between; gap: 1rem; margin: 0.65rem 0; color: var(--gtw-muted); font: 0.8rem var(--gtw-sans); }
.gtw-search-results { display: grid; gap: 0.6rem; }
.gtw-search-result { display: grid; gap: 0.2rem; padding: 0.9rem; border: 1px solid var(--gtw-border); background: rgba(255,255,255,0.52); color: inherit; text-decoration: none; }
.gtw-search-result:hover { border-color: var(--gtw-blue); }
.gtw-search-result__topic { color: var(--gtw-gold); font: 800 0.7rem var(--gtw-sans); text-transform: uppercase; letter-spacing: 0.08em; }
.gtw-search-result__title { color: var(--gtw-navy); font: 700 1.04rem var(--gtw-serif); }
.gtw-search-result__keywords { color: var(--gtw-muted); font: 0.78rem var(--gtw-sans); }
.gtw-search__empty { padding: 1rem; border: 1px dashed var(--gtw-border); }

/* Forms */
.gtw-form { display: grid; gap: 1rem; }
.gtw-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.gtw-field { display: grid; gap: 0.35rem; }
.gtw-field label, .gtw-field legend { color: var(--gtw-navy); font: 700 0.84rem var(--gtw-sans); }
.gtw-field input,
.gtw-field select,
.gtw-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--gtw-border-strong);
  background: #fff;
  color: var(--gtw-text);
  padding: 0.72rem 0.8rem;
  border-radius: 0;
  font: 1rem/1.35 var(--gtw-sans);
}
.gtw-field textarea { min-height: 140px; resize: vertical; }
.gtw-form-status { min-height: 1.3em; color: var(--gtw-blue); font: 600 0.88rem var(--gtw-sans); }
.gtw-field-help { margin: 0; color: var(--gtw-muted); font: 0.78rem/1.45 var(--gtw-sans); }
.gtw-check { display: flex; gap: 0.55rem; align-items: flex-start; }
.gtw-check input { margin-top: 0.2rem; }

/* Social share */
.gtw-share { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 1rem; }
.gtw-share__label { width: 100%; color: var(--gtw-muted); font: 700 0.74rem var(--gtw-sans); text-transform: uppercase; letter-spacing: 0.08em; }
.gtw-share button { min-height: 40px; padding: 0.5rem 0.7rem; border: 1px solid var(--gtw-border-strong); background: transparent; color: var(--gtw-navy); font: 700 0.78rem var(--gtw-sans); cursor: pointer; }

/* Fiscal simulator */
.gtw-simulator { border: 1px solid var(--gtw-border-strong); background: rgba(255,255,255,0.36); padding: clamp(1rem, 2.4vw, 1.7rem); }
.gtw-simulator__grid { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); gap: 1.25rem; align-items: start; }
.gtw-simulator__controls { display: grid; gap: 1.15rem; }
.gtw-slider { display: grid; gap: 0.4rem; }
.gtw-slider__top { display: flex; justify-content: space-between; gap: 0.8rem; align-items: baseline; }
.gtw-slider label { color: var(--gtw-navy); font: 700 0.88rem var(--gtw-sans); }
.gtw-slider output { color: var(--gtw-blue); font: 800 0.86rem var(--gtw-sans); }
.gtw-slider input[type='range'] { width: 100%; accent-color: var(--gtw-blue); }
.gtw-slider small { color: var(--gtw-muted); line-height: 1.4; }
.gtw-simulator__result { margin: 1.1rem 0; padding: 1rem; border-left: 4px solid var(--gtw-blue); background: rgba(28,61,90,0.06); }
.gtw-simulator__balance { margin: 0.25rem 0; color: var(--gtw-navy); font: 700 clamp(2rem, 5vw, 3.2rem)/1 var(--gtw-serif); }
.gtw-simulator__balance[data-state='negative'] { color: var(--gtw-danger); }
.gtw-simulator__balance[data-state='positive'] { color: var(--gtw-success); }
.gtw-simulator__charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.gtw-chart-card { min-height: 320px; border: 1px solid var(--gtw-border); background: #fff; padding: 0.8rem; }
.gtw-chart-card h3 { margin: 0 0 0.6rem; color: var(--gtw-navy); font: 700 1rem var(--gtw-serif); }
.gtw-chart-box { position: relative; height: 250px; }
.gtw-ledger-note { margin-top: 1rem; padding: 0.85rem; border: 1px dashed var(--gtw-border-strong); color: var(--gtw-muted); }

/* Book reader */
.gtw-reader { --reader-scale: 1; border: 1px solid var(--gtw-border-strong); background: var(--gtw-surface); }
.gtw-reader__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.55rem; padding: 0.8rem; border-bottom: 1px solid var(--gtw-border); background: var(--gtw-cream); }
.gtw-reader__toolbar select { min-height: 44px; flex: 1 1 280px; border: 1px solid var(--gtw-border-strong); background: #fff; padding: 0.55rem; }
.gtw-reader__progress-track { height: 5px; background: #e6e1db; }
.gtw-reader__progress-bar { width: 0; height: 100%; background: var(--gtw-blue); transition: width 100ms linear; }
.gtw-reader__meta { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0.9rem; color: var(--gtw-muted); font: 0.78rem var(--gtw-sans); border-bottom: 1px solid var(--gtw-border); }
.gtw-reader__viewport { max-height: 72vh; overflow-y: auto; padding: clamp(1.2rem, 4vw, 3rem); scroll-behavior: smooth; }
.gtw-reader__content { max-width: 72ch; margin: 0 auto; font: calc(1.08rem * var(--reader-scale))/1.75 var(--gtw-serif); color: #20262c; }
.gtw-reader__content h2, .gtw-reader__content h3 { color: var(--gtw-navy); line-height: 1.2; }
.gtw-reader__nav { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.8rem; border-top: 1px solid var(--gtw-border); background: var(--gtw-cream); }
.gtw-reader-error { padding: 1rem; border: 1px dashed var(--gtw-border-strong); }

/* Newsletter */
.gtw-newsletter { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 1.2rem; align-items: center; }
.gtw-newsletter h2 { margin: 0 0 0.5rem; color: var(--gtw-navy); font-family: var(--gtw-serif); }

@media (max-width: 1100px) {
  .gtw-nav-menu a, .gtw-nav-menu button { padding-inline: 0.42rem; font-size: 0.72rem; }
}

@media (max-width: 960px) {
  html.gtw-nav-open { overflow: hidden; }
  .gtw-site-nav { min-height: 68px; }
  .gtw-nav-toggle { display: inline-flex; }
  .gtw-nav-menu {
    position: fixed;
    inset: 68px 0 auto auto;
    width: min(88vw, 360px);
    height: calc(100dvh - 68px);
    padding: 1rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-y: auto;
    background: var(--gtw-cream);
    border-left: 1px solid var(--gtw-border);
    box-shadow: var(--gtw-shadow);
    transform: translateX(105%);
    visibility: hidden;
    transition: transform 180ms ease, visibility 180ms ease;
  }
  .gtw-nav-menu[data-open='true'] { transform: translateX(0); visibility: visible; }
  .gtw-nav-menu a, .gtw-nav-menu button { width: 100%; box-sizing: border-box; justify-content: flex-start; min-height: 48px; font-size: 0.9rem; border-bottom: 1px solid var(--gtw-border); }
  .gtw-search-trigger kbd { margin-left: auto; }
  .gtw-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gtw-simulator__grid, .gtw-newsletter { grid-template-columns: 1fr; }
  .gtw-toc { position: static; }
}

@media (max-width: 640px) {
  .gtw-brand { min-width: 0; }
  .gtw-brand__tagline { display: none; }
  .gtw-nav-toggle__label { display: none; }
  .gtw-download-grid, .gtw-form__grid, .gtw-simulator__charts { grid-template-columns: 1fr; }
  .gtw-dialog__body, .gtw-dialog__header { padding-inline: 0.9rem; }
  .gtw-reader__toolbar { align-items: stretch; }
  .gtw-reader__toolbar .gtw-button { flex: 1 1 auto; }
}

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

/* Integration overrides for the existing v12 editorial header/footer. */
.nav-wrap{position:relative}
.nav-search-inline{display:none}
.site-search-trigger{appearance:none;border:1px solid #b9c7cf;background:#fff;color:#17364c;border-radius:999px;padding:9px 12px;font-family:inherit;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer;min-height:40px}
.site-search-trigger span{margin-left:4px;font-size:.58rem;color:#647984}
.footer-feedback{appearance:none;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:2px;font:inherit;cursor:pointer;padding:0;text-align:left}
.gtw-update-section{padding:0 0 86px;background:#faf8f5}
.gtw-update-section .gtw-newsletter{width:min(1180px,calc(100% - 40px));margin:0 auto}
@media(min-width:901px){
  .nav-wrap{max-width:1500px!important;padding-left:24px!important;padding-right:24px!important;gap:14px!important}
  .site-header nav{gap:10px!important;flex-wrap:nowrap!important}
  .site-header nav a{font-size:.61rem!important;white-space:nowrap}
}
@media(max-width:900px){
  /* Override v12's display:none with an animatable drawer while keeping app-v11's .open state. */
  .site-header nav{
    display:flex!important;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);
    max-height:0;overflow:hidden;padding-top:0!important;padding-bottom:0!important;
    transition:opacity .2s ease,transform .2s ease,max-height .3s ease,padding .3s ease,visibility .2s linear .2s;
  }
  .site-header nav.open{
    visibility:visible;pointer-events:auto;opacity:1;transform:none;max-height:calc(100vh - 74px);overflow-y:auto;
    padding-top:14px!important;padding-bottom:20px!important;transition-delay:0s;
  }
  .site-header nav .nav-search-inline{display:block!important;appearance:none;border:0;border-top:1px solid #d8e0e4;background:transparent;color:#17364c;text-align:left;padding:14px 4px;margin-top:5px;font:800 .86rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
  .site-search-trigger{display:none!important}
}
@media(prefers-reduced-motion:reduce){.site-header nav{transition:none!important}}
/* Collapse the dense editorial nav before links can overlap on laptops/tablets. */
@media(max-width:1120px){
  .site-search-trigger{display:none!important}
  .menu-toggle{display:block!important;border:1px solid #c5d0d6;background:#fff;border-radius:999px;padding:9px 14px;font-weight:800;color:#17364c;cursor:pointer;min-height:42px}
  .site-header nav{
    display:flex!important;position:absolute!important;top:92px!important;left:0!important;right:0!important;z-index:110;
    flex-direction:column!important;align-items:stretch!important;gap:0!important;background:#fbfcfc!important;border-bottom:1px solid #d7e0e5!important;box-shadow:0 14px 30px rgba(12,30,47,.10);
    visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);max-height:0;overflow:hidden;padding:0 28px!important;
    transition:opacity .2s ease,transform .2s ease,max-height .3s ease,padding .3s ease,visibility .2s linear .2s;
  }
  .site-header nav.open{visibility:visible;pointer-events:auto;opacity:1;transform:none;max-height:calc(100vh - 92px);overflow-y:auto;padding:14px 28px 22px!important;transition-delay:0s}
  .site-header nav a,.site-header nav .nav-read{padding:12px 4px!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:.78rem!important}
  .site-header nav a:after{display:none!important}
  .site-header nav .nav-search-inline{display:block!important;appearance:none;border:0;border-top:1px solid #d8e0e4;background:transparent;color:#17364c;text-align:left;padding:14px 4px;margin-top:5px;font:800 .82rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
}
@media(max-width:760px){.site-header nav{top:78px!important}.site-header nav.open{max-height:calc(100vh - 78px)}}

/* ===== merged from /assets/css/platform-v25.css ===== */
/* GovThatWorks.org — V15 definitive civic platform layer */
:root{--v15-cream:#faf8f5;--v15-paper:#fcfbfa;--v15-navy:#0c1a2a;--v15-blue:#1c3d5a;--v15-slate:#273d4e;--v15-green:#2e7d32;--v15-red:#b71c1c;--v15-beige:#d4cbb8;--v15-beige2:#e3dec3;--v15-muted:#5b6872;--v15-shadow:0 16px 44px rgba(12,26,42,.09)}
/* V17 mobile navigation, deep-link, and scorecard polish */
html{scroll-padding-top:104px}
.v15-main [id]{scroll-margin-top:104px}
.platform-nav-group>summary::after{font-size:.9em;margin-left:7px;vertical-align:.04em}
.platform-nav-group.current-section>summary{background:#eef2f4;color:#102c43}
.platform-menu-panel a[aria-current="page"]{background:#edf2f5;color:#0c1a2a;box-shadow:inset 3px 0 0 #1c3d5a}
.platform-home-link[aria-current="page"]{border-color:#1c3d5a}
.book-bridge a::after{content:"  →";font-weight:900}
.gtw-reader[data-deep-linked="true"]{scroll-margin-top:100px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.platform-nav,.score-progress .score-arrow{transition:none!important}}

html{scroll-behavior:smooth}body{background:var(--v15-cream);color:var(--v15-navy)}
:focus-visible{outline:3px solid #2f6f9f!important;outline-offset:3px!important;border-radius:3px}
.v15-skip{position:fixed;top:8px;left:8px;z-index:9999;background:#fff;color:#071522;padding:10px 14px;border:2px solid var(--v15-blue);transform:translateY(-160%);transition:.18s}.v15-skip:focus{transform:none}
/* Header */
.platform-header{position:sticky;top:0;z-index:1200;background:rgba(252,251,250,.97);border-bottom:1px solid #e4ded2;box-shadow:0 4px 18px rgba(12,26,42,.035);backdrop-filter:blur(12px)}
.platform-nav-wrap{width:min(1460px,calc(100% - 40px));min-height:82px;margin:auto;display:flex;align-items:center;gap:18px}.platform-header .brand{flex:0 0 auto}.platform-home-link{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--v15-navy);text-decoration:none;padding:10px 8px;border-bottom:2px solid transparent}.platform-home-link:hover{border-color:var(--v15-blue)}
.platform-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-left:auto}.platform-nav-group{position:relative}.platform-nav-group>summary{list-style:none;cursor:pointer;padding:11px 10px;font-size:.74rem;line-height:1.1;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:var(--v15-navy);white-space:nowrap;border-radius:8px}.platform-nav-group>summary::-webkit-details-marker{display:none}.platform-nav-group>summary::after{content:"▾";font-size:.72em;margin-left:5px;color:#5b7082}.platform-nav-group[open]>summary{background:#eef2f4;color:#102c43}.platform-menu-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:#fff;border:1px solid var(--v15-beige);border-radius:14px;box-shadow:0 20px 60px rgba(12,26,42,.17);padding:9px;display:grid;gap:2px}.platform-menu-panel a{display:block;padding:11px 12px;border-radius:9px;text-decoration:none;color:#173044;font-size:.86rem;line-height:1.25}.platform-menu-panel a:hover,.platform-menu-panel a:focus-visible{background:#f4f1eb}.platform-menu-panel a strong{display:block;font-size:.89rem}.platform-menu-panel a small{display:block;color:#68757e;margin-top:2px;font-size:.72rem}.platform-search{border:1px solid #bed0db;background:#fff;color:var(--v15-navy);border-radius:999px;padding:9px 12px;font-weight:800;font-size:.75rem;cursor:pointer}.platform-menu-toggle{display:none;margin-left:auto;border:1px solid #aabac4;background:#fff;color:var(--v15-navy);border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.platform-drawer-close{display:none;border:0;background:transparent;color:var(--v15-navy);font-weight:850;font-size:.85rem;padding:8px 6px;cursor:pointer}.platform-menu-backdrop{display:none}.platform-header .scroll-progress{height:2px;background:transparent}.platform-header .scroll-progress span{display:block;height:100%;width:0;background:var(--v15-red)}
@media(max-width:1180px){.platform-nav-wrap{width:min(100% - 28px,1460px)}.platform-header .brand-text small{display:none}.platform-nav-group>summary{padding:11px 7px;font-size:.68rem}}
@media(max-width:980px){
.platform-home-link{display:none}
.platform-menu-toggle{display:inline-flex;align-items:center;gap:8px}
/* V17: use a selector more specific than the legacy .site-header nav mobile rule in styles-v12.css. */
.site-header nav.platform-nav{display:block!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(420px,92vw)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:82px 18px 28px!important;background:#fcfbfa!important;border:0!important;border-left:1px solid #ded7cc!important;box-shadow:-18px 0 52px rgba(12,26,42,.24)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;white-space:normal!important;transform:translate3d(105%,0,0)!important;transition:transform .25s ease,opacity .2s ease!important;z-index:1260!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.site-header nav.platform-nav[data-open="true"]{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;opacity:1!important;max-height:100dvh!important}
.platform-drawer-close{display:flex;position:absolute;top:18px;right:18px;align-items:center;gap:7px;min-height:44px;padding:10px 8px}
.platform-drawer-close span{font-size:1.55rem;line-height:.8}
.platform-nav-group{border-bottom:1px solid #e5dfd4}
.platform-nav-group>summary{padding:18px 4px;font-size:.83rem;border-radius:0;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-nav-group>summary::after{margin-left:auto}
.site-header nav.platform-nav .platform-menu-panel{position:static!important;top:auto!important;right:auto!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 13px!important;display:grid!important;gap:2px!important}
.site-header nav.platform-nav .platform-menu-panel a{display:block!important;padding:12px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:.86rem!important;line-height:1.3!important;white-space:normal!important;text-transform:none!important;letter-spacing:normal!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;color:#173044!important}
.site-header nav.platform-nav .platform-menu-panel a:hover,.site-header nav.platform-nav .platform-menu-panel a:focus-visible,.site-header nav.platform-nav .platform-menu-panel a[aria-current="page"]{background:#edf2f5!important}
.site-header nav.platform-nav .platform-menu-panel a::after{display:none!important}
.platform-search{margin-top:18px;width:100%;padding:13px;min-height:46px}
.platform-menu-backdrop{position:fixed;inset:0;z-index:1240;border:0;background:rgba(5,16,27,.52);cursor:pointer;-webkit-tap-highlight-color:transparent}
.platform-menu-backdrop[data-open="true"]{display:block}
html.gtw-nav-open,html.gtw-nav-open body{overflow:hidden!important;overscroll-behavior:none}
}

@media(max-width:680px){.platform-nav-wrap{width:calc(100% - 28px);min-height:70px}.platform-header .brand-mark img{width:42px;height:42px}.platform-header .brand-text{display:block!important;font-size:.72rem;line-height:1.05}.platform-header .brand-text small{display:none}.platform-menu-toggle{padding:8px 10px}}
/* General editorial page system */
.v15-main{min-height:60vh}.v15-hero{background:linear-gradient(135deg,#0b1c2d,#1c3d5a 63%,#315c65);color:#fff;padding:86px 0 70px}.v15-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.v15-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:54px;align-items:end}.v15-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;color:#cfb893}.v15-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.7rem);line-height:.96;letter-spacing:-.045em;margin:.55rem 0 1rem;color:#fff}.v15-hero p{font-size:1.08rem;line-height:1.65;color:rgba(255,255,255,.86);max-width:770px}.v15-hero-note{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);padding:20px;border-radius:16px;font-size:.9rem;line-height:1.55}.v15-section{padding:72px 0}.v15-section.alt{background:#f2eee6}.v15-section.navy{background:var(--v15-navy);color:#fff}.v15-section-head{max-width:830px;margin-bottom:34px}.v15-section-head h2{font:500 clamp(2.3rem,4vw,4rem)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:.45rem 0 1rem}.v15-section-head p{font-size:1rem;line-height:1.65;color:#56636d}.v15-section.navy .v15-section-head p{color:rgba(255,255,255,.76)}.v15-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v15-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v15-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.v15-card{background:#fff;border:1px solid var(--v15-beige);border-radius:16px;padding:24px;box-shadow:0 9px 30px rgba(12,26,42,.045)}.v15-card h3{font:500 1.45rem/1.15 Georgia,"Times New Roman",serif;margin:.25rem 0 .65rem}.v15-card p,.v15-card li{font-size:.92rem;line-height:1.58;color:#52616c}.v15-card ul{padding-left:1.1rem}.v15-number{display:block;font:500 2.6rem/1 Georgia,serif;color:var(--v15-blue);margin:.35rem 0}.v15-tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf0f3;color:#17384e;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.v15-callout{border-left:4px solid var(--v15-blue);background:#f5f2ec;padding:20px 22px;border-radius:0 12px 12px 0;line-height:1.62}.v15-source-note{font-size:.76rem!important;color:#6a747b!important;line-height:1.5!important;margin-top:14px}.v15-source-note a{color:#214e70}.v15-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;background:var(--v15-blue);color:#fff;text-decoration:none;border:1px solid var(--v15-blue);font-weight:800;font-size:.82rem;cursor:pointer}.v15-btn.secondary{background:#fff;color:var(--v15-blue)}
/* Bidirectional book bridge */
.book-bridge{background:#fff;border:1px solid var(--v15-beige);border-radius:15px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0}.book-bridge strong{display:block;font:500 1.08rem Georgia,serif}.book-bridge span{display:block;color:#66727a;font-size:.8rem;margin-top:3px}.book-bridge a{white-space:nowrap}.book-bridge-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.book-bridge.bottom{margin-top:46px}
/* Proposal box */
.proposal-brief{background:#fff;border:1px solid #cbbfa9;border-top:5px solid var(--v15-blue);border-radius:14px;overflow:hidden}.proposal-brief>header{padding:20px 22px;background:#f6f2ea}.proposal-brief>header h2{font:500 1.8rem Georgia,serif;margin:0}.proposal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-row{padding:18px 20px;border-top:1px solid #e5dfd4}.proposal-row:nth-child(odd){border-right:1px solid #e5dfd4}.proposal-row b{display:block;color:#253f50;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;margin-bottom:6px}.proposal-row p{margin:0;color:#4d5d67;line-height:1.55;font-size:.89rem}
/* Counterargument */
.policy-counterargument{background:#fff;border:1px solid #d8c9bd;border-radius:15px;overflow:hidden}.policy-counterargument summary{cursor:pointer;list-style:none;padding:21px 54px 21px 22px;font:600 1.25rem Georgia,serif;color:#61231f;position:relative}.policy-counterargument summary::-webkit-details-marker{display:none}.policy-counterargument summary:after{content:"+";position:absolute;right:20px;top:17px;font:400 1.65rem Arial;color:#7f3930}.policy-counterargument[open] summary:after{content:"−"}.counter-body{border-top:1px solid #e4d8cf;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.counter-body h3{font:500 1.2rem Georgia,serif;margin:0 0 .6rem}.counter-body p{font-size:.91rem;line-height:1.62;color:#505e67;margin:0}.counter-body .uncertainty{grid-column:1/-1;background:#f7f3ed;padding:15px;border-radius:10px}
/* Interactive labs */
.v15-lab{background:#fff;border:1px solid var(--v15-beige);border-radius:18px;padding:24px;box-shadow:var(--v15-shadow)}.v15-lab-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);gap:26px}.v15-control{margin-bottom:18px}.v15-control label{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;font-weight:800;color:#263e50;margin-bottom:7px}.v15-control input[type=range]{width:100%;accent-color:var(--v15-blue)}.v15-control input[type=number],.v15-control select,.v15-control input[type=search]{width:100%;padding:11px 12px;border:1px solid #adbbc3;border-radius:8px;background:#fff;color:#102638;font:inherit}.v15-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v15-output{background:#f5f3ee;border:1px solid #e2dace;border-radius:12px;padding:15px}.v15-output span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.075em;font-weight:850;color:#65737d}.v15-output strong{display:block;font:500 1.75rem Georgia,serif;color:var(--v15-navy);margin-top:5px}.v15-output.good strong{color:var(--v15-green)}.v15-output.bad strong{color:#9c2d28}.v15-bar{height:28px;background:#e9e6df;border-radius:999px;overflow:hidden;position:relative}.v15-bar>i{height:100%;display:block;background:var(--v15-blue);border-radius:999px;transition:width .45s ease}.v15-bar.green>i{background:var(--v15-green)}.v15-bar.red>i{background:#a33b34}.v15-bar-label{display:flex;justify-content:space-between;font-size:.74rem;color:#64717a;margin:5px 0 13px}.v15-comparison-row{display:grid;grid-template-columns:150px 1fr 85px;gap:12px;align-items:center;margin:13px 0}.v15-comparison-row b{font-size:.82rem}.v15-comparison-row output{text-align:right;font-weight:850}.v15-stack{height:38px;display:flex;border-radius:7px;overflow:hidden;border:1px solid #dad4c9}.v15-stack span{height:100%}.v15-mini-note{background:#f6f2ea;border:1px solid #e2d9ca;border-radius:10px;padding:12px 14px;font-size:.79rem;line-height:1.5;color:#5f6971;margin-top:15px}
/* Household calculator */
.household-calc .v15-output.net{grid-column:1/-1;background:#edf4ee}.household-calc .v15-output.net.negative{background:#f8eded}.household-benchmarks{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}.household-benchmarks button{border:1px solid #c8d3da;background:#fff;border-radius:9px;padding:9px 7px;color:#17384f;font-size:.71rem;cursor:pointer}.household-benchmarks button:hover{background:#eef3f5}.insurance-custom{display:none}.insurance-custom.visible{display:block}
/* Scorecard */
.scorecard-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.scorecard-toolbar input{flex:1 1 260px;padding:11px 12px;border:1px solid #9fadb6;border-radius:9px;background:#fff;color:#0c1a2a}.scorecard-toolbar button{border:1px solid #adbbc4;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#254257;cursor:pointer}.scorecard-toolbar button.active{background:var(--v15-blue);color:#fff}.scorecard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.score-domain{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:20px}.score-domain h3{font:500 1.35rem Georgia,serif;margin:.15rem 0 .75rem}.score-metric{border-top:1px solid #ebe5da;padding:14px 0 13px}.score-metric:first-of-type{border-top:0}.score-metric header{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:#273d4e}.score-metric header b{max-width:70%;color:#0c1a2a}.score-metric header span{white-space:nowrap;font-weight:700}.score-progress{height:30px;position:relative;margin-top:8px;border-radius:10px;background:linear-gradient(90deg,#f3f0e9 0%,#edf1f3 100%);border:1px solid #e1dbcf;overflow:hidden}.score-progress::before,.score-progress::after{content:"";position:absolute;top:5px;bottom:5px;width:3px;border-radius:3px;z-index:2}.score-progress::before{left:8px;background:#273d4e}.score-progress::after{right:8px;background:#2e7d32}.score-progress .score-arrow{position:absolute;left:18px;right:18px;top:13px;height:2px;background:#9babb6}.score-progress .score-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid #9babb6;border-top:5px solid transparent;border-bottom:5px solid transparent}.score-progress .score-start,.score-progress .score-end{position:absolute;top:5px;font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#596872;z-index:3;background:rgba(255,255,255,.8);padding:3px 4px;border-radius:4px}.score-progress .score-start{left:14px}.score-progress .score-end{right:14px;color:#275e2c}.score-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:7px;color:#4e606d;font-size:.74rem;line-height:1.35}.score-values span:last-child{text-align:right;color:#344d5d}.scorecard-disclaimer{padding:14px;background:#f5f2eb;border-radius:10px;font-size:.82rem;line-height:1.55;color:#4f5f69;margin-bottom:18px;border:1px solid #ebe4d8}.scorecard-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:-5px 0 16px;color:#53636e;font-size:.76rem}.scorecard-legend span{display:inline-flex;align-items:center;gap:6px}.scorecard-legend i{display:inline-block;width:3px;height:16px;border-radius:2px}.scorecard-legend .baseline i{background:#273d4e}.scorecard-legend .target i{background:#2e7d32}
/* Reorganization */
.reorg-shell{display:grid;grid-template-columns:280px 1fr;gap:20px}.agency-list{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:10px;max-height:660px;overflow:auto}.agency-list button{width:100%;text-align:left;border:0;border-bottom:1px solid #eee8df;background:transparent;padding:11px 10px;color:#233e51;cursor:pointer;font-weight:700}.agency-list button.active{background:#eaf0f3;border-radius:7px}.agency-detail{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:24px}.move-diagram{display:grid;grid-template-columns:1fr 56px 1fr;gap:12px;align-items:center;margin:16px 0}.move-box{border:1px solid #ced8de;border-radius:12px;padding:17px;background:#f7f8f8}.move-arrow{text-align:center;font-size:2rem;color:#728591}.safeguard-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.safeguard-list div{padding:12px;background:#f6f2eb;border-radius:9px;font-size:.8rem;line-height:1.45}
/* Law matrix */
.law-toolbar{position:sticky;top:84px;z-index:30;background:#faf8f5;padding:13px 0}.law-filters{display:flex;gap:8px;flex-wrap:wrap}.law-filters button{border:1px solid #bac6cd;background:#fff;color:#203c50;border-radius:999px;padding:9px 11px;font-weight:800;font-size:.72rem;cursor:pointer}.law-filters button.active{background:var(--v15-blue);color:#fff}.law-search{width:100%;margin-bottom:10px;padding:11px 12px;border:1px solid #aebbc3;border-radius:9px}.law-table-wrap{overflow:auto;border:1px solid var(--v15-beige);border-radius:13px;background:#fff}.law-table{width:100%;border-collapse:collapse;min-width:900px}.law-table th{position:sticky;top:0;background:#152e43;color:#fff;padding:12px;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em}.law-table td{padding:13px 12px;border-top:1px solid #e7e0d6;font-size:.8rem;line-height:1.4;vertical-align:top}.law-table tr:hover td{background:#faf7f2}.vehicle-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.66rem;font-weight:850;background:#e8eef2;color:#24475f}.vehicle-pill.amendment{background:#f5e8e5;color:#822a22}.vehicle-pill.rule{background:#eee9f5;color:#513d73}.vehicle-pill.state{background:#e9f2e9;color:#2e6034}
/* Amendment explorer */
.amendment-explorer{display:grid;grid-template-columns:290px 1fr;gap:22px}.amendment-list{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:9px;align-self:start;position:sticky;top:100px}.amendment-list button{width:100%;text-align:left;border:0;background:transparent;padding:11px;border-radius:8px;color:#17384e;cursor:pointer;font-weight:750;line-height:1.2}.amendment-list button.active{background:#e9eff2}.amendment-panel{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:24px}.amendment-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #e1d9ce;padding-bottom:12px;margin-bottom:18px}.amendment-tabs button{border:1px solid #bcc8ce;background:#fff;padding:8px 10px;border-radius:999px;font-size:.72rem;font-weight:800;color:#234357;cursor:pointer}.amendment-tabs button.active{background:var(--v15-blue);color:#fff}.constitutional-text{white-space:pre-wrap;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.72;color:#1e2f3b}.constitutional-text p{margin:0 0 1.1rem}.amendment-note{background:#f6f2ea;border-left:4px solid #9b6a43;padding:14px 16px;margin-bottom:18px;font-size:.8rem;line-height:1.5}
/* Downloads */
.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-card{background:#fff;border:1px solid var(--v15-beige);border-radius:14px;padding:22px}.download-card h3{font:500 1.35rem Georgia,serif}.download-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
/* Reader extra */
.reader-lab-callout{background:#edf3f4;border:1px solid #bbd0d4;border-radius:12px;padding:16px 18px;margin:0 0 24px}.reader-lab-callout strong{display:block;font:500 1.05rem Georgia,serif;margin-bottom:4px}.reader-lab-callout a{font-weight:800}.gtw-reader__content h2,.gtw-reader__content h3{scroll-margin-top:110px}
@media(max-width:900px){.v15-hero-grid,.v15-lab-grid,.reorg-shell,.amendment-explorer{grid-template-columns:1fr}.v15-grid-3,.v15-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.amendment-list{position:static;display:flex;overflow:auto}.amendment-list button{min-width:210px}.scorecard-grid{grid-template-columns:1fr}.reorg-shell .agency-list{max-height:260px}.safeguard-list{grid-template-columns:1fr}}
@media(max-width:680px){.v15-wrap{width:calc(100% - 30px)}.v15-hero{padding:64px 0 54px}.v15-section{padding:58px 0}.v15-grid-2,.v15-grid-3,.v15-grid-4,.proposal-grid{grid-template-columns:1fr}.proposal-row:nth-child(odd){border-right:0}.counter-body{grid-template-columns:1fr}.book-bridge{display:block}.book-bridge-actions{justify-content:flex-start;margin-top:12px}.book-bridge a{margin-top:0}.v15-output-grid{grid-template-columns:1fr}.v15-comparison-row{grid-template-columns:105px 1fr 70px}.household-benchmarks{grid-template-columns:repeat(2,1fr)}.move-diagram{grid-template-columns:1fr}.move-arrow{transform:rotate(90deg)}.download-grid{grid-template-columns:1fr}.law-toolbar{top:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V17.1 mobile reliability and iPhone safe-area polish */
@media(max-width:980px){
  .site-header nav.platform-nav{padding-top:calc(82px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important}
  .platform-drawer-close{top:calc(18px + env(safe-area-inset-top,0px))}
  dialog.gtw-dialog{max-height:calc(100dvh - 24px);margin-top:max(12px,env(safe-area-inset-top,0px));margin-bottom:max(12px,env(safe-area-inset-bottom,0px))}
}

.v17-related-deep-dive{margin:14px 0 0;padding-top:13px;border-top:1px solid #e6ded2;font-size:.83rem;line-height:1.45;color:#53636f}.v17-related-deep-dive a{color:#1c3d5a;font-weight:800;text-underline-offset:3px}

/* V24 reader fidelity pass */
.gtw-reader__content p{margin:0 0 1.15em}
.gtw-reader__content h3{margin:2em 0 .65em;font-family:Georgia,"Times New Roman",serif;font-size:1.34em;letter-spacing:.01em;text-wrap:balance}
.gtw-reader__content h4{margin:1.5em 0 .5em;font:700 1em -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#273d4e}
.gtw-reader__content ul{margin:.7em 0 1.25em;padding-left:1.45em}
.gtw-reader__content li{margin:.45em 0}
.reader-brief-row{display:grid;grid-template-columns:minmax(115px,150px) 1fr;gap:14px;padding:12px 0;border-top:1px solid #e3dec3;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.reader-brief-row strong{font-size:.76em;letter-spacing:.08em;color:#1c3d5a}
.reader-note{font-size:.94em;line-height:1.7;margin-bottom:1.05em!important}
@media(max-width:620px){.reader-brief-row{grid-template-columns:1fr;gap:5px}}


/* V25 full-site audit refinements */
:root{scroll-padding-top:108px}
.gtw-reader__content{overflow-wrap:anywhere;word-break:normal}
.gtw-reader__content a{overflow-wrap:anywhere;text-underline-offset:.14em}
.gtw-reader__content .reader-bib-category{margin:2.4em 0 .75em;padding-top:.7em;border-top:2px solid #d4cbb8;font:700 1.08em -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#1c3d5a}
.gtw-reader__content .reader-bib-subhead{margin:1.6em 0 .55em;font:700 1em -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#273d4e}
.gtw-reader__content .reader-bib-entry{margin:0 0 .72em;padding-left:1.35em;text-indent:-1.35em;line-height:1.65}
.gtw-reader__content .reader-bib-intro{font-style:italic;color:#4c606d}
.gtw-reader__content .reader-notes-chapter{margin-top:2.35em;padding-top:.75em;border-top:1px solid #e3dec3}
.gtw-reader__content .reader-note{padding-left:1.25em;text-indent:-1.25em}
.gtw-reader__content .reader-glossary-heading{margin-top:2.2em;padding-top:.7em;border-top:1px solid #e3dec3;font-size:1.15em;text-transform:none;letter-spacing:.04em}
.gtw-reader__content .reader-glossary-entry{margin-bottom:.75em}
.gtw-reader__content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;-webkit-overflow-scrolling:touch}
.gtw-reader__content th,.gtw-reader__content td{min-width:7rem;vertical-align:top}
.gtw-reader__viewport:focus-visible{outline:3px solid #2f6f9f;outline-offset:-3px}
.gtw-reader__toolbar{position:sticky;top:0;z-index:2}
.book-bridge{scroll-margin-top:110px}
.platform-menu-panel a[aria-current="page"],.platform-menu-panel a.current{background:#edf3f4;color:#0c1a2a}
@media(max-width:720px){
  .gtw-reader__viewport{max-height:68vh;overflow-y:auto;padding:1.15rem}
  .gtw-reader__toolbar{top:76px}
  .gtw-reader__content{font-size:calc(1.02rem * var(--reader-scale));line-height:1.72}
  .gtw-reader__nav{position:sticky;bottom:0;z-index:2;box-shadow:0 -6px 18px rgba(12,26,42,.08)}
  .gtw-reader__content .reader-bib-entry{padding-left:1em;text-indent:-1em}
}
@media print{
  .site-header,.gtw-reader__toolbar,.gtw-reader__nav,.gtw-reader__progress-track,.gtw-reader__meta,footer,.reader-lab-callout{display:none!important}
  .gtw-reader{border:0}.gtw-reader__viewport{max-height:none;overflow:visible;padding:0}.gtw-reader__content{max-width:none;font-size:11pt}
}

.gtw-reader__content .reader-table-wrap{max-width:100%;overflow-x:auto;margin:1em 0 2em;border:1px solid #d4cbb8;border-radius:10px;-webkit-overflow-scrolling:touch}
.gtw-reader__content .reader-matrix-table{display:table;width:100%;min-width:880px;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.82em;line-height:1.45}
.gtw-reader__content .reader-matrix-table th{background:#eef2f3;color:#0c1a2a;text-align:left;position:sticky;top:0}
.gtw-reader__content .reader-matrix-table th,.gtw-reader__content .reader-matrix-table td{padding:.72rem .78rem;border-bottom:1px solid #e3dec3}
.gtw-reader__content .reader-matrix-table tbody tr:nth-child(even){background:#fcfbfa}
.gtw-reader__content .reader-appendix-amendment{margin:2.5em 0 .8em;padding-top:.8em;border-top:2px solid #d4cbb8;font-size:1.45em}

/* ===== merged from /assets/css/policy-v26.css ===== */

:root{--v26-navy:#0c1a2a;--v26-blue:#1c3d5a;--v26-slate:#273d4e;--v26-green:#2e7d32;--v26-red:#b71c1c;--v26-cream:#faf8f5;--v26-border:#d4cbb8;--v26-soft:#f2eee6}
html{scroll-padding-top:92px}.v26-breadcrumb{display:flex;gap:.55rem;align-items:center;padding-top:1rem;color:#647580;font-size:.86rem}.v26-breadcrumb a{color:#1c3d5a}.v26-hero{border-bottom:1px solid #e3dec3}.v26-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.v26-policy-card,.v26-evidence-grid article,.v26-service-grid article{background:#fff;border:1px solid var(--v26-border);border-radius:14px;padding:1.25rem;box-shadow:0 8px 22px rgba(12,26,42,.035)}.v26-policy-card h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.08;margin:.6rem 0}.v26-policy-card p,.v26-evidence-grid p{color:#4b5e6a;line-height:1.65}.v26-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.v26-evidence-grid strong{display:block;font-family:Georgia,serif;font-size:1.2rem;margin:.65rem 0}.v26-lab{background:#fff;border:1px solid var(--v26-border);border-radius:18px;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 14px 32px rgba(12,26,42,.05)}.v26-tool-grid,.v26-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem;align-items:start}.v26-controls{display:grid;gap:1rem}.v26-controls label,.v26-tool-grid label,.v26-chart-grid label{font-weight:700;color:#1b2d3c;display:grid;gap:.45rem}.v26-controls input[type=range],.v26-tool-grid input[type=range],.v26-chart-grid input[type=range]{width:100%;accent-color:#1c3d5a}.v26-controls select,.v26-toolbar input{width:100%;padding:.75rem;border:1px solid #b9c6ce;border-radius:9px;background:#fff;color:#0c1a2a}.v26-output-card{border:1px solid #ccd5da;border-radius:14px;background:#f8fafb;padding:1rem}.v26-output-card>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid #e1e7ea}.v26-output-card>div:last-of-type{border-bottom:0}.v26-output-card strong{font-family:Georgia,serif;font-size:1.6rem;color:#0c1a2a}.v26-output-card .good strong{color:#2e7d32}.v26-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start!important;font-weight:600!important;gap:.6rem!important}.v26-check input{margin-top:.18rem}.v26-data-table,.v26-table-scroll{overflow:auto;border:1px solid var(--v26-border);border-radius:14px;background:#fff}.v26-data-table table,.v26-interactive-table{width:100%;border-collapse:collapse;min-width:620px}.v26-data-table caption{font-family:Georgia,serif;text-align:left;font-size:1.35rem;padding:1rem}.v26-data-table th,.v26-data-table td,.v26-interactive-table th,.v26-interactive-table td{padding:.8rem 1rem;border-bottom:1px solid #e8e2d7;text-align:left}.v26-data-table th,.v26-interactive-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;background:#f6f3ed}.v26-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.v26-metric-strip article{background:#fff;border:1px solid var(--v26-border);border-radius:13px;padding:1rem}.v26-metric-strip span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#657785}.v26-metric-strip strong{display:block;font-family:Georgia,serif;font-size:2rem;color:#173b57;margin:.25rem 0}.v26-verbatim-note{color:#667680;font-size:.85rem}.v26-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.v26-source-grid a{display:block;border:1px solid var(--v26-border);border-radius:12px;padding:1rem;background:#fff;text-decoration:none;color:#0c1a2a}.v26-source-grid a:hover{text-decoration:underline}.v26-source-grid span{display:block;color:#5b6b75;margin-top:.25rem;font-size:.9rem}.v26-range-label{display:grid;grid-template-columns:1fr auto;gap:.6rem;font-weight:800}.v26-range-label input{grid-column:1/-1;width:100%;accent-color:#1c3d5a}.v26-scotus-bench{display:grid;grid-template-columns:repeat(9,minmax(70px,1fr));gap:.55rem;margin:1.2rem 0}.v26-seat{border:1px solid #cbd4da;border-radius:12px;padding:.7rem;background:#f8fafb;min-height:108px}.v26-seat strong,.v26-seat span{display:block}.v26-seat strong{font-family:Georgia,serif;color:#153a57}.v26-seat small{display:block;margin-top:.5rem;color:#667780}.v26-seat.new{background:#eef5f8;border-color:#8daaba}.v26-seat.senior{opacity:.65}.v26-sim-caption{border-left:4px solid #1c3d5a;padding:.8rem 1rem;background:#f6f3ed}.v26-toolbar{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end;margin:1rem 0}.v26-toolbar label:first-child{display:grid;gap:.35rem;font-weight:700}.v26-tabs,.v26-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.v26-tabs button,.v26-filter-row button{border:1px solid #bdcbd3;background:#fff;color:#173b57;border-radius:999px;padding:.6rem .85rem;font-weight:800;cursor:pointer}.v26-tabs button[aria-selected=true],.v26-filter-row button.active{background:#153c58;color:#fff;border-color:#153c58}.v26-roadmap-list{display:grid;gap:.8rem;margin-top:1rem}.v26-roadmap-item{display:grid;grid-template-columns:110px 1fr auto;gap:1rem;align-items:start;border:1px solid var(--v26-border);border-radius:12px;background:#fff;padding:1rem}.v26-roadmap-item .phase{font-weight:900;color:#153c58}.v26-roadmap-item h3{font-family:Georgia,serif;margin:0 0 .25rem;font-size:1.1rem}.v26-chip{font-size:.72rem;border:1px solid #b9c8d1;border-radius:999px;padding:.28rem .55rem;white-space:nowrap}.v26-dependency-callout{border:1px solid #d7c9ad;background:#fffaf0;border-radius:14px;padding:1.2rem;margin-top:1.4rem}.v26-dependency-callout ol{columns:2;gap:2rem}.v26-big-number{font-family:Georgia,serif;font-size:3.2rem;color:#153c58;line-height:1}.v26-big-number small{font:700 .8rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:block;color:#5e707b;margin:.35rem 0 1.2rem}.v26-big-number.secondary{font-size:2.2rem}.v26-hbar{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 50px;gap:.7rem;align-items:center;margin:.8rem 0;font-size:.88rem}.v26-hbar i{height:14px;border-radius:999px;background:linear-gradient(to right,#1c3d5a var(--v),#e8ecee var(--v))}.v26-hbar b{text-align:right}.v26-donut{display:inline-grid;place-items:center;width:150px;height:150px;border-radius:50%;background:conic-gradient(#1c3d5a calc(var(--pct)*1%),#e7e2d7 0);margin:.6rem;position:relative}.v26-donut:before{content:"";position:absolute;inset:22px;background:#fff;border-radius:50%}.v26-donut span{position:relative;text-align:center;font-family:Georgia,serif;font-size:1.65rem;font-weight:700}.v26-donut small{display:block;font:600 .68rem -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:90px;color:#5e707b}.v26-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.v26-service-grid span{display:block;color:#60717c;margin-top:.25rem}.platform-menu-panel{max-height:min(76vh,620px);overflow:auto;overscroll-behavior:contain}.platform-menu-panel a{padding:.67rem .78rem}.platform-menu-panel small{line-height:1.25}
@media(max-width:980px){.platform-menu-panel{max-height:none}.v26-policy-grid,.v26-evidence-grid{grid-template-columns:1fr 1fr}.v26-scotus-bench{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){html{scroll-padding-top:76px}.v26-policy-grid,.v26-evidence-grid,.v26-tool-grid,.v26-chart-grid,.v26-metric-strip,.v26-source-grid,.v26-service-grid{grid-template-columns:1fr}.v26-roadmap-item{grid-template-columns:1fr}.v26-dependency-callout ol{columns:1}.v26-toolbar{grid-template-columns:1fr}.v26-scotus-bench{grid-template-columns:repeat(2,1fr)}.v26-hbar{grid-template-columns:1fr 45px}.v26-hbar i{grid-column:1/-1}.v26-big-number{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

.v26-table-gap{margin-top:1rem}.v26-data-table .v15-mini-note{padding:0 1rem 1rem;margin:.5rem 0 0;color:#5b6d78}.v26-data-table td:first-child{font-weight:650;color:#182c3b}.v26-fallback-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}.v26-fallback-grid article{background:#fff;border:1px solid var(--v26-border);border-radius:12px;padding:1rem}.v26-fallback-grid p{margin:.5rem 0 0;color:#536672;line-height:1.55}.platform-menu-panel::-webkit-scrollbar{width:8px}.platform-menu-panel::-webkit-scrollbar-thumb{background:#bcc8ce;border-radius:999px}.platform-menu-panel a:focus-visible,.v26-tabs button:focus-visible,.v26-filter-row button:focus-visible{outline:3px solid #8fb8ce;outline-offset:2px}
@media(max-width:980px){.v26-fallback-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.v26-fallback-grid{grid-template-columns:1fr}.v26-data-table table,.v26-interactive-table{min-width:560px}}

/* ===== merged from /assets/css/site-v27.css ===== */
/* V27 site-wide additions: header spacing fix, book gate, CTA card. */
:root{--l27-ink:#0c1a2a;--l27-ink-2:#263e50;--l27-muted:#5c6b78;--l27-line:#dbe1e5;--l27-soft:#f6f3ec;--l27-good:#1f6a32;--l27-bad:#8f1d1d;--l27-bad-bg:#f7e9e7;--l27-accent:#c8a467;--l27-radius:18px}
/* CTA card */
.l27-cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0b1b2c,#123a52);color:#fff;border-radius:var(--l27-radius);padding:clamp(1.2rem,3vw,2rem)}
.l27-cta h2{font-family:Georgia,serif;font-weight:400;margin:0 0 6px;font-size:clamp(1.4rem,3vw,2rem)}
.l27-cta p{margin:0;opacity:.85;max-width:620px;line-height:1.55}
.l27-cta a{display:inline-block;background:#fff;color:var(--l27-ink);border-radius:999px;padding:13px 22px;font-weight:800;text-decoration:none;white-space:nowrap}
.l27-cta a:focus-visible{outline:3px solid var(--l27-accent);outline-offset:3px}
/* Book gate */
.gtw-gate-form{display:grid;gap:12px}
.gtw-gate-form .gtw-gate-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.gtw-gate-form .gtw-gate-row{grid-template-columns:1fr}}
.gtw-gate-form label{display:block;font-weight:800;font-size:.85rem;margin-bottom:5px;color:var(--l27-ink-2)}
.gtw-gate-form input[type=text],.gtw-gate-form input[type=email]{width:100%;padding:12px 13px;border:1px solid #adbbc3;border-radius:10px;font:inherit;background:#fff;color:var(--l27-ink)}
.gtw-gate-form .gtw-gate-status{min-height:1.3em;font-size:.9rem;color:var(--l27-muted)}
.gtw-gate-form .gtw-gate-status.err{color:var(--l27-bad)}
.gtw-gate-privacy{font-size:.78rem;color:var(--l27-muted);line-height:1.5}
.gtw-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gtw-book-offer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
@media(max-width:860px){.gtw-book-offer{grid-template-columns:1fr}}
.gtw-buy-box{background:var(--l27-soft);border-radius:var(--l27-radius);padding:22px}
.gtw-buy-box h3{font-family:Georgia,serif;font-weight:400;font-size:1.4rem;margin:0 0 8px}
.gtw-buy-box .soon{display:inline-block;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#7a4b00;background:#fbf2e3;border-radius:999px;padding:6px 12px}
/* Header fix: on mid-size desktops the four menu groups overflow leftward into the
   "Home" link. The logo already links home, so hide the text link until there is room. */
@media(min-width:961px) and (max-width:1499px){.platform-home-link{display:none!important}}
@media(min-width:1500px){.platform-home-link{flex:none;margin-right:10px}}

/* Header fix 2: V26 legacy upgrades.css hid the platform nav between 981 and 1120px while the
   drawer toggle only appeared at 980px, leaving no menu at all. Extend the drawer to 1120px. */
@media(min-width:981px) and (max-width:1120px){
.platform-home-link{display:none}
.platform-menu-toggle{display:inline-flex;align-items:center;gap:8px}
/* V17: use a selector more specific than the legacy .site-header nav mobile rule in styles-v12.css. */
.site-header nav.platform-nav{display:block!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(420px,92vw)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:82px 18px 28px!important;background:#fcfbfa!important;border:0!important;border-left:1px solid #ded7cc!important;box-shadow:-18px 0 52px rgba(12,26,42,.24)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;white-space:normal!important;transform:translate3d(105%,0,0)!important;transition:transform .25s ease,opacity .2s ease!important;z-index:1260!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.site-header nav.platform-nav[data-open="true"]{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;opacity:1!important;max-height:100dvh!important}
.platform-drawer-close{display:flex;position:absolute;top:18px;right:18px;align-items:center;gap:7px;min-height:44px;padding:10px 8px}
.platform-drawer-close span{font-size:1.55rem;line-height:.8}
.platform-nav-group{border-bottom:1px solid #e5dfd4}
.platform-nav-group>summary{padding:18px 4px;font-size:.83rem;border-radius:0;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.platform-nav-group>summary::after{margin-left:auto}
.site-header nav.platform-nav .platform-menu-panel{position:static!important;top:auto!important;right:auto!important;width:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 13px!important;display:grid!important;gap:2px!important}
.site-header nav.platform-nav .platform-menu-panel a{display:block!important;padding:12px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:.86rem!important;line-height:1.3!important;white-space:normal!important;text-transform:none!important;letter-spacing:normal!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;color:#173044!important}
.site-header nav.platform-nav .platform-menu-panel a:hover,.site-header nav.platform-nav .platform-menu-panel a:focus-visible,.site-header nav.platform-nav .platform-menu-panel a[aria-current="page"]{background:#edf2f5!important}
.site-header nav.platform-nav .platform-menu-panel a::after{display:none!important}
.platform-search{margin-top:18px;width:100%;padding:13px;min-height:46px}
.platform-menu-backdrop{position:fixed;inset:0;z-index:1240;border:0;background:rgba(5,16,27,.52);cursor:pointer;-webkit-tap-highlight-color:transparent}
.platform-menu-backdrop[data-open="true"]{display:block}
html.gtw-nav-open,html.gtw-nav-open body{overflow:hidden!important;overscroll-behavior:none}
}
@media(min-width:1121px) and (max-width:1299px){.platform-header .brand-text small{display:none}}

/* ===== merged from /assets/css/site-v28.css ===== */

/* V28 editorial layer. Loaded last. */
:root{--v28-navy:#071829;--v28-navy2:#12344d;--v28-burgundy:#3d1720;--v28-burgundy2:#743e40;--v28-paper:#faf8f5;--v28-cream:#f3eee4;--v28-gold:#c9a15d;--v28-line:#ddd5c7;--v28-ink:#0c1a2a;--v28-muted:#5d6c77}
html[data-build="v28"]{scroll-padding-top:96px}
body{background:var(--v28-paper)}
.v28-editorial-hero{background:linear-gradient(120deg,#2b1118 0%,#4d2128 56%,#81504b 100%);color:#fff;padding:58px 0 52px;position:relative;overflow:hidden}
.v28-editorial-hero::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-170px;top:-255px}
.v28-editorial-hero .v15-wrap{position:relative;z-index:1}
.v28-editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:44px;align-items:end}
.v28-editorial-hero .v15-eyebrow{color:#e0bc82}.v28-editorial-hero h1{font:500 clamp(2.8rem,5.4vw,5rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:.35rem 0 .75rem;color:#fff}.v28-editorial-hero p{max-width:760px;color:rgba(255,255,255,.85);line-height:1.62}.v28-editorial-hero-note{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:17px 18px;background:rgba(255,255,255,.075);font-size:.9rem;line-height:1.55}
.v28-book-cta-section{padding:72px 0;background:#fff}.v28-book-cta{background:linear-gradient(130deg,#0b263e,#123a55);color:#fff;border-radius:22px;padding:clamp(28px,5vw,52px);display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:center;position:relative;overflow:hidden;box-shadow:0 18px 50px rgba(12,26,42,.12)}.v28-book-cta::after{content:"";position:absolute;right:-120px;top:-190px;width:390px;height:390px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.v28-book-cover{display:block;width:100%;max-width:150px;border-radius:2px;box-shadow:0 17px 28px rgba(0,0,0,.28);transform:perspective(800px) rotateY(-7deg)}.v28-book-cta-copy{position:relative;z-index:1}.v28-book-cta .eyebrow{color:#e0bc82}.v28-book-cta h2{font:500 clamp(2.25rem,4.2vw,4.4rem)/.98 Georgia,serif;letter-spacing:-.04em;margin:.35rem 0 .75rem;color:#fff}.v28-book-cta p{max-width:760px;color:rgba(255,255,255,.8);line-height:1.6}.v28-book-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.v28-book-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border-radius:999px;font-weight:800;text-decoration:none}.v28-book-actions .primary{background:#fff;color:#10273b}.v28-book-actions .secondary{color:#fff;border:1px solid rgba(255,255,255,.56)}.v28-book-note{font-size:.8rem!important;margin-top:12px!important;color:rgba(255,255,255,.72)!important}
.v28-getbook-grid{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(260px,.78fr);gap:28px;align-items:start}.v28-getbook-cover{width:100%;border-radius:2px;box-shadow:0 16px 34px rgba(12,26,42,.18);transform:perspective(900px) rotateY(-8deg)}.v28-getbook-card{background:#fff;border:1px solid var(--v28-line);border-radius:16px;padding:24px;box-shadow:0 12px 32px rgba(12,26,42,.06)}.v28-getbook-card h2,.v28-getbook-card h3{font-family:Georgia,serif;font-weight:500;color:var(--v28-ink)}.v28-getbook-card h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.08;margin:.35rem 0 1rem}.v28-getbook-side{background:#f6f0e5;border:1px solid #e1d7c7;border-radius:16px;padding:24px}.v28-getbook-side h3{margin-top:0}.v28-author-strip{background:#f2eee6;padding:52px 0}.v28-author-mini{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;max-width:850px}.v28-author-mini img{width:110px;height:128px;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px rgba(12,26,42,.13)}.v28-author-mini h2{font:500 1.65rem Georgia,serif;margin:.2rem 0 .45rem}.v28-author-mini p{margin:.3rem 0;color:#56646d;line-height:1.6}
.v28-about-grid{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:54px;align-items:start}.v28-author-photo{width:100%;border-radius:14px;filter:none;box-shadow:0 18px 38px rgba(12,26,42,.13)}.v28-about-copy{font-size:1rem;line-height:1.72;color:#394c5a}.v28-about-copy p{margin:0 0 1.15rem}.v28-about-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.v28-about-actions a{border-radius:999px;padding:11px 16px;text-decoration:none;font-weight:800}.v28-about-actions .primary{background:#cf302d;color:#fff}.v28-about-actions .secondary{border:1px solid #173b55;color:#173b55}.v28-about-links{font-size:.82rem;color:#5c6c77;margin-top:8px}
/* Reader */
.v28-reader-section{padding:42px 0 74px;background:#fbf8f2}.v28-reader-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.v28-reader-toc{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto;padding:4px 0 12px}.v28-reader-toc h2{font:800 .72rem/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#677985;margin:0 0 10px}.v28-reader-toc-list{display:grid;gap:3px}.v28-reader-toc-list button{width:100%;border:0;background:transparent;color:#223a4a;text-align:left;padding:8px 10px;border-radius:7px;font:600 .74rem/1.32 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.v28-reader-toc-list button:hover,.v28-reader-toc-list button:focus-visible{background:#edf1f2}.v28-reader-toc-list button[aria-current="page"]{background:#102b42;color:#fff}.v28-reader-main .gtw-reader{border:1px solid #c5d0d6;border-radius:10px;overflow:hidden;box-shadow:0 10px 32px rgba(12,26,42,.05)}.v28-reader-main .gtw-reader__toolbar{background:#fff;padding:.72rem .8rem}.v28-reader-main .gtw-reader__toolbar select{display:none}.v28-reader-main .gtw-reader__viewport{background:#fff;max-height:74vh;padding:clamp(1.4rem,4vw,3.4rem)}.v28-reader-main .gtw-reader__content{max-width:68ch}.v28-reader-main .gtw-reader__content>h1:first-child,.v28-reader-main .gtw-reader__content>h2:first-child{font:500 clamp(2rem,4vw,3.25rem)/1.02 Georgia,serif;letter-spacing:-.025em}.v28-reader-mobile-label{display:none;font-size:.75rem;font-weight:800;color:#50616e}
/* Footer */
.v28-footer{background:#07131f;color:#d9e2e8;padding:52px 0 0}.v28-footer-inner{width:min(1240px,calc(100% - 42px));margin:auto;display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:34px}.v28-footer-brand{min-width:0}.v28-footer-logo{display:flex;gap:10px;align-items:flex-start;color:#fff;text-decoration:none}.v28-footer-logo img{flex:none}.v28-footer-logo strong{font:600 .92rem/1.12 Georgia,serif}.v28-footer-logo small{display:block;color:#8ca0ad;font:.72rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-top:8px;max-width:230px}.v28-footer-cta{display:inline-flex;margin-top:18px;background:#fff;color:#0c1a2a;text-decoration:none;font-weight:850;font-size:.76rem;border-radius:999px;padding:9px 13px}.v28-footer-feedback{display:block;color:#cbd8df;margin-top:10px;font-size:.73rem;text-decoration:none}.v28-footer-col h2{font:800 .66rem/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#c9a15d;margin:2px 0 12px}.v28-footer-col a{display:block;color:#9eb0bc;text-decoration:none;font-size:.73rem;line-height:1.4;padding:3px 0}.v28-footer-col a:hover,.v28-footer-col a:focus-visible{color:#fff;text-decoration:underline}.v28-footer-bottom{width:min(1240px,calc(100% - 42px));margin:34px auto 0;border-top:1px solid rgba(255,255,255,.09);padding:18px 0 28px}.v28-footer-bottom p{font-size:.67rem;line-height:1.55;color:#7e929f;margin:8px 0}.v28-footer-bottom a{color:#adc0cb}.v28-build{display:inline-block;margin-left:8px;padding:2px 6px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#bdcbd3;font-size:.61rem;letter-spacing:.06em}
@media(max-width:1050px){.v28-footer-inner{grid-template-columns:1.25fr repeat(2,1fr)}.v28-footer-col:nth-of-type(4),.v28-footer-col:nth-of-type(5){margin-top:10px}.v28-reader-shell{grid-template-columns:185px minmax(0,1fr)}}
@media(max-width:820px){.v28-editorial-hero-grid,.v28-getbook-grid,.v28-about-grid{grid-template-columns:1fr}.v28-getbook-cover{max-width:180px}.v28-reader-shell{grid-template-columns:1fr}.v28-reader-toc{display:none}.v28-reader-main .gtw-reader__toolbar select{display:block}.v28-reader-mobile-label{display:block}.v28-footer-inner{grid-template-columns:1fr 1fr}.v28-footer-brand{grid-column:1/-1}.v28-book-cta{grid-template-columns:110px 1fr}}
@media(max-width:560px){.v28-editorial-hero{padding:48px 0 42px}.v28-footer-inner{grid-template-columns:1fr}.v28-footer-brand{grid-column:auto}.v28-book-cta{grid-template-columns:1fr}.v28-book-cover{max-width:118px}.v28-book-cta h2{font-size:2.35rem}.v28-author-mini{grid-template-columns:82px 1fr}.v28-author-mini img{width:82px;height:98px}.v28-reader-section{padding-top:24px}.v28-reader-main .gtw-reader__viewport{padding:1.2rem}.v28-reader-main .gtw-reader__toolbar{gap:.4rem}.v28-reader-main .gtw-reader__toolbar select{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.v28-book-cover,.v28-getbook-cover{transform:none}}

/* V30 defensive fallback if the final layer is delayed. */
html[data-build="v30"] .v28-author-photo{filter:none!important;-webkit-filter:none!important}
html[data-build="v30"] .v30-page-hero{background:linear-gradient(120deg,#2b1118 0%,#4d2128 56%,#81504b 100%)!important;color:#fff!important}

/* ===== merged from /assets/css/site-v29.css ===== */
/* V29 refinement layer. Loaded after V28. */

/* ------------------------------------------------------------
   Consistent inner-page editorial headers
   ------------------------------------------------------------ */
@media screen {
  html[data-build="v29"] .v15-hero,
  html[data-build="v29"] .civic-hero,
  html[data-build="v29"] .reparations-hero,
  html[data-build="v29"] .v28-editorial-hero {
    position:relative;
    overflow:hidden;
    background:linear-gradient(120deg,#2b1118 0%,#4d2128 56%,#81504b 100%) !important;
    color:#fff;
    padding:58px 0 52px;
  }

  html[data-build="v29"] .v15-hero::after,
  html[data-build="v29"] .civic-hero::after,
  html[data-build="v29"] .reparations-hero::after,
  html[data-build="v29"] .v28-editorial-hero::after {
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-170px;
    top:-255px;
    inset:auto -170px auto auto;
    border:1px solid rgba(255,255,255,.11);
    border-radius:50%;
    background:none;
    background-image:none;
    background-size:auto;
    mask-image:none;
    pointer-events:none;
    opacity:1;
  }

  html[data-build="v29"] .reparations-hero::before {display:none}

  html[data-build="v29"] .v15-hero > *,
  html[data-build="v29"] .civic-hero > *,
  html[data-build="v29"] .reparations-hero > *,
  html[data-build="v29"] .v28-editorial-hero > * {position:relative;z-index:1}

  html[data-build="v29"] .v15-hero h1,
  html[data-build="v29"] .civic-hero h1,
  html[data-build="v29"] .reparations-hero h1,
  html[data-build="v29"] .v28-editorial-hero h1 {
    font:500 clamp(2.8rem,5.4vw,5rem)/.98 Georgia,"Times New Roman",serif;
    letter-spacing:-.04em;
    color:#fff;
    margin:.35rem 0 .75rem;
  }

  html[data-build="v29"] .v15-hero p,
  html[data-build="v29"] .civic-hero p,
  html[data-build="v29"] .reparations-hero p,
  html[data-build="v29"] .v28-editorial-hero p {
    color:rgba(255,255,255,.85);
    line-height:1.62;
  }

  html[data-build="v29"] .v15-hero .v15-eyebrow,
  html[data-build="v29"] .civic-hero .eyebrow,
  html[data-build="v29"] .reparations-hero .eyebrow,
  html[data-build="v29"] .v28-editorial-hero .v15-eyebrow {color:#e0bc82}

  html[data-build="v29"] .v15-hero-note,
  html[data-build="v29"] .civic-disclaimer,
  html[data-build="v29"] .v28-editorial-hero-note {
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.075);
  }

  html[data-build="v29"] .civic-disclaimer {
    display:inline-flex;
    margin-top:10px;
    padding:9px 12px;
    color:rgba(255,255,255,.83);
  }
}

/* ------------------------------------------------------------
   Homepage hero: tighter title, smaller inline quote, raised values
   ------------------------------------------------------------ */
html[data-build="v29"] .hero {min-height:670px}
html[data-build="v29"] .hero-grid {
  min-height:670px;
  padding:94px 48px 70px;
  grid-template-columns:minmax(500px,760px) minmax(220px,330px);
  gap:58px;
  align-items:start;
}
html[data-build="v29"] .hero-copy {max-width:760px;padding-top:0}
html[data-build="v29"] .hero .kicker {margin-bottom:15px;font-size:.83rem;letter-spacing:.26em}
html[data-build="v29"] .hero h1 {
  max-width:760px;
  margin:0 0 19px;
  font-size:clamp(3.65rem,5.25vw,5rem);
  line-height:.93;
  letter-spacing:-.05em;
  text-wrap:balance;
}
html[data-build="v29"] .hero h1 .title-line {display:block}
html[data-build="v29"] .hero-deck {
  max-width:650px;
  margin-bottom:24px;
  font-size:1.04rem;
  line-height:1.58;
}
html[data-build="v29"] .hero-actions {margin-bottom:0}
html[data-build="v29"] .hero-quote-inline {
  max-width:620px;
  margin:22px 0 0;
  padding:13px 0 0 18px;
  border-left:2px solid rgba(224,188,130,.9);
  font:400 1.02rem/1.5 Georgia,"Times New Roman",serif;
  color:rgba(255,255,255,.9);
}
html[data-build="v29"] .hero-quote-inline cite {
  display:block;
  margin-top:7px;
  font:800 .66rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#f1d8b3;
}
html[data-build="v29"] .hero-side {
  align-self:start;
  align-items:stretch;
  justify-content:flex-start;
  padding-top:59px;
  gap:0;
}
html[data-build="v29"] .hero-values {
  width:100%;
  gap:14px;
  padding:21px 0 21px 24px;
}
html[data-build="v29"] .hero-values span {font-size:.88rem;letter-spacing:.19em}

/* ------------------------------------------------------------
   About the author
   ------------------------------------------------------------ */
html[data-build="v29"] .v28-author-photo {
  filter:none;
  background:#fff;
  border:1px solid #e6ded1;
}
html[data-build="v29"] .v28-about-copy {max-width:820px}
html[data-build="v29"] .v29-experience-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
html[data-build="v29"] .v29-experience-card {
  background:#fff;
  border:1px solid #ded6ca;
  border-radius:14px;
  padding:22px 22px 20px;
  box-shadow:0 10px 30px rgba(12,26,42,.045);
}
html[data-build="v29"] .v29-experience-card .v15-eyebrow {margin-bottom:10px}
html[data-build="v29"] .v29-experience-card h3 {
  margin:0 0 8px;
  font:500 1.42rem/1.12 Georgia,"Times New Roman",serif;
  color:#132a3e;
}
html[data-build="v29"] .v29-experience-card p {
  margin:0;
  color:#536572;
  font-size:.92rem;
  line-height:1.62;
}

@media(max-width:1200px){
  html[data-build="v29"] .hero-grid {grid-template-columns:1fr;min-height:auto;padding-top:88px;padding-bottom:58px}
  html[data-build="v29"] .hero {min-height:auto}
  html[data-build="v29"] .hero-side {padding-top:4px;max-width:650px}
  html[data-build="v29"] .hero-values {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid rgba(255,255,255,.5);padding:20px 0 0}
  html[data-build="v29"] .hero-values::before,html[data-build="v29"] .hero-values::after{display:none}
}
@media(max-width:820px){
  html[data-build="v29"] .v29-experience-grid {grid-template-columns:1fr}
}
@media(max-width:560px){
  html[data-build="v29"] .v15-hero,
  html[data-build="v29"] .civic-hero,
  html[data-build="v29"] .reparations-hero,
  html[data-build="v29"] .v28-editorial-hero {padding:46px 0 41px}
  html[data-build="v29"] .v15-hero h1,
  html[data-build="v29"] .civic-hero h1,
  html[data-build="v29"] .reparations-hero h1,
  html[data-build="v29"] .v28-editorial-hero h1 {font-size:clamp(2.35rem,11vw,3.45rem)}
  html[data-build="v29"] .hero-grid {padding:72px 20px 52px}
  html[data-build="v29"] .hero h1 {font-size:clamp(3rem,14.5vw,4.15rem)}
  html[data-build="v29"] .hero .kicker {font-size:.7rem;letter-spacing:.2em}
  html[data-build="v29"] .hero-values {grid-template-columns:1fr;gap:10px}
  html[data-build="v29"] .hero-values span {font-size:.79rem}
  html[data-build="v29"] .hero-quote-inline {font-size:.96rem}
}

/* ===== merged from /assets/css/site-v30.css ===== */
/* V30 visual consistency layer. Loaded last and cache-busted. */

:root{
  --v30-burgundy-1:#2b1118;
  --v30-burgundy-2:#4d2128;
  --v30-burgundy-3:#81504b;
  --v30-gold:#e0bc82;
}

/* HOME HERO: clearer vertical rhythm and guaranteed separation between title lines. */
html[data-build="v30"] .hero{min-height:680px}
html[data-build="v30"] .hero-grid{
  min-height:680px;
  padding:90px 48px 68px;
  grid-template-columns:minmax(500px,760px) minmax(220px,330px);
  gap:64px;
  align-items:start;
}
html[data-build="v30"] .hero-copy{max-width:760px;padding-top:0}
html[data-build="v30"] .hero .kicker{margin-bottom:18px;font-size:.82rem;letter-spacing:.25em}
html[data-build="v30"] .hero h1{
  max-width:760px;
  margin:0 0 24px;
  font-size:clamp(3.55rem,5vw,4.85rem);
  line-height:1.045;
  letter-spacing:-.045em;
  text-wrap:balance;
}
html[data-build="v30"] .hero-deck{
  max-width:650px;
  margin-bottom:26px;
  font-size:1.04rem;
  line-height:1.65;
}
html[data-build="v30"] .hero-actions{gap:18px;margin-bottom:0}
html[data-build="v30"] .hero-quote-inline{
  max-width:610px;
  margin:24px 0 0;
  padding:14px 0 0 18px;
  border-left:2px solid rgba(224,188,130,.9);
  font:400 .98rem/1.58 Georgia,"Times New Roman",serif;
  color:rgba(255,255,255,.9);
}
html[data-build="v30"] .hero-quote-inline cite{
  display:block;
  margin-top:7px;
  font:800 .66rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#f1d8b3;
}
html[data-build="v30"] .hero-side{
  align-self:start;
  align-items:stretch;
  justify-content:flex-start;
  padding-top:52px;
  gap:0;
}
html[data-build="v30"] .hero-values{
  width:100%;
  gap:14px;
  padding:21px 0 21px 24px;
}
html[data-build="v30"] .hero-values span{font-size:.88rem;letter-spacing:.19em}

/* EVERY INTERIOR HERO: one system matching the About Author header. */
html[data-build="v30"] section.v30-page-hero{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(120deg,var(--v30-burgundy-1) 0%,var(--v30-burgundy-2) 56%,var(--v30-burgundy-3) 100%)!important;
  color:#fff!important;
  padding:58px 0 52px!important;
  min-height:0!important;
  isolation:isolate;
}
html[data-build="v30"] section.v30-page-hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:420px!important;
  height:420px!important;
  right:-170px!important;
  top:-255px!important;
  left:auto!important;
  bottom:auto!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:50%!important;
  background:none!important;
  background-image:none!important;
  mask-image:none!important;
  opacity:1!important;
  pointer-events:none!important;
  z-index:-1!important;
}
html[data-build="v30"] section.v30-page-hero::before{display:none!important}
html[data-build="v30"] section.v30-page-hero > *{position:relative;z-index:1}

/* Shared title/deck rhythm: deliberately less compressed than the old blue heroes. */
html[data-build="v30"] section.v30-page-hero h1{
  font:500 clamp(2.75rem,4.9vw,4.75rem)/1.035 Georgia,"Times New Roman",serif!important;
  letter-spacing:-.038em!important;
  color:#fff!important;
  margin:.42rem 0 1rem!important;
  max-width:1000px;
  text-wrap:balance;
}
html[data-build="v30"] section.v30-page-hero p,
html[data-build="v30"] section.v30-page-hero .hero-deck{
  color:rgba(255,255,255,.86)!important;
  line-height:1.66!important;
  max-width:780px;
  margin-top:0;
}
html[data-build="v30"] section.v30-page-hero .v15-eyebrow,
html[data-build="v30"] section.v30-page-hero .eyebrow,
html[data-build="v30"] section.v30-page-hero .eyebrow.light{
  color:var(--v30-gold)!important;
}

/* Existing v15 heroes already have the right two-column content model; refine it to About proportions. */
html[data-build="v30"] section.v30-page-hero .v15-hero-grid,
html[data-build="v30"] section.v30-page-hero.v28-editorial-hero .v28-editorial-hero-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:44px!important;
  align-items:end!important;
}
html[data-build="v30"] section.v30-page-hero .v15-hero-note,
html[data-build="v30"] section.v30-page-hero .v28-editorial-hero-note{
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  padding:17px 18px!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.9)!important;
  font-size:.9rem!important;
  line-height:1.55!important;
}

/* Civic pages: put the short disclaimer in the same right-side note position as About Author. */
html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid){
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  column-gap:44px!important;
  align-items:end!important;
}
html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > .eyebrow,
html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > h1,
html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > p{
  grid-column:1;
}
html[data-build="v30"] section.v30-page-hero .civic-disclaimer{
  grid-column:2!important;
  grid-row:1 / span 3!important;
  align-self:end!important;
  display:block!important;
  margin:0!important;
  padding:17px 18px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.86)!important;
  font-size:.86rem!important;
  line-height:1.55!important;
}

/* Specialty image heroes keep their content, but inherit the same burgundy visual language. */
html[data-build="v30"] section.v30-page-hero.reparations-hero .reparations-hero-grid,
html[data-build="v30"] section.v30-page-hero.tribal-hero .tribal-hero-grid{
  gap:44px!important;
  align-items:center!important;
}
html[data-build="v30"] section.v30-page-hero.reparations-hero .content-note{
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.88)!important;
}

/* ABOUT AUTHOR: the supplied headshot must remain in full color. */
html[data-build="v30"] .v28-author-photo{
  filter:none!important;
  -webkit-filter:none!important;
  background:#fff;
  border:1px solid #e6ded1;
}
html[data-build="v30"] .v28-about-copy{max-width:820px}

@media(max-width:1200px){
  html[data-build="v30"] .hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:86px;padding-bottom:58px}
  html[data-build="v30"] .hero{min-height:auto}
  html[data-build="v30"] .hero-side{padding-top:4px;max-width:650px}
  html[data-build="v30"] .hero-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid rgba(255,255,255,.5);padding:20px 0 0}
  html[data-build="v30"] .hero-values::before,
  html[data-build="v30"] .hero-values::after{display:none}
}

@media(max-width:900px){
  html[data-build="v30"] section.v30-page-hero .v15-hero-grid,
  html[data-build="v30"] section.v30-page-hero.v28-editorial-hero .v28-editorial-hero-grid,
  html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid){
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > .eyebrow,
  html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > h1,
  html[data-build="v30"] section.v30-page-hero.civic-hero > .wrap:not(.tribal-hero-grid) > p,
  html[data-build="v30"] section.v30-page-hero .civic-disclaimer{grid-column:1!important;grid-row:auto!important}
  html[data-build="v30"] section.v30-page-hero .civic-disclaimer{max-width:680px;margin-top:4px!important}
}

@media(max-width:560px){
  html[data-build="v30"] section.v30-page-hero{padding:45px 0 40px!important}
  html[data-build="v30"] section.v30-page-hero h1{font-size:clamp(2.35rem,11vw,3.35rem)!important;line-height:1.04!important}
  html[data-build="v30"] .hero-grid{padding:70px 20px 50px;gap:30px}
  html[data-build="v30"] .hero h1{font-size:clamp(2.85rem,13.8vw,4rem);line-height:1.055}
  html[data-build="v30"] .hero .kicker{font-size:.7rem;letter-spacing:.2em}
  html[data-build="v30"] .hero-values{grid-template-columns:1fr;gap:10px}
  html[data-build="v30"] .hero-values span{font-size:.79rem}
  html[data-build="v30"] .hero-quote-inline{font-size:.94rem;line-height:1.58}
}

/* ===== merged from /assets/css/site-v31.css ===== */
/* V31 — homepage layout + definitive editorial hero system. Loaded last. */
:root{
  --v31-burgundy-1:#2b1118;
  --v31-burgundy-2:#4d2128;
  --v31-burgundy-3:#81504b;
  --v31-gold:#e0bc82;
}

/* HOME: title spans the composition, supporting copy stays left, values + quote stay right. */
html[data-build="v31"] .hero{min-height:680px}
html[data-build="v31"] .hero-grid{
  min-height:680px;
  padding:84px 48px 66px;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  grid-template-areas:"title title" "copy side";
  column-gap:64px;
  row-gap:34px;
  align-items:start;
}
html[data-build="v31"] .hero-title{grid-area:title;max-width:none}
html[data-build="v31"] .hero-title .kicker{margin-bottom:16px;font-size:.82rem;letter-spacing:.25em}
html[data-build="v31"] .hero-title h1{
  margin:0;
  max-width:none;
  width:100%;
  white-space:nowrap;
  font-size:clamp(3rem,4.15vw,4rem);
  line-height:1.02;
  letter-spacing:-.047em;
  text-wrap:nowrap;
}
html[data-build="v31"] .hero-copy{grid-area:copy;max-width:720px;padding-top:0}
html[data-build="v31"] .hero-deck{
  max-width:650px;
  margin:0 0 26px;
  font-size:1.05rem;
  line-height:1.65;
}
html[data-build="v31"] .hero-actions{gap:18px;margin:0}
html[data-build="v31"] .hero-side{
  grid-area:side;
  align-self:start;
  align-items:stretch;
  justify-content:flex-start;
  padding-top:0;
  gap:18px;
  width:100%;
}
html[data-build="v31"] .hero-values,
html[data-build="v31"] .hero-quote-box{
  position:relative;
  width:100%;
  border-left:1px solid rgba(255,255,255,.58);
  background:rgba(8,24,39,.10);
  backdrop-filter:blur(2px);
}
html[data-build="v31"] .hero-values{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:21px 18px 21px 24px;
}
html[data-build="v31"] .hero-values::before,
html[data-build="v31"] .hero-values::after,
html[data-build="v31"] .hero-quote-box::before,
html[data-build="v31"] .hero-quote-box::after{
  content:"";
  position:absolute;
  left:-1px;
  width:48px;
  height:1px;
  background:rgba(255,255,255,.72);
}
html[data-build="v31"] .hero-values::before,
html[data-build="v31"] .hero-quote-box::before{top:0}
html[data-build="v31"] .hero-values::after,
html[data-build="v31"] .hero-quote-box::after{bottom:0}
html[data-build="v31"] .hero-values span{font-size:.88rem;letter-spacing:.19em}
html[data-build="v31"] .hero-quote-box{
  margin:0;
  padding:18px 20px 18px 24px;
  font:400 .98rem/1.58 Georgia,"Times New Roman",serif;
  color:rgba(255,255,255,.94);
}
html[data-build="v31"] .hero-quote-box cite{
  display:block;
  margin-top:10px;
  font:800 .67rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#f1d8b3;
}

/* DEFINITIVE INTERIOR HERO: same system as About the Author.
   Legacy v15/civic/specialty hero classes were removed from the HTML in V31. */
html[data-build="v31"] .v31-page-hero{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(120deg,var(--v31-burgundy-1) 0%,var(--v31-burgundy-2) 56%,var(--v31-burgundy-3) 100%)!important;
  background-image:linear-gradient(120deg,var(--v31-burgundy-1) 0%,var(--v31-burgundy-2) 56%,var(--v31-burgundy-3) 100%)!important;
  color:#fff!important;
  padding:58px 0 52px!important;
  min-height:0!important;
  border:0!important;
  isolation:isolate;
}
html[data-build="v31"] .v31-page-hero::before{content:none!important;display:none!important;background:none!important}
html[data-build="v31"] .v31-page-hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:420px!important;
  height:420px!important;
  right:-170px!important;
  top:-255px!important;
  left:auto!important;
  bottom:auto!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:50%!important;
  background:none!important;
  background-image:none!important;
  mask-image:none!important;
  opacity:1!important;
  pointer-events:none!important;
  z-index:-1!important;
}
html[data-build="v31"] .v31-page-hero > *{position:relative;z-index:1}
html[data-build="v31"] .v31-page-hero .v31-hero-wrap{
  width:min(1180px,calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
html[data-build="v31"] .v31-page-hero h1{
  font:500 clamp(2.8rem,5.4vw,5rem)/.98 Georgia,"Times New Roman",serif!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
  margin:.35rem 0 .75rem!important;
  max-width:1000px;
  text-wrap:balance;
}
html[data-build="v31"] .v31-page-hero p,
html[data-build="v31"] .v31-page-hero .hero-deck{
  color:rgba(255,255,255,.85)!important;
  line-height:1.62!important;
  max-width:780px;
}
html[data-build="v31"] .v31-page-hero .v15-eyebrow,
html[data-build="v31"] .v31-page-hero .eyebrow,
html[data-build="v31"] .v31-page-hero .eyebrow.light{
  color:var(--v31-gold)!important;
}
html[data-build="v31"] .v31-page-hero .v28-editorial-hero-grid,
html[data-build="v31"] .v31-page-hero .v31-editorial-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:44px!important;
  align-items:end!important;
}
html[data-build="v31"] .v31-page-hero .v28-editorial-hero-note,
html[data-build="v31"] .v31-page-hero .v31-editorial-note{
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  padding:17px 18px!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.9)!important;
  font-size:.9rem!important;
  line-height:1.55!important;
}
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > .eyebrow,
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > .v15-eyebrow,
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > h1,
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > p,
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > .hero-actions{
  grid-column:1;
}
html[data-build="v31"] .v31-page-hero .v31-editorial-grid > .civic-disclaimer{
  grid-column:2!important;
  grid-row:1 / span 4!important;
  align-self:end!important;
  margin:0!important;
}
/* Keep special content readable while forcing the same burgundy visual language. */
html[data-build="v31"] .v31-page-hero .reparations-hero-grid,
html[data-build="v31"] .v31-page-hero .tribal-hero-grid{gap:44px!important;align-items:center!important}
html[data-build="v31"] .v31-page-hero .content-note{
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.075)!important;
  color:rgba(255,255,255,.9)!important;
}
html[data-build="v31"] .v28-author-photo{filter:none!important;-webkit-filter:none!important}

@media(max-width:1200px){
  html[data-build="v31"] .hero-grid{grid-template-columns:minmax(0,1fr) minmax(240px,300px);column-gap:40px;padding-left:32px;padding-right:32px}
  html[data-build="v31"] .hero-title h1{font-size:clamp(2.7rem,4.4vw,3.55rem)}
}
@media(max-width:900px){
  html[data-build="v31"] .hero{min-height:auto}
  html[data-build="v31"] .hero-grid{
    min-height:auto;
    grid-template-columns:1fr;
    grid-template-areas:"title" "copy" "side";
    padding:78px 24px 56px;
    gap:28px;
  }
  html[data-build="v31"] .hero-title h1{white-space:normal;text-wrap:balance;font-size:clamp(3rem,9vw,4.2rem);line-height:1.03}
  html[data-build="v31"] .hero-side{max-width:620px}
  html[data-build="v31"] .hero-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-build="v31"] .v31-page-hero .v28-editorial-hero-grid,
  html[data-build="v31"] .v31-page-hero .v31-editorial-grid{grid-template-columns:1fr!important;gap:18px!important}
  html[data-build="v31"] .v31-page-hero .v31-editorial-grid > *{grid-column:1!important;grid-row:auto!important}
}
@media(max-width:560px){
  html[data-build="v31"] .hero-grid{padding:68px 20px 48px}
  html[data-build="v31"] .hero-title h1{font-size:clamp(2.65rem,12vw,3.7rem)}
  html[data-build="v31"] .hero-title .kicker{font-size:.7rem;letter-spacing:.2em}
  html[data-build="v31"] .hero-values{grid-template-columns:1fr;gap:10px}
  html[data-build="v31"] .hero-values span{font-size:.79rem}
  html[data-build="v31"] .hero-quote-box{font-size:.94rem;line-height:1.58}
  html[data-build="v31"] .v31-page-hero{padding:46px 0 41px!important}
  html[data-build="v31"] .v31-page-hero h1{font-size:clamp(2.35rem,11vw,3.45rem)!important}
}

/* ===== merged from /assets/css/site-v40.css ===== */
/* GovThatWorks.org V40 — design tokens + accessibility refinements.
   This layer intentionally preserves the existing visual identity while
   centralizing the values used by new and progressively-refined components. */
:root{
  --gtw-ink:#0c1a2a;
  --gtw-navy:#1c3d5a;
  --gtw-navy-2:#17384f;
  --gtw-burgundy:#4a1720;
  --gtw-burgundy-2:#8b4b47;
  --gtw-gold:#c8a36b;
  --gtw-red:#d9312b;
  --gtw-paper:#faf8f5;
  --gtw-surface:#ffffff;
  --gtw-surface-soft:#f5efe6;
  --gtw-border:#ded8cb;
  --gtw-border-strong:#c9c0ae;
  --gtw-muted:#607274;
  --gtw-focus:#0b5d8b;
  --gtw-radius-sm:6px;
  --gtw-radius-md:14px;
  --gtw-touch:48px;
}

/* Interactive controls: reliable mobile hit areas without changing desktop density. */
.ballot-choice-btn,
.btn-stv,
.map-controls button,
.state-select-control select{
  min-height:var(--gtw-touch);
}
.ballot-choice-btn{padding-top:11px;padding-bottom:11px}

/* 50-state map keyboard/mobile companion. */
.state-select-control{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0 16px;
  padding:12px 14px;
  border:1px solid var(--gtw-border);
  border-radius:var(--gtw-radius-sm);
  background:var(--gtw-surface-soft);
}
.state-select-control label{font-weight:800;color:var(--gtw-ink);font-size:.84rem}
.state-select-control select{
  min-width:min(100%,280px);
  flex:1 1 240px;
  border:1px solid var(--gtw-border-strong);
  border-radius:var(--gtw-radius-sm);
  background:#fff;
  color:var(--gtw-ink);
  padding:10px 38px 10px 12px;
  font:inherit;
}
.state-tile:focus-visible rect{stroke:var(--gtw-focus);stroke-width:4}

/* STV step tracker: stage is communicated by text, position, border and color. */
.stv-round-stepper{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:0;
  margin:0 0 16px;
}
.stv-round-stepper li{
  position:relative;
  min-height:52px;
  border:1px solid var(--gtw-border);
  border-top:4px solid #9aa6ad;
  border-radius:var(--gtw-radius-sm);
  background:#fff;
  padding:8px 9px;
  color:#52646e;
  font-size:.72rem;
  line-height:1.25;
  font-weight:800;
}
.stv-round-stepper li::before{
  content:attr(data-step-number);
  display:inline-grid;
  place-items:center;
  width:20px;height:20px;
  margin-right:6px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:.65rem;
}
.stv-round-stepper li[aria-current="step"]{
  color:var(--gtw-navy);
  border-color:var(--gtw-navy);
  border-top-style:double;
  border-top-width:5px;
  background:#f1f5f7;
}
.stv-round-stepper li.is-complete{
  border-top-color:#52646e;
  background:#f7f7f4;
}
.stv-round-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
  font-size:.75rem;
  color:#5b6c75;
}
.stv-round-meta strong{color:var(--gtw-ink)}

/* Tally states never rely on color alone. */
.tally-card.continuing{border-left:4px solid var(--gtw-navy)}
.tally-card.elected{border-left:6px double #2e7d32}
.tally-card.eliminated{border-left:4px dashed #6b6b6b}
.tally-badge.continuing::before{content:"● ";}
.tally-badge.elected::before{content:"✓ ";}
.tally-badge.eliminated::before{content:"× ";}
.quota-marker{background:repeating-linear-gradient(180deg,#7a2424 0 3px,#fff 3px 5px)!important;width:3px!important}

/* Unified focus treatment for keyboard users. */
.ballot-choice-btn:focus-visible,
.btn-stv:focus-visible,
.map-controls button:focus-visible,
.state-select-control select:focus-visible{
  outline:3px solid var(--gtw-focus);
  outline-offset:2px;
}

@media(max-width:760px){
  .stv-round-stepper{grid-template-columns:1fr 1fr}
  .state-select-control{align-items:stretch}
}
@media(max-width:460px){
  .stv-round-stepper{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .vote-bar-fill{transition:none!important}
}
