/*
Theme Name: Brandon Cox for State House
Theme URI: https://votebrandoncox.com/
Author: Campaign Theme
Description: Custom campaign theme for Brandon Cox, SC House District 92.
Version: 4.4.0
Text Domain: brandon-cox
*/
:root{--navy:#1c355e;--red:#ab0033;--ink:#172033;--paper:#fff;--mist:#f3f4f6;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:4px solid var(--navy)}.nav{min-height:92px;display:flex;align-items:center;gap:34px}.brand img{display:block;width:225px;max-height:74px;object-fit:contain}.menu{margin-left:auto;display:flex;align-items:center;gap:24px;font-weight:800;text-transform:uppercase;font-size:14px}.menu a{text-decoration:none}.btn,.menu .contact-link,.menu .donate-link{display:inline-block;background:var(--red);color:#fff!important;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.04em;padding:14px 20px;border:0;cursor:pointer}.btn.outline{background:transparent;border:2px solid currentColor}.hero{min-height:690px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(18,42,76,.98) 0%,rgba(18,42,76,.82) 34%,rgba(18,42,76,.15) 70%),url('assets/images/house-floor.jpg') center/cover no-repeat}.hero-copy{max-width:600px;padding:90px 0}.eyebrow{text-transform:uppercase;color:var(--red);font-weight:900;letter-spacing:.12em;font-size:14px}.hero .eyebrow{color:#fff}.display,h1,h2,h3,.stat strong{font-family:'Arial Narrow',Impact,Haettenschweiler,sans-serif;text-transform:uppercase;line-height:.92;letter-spacing:-.025em}.hero h1{font-size:clamp(66px,9vw,132px);margin:12px 0 18px}.hero .sub{font-size:22px;font-weight:800;margin-bottom:30px}.section{padding:88px 0}.section h2{font-size:clamp(46px,6vw,82px);color:var(--navy);margin:8px 0 24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:5px solid var(--navy);border-bottom:5px solid var(--navy);margin-top:42px}.stat{padding:32px 28px;border-right:2px solid var(--navy)}.stat:last-child{border-right:0}.stat strong{display:block;color:var(--red);font-size:clamp(48px,6vw,82px)}.stat span{font-weight:900;color:var(--navy);text-transform:uppercase}.navy{background:var(--navy);color:#fff}.navy h2{color:#fff}.split{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}.photo-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.issue-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:start}.issue-photo{position:sticky;top:125px}.issue-photo img{width:100%;height:680px;object-fit:cover}.issue-list{border-top:4px solid var(--navy)}.issue{padding:27px 0;border-bottom:2px solid #d6dae1}.issue h3{font-size:31px;color:var(--navy);margin:0 0 8px}.issue .num{color:var(--red);margin-right:12px}.issue p{margin:0;font-size:17px}.page-hero{background:var(--navy);color:#fff;padding:76px 0}.page-hero h1{font-size:clamp(58px,8vw,104px);margin:0}.content{max-width:850px}.content h2{font-size:42px;color:var(--navy);margin-top:50px}.content h3{font-size:27px;color:var(--navy)}.content p,.content li{font-size:18px}.issue-block{padding:42px 0;border-bottom:2px solid #d8dce3}.issue-block h2{margin:0 0 15px}.issue-block ul{padding-left:22px}.office-card{background:var(--mist);border-left:7px solid var(--red);padding:28px;margin-top:36px}.contact-section{background:var(--red);color:#fff}.contact-section h2{color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea{width:100%;padding:15px;border:0;font:inherit}.contact-form textarea{grid-column:1/-1;min-height:150px}.contact-form button{grid-column:1/-1;background:var(--navy)}.site-footer{background:#0f2547;color:#fff;padding:44px 0 26px}.footer-grid{display:flex;gap:40px;justify-content:space-between;align-items:flex-start}.footer-logo{width:210px;background:#fff;padding:10px}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{color:#fff}.disclaimer{font-size:12px;opacity:.85;margin-top:32px;border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.mobile-toggle{display:none;margin-left:auto;background:none;border:0;font-size:28px;color:var(--navy)}@media(max-width:850px){.nav{min-height:78px}.brand img{width:175px}.mobile-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:25px;flex-direction:column;align-items:stretch;border-bottom:4px solid var(--navy)}.menu.open{display:flex}.hero{min-height:610px;background-position:60% center}.hero-copy{padding:70px 0}.stats,.split,.issue-layout,.contact-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:2px solid var(--navy)}.stat:last-child{border-bottom:0}.issue-photo{position:static}.issue-photo img{height:420px}.section{padding:62px 0}.contact-form{grid-template-columns:1fr}.footer-grid{display:grid}.page-hero{padding:55px 0}}

/* v1.1 refinements */
body{font-family:'Barlow',Arial,sans-serif;font-size:18px}
.display,h1,h2,h3,.stat strong{font-family:'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.015em}
.menu{font-family:'Barlow Condensed',sans-serif;font-size:17px;letter-spacing:.025em}
.btn,.menu .contact-link,.menu .donate-link{font-family:'Barlow Condensed',sans-serif;font-size:18px;letter-spacing:.055em}
.eyebrow{font-family:'Barlow',sans-serif;font-size:15px;letter-spacing:.16em}.eyebrow.light{color:#fff}
.results-texture{position:relative;overflow:hidden;background-color:#fff;background-image:linear-gradient(135deg,rgba(28,53,94,.035) 25%,transparent 25%),linear-gradient(315deg,rgba(171,0,51,.025) 25%,transparent 25%);background-size:56px 56px}
.textured-navy{position:relative;background-color:var(--navy);background-image:linear-gradient(115deg,rgba(255,255,255,.025) 0 12%,transparent 12% 24%,rgba(255,255,255,.018) 24% 36%,transparent 36% 100%)}
.textured-red{background-color:var(--red);background-image:linear-gradient(125deg,rgba(255,255,255,.035) 0 10%,transparent 10% 22%,rgba(28,53,94,.07) 22% 34%,transparent 34% 100%)}
.issue-list.clean{border-top:5px solid var(--navy)}
.issue-list.clean .issue{position:relative;padding:25px 0 25px 24px}
.issue-list.clean .issue:before{content:'★';position:absolute;left:0;top:28px;color:var(--red);font-size:14px}
.issue-list.clean .issue h3{font-size:36px}.issue-cta{margin-top:30px}
.contact-form{grid-template-columns:1fr 1fr}.contact-form textarea{grid-column:1/-1}.contact-form input,.contact-form textarea{border-radius:0;padding:19px 20px;font-size:18px;background:#fff;color:var(--ink)}.contact-form button{grid-column:1/-1;padding:17px}.form-success{background:#fff;color:var(--navy);font-weight:700;padding:14px 18px;margin-bottom:16px}
.page-intro{max-width:820px;font-size:21px;margin:24px 0 0}.key-hero{background:linear-gradient(90deg,rgba(15,37,71,.97),rgba(28,53,94,.86)),url('assets/images/chamber.jpg') center 45%/cover no-repeat}
.issues-page{background:#fff}.issue-feature{padding:72px 0;border-bottom:1px solid #dce1e7}.issue-feature.soft{background:#f5f3ef}.issue-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.issue-feature h2{font-size:clamp(44px,5vw,68px);color:var(--navy);margin:8px 0 0}.issue-feature p,.issue-feature li{font-size:18px}.issue-feature ul{padding-left:20px}.issue-feature li{margin:8px 0}.issue-feature .proof{margin-top:24px;padding-top:20px;border-top:3px solid var(--red);color:var(--navy)}.issue-feature .proof strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:27px}.navy-band{background:var(--navy);color:#fff;background-image:linear-gradient(120deg,rgba(255,255,255,.025) 0 15%,transparent 15% 30%,rgba(255,255,255,.02) 30% 45%,transparent 45%)}.navy-band h2,.navy-band .proof{color:#fff}.navy-band .proof{border-top-color:#fff}
.site-footer{padding:34px 0 22px}.footer-logo{width:185px}.footer-grid{align-items:center}.footer-links{font-size:16px}.disclaimer{margin-top:24px}
@media(max-width:850px){.issue-feature-grid{grid-template-columns:1fr;gap:24px}.contact-form{grid-template-columns:1fr}.issue-list.clean .issue h3{font-size:31px}}

/* v1.2 typography: closer to the campaign logo's Helvetica Neue LT Pro Black Condensed character */
body{font-family:'Inter',Arial,Helvetica,sans-serif}
.display,h1,h2,h3,.stat strong,.issue-feature .proof strong{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;letter-spacing:-.025em}
.menu,.btn,.menu .contact-link,.menu .donate-link{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:600}
.eyebrow{font-family:'Inter',Arial,sans-serif;font-weight:700}
.hero h1,.page-hero h1{font-weight:700;letter-spacing:-.035em}

/* v1.3 contact form + privacy */
.connect-section{background:#eef1f4;padding:78px 0}.connect-card{max-width:940px;margin:auto;background:#fff;border:11px solid var(--navy);padding:28px 38px 34px}.connect-card h2{text-align:center;margin:0 0 28px;color:var(--navy);font-size:clamp(48px,5vw,70px)}.connect-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}.field{display:flex;flex-direction:column;gap:10px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:var(--red);font-size:17px}.field label span{color:var(--red)}.field input,.field textarea{width:100%;border:0;border-bottom:4px solid var(--navy);background:#e2e7ed;padding:14px 12px;font:inherit;outline:none}.field textarea{min-height:68px;resize:vertical}.consent-row{grid-column:1/-1;display:grid;grid-template-columns:38px 1fr;gap:18px;align-items:start;font-size:15px;line-height:1.45}.consent-row input{appearance:none;width:30px;height:30px;border:3px solid var(--navy);background:#fff;margin:0;cursor:pointer}.consent-row input:checked{background:var(--red);box-shadow:inset 0 0 0 6px #fff}.terms-row{font-size:14px;padding-left:52px}.terms-row input{margin-left:-52px}.consent-row a{text-decoration:underline}.connect-submit{grid-column:1/-1;justify-self:center;width:min(560px,100%);padding:18px;border:5px solid var(--navy);background:#fff;color:var(--red);font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:27px;cursor:pointer}.connect-submit:hover{background:var(--navy);color:#fff}.privacy-page .content{max-width:920px}.privacy-page h2{font-size:34px;margin:40px 0 8px}.privacy-page p{font-size:17px}.privacy-hero{background-color:var(--navy);background-image:linear-gradient(120deg,rgba(255,255,255,.03) 0 14%,transparent 14% 30%,rgba(171,0,51,.12) 30% 42%,transparent 42%)}
@media(max-width:700px){.connect-card{padding:24px 20px;border-width:7px}.connect-form{grid-template-columns:1fr}.field.full,.consent-row,.connect-submit{grid-column:1}.terms-row{padding-left:0}.terms-row input{margin-left:0}.consent-row{grid-template-columns:34px 1fr}}


/* v1.5 refinements */
@media(min-width:851px){
  .hero{background-image:linear-gradient(270deg,rgba(15,37,71,.96) 0%,rgba(15,37,71,.78) 30%,rgba(15,37,71,.10) 57%,rgba(15,37,71,0) 70%),url('assets/images/house-floor.jpg');background-position:center center;background-size:cover}
  .hero .wrap{display:flex;justify-content:flex-end}
  .hero-copy{width:43%;max-width:520px;padding-left:28px}
  .hero h1{font-size:clamp(62px,7.2vw,112px)}
}
.meet-photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-self:start;position:sticky;top:120px}
.meet-photo{overflow:hidden;border-bottom:7px solid var(--red);background:var(--navy)}
.meet-photo.large{grid-column:1/-1}
.meet-photo img{width:100%;height:250px;object-fit:cover;display:block}
.meet-photo.large img{height:390px;object-position:center 35%}
.meet-photo:nth-child(2) img{object-position:center 25%}
.meet-photo:nth-child(3) img{object-position:center center}
@media(max-width:850px){
  .meet-photo-stack{position:static;grid-template-columns:1fr 1fr;margin-top:12px}
  .meet-photo.large img{height:330px}
  .meet-photo img{height:210px}
  .hero{background-position:44% center}
  .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,37,71,.12),rgba(15,37,71,.86) 62%,rgba(15,37,71,.96));z-index:0}
  .hero .wrap{position:relative;z-index:1;align-self:flex-end}
  .hero-copy{padding:260px 0 55px;max-width:100%}
}

/* v1.6 contact spacing + direct contact blurb */
.connect-intro{max-width:760px;margin:-8px auto 30px;text-align:center;color:var(--ink);font-size:18px;line-height:1.55}.connect-intro p{margin:0}.connect-intro a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}.terms-row{padding-left:0!important}.terms-row input{margin-left:0!important}.consent-row{column-gap:14px!important}.terms-row{margin-top:-8px}.connect-form{row-gap:22px}
@media(max-width:700px){.connect-intro{font-size:16px;margin-bottom:24px}.terms-row{margin-top:-4px}}


/* v1.7 constituent services: tighter opening + subtle State House chamber watermark */
.constituent-hero{padding-bottom:64px}
.constituent-main{position:relative;isolation:isolate;padding:42px 0 82px;background:#fff;overflow:hidden}
.constituent-main:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/images/chamber.jpg') center 18%/cover no-repeat;opacity:.055;filter:grayscale(100%)}
.constituent-main:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.94) 42%,rgba(255,255,255,.97))}
.constituent-content{max-width:1040px}
.constituent-intro{max-width:940px;margin:0 0 42px;padding:6px 0 6px 26px;border-left:7px solid var(--red)}
.constituent-intro p{margin:0;font-size:22px;line-height:1.55;font-weight:500}
.constituent-services-list{max-width:900px}
.constituent-services-list h2{font-size:clamp(44px,5vw,64px);color:var(--navy);margin:34px 0 24px}
.constituent-services-list h2:first-child{margin-top:0}
.service-item{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid rgba(28,53,94,.18)}
.service-item h3{font-size:30px;color:var(--navy);margin:0 0 8px}
.service-item p{font-size:18px;margin:0;max-width:820px}
@media(max-width:850px){.constituent-hero{padding-bottom:48px}.constituent-main{padding:30px 0 60px}.constituent-intro{margin-bottom:32px;padding-left:18px;border-left-width:5px}.constituent-intro p{font-size:19px}.constituent-main:before{background-position:center top;opacity:.045}}

