/* Shared Real Politic identity. Parchment surfaces, navy accents. */
:root{--paper:#ded8cb;--paper-raised:#e8e2d6;--ink:#172134;--ink-soft:#46505b;--ink-faint:#58616b;--rule:#b9b4aa;--nav-surface:#d5cfc2;--brass:#263e63;--brass-bright:#44618a;--selected:#263e63;--selected-ink:#f3eee3;--header-height:85px;--green:#263e63;--line:#b9b4aa;--muted:#46505b;--navy:#172134}
:root[data-theme=dark]{--paper:#171e29;--paper-raised:#212c3b;--ink:#e8e3d8;--ink-soft:#c0c6cd;--ink-faint:#a6b1bf;--rule:#414c5a;--nav-surface:#1c2532;--brass:#abc3e5;--brass-bright:#c1d4ef;--selected:#abc3e5;--selected-ink:#142033;--green:#abc3e5;--line:#414c5a;--muted:#c0c6cd;--navy:#e8e3d8}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#171e29;--paper-raised:#212c3b;--ink:#e8e3d8;--ink-soft:#c0c6cd;--ink-faint:#a6b1bf;--rule:#414c5a;--nav-surface:#1c2532;--brass:#abc3e5;--brass-bright:#c1d4ef;--selected:#abc3e5;--selected-ink:#142033;--green:#abc3e5;--line:#414c5a;--muted:#c0c6cd;--navy:#e8e3d8}}
body{background:var(--paper);color:var(--ink)}header.topbar{height:auto;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule);padding:10px 30px;position:sticky;top:0;z-index:40;display:block}.topbar-inner{max-width:none;display:flex;align-items:center;gap:22px;margin:auto}.topbar-home{display:flex;align-items:center;gap:13px;color:var(--ink);font-family:Georgia,serif;font-size:32px;font-weight:500;text-decoration:none;white-space:nowrap}.topbar-home .mark.seal{width:64px;height:64px;box-shadow:none}.category-nav{display:flex;align-items:center;gap:32px;margin-left:30px}.category-nav a{font:18px Georgia,serif;color:var(--ink);text-decoration:none;white-space:nowrap;padding:18px 0;border-bottom:2px solid transparent}.category-nav a:hover,.category-nav a[aria-current=page]{color:var(--brass);border-color:var(--brass)}.topbar-search{max-width:390px}.topbar-search input[type=search]{background:var(--paper-raised);border-color:var(--rule);color:var(--ink)}.topbar-search input[type=search]::placeholder{color:var(--ink-soft)}.topbar-search input[type=search]:focus{background:var(--paper-raised)}.theme-btn,.back-btn{color:var(--ink);border-color:var(--rule)}.research-nav{top:calc(var(--header-height) + 35px);width:250px;font-family:Georgia,serif}.research-nav a{font-size:15px;padding:11px 12px}.research-nav h2{font-size:10px;margin-top:25px}.panel,body>footer{margin-left:250px}.controls{top:var(--header-height)}.legal-note{background:var(--nav-surface);padding:8px 30px;border-bottom:1px solid var(--rule)}.legal-note-inner{font:11px/1.6 Arial,sans-serif;color:var(--ink-soft);max-width:none}.legal-note-inner strong{color:var(--ink)}.site-search-link{margin-left:auto;border:1px solid var(--rule);padding:12px 18px;text-decoration:none;color:var(--ink-soft);font-size:12px}.nav-toggle{display:none}
.atlas-page{font:14px Arial,sans-serif}.atlas-page main{margin-left:250px;max-width:none;padding:0 34px}.atlas-page .hero{padding:30px 0 22px;display:block}.atlas-page .hero h1{font:normal clamp(34px,4vw,58px)/1.1 Georgia,serif;letter-spacing:-1.5px}.atlas-page .eyebrow{font:12px Georgia,serif;letter-spacing:.2px;text-transform:none;color:var(--ink-soft);margin-bottom:18px}.atlas-page .intro{font:21px/1.4 Georgia,serif;margin-top:14px;max-width:none;color:var(--ink)}.atlas-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:12px;color:var(--ink-soft)}.atlas-meta b{font-weight:400}.atlas-page .controls{position:static;padding:0;border:0;display:flex;margin:0 0 16px;background:none}.atlas-page .search,.atlas-page select,.atlas-page .outline{background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule);border-radius:3px}.atlas-page input{color:var(--ink)}.atlas-page input::placeholder{color:var(--muted)}.atlas-tabs{display:flex;gap:26px;border-bottom:1px solid var(--rule);margin-bottom:16px}.atlas-tabs .nav{font:16px Georgia,serif;color:var(--ink);padding:12px 16px;border:0;background:none}.atlas-tabs .nav.active{color:var(--brass);border-bottom:3px solid var(--brass)}.atlas-tabs .nav.active:after{display:none}.atlas-page .workspace{grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr);gap:20px;border:0}.atlas-page .atlas{padding:0;min-width:0}.atlas-page .sectionTitle h2{font:20px Georgia,serif}.atlas-page .group,.atlas-page .tile,.atlas-page aside,.atlas-page dialog{background:var(--paper-raised);color:var(--ink);border-color:var(--rule)}.atlas-page .groupHead{background:transparent;border-bottom:1px solid var(--rule);padding:18px 14px}.atlas-page .groupName{font:16px Georgia,serif;color:var(--ink)}.atlas-page .group{border-radius:3px}.atlas-page .tree{border-color:var(--rule)}.atlas-page .toggle,.atlas-page .count{border-color:var(--rule);color:var(--ink-soft)}.atlas-page .agencyButton,.atlas-page .tile{color:var(--ink)}.atlas-page .agencyButton:hover,.atlas-page .agencyButton.selected,.atlas-page .tile:hover,.atlas-page .tile.selected{background:var(--nav-surface);border-color:var(--brass)}.atlas-page aside{top:calc(var(--header-height) + 14px);max-height:calc(100vh - var(--header-height) - 28px);padding:26px;border:1px solid var(--rule);border-radius:3px}.atlas-page .profileName{font:30px/1.15 Georgia,serif;color:var(--ink)}.atlas-page .description{font-size:13px;line-height:1.8}.atlas-page .publication a{color:var(--ink)}.atlas-page .badge.warn{background:var(--nav-surface);color:var(--ink)}.atlas-page .notice.feed-warning{border-left:3px solid var(--brass);padding-left:10px}.atlas-page footer{font-size:10px}.atlas-page .tiles{grid-template-columns:1fr}.atlas-page .clusterTitle{color:var(--brass)}.atlas-page .orb{color:var(--brass)}
@media(max-width:1200px){.category-nav{gap:20px;margin-left:0}.category-nav a{font-size:15px}.topbar-home{font-size:26px}.topbar-home .mark.seal{width:54px;height:54px}.topbar-inner{gap:16px}.site-search-link{display:none}}
@media(max-width:1000px){.category-nav{display:none}.research-nav{width:210px}.panel,body>footer{margin-left:210px}.atlas-page main{margin-left:210px;padding:0 24px}.atlas-page .workspace{grid-template-columns:minmax(0,1fr)}.atlas-page aside{position:static;max-height:none}.atlas-page .controls{flex-wrap:wrap}.atlas-page .search{flex-basis:100%}}
@media(max-width:760px){header.topbar{padding:10px 14px}.topbar-inner{flex-wrap:wrap;gap:9px}.topbar-home{font-size:23px}.topbar-home .mark.seal{width:45px;height:45px}.theme-btn,.back-btn{width:34px;height:34px}.nav-toggle{display:block;background:transparent;color:var(--ink);border:1px solid var(--rule);border-radius:3px;padding:8px;font:12px Arial,sans-serif}.research-nav{display:none;position:relative;top:auto;width:auto;max-height:55vh}.research-nav.is-open{display:block}.panel,body>footer{margin-left:0}.atlas-page main{margin-left:0;padding:0 18px}.atlas-page .hero h1{font-size:37px}.atlas-page .intro{font-size:18px}.atlas-meta{gap:10px 16px}.atlas-page .workspace{display:block}.atlas-page aside{margin-top:24px;min-height:0}.atlas-page .atlas-tabs .nav{font-size:16px}.atlas-page input,.atlas-page select{font-size:16px}.atlas-page .controls select{min-width:0;max-width:100%;flex:1}.atlas-page .groupName{overflow-wrap:anywhere}.atlas-page .count{flex:none}.legal-note{padding:8px 16px}.controls{position:static}.atlas-page .tree{margin-left:10px;padding-left:10px}.atlas-page footer{flex-direction:column}.atlas-page .research-nav a{font-size:15px}}

