/* Shared typography for every campaign and resource page. */
@font-face {
  font-family: 'Google Sans';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/google-sans-latin-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/google-sans-latin-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--site-font:'Google Sans',Arial,Helvetica,sans-serif;font-size:18px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--site-font);font-size:1rem;line-height:1.65;font-optical-sizing:auto}
button,input,select,textarea{font-family:var(--site-font);font-optical-sizing:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--site-font);font-weight:600;letter-spacing:-.025em;overflow-wrap:break-word}
p,li,dd{overflow-wrap:break-word}
input,select,textarea{font-size:1rem;max-width:100%;box-sizing:border-box}
button,.button{font-family:var(--site-font);min-height:44px}
img,video,iframe{max-width:100%}
.campaign-header{font-family:var(--site-font)}
.campaign-header .campaign-menu-toggle{font-family:var(--site-font)}
.campaign-header .campaign-topline{font-size:13px;letter-spacing:.025em}
.campaign-header .campaign-home,.campaign-header .campaign-navigation>a,.campaign-header .campaign-navigation summary,.campaign-header .campaign-dropdown a{font-size:16px}
.eyebrow,.hero .eyebrow,.accomplishment .eyebrow{font-size:.78rem;letter-spacing:.08em;line-height:1.6}
.button,.text-link,.light-link{font-size:.94rem}
.accomplishment h3{font-weight:600}
.accomplishment-body>p,details ul,.timing{font-size:1rem;line-height:1.7}
.quick-grid small,.law-meta span,.law-footer,.hero-signoff,.grant-card .review-note,.grant-card dt{font-size:.83rem}
summary{font-size:.94rem;min-height:44px}
.footer-grid>div>a:not(.wordmark){font-size:.94rem;min-height:44px;display:flex;align-items:center}
.page-split>* ,.campaign-grid>* ,.action-grid>* ,.grant-filters>* ,.hero-grid>* ,.footer-grid>*{min-width:0}
.page-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.grant-search-form input,.grant-search-form select,.vote-search input,.resource-search input{font-size:1rem}
.feature-panel address{overflow-wrap:anywhere}
.issue-record-card h3,.issue-record-callout h2{font-family:var(--site-font);font-weight:600}
.issue-record-tags span{font-size:.83rem}
.issue-record-card summary{font-size:.94rem}
/* The record's dense tables and dialogs use the same face and comfortable text sizes. */
.record-layout .eyebrow,.record-layout .section-heading .eyebrow{font-size:14px}
.record-layout .update-intro h1,.record-layout .hero h1,.record-layout .category-title{font-weight:600;letter-spacing:-.035em}
.record-layout .sidebar .nav-item{font-size:16px}
.record-layout .filter label,.record-layout .stat-label,.record-layout .vote-table th{font-size:14px;letter-spacing:.02em}
.record-layout .filter select,.record-layout .sort-controls select,.sponsored-filters select{font-size:16px;min-height:48px}
.record-layout .summary,.record-layout .row-provisions,.sponsored-card p{font-size:17px;line-height:1.7}
.record-layout .results-scope,.record-layout .page-footer,.record-layout .record-footnote p,.record-layout .public-coverage-note,.record-layout .date,.record-layout .action-short{font-size:14px;line-height:1.6}
.record-layout .issue-tag,.record-layout .sponsor-badge,.record-layout .bill-status{font-size:14px}
.record-layout .edition-top,.record-layout .edition-source,.record-layout .edition-count>span,.record-layout .edition-split>span{font-size:14px;line-height:1.5}
.record-layout .issue-card p,.record-layout .highlight-card>p,.record-layout .accountability-strip p{font-size:17px;line-height:1.7}
.record-layout .results-heading,.record-layout .sort-controls{flex-wrap:wrap}
.record-layout .filter,.record-layout .vote-table td{min-width:0}
.detail-dialog{font-family:var(--site-font);max-width:100vw}
.detail-title{font-weight:600;letter-spacing:-.025em}
.drawer-top,.description-version,.provisions-basis,.provisions-source,.evidence-caption,.detail-subtopic,.detail-subtopic>span{font-size:14px;line-height:1.6}
.detail-description,.key-provisions ul{font-size:18px;line-height:1.7}
@media(max-width:1250px){
 .campaign-header .campaign-navigation>a,.campaign-header .campaign-navigation summary,.campaign-header .campaign-dropdown a{font-size:17px}
}
@media(max-width:760px){
 .page-hero h1{font-size:clamp(2rem,8vw,2.7rem)}
 .page-hero>p{font-size:1.05rem}
 .page-split,.campaign-grid,.action-grid,.grant-results{grid-template-columns:minmax(0,1fr)}
 .issue-record-card h3{font-size:1.5rem;line-height:1.3}
 .issue-record-topics button{font-size:1rem}
 .issue-record-controls input,.issue-record-toolbar select,.issue-record-topic-picker select{font-size:16px}
 .form-shell{max-width:100%;overflow-wrap:anywhere}
 .grant-tabs button{font-size:.94rem;min-height:48px}
}
@media(max-width:620px){
 body{font-size:18px}
 .campaign-header .campaign-topline{font-size:12px}
 .campaign-header .campaign-home,.campaign-header .campaign-menu-toggle{font-size:15px}
 .campaign-header .campaign-header-row{gap:10px}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .button{font-size:16px;min-width:0;flex:1 1 160px}
 .hero h1{font-size:clamp(2rem,8.7vw,3rem)}
 .resource-search>div{width:100%}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .feature-panel,.action-grid>a,.grant-card{padding:22px}
 .grant-card h2{font-size:1.4rem}
 .record-layout .sidebar .nav-item{font-size:15px;padding:12px 9px;gap:7px}
 .record-layout .update-intro h1{font-size:clamp(36px,10vw,46px);line-height:1.15}
 .record-layout .update-intro>p,.record-layout .hero>div>p{font-size:18px}
 .record-layout .section-heading{flex-wrap:wrap;gap:12px}
 .record-layout .section-heading h2{font-size:32px;line-height:1.2}
 .record-layout .hero h1,.record-layout .category-title{font-size:34px;max-width:100%}
 .record-layout .filters{grid-template-columns:minmax(0,1fr)}
 .record-layout .vote-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:20px 14px}
 .record-layout .summary,.record-layout .row-provisions{font-size:17px}
 .record-layout .search-hints,.record-layout .issue-card-count,.record-layout .highlight-kicker{font-size:14px}
 .record-layout .detail-tab,.detail-tab{font-size:16px}
 .record-layout .edition-count>span,.record-layout .edition-split>span{font-size:13px}
 .detail-title{font-size:28px}
 .detail-description,.key-provisions ul{font-size:17px}
 .drawer-body{padding:24px 18px}
 .drawer-top{padding:12px 14px;gap:8px;flex-wrap:wrap}
}
@media(max-width:360px){
 .campaign-header .campaign-logo{width:140px}
 .campaign-header .campaign-shell{width:calc(100% - 24px)}
 .campaign-header .campaign-header-row{gap:8px}
 .issue-record-card,.issue-record-controls{padding:16px}
 .record-layout .sidebar nav{grid-template-columns:minmax(0,1fr)}
}
@media print{body{font-size:11pt}.detail-description,.key-provisions ul{font-size:11pt}}