/* v1.8 refinements */
@media(min-width:851px){
  .hero{background-image:linear-gradient(90deg,rgba(15,37,71,.97) 0%,rgba(15,37,71,.83) 34%,rgba(15,37,71,.12) 61%,rgba(15,37,71,0) 72%),url('assets/images/house-floor.jpg');background-position:center center}
  .hero .wrap{display:flex;justify-content:flex-start}
  .hero-copy{width:48%;max-width:620px;padding-left:0}
  .hero h1{font-size:clamp(58px,6.4vw,98px);margin-bottom:8px}
  .meet-page-body{padding-top:48px}
}
.hero-name{font-family:'Oswald','Arial Narrow',Impact,sans-serif;text-transform:uppercase;font-size:clamp(30px,3.2vw,48px);font-weight:700;line-height:1;color:#fff;letter-spacing:.01em;margin:0 0 8px}
.hero .eyebrow{font-size:13px;opacity:.92;margin-bottom:12px}
.constituent-main:before{background-image:url('assets/images/state-house-bg.jpg'),url('assets/images/chamber.jpg');background-position:center 10%,center 18%;background-size:cover;opacity:.105;filter:grayscale(100%)}
.constituent-main:after{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.87) 44%,rgba(255,255,255,.94))}

/* v1.9 accomplishments + forward-looking key issues */
.results-cta{margin:30px 0 0;text-align:right}
.accomplishments-page{background:#f7f6f3}
.accomplishment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.accomplishment-card{background:#fff;padding:42px;border-top:7px solid var(--red);box-shadow:0 12px 32px rgba(19,39,70,.08)}
.accomplishment-card.wide{grid-column:1/-1;display:grid;grid-template-columns:.55fr 1.45fr;column-gap:38px;align-items:start}
.accomplishment-card h2{font-size:clamp(34px,4vw,52px);margin:8px 0 18px;color:var(--navy)}
.accomplishment-card p{font-size:18px;margin:0;max-width:760px}
.accomplishment-number{font-family:'Oswald','Arial Narrow',sans-serif;font-size:clamp(62px,8vw,104px);font-weight:700;line-height:.9;color:var(--red);letter-spacing:-.04em}
.accomplishment-kicker{font-family:'Oswald','Arial Narrow',sans-serif;text-transform:uppercase;color:var(--red);font-weight:700;font-size:24px;letter-spacing:.04em}
@media(max-width:850px){.accomplishment-grid{grid-template-columns:1fr}.accomplishment-card.wide{grid-column:auto;display:block}.results-cta{text-align:left}}

/* v2.0 final visual refinements */
@media(min-width:851px){
  .hero{background-image:linear-gradient(90deg,rgba(15,37,71,.95) 0%,rgba(15,37,71,.76) 28%,rgba(15,37,71,.06) 55%,rgba(15,37,71,0) 70%),url('assets/images/house-floor.jpg');background-position:58% center}
  .hero-copy{width:47%;max-width:650px}
  .hero-name{font-size:clamp(54px,6vw,92px);line-height:.9;margin-bottom:12px}
  .hero h1{font-size:clamp(48px,5vw,74px);line-height:.94}
}
.connect-section{padding:58px 0}
.connect-card{max-width:820px;padding:24px 32px 30px;border-width:8px}
.connect-card h2{font-size:clamp(42px,4vw,58px);margin-bottom:18px}
.connect-intro{font-size:16px;margin-bottom:20px}
.connect-form{gap:18px 20px}.field{gap:7px}.field input,.field textarea{padding:11px 10px}.field textarea{min-height:56px}.consent-row{font-size:14px;line-height:1.35;gap:14px}.terms-row{font-size:13px}.connect-submit{max-width:460px;padding:12px;font-size:23px;border-width:4px}
.accomplishment-card.wide{grid-column:auto;display:block}.accomplishment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accomplishment-card{min-height:300px;display:flex;flex-direction:column;justify-content:flex-start}.accomplishment-card p{margin-top:auto}.accomplishment-card:last-child{grid-column:1/-1;min-height:auto;display:grid;grid-template-columns:.42fr 1.58fr;column-gap:34px}.accomplishment-card:last-child p{margin-top:0}
.constituent-main:before{background-image:linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)),url('assets/images/sc-state-house.jpg');background-position:center center;background-size:cover;opacity:.18;filter:grayscale(25%)}
.constituent-main{background:rgba(255,255,255,.90)}
@media(max-width:850px){.accomplishment-grid{grid-template-columns:1fr}.accomplishment-card:last-child{grid-column:auto;display:block}.connect-card{padding:22px 20px}.constituent-main:before{opacity:.12}}

