:root{--navy:#0b2238;--deep:#061827;--red:#a80000;--red2:#810000;--ink:#17293a;--muted:#516273;--line:#d6dee4;--pale:#f3f6f8;--max:1240px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:400 1rem/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:var(--red2);text-underline-offset:.18em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd5100;outline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}
.skip-link{position:absolute;z-index:100;top:-5rem;left:1rem;padding:.6rem 1rem;background:#fff;color:var(--navy);font-weight:800}.skip-link:focus{top:.5rem}
.election-ribbon{display:flex;justify-content:center;gap:1.4rem;align-items:center;flex-wrap:wrap;padding:.37rem 1rem;background:var(--red);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.election-ribbon a{color:#fff}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;width:min(calc(100% - 3rem),var(--max));margin:auto;min-height:104px}.brand{display:block;flex:none}.brand img{width:225px;height:auto}.primary-nav{display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.5rem);flex-wrap:wrap}.primary-nav a,.header-join{font-size:.9rem;font-weight:800;color:var(--navy);text-decoration:none;white-space:nowrap}.primary-nav a{padding:.3rem 0;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a[aria-current=page]{border-color:var(--red)}.header-join{padding:.55rem .85rem;color:#fff;background:var(--red);border:2px solid var(--red)}.header-join:hover{background:var(--red2)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.6rem,5.3vw,5.5rem)}h2{font-size:clamp(2rem,3vw,3.25rem)}h3{font-size:1.35rem;line-height:1.25}.kicker{margin:0 0 .8rem;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.kicker--light{color:#fbdfda}.lead{max-width:62rem;font-size:clamp(1.12rem,1.4vw,1.38rem);line-height:1.52;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.62rem 1.24rem;border:2px solid transparent;font-size:.93rem;font-weight:850;line-height:1.25;text-decoration:none;text-align:center}.button--red{background:var(--red);color:#fff}.button--red:hover{background:var(--red2)}.button--navy{background:var(--navy);color:#fff}.button--navy:hover{background:var(--deep)}.button--light{background:#fff;color:var(--navy)}.button--light:hover{background:#e7edf1}.text-link{font-size:.97rem;font-weight:850;color:var(--red2);text-decoration-thickness:2px}.text-link--light{color:#fff}
.home-hero{background:var(--navy);color:#fff;overflow:hidden}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;min-height:560px}.hero-copy{align-self:center;padding:4rem 3rem 4rem 0;position:relative;z-index:1}.hero-copy h1{font-size:clamp(3.4rem,5vw,5.3rem);margin-bottom:1.5rem}.hero-copy h1 em{display:block;font-size:.64em;font-style:italic;font-weight:400;line-height:1.22;color:#f4d9d6}.hero-copy p:not(.kicker){max-width:33rem;color:#e6edf2;font-size:1.16rem;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:1.8rem}.hero-image{position:relative;min-height:100%;margin-right:calc((min(100vw,var(--max)) - 100vw)/2)}.hero-image:before{position:absolute;inset:0;content:"";z-index:1;background:linear-gradient(90deg,var(--navy) 0%,transparent 24%);pointer-events:none}.hero-image picture,.hero-image img{width:100%;height:100%}.hero-image img{object-fit:cover;object-position:78% center}
.deadline-band{background:#f8eee8;border-bottom:1px solid #e6d4c7}.deadline-layout{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.45rem}.deadline-layout h2{margin-bottom:.35rem;font-size:clamp(1.5rem,2.2vw,2.1rem)}.deadline-layout p:last-child{margin-bottom:0;color:var(--muted)}
.section{padding-block:clamp(3.2rem,6vw,6rem)}.section--pale{background:var(--pale)}.section--navy{background:var(--navy);color:#fff}.section--navy h2,.section--navy a{color:#fff}.split-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center}.split-story>div{max-width:28rem}.split-story p:not(.kicker){font-size:1.12rem;color:var(--muted)}.story-image,.portrait-image{margin:0}.story-image img{width:100%;object-fit:cover}figcaption{margin-top:.5rem;color:var(--muted);font-size:.85rem}
.section--navy .button--light{color:var(--navy)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2rem}.section-heading>div{max-width:38rem}.section-heading>p{max-width:30rem;color:var(--muted);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.topic-card{display:flex;flex-direction:column;min-height:290px;padding:2rem;background:#fff;border-top:6px solid var(--red);color:var(--ink);text-decoration:none;box-shadow:0 8px 24px #0b223810}.topic-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0b223820}.topic-card>span{font-size:.84rem;font-weight:850;color:var(--red)}.topic-card h3{margin:1.2rem 0 .6rem;font-family:Georgia,serif;font-size:1.6rem}.topic-card p{color:var(--muted)}.topic-card b{margin-top:auto;color:var(--red2);font-size:.93rem}
.action-layout,.mini-cta{display:flex;align-items:center;justify-content:space-between;gap:3rem}.action-layout>div,.mini-cta>div{max-width:43rem}.action-layout p:not(.kicker){color:#dfe9ef;font-size:1.13rem}.mini-cta h2,.action-layout h2{margin-bottom:.7rem}.mini-cta p:last-child{margin-bottom:0}
.page-intro{padding:clamp(3rem,5vw,5rem) 0 3.3rem;background:var(--navy);color:#fff;border-bottom:8px solid var(--red)}.page-intro h1{max-width:50rem;margin-bottom:1rem;font-size:clamp(2.8rem,5vw,4.9rem)}.page-intro .lead{max-width:50rem;margin-bottom:0;color:#e5eef3}.page-intro .kicker{color:#f7c8c2}
.prose{max-width:45rem}.prose.narrow{max-width:56rem}.prose h2{margin:2.4rem 0 .8rem;font-size:2rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:1.05rem;line-height:1.74}.prose p{margin-bottom:1.05rem}.bio-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:4rem;align-items:start}.portrait-image img{width:100%}.source-note{margin-top:2rem;padding:1.15rem 1.4rem;background:#eff3f5;border-left:5px solid var(--red);font-size:.9rem;color:var(--muted);line-height:1.6}.source-note b{color:var(--navy)}.issue-notice{padding:1.3rem 1.6rem;margin-bottom:2rem;background:#f7eee8;border-left:6px solid var(--red)}.issue-notice b{color:var(--navy)}.issue-notice p{margin:.4rem 0 0}
.issues-list{border-top:1px solid var(--line)}.issue-block{display:grid;grid-template-columns:90px 1fr;gap:2.2rem;padding:2.6rem 0;border-bottom:1px solid var(--line);scroll-margin-top:1rem}.issue-number{font-family:Georgia,serif;font-size:3rem;line-height:1;color:var(--red)}.issue-block h2{margin-bottom:.9rem;max-width:47rem}.issue-block p{max-width:55rem;font-size:1.07rem}.issue-status{margin-top:1.2rem;color:var(--muted);font-size:.83rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.vote-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.vote-step{padding:1.6rem;background:var(--pale);border-top:5px solid var(--red)}.vote-step>span{color:var(--red);font-size:.88rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.vote-step h2{font-size:1.65rem;margin:.8rem 0}.vote-step p{color:var(--muted)}.vote-step>a{font-size:.93rem;font-weight:800}.vote-tools{margin-top:3rem;padding:2rem;border:1px solid var(--line)}.vote-tools h2{font-size:2rem}.tool-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}.tool-links a{font-weight:800}
.involvement-layout,.join-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.help-option{display:grid;grid-template-columns:45px 1fr;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.help-option:first-child{padding-top:0}.help-option>span{color:var(--red);font-weight:900}.help-option h2{font-size:1.75rem;margin-bottom:.5rem}.help-option p{margin-bottom:0;color:var(--muted)}
.form-panel{padding:2rem;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px #0b223812}.form-panel h2{font-size:2rem;margin-bottom:.5rem}.form-panel>p{color:var(--muted)}.campaign-form{margin-top:1.3rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;margin-bottom:1rem}.field label{margin-bottom:.35rem;color:var(--navy);font-size:.9rem;font-weight:800}.field label span{font-weight:500;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:.62rem .72rem;border:1px solid #8b9cab;border-radius:0;background:#fff;color:var(--ink)}.field textarea{resize:vertical}.honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent-group{display:grid;gap:.85rem;margin:1rem 0}.check-row{display:grid;grid-template-columns:22px 1fr;gap:.7rem;font-size:.91rem;line-height:1.48}.check-row input{width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--red)}.form-legal{color:var(--muted);font-size:.83rem;line-height:1.5}.form-status{margin:.8rem 0 0;font-size:.92rem;font-weight:700;color:var(--navy)}.form-status[data-error]{color:var(--red2)}
.empty-card{max-width:45rem;padding:2.5rem;border:1px solid var(--line);border-top:6px solid var(--red);background:var(--pale)}.empty-card h2{font-size:2.3rem}.updates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.update-card{padding:2rem;background:var(--pale);border-left:5px solid var(--red)}.update-card h2{font-size:2rem}.update-card>a{font-weight:800}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.press-grid>div{padding:1.6rem;border:1px solid var(--line)}.press-grid img{width:100%;height:230px;object-fit:contain;background:var(--pale);margin-bottom:1.4rem}.press-grid h2{font-size:1.8rem}.press-grid>div p{font-size:.98rem}.external-mark{font-size:.8em}
.donation-layout,.detail-layout,.endorsement-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:4rem;align-items:start}.donation-note,.detail-aside,.endorsement-empty{padding:2rem;border-top:6px solid var(--red);background:var(--pale)}.donation-note h2,.detail-aside h2,.endorsement-empty h2{font-size:2rem}.donation-note p,.detail-aside p,.endorsement-empty p{color:var(--muted)}.detail-meta{font-size:.85rem!important;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--red2)}.detail-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.9rem}.detail-aside dt{font-weight:850;color:var(--navy)}.detail-aside dd{margin:0;color:var(--muted)}.detail-aside .button{margin-top:1.2rem}.detail-aside hr{margin:1.5rem 0;border:0;border-top:1px solid var(--line)}.article-photo{margin:2rem 0}.article-photo img{width:100%}.endorsement-empty>span{display:block;color:var(--red);font:7rem/.8 Georgia,serif}.endorsement-empty h2{margin-top:0}
.site-footer{background:var(--deep);color:#e2eaf0}.footer-inner{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem;padding:3.5rem 0}.footer-brand img{width:210px;margin-bottom:1rem}.footer-brand p{font-size:.85rem;font-weight:800}.site-footer h2{margin:0 0 .85rem;color:#fff;font:900 .78rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.site-footer a{display:block;margin:.45rem 0;color:#e2eaf0;font-size:.9rem;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0 1.4rem;border-top:1px solid #385064;font-size:.78rem;color:#b3c4cf}
@media(max-width:1120px){.header-inner{flex-wrap:wrap;gap:.5rem 1.5rem;padding:1rem 0}.primary-nav{order:3;width:100%;justify-content:space-between;padding-top:.35rem}.brand img{width:195px}.hero-layout{min-height:510px}.hero-copy{padding-right:1.5rem}.footer-inner{grid-template-columns:1.3fr repeat(3,1fr)}}
@media(max-width:860px){.container,.header-inner{width:min(calc(100% - 2rem),var(--max))}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-copy{padding:3.2rem 0 2rem}.hero-image{height:min(62vw,430px);margin:0 -1rem}.hero-image:before{background:linear-gradient(180deg,var(--navy),transparent 30%)}.hero-image img{object-position:center 42%}.deadline-layout,.section-heading,.action-layout,.mini-cta{align-items:flex-start;flex-direction:column;gap:1rem}.split-story,.bio-layout,.involvement-layout,.join-layout,.detail-layout,.donation-layout,.endorsement-layout{grid-template-columns:1fr;gap:2rem}.split-story>div{max-width:none}.card-grid{grid-template-columns:repeat(2,1fr)}.vote-timeline{grid-template-columns:repeat(2,1fr)}.press-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.election-ribbon{gap:.25rem .8rem;font-size:.66rem}.election-ribbon span:first-child{display:none}.header-inner{min-height:0}.brand img{width:160px}.header-join{padding:.5rem .65rem;font-size:.75rem}.primary-nav{gap:.45rem .8rem;justify-content:flex-start}.primary-nav a{font-size:.78rem}.hero-copy h1{font-size:3.15rem}.hero-copy p:not(.kicker){font-size:1.05rem}.hero-image{height:260px}.hero-image img{object-position:70% center}.deadline-layout{padding-block:1.35rem}.section{padding-block:3rem}.page-intro{padding:3rem 0 2.5rem}.page-intro h1{font-size:2.65rem}.lead{font-size:1.08rem}.card-grid,.vote-timeline,.press-grid,.updates-grid,.form-grid{grid-template-columns:1fr}.topic-card{min-height:230px}.issue-block{grid-template-columns:1fr;gap:.3rem;padding:2rem 0}.issue-number{font-size:2rem}.issue-block h2{font-size:2.1rem}.form-panel{padding:1.25rem}.footer-inner{grid-template-columns:1fr;padding:2.8rem 0}.footer-brand{grid-column:auto}.site-footer a{font-size:.92rem}.action-layout h2,.mini-cta h2{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topic-card:hover{transform:none}}
