/*
Theme Name: Micah Caskey 2026 v5.9
Version: 5.9
*/
:root{--navy:#1C2E55;--blue:#243A8E;--palm-blue:#1C2E55;--red:#EE2738;--ink:#111827;--paper:#f5f6f8;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;background:#fff;position:relative;z-index:5;border-bottom:1px solid #ddd}.brand img{width:190px;display:block}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{text-decoration:none;text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:.04em}.menu-toggle{display:none}.hero{min-height:680px;display:flex;align-items:flex-end;padding:7vw 7vw 6vw;background-size:cover;background-position:center}.hero.family{background-image:linear-gradient(90deg,rgba(9,21,65,.78) 0%,rgba(9,21,65,.25) 52%,rgba(9,21,65,.02) 100%),url('assets/images/home-statehouse.jpg');background-position:center 42%}.hero-copy{max-width:650px;color:#fff}.hero h1,.page-hero h1{font-size:clamp(58px,8vw,112px);line-height:.85;margin:14px 0 25px;text-transform:uppercase;letter-spacing:-.055em}.hero h1 em{font-weight:400}.hero p{font-size:21px;line-height:1.5;max-width:600px}.eyebrow{font-weight:900;letter-spacing:.14em;font-size:13px;text-transform:uppercase}.redtext{color:var(--red)}.buttons{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:16px 22px;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.05em}.btn.red{background:var(--red);color:#fff}.btn.white{background:#fff;color:var(--navy)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:90px 7vw}.split img{width:100%;max-height:560px;object-fit:cover}.split h2,.section-head h2,.issues-preview h2,.vote-band h2{font-size:48px;line-height:1;margin:12px 0 22px;text-transform:uppercase}.split p,.issues-preview p,.content p{font-size:17px;line-height:1.7}.text-link{font-weight:900;color:var(--red);text-decoration:none}.dark-section{background:var(--navy);color:#fff;padding:90px 7vw}.section-head{max-width:700px}.cards{display:grid;gap:22px;margin:45px 0}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.cards article,.record-grid article,.resource-grid article{background:#fff;color:var(--ink);padding:30px;border-top:6px solid var(--red)}.cards article b{color:var(--red);font-size:14px}.cards h3{font-size:23px;text-transform:uppercase}.issues-preview{padding:90px 7vw}.issues-preview .cards article{background:var(--paper)}.vote-band{background:var(--red);color:#fff;padding:55px 7vw;display:flex;justify-content:space-between;gap:40px;align-items:center}.vote-band h2{margin-bottom:12px}.vote-band p{margin:6px 0}.page-hero{background:var(--navy);color:#fff;padding:90px 7vw 70px}.page-hero h1{font-size:clamp(48px,7vw,92px);max-width:1000px}.content{padding:75px 7vw;max-width:1280px;margin:auto}.prose{max-width:900px}.prose h2,.content h2{font-size:30px;text-transform:uppercase;margin-top:45px}.prose p{font-size:18px}.issue-list article{padding:35px 0;border-bottom:1px solid #ccd0da;display:grid;grid-template-columns:280px 1fr;gap:40px}.issue-list h2{margin:0}.record-grid,.resource-grid,.vote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.record-grid article{background:var(--paper)}.callout{margin-top:50px;padding:40px;background:var(--navy);color:#fff}.callout h2{margin-top:0}.resource-grid article{background:var(--paper)}.resource-grid a,.vote-grid a{color:var(--red);font-weight:900;text-decoration:none}.vote-grid{grid-template-columns:repeat(3,1fr)}.vote-grid article{padding:30px;background:var(--paper);border-top:6px solid var(--red)}.vote-grid article>span{font-size:46px;font-weight:900;color:#c9ccd4}.lede{font-size:22px!important;max-width:800px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.form-placeholder{background:var(--paper);padding:35px}.form-placeholder code{display:block;background:#fff;padding:15px;overflow:auto}footer{background:#0b1d49;color:#fff;padding:45px 7vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:14px;line-height:1.8}footer a{color:#fff}.menu-toggle{background:var(--navy);color:#fff;border:0;padding:10px 14px;font-weight:bold}@media(max-width:900px){.site-header{height:auto;flex-wrap:wrap}.menu-toggle{display:block}.site-header nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:20px 0}.menu-open .site-header nav{display:flex}.hero{min-height:600px;padding:50px 6vw}.hero.family{background-position:60% center}.hero-copy{background:rgba(9,21,65,.72);padding:25px}.split,.contact-grid{grid-template-columns:1fr}.cards.four,.cards.three,.vote-grid{grid-template-columns:1fr}.record-grid,.resource-grid{grid-template-columns:1fr}.issue-list article{grid-template-columns:1fr;gap:5px}.vote-band{display:block}.vote-band .btn{margin-top:20px}footer{grid-template-columns:1fr}.page-hero{padding:65px 6vw}.content,.split,.dark-section,.issues-preview{padding-left:6vw;padding-right:6vw}}

/* Refined homepage voting band */
.vote-band{background:var(--red);color:#fff;padding:48px 7vw;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(520px,1.6fr) auto;gap:45px;align-items:center}.vote-band-intro h2{font-size:42px;margin:8px 0 0}.vote-band-details{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45)}.vote-detail{padding:5px 34px;display:flex;flex-direction:column;gap:7px}.vote-detail+ .vote-detail{border-left:1px solid rgba(255,255,255,.45)}.vote-label{font-size:12px;line-height:1;font-weight:900;letter-spacing:.13em;text-transform:uppercase;opacity:.86}.vote-detail strong{font-size:25px;line-height:1.1}.vote-detail small{font-size:14px;line-height:1.55;font-weight:600}.vote-band>.btn{white-space:nowrap;text-align:center}@media(max-width:1100px){.vote-band{grid-template-columns:1fr;gap:26px}.vote-band-details{border-left:0;border-right:0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);padding:22px 0}.vote-detail:first-child{padding-left:0}.vote-detail:last-child{padding-right:0}.vote-band>.btn{justify-self:start}}@media(max-width:650px){.vote-band-details{grid-template-columns:1fr}.vote-detail{padding:18px 0}.vote-detail+.vote-detail{border-left:0;border-top:1px solid rgba(255,255,255,.35)}.vote-band-intro h2{font-size:36px}.vote-detail strong{font-size:23px}}

/* v0.5 expanded interior pages + footer */
.page-hero{position:relative;overflow:hidden;border-top:4px solid var(--red);padding-top:105px;padding-bottom:85px}.page-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:430px;height:430px;border:70px solid rgba(255,255,255,.035);transform:rotate(18deg)}.page-hero .hero-sub{font-size:20px;letter-spacing:.04em;margin:15px 0 0;color:rgba(255,255,255,.78)}.content{padding-top:90px;padding-bottom:100px}.page-intro{display:grid;grid-template-columns:180px 1fr;gap:45px;align-items:start;margin-bottom:55px}.section-number{font-size:110px;line-height:.8;font-weight:900;color:var(--red);letter-spacing:-.08em}.page-intro h2{margin-top:0;font-size:42px}.card-kicker{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.14em}.district-cards article{min-height:245px}.split-callout{display:flex;align-items:center;justify-content:space-between;gap:40px}.split-callout h2{font-size:38px;margin:8px 0 12px}.split-callout p{margin:0;max-width:700px}.contact-form-card{background:var(--paper);padding:45px;border-top:7px solid var(--red)}.contact-form-card h2{margin:8px 0 12px}.contact-form-card .gform_wrapper{margin-top:25px}.contact-form-card input,.contact-form-card textarea,.contact-form-card select{width:100%;padding:13px;border:1px solid #c9ced8;background:#fff}.contact-form-card input[type=submit]{width:auto;background:var(--red);color:#fff;border:0;font-weight:900;text-transform:uppercase;padding:16px 24px}.site-footer{background:#0b1d49;color:#fff;padding:58px 7vw 0;display:grid;grid-template-columns:1.45fr 1fr .75fr;column-gap:70px;row-gap:42px;border-top:5px solid var(--red)}.footer-brand img{width:230px;max-width:100%;display:block;margin-bottom:20px}.footer-brand p{font-size:16px;line-height:1.55;margin:0;color:rgba(255,255,255,.86)}.footer-brand p span{color:rgba(255,255,255,.62)}.footer-kicker{display:block;color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em;margin-bottom:17px;opacity:.62}.footer-contact,.footer-links{display:flex;flex-direction:column;align-items:flex-start}.footer-contact a,.footer-links a{color:#fff;text-decoration:none;font-weight:700;margin:0 0 10px}.footer-contact p{margin:3px 0 0;line-height:1.6;color:rgba(255,255,255,.7)}.footer-links a{font-size:14px}.footer-links a:hover,.footer-contact a:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding:22px 0 25px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;letter-spacing:.08em}.footer-bottom a{color:rgba(255,255,255,.72);font-weight:600;letter-spacing:0}.issue-list article{position:relative;padding:45px 25px 45px 0}.issue-list article:before{content:"";position:absolute;left:0;bottom:-1px;width:90px;height:3px;background:var(--red)}.record-grid article,.resource-grid article,.vote-grid article{box-shadow:0 8px 30px rgba(16,31,85,.07)}.record-grid article h2,.resource-grid article h2,.vote-grid article h2{font-size:25px;margin-top:10px}.votehero{background:linear-gradient(120deg,var(--navy),#183b8f)}
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.page-intro{grid-template-columns:1fr;gap:20px}.section-number{font-size:80px}.split-callout{display:block}.split-callout .btn{margin-top:25px}}@media(max-width:600px){.site-footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:10px}.contact-form-card{padding:28px}}