/* v2.1 layout polish */
.results-cta{text-align:center;margin-top:32px}
/* Let Brandon's photo read more clearly through the Key Issues hero. */
.key-hero{background-image:linear-gradient(90deg,rgba(15,37,71,.95) 0%,rgba(15,37,71,.80) 42%,rgba(15,37,71,.56) 72%,rgba(15,37,71,.48) 100%),url('assets/images/chamber.jpg');background-position:center 38%;background-size:cover}
/* Stronger visual break between the issue statement and action list. */
.issue-feature-grid>div:last-child{padding-top:20px;border-top:5px solid var(--red)}
.issue-feature.navy-band .issue-feature-grid>div:last-child{border-top-color:#fff}
.issue-feature ul{list-style:none;padding-left:0;margin-top:24px}.issue-feature li{position:relative;padding-left:34px;margin:15px 0}.issue-feature li:before{content:'✓';position:absolute;left:0;top:-2px;color:var(--red);font-weight:900;font-size:22px}.issue-feature.navy-band li:before{color:#fff}
/* Accomplishments: consistent full-width rows instead of an awkward orphan card. */
.accomplishment-grid{grid-template-columns:1fr;gap:22px}.accomplishment-card,.accomplishment-card:last-child{grid-column:auto;min-height:0;display:grid;grid-template-columns:240px minmax(260px,.8fr) 1.35fr;gap:34px;align-items:center;padding:34px 40px}.accomplishment-card p,.accomplishment-card:last-child p{margin:0}.accomplishment-card h2{margin:0}.accomplishment-number{font-size:clamp(56px,6vw,84px)}.accomplishment-kicker{font-size:25px}
/* Make the State House unmistakably visible while keeping service copy readable. */
.constituent-main:before{background-image:url('assets/images/sc-state-house.jpg');background-position:center 35%;background-size:cover;opacity:.32;filter:grayscale(20%)}.constituent-main:after{background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.87) 55%,rgba(255,255,255,.74) 100%)}
@media(max-width:850px){.results-cta{text-align:center}.accomplishment-card,.accomplishment-card:last-child{display:block;padding:30px}.accomplishment-card h2{margin:10px 0 15px}.issue-feature-grid>div:last-child{padding-top:18px}.constituent-main:before{opacity:.22}.key-hero{background-position:58% center}}