/* Agency rows follow the reference layout, with authentic source images. */
.atlas-page .group{margin:0;border-radius:0;border-bottom:0}.atlas-page .group:last-child{border-bottom:1px solid var(--rule)}.atlas-page .groupHead{padding:8px 14px;min-height:72px;gap:12px}.atlas-page .groupHead.selected{box-shadow:inset 4px 0 var(--brass)}.atlas-page .groupName{display:flex;align-items:center;gap:20px;min-width:0;font-size:19px;line-height:1.3}.agency-seal{width:52px;height:52px;object-fit:contain;flex:none}.agency-document{width:30px;flex:none;display:inline-grid;place-content:center;font:25px Georgia,serif;color:var(--brass)}.atlas-page .count{border:0;padding:0;white-space:nowrap;font:12px Georgia,serif}.atlas-page .toggle{border:0;font-size:24px;flex:none}.atlas-page .agencyButton{display:flex;align-items:center;gap:12px;border-radius:0;border-bottom:1px solid var(--rule)}.agency-label{min-width:0}.agencyButton .agency-seal,.relationships .agency-seal{width:30px;height:30px}.atlas-page .tile>.agency-seal,.atlas-page .tile>.agency-document{float:left;margin-right:15px}.atlas-page .tile{min-height:86px}.relationships{border-top:1px solid var(--rule);margin:20px 0}.relationships h3{font:21px Georgia,serif;margin:14px 0}.relationships button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:0;border-bottom:1px solid var(--rule);background:none;color:var(--brass);padding:12px 0;font:15px Georgia,serif}.relationships button span:last-child{margin-left:auto}.atlas-page .sectionTitle,.atlas-page #mapHint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.atlas-page .clusterTitle:first-child{margin:0;padding:8px 0;font-size:10px}.atlas-page .atlas-tabs{margin-bottom:12px}.atlas-page .profileLinks a{font:15px Georgia,serif;border-color:var(--brass);padding:12px 16px;flex:1;text-align:center}.atlas-page .profileLinks a:first-child{background:var(--selected);color:var(--selected-ink)}.atlas-page .updatesHeader h3{font:21px Georgia,serif}.atlas-page .research-nav{display:block;height:auto}.atlas-page .research-nav a{display:block;text-decoration:none;color:var(--ink);border-radius:3px}.atlas-page .research-nav a[aria-current=page]{background:var(--selected);color:var(--selected-ink)}.atlas-page .research-nav h2{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.3px}.atlas-page .research-nav{position:fixed;left:0;bottom:0;overflow:auto;padding:0 18px 24px;border-right:1px solid var(--rule)}
@media(max-width:1350px){.category-nav{gap:16px}.category-nav a{font-size:14px}.topbar-search{max-width:260px}.site-search-link{display:none}}
@media(max-width:760px){.atlas-page .research-nav{display:none;position:relative;top:auto;max-height:55vh;width:auto}.atlas-page .research-nav.is-open{display:block}.atlas-page .groupName{font-size:16px;gap:10px}.agency-seal{width:40px;height:40px}.atlas-page .groupHead{padding:10px 8px;gap:6px}.atlas-page .count{font-size:10px}.atlas-page .tree{margin-left:16px;padding-left:6px}.atlas-page .profileName{overflow-wrap:anywhere}}