/* v0.6 — fully built interior pages */
.interior-hero{background:linear-gradient(115deg,#0b1d49 0%,#183b8f 100%);color:#fff;padding:78px 7vw 72px;border-top:4px solid var(--red);position:relative;overflow:hidden}.interior-hero:before{content:"★";position:absolute;right:5vw;top:-55px;font-size:260px;color:rgba(255,255,255,.035)}.interior-hero h1{font-size:clamp(48px,6.5vw,86px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;margin:10px 0 16px;max-width:980px}.interior-hero p{max-width:720px;font-size:19px;line-height:1.55;color:rgba(255,255,255,.78)}.section-shell{max-width:1280px;margin:auto;padding:86px 7vw}.section-shell.alt{max-width:none;background:#f3f5f9}.section-shell.alt>*{max-width:1100px;margin-left:auto;margin-right:auto}.section-title{font-size:clamp(34px,4vw,54px);text-transform:uppercase;letter-spacing:-.035em;line-height:1;margin:8px 0 18px}.section-deck{font-size:19px;line-height:1.7;max-width:800px;color:#4b5563}.bio-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.bio-lead img{width:100%;min-height:470px;object-fit:cover}.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff}.fact-strip div{padding:28px 25px;border-right:1px solid rgba(255,255,255,.15)}.fact-strip div:last-child{border-right:0}.fact-strip strong{display:block;font-size:23px;text-transform:uppercase;line-height:1.05}.fact-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.timeline{margin-top:45px;border-left:3px solid #d9dde7;padding-left:35px}.timeline article{position:relative;padding:0 0 38px}.timeline article:before{content:"";position:absolute;left:-44px;top:5px;width:15px;height:15px;background:var(--red);border:5px solid #fff;box-shadow:0 0 0 1px #d9dde7;border-radius:50%}.timeline h3{margin:0 0 7px;font-size:22px;text-transform:uppercase}.timeline p{margin:0;line-height:1.65}.issue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:42px}.issue-card{padding:38px;background:#f4f6f9;border-top:6px solid var(--red);position:relative}.issue-card .num{position:absolute;right:24px;top:18px;font-size:54px;font-weight:900;color:#e1e4eb}.issue-card h2{font-size:27px;margin:0 0 12px;text-transform:uppercase;position:relative}.issue-card p{line-height:1.7;margin:0;position:relative}.record-feature{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px}.record-feature article{padding:38px;background:#fff;border:1px solid #e1e4ea;border-left:7px solid var(--red);box-shadow:0 10px 28px rgba(9,19,49,.06)}.record-feature h2{margin:0 0 12px;font-size:27px}.record-feature p{line-height:1.65}.metric{font-size:42px;font-weight:900;color:var(--navy);display:block;line-height:1;margin-bottom:12px}.committee-stack{display:grid;gap:25px;margin-top:40px}.committee-card{display:grid;grid-template-columns:210px 1fr;background:#f4f6f9}.committee-label{background:var(--navy);color:#fff;padding:35px 28px;display:flex;flex-direction:column;justify-content:center}.committee-label b{font-size:31px;line-height:1}.committee-label span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin-bottom:8px}.committee-copy{padding:35px}.committee-copy h2{margin:0 0 12px;font-size:27px}.committee-copy p{line-height:1.65;margin-bottom:0}.district-banner{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--navy);color:#fff}.district-banner .copy{padding:60px 7vw}.district-banner img{width:100%;height:100%;min-height:420px;object-fit:cover}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.town-grid article{padding:35px;background:#f4f6f9;border-bottom:5px solid var(--red)}.town-grid h3{font-size:25px;margin:7px 0 10px;text-transform:uppercase}.resource-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px}.resource-card{padding:34px;background:#f4f6f9}.resource-card h2{margin:0 0 16px;font-size:25px}.resource-links{display:flex;flex-direction:column;gap:10px}.resource-links a{font-weight:800;color:var(--navy);text-decoration:none;border-bottom:1px solid #d5d9e2;padding-bottom:10px}.resource-links a:after{content:" →";color:var(--red)}.vote-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.vote-step{background:#f4f6f9;padding:34px;border-top:6px solid var(--red)}.vote-step .step{font-size:12px;font-weight:900;letter-spacing:.13em;color:var(--red)}.vote-step h2{font-size:25px;margin:10px 0}.vote-step .bigdate{font-size:27px;font-weight:900;color:var(--navy);line-height:1.1}.deadline-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8dce5;margin-top:45px}.deadline-row div{background:#fff;padding:24px}.deadline-row strong{display:block;font-size:20px;color:var(--navy);margin-top:5px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.contact-box{background:var(--navy);color:#fff;padding:42px}.contact-box h2{margin-top:0}.contact-box a{color:#fff}.privacy-copy{max-width:850px}.privacy-copy h2{font-size:26px;margin-top:38px}.privacy-copy p{line-height:1.75}.page-cta{background:var(--red);color:#fff;padding:45px 7vw;display:flex;align-items:center;justify-content:space-between;gap:35px}.page-cta h2{margin:0;font-size:32px;text-transform:uppercase}.page-cta p{margin:8px 0 0;opacity:.9}.page-cta .btn{background:#fff;color:var(--navy)}
@media(max-width:900px){.bio-lead,.district-banner,.contact-layout{grid-template-columns:1fr}.fact-strip{grid-template-columns:1fr 1fr}.issue-grid,.record-feature,.resource-sections{grid-template-columns:1fr}.committee-card{grid-template-columns:1fr}.town-grid,.vote-steps{grid-template-columns:1fr}.deadline-row{grid-template-columns:1fr 1fr}.page-cta{display:block}.page-cta .btn{margin-top:22px}}@media(max-width:560px){.fact-strip,.deadline-row{grid-template-columns:1fr}.section-shell{padding:62px 6vw}.interior-hero{padding:60px 6vw}.bio-lead img{min-height:330px}}
/* v0.7 Meet Micah full build */
.meet-hero{min-height:390px;display:flex;flex-direction:column;justify-content:center}.meet-opening p:not(.section-deck){font-size:17px;line-height:1.75;color:#303848}.service-band{background:#0b1d49;color:#fff;padding:82px 7vw;position:relative;overflow:hidden}.service-band:after{content:"★";position:absolute;right:-40px;bottom:-150px;font-size:430px;color:rgba(255,255,255,.025)}.service-band-inner{max-width:1100px;margin:auto;position:relative;z-index:1}.service-band h2{font-size:clamp(38px,5vw,66px);text-transform:uppercase;letter-spacing:-.04em;margin:8px 0 22px}.service-band p{max-width:900px;font-size:18px;line-height:1.75;color:rgba(255,255,255,.84)}.award-line{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.award-line span{border:1px solid rgba(255,255,255,.28);padding:10px 13px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.bio-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.bio-columns p{font-size:18px;line-height:1.75}.bio-pull{background:var(--red);color:#fff;padding:48px 38px}.bio-pull strong{display:block;font-size:72px;line-height:.9}.bio-pull span{display:block;font-size:17px;font-weight:800;text-transform:uppercase;margin-top:14px}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #d8dce5;border-bottom:1px solid #d8dce5}.career-grid article{padding:38px 34px;border-right:1px solid #d8dce5}.career-grid article:first-child{padding-left:0}.career-grid article:last-child{border-right:0}.career-grid h2{font-size:27px;text-transform:uppercase;margin:8px 0 15px}.career-grid p{line-height:1.7;color:#414958}.family-feature{display:grid;grid-template-columns:1.08fr .92fr;background:#f3f5f9}.family-feature img{width:100%;height:100%;min-height:520px;object-fit:cover}.family-feature>div{padding:70px 7vw;display:flex;flex-direction:column;justify-content:center}.family-feature h2{font-size:clamp(38px,4vw,56px);text-transform:uppercase;line-height:.95;letter-spacing:-.04em;margin:10px 0 22px}.family-feature p{font-size:18px;line-height:1.7}.family-feature .eyebrow{color:var(--red)}
@media(max-width:900px){.bio-columns,.career-grid,.family-feature{grid-template-columns:1fr}.career-grid article,.career-grid article:first-child{padding:30px 0;border-right:0;border-bottom:1px solid #d8dce5}.family-feature img{min-height:380px}.bio-pull{max-width:420px}}

/* v1.1 requested copy, voting and link refinements */
.record-feature{align-items:stretch}.record-feature article{height:100%;box-sizing:border-box}.record-feature p{margin-bottom:0}.vote-step{display:flex;flex-direction:column}.vote-step .text-link{margin-top:auto;padding-top:18px;display:inline-block}.election-date{margin:30px 0 22px;color:var(--navy);line-height:.95}.election-date span{display:block;font-size:20px;font-weight:900;letter-spacing:.12em;color:var(--red)}.election-date strong{display:block;font-size:clamp(34px,3.5vw,54px);line-height:.95;margin:7px 0}.election-date small{display:block;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-top:12px}.page-cta .btn,.btn{position:relative;z-index:2;cursor:pointer}.page-cta a.btn{display:inline-flex;align-items:center;justify-content:center}.resource-links a{display:block}.cards.four{align-items:stretch}.cards.four article{height:100%;box-sizing:border-box}

/* v1.3 Election Day card refinement */
.election-day-card .election-date{margin:22px 0 18px;padding:18px 0;border-top:1px solid #d5d9e2;border-bottom:1px solid #d5d9e2}.election-day-card .election-date span{display:block;font-size:clamp(27px,2.25vw,36px);font-weight:900;letter-spacing:-.025em;line-height:1.05;color:var(--navy);text-transform:none}.election-day-card .election-date small{display:block;margin-top:8px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.election-day-card p{margin-top:0;line-height:1.55}.election-day-card .text-link{margin-top:auto;padding-top:18px}


/* v1.4 voting page: horizontal early voting + election day */
.vote-plan-section .section-title{margin-bottom:24px}
.voter-check-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#0d1d4d;color:#fff;padding:28px 34px;margin-bottom:26px}
.voter-check-bar h3{font-size:clamp(1.5rem,2.3vw,2rem);margin:3px 0 5px}.voter-check-bar p{margin:0;color:#dbe2f3}.voter-check-bar .card-kicker{color:#ff3045}.voter-check-bar .btn{flex:0 0 auto}
.vote-wide-stack{display:grid;gap:22px}.vote-wide-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);background:#f2f4f8;border-top:8px solid #f5223b;min-height:245px}.vote-wide-main,.vote-wide-action{padding:38px 42px}.vote-wide-main{border-right:1px solid #d6dbe5}.vote-wide-main h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;color:#0d1d4d;margin:10px 0 22px}.vote-hours{font-size:1.35rem;font-weight:800;margin:0;color:#101827}.vote-hours span{color:#f5223b;padding:0 6px}.vote-note{margin:8px 0 0;font-size:1.05rem}.vote-wide-action{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.vote-wide-action p{font-size:1.2rem;line-height:1.5;margin:0 0 22px}.vote-wide-action .text-link{font-size:1.08rem;font-weight:800}
@media(max-width:800px){.voter-check-bar{align-items:flex-start;flex-direction:column}.vote-wide-card{grid-template-columns:1fr}.vote-wide-main{border-right:0;border-bottom:1px solid #d6dbe5}.vote-wide-main,.vote-wide-action{padding:28px 26px}.vote-wide-card{min-height:0}}

/* v1.5 voting page visual refinement */
.vote-plan-section{max-width:1180px!important;margin:0 auto!important;padding-left:40px!important;padding-right:40px!important}
.vote-plan-section>.eyebrow,.vote-plan-section>.section-title{text-align:center;display:block}
.vote-plan-section>.section-title{margin-left:auto;margin-right:auto;margin-bottom:36px}
.voter-check-bar{border-radius:0;box-shadow:0 14px 34px rgba(13,29,77,.10);padding:30px 38px;margin-bottom:30px}
.vote-wide-stack{gap:26px}
.vote-wide-card{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:220px;box-shadow:0 12px 34px rgba(13,29,77,.08);border-top-width:7px}
.vote-wide-main,.vote-wide-action{padding:34px 40px}
.vote-wide-main h2{font-size:clamp(2.1rem,3.2vw,3.05rem);margin:8px 0 18px;letter-spacing:-.035em}
.vote-wide-action{background:#fff}
.vote-wide-action p{font-size:1.08rem;max-width:330px;margin-bottom:18px}
.vote-wide-action .text-link{display:inline-flex;align-items:center;padding:12px 0;border-bottom:2px solid var(--red)}
.vote-plan-section .deadline-row{margin-top:30px}
@media(max-width:800px){.vote-plan-section{padding-left:24px!important;padding-right:24px!important}.vote-plan-section>.eyebrow,.vote-plan-section>.section-title{text-align:left}.vote-wide-card{grid-template-columns:1fr}.vote-wide-action{background:#fff}.vote-wide-main,.vote-wide-action{padding:28px}.voter-check-bar{padding:28px}}

/* v1.6 voting link + spacing fixes */
.vote-wide-main h2{margin-bottom:30px!important;}
.vote-external-link{position:relative;z-index:20;pointer-events:auto!important;cursor:pointer!important;}
.vote-wide-action{position:relative;z-index:5;}
@media(max-width:800px){.vote-wide-main h2{margin-bottom:24px!important;}}

/* v1.9: use native external anchors; no preview-frame click hijacking */
.scvotes-fallback{display:inline-block;margin-top:14px;font-size:.88em;}

/* v2.0: external resource links use explicit user-initiated new-tab navigation for hosting previews. */

/* v2.1 refinements */
.nowrap{white-space:nowrap;}
@media (max-width:700px){.nowrap{white-space:normal;}}

/* v3.0 brand + mobile hero refinements */
@media(max-width:900px){
  .hero.family{min-height:0;padding:0;background-image:url('assets/images/photo-2.jpg');background-position:center 28%;background-size:cover;display:block;padding-top:68%;}
  .hero.family .hero-copy{background:var(--navy);padding:28px 6vw 34px;max-width:none;width:100%;}
  .hero.family .hero-copy h1{font-size:clamp(48px,15vw,72px);}
}
.district-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.district-actions .btn.outline{border:2px solid var(--navy);color:var(--navy);background:#fff}.town-grid article a{display:inline-block;margin-top:12px;color:var(--red);font-weight:900;text-decoration:none}.leadership-card{background:var(--navy);color:#fff;padding:48px;border-top:7px solid var(--red);margin-bottom:28px}.leadership-card h2{font-size:42px;margin:8px 0 14px;text-transform:uppercase}.leadership-card p{font-size:18px;line-height:1.7;max-width:850px}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.role-grid article{background:var(--paper);padding:34px;border-top:5px solid var(--red)}@media(max-width:800px){.role-grid{grid-template-columns:1fr}}

/* v3.1 — leadership, Facebook and Donate */
.site-header nav{gap:18px}.social-icon{width:19px;height:19px;display:block}.site-header nav .nav-facebook{display:flex;align-items:center;justify-content:center;color:var(--navy);padding:8px}.site-header nav .nav-donate{background:var(--red);color:#fff;padding:13px 18px}.site-header nav .nav-donate:hover{filter:brightness(.94)}.footer-facebook,.contact-facebook{display:inline-flex!important;align-items:center;gap:9px}.footer-facebook .social-icon,.contact-facebook .social-icon{width:18px;height:18px}.footer-donate{margin-top:7px!important;background:var(--red);padding:8px 15px;text-transform:uppercase;letter-spacing:.05em}.contact-facebook{color:#fff;text-decoration:none;font-weight:800}.contact-donate{background:var(--red);color:#fff!important;margin-top:4px}.leadership-section{max-width:1050px}.leadership-feature{background:var(--paper);border-left:7px solid var(--red);padding:50px 55px;box-shadow:0 12px 35px rgba(16,31,85,.08)}.leadership-feature h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:10px 0 18px;text-transform:uppercase;color:var(--navy)}.leadership-feature p{font-size:19px;line-height:1.7;max-width:800px}.leadership-feature .text-link{display:inline-block;margin-top:12px}@media(max-width:1180px){.site-header nav{gap:12px}.site-header nav a{font-size:12px}.site-header nav .nav-donate{padding:11px 13px}}@media(max-width:900px){.site-header nav .nav-facebook{padding:8px 0}.site-header nav .nav-donate{padding:13px 18px}.leadership-feature{padding:36px 30px}}

/* v3.2 — palm-card palette, Meet Micah identity, State House hierarchy */
:root{--navy:#11285f;--blue:#0d2fa8;--red:#EE2738}
.interior-hero{background:linear-gradient(115deg,#0b1d49 0%,#183b8f 100%)}
.dark-section,.fact-strip,.contact-box{background:var(--navy)}
.btn.white{color:var(--blue)}
.metric,.resource-links a{color:var(--navy)}
.statehouse-feature{background:#fff;border-left:7px solid var(--red);border-top:7px solid var(--blue);padding:48px 52px;box-shadow:0 12px 35px rgba(17,40,95,.10)}
.statehouse-feature h2{font-size:clamp(36px,4.5vw,58px);line-height:1;margin:10px 0 18px;text-transform:uppercase;color:var(--navy)}
.statehouse-feature p{font-size:19px;line-height:1.7;color:#374151;max-width:850px}.statehouse-role{display:inline-block;margin-top:18px;padding:10px 14px;background:#eef2fb;color:var(--navy);font-weight:900;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.cards.four article{cursor:default}.cards.four article a{pointer-events:auto}
@media(max-width:900px){.hero.family{background-image:url('assets/images/photo-2.jpg');background-position:center 28%;min-height:0;padding:0;padding-top:72vw;background-size:cover;background-repeat:no-repeat;background-color:var(--navy)}.hero.family .hero-copy{background:var(--navy);padding:30px 6vw 38px;max-width:none;width:100%}.statehouse-feature{padding:34px 28px}}


/* v3.4 — expanded campaign photography */
.hero.family{background-image:linear-gradient(90deg,rgba(9,21,65,.78) 0%,rgba(9,21,65,.25) 52%,rgba(9,21,65,.02) 100%),url('assets/images/home-statehouse.jpg');background-position:center 42%}
.photo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px;background:#fff}.photo-strip img{display:block;width:100%;height:270px;object-fit:cover}.photo-strip img:nth-child(1){object-position:65% center}.photo-strip img:nth-child(2){object-position:center 38%}.photo-strip img:nth-child(3){object-position:center 35%}.photo-strip img:nth-child(4){object-position:center center}.photo-strip img:nth-child(5){object-position:center 35%}
.service-band-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.service-band-inner{max-width:none}.service-photo{width:100%;height:500px;object-fit:cover;object-position:center center;border:8px solid rgba(255,255,255,.10)}
@media(max-width:900px){.hero.family{background-image:url('assets/images/home-statehouse.jpg');background-position:center 35%;padding-top:78vw}.photo-strip{grid-template-columns:repeat(2,1fr);gap:5px;padding:5px}.photo-strip img{height:210px}.photo-strip img:last-child{grid-column:1 / -1;height:250px}.service-band-layout{grid-template-columns:1fr;gap:32px}.service-photo{height:auto;max-height:520px;object-fit:cover}.family-feature img{object-position:center 25%}}

/* v3.4 photo placement refinements */
.statehouse-strip img:first-child{object-position:center 30%;transform:scale(1.12)}
.statehouse-strip{overflow:hidden}
.statehouse-strip img{overflow:hidden}
.family-photo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px;background:#fff}
.family-photo-strip img{display:block;width:100%;height:300px;object-fit:cover}
.family-photo-strip img:nth-child(1){object-position:center 35%}
.family-photo-strip img:nth-child(2){object-position:center 32%}
.family-photo-strip img:nth-child(3){object-position:center 30%}
.family-photo-strip img:nth-child(4){object-position:center 25%}
.family-photo-strip img:nth-child(5){object-position:center 30%}
@media(max-width:900px){.family-photo-strip{grid-template-columns:repeat(2,1fr);gap:5px;padding:5px}.family-photo-strip img{height:230px}.family-photo-strip img:last-child{grid-column:1 / -1;height:280px}.district-banner img{object-position:center 62%}}

/* v3.5 refinements */
.leadership-section{max-width:1100px}
.statehouse-feature{border-top:0;background:#fff;padding:46px 52px}
.leadership-note{display:flex;align-items:baseline;gap:14px;margin:24px 0 8px;padding-top:20px;border-top:1px solid #dfe3eb}
.leadership-note strong{font-size:20px;text-transform:uppercase;color:var(--navy);letter-spacing:.02em}
.leadership-note span{font-size:14px;color:#687184}
.statehouse-link{display:inline-block;margin-top:12px}
.district-banner{background:#f5f6f8;color:var(--navy);border-top:1px solid #e3e6ec;border-bottom:1px solid #e3e6ec}
.district-banner .copy{padding:60px 7vw}
.district-banner .copy p{color:#3d4657;line-height:1.6}
.district-banner .eyebrow{color:var(--red)}
@media(max-width:900px){.leadership-note{display:block}.leadership-note span{display:block;margin-top:5px}.district-banner{background:#fff}}

/* v3.6 — spacing + link reliability */
/* Decorative layers must never block clicks. */
.interior-hero:before,.page-hero:after{pointer-events:none!important}
a,button{position:relative;z-index:3}
.site-header nav,.page-cta,.district-actions,.town-grid,.resource-links,.statehouse-feature{position:relative;z-index:4}

/* State House: gallery sits directly under hero; content follows without the oversized void. */
.statehouse-strip{margin:0;border-bottom:8px solid var(--red);padding:8px 0 0;gap:8px}
.statehouse-strip img{height:310px}
.leadership-section{padding-top:52px;padding-bottom:58px}
.statehouse-feature{box-shadow:none}

/* District: keep the WECO image compact and remove the large empty lower half. */
.district-banner{height:500px;min-height:0;align-items:stretch;overflow:hidden}
.district-banner .copy{display:flex;flex-direction:column;justify-content:center;padding-top:42px;padding-bottom:42px}
.district-banner img{height:500px;min-height:0;object-fit:cover;object-position:center 66%}
.district-banner .copy p{margin-bottom:0}
.district-actions{margin-top:22px}
.district-actions + .town-grid{margin-top:28px}

@media(max-width:900px){
  .statehouse-strip img{height:220px}
  .leadership-section{padding-top:38px;padding-bottom:46px}
  .district-banner{height:auto}
  .district-banner img{height:430px;min-height:0;object-position:center 62%}
}


/* v3.7 — link, gallery and repetition fixes */
/* Meet Micah hero stands alone; duplicate identity strip removed in markup. */
.statehouse-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;background:#fff;overflow:hidden}
.statehouse-strip .statehouse-photo{height:310px;overflow:hidden;background:#fff}
.statehouse-strip .statehouse-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:none}
.statehouse-strip .statehouse-photo:first-child img{object-position:center 28%;transform:scale(1.10)}
.leadership-note{display:block;margin-top:24px;padding-top:20px}
.leadership-note strong{display:inline-block}
/* Ensure all visible link/button surfaces stay clickable above decorative layers. */
a[href],.btn,.text-link,.town-grid a,.resource-links a{pointer-events:auto!important;position:relative;z-index:20!important}
@media(max-width:900px){
 .statehouse-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}
 .statehouse-strip .statehouse-photo{height:220px}
 .statehouse-strip .statehouse-photo:last-child{grid-column:1/-1;height:250px}
}

/* v4.0 Meet Micah hero */
.meet-hero h1{max-width:1200px;font-size:clamp(48px,6vw,84px);line-height:.98}.meet-hero p{margin-top:26px}


/* v4.6 — logo-blue emphasis + Gravity Forms styling */
/* Use the blue sampled from the campaign logo as the primary accent. */
.eyebrow:not(.redtext), .card-kicker{color:var(--blue)}
.hero .eyebrow,.dark-section .eyebrow,.vote-band .eyebrow,.page-hero .eyebrow,.interior-hero .eyebrow,.contact-box .eyebrow{color:#fff}
.btn:not(.red):not(.white):not(.nav-donate), .gform_wrapper .gform_button, .gform_wrapper input[type="submit"]{background:var(--blue)!important;color:#fff!important}
.text-link{color:var(--blue)}
.issues-preview{border-top:8px solid var(--blue)}
.issues-preview .cards article{border-top-color:var(--blue)}
.resource-links a{color:var(--blue)}
.metric{color:var(--blue)}

.home-contact{background:#f4f6fb;padding:88px 7vw;border-top:10px solid var(--blue)}
.home-contact-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}
.home-contact-copy{padding-top:18px}
.home-contact-copy h2{font-size:clamp(42px,5vw,66px);line-height:.94;letter-spacing:-.04em;text-transform:uppercase;margin:10px 0 20px;color:var(--navy)}
.home-contact-copy p{font-size:18px;line-height:1.7;color:#4b5563;max-width:460px}
.home-contact-form{background:#fff;padding:42px 44px;border-top:7px solid var(--blue);box-shadow:0 14px 40px rgba(23,44,92,.09)}
.home-contact-form .gform_wrapper{margin:0}

/* Gravity Forms: deliberately override plugin defaults so Form #1 matches the theme. */
.gform_wrapper.gravity-theme .gform_fields,
.gform_wrapper .gform_fields{column-gap:18px!important;row-gap:20px!important}
.gform_wrapper .gfield_label{font-size:12px!important;line-height:1.2!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--navy)!important;margin-bottom:8px!important}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea{width:100%!important;border:1px solid #cbd2df!important;border-radius:0!important;background:#fff!important;color:#111827!important;padding:14px 15px!important;box-shadow:none!important;font:inherit!important}
.gform_wrapper textarea{min-height:145px!important;resize:vertical}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{border-color:var(--blue)!important;outline:2px solid rgba(42,57,142,.13)!important;outline-offset:0!important}
.gform_wrapper .gfield_required{color:var(--red)!important}
.gform_wrapper .gform_footer{margin-top:22px!important;padding:0!important}
.gform_wrapper .gform_button,.gform_wrapper input[type="submit"]{border:0!important;border-radius:0!important;padding:16px 28px!important;font-size:13px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;cursor:pointer!important;width:auto!important}
.gform_wrapper .gform_button:hover,.gform_wrapper input[type="submit"]:hover{background:var(--navy)!important}
.gform_wrapper input[type="checkbox"],.gform_wrapper input[type="radio"]{width:18px!important;height:18px!important;min-width:18px!important;padding:0!important;margin:2px 9px 0 0!important;accent-color:var(--blue)}
.gform_wrapper .gchoice{display:flex!important;align-items:flex-start!important}
.gform_wrapper .gchoice label{font-size:12px!important;line-height:1.55!important;color:#5a6270!important;max-width:none!important}
.gform_wrapper .gchoice label a{color:var(--blue)!important;font-weight:800!important}
.gform_wrapper .gfield_description{font-size:12px!important;line-height:1.5!important;color:#6b7280!important}
.gform_wrapper .validation_message,.gform_wrapper .gfield_validation_message{color:#a41425!important;background:#fff2f3!important;border:0!important;border-left:4px solid var(--red)!important;padding:10px 12px!important}
.gform_confirmation_message{background:#eef1fb!important;border-left:6px solid var(--blue)!important;color:var(--navy)!important;padding:20px 22px!important;font-weight:800!important}

@media(max-width:900px){.home-contact-inner{grid-template-columns:1fr;gap:28px}.home-contact{padding:64px 6vw}.home-contact-form{padding:30px 24px}}


/* v4.7 exact campaign palette — sampled from supplied logo/palm card */
/* Logo blue #243A8E | Palm-card blue #1C2E55 | Supporting navy #1C2E55 | Red #EE2738 */
.site-header nav a:hover,.site-header nav a:focus,.text-link,.resource-links a:hover,.footer-links a:hover,.footer-contact a:hover{color:var(--blue)}
.page-hero,.interior-hero,.dark-section,.callout,.contact-box,.committee-label{background:var(--blue)}
.service-band{background:var(--navy)}
.eyebrow:not(.redtext),.card-kicker,.vote-label{color:var(--palm-blue)}
.btn:not(.red):not(.white),.gform_wrapper input[type=submit],.gform_wrapper button[type=submit],.gform_wrapper .gform_button{background:var(--blue);color:#fff}
.btn:not(.red):not(.white):hover,.gform_wrapper input[type=submit]:hover,.gform_wrapper button[type=submit]:hover,.gform_wrapper .gform_button:hover{background:var(--palm-blue)}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{border-color:var(--blue)!important;box-shadow:0 0 0 2px rgba(42,57,142,.12)!important}
.section-title:after,.page-intro h2:after{content:"";display:block;width:72px;height:4px;background:var(--palm-blue);margin-top:15px}
.site-footer{background:var(--navy)}
.footer-bottom{border-top-color:rgba(66,137,193,.45)}

/* v4.8 — exact campaign palette sampled from supplied logo + palm card */
:root{--navy:#1C2E55;--blue:#243A8E;--palm-blue:#1C2E55;--red:#EE2738}
.interior-hero{background:linear-gradient(115deg,#1C2E55 0%,#243A8E 100%)}
.votehero{background:linear-gradient(120deg,#1C2E55,#243A8E)}
.service-band,.site-footer,footer{background:#1C2E55}
.voter-check-bar{background:#1C2E55}


/* v5.0 — campaign palette corrected to use the muted lighter flag blue from the supplied palm-card reference.
   Palm-card blue #2A398E | Logo blue #243A8E | Flag light blue #374A71 | Logo red #EE2738 */
:root{--navy:#2A398E;--palm-blue:#2A398E;--blue:#243A8E;--flag-blue:#374A71;--red:#EE2738}
.page-hero,.interior-hero,.service-band,.site-footer,footer,.dark-section,.contact-box,.committee-label,.fact-strip,.voter-check-bar{background:#2A398E!important}
.interior-hero,.votehero{background:linear-gradient(115deg,#2A398E 0%,#243A8E 100%)!important}
.hero-copy{background-color:rgba(42,57,142,.76)}
.callout{background:#243A8E}
.home-contact{border-top-color:#374A71}
.statehouse-role{background:#eef3fa;color:#243A8E;border-left:5px solid #374A71}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{border-color:#374A71!important;box-shadow:0 0 0 2px rgba(55,74,113,.14)!important}
.gform_confirmation_message{border-left-color:#374A71!important;color:#243A8E!important}

/* v5.1 footer + homepage contact anchor fix */
.site-footer, footer.site-footer{background:#374A71!important;padding:30px 7vw 0!important;column-gap:55px!important;row-gap:24px!important}
.footer-brand img{width:175px!important;margin-bottom:12px!important}
.footer-brand p{font-size:14px!important;line-height:1.4!important}
.footer-kicker{margin-bottom:10px!important}
.footer-contact a,.footer-links a{margin-bottom:6px!important}
.footer-contact p{line-height:1.4!important}
.footer-bottom{padding:14px 0 16px!important}
#contact-form{scroll-margin-top:110px}

/* v5.2 footer hover contrast fix */
.site-footer a:hover,.site-footer a:focus,
.site-footer .footer-links a:hover,.site-footer .footer-links a:focus,
.site-footer .footer-contact a:hover,.site-footer .footer-contact a:focus,
.site-footer .footer-bottom a:hover,.site-footer .footer-bottom a:focus{
  color:#fff!important;
  text-decoration:underline;
  text-decoration-color:#fff;
}
.site-footer .footer-donate:hover,.site-footer .footer-donate:focus{
  color:#fff!important;
  background:#EE2738!important;
  filter:brightness(.94);
  text-decoration:none;
}

/* v5.3 — restore the earlier contained homepage hero composition and use flag blue as a supplemental campaign color. */
.hero.family{
  min-height:680px;
  display:flex;
  align-items:flex-end;
  padding:7vw 7vw 6vw;
  background-image:linear-gradient(90deg,rgba(42,57,142,.28) 0%,rgba(42,57,142,.08) 50%,rgba(42,57,142,0) 100%),url('assets/images/home-statehouse.jpg')!important;
  background-position:center 42%!important;
  background-size:cover!important;
}
.hero.family .hero-copy{
  width:auto;
  max-width:650px;
  padding:0;
  background:transparent!important;
  color:#fff;
}
.hero.family .hero-copy h1{font-size:clamp(58px,8vw,112px)}
.hero.family .eyebrow{color:#fff!important}

/* Bring the approved muted flag blue into the site as a restrained supporting color. */
.home-contact{background:#f3f5f9!important;border-top-color:var(--flag-blue)!important}
.home-contact-form{border-top-color:var(--flag-blue)!important}
.statehouse-role{border-left-color:var(--flag-blue)!important}
.footer-bottom{border-top-color:rgba(255,255,255,.22)!important}

@media(max-width:900px){
  .hero.family{
    min-height:0;
    display:block;
    padding:0;
    padding-top:72vw;
    background-image:url('assets/images/home-statehouse.jpg')!important;
    background-position:center 35%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-color:var(--palm-blue)!important;
  }
  .hero.family .hero-copy{
    width:100%;
    max-width:none;
    padding:28px 6vw 34px;
    background:var(--palm-blue)!important;
  }
  .hero.family .hero-copy h1{font-size:clamp(46px,14vw,70px);line-height:.9}
  .hero.family .hero-copy p{font-size:18px;line-height:1.45}
  .hero.family .buttons{flex-wrap:wrap}
  .hero.family .btn{width:auto;max-width:100%}
}
@media(max-width:560px){
  .hero.family{padding-top:82vw}
  .hero.family .buttons{display:grid;grid-template-columns:1fr;gap:10px}
  .hero.family .btn{text-align:center;width:100%}
}

/* v5.4 — purpose-built mobile homepage hero + clearer flag-blue supporting accents */
@media(max-width:600px){
  .hero.family{
    padding:0!important;
    padding-top:64vw!important;
    background-image:url('assets/images/home-statehouse.jpg')!important;
    background-position:center 30%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-color:var(--palm-blue)!important;
  }
  .hero.family .hero-copy{
    background:var(--palm-blue)!important;
    padding:24px 6vw 28px!important;
  }
  .hero.family .eyebrow{
    display:block;
    font-size:11px!important;
    line-height:1.2;
    letter-spacing:.13em;
    margin:0 0 12px!important;
  }
  .hero.family .hero-copy h1{
    font-size:clamp(42px,12.5vw,58px)!important;
    line-height:.88!important;
    letter-spacing:-.05em!important;
    margin:0 0 20px!important;
    max-width:100%;
  }
  .hero.family .hero-copy p{
    font-size:16px!important;
    line-height:1.42!important;
    margin:0!important;
    max-width:34em;
  }
  .hero.family .buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:22px!important;
  }
  .hero.family .btn{
    width:100%!important;
    padding:14px 16px!important;
    text-align:center!important;
    font-size:12px!important;
  }
}

/* Repeat the approved muted flag blue beyond the footer as a supporting accent. */
.statehouse-role,
.home-contact-form,
.contact-form-card{border-color:var(--flag-blue)!important}
.resource-card:nth-child(even),
.town-grid article:nth-child(2){background:#eef1f6}
.resource-card:nth-child(even) .card-kicker,
.town-grid article:nth-child(2) .card-kicker{color:var(--flag-blue)!important}
.callout.secondary,.section-shell.flag-accent{background:var(--flag-blue);color:#fff}



/* v5.5 — make the approved muted flag blue (#374A71) a clearly visible supplemental color across the site. */
/* Homepage: full supplemental-color section rather than tiny borders only. */
.issues-preview{
  background:var(--flag-blue)!important;
  color:#fff!important;
  border-top:0!important;
}
.issues-preview .eyebrow,
.issues-preview h2{color:#fff!important}
.issues-preview .cards article{
  background:#fff!important;
  color:var(--ink)!important;
  border-top-color:var(--red)!important;
}
.issues-preview .text-link{color:#fff!important;border-bottom:2px solid rgba(255,255,255,.65);padding-bottom:3px}

/* A lighter echo of the same blue around the homepage intro/contact areas. */
.intro.split{background:linear-gradient(90deg,#fff 0%,#fff 55%,rgba(55,74,113,.08) 55%,rgba(55,74,113,.08) 100%)}
.home-contact{background:rgba(55,74,113,.08)!important;border-top:8px solid var(--flag-blue)!important}

/* Interior pages: repeat the same supplemental blue in selected established components. */
.service-band{background:var(--flag-blue)!important}
.committee-label{background:var(--flag-blue)!important}
.contact-box{background:var(--flag-blue)!important}
.statehouse-role{border-left-color:var(--flag-blue)!important}

@media(max-width:900px){
  .intro.split{background:#fff}
  .intro.split>div:first-child{border-left:6px solid var(--flag-blue);padding-left:22px}
}

/* v5.6 — mobile hero photo: reveal more of Micah before the copy begins. */
@media(max-width:600px){
  .hero.family{
    padding-top:82vw!important;
    background-position:center 24%!important;
  }
}

/* v5.7 — keep muted flag blue separated from primary campaign blue; refine mobile hero crop. */
/* Do not place the two blues directly against each other. Priorities gets a white break above it. */
.issues-preview{
  border-top:18px solid #fff!important;
}
/* Muted blue works as a supplemental field beside white/red, not immediately after a primary-blue band. */
.service-band,.committee-label,.contact-box{border-top:8px solid #fff}

@media(max-width:600px){
  .hero.family{
    padding-top:86vw!important;
    background-position:42% 30%!important;
  }
}


/* v5.8 — mobile hero mirrors desktop composition: copy sits over the photograph, not in a separate blue block. */
.hero-identity{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0;font-size:21px;line-height:1.5;max-width:650px}
.hero-identity li{display:inline}
.hero-identity li:not(:last-child)::after{content:". ";}
.hero-identity li:last-child::after{content:"."}

@media(max-width:600px){
  .hero.family{
    min-height:760px!important;
    padding:0 6vw 30px!important;
    display:flex!important;
    align-items:flex-end!important;
    background-image:linear-gradient(180deg,rgba(28,46,85,0) 0%,rgba(28,46,85,.05) 35%,rgba(28,46,85,.72) 70%,rgba(28,46,85,.94) 100%),url('assets/images/home-statehouse.jpg')!important;
    background-size:cover!important;
    background-position:38% center!important;
    background-repeat:no-repeat!important;
    background-color:var(--palm-blue)!important;
  }
  .hero.family .hero-copy{
    background:transparent!important;
    padding:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .hero.family .eyebrow{
    font-size:11px!important;
    margin:0 0 10px!important;
  }
  .hero.family .hero-copy h1{
    font-size:clamp(42px,12vw,56px)!important;
    line-height:.88!important;
    margin:0 0 22px!important;
    max-width:560px!important;
  }
  .hero-identity{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    font-size:16px!important;
    line-height:1.3!important;
    list-style:none!important;
  }
  .hero-identity li{
    display:block!important;
    position:relative!important;
    padding-left:17px!important;
  }
  .hero-identity li::before{
    content:"•"!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    color:var(--red)!important;
    font-weight:900!important;
  }
  .hero-identity li::after{content:""!important}
  .hero.family .buttons{
    margin-top:22px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
}

@media(max-width:420px){
  .hero.family{min-height:720px!important;background-position:36% center!important}
}


/* v5.9 — reliable mobile navigation */
@media(max-width:900px){
  .site-header{position:relative!important;z-index:9999!important;align-items:flex-start!important}
  .menu-toggle{display:block!important;position:relative!important;z-index:10001!important;cursor:pointer!important;min-width:76px!important}
  .site-header nav#primary-navigation{display:none!important;flex-basis:100%!important;width:100%!important;background:#fff!important;padding:18px 0 8px!important;gap:0!important;position:relative!important;z-index:10000!important}
  body.menu-open .site-header nav#primary-navigation{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .site-header nav#primary-navigation a{display:block!important;width:100%!important;padding:13px 4px!important;border-bottom:1px solid #e6e8ed!important;color:var(--navy)!important}
  .site-header nav#primary-navigation .nav-facebook{justify-content:flex-start!important}
  .site-header nav#primary-navigation .nav-donate{width:auto!important;align-self:flex-start!important;margin-top:10px!important;padding:13px 18px!important;color:#fff!important;border-bottom:0!important}
}