/* v2.2 requested refinements */
/* Keep the Key Issues portrait visible without sacrificing headline contrast. */
.key-hero{background-image:linear-gradient(90deg,rgba(15,37,71,.92) 0%,rgba(15,37,71,.73) 40%,rgba(15,37,71,.38) 72%,rgba(15,37,71,.30) 100%),url('assets/images/chamber.jpg')}
/* Clear heading/action separation on issue sections. */
.issue-feature-grid>div:last-child{border-top:4px solid var(--red);padding-top:24px}
.issue-feature.navy-band .issue-feature-grid>div:last-child{border-top-color:rgba(255,255,255,.9)}
/* Accomplishments read as five consistent result bands. */
.accomplishment-grid{display:flex;flex-direction:column;gap:20px}
.accomplishment-card,.accomplishment-card:last-child{width:100%;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(300px,1fr) minmax(360px,1.35fr);gap:38px;align-items:center;padding:38px 42px;min-height:0;border-top:6px solid var(--red)}
.accomplishment-card h2,.accomplishment-card:last-child h2{margin:0;font-size:clamp(34px,3.2vw,50px)}
.accomplishment-card p,.accomplishment-card:last-child p{margin:0;font-size:18px;max-width:none}
/* State House should be an intentional visual layer, not a barely-there watermark. */
.constituent-main:before{background-image:url('assets/images/sc-state-house.jpg');background-position:center 32%;background-size:cover;opacity:.42;filter:grayscale(15%)}
.constituent-main:after{background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.84) 56%,rgba(255,255,255,.68) 100%)}
/* Make anchor jumps land cleanly below the sticky header. */
#contact{scroll-margin-top:105px}#contact-form{scroll-margin-top:125px}
@media(max-width:850px){.accomplishment-card,.accomplishment-card:last-child{display:block;padding:30px}.accomplishment-card h2,.accomplishment-card:last-child h2{margin:10px 0 15px}.constituent-main:before{opacity:.28}.key-hero{background-position:58% center}}


