:root{--max:1180px;--radius:18px;--shadow:0 18px 55px rgba(18,37,63,.10);--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--page);color:var(--ink);line-height:1.5}button,select{font:inherit}button{cursor:pointer}.shell{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px 14px}.site-header{background:var(--header);color:var(--header-ink);border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand small{opacity:.72;font-size:.74rem}.top-nav{display:flex;gap:24px}.top-nav a{color:inherit;text-decoration:none;font-weight:700;font-size:.9rem}.hero{position:relative;overflow:hidden;background:var(--hero);color:var(--hero-ink)}.hero-art{position:absolute;inset:0;background:var(--hero-art);opacity:var(--hero-art-opacity)}.hero-content{position:relative;padding:78px 0 82px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.72rem;color:var(--muted-accent);margin:0 0 10px}.hero h1{max-width:920px;font-size:clamp(2.5rem,6vw,5.4rem);line-height:.93;letter-spacing:-.045em;margin:0;font-weight:950}.hero h1 span{color:var(--accent)}.hero-copy{font-size:clamp(1rem,2vw,1.3rem);max-width:680px;margin:22px 0 0;color:var(--hero-copy)}.finder{padding:48px 0;background:var(--finder-bg);border-bottom:1px solid var(--line)}.finder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}.finder h2,.legislator-section h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.06;margin:0;letter-spacing:-.035em}.controls-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}fieldset{border:0;padding:0;margin:0 0 20px}legend,.select-label{font-weight:800;font-size:.84rem;margin-bottom:8px;display:block}.segments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--segment-bg);padding:5px;border-radius:12px}.segment{border:0;border-radius:9px;padding:11px 10px;background:transparent;color:var(--muted);font-weight:800}.segment span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.segment.is-active{background:var(--segment-active);color:var(--segment-active-ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}.segment:disabled{opacity:.48;cursor:not-allowed}select{width:100%;border:1px solid var(--input-line);background:var(--input-bg);color:var(--ink);border-radius:10px;padding:13px 42px 13px 14px}.selection-note{font-size:.78rem;color:var(--muted);margin:10px 0 0}.impact-section{padding:64px 0;background:var(--page)}.result-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}.result-heading h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1;margin:0 0 10px}.result-heading p{color:var(--muted);margin:0}.student-stat{text-align:right;min-width:180px}.student-stat strong{display:block;font-size:2.2rem;line-height:1;color:var(--accent)}.student-stat span{font-size:.76rem;color:var(--muted)}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.impact-card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--impact-border);border-radius:var(--radius);padding:24px;min-height:190px;box-shadow:var(--card-shadow)}.impact-card p{font-weight:900;margin:0 0 26px}.impact-card strong{display:block;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1;color:var(--impact-number);letter-spacing:-.035em;margin-bottom:14px}.impact-card span{display:block;color:var(--muted);font-size:.82rem}.impact-card.projection{border-top-color:var(--projection)}.impact-card.projection strong{color:var(--projection-number)}.context-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.panel h3{margin:0 0 16px;font-size:1.3rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--tag-bg);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}.callout-panel{background:var(--callout-bg)}.callout-panel p:not(.section-kicker){color:var(--muted)}.text-button{border:0;background:transparent;color:var(--link);padding:0;font-weight:900}.legislator-section{padding:64px 0;background:var(--section-alt)}.section-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-heading-row p{color:var(--muted)}.legislator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legislator-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.legislator-card h3{margin:0 0 3px;font-size:1.12rem}.legislator-card .meta{color:var(--muted);font-size:.78rem;margin-bottom:16px}.votes{display:grid;gap:8px}.vote-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;font-size:.76rem}.vote-badge{font-weight:950}.vote-yes{color:var(--vote-yes)}.vote-no{color:var(--vote-no)}.vote-other{color:var(--muted)}.details-section{padding:46px 0;background:var(--page)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 20px}summary{cursor:pointer;font-weight:900;padding:18px 0}details div{color:var(--muted);padding:0 0 16px}.closing{background:var(--closing-bg);color:var(--closing-ink);text-align:center;padding:48px 0}.closing p{font-size:clamp(1.8rem,4vw,3.5rem);font-weight:950;letter-spacing:-.04em;margin:0 0 6px}.closing span{opacity:.8}footer{background:var(--footer);color:var(--footer-ink);padding:24px 0;font-size:.75rem}.footer-inner{display:flex;justify-content:space-between;gap:20px;opacity:.75}
@media(max-width:900px){.finder-grid,.context-grid{grid-template-columns:1fr}.impact-grid{grid-template-columns:repeat(2,1fr)}.legislator-grid{grid-template-columns:repeat(2,1fr)}.top-nav{display:none}.student-stat{text-align:left}.result-heading{align-items:start;flex-direction:column}.details-grid{grid-template-columns:1fr}}
@media(max-width:580px){.shell{width:min(calc(100% - 28px),var(--max))}.hero-content{padding:54px 0 58px}.segments{grid-template-columns:1fr}.segment span{display:inline;margin-left:5px}.impact-grid,.legislator-grid{grid-template-columns:1fr}.impact-card{min-height:auto}.footer-inner{flex-direction:column}.finder{padding:34px 0}.impact-section,.legislator-section{padding:48px 0}}
.context-summary{color:var(--muted);font-size:.86rem;margin:-6px 0 16px}.tag.is-current{font-weight:900;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.vote-row{align-items:center;padding:12px 0 4px}.vote-info{display:grid;gap:2px;min-width:0}.vote-info>strong{font-size:.8rem;color:var(--ink)}.vote-info>span{font-size:.7rem;color:var(--muted)}.vote-badge{font-size:.82rem;flex:0 0 auto}.legislator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.legislator-grid{grid-template-columns:1fr}.vote-row{align-items:flex-start}.vote-info>span{line-height:1.35}}

/* v0.3 compact first-screen layout: shared by all three themes */
.hero-content{padding:42px 0 44px}.hero h1{font-size:clamp(2.35rem,5vw,4.65rem);max-width:880px}.hero-copy{font-size:clamp(.95rem,1.6vw,1.12rem);max-width:760px;margin-top:14px}.finder{padding:22px 0}.finder-compact{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:center}.finder-label h2{font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.08;margin:0;letter-spacing:-.03em}.finder-compact .section-kicker{margin-bottom:6px}.finder-compact .controls-card{padding:16px 18px;border-radius:14px;box-shadow:0 10px 30px rgba(18,37,63,.08)}.finder-compact .select-label{margin-bottom:6px}.finder-compact select{padding-top:11px;padding-bottom:11px}.impact-section{padding:42px 0}.result-heading{margin-bottom:20px}.result-heading h2{font-size:clamp(1.9rem,3.5vw,3.2rem)}
@media(max-width:900px){.finder-compact{grid-template-columns:1fr;gap:14px}.hero-content{padding:36px 0 38px}}
@media(max-width:580px){.hero-content{padding:30px 0 32px}.hero h1{font-size:clamp(2rem,12vw,3.25rem)}.hero-copy{margin-top:12px}.finder{padding:18px 0}.finder-label h2{font-size:1.35rem}.finder-compact .controls-card{padding:14px}.impact-section{padding:34px 0}}