.atlas-meta .outline{padding:0;border:0;background:none;color:var(--brass);font:inherit}.atlas-page .controls select{flex:0 1 37%}.atlas-page .clusterTitle:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.atlas-page .theme-btn{background:transparent;border:1px solid var(--rule);padding:9px;cursor:pointer}.atlas-page aside{scrollbar-width:thin}.atlas-page .research-nav{scrollbar-width:thin}@media(max-width:760px){.atlas-page .controls select{flex:1}}
.atlas-page .tiles{grid-template-columns:minmax(0,1fr)}.atlas-page .tile{min-width:0;overflow-wrap:anywhere}.atlas-page .groupName span,.agency-label{overflow-wrap:anywhere}.atlas-page #detail{scroll-margin-top:calc(var(--header-height) + 16px)}@media(max-width:1000px){.atlas-page #content{max-height:65vh;overflow:auto;overscroll-behavior:contain}.atlas-page .tree{max-width:100%}}
.group-head .range{min-width:0;overflow-wrap:anywhere;white-space:normal}@media(max-width:600px){.group-head{flex-wrap:wrap}.group-head .range{max-width:100%}}

.law-excerpt{margin:12px 0 4px}.law-excerpt blockquote{margin:8px 0;padding:0 0 0 14px;border-left:2px solid var(--rule);font:15px/1.7 Georgia,serif;color:var(--ink)}.law-excerpt figcaption{font:11px/1.6 Arial,sans-serif;color:var(--ink-soft)}.law-excerpt a{color:var(--brass)}