/* v2.3 latest requested refinements */
/* Brandon's name is the primary homepage identity; the slogan is secondary. */
@media(min-width:851px){
  .hero-name{font-size:clamp(76px,8.4vw,128px);line-height:.84;margin-bottom:18px;letter-spacing:-.025em}
  .hero h1{font-size:clamp(42px,4.2vw,64px);line-height:.95;margin-top:10px}
}
/* Key Issues: statement first, then red rule, then action checks. */
.issue-feature-grid>div:last-child{border-top:0!important;padding-top:0!important}
.issue-feature-grid>div:last-child>p:first-child{margin:0 0 24px;padding:0 0 24px;border-bottom:4px solid var(--red)}
.issue-feature.navy-band .issue-feature-grid>div:last-child>p:first-child{border-bottom-color:rgba(255,255,255,.92)}
.issue-feature ul{margin-top:0}
/* Accomplishments: uniform red lead-in zone across every result. */
.accomplishment-card,.accomplishment-card:last-child{grid-template-columns:260px minmax(300px,1fr) minmax(360px,1.35fr)}
.accomplishment-number,.accomplishment-kicker{height:112px;display:flex;align-items:center;color:var(--red);font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;text-transform:uppercase;line-height:.9;margin:0}
.accomplishment-number{font-size:clamp(58px,5.8vw,82px);letter-spacing:-.04em}
.accomplishment-kicker{font-size:clamp(40px,4.1vw,58px);letter-spacing:-.025em}
/* Constituent services uses only a clean State House exterior image layer. */
.constituent-main:before{background-image:url('assets/images/sc-state-house-clean.jpg');background-position:center 34%;background-size:cover;background-repeat:no-repeat;opacity:.27;filter:grayscale(10%)}
.constituent-main:after{background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.86) 58%,rgba(255,255,255,.72) 100%)}
@media(max-width:850px){
 .hero-name{font-size:clamp(52px,14vw,78px)}
 .accomplishment-number,.accomplishment-kicker{height:auto;min-height:72px}
}

