/* Government Explained: one shared civic palette across all three branches. */
:root{--red:#b43440;--navy:#142d50;--white:#fff}
.masthead{border-top:0;position:relative}
.masthead:before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--red) 0 33.333%,#fff 33.333% 66.666%,var(--navy) 66.666% 100%)}
.top{padding-top:20px;padding-bottom:20px}
.brand{gap:13px}.brand strong{font-size:28px;color:var(--navy)}.brand small{font-size:10px;letter-spacing:.12em}.logo-mark{display:block;flex-shrink:0;width:58px;height:58px}
.topnav .vote-link{background:var(--red);border-color:var(--red);color:white}.topnav .vote-link:hover{background:#922935}
.sidebar a[aria-current=page]{border-left:3px solid var(--red);padding-left:8px}.sidebar a.indent[aria-current=page]{padding-left:17px}
.eyebrow{color:#52627a}.tag{border-color:#bdccdf;background:#f4f7fc}
.header-art{margin:0 0 28px;border:1px solid #d6dfeb;background:#edf3f9;overflow:hidden}
.header-art img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.header-art figcaption{padding:9px 15px;font-size:11px;letter-spacing:.04em;color:#52627a;background:#fff;border-top:1px solid #d6dfeb}
body:has(.header-art) h1{font-size:clamp(2rem,3.3vw,2.8rem)}
body:has(.header-art) .intro{font-size:17px;max-width:790px}
.inner-ribbon{width:65px;height:3px;background:var(--red);margin:-7px 0 25px}
.branch{border-top:3px solid var(--navy);position:relative;background:#fff}
.branch-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.branch-top img{width:54px;height:54px;flex-shrink:0}.branch .number{margin:0;color:#687a94;font-style:normal;font-family:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.branch h2{font-size:1.48rem}.branch .linklist a{font-weight:550}
.sectionline h2:before{content:"";display:inline-block;width:4px;height:23px;background:var(--red);margin-right:10px;vertical-align:-3px}
.callout{border-left-color:var(--navy)}.callout.gold{background:#fff3f2;border-left-color:var(--red)}.callout.gold .eyebrow{color:#922935}
.cycle-strip>div{border-top-color:var(--navy);position:relative}.cycle-strip>div:after{content:"";position:absolute;top:-3px;right:0;width:22%;height:3px;background:var(--red)}
.year-controls button[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--red)}
.footer{border-top:2px solid var(--navy)}
.creator-ribbon{background:var(--navy);color:#fff;border-bottom:3px solid var(--red)}.creator-ribbon>div{max-width:1460px;margin:auto;padding:10px 40px;display:flex;justify-content:space-between;align-items:center;gap:8px 24px;font-size:12px}.creator-ribbon p{margin:0}.creator-ribbon a{color:#fff;text-decoration-color:#9eb5d0}.creator-ribbon a:hover{color:#dce9f8}.creator-ribbon p:first-child a{font-weight:700}.creator-ribbon p:last-child{color:#d2dfef}.creator-ribbon p:last-child span{margin:0 7px}.founder-intro{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:28px 30px;margin:29px 0}.founder-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.founder-label .eyebrow{margin:0}.founder-label>span:last-child{font-size:11px;color:var(--muted)}.founder-intro h2{font-size:1.8rem}.founder-intro>p{max-width:850px;font-size:15px;line-height:1.75}.founder-intro .mission-position{font-size:13px;color:var(--navy);font-weight:600;background:var(--wash);padding:13px 16px;margin:20px 0 16px}.founder-intro>a{font-size:13px}.founder-letter{padding:27px 30px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);max-width:850px;margin:28px 0 38px}.founder-letter p{line-height:1.85}.founder-signature{font:1.4rem var(--serif);margin:27px 0 0!important}.founder-signature span{font:12px system-ui,sans-serif;color:var(--muted)}.mission-principles{margin:36px 0}.mission-principles>p{max-width:850px}.mission-principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.mission-principle-grid section{border-top:3px solid var(--navy);background:white;padding:22px}.mission-principle-grid h3{font:1.3rem var(--serif);margin-bottom:12px}.mission-principle-grid p{font-size:14px;color:var(--muted);margin:0}.learning-path{margin-top:38px}.learning-path ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.learning-path li{padding:22px;background:white;border:1px solid var(--line)}.learning-path h3{font:1.35rem var(--serif)}.learning-path li p{font-size:14px;color:var(--muted)}.learning-path a,.research-status{font-size:12px}.research-status{color:var(--muted)}.education-footer{max-width:1460px;margin:auto;border-top:1px solid var(--line);padding:24px 40px;background:#edf3f9;display:flex;justify-content:space-between;gap:15px 35px;align-items:center}.education-footer strong{font:1.3rem var(--serif)}.education-footer p{font-size:12px;color:var(--muted);max-width:650px;margin:7px 0 0}.education-footer>p{font-size:11px;text-align:right;min-width:270px}.education-footer a{color:var(--link)}.learning-basics{border:1px solid var(--line);border-left:3px solid #a7b9d1;padding:12px 16px;margin:20px 0 25px;background:white;font-size:13px}.learning-basics summary{color:var(--link);font-weight:600}.learning-basics dl{margin:17px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.learning-basics dt{font-weight:700;margin-bottom:5px}.learning-basics dd{margin:0;color:var(--muted)}.learning-basics p{padding-top:14px;font-size:12px}
@media(max-width:760px){.creator-ribbon>div{padding:12px 20px;display:block;font-size:11px}.creator-ribbon p+p{margin-top:5px}.topnav{flex-wrap:wrap;row-gap:12px}.founder-intro,.founder-letter{padding:22px 20px}.founder-intro h2{font-size:1.6rem}.founder-intro>p{font-size:14px}.founder-label{display:block}.founder-label>span:last-child{display:block;margin-top:7px}.education-footer{padding:23px 20px;display:block}.education-footer>p{text-align:left;min-width:0;margin-top:15px}.mission-principle-grid,.learning-path ol{grid-template-columns:1fr}.learning-basics dl{grid-template-columns:1fr;gap:13px}}
@media(max-width:760px){.brand strong{font-size:23px}.brand small{font-size:8px;letter-spacing:.1em}.logo-mark{width:49px;height:49px}.header-art{margin-bottom:23px}.header-art img{aspect-ratio:3/1;object-fit:contain}.header-art figcaption{font-size:10px}.branch-top{margin-bottom:10px}.branch h2{font-size:1.6rem}.topnav .vote-link{padding:7px 9px}.sidebar a[aria-current=page]{border-left:0;border-bottom:2px solid var(--red);padding-left:4px}.sidebar a.indent[aria-current=page]{padding-left:4px}}
/* Homepage: the illustration introduces the guide before timely updates. */
.home-hero .header-art{margin:0 0 22px}.home-hero .eyebrow{margin-bottom:10px}.home-hero h1{margin-bottom:14px}.home-hero .intro{margin-bottom:18px}.home-hero .searchbar{margin-top:21px}.home-hero .searchhint{margin-bottom:0}.home-updates{margin:28px 0 35px;background:#fff;border:1px solid #bdcadb;border-top:3px solid var(--red)}.home-election{display:grid;grid-template-columns:57px minmax(0,1fr);gap:19px;align-items:center;padding:21px 23px}.home-date{text-align:center;background:var(--navy);color:white;padding:9px 5px}.home-date span{display:block;font-size:9px;letter-spacing:.12em}.home-date strong{font:2rem/1.2 var(--serif);display:block}.home-election .eyebrow{font-size:9px;color:var(--red);margin-bottom:6px}.home-election h2{font-size:1.4rem;margin-bottom:7px}.home-election p{font-size:12px;color:var(--muted);margin:0 0 6px}.home-election a{font-size:12px;font-weight:650}.home-update-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);background:#edf3f9}.home-update-links>a{padding:17px 20px;text-decoration:none;border-right:1px solid var(--line);display:block}.home-update-links>a:last-child{border-right:0}.home-update-links strong{font-size:12px;display:block;line-height:1.5}.home-update-links span{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.home-update-links>a:hover{background:#e2ecf7}.visual-learning{margin:35px 0}.visual-learning>h2{margin-bottom:10px}.visual-learning>p{font-size:14px;color:var(--muted)}.visual-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.visual-learning-grid>article{background:white;border:1px solid var(--line);padding:19px}.visual-learning-grid h3{font:1.3rem/1.3 var(--serif);margin:20px 0 10px}.visual-learning-grid h3 a{text-decoration:none}.visual-learning-grid h3 a:hover{text-decoration:underline}.visual-learning-grid p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:10px}.visual-learning-grid .preview-note{font-size:10px}.preview-secondary{font-size:11px}.learning-preview{height:146px;background:#f3f6fa;display:flex;align-items:center;justify-content:center}.structure-preview{flex-direction:column;padding:13px}.structure-preview>span{font-size:11px;font-weight:650;border:1px solid #b8c7d9;background:white;padding:7px 12px}.structure-preview>i{height:18px;width:1px;background:#8ea5c0}.structure-preview>div{display:flex;justify-content:space-between;width:100%;position:relative;padding-top:12px}.structure-preview>div:before{content:'';height:1px;background:#8ea5c0;position:absolute;top:0;left:16.6%;right:16.6%}.structure-preview img{width:31%;height:53px;padding:3px}.seats-preview .seat-map{display:block;width:100%;height:139px;margin:0}.bill-preview{padding:14px;flex-direction:column;gap:4px}.bill-preview>div{display:flex;gap:8px;width:100%;justify-content:center}.bill-preview span{font-size:11px;border:1px solid #b8c7d9;background:white;padding:6px 10px;text-align:center}.bill-preview i{font-size:9px;font-style:normal;color:var(--muted)}.bill-preview b{font:18px/1 var(--serif);color:var(--red)}
@media(max-width:1050px){.visual-learning-grid{gap:10px}.visual-learning-grid>article{padding:14px}.home-update-links>a{padding:15px}}
@media(max-width:760px){.home-hero .header-art{margin-bottom:20px}.home-hero .header-art figcaption{font-size:9px}.home-hero h1{font-size:2.1rem!important}.home-hero .intro{font-size:15px!important}.home-election{padding:18px 16px;gap:14px;align-items:start}.home-election h2{font-size:1.2rem}.home-election p{font-size:11px}.home-updates{margin:24px 0 30px}.home-update-links{grid-template-columns:1fr}.home-update-links>a{border-right:0;border-bottom:1px solid var(--line);padding:14px 17px}.home-update-links>a:last-child{border-bottom:0}.visual-learning-grid{grid-template-columns:1fr;gap:16px}.visual-learning-grid>article{padding:20px}.learning-preview{height:165px}.structure-preview>div{max-width:260px}.seats-preview .seat-map{height:158px}.visual-learning-grid h3{font-size:1.45rem}}
.breadcrumb{display:block;margin-bottom:20px;line-height:1.7}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;list-style:none;margin:0;padding:0}
.breadcrumb li{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.breadcrumb [aria-current="page"]{color:var(--navy,#142d50);font-weight:600}
.breadcrumb-separator{color:#8793a3}
.context-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;background:#f1f5fa;border:1px solid #d7e1ed;border-left:4px solid #234e80;padding:14px 18px;margin:0 0 26px;border-radius:5px}
.context-navigation .browse-states{font-size:14px;font-weight:700;color:#234e80}
.context-navigation form{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0;min-width:0}
.context-navigation form[hidden]{display:none}
.context-navigation label{font-size:12px;font-weight:700;color:#33485f}
.state-switch-controls{display:flex;gap:8px;min-width:0;max-width:100%}
.context-navigation select{min-width:0;width:190px;max-width:100%;background:white;color:#142d50;border:1px solid #9aaec4;border-radius:4px;padding:9px;font:inherit;font-size:14px}
.context-navigation button{background:#142d50;color:white;border:1px solid #142d50;border-radius:4px;padding:9px 13px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.context-navigation :is(a,select,button):focus-visible{outline:3px solid #be3640;outline-offset:3px}
@media(max-width:600px){.context-navigation{align-items:flex-start;padding:12px;gap:12px}.context-navigation form{width:100%;display:block}.context-navigation label{display:block;margin-bottom:6px}.state-switch-controls{width:100%}.context-navigation select{flex:1;width:auto}.breadcrumb{margin-bottom:16px}}
