/* The same printed-record vocabulary across every public route.
   Applied last by the static builder, including profiles and utility pages. */
:root{--paper:#f4f0e7;--surface:#fffdf8;--ink:#171611;--muted:#686055;--rule:#c6bdaf;--accent:#8d2630;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Avenir Next","Helvetica Neue",Arial,sans-serif}
html{background:var(--paper);color:var(--ink);scroll-padding-top:150px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before,body::after{background-image:none}
h1,h2,h3,h4,.page-title,.product-title,.profile h1,.profile h2{font-family:var(--serif);color:var(--ink);text-wrap:balance}
h1,.page-head h1{font-size:clamp(36px,4.3vw,62px);line-height:1.05;font-weight:600;letter-spacing:-.025em}
h2{font-size:clamp(25px,2.4vw,34px);line-height:1.16;font-weight:600;letter-spacing:-.02em}
h3{font-size:24px;line-height:1.22;font-weight:600;letter-spacing:-.012em}
h4{font-size:20px;line-height:1.28;font-weight:600}
p{line-height:1.65}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}button,a,summary,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #255878;outline-offset:3px}
.nr-navigation{position:relative;display:grid;grid-template-columns:1fr auto;gap:0;padding:20px max(24px,calc((100vw - 1400px)/2));background:var(--paper);color:var(--ink);border-block:5px solid var(--ink);border-bottom-style:double;min-height:120px}
.nr-navigation .nr-name{font:600 clamp(31px,3.6vw,48px)/1.04 var(--serif);letter-spacing:-.045em;color:var(--ink);margin:0 0 15px;text-decoration:none}
.nr-navigation>nav{grid-column:1/-1;grid-row:2;overflow-x:auto;min-width:0;border-top:1px solid var(--rule);gap:8px}
.nr-navigation>nav>a{color:var(--ink);padding:12px 10px 8px;font-size:13px;letter-spacing:.02em;border-bottom:2px solid transparent}
.nr-navigation>nav>a:first-child{padding-left:0}.nr-navigation>nav>a:hover,.nr-navigation>nav>a[aria-current=page]{color:var(--accent)}
.nr-navigation>nav>a[aria-current=page]{border-color:var(--accent);font-weight:700}
.nr-more{grid-row:1;grid-column:2;align-self:start}.nr-more summary{color:var(--ink);padding:10px 0 10px 18px}
.nr-more nav{background:var(--surface);border:1px solid var(--rule);box-shadow:none;z-index:100}.nr-more nav a{color:var(--ink);font-size:14px}.nr-more nav a:hover{background:#ebe5d9}
.nr-navigation a:focus-visible,.nr-navigation summary:focus-visible{outline:3px solid #255878;outline-offset:2px}
.page,.product-main,.main-content{max-width:1400px;margin-inline:auto;padding-inline:32px}
.page-head{align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:20px;margin-bottom:18px;gap:14px}
.page-head h1{margin:5px 0}.kicker,.product-kicker,.eyebrow{color:var(--accent);font:600 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.15em}
.subhead,.product-lede,.page-description{font:19px/1.6 var(--serif);color:#494238;max-width:850px;margin:12px 0 26px}
.page-head .count,.research-meta,.policy-meta,.hint,.coverage-note,.footer-note{color:var(--muted);font-size:12px;line-height:1.6}
.btn,button,.primary,.chip,.badge,.pill,.card,.chartcard,.stat,.public-data-card,.research-card,.policy-update,.policy-official,.tablewrap,.filterbar,input,select,textarea,.av,.modal,.modal-card{border-radius:0;box-shadow:none;background-image:none}
.btn,button{border-color:var(--rule);min-height:36px}.btn.primary,button.primary{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.btn:hover,button:hover{box-shadow:none}.btn:disabled,button:disabled{opacity:.5}
.btn.sm{font-size:12px;padding:6px 10px}.badge,.pill{border:0;border-bottom:1px solid currentColor;background:transparent;font-size:11px;line-height:1.5;padding:1px 0;margin-right:7px;font-weight:600}
.card,.chartcard,.public-data-card,.research-card,.policy-update,.policy-official{background:transparent;border:0;border-top:1px solid var(--rule);padding-top:18px;box-shadow:none}
.card>h3,.chartcard>h3{background:transparent;border-bottom:1px solid var(--rule);padding:14px 0;margin:0 18px;font-size:23px}
.card>h3,.chartcard>h3,.dossier-heading h3{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.012em}
.card .body,.chartcard .body{padding:18px}.kebab{display:none}
.statrow{border-block:1px solid var(--rule);gap:0;margin-block:24px;background:transparent}
.stat{background:transparent;border:0;border-right:1px solid var(--rule);padding:18px 24px;box-shadow:none;min-width:0}.stat:last-child{border-right:0}
.stat .v{font:36px/1.1 var(--serif);letter-spacing:-.025em;color:var(--ink)}.stat .l{font:600 12px/1.6 var(--sans);margin-top:6px}.stat .d{font-size:11px;color:var(--muted)}
.filterbar,.research-controls,.policy-controls{padding:15px 0;background:transparent;border:0;border-block:1px solid var(--rule);gap:12px;align-items:end}
.filterbar input,.filterbar select,.research-controls input,.research-controls select,.policy-controls input,.policy-controls select{background:var(--surface);border:1px solid var(--rule);min-height:38px;color:var(--ink)}
.viewtabs,.dashtabs,.research-tabs{gap:0;border-bottom:1px solid var(--ink);background:transparent;margin-block:24px 16px}
.viewtabs a,.dashtabs a,.research-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:10px 18px;color:var(--muted);font:14px var(--sans)}
.viewtabs .on,.dashtabs .on,.research-tabs [aria-selected=true]{background:transparent;color:var(--ink);border-bottom-color:var(--accent);font-weight:700}
table{background:transparent;font-size:14px}thead th{background:#ebe5d9;color:var(--ink);font:600 11px/1.5 var(--sans);letter-spacing:.04em;border-bottom:1px solid var(--ink);text-transform:uppercase}
td,th{border-color:var(--rule);padding:14px 12px;vertical-align:top}tbody tr:hover{background:#eee8dc}tbody th,tbody td:first-child a,.namecell a{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink)}
.num,.money-amount{font-variant-numeric:tabular-nums}.tablewrap{border:0;overflow-x:auto}.namecell .av{display:none}
.record{gap:28px}.profile{text-align:left;padding:22px 18px}.profile .av{display:none}.profile h1,.profile h2{font-size:36px;line-height:1.1;margin-block:8px}.profile .sub{font:16px/1.5 var(--serif)}
.props .prop{border-bottom:1px solid var(--rule);padding-block:12px}.props dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.props dd{font-size:14px}
.props dd small{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:var(--muted)}
#budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-block:24px}
#budget-fields label,#deadline-form label,#domain-form label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font:14px/1.5 var(--sans)}
#budget-fields input,#deadline-form input,#deadline-form select,#domain-form input{margin:0;width:100%;min-height:44px;background:var(--surface);font-size:16px}
#deadline-form{display:grid;gap:16px;max-width:560px}
@media(max-width:760px){#budget-fields{grid-template-columns:1fr}#record-name{font-size:30px;line-height:1.12}.setup-page .setup-hero h1,.official-records-page .product-hero h1{font-size:36px;line-height:1.12;text-transform:none;letter-spacing:-.6px}}
.actrow{border-block:1px solid var(--rule);padding-block:12px}.act{background:transparent;border:1px solid var(--rule)}
.timeline,.assoc{padding:18px}.tl-item{border-bottom:1px solid var(--rule);padding-block:15px}.tl-item .what{font-family:var(--serif);font-size:17px}.tl-item .when{font-size:11px;color:var(--muted)}
.vote-record{padding:24px 0;border-bottom:1px solid var(--rule)}.vote-record h4{margin:8px 0;font-size:25px}.vote-record details{font-size:14px}
.research-section{padding-block:26px;border-top:1px solid var(--ink)}.research-section>h2,.research-section>h3{margin-top:0}.research-note{font-family:var(--serif);font-size:16px}
details{border-color:var(--rule)}summary{cursor:pointer;line-height:1.6}summary::marker{color:var(--accent)}details[open]>summary{margin-bottom:12px}
.policy-bill-text,.policy-source-diff{background:var(--surface);border:1px solid var(--rule);padding:22px;max-width:100%;overflow:auto}
.dashgrid{gap:28px}.dashgrid .chartcard{border-top:2px solid var(--ink)}.footer-note,footer{border-top:1px solid var(--ink);padding-block:22px;margin-top:40px}
.record-subnav{font-size:12px!important;padding-left:32px!important}.public-data-card>header{background:transparent;padding:0;border:0}.public-data-card h3{font-size:28px}.public-data-card{padding:24px 0}
.pickrow{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}.pickrow>div{min-width:0}.pair-tools{display:flex;flex-wrap:wrap;gap:8px}.conn .what{min-width:0;flex:1;overflow-wrap:anywhere}.conn .how{white-space:normal;flex:0 1 30%;overflow-wrap:anywhere}.conn .what h4{margin-top:0}.pair-title{flex-wrap:wrap}
.poll-average-list{border-block:1px solid var(--rule)}.poll-average-list li{border-color:var(--rule)}
@media(min-width:1100px){.dashgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.record{grid-template-columns:300px minmax(0,1fr) 280px}}
@media(max-width:900px){.record{display:block}.record>div{margin-bottom:28px}.statrow{flex-wrap:wrap}.stat{flex:1 1 150px;border-bottom:1px solid var(--rule)}}
@media(max-width:760px){html{scroll-padding-top:24px}.nr-navigation{padding:14px 16px 0;min-height:100px}.nr-navigation .nr-name{font-size:32px;white-space:normal}.nr-navigation>nav{width:100%;gap:0}.nr-navigation>nav>a{padding:11px 9px;font-size:12px}.nr-more summary{font-size:12px}.page,.product-main,.main-content{padding-inline:18px}.page-head{flex-wrap:wrap}.page-head .actions{width:100%;margin-left:0}.subhead{font-size:18px}.filterbar>*{max-width:100%}.research-controls label{min-width:0;max-width:100%}.dashgrid{display:block}.dashgrid>div{margin-bottom:24px}.stat .v{font-size:29px}.profile h1{font-size:32px}.record-subnav{padding-left:18px!important}.card>h3,.chartcard>h3{margin-inline:0}.card .body,.chartcard .body{padding-inline:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:760px){button,.btn,input,select,summary{min-height:44px}.nr-navigation .nr-name{max-width:calc(100vw - 110px)}}
@media(max-width:760px){.pickrow{grid-template-columns:minmax(0,1fr);gap:8px}.pickrow .amp{padding:0}.conn{display:block;padding-inline:0}.conn .how{display:block;text-align:left;margin:12px 0 0}.pair-summary .who{flex-wrap:wrap}.pair-tools .btn{flex:1 1 auto}}
input,select,textarea,.filterbar input,.filterbar select,.research-controls input,.research-controls select{border-color:#948a7c}
.nr-navigation>nav{flex-wrap:wrap;overflow:visible;justify-content:flex-start}
.nr-navigation>nav>a{min-height:44px;padding-inline:12px}
.nr-sections{grid-row:1;grid-column:2;align-self:start;margin-left:20px;position:static}
.nr-sections>summary{font:600 14px/1.5 var(--sans);border:1px solid var(--ink);padding:10px 16px;min-height:44px;color:var(--ink);background:var(--surface)}
.nr-sections[open]>summary{background:var(--ink);color:var(--surface)}
.nr-sections:not([open])>.nr-directory{display:none}
.nr-bookmark-current{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#governor-money .research-controls{display:flex;flex-wrap:wrap;gap:16px}
#governor-money label{display:flex;flex-direction:column;gap:6px;font:14px var(--sans);max-width:100%}
#governor-money input,#governor-money select{font:16px var(--sans);padding:9px;max-width:100%}
#governor-money .tablewrap{overflow-x:auto}
#governor-money table,.state-finance-table{width:100%;border-collapse:collapse;font:14px/1.5 var(--sans);text-align:left}
#governor-money th,#governor-money td,.state-finance-table th,.state-finance-table td{padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
#governor-money tbody th,.state-finance-table tbody th{font:600 19px/1.4 var(--serif);text-align:left;min-width:190px}
#governor-money small,.state-finance-table small{display:block;font:12px/1.5 var(--sans);color:var(--muted);margin-top:5px}
#governor-money caption,.state-finance-table caption{text-align:left;font:13px var(--sans);padding:14px 0}
.kpi .v-empty{font:18px/1.45 var(--serif);overflow-wrap:normal;word-break:normal}
.research-timeline{padding-left:24px;margin-block:18px}.research-timeline li{padding:12px 0;border-bottom:1px solid var(--rule)}
.research-timeline small{display:block;margin-top:6px;color:var(--muted);font:12px/1.5 var(--sans)}
@media(max-width:1100px){.news-rail-layout.is-news-open{grid-template-areas:"content" "rail"}}
.nr-directory{position:absolute;inset:86px 24px auto;z-index:100;background:var(--surface);border:1px solid var(--ink);padding:24px;box-shadow:0 12px 18px #17161112;max-height:75vh;overflow:auto}
.nr-directory>label{display:block;font-size:13px;font-weight:600;margin-bottom:20px}.nr-directory input{display:block;margin-top:6px;width:100%;max-width:460px;padding:10px;border:1px solid var(--rule)}
.nr-directory nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.nr-directory h2{font:600 21px/1.3 var(--serif);margin:0 0 10px}.nr-directory a{display:block;color:var(--ink);padding:8px 0;font-size:14px;min-height:38px}.nr-directory a:hover{color:var(--accent)}
.nr-directory [hidden]{display:none!important}.nr-bookmarks{margin-top:20px;border-top:1px solid var(--rule);padding-top:18px}.nr-bookmarks p{font-size:12px;margin:5px 0}.nr-bookmarks>div{display:flex;flex-wrap:wrap;gap:10px}.nr-bookmarks span{display:flex;gap:6px;align-items:center}.nr-bookmarks button{padding:4px 10px;border:1px solid var(--rule);background:transparent;color:var(--ink)}
@media(max-width:760px){.nr-navigation>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.nr-navigation>nav>a{justify-content:center;padding:10px 4px;font-size:13px}.nr-navigation>nav>a:first-child{padding-left:4px}.nr-sections{margin-left:10px}.nr-sections>summary{font-size:12px;padding:10px}.nr-directory{inset:76px 12px auto;padding:18px}.nr-directory nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nr-directory h2{font-size:20px}.nr-navigation .nr-name{max-width:calc(100vw - 150px);font-size:29px}.nr-directory a{min-height:44px}}
@media print{.nr-sections{display:none!important}}
.polling-page .product-hero{padding:36px 0;gap:28px;grid-template-columns:minmax(0,1fr) minmax(200px,.5fr)}
.polling-page .product-hero h1{font-size:clamp(36px,5vw,68px);line-height:1.05;text-transform:none}
@media(max-width:760px){.polling-page .product-hero{grid-template-columns:1fr;padding:26px 0}.polling-page .product-hero h1{font-size:38px}}
@media print{.policy-filters,.policy-actions,.policy-search-help,#workspace-tools{display:none!important}.policy-page button,.policy-page dialog,.policy-tools label{display:none!important}}
#sec-transactions{margin-top:32px;padding-top:24px;border-top:2px solid var(--ink)}
#sec-transactions .actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-block:18px}
#sec-transactions label{display:flex;flex-direction:column;gap:6px;max-width:100%;font:14px var(--sans)}
#sec-transactions select{max-width:100%;padding:9px;font:16px var(--sans)}
#sec-transactions details{border-top:1px solid var(--rule);padding-block:14px}
#sec-transactions summary{font-weight:600;line-height:1.6;cursor:pointer}
#sec-transactions .table-wrap{width:100%;overflow-x:auto}
#sec-transactions table{min-width:720px;border-collapse:collapse;font:14px/1.5 var(--sans);text-align:left}
#sec-transactions td,#sec-transactions th{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}
#sec-transactions small{font-size:12px}
@media print{table{min-width:0!important;width:100%!important;table-layout:fixed}th,td{white-space:normal!important;overflow-wrap:anywhere;font-size:9pt}.tablewrap{max-width:100%}svg{max-width:100%}}
@media print{body{background:white;color:black;font-size:11pt}.nr-navigation{border-color:black;background:white;position:static}.nr-navigation>nav,.nr-more,.actions,.filterbar,.research-controls,.actrow,.pedit,.nr-account-view,.record-subnav{display:none!important}.page,.product-main{max-width:none;padding:0}.record{display:block}.card,.research-section,.vote-record{break-inside:avoid}.tablewrap{overflow:visible}a{color:black}.stat{padding:10px}}