/* v2.4 Constituent Services: side-angle State House photo with translucent website overlay. */
.constituent-main:before{
  background-image:url('assets/images/sc-state-house-side.jpg');
  background-position:center 42%;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.34;
  filter:none;
}
.constituent-main:after{
  background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.84) 58%,rgba(255,255,255,.72) 100%);
}
@media(max-width:850px){.constituent-main:before{background-position:42% center;opacity:.28}}
\n\n/* v2.5: requested page treatments. */
/* Key Issues is policy-forward: no Brandon photo in hero. */
.key-hero{
  background:var(--navy)!important;
  background-image:linear-gradient(120deg,rgba(255,255,255,.025) 0 15%,transparent 15% 30%,rgba(255,255,255,.02) 30% 45%,transparent 45%)!important;
}
/* Accomplishments carries the blued Brandon chamber photo instead. */
.accomplishments-hero{
  background-image:linear-gradient(90deg,rgba(15,37,71,.94) 0%,rgba(15,37,71,.78) 46%,rgba(15,37,71,.52) 100%),url('assets/images/chamber.jpg');
  background-position:center 38%;
  background-size:cover;
}
/* Constituent Services: the actual exterior State House image is the page background.
   Keep pseudo layers above the section background, and all content above both layers. */
.constituent-main{position:relative;isolation:isolate;background:#fff!important;overflow:hidden}
.constituent-main:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0!important;
  background:url('assets/images/sc-state-house-side.jpg') center 42%/cover no-repeat!important;
  opacity:.42!important;
  filter:none!important;
  pointer-events:none;
}
.constituent-main:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1!important;
  background:rgba(255,255,255,.72)!important;
  pointer-events:none;
}
.constituent-main>.wrap{position:relative;z-index:2}
@media(max-width:850px){.constituent-main:before{background-position:42% center!important;opacity:.34!important}.constituent-main:after{background:rgba(255,255,255,.78)!important}}

/* v2.6 FINAL VISUAL FIXES */
/* Key Issues: policy-only hero, intentionally no Brandon/chamber photograph. */
.page-hero.key-hero{
  background:#1c355e!important;
  background-image:linear-gradient(120deg,rgba(255,255,255,.025) 0 15%,transparent 15% 30%,rgba(255,255,255,.018) 30% 45%,transparent 45%)!important;
}
/* Accomplishments: Brandon chamber photo belongs here. */
.page-hero.accomplishments-hero{
  background-color:#1c355e!important;
  background-image:linear-gradient(90deg,rgba(15,37,71,.92) 0%,rgba(15,37,71,.75) 46%,rgba(15,37,71,.46) 100%),url('assets/images/chamber.jpg')!important;
  background-position:center 38%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
/* Constituent Services: real side-angle State House photo is a visible background layer.
   Previous negative z-index placed the image behind the section's own background. */
.constituent-main{
  position:relative!important;
  isolation:isolate!important;
  background:transparent!important;
  overflow:hidden!important;
}
.constituent-main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background-image:url('assets/images/sc-state-house-side.jpg')!important;
  background-position:center 42%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  filter:none!important;
}
.constituent-main::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(255,255,255,.76)!important;
}
.constituent-main > .wrap{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:850px){
  .constituent-main::before{background-position:40% center!important;opacity:1!important}
  .constituent-main::after{background:rgba(255,255,255,.80)!important}
}

/* v2.7 simplified footer */
.site-footer{background:#0f2547;color:#fff;padding:26px 0}.footer-simple{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.site-footer .disclaimer{font-size:14px;font-weight:700;opacity:1;margin:0;border:0;padding:0}.footer-actions{display:flex;align-items:center;gap:24px}.footer-privacy{color:#fff;font-weight:700;text-underline-offset:4px}.footer-facebook{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:800;border:2px solid rgba(255,255,255,.9);padding:8px 14px}.facebook-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff;color:#0f2547;font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:18px;line-height:1}@media(max-width:650px){.footer-simple{align-items:flex-start;flex-direction:column}.footer-actions{gap:16px;flex-wrap:wrap}}

/* v2.8 requested visual cleanup */
/* Key Issues navy section: remove the two faint decorative diagonal lines. */
.issue-feature.navy-band{
  background-image:none!important;
  background-color:var(--navy)!important;
}
/* Make the separators between issue sections more substantial. */
.issue-feature{border-bottom:5px solid rgba(28,53,94,.16)!important}
.issue-feature.navy-band{border-bottom-color:rgba(255,255,255,.24)!important}
/* Constituent Services: blue the exterior State House photo and soften it for legibility. */
.constituent-main::before{
  background-image:linear-gradient(rgba(28,53,94,.36),rgba(28,53,94,.36)),url('assets/images/sc-state-house-side.jpg')!important;
  opacity:.52!important;
  filter:saturate(.75) contrast(.9)!important;
}
.constituent-main::after{background:rgba(255,255,255,.80)!important}
@media(max-width:850px){.constituent-main::before{opacity:.44!important}.constituent-main::after{background:rgba(255,255,255,.84)!important}}

/* v2.9 — requested Constituent Services visibility/divider correction */
.constituent-main::before{
  background-image:linear-gradient(rgba(28,53,94,.48),rgba(28,53,94,.48)),url('assets/images/sc-state-house-side.jpg')!important;
  background-position:center 42%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  opacity:.58!important;
  filter:none!important;
}
.constituent-main::after{
  background:rgba(255,255,255,.68)!important;
}
.constituent-main .service-item{
  border-bottom:3px solid rgba(28,53,94,.32)!important;
  padding-bottom:26px!important;
  margin-bottom:26px!important;
}
@media(max-width:850px){
  .constituent-main::before{opacity:.50!important}
  .constituent-main::after{background:rgba(255,255,255,.74)!important}
  .constituent-main .service-item{border-bottom-width:3px!important}
}


/* v3.0 definitive visual fixes — cache-busted */
/* Key Issues: absolutely no diagonal/texture lines on the navy section. */
.issues-page .issue-feature.navy-band,
.issues-page .issue-feature.navy-band::before,
.issues-page .issue-feature.navy-band::after{
  background-image:none!important;
}
.issues-page .issue-feature.navy-band{background-color:#1c355e!important;}
.issues-page .issue-feature.navy-band::before,
.issues-page .issue-feature.navy-band::after{content:none!important;display:none!important;}

/* Strong, obvious separators between each Key Issues section. */
.issues-page .issue-feature{border-bottom:6px solid rgba(28,53,94,.32)!important;}
.issues-page .issue-feature.navy-band{border-bottom-color:rgba(255,255,255,.72)!important;}

/* Constituent Services: real State House exterior, visibly blue-tinted + lighter. */
.constituent-main{background:transparent!important;position:relative!important;isolation:isolate!important;}
.constituent-main::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(rgba(28,53,94,.30),rgba(28,53,94,.30)),
    url('assets/images/sc-state-house-side.jpg') center 42%/cover no-repeat!important;
  opacity:1!important;
  filter:saturate(.70) brightness(1.08)!important;
}
.constituent-main::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(255,255,255,.62)!important;
}
.constituent-main > .wrap{position:relative!important;z-index:2!important;}
/* Make the service dividers unmistakably thicker. */
.constituent-main .service-item{
  border-bottom:5px solid rgba(28,53,94,.55)!important;
  padding-bottom:28px!important;
  margin-bottom:28px!important;
}
@media(max-width:850px){
  .constituent-main::before{background-position:40% center!important;}
  .constituent-main::after{background:rgba(255,255,255,.70)!important;}
  .constituent-main .service-item{border-bottom-width:5px!important;}
}