.more-agencies summary{cursor:pointer;padding:12px 0;color:var(--brass);font-size:12px}.atlas-page .groupHead .groupName{overflow-wrap:anywhere}
/* Disclosure navigation: the same complete library on desktop and mobile. */
.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink);font:15px/1.4 Georgia,serif;padding:14px 10px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary .nav-label{min-width:0;overflow-wrap:anywhere}.nav-chev{display:block;flex:none;color:var(--ink-faint);transform:rotate(0deg);transition:transform .15s ease,color .15s ease}.nav-group[open]>summary .nav-chev{transform:rotate(90deg)}.nav-group summary:hover .nav-chev,.nav-group summary:focus-visible .nav-chev{color:var(--ink)}.nav-group summary:focus-visible,.nav-options a:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.nav-options a{display:block;white-space:normal;padding:11px 14px!important;border:0!important;font:14px/1.4 Georgia,serif!important;color:var(--ink);text-decoration:none}.nav-options a:hover{background:var(--nav-surface)}.category-nav{gap:8px;margin-left:0}.category-nav .nav-options{position:absolute;top:100%;left:0;min-width:240px;max-width:calc(100vw - 28px);background:var(--paper-raised);border:1px solid var(--rule);box-shadow:0 8px 20px #0002;padding:6px;max-height:65vh;overflow:auto}.category-nav .nav-group:last-child .nav-options{left:auto;right:0}.research-nav .nav-group{border-bottom:1px solid var(--rule)}.research-nav .nav-options{padding:0 0 10px 8px}.research-nav .nav-group summary{font-size:15px;padding:16px 8px}.footer-links{font:16px Georgia,serif}body>footer a{color:var(--brass)}
@media(max-width:1350px){.category-nav summary{font-size:13px;padding:14px 4px}.topbar-inner{gap:12px}}
@media(max-width:1150px){.category-nav{display:none}}

/* ---- Top bar: brand and back arrow left, one universal search box in the middle, theme toggle right ---- */
.category-nav,.site-search-link{display:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.topbar-search{flex:1 1 auto;position:relative;min-width:0;max-width:600px;margin:0 auto}
.topbar-search input[type=search]{width:100%;box-sizing:border-box;font:inherit;font-size:14px;padding:11px 14px;border:1.5px solid var(--rule);border-radius:5px;background:var(--paper-raised);color:var(--ink)}
.topbar-search input[type=search]:focus{outline:none;border-color:var(--brass-bright)}
.topbar-search input[type=search]:focus-visible{outline:3px solid var(--brass-bright);outline-offset:1px}
.topbar-inner>.theme-btn{margin-left:0;display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer;font-size:1rem}
.rp-drawer-overlay,.rp-drawer-close{display:none}
@media(prefers-reduced-motion:reduce){.nav-chev{transition:none}}

.sd-allsc{border-bottom:1px solid var(--rule)}
.sd-allsc-link{text-decoration:none;font-size:.85rem;font-weight:600;color:var(--brass)}
.sd-allsc-link:hover{text-decoration:underline}

/* ---- Phone and tablet (860px and below): the side bar is a drawer behind the menu button ---- */
@media(max-width:860px){
 .topbar-inner{flex-wrap:wrap;gap:9px}
 .topbar-search{order:5;flex:1 1 100%;max-width:none;margin:0}
 .topbar-search input[type=search]{font-size:16px}
 .nav-toggle{display:block;margin-left:auto;background:transparent;color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:8px 12px;font:12px Arial,sans-serif;min-height:34px}
 .panel,body>footer,.atlas-page main{margin-left:0!important}
 .atlas-page main{padding-left:16px!important;padding-right:16px!important}
 .research-nav{display:block!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:min(320px,86vw)!important;background:var(--nav-surface)!important;box-shadow:6px 0 24px rgba(0,0,0,.28);max-height:none!important;height:auto!important;padding:8px 16px 24px!important;border-right:1px solid var(--rule)!important;border-bottom:0!important;overflow-y:auto;overscroll-behavior:contain;z-index:70;transform:translateX(-102%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}
 .research-nav.is-open{transform:none;visibility:visible;transition:transform .2s ease,visibility 0s}
 .rp-drawer-overlay{display:block;position:fixed;inset:0;z-index:65;background:rgba(10,16,26,.55)}
 .rp-drawer-overlay[hidden]{display:none}
 .rp-drawer-close{display:flex;align-items:center;gap:8px;width:100%;margin:6px 0 4px;padding:12px 8px;background:none;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:14px Arial,sans-serif;text-align:left;cursor:pointer}
 html.rp-drawer-open,html.rp-drawer-open body{overflow:hidden}
}
@media(max-width:860px) and (prefers-reduced-motion:reduce){.research-nav,.research-nav.is-open{transition:none}}

/* ---- Tool icons: the icon SVGs as CSS masks, painted with currentColor so they follow the theme ---- */
.ti{display:inline-block;flex:none;width:20px;height:20px;vertical-align:middle;background-color:currentColor;-webkit-mask:var(--ti-sm) center/contain no-repeat;mask:var(--ti-sm) center/contain no-repeat}
.ti-lg{width:48px;height:48px;-webkit-mask-image:var(--ti-lg);mask-image:var(--ti-lg)}
.ti-statutes{--ti-sm:url("/assets/icons/sm/statutes.svg");--ti-lg:url("/assets/icons/lg/statutes.svg")}
.ti-sc-code-index{--ti-sm:url("/assets/icons/sm/sc-code-index.svg");--ti-lg:url("/assets/icons/lg/sc-code-index.svg")}
.ti-us-code{--ti-sm:url("/assets/icons/sm/us-code.svg");--ti-lg:url("/assets/icons/lg/us-code.svg")}
.ti-sc-bills{--ti-sm:url("/assets/icons/sm/sc-bills.svg");--ti-lg:url("/assets/icons/lg/sc-bills.svg")}
.ti-case-law{--ti-sm:url("/assets/icons/sm/case-law.svg");--ti-lg:url("/assets/icons/lg/case-law.svg")}
.ti-supreme-court{--ti-sm:url("/assets/icons/sm/supreme-court.svg");--ti-lg:url("/assets/icons/lg/supreme-court.svg")}
.ti-agency-atlas{--ti-sm:url("/assets/icons/sm/agency-atlas.svg");--ti-lg:url("/assets/icons/lg/agency-atlas.svg")}
.ti-congress{--ti-sm:url("/assets/icons/sm/congress.svg");--ti-lg:url("/assets/icons/lg/congress.svg")}
.ti-federal-committees{--ti-sm:url("/assets/icons/sm/federal-committees.svg");--ti-lg:url("/assets/icons/lg/federal-committees.svg")}
.ti-sc-committees{--ti-sm:url("/assets/icons/sm/sc-committees.svg");--ti-lg:url("/assets/icons/lg/sc-committees.svg")}
.ti-sc-legislators{--ti-sm:url("/assets/icons/sm/sc-legislators.svg");--ti-lg:url("/assets/icons/lg/sc-legislators.svg")}
.ti-state-budget{--ti-sm:url("/assets/icons/sm/state-budget.svg");--ti-lg:url("/assets/icons/lg/state-budget.svg")}
.ti-campaign-funding{--ti-sm:url("/assets/icons/sm/campaign-funding.svg");--ti-lg:url("/assets/icons/lg/campaign-funding.svg")}
.ti-sc-campaign-finance{--ti-sm:url("/assets/icons/sm/sc-campaign-finance.svg");--ti-lg:url("/assets/icons/lg/sc-campaign-finance.svg")}
.ti-lobbying{--ti-sm:url("/assets/icons/sm/lobbying.svg");--ti-lg:url("/assets/icons/lg/lobbying.svg")}
.ti-voting-record{--ti-sm:url("/assets/icons/sm/voting-record.svg");--ti-lg:url("/assets/icons/lg/voting-record.svg")}
.ti-member-profiles{--ti-sm:url("/assets/icons/sm/member-profiles.svg");--ti-lg:url("/assets/icons/lg/member-profiles.svg")}
.ti-sources{--ti-sm:url("/assets/icons/sm/sources.svg");--ti-lg:url("/assets/icons/lg/sources.svg")}
.ti-updates{--ti-sm:url("/assets/icons/sm/updates.svg");--ti-lg:url("/assets/icons/lg/updates.svg")}
.ti-about{--ti-sm:url("/assets/icons/sm/about.svg");--ti-lg:url("/assets/icons/lg/about.svg")}
/* side bar: small icon left of each tool, centered on the label, muted until hover or focus */
.research-nav .nav-options a{display:flex;align-items:center;gap:10px}
.research-nav .nav-options a .nav-text{min-width:0}
.research-nav .nav-options a .ti{color:var(--ink-faint);transition:color .15s ease}
.research-nav .nav-options a:hover .ti,.research-nav .nav-options a:focus-visible .ti{color:var(--ink)}
/* home page tool cards: detailed icon at the top of the card */
/* buttons center their content vertically; anchor it to the top so icons line up across a row */
.section-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
.section-card>.ti-lg{display:block;color:var(--brass);margin:0 0 14px}
/* page titles with an icon beside them */
.ti-title{display:flex;align-items:center;gap:16px}
.ti-title .ti-lg{color:var(--brass)}
@media(prefers-reduced-motion:reduce){.research-nav .nav-options a .ti{transition:none}}

.section-card .sc-label{display:flex;align-items:center;gap:12px}.section-card .sc-label>.ti-lg{width:32px;height:32px;flex:0 0 32px;color:var(--brass)}