/* v3.1 — Constituent Services readability + cleaner navigation */
/* Keep the State House visible, but much softer/lighter behind the copy. */
.constituent-main::before{
  background:
    linear-gradient(rgba(28,53,94,.20),rgba(28,53,94,.20)),
    url('assets/images/sc-state-house-side.jpg') center 42%/cover no-repeat!important;
  opacity:.62!important;
  filter:saturate(.60) brightness(1.18)!important;
}
.constituent-main::after{
  background:rgba(255,255,255,.82)!important;
}
@media(max-width:850px){
  .constituent-main::after{background:rgba(255,255,255,.86)!important;}
}

/* v3.5 — restore approved homepage hero hierarchy */
.hero .hero-copy{max-width:820px!important;width:62%!important;}
.hero .hero-name{
  display:block!important;
  font-family:'Oswald','Arial Narrow',Impact,sans-serif!important;
  font-size:clamp(72px,7.2vw,112px)!important;
  line-height:.82!important;
  font-weight:700!important;
  letter-spacing:-.03em!important;
  margin:0 0 18px!important;
  color:#fff!important;
  text-transform:uppercase!important;
}
.hero .eyebrow{
  font-size:clamp(15px,1.45vw,21px)!important;
  line-height:1.15!important;
  letter-spacing:.13em!important;
  margin:0 0 22px!important;
  color:#fff!important;
}
.hero h1{
  font-size:clamp(44px,4.5vw,68px)!important;
  line-height:.92!important;
  margin:0 0 30px!important;
  max-width:620px!important;
}
@media(max-width:850px){
  .hero .hero-copy{width:100%!important;max-width:100%!important;}
  .hero .hero-name{font-size:clamp(58px,16vw,88px)!important;}
  .hero h1{font-size:clamp(38px,10vw,56px)!important;}
}

/* v3.7 — keep the approved hero hierarchy while protecting Brandon's face */
@media(min-width:851px){
  .hero .hero-copy{
    width:56%!important;
    max-width:760px!important;
  }
  .hero .hero-name{
    font-size:clamp(68px,6.15vw,98px)!important;
    line-height:.84!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }
  .hero .eyebrow{
    font-size:clamp(15px,1.35vw,20px)!important;
    white-space:nowrap!important;
  }
  .hero h1{
    font-size:clamp(42px,4.1vw,62px)!important;
    max-width:590px!important;
  }
}
/* Gravity Forms contact mount */
.gravity-contact-wrap{scroll-margin-top:120px}.gravity-contact-wrap .gform_wrapper{margin:0}.form-notice{text-align:center;font-weight:700}


/* v4.2 Gravity Forms contact layout — theme-owned so no styling plugin is required */
#contact-form .gform_wrapper { margin:0 !important; }
#contact-form .gform_fields { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:28px 24px !important; }
#contact-form .gfield { margin:0 !important; min-width:0; }
#contact-form .gfield:has(textarea),
#contact-form .gfield:has(.gfield_checkbox),
#contact-form .gfield--type-checkbox { grid-column:1 / -1 !important; }
#contact-form .gfield_label,
#contact-form legend.gfield_label { color:var(--red) !important; font-weight:800 !important; font-size:18px !important; margin:0 0 8px !important; }
#contact-form input[type=text],
#contact-form input[type=email],
#contact-form input[type=tel],
#contact-form textarea,
#contact-form select { width:100% !important; border:0 !important; border-bottom:4px solid var(--navy) !important; border-radius:0 !important; background:#f0f3f7 !important; padding:15px 16px !important; min-height:58px !important; box-shadow:none !important; font:inherit !important; }
#contact-form textarea { min-height:150px !important; resize:vertical; }
#contact-form .ginput_complex { gap:18px !important; }
#contact-form .ginput_complex > span { flex:1 1 0 !important; }
#contact-form .gfield_checkbox { display:grid !important; gap:16px !important; }
#contact-form .gchoice { display:grid !important; grid-template-columns:30px 1fr !important; gap:12px !important; align-items:start !important; }
#contact-form .gchoice input[type=checkbox] { width:24px !important; height:24px !important; margin:2px 0 0 !important; accent-color:var(--navy); }
#contact-form .gchoice label { margin:0 !important; line-height:1.45 !important; max-width:none !important; }
#contact-form .gchoice a { color:var(--navy) !important; text-decoration:underline !important; font-weight:700 !important; }
#contact-form .gform_footer { justify-content:center !important; margin-top:26px !important; }
#contact-form .gform_button { width:min(100%,520px) !important; background:#fff !important; color:var(--red) !important; border:4px solid var(--navy) !important; border-radius:0 !important; padding:16px 28px !important; font-family:'Barlow Condensed','Arial Narrow',sans-serif !important; font-size:24px !important; font-weight:800 !important; text-transform:none !important; cursor:pointer !important; }
/* Defensive cleanup if an international telephone widget is still cached/rendered. */
#contact-form .iti { width:100% !important; }
#contact-form .iti__country-container { display:none !important; }
#contact-form .iti input[type=tel] { padding-left:16px !important; }
#contact-form .iti__country-list,
#contact-form .iti__search-input,
#contact-form .iti__dropdown-content { display:none !important; }
@media(max-width:700px){
  #contact-form .gform_fields { grid-template-columns:1fr !important; }
  #contact-form .gfield { grid-column:1 !important; }
}

/* v4.3 — homepage composition, Key Issues cleanup, and complete campaign footer */
.issue-list.clean{border-top:0!important;}

@media(min-width:851px){
  .hero{
    background-size:100% 100%,112% auto!important;
    background-position:center,left center!important;
    background-repeat:no-repeat!important;
  }
  .hero .wrap{width:min(calc(100% - 80px),1400px)!important;}
  .hero .hero-copy{width:42%!important;max-width:520px!important;}
  .hero .hero-name{font-size:clamp(60px,5.2vw,82px)!important;}
  .hero .eyebrow{font-size:clamp(14px,1.05vw,17px)!important;white-space:normal!important;}
  .hero h1{font-size:clamp(38px,3.4vw,52px)!important;max-width:480px!important;}
}

.site-footer{padding:48px 0 24px;}
.campaign-footer-grid{display:grid;grid-template-columns:190px minmax(220px,1fr) minmax(190px,auto);gap:52px;align-items:start;}
.footer-brand{display:block;width:190px;background:transparent;padding:0;}
.footer-logo-white{display:block;width:100%;height:auto;overflow:visible;}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:13px 28px;}
.footer-nav a,.footer-socials a{color:#fff;text-decoration:none;font-family:'Oswald','Arial Narrow',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.035em;}
.footer-nav a:hover,.footer-nav a:focus-visible,.footer-socials a:hover,.footer-socials a:focus-visible,.footer-privacy:hover,.footer-privacy:focus-visible{text-decoration:underline;text-underline-offset:5px;}
.footer-socials{display:flex;align-items:center;justify-content:flex-end;gap:28px;}
.social-link{display:grid;place-items:center;width:46px;height:46px;color:#b9bdca!important;transition:color .2s ease,transform .2s ease;}
.social-link:hover,.social-link:focus-visible{color:#fff!important;text-decoration:none!important;transform:translateY(-2px);}
.social-icon{display:block;width:42px;height:42px;fill:currentColor;}
.social-icon-instagram{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.social-icon-instagram .instagram-dot{fill:currentColor;stroke:none;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);}
.site-footer .disclaimer{margin:0;padding:0;border:0;font-size:14px;font-weight:700;opacity:1;}
.footer-privacy{color:#fff;font-size:14px;font-weight:700;text-underline-offset:4px;}

@media(max-width:850px){
  .campaign-footer-grid{grid-template-columns:150px 1fr;gap:34px;}
  .footer-socials{grid-column:2;justify-content:flex-start;}
}
@media(max-width:600px){
  .site-footer{padding-top:38px;}
  .campaign-footer-grid{grid-template-columns:1fr;gap:30px;}
  .footer-brand{width:175px;}
  .footer-nav{grid-template-columns:1fr;}
  .footer-socials{grid-column:1;}
  .footer-bottom{align-items:flex-start;flex-direction:column;}
}

/* v4.3.2 — tighten the homepage hero's vertical rhythm */
.hero .eyebrow{margin-bottom:14px!important;}
.hero h1{margin-bottom:22px!important;}
