:root{
  --jc-navy:#041226;--jc-navy2:#071b34;--jc-navy3:#0d3157;--jc-blue:#0a4d87;
  --jc-red:#c80f22;--jc-red2:#ef2435;--jc-gold:#d7a948;--jc-gold2:#f2d080;
  --jc-cream:#f4efe3;--jc-paper:#f7f6f2;--jc-white:#fff;--jc-ink:#07152a;--jc-muted:#aeb9ca;
  --jc-line:rgba(255,255,255,.18);--jc-glass:rgba(6,19,37,.84);--jc-shadow:0 24px 70px rgba(0,0,0,.32);
  --jc-serif:"Cinzel",Georgia,"Times New Roman",serif;--jc-body:"Inter",Arial,sans-serif;--jc-script:"Playfair Display",Georgia,serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.jc-campaign-site,body{margin:0;background:var(--jc-navy);color:#fff;font-family:var(--jc-body);line-height:1.55}body.admin-bar .jc-site-header{top:32px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.screen-reader-text{position:absolute;left:-9999px}.jc-svg{width:1em;height:1em;display:block}.jc-main{overflow:hidden}.jc-container{width:min(1320px,calc(100% - 52px));margin-inline:auto}.jc-section-label{margin:0 0 12px;font-family:var(--jc-serif);font-size:14px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--jc-gold2)}.jc-section-label.dark-label{color:#17304d}.jc-kicker{font-family:var(--jc-serif);font-size:13px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--jc-gold2)}

/* header */
.jc-site-header{position:sticky;top:0;z-index:90;background:rgba(3,14,29,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.11);transition:.25s ease}.jc-site-header.is-scrolled{background:rgba(3,14,29,.96);box-shadow:0 15px 45px rgba(0,0,0,.32)}.jc-header-inner{width:min(1380px,calc(100% - 40px));margin:auto;min-height:78px;display:grid;grid-template-columns:230px 1fr 180px;gap:24px;align-items:center}.jc-logo{position:relative;display:grid;justify-items:center;text-transform:uppercase;line-height:1;letter-spacing:.12em;padding:10px 0}.jc-logo::before,.jc-logo::after{content:"";position:absolute;top:33px;width:42px;height:1px;background:#fff;opacity:.75}.jc-logo::before{left:2px}.jc-logo::after{right:2px}.jc-logo-star{color:var(--jc-gold2);font-size:14px}.jc-logo-main{font:900 24px/1 var(--jc-serif);letter-spacing:.06em}.jc-logo-sub{font:700 9px/1.35 var(--jc-serif);letter-spacing:.16em;color:rgba(255,255,255,.83)}.jc-logo-sub.small{letter-spacing:.28em}.jc-nav{justify-self:center}.jc-menu{list-style:none;margin:0;padding:0;display:flex;gap:clamp(17px,2.6vw,44px);align-items:center}.jc-menu a{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);padding:25px 0;position:relative;white-space:nowrap}.jc-menu a::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--jc-red2);transform:scaleX(0);transform-origin:left;transition:.2s}.jc-menu a:hover::after,.jc-menu .current-menu-item a::after,.jc-menu .current_page_item a::after{transform:scaleX(1)}.jc-header-mark{display:flex;justify-self:end;align-items:center;gap:10px;font:700 10px/1.4 var(--jc-serif);letter-spacing:.2em;text-transform:uppercase}.jc-header-mark .jc-svg{width:42px;height:42px;color:#fff}.jc-mobile-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px}.jc-mobile-toggle span{display:block;height:2px;background:white;margin:6px 0}

/* shared patriotic layers */
.jc-patriot-wash{position:absolute;inset:0 auto 0 0;width:47%;overflow:hidden;pointer-events:none;opacity:.88}.jc-patriot-wash::before{content:"";position:absolute;left:-20%;top:-15%;width:98%;height:125%;background:linear-gradient(180deg,rgba(0,40,92,.95) 0 44%,rgba(255,255,255,.33) 44% 58%,rgba(184,11,32,.78) 58%);transform:skewX(-18deg) rotate(-4deg);filter:blur(.2px)}.jc-patriot-wash::after{content:"★";position:absolute;left:4%;top:11%;font-size:105px;color:rgba(255,255,255,.72);text-shadow:0 0 30px rgba(255,255,255,.18);transform:rotate(-8deg)}.jc-patriot-wash.subtle{opacity:.5;width:40%}.jc-light-streak{position:absolute;height:3px;background:linear-gradient(90deg,transparent,rgba(255,227,154,.95),white,rgba(255,227,154,.95),transparent);filter:blur(.4px);box-shadow:0 0 18px #ffd06f}.jc-light-streak-bottom{bottom:0;left:0;right:0}

/* home hero */
.jc-hero{position:relative;isolation:isolate;overflow:hidden}.jc-home-hero{min-height:630px;background:#07172a}.jc-hero-civic{position:absolute;inset:0 0 0 46%;z-index:-3;background:linear-gradient(90deg,rgba(3,15,30,.7),rgba(3,15,30,.18) 42%,rgba(3,15,30,.52)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat;filter:saturate(.95) contrast(1.06)}.jc-hero-civic::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 9%,rgba(255,215,126,.34),transparent 20%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(1,10,23,.62))}.jc-home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,27,.35) 0,rgba(3,13,27,.02) 42%,rgba(3,13,27,.48) 100%);z-index:-1}.jc-hero-grid{min-height:630px;display:grid;grid-template-columns:34% 46% 20%;align-items:end;position:relative}.jc-hero-left{height:100%;position:relative;display:flex;align-items:flex-end}.jc-hero-portrait-shell{height:94%;width:100%;overflow:hidden;align-self:end;position:relative;mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 88%,transparent 100%),linear-gradient(to bottom,#000 0,#000 90%,transparent 100%);mask-composite:intersect}.jc-hero-portrait-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,12,26,.3),transparent 25%,transparent 70%,rgba(2,12,26,.78));pointer-events:none}.jc-hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.92) contrast(1.03)}.jc-side-quote{position:absolute;left:-14px;bottom:67px;font:600 18px/1.15 var(--jc-script);font-style:italic;color:#fff;text-shadow:0 2px 20px #000;z-index:3;letter-spacing:.02em}.jc-side-quote span{display:block;color:var(--jc-gold2);margin-top:12px;font-size:18px}.jc-hero-copy{align-self:center;text-align:center;padding:82px 20px 70px;z-index:3}.jc-hero-copy .jc-kicker b{color:var(--jc-gold2);padding:0 10px}.jc-hero-copy h1{margin:2px 0 3px;font:900 clamp(64px,7.2vw,112px)/.88 var(--jc-serif);text-transform:uppercase;letter-spacing:.015em;text-shadow:0 7px 28px rgba(0,0,0,.54)}.jc-red-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px auto 6px;max-width:620px}.jc-red-rule span{height:3px;background:var(--jc-red2);flex:1}.jc-red-rule b{font-size:15px;letter-spacing:8px;color:white}.jc-red-rule.left{justify-content:flex-start;margin-left:0}.jc-red-rule.left span{max-width:120px}.jc-red-rule.left em{font:800 25px/1 var(--jc-serif);font-style:normal;letter-spacing:.32em;text-transform:uppercase}.jc-red-rule.center{max-width:560px}.jc-hero-copy h2{font:700 clamp(24px,3vw,44px)/1.07 var(--jc-serif);text-transform:uppercase;margin:3px 0 13px;letter-spacing:.03em}.jc-hero-copy h2 em{font:600 36px/1 var(--jc-script);text-transform:none;font-style:italic;margin-right:8px}.jc-hero-copy h2 span{font-size:.72em;letter-spacing:.36em}.jc-hero-tag{font:700 13px/1.4 var(--jc-serif);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.88)}.jc-button-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}.jc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:0 24px;border-radius:4px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em;transition:.2s;box-shadow:0 10px 26px rgba(0,0,0,.2)}.jc-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.jc-btn-red{background:linear-gradient(180deg,var(--jc-red2),var(--jc-red));border:1px solid rgba(255,255,255,.24);color:white}.jc-btn-glass,.jc-btn-dark{background:rgba(4,18,35,.72);border:1px solid rgba(255,255,255,.5);color:#fff}.jc-hero-right{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:35px 0 75px;position:relative;z-index:2}.jc-hero-county-mark{display:flex;align-items:center;gap:12px;font:700 11px/1.55 var(--jc-serif);letter-spacing:.22em;text-transform:uppercase}.jc-hero-county-mark .jc-svg{width:48px;height:48px}.jc-vertical-words{text-align:center;font:700 12px/1.8 var(--jc-serif);letter-spacing:.24em;text-transform:uppercase}.jc-vertical-words b{display:block;color:var(--jc-gold2);font-size:20px}.jc-hero-stars{position:absolute;right:10%;bottom:18%;font-size:15px;color:rgba(255,255,255,.2);letter-spacing:16px}

/* home message */
.jc-message-about{background:#071b33;position:relative}.jc-message-about::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,25,47,.94) 0 45%,rgba(6,25,47,.82)),image-set(url('../img/derived/fence-texture.webp') type('image/webp'), url('../img/derived/fence-texture.jpg') type('image/jpeg')) right center/50% auto no-repeat;opacity:.98}.jc-message-about-grid{position:relative;display:grid;grid-template-columns:43% 57%;min-height:280px;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12)}.jc-message-card{position:relative;padding:34px 48px 34px 70px;border-right:1px solid rgba(255,255,255,.2);background:linear-gradient(115deg,rgba(5,24,47,.92),rgba(5,24,47,.5))}.jc-message-card .jc-quote-mark{position:absolute;left:27px;top:62px;font:900 58px/1 Georgia;color:var(--jc-gold2)}.jc-message-card blockquote{margin:0 0 18px;font:700 clamp(25px,2.2vw,37px)/1.16 var(--jc-script);font-style:italic;color:#fff}.jc-message-card cite{font:700 13px/1 var(--jc-serif);font-style:normal;text-transform:uppercase;letter-spacing:.22em;color:var(--jc-gold2)}.jc-about-teaser{display:grid;grid-template-columns:1fr 42%;min-width:0}.jc-about-copy{padding:34px 38px}.jc-about-copy p:not(.jc-section-label){font-size:14px;color:rgba(255,255,255,.87);margin:0 0 12px}.jc-outline-link{display:inline-flex;margin-top:7px;border:1px solid rgba(255,255,255,.55);padding:9px 15px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.jc-about-photo-wrap{position:relative;overflow:hidden}.jc-about-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.92)}.jc-about-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,47,.55),transparent 30%)}.jc-script-note{position:absolute;right:15px;bottom:28px;z-index:2;font:600 22px/1.1 var(--jc-script);font-style:italic;text-align:right;transform:rotate(-5deg);text-shadow:0 2px 10px #000}.jc-script-note.dark{color:#fff}

/* office/experience home */
.jc-office-experience{background:#06182d;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.jc-two-column{display:grid;grid-template-columns:1fr 1fr;gap:28px}.jc-two-column.flush{gap:0}.jc-panel{padding:36px 42px;min-width:0}.jc-office-panel{background:linear-gradient(150deg,#071c35,#082444)}.jc-panel-lead{font:700 17px/1.35 var(--jc-serif);margin:-3px 0 22px}.jc-card-grid{display:grid;gap:16px}.jc-card-grid.three{grid-template-columns:repeat(3,1fr)}.jc-card-grid.four{grid-template-columns:repeat(4,1fr)}.jc-icon-card{border:1px solid rgba(255,255,255,.3);background:linear-gradient(180deg,rgba(16,61,104,.42),rgba(4,21,41,.78));padding:22px 18px;text-align:center;box-shadow:inset 0 0 35px rgba(84,169,255,.04),0 15px 30px rgba(0,0,0,.12)}.jc-icon-ring{display:flex;width:54px;height:54px;margin:0 auto 14px;align-items:center;justify-content:center;color:white}.jc-icon-ring .jc-svg{width:48px;height:48px}.jc-icon-ring.gold{color:var(--jc-gold2)}.jc-icon-card h3{font:800 15px/1.12 var(--jc-serif);text-transform:uppercase;margin:0 0 9px}.jc-icon-card p{font-size:12.5px;color:rgba(255,255,255,.8);margin:0}.jc-icon-card.tall{padding:28px 22px;min-height:310px;display:flex;flex-direction:column;align-items:center}.jc-icon-card.tall h3{font-size:18px}.jc-icon-card.tall p{font-size:14px}.jc-icon-card.tall a{margin-top:auto;padding-top:15px;color:var(--jc-gold2);font-weight:800;font-size:12px}.jc-motto{display:flex;align-items:center;gap:15px;justify-content:center;font:700 10px/1 var(--jc-serif);letter-spacing:.28em;text-transform:uppercase;color:var(--jc-gold2);margin:24px 0 0}.jc-motto span{height:1px;max-width:90px;flex:1;background:var(--jc-gold)}.jc-experience-panel{position:relative;background:linear-gradient(90deg,rgba(5,20,38,.96),rgba(5,20,38,.79)),image-set(url('../img/derived/columns-wide.webp') type('image/webp'), url('../img/derived/columns-wide.jpg') type('image/jpeg')) right/cover no-repeat}.jc-experience-panel::after{content:"Justice\A People\A Community\A Texas";white-space:pre;position:absolute;right:18px;top:32px;font:700 11px/2 var(--jc-serif);text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.72);text-align:center}.jc-experience-list{list-style:none;margin:0;padding:0 92px 0 0;display:grid;gap:16px}.jc-experience-list li{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:start}.jc-experience-list>li>span{width:40px;height:40px;border:1px solid var(--jc-gold);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--jc-gold2)}.jc-experience-list span .jc-svg{width:23px;height:23px}.jc-experience-list strong{font:700 14px/1.2 var(--jc-serif)}.jc-experience-list p{margin:3px 0 0;font-size:12px;color:rgba(255,255,255,.75)}.jc-text-link{display:inline-flex;margin-top:15px;color:var(--jc-gold2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}

/* updates + signup home */
.jc-updates-signup{background:linear-gradient(180deg,#fff,#f0f2f5);color:var(--jc-ink);padding:30px 0}.jc-two-column.updates-layout{grid-template-columns:1.36fr .88fr;align-items:stretch}.jc-section-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.jc-section-row a{font-size:12px;font-weight:800;color:#183a5c}.jc-update-grid{grid-template-columns:repeat(3,1fr)}.jc-update-card{background:#fff;border:1px solid #d9d7d1;box-shadow:0 12px 28px rgba(3,22,44,.09);overflow:hidden;min-width:0}.jc-update-card img{width:100%;height:126px;object-fit:cover}.jc-update-card>div{padding:14px}.jc-date{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#63748c}.jc-update-card h3{font:800 16px/1.13 var(--jc-serif);margin:7px 0}.jc-update-card p{font-size:12.5px;color:#4a596b;min-height:38px}.jc-update-card a{font-size:12px;font-weight:900;color:var(--jc-red)}.jc-signup-panel{position:relative;overflow:hidden;padding:28px 32px;background:linear-gradient(135deg,rgba(5,23,43,.97),rgba(8,49,87,.89)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat;color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.18)}.jc-signup-panel::after{content:"";position:absolute;right:-55px;bottom:-65px;width:190px;height:190px;border:2px solid rgba(255,255,255,.07);transform:rotate(45deg)}.jc-signup-panel>*{position:relative;z-index:2}.jc-signup-panel h2{font:700 21px/1.2 var(--jc-serif);margin:0 0 16px}.jc-signup-form{display:grid;gap:10px}.jc-signup-form input[type="text"],.jc-signup-form input[type="email"]{width:100%;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:3px;padding:0 12px;font:500 13px var(--jc-body);background:#fff;color:#12233b}.jc-signup-form label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:rgba(255,255,255,.9)}.jc-signup-form input[type="checkbox"]{accent-color:#2387ef}.jc-signup-form .jc-btn{border:0;cursor:pointer}.jc-polling-link{display:flex;align-items:center;justify-content:center;min-height:38px;background:linear-gradient(180deg,var(--jc-red2),var(--jc-red));margin-top:12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.25)}.jc-mini-motto{font:700 8px/1 var(--jc-serif);letter-spacing:.18em;text-transform:uppercase;margin-top:10px;color:rgba(255,255,255,.7)}.jc-form-message{padding:9px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font-size:12px;margin-bottom:9px}

/* election band */
.jc-election-band{position:relative;overflow:hidden;background:#06172b;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.16)}.jc-election-scenic{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,43,.93),rgba(6,23,43,.7)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat}.jc-election-grid{position:relative;display:grid;grid-template-columns:1.25fr .95fr .95fr auto;gap:20px;align-items:center;padding:23px 0}.jc-election-title{display:flex;align-items:center;gap:17px}.jc-texas-badge{width:60px;height:60px;color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.22))}.jc-texas-badge .jc-svg{width:100%;height:100%}.jc-election-title .jc-section-label{margin-bottom:2px}.jc-election-title strong{font:800 13px/1.25 var(--jc-serif);text-transform:uppercase}.jc-date-block{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center}.jc-date-block>span{color:var(--jc-gold2)}.jc-date-block .jc-svg{width:40px;height:40px}.jc-date-block small{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.jc-date-block strong{display:block;font:800 15px/1.1 var(--jc-serif);color:var(--jc-gold2);text-transform:uppercase}.jc-date-block em{font-style:normal;font-size:10px;color:rgba(255,255,255,.72)}.jc-election-cta{white-space:nowrap;padding-inline:18px}

/* footer */
.jc-site-footer{position:relative;background:radial-gradient(circle at 50% -20%,#102d4d,#031020 50%);border-top:1px solid rgba(255,255,255,.13);color:#fff}.jc-footer-glow{height:2px;background:linear-gradient(90deg,transparent,var(--jc-gold2),white,var(--jc-gold2),transparent);box-shadow:0 0 15px #ffd57f}.jc-footer-main{display:grid;grid-template-columns:220px 1.25fr 1fr 170px;gap:28px;align-items:center;padding:29px 0}.jc-footer-brand{display:grid;justify-items:center;text-align:center;text-transform:uppercase;letter-spacing:.15em;line-height:1.15}.jc-footer-brand strong{font:900 24px/1 var(--jc-serif);letter-spacing:.05em}.jc-footer-brand span:not(.jc-logo-star){font:700 9px/1.4 var(--jc-serif)}.jc-footer-small{letter-spacing:.25em!important}.jc-footer-contact{display:grid;gap:9px;border-left:1px solid rgba(255,255,255,.24);padding-left:22px}.jc-footer-contact>span{display:flex;align-items:center;gap:10px;font-size:11px}.jc-footer-contact .jc-svg{width:18px;height:18px}.jc-footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 18px;border-left:1px solid rgba(255,255,255,.24);padding-left:24px;font-size:10px}.jc-footer-nav a:hover{color:var(--jc-gold2)}.jc-footer-county{display:flex;align-items:center;gap:11px;border-left:1px solid rgba(255,255,255,.24);padding-left:22px;font:700 9px/1.45 var(--jc-serif);letter-spacing:.2em;text-transform:uppercase}.jc-footer-county .jc-svg{width:48px;height:48px}.jc-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:13px 0;background:rgba(0,0,0,.14)}.jc-footer-bottom .jc-container{display:flex;justify-content:space-between;align-items:center;gap:20px;font:700 8px/1.3 var(--jc-serif);text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.7)}.jc-footer-bottom em{font:600 17px/1 var(--jc-script);font-style:italic;text-transform:none;letter-spacing:0;color:#fff}

/* shared inner page hero */
.jc-page-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#071a31}.jc-page-hero-bg{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(4,17,33,.97),rgba(4,17,33,.58) 55%,rgba(4,17,33,.36)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.about .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.95),rgba(4,17,33,.4)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.office .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.94),rgba(4,17,33,.25)),image-set(url('../img/derived/columns-wide.webp') type('image/webp'), url('../img/derived/columns-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.experience .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.95),rgba(4,17,33,.38)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.updates .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.92),rgba(4,17,33,.55)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.voting .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.88),rgba(4,17,33,.25)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero.involved .jc-page-hero-bg{background:linear-gradient(90deg,rgba(4,17,33,.94),rgba(4,17,33,.44)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat}.jc-page-hero::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--jc-gold2),white,var(--jc-gold2),transparent);box-shadow:0 0 16px #ffd06f}.jc-page-hero-grid{display:grid;grid-template-columns:1fr 46%;gap:40px;align-items:end;min-height:520px}.jc-page-hero-grid.reverse{grid-template-columns:48% 1fr}.jc-page-hero-grid.reverse .jc-page-hero-copy{order:2}.jc-page-hero-grid.reverse .jc-page-portrait{order:1}.jc-page-hero-copy{padding:80px 0 66px;position:relative;z-index:4}.jc-page-hero-copy.wide{max-width:850px}.jc-page-hero-copy.center{text-align:center;margin:auto;max-width:980px}.jc-page-hero h1{font:900 clamp(48px,6vw,86px)/.98 var(--jc-serif);text-transform:uppercase;letter-spacing:.01em;margin:7px 0 12px;text-shadow:0 8px 28px rgba(0,0,0,.38)}.jc-page-hero h2{font:800 clamp(22px,2.4vw,34px)/1.18 var(--jc-serif);text-transform:uppercase;letter-spacing:.09em;color:#fff;margin:0 0 17px}.jc-page-hero p:not(.jc-kicker){max-width:720px;font-size:17px;color:rgba(255,255,255,.88)}.jc-page-portrait{align-self:end;height:460px;position:relative;z-index:3;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0,#000 90%,transparent),linear-gradient(to right,transparent 0,#000 12%,#000 90%,transparent 100%);mask-composite:intersect}.jc-page-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.jc-page-portrait.formal img{object-position:center 12%}.jc-hero-values{margin-top:26px;font:700 12px/1.4 var(--jc-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--jc-gold2)}

/* paper and content */
.jc-content-section{padding:62px 0}.jc-content-section.light-paper{background:radial-gradient(circle at 15% 15%,rgba(206,197,178,.18),transparent 25%),#f7f6f1;color:var(--jc-ink)}.jc-content-section.dark{background:#071a31;color:#fff}.jc-content-section.dark.textured{background:radial-gradient(circle at 80% 0,rgba(19,72,118,.35),transparent 32%),linear-gradient(160deg,#05162b,#092b4c)}.jc-content-card{background:#fff;border:1px solid #e3dfd6;padding:38px;box-shadow:0 16px 44px rgba(6,25,48,.09)}.jc-content-card.no-shadow{box-shadow:none;background:rgba(255,255,255,.66)}.jc-content-card h2,.jc-story-copy h2,.jc-office-intro-copy h2,.jc-impact-grid h2,.jc-polling-grid h2{font:800 clamp(31px,4vw,52px)/1.05 var(--jc-serif);margin:0 0 18px;color:#102844}.jc-content-card p,.jc-story-copy p,.jc-office-intro-copy p,.jc-impact-grid p{font-size:15px;color:#34465b}.jc-center-heading{text-align:center;max-width:940px;margin:0 auto 30px}.jc-center-heading h2{font:800 clamp(30px,4vw,48px)/1.05 var(--jc-serif);text-transform:uppercase;margin:7px 0}.jc-center-heading p:not(.jc-section-label){color:rgba(255,255,255,.76)}.jc-center-heading.dark h2{color:#102844}.jc-center-heading.dark p{color:#3e5369}

/* about */
.jc-story-grid{display:grid;grid-template-columns:1.2fr .82fr .55fr;gap:8px;align-items:stretch}.jc-story-copy{padding:30px 30px 30px 0}.jc-story-photo{position:relative;min-height:430px;overflow:hidden}.jc-story-photo img{width:100%;height:100%;object-fit:cover;object-position:center 17%}.jc-story-scenic{background:linear-gradient(180deg,rgba(2,19,38,.1),rgba(2,19,38,.25)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat;min-height:430px}.jc-values-strip{background:linear-gradient(90deg,#071b33,#0b2c4c);padding:30px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.jc-values-head{display:flex;align-items:end;gap:20px;margin-bottom:20px}.jc-values-head span{font-size:12px;color:rgba(255,255,255,.68)}.jc-values-grid{display:grid;gap:0}.jc-values-grid.four{grid-template-columns:repeat(4,1fr)}.jc-values-grid article{text-align:center;padding:14px 26px;border-left:1px solid rgba(255,255,255,.2)}.jc-values-grid article:first-child{border-left:0}.jc-values-grid article>span{width:54px;height:54px;border:2px solid var(--jc-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--jc-gold2)}.jc-values-grid .jc-svg{width:29px;height:29px}.jc-values-grid h3{font:800 14px/1.1 var(--jc-serif);text-transform:uppercase;margin:0 0 7px}.jc-values-grid p{font-size:12px;color:rgba(255,255,255,.75);margin:0}.jc-values-grid.light article{border-left-color:#d7d0c1}.jc-values-grid.light article>span{color:#0f3159;border:0;border-radius:0}.jc-values-grid.light h3{color:#102844}.jc-values-grid.light p{color:#43566a}.jc-local-roots-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.jc-photo-quote{position:relative;min-height:470px;overflow:hidden;background:#071a31}.jc-photo-quote img{width:100%;height:100%;object-fit:cover}.jc-photo-quote::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(3,14,29,.82) 100%)}.jc-photo-quote blockquote,.jc-photo-quote cite{position:absolute;z-index:2;left:28px;right:28px;color:white}.jc-photo-quote blockquote{bottom:65px;font:600 24px/1.25 var(--jc-script);font-style:italic;margin:0}.jc-photo-quote cite{bottom:30px;font:700 11px/1 var(--jc-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--jc-gold2)}.jc-mini-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.jc-mini-feature-grid>div{padding:18px 14px;background:#f8f6f0;border:1px solid #ded8ca}.jc-mini-feature-grid .jc-svg{width:32px;height:32px;color:#0d3159}.jc-mini-feature-grid strong{display:block;font:800 12px/1.15 var(--jc-serif);text-transform:uppercase;margin:7px 0}.jc-mini-feature-grid span{font-size:11px;color:#596878}.jc-scenic-quote-band{position:relative;padding:50px 0;color:white;background:linear-gradient(90deg,rgba(5,23,43,.78),rgba(5,23,43,.4)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat;border-top:2px solid var(--jc-gold);border-bottom:1px solid rgba(255,255,255,.15)}.jc-scenic-quote-band .jc-container{text-align:center}.jc-scenic-quote-band strong{font:800 13px/1 var(--jc-serif);text-transform:uppercase;letter-spacing:.2em;color:var(--jc-gold2)}.jc-scenic-quote-band blockquote{font:600 clamp(24px,3vw,40px)/1.2 var(--jc-script);font-style:italic;margin:12px auto;max-width:980px}.jc-scenic-quote-band cite{font:700 12px/1 var(--jc-serif);text-transform:uppercase;letter-spacing:.2em;color:var(--jc-gold2)}

/* office page */
.jc-office-hero .jc-page-hero-copy{padding-top:110px}.jc-office-intro-grid{display:grid;grid-template-columns:42% 58%;align-items:center;gap:36px}.jc-office-intro-photo{height:420px;overflow:hidden}.jc-office-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.jc-office-intro-copy{padding-right:50px}.jc-office-intro-copy blockquote{font:600 26px/1.25 var(--jc-script);font-style:italic;color:#183a5c;border-left:3px solid var(--jc-gold);padding-left:18px}.jc-responsibility-grid{margin-top:28px}.jc-impact-grid{display:grid;grid-template-columns:46% 54%;gap:35px;align-items:center}.jc-impact-image{height:360px;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.08)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat;border:1px solid #d5cdbc}.jc-impact-callout{display:flex;gap:16px;align-items:center;margin-top:22px;padding:18px;background:#fff;border:1px solid #d8d2c6}.jc-impact-callout .jc-svg{width:62px;height:62px;color:#0d3159;flex:0 0 auto}.jc-impact-callout strong{display:block;font:800 16px/1.2 var(--jc-serif);text-transform:uppercase;color:#102844}.jc-impact-callout span{display:block;font-size:12px;color:#4e6071;margin-top:5px}.jc-impact-callout.big .jc-svg{width:85px;height:85px}

/* experience page */
.jc-experience-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jc-experience-feature-grid article{display:grid;grid-template-columns:54px 1fr 38%;min-height:235px;border:1px solid rgba(255,255,255,.3);background:rgba(6,27,50,.7);overflow:hidden}.jc-experience-feature-grid article>span{margin:24px 0 0 20px;width:44px;height:44px;border:1px solid var(--jc-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--jc-gold2)}.jc-experience-feature-grid article>span .jc-svg{width:25px;height:25px}.jc-experience-feature-grid article>div:nth-child(2){padding:24px 18px}.jc-experience-feature-grid h3{font:800 18px/1.18 var(--jc-serif);text-transform:uppercase;margin:0 0 10px}.jc-experience-feature-grid p{font-size:13px;color:rgba(255,255,255,.78)}.jc-feature-photo{background-size:cover;background-position:center}.jc-feature-photo.solar{background-image:linear-gradient(rgba(4,22,42,.2),rgba(4,22,42,.15)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg'))}.jc-feature-photo.wind{background-image:linear-gradient(rgba(4,22,42,.2),rgba(4,22,42,.15)),image-set(url('../img/derived/greenery-sky.webp') type('image/webp'), url('../img/derived/greenery-sky.jpg') type('image/jpeg'))}.jc-feature-photo.team{background-image:linear-gradient(rgba(4,22,42,.15),rgba(4,22,42,.15)),image-set(url('../img/jon-formal.webp') type('image/webp'), url('../img/jon-formal.jpg') type('image/jpeg'))}.jc-feature-photo.flag{background-image:linear-gradient(135deg,rgba(6,28,58,.15),rgba(188,18,39,.28)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg'))}.jc-guiding-values-section{padding-top:50px}

/* updates page */
.jc-updates-page .jc-update-grid{grid-template-columns:repeat(3,1fr);gap:20px}.jc-updates-page .jc-update-card img{height:190px}.jc-updates-page .jc-update-card>div{padding:18px}.jc-filter-bar{display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:10px;align-items:center;margin-bottom:25px}.jc-filter-bar>*{background:#e9edf2;padding:13px;text-align:center;font-size:11px;font-weight:800}.jc-filter-bar strong{background:#092847;color:#fff;text-transform:uppercase;letter-spacing:.12em;text-align:left;padding-left:20px}.jc-filter-bar span:first-of-type{background:var(--jc-red);color:white}.jc-center-action{text-align:center;margin-top:28px}.jc-updates-cta{background:linear-gradient(90deg,rgba(5,23,43,.92),rgba(5,23,43,.52)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat;border-top:2px solid var(--jc-gold);border-bottom:1px solid rgba(255,255,255,.15)}.jc-updates-cta .jc-container{display:grid;grid-template-columns:72px 1fr auto;gap:22px;align-items:center;padding:38px 0}.jc-updates-cta h2{font:800 34px/1 var(--jc-serif);text-transform:uppercase;margin:0 0 6px}.jc-updates-cta p{margin:0;color:rgba(255,255,255,.78)}

/* voting */
.jc-vote-date-section{padding:28px 0}.jc-vote-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.jc-vote-date-grid article{display:grid;grid-template-columns:86px 1fr;gap:24px;padding:28px 35px;background:#fff;border:1px solid #ddd5c4;box-shadow:0 10px 30px rgba(6,25,48,.07)}.jc-vote-date-grid article>.jc-svg{width:75px;height:75px;color:#0b3159}.jc-vote-date-grid h2{font:800 25px/1 var(--jc-serif);text-transform:uppercase;color:#102844;margin:0 0 6px}.jc-vote-date-grid strong{display:block;font:800 18px/1.2 var(--jc-serif);text-transform:uppercase;color:#142f4d}.jc-vote-date-grid p{color:#506173;font-size:13px}.jc-polling-search-section{background:linear-gradient(90deg,rgba(4,22,42,.98),rgba(5,31,57,.72)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) right/cover no-repeat;border-top:2px solid var(--jc-gold);border-bottom:2px solid var(--jc-gold);padding:50px 0}.jc-polling-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}.jc-polling-grid h2{color:white}.jc-polling-grid article>p{color:rgba(255,255,255,.82)}.jc-faux-search{display:flex;align-items:center;gap:12px;background:white;color:#44566b;padding:13px 16px;margin:20px 0 12px;max-width:540px;border-radius:4px}.jc-faux-search .jc-svg{width:22px;height:22px;color:#0b3159}.jc-polling-grid small{display:block;margin-top:10px;color:rgba(255,255,255,.7)}.jc-polling-grid aside{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.jc-county-stone{height:240px;background:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.7)),image-set(url('../img/derived/columns-wide.webp') type('image/webp'), url('../img/derived/columns-wide.jpg') type('image/jpeg')) center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#1b2e43;border:1px solid rgba(255,255,255,.45)}.jc-county-stone strong{font:800 26px/1.3 var(--jc-serif);text-transform:uppercase;letter-spacing:.12em}.jc-polling-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.jc-polling-grid li{position:relative;padding-left:24px;font-size:13px}.jc-polling-grid li::before{content:"★";position:absolute;left:0;color:var(--jc-gold2)}.jc-vote-resources{align-items:start}.jc-resource-link{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:#f5f6f7;border:1px solid #dde1e5;margin-top:12px;color:#102844}.jc-resource-link .jc-svg{width:35px;height:35px}.jc-resource-link strong{display:block;font:800 13px/1.1 var(--jc-serif);text-transform:uppercase}.jc-resource-link small{display:block;color:#607183;margin-top:4px}

/* involved */
.jc-involved-message-section{background:#071a31}.jc-involved-message-grid{display:grid;grid-template-columns:1.05fr .95fr}.jc-involved-message-grid .jc-message-card{border-right:1px solid rgba(255,255,255,.2)}.jc-people-card{background:#fff;color:#102844;display:grid;grid-template-columns:48% 52%;min-height:300px}.jc-people-card img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.jc-people-card>div{padding:32px 30px}.jc-people-card p:not(.jc-section-label){font-size:14px;color:#435569}.jc-action-grid{gap:12px}.jc-signup-scenic-section{background:linear-gradient(90deg,rgba(4,22,42,.96),rgba(4,22,42,.35)),image-set(url('../img/derived/hill-country.webp') type('image/webp'), url('../img/derived/hill-country.jpg') type('image/jpeg')) center/cover no-repeat;border-top:2px solid var(--jc-gold);padding:36px 0}.jc-signup-scenic-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch}.jc-signup-panel.light{background:linear-gradient(135deg,rgba(4,22,42,.96),rgba(8,49,87,.88))}.jc-scenic-sign{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(rgba(244,238,224,.9),rgba(244,238,224,.82)),image-set(url('../img/derived/fence-texture.webp') type('image/webp'), url('../img/derived/fence-texture.jpg') type('image/jpeg')) center/cover no-repeat;border:1px solid rgba(255,255,255,.5);color:#142c46;padding:35px}.jc-scenic-sign strong{font:800 28px/1.3 var(--jc-serif);text-transform:uppercase;letter-spacing:.05em}.jc-scenic-sign span{font:600 22px/1.15 var(--jc-script);font-style:italic;margin-top:20px}

/* plugin notice */
.jc-plugin-notice{padding:12px;background:rgba(255,220,122,.13);border:1px solid rgba(255,220,122,.4);font-size:12px}

/* WordPress single/archive */
.jc-single-post{max-width:900px;margin:auto}.jc-single-post img{margin-bottom:25px}.jc-single-post h1{font:800 44px/1.08 var(--jc-serif);color:#102844}.archive .jc-content-section,.single-jc_update .jc-content-section{min-height:60vh}

/* responsive */
@media(max-width:1120px){
 .jc-header-inner{grid-template-columns:200px 1fr 140px}.jc-menu{gap:17px}.jc-menu a{font-size:11px}.jc-hero-grid{grid-template-columns:37% 51% 12%}.jc-hero-right .jc-hero-county-mark span{display:none}.jc-vertical-words{font-size:9px}.jc-office-cards{grid-template-columns:1fr!important}.jc-experience-panel::after{display:none}.jc-experience-list{padding-right:0}.jc-election-grid{grid-template-columns:1fr 1fr}.jc-election-cta{justify-self:start}.jc-footer-main{grid-template-columns:1fr 1.2fr 1fr}.jc-footer-county{display:none}.jc-experience-feature-grid article{grid-template-columns:50px 1fr}.jc-feature-photo{display:none}
}
@media(max-width:850px){
 body.admin-bar .jc-site-header{top:46px}.jc-header-inner{grid-template-columns:1fr auto 48px;min-height:68px}.jc-header-mark{display:none}.jc-mobile-toggle{display:block;grid-column:3}.jc-nav{position:absolute;top:68px;left:0;right:0;display:none;background:#041226;border-top:1px solid rgba(255,255,255,.1);padding:10px 20px 20px}.jc-nav.is-open{display:block}.jc-menu{display:grid;gap:0}.jc-menu a{display:block;padding:13px 0}.jc-menu a::after{bottom:5px;width:60px}.jc-logo{justify-items:start;max-width:180px}.jc-logo::before,.jc-logo::after{display:none}
 .jc-home-hero{min-height:auto}.jc-hero-grid{grid-template-columns:1fr;align-items:center;min-height:auto;padding:30px 0 45px}.jc-hero-left{height:400px}.jc-hero-portrait-shell{height:100%;max-width:520px;margin:auto}.jc-side-quote{left:20px}.jc-hero-copy{padding:18px 0 10px}.jc-hero-right{display:none}.jc-hero-civic{inset:0}.jc-patriot-wash{width:65%;opacity:.55}.jc-message-about-grid,.jc-two-column,.jc-two-column.updates-layout,.jc-page-hero-grid,.jc-page-hero-grid.reverse,.jc-story-grid,.jc-local-roots-grid,.jc-office-intro-grid,.jc-impact-grid,.jc-involved-message-grid,.jc-signup-scenic-grid,.jc-polling-grid,.jc-vote-date-grid{grid-template-columns:1fr}.jc-page-hero-grid.reverse .jc-page-hero-copy,.jc-page-hero-grid.reverse .jc-page-portrait{order:initial}.jc-message-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.jc-about-teaser{grid-template-columns:1fr 36%}.jc-card-grid.three,.jc-card-grid.four,.jc-update-grid,.jc-updates-page .jc-update-grid,.jc-values-grid.four,.jc-experience-feature-grid{grid-template-columns:1fr 1fr}.jc-election-grid{grid-template-columns:1fr 1fr}.jc-footer-main{grid-template-columns:1fr 1fr}.jc-footer-nav{display:none}.jc-footer-bottom .jc-container{flex-direction:column;text-align:center}.jc-page-portrait{height:400px}.jc-story-scenic{display:none}.jc-story-copy{padding-right:0}.jc-mini-feature-grid{grid-template-columns:1fr}.jc-values-grid article:nth-child(3){border-left:0}.jc-polling-grid aside{grid-template-columns:1fr}.jc-filter-bar{grid-template-columns:repeat(3,1fr)}.jc-filter-bar strong{grid-column:1/-1}.jc-updates-cta .jc-container{grid-template-columns:60px 1fr}.jc-updates-cta .jc-btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:560px){
 .jc-container{width:min(100% - 24px,1320px)}.jc-hero-copy h1{font-size:58px}.jc-hero-copy h2{font-size:25px}.jc-hero-copy h2 em{font-size:29px}.jc-button-row{display:grid}.jc-btn{width:100%}.jc-hero-left{height:340px}.jc-side-quote{display:none}.jc-message-card{padding:30px 24px 30px 55px}.jc-message-card .jc-quote-mark{left:18px}.jc-message-card blockquote{font-size:25px}.jc-about-teaser{grid-template-columns:1fr}.jc-about-photo-wrap{height:300px}.jc-panel{padding:28px 20px}.jc-card-grid.three,.jc-card-grid.four,.jc-update-grid,.jc-updates-page .jc-update-grid,.jc-values-grid.four,.jc-experience-feature-grid,.jc-election-grid{grid-template-columns:1fr}.jc-election-cta{width:100%}.jc-footer-main{grid-template-columns:1fr}.jc-footer-contact{border-left:0;padding-left:0}.jc-page-hero{min-height:auto}.jc-page-hero-grid{min-height:auto}.jc-page-hero-copy{padding:55px 0 15px}.jc-page-portrait{height:350px}.jc-page-hero h1{font-size:45px}.jc-page-hero h2{font-size:20px}.jc-values-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.jc-values-grid article:first-child{border-top:0}.jc-values-grid.light article{border-top-color:#ddd5c8}.jc-office-intro-copy{padding-right:0}.jc-experience-feature-grid article{grid-template-columns:45px 1fr}.jc-filter-bar{grid-template-columns:1fr 1fr}.jc-filter-bar strong{grid-column:1/-1}.jc-updates-cta .jc-container{grid-template-columns:1fr}.jc-vote-date-grid article{grid-template-columns:1fr}.jc-polling-grid aside{grid-template-columns:1fr}.jc-people-card{grid-template-columns:1fr}.jc-people-card img{height:300px}.jc-signup-panel{padding:25px 20px}.jc-footer-bottom em{font-size:14px}
}
.jc-page-hero.compact{min-height:380px}.jc-page-hero.compact .jc-page-hero-copy{padding:72px 0}.jc-page-hero.compact h1{font-size:clamp(42px,5vw,70px)}.jc-post-list{display:grid;gap:18px}.jc-post-list .jc-content-card h2{font:800 26px/1.1 var(--jc-serif);color:#102844}

/* =========================================================
   Fidelity v5 — desktop composition matched to approved mockup
   ========================================================= */
@media (min-width:1200px){
  body.jc-campaign-site{background:#041225;}
  .jc-container{width:min(1376px,calc(100% - 34px));}
  .jc-site-header{height:54px;min-height:54px;background:#031122;border-bottom:1px solid rgba(255,255,255,.10);box-shadow:none;}
  .jc-header-inner{width:min(1390px,calc(100% - 36px));min-height:54px;height:54px;grid-template-columns:205px 1fr 160px;gap:18px;}
  .jc-logo{transform:scale(.84);transform-origin:left center;}
  .jc-menu{gap:34px;justify-content:center;}
  .jc-menu a{font-size:11px;letter-spacing:.01em;padding:19px 0 16px;}
  .jc-menu a::after{height:2px;bottom:10px;}
  .jc-header-mark{font-size:9px;letter-spacing:.18em;gap:9px;}
  .jc-header-mark .jc-svg{width:36px;height:36px;}

  /* HERO — one cinematic composition instead of separate blocks */
  .jc-home-hero{min-height:272px;height:272px;background:#07172a image-set(url('../img/fidelity/hero-composite.webp') type('image/webp'), url('../img/fidelity/hero-composite.jpg') type('image/jpeg')) center/cover no-repeat;border-bottom:2px solid rgba(242,208,128,.58);}
  .jc-home-hero::before{background:linear-gradient(90deg,rgba(3,13,27,.08) 0%,rgba(3,13,27,.16) 30%,rgba(3,13,27,.68) 44%,rgba(3,13,27,.45) 72%,rgba(3,13,27,.25) 100%);z-index:-1;}
  .jc-home-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 87% 1%,rgba(255,213,126,.25),transparent 19%),linear-gradient(180deg,rgba(1,8,19,.03),rgba(1,8,19,.22));pointer-events:none;}
  .jc-hero-civic,.jc-patriot-wash{display:none;}
  .jc-hero-grid{height:272px;min-height:272px;grid-template-columns:33% 49% 18%;align-items:center;}
  .jc-hero-left{height:272px;align-items:center;}
  .jc-hero-portrait-shell{display:none;}
  .jc-side-quote{left:5px;bottom:24px;font-size:14px;line-height:1.12;text-shadow:0 2px 12px #000;}
  .jc-side-quote span{font-size:14px;margin-top:8px;}
  .jc-hero-copy{align-self:center;padding:20px 6px 14px;}
  .jc-kicker{font-size:11px;letter-spacing:.25em;}
  .jc-hero-copy h1{font-size:72px;line-height:.88;margin:0 0 1px;letter-spacing:.015em;}
  .jc-red-rule{margin:5px auto 3px;max-width:535px;gap:10px;}
  .jc-red-rule span{height:2px;}
  .jc-red-rule b{font-size:12px;letter-spacing:6px;}
  .jc-hero-copy h2{font-size:27px;line-height:1.02;margin:2px 0 7px;letter-spacing:.015em;}
  .jc-hero-copy h2 em{font-size:28px;margin-right:6px;}
  .jc-hero-copy h2 span{font-size:.65em;letter-spacing:.34em;}
  .jc-hero-tag{font-size:10px;letter-spacing:.20em;margin:3px 0;}
  .jc-button-row{gap:9px;margin-top:12px;}
  .jc-btn{min-height:36px;padding:0 18px;font-size:10px;border-radius:3px;box-shadow:0 5px 18px rgba(0,0,0,.24);}
  .jc-hero-right{height:272px;padding:14px 0 23px;}
  .jc-hero-county-mark{font-size:9px;letter-spacing:.18em;}
  .jc-hero-county-mark .jc-svg{width:34px;height:34px;}
  .jc-vertical-words{font-size:9px;line-height:1.65;letter-spacing:.22em;}
  .jc-vertical-words b{font-size:14px;}
  .jc-hero-stars{display:none;}
  .jc-light-streak-bottom{bottom:-1px;}

  /* MESSAGE + ABOUT */
  .jc-message-about{height:205px;min-height:205px;background:#071b33;}
  .jc-message-about::before{background:linear-gradient(90deg,rgba(4,19,39,.97) 0 40%,rgba(4,20,41,.72) 64%,rgba(4,20,41,.55)),image-set(url('../img/fidelity/about-strip.webp') type('image/webp'), url('../img/fidelity/about-strip.jpg') type('image/jpeg')) right center/55% 100% no-repeat;}
  .jc-message-about-grid{height:205px;min-height:205px;grid-template-columns:44% 56%;}
  .jc-message-card{padding:18px 36px 16px 62px;}
  .jc-message-card .jc-section-label{margin-bottom:7px;}
  .jc-message-card .jc-quote-mark{left:22px;top:43px;font-size:47px;}
  .jc-message-card blockquote{font-size:24px;line-height:1.10;margin:0 0 11px;max-width:510px;}
  .jc-message-card cite{font-size:10px;}
  .jc-about-teaser{grid-template-columns:1fr 40%;}
  .jc-about-copy{padding:17px 26px;}
  .jc-about-copy .jc-section-label{margin-bottom:7px;}
  .jc-about-copy p:not(.jc-section-label){font-size:11px;line-height:1.34;margin:0 0 7px;}
  .jc-outline-link{margin-top:3px;padding:7px 11px;font-size:9px;}
  .jc-about-photo-wrap{height:205px;}
  .jc-about-photo-wrap img{object-position:center 19%;filter:saturate(.9) contrast(1.05);}
  .jc-script-note{right:12px;bottom:20px;font-size:18px;}

  /* OFFICE + EXPERIENCE */
  .jc-office-experience{height:242px;min-height:242px;}
  .jc-office-experience>.jc-container{height:242px;}
  .jc-panel{padding:18px 28px;}
  .jc-section-label{font-size:11px;letter-spacing:.20em;margin-bottom:8px;}
  .jc-panel-lead{font-size:13px;line-height:1.2;margin:0 0 14px;}
  .jc-card-grid{gap:10px;}
  .jc-icon-card{padding:13px 10px;min-height:133px;}
  .jc-icon-ring{width:42px;height:42px;margin-bottom:8px;}
  .jc-icon-ring .jc-svg{width:38px;height:38px;}
  .jc-icon-card h3{font-size:12px;margin-bottom:6px;line-height:1.05;}
  .jc-icon-card p{font-size:10px;line-height:1.25;}
  .jc-motto{font-size:8px;margin-top:13px;gap:10px;}
  .jc-experience-panel{background:linear-gradient(90deg,rgba(4,18,35,.97),rgba(4,18,35,.66)),image-set(url('../img/derived/columns-wide.webp') type('image/webp'), url('../img/derived/columns-wide.jpg') type('image/jpeg')) right/cover no-repeat;}
  .jc-experience-panel::after{top:19px;right:12px;font-size:8px;line-height:1.65;}
  .jc-experience-list{gap:8px;padding-right:72px;}
  .jc-experience-list li{grid-template-columns:34px 1fr;gap:9px;}
  .jc-experience-list>li>span{width:30px;height:30px;}
  .jc-experience-list span .jc-svg{width:18px;height:18px;}
  .jc-experience-list strong{font-size:11px;}
  .jc-experience-list p{font-size:9px;line-height:1.25;margin-top:2px;}
  .jc-text-link{margin-top:8px;font-size:9px;}

  /* UPDATES + SIGNUP */
  .jc-updates-signup{height:164px;min-height:164px;padding:10px 0;background:#f6f7f8;}
  .jc-updates-signup>.jc-container{height:144px;}
  .jc-two-column.updates-layout{grid-template-columns:1.47fr .80fr;gap:18px;}
  .jc-section-row{margin-bottom:7px;}
  .jc-section-row a{font-size:9px;}
  .jc-update-card img{height:54px;}
  .jc-update-card>div{padding:7px 8px;}
  .jc-date{font-size:7px;}
  .jc-update-card h3{font-size:11px;margin:3px 0 2px;line-height:1.06;}
  .jc-update-card p{font-size:8.5px;line-height:1.15;min-height:18px;margin:3px 0;}
  .jc-update-card a{font-size:9px;}
  .jc-signup-panel{padding:12px 17px;}
  .jc-signup-panel .jc-section-label{margin-bottom:4px;}
  .jc-signup-panel h2{font-size:15px;margin:0 0 7px;line-height:1.1;}
  .jc-signup-form{gap:5px;grid-template-columns:1fr 1fr;}
  .jc-signup-form input[type="text"],.jc-signup-form input[type="email"]{height:27px;font-size:9px;padding:0 8px;}
  .jc-signup-form label{font-size:8.5px;line-height:1.2;grid-column:1/-1;}
  .jc-signup-form .jc-btn{grid-column:1/-1;height:29px;min-height:29px;font-size:9px;}
  .jc-polling-link{min-height:28px;margin-top:5px;font-size:8px;}
  .jc-mini-motto{font-size:6.5px;margin-top:5px;}

  /* ELECTION BAND */
  .jc-election-band{height:70px;min-height:70px;background:#06172b;}
  .jc-election-scenic{background:linear-gradient(90deg,rgba(5,20,39,.78),rgba(5,20,39,.36)),image-set(url('../img/fidelity/election-scenic.webp') type('image/webp'), url('../img/fidelity/election-scenic.jpg') type('image/jpeg')) center/cover no-repeat;}
  .jc-election-grid{height:70px;padding:8px 0;grid-template-columns:1.26fr .92fr .92fr auto;gap:14px;}
  .jc-election-title{gap:10px;}
  .jc-texas-badge{width:42px;height:42px;}
  .jc-election-title strong{font-size:9px;}
  .jc-date-block{grid-template-columns:32px 1fr;gap:7px;}
  .jc-date-block .jc-svg{width:28px;height:28px;}
  .jc-date-block small{font-size:7px;}
  .jc-date-block strong{font-size:11px;}
  .jc-date-block em{font-size:7px;}
  .jc-election-cta{font-size:8px;min-height:31px;padding-inline:12px;}

  /* FOOTER */
  .jc-site-footer{height:99px;min-height:99px;}
  .jc-footer-main{height:66px;padding:8px 0;grid-template-columns:190px 1.25fr 1fr 155px;gap:18px;}
  .jc-footer-brand strong{font-size:18px;}
  .jc-footer-brand span:not(.jc-logo-star){font-size:7px;}
  .jc-footer-contact{gap:4px;padding-left:16px;}
  .jc-footer-contact>span{font-size:8px;}
  .jc-footer-contact .jc-svg{width:13px;height:13px;}
  .jc-footer-nav{font-size:7.5px;gap:3px 12px;padding-left:16px;}
  .jc-footer-county{font-size:7px;padding-left:14px;}
  .jc-footer-county .jc-svg{width:34px;height:34px;}
  .jc-footer-bottom{height:31px;padding:6px 0;}
  .jc-footer-bottom .jc-container{font-size:6.5px;}
  .jc-footer-bottom em{font-size:12px;}

  /* Make the page composition intentionally dense, matching the approved 1448x1086 presentation. */
  .home .jc-main{min-height:0;}
}
@media (min-width:1200px){
  .jc-home-hero{height:265px;min-height:265px;}
  .jc-hero-grid,.jc-hero-left,.jc-hero-right{height:265px;min-height:265px;}
  .jc-message-about,.jc-message-about-grid{height:190px;min-height:190px;}
  .jc-about-photo-wrap{height:190px;}
  .jc-message-card blockquote{font-size:22px;}
  .jc-about-copy{padding:14px 24px;}
  .jc-about-copy p:not(.jc-section-label){font-size:10.5px;}
  .jc-office-experience,.jc-office-experience>.jc-container{height:230px;min-height:230px;}
  .jc-panel{padding:15px 26px;}
  .jc-icon-card{min-height:125px;padding:11px 9px;}
  .jc-experience-list{gap:7px;}
  .jc-updates-signup{height:180px;min-height:180px;padding:8px 0;}
  .jc-updates-signup>.jc-container{height:164px;}
  .jc-update-card img{height:59px;}
  .jc-update-card>div{padding:6px 8px;}
  .jc-update-card p{font-size:8px;min-height:15px;}
  .jc-signup-panel{padding:9px 15px;}
  .jc-signup-panel h2{font-size:14px;margin-bottom:5px;}
  .jc-signup-form{gap:4px;grid-template-columns:1fr 1fr;}
  .jc-signup-form input[type="text"],.jc-signup-form input[type="email"]{height:25px;}
  .jc-signup-form label{font-size:8px;}
  .jc-signup-form .jc-btn{grid-column:2;height:26px;min-height:26px;margin-top:-29px;}
  .jc-polling-link{height:27px;min-height:27px;margin-top:4px;}
  .jc-mini-motto{margin-top:4px;}
  .jc-election-band,.jc-election-grid{height:65px;min-height:65px;}
  .jc-site-footer{height:92px;min-height:92px;}
  .jc-footer-main{height:62px;}
  .jc-footer-bottom{height:30px;}
}

/* =========================================================
   Fidelity v5.1 — approved-artwork desktop fidelity layer.
   The approved mockup is used only as the visual foundation
   for static campaign sections. Dynamic updates/signup stay live.
   Mobile/tablet continue to use the responsive HTML implementation.
   ========================================================= */
@media (min-width:1200px){
  /* Header is visually baked into the approved hero at the top.
     The real navigation remains clickable and reappears once scrolled. */
  .jc-site-header{
    position:absolute;top:0;left:0;right:0;height:54px;min-height:54px;
    background:transparent;border:0;box-shadow:none;z-index:95;
  }
  .jc-site-header .jc-header-inner{opacity:0;transition:opacity .18s ease;}
  .jc-site-header.is-scrolled{
    position:fixed;background:rgba(3,14,29,.96);border-bottom:1px solid rgba(255,255,255,.11);
    box-shadow:0 10px 35px rgba(0,0,0,.28);
  }
  .jc-site-header.is-scrolled .jc-header-inner{opacity:1;}

  /* Exact approved hero artwork; HTML remains in place for links/semantics. */
  .jc-home-hero{
    height:320px!important;min-height:320px!important;
    background:#06182e image-set(url('../img/fidelity/approved-hero.webp') type('image/webp'), url('../img/fidelity/approved-hero.jpg') type('image/jpeg')) center top/100% 100% no-repeat!important;
    border:0!important;
  }
  .jc-home-hero::before,.jc-home-hero::after,.jc-home-hero .jc-light-streak,
  .jc-home-hero .jc-hero-civic,.jc-home-hero .jc-patriot-wash,.jc-home-hero .jc-hero-stars{display:none!important;}
  .jc-home-hero .jc-hero-grid{height:320px!important;min-height:320px!important;opacity:0;}
  .jc-home-hero .jc-hero-grid a{pointer-events:auto;}

  /* Exact approved message/about strip. */
  .jc-message-about{
    height:205px!important;min-height:205px!important;
    background:#071b33 image-set(url('../img/fidelity/approved-message-about.webp') type('image/webp'), url('../img/fidelity/approved-message-about.jpg') type('image/jpeg')) center/100% 100% no-repeat!important;
  }
  .jc-message-about::before{display:none!important;}
  .jc-message-about-grid{height:205px!important;min-height:205px!important;opacity:0;}
  .jc-message-about-grid a{pointer-events:auto;}

  /* Exact approved office/experience strip. */
  .jc-office-experience{
    height:242px!important;min-height:242px!important;
    background:#06182d image-set(url('../img/fidelity/approved-office-experience.webp') type('image/webp'), url('../img/fidelity/approved-office-experience.jpg') type('image/jpeg')) center/100% 100% no-repeat!important;
    border:0!important;
  }
  .jc-office-experience>.jc-container{height:242px!important;min-height:242px!important;opacity:0;}
  .jc-office-experience a{pointer-events:auto;}

  /* Live dynamic updates/signup area styled to the approved artwork. */
  .jc-updates-signup{height:163px!important;min-height:163px!important;padding:8px 0!important;background:#f4f5f6!important;}
  .jc-updates-signup>.jc-container{height:147px!important;}
  .jc-two-column.updates-layout{grid-template-columns:1.42fr .83fr!important;gap:18px!important;}
  .jc-section-row{height:18px;margin:0 0 5px!important;}
  .jc-section-row .jc-section-label{font-size:10px!important;margin:0!important;color:#17304d!important;}
  .jc-section-row a{font-size:8px!important;}
  .jc-update-grid{height:122px;gap:10px!important;}
  .jc-update-card{height:122px;box-shadow:0 6px 18px rgba(3,22,44,.08)!important;}
  .jc-update-card img{height:48px!important;}
  .jc-update-card>div{padding:6px 8px!important;}
  .jc-date{font-size:6.5px!important;}
  .jc-update-card h3{font-size:10px!important;margin:2px 0!important;line-height:1.02!important;}
  .jc-update-card p{font-size:7.6px!important;line-height:1.08!important;min-height:14px!important;margin:2px 0!important;}
  .jc-update-card a{font-size:8px!important;}
  .jc-signup-panel{height:147px;padding:10px 14px!important;background:linear-gradient(135deg,#072342,#0b355b)!important;border:1px solid #315b83!important;box-shadow:none!important;}
  .jc-signup-panel::after{display:none!important;}
  .jc-signup-panel .jc-section-label{font-size:9px!important;margin-bottom:2px!important;}
  .jc-signup-panel h2{font-size:13px!important;margin:0 0 5px!important;line-height:1.05!important;}
  .jc-signup-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 6px!important;}
  .jc-signup-form input[type="text"],.jc-signup-form input[type="email"]{height:24px!important;font-size:8px!important;padding:0 7px!important;}
  .jc-signup-form label{font-size:7.5px!important;line-height:1.1!important;grid-column:1/-1!important;margin:0!important;}
  .jc-signup-form .jc-btn{grid-column:2!important;height:24px!important;min-height:24px!important;margin-top:-28px!important;font-size:7.5px!important;padding:0 8px!important;}
  .jc-polling-link{height:24px!important;min-height:24px!important;margin-top:4px!important;font-size:7.4px!important;}
  .jc-mini-motto{font-size:5.7px!important;margin-top:3px!important;}

  /* Exact election artwork. Keep real link on top but visually transparent. */
  .jc-election-band{
    height:70px!important;min-height:70px!important;
    background:#06172b image-set(url('../img/fidelity/approved-election.webp') type('image/webp'), url('../img/fidelity/approved-election.jpg') type('image/jpeg')) center/100% 100% no-repeat!important;
    border:0!important;
  }
  .jc-election-scenic{display:none!important;}
  .jc-election-grid{height:70px!important;min-height:70px!important;opacity:0;}
  .jc-election-grid a{pointer-events:auto;}

  /* Exact approved footer artwork while preserving actual footer links. */
  .jc-site-footer{
    height:86px!important;min-height:86px!important;
    background:#031020 image-set(url('../img/fidelity/approved-footer.webp') type('image/webp'), url('../img/fidelity/approved-footer.jpg') type('image/jpeg')) center/100% 100% no-repeat!important;
    border:0!important;
  }
  .jc-site-footer .jc-footer-glow{display:none!important;}
  .jc-site-footer .jc-footer-main,.jc-site-footer .jc-footer-bottom{opacity:0;}
  .jc-site-footer .jc-footer-main{height:56px!important;padding:0!important;}
  .jc-site-footer .jc-footer-bottom{height:30px!important;padding:0!important;}
  .jc-site-footer a{pointer-events:auto;}
}
@media (min-width:1200px){
  .jc-updates-signup{
    height:163px!important;min-height:163px!important;padding:0!important;
    background:#f4f5f6 image-set(url('../img/fidelity/approved-updates.webp') type('image/webp'), url('../img/fidelity/approved-updates.jpg') type('image/jpeg')) center/100% 100% no-repeat!important;
    position:relative;
  }
  .jc-updates-signup>.jc-container{
    width:100%!important;height:163px!important;margin:0!important;max-width:none!important;
    display:grid!important;grid-template-columns:55.1% 44.9%!important;gap:0!important;
  }
  .jc-updates-wrap{height:163px!important;opacity:0!important;position:relative!important;padding:0 35px!important;}
  .jc-updates-wrap a{pointer-events:auto!important;}
  .jc-signup-panel{
    height:163px!important;background:transparent!important;border:0!important;box-shadow:none!important;
    padding:0!important;position:relative!important;overflow:visible!important;
  }
  .jc-signup-panel::after,.jc-signup-panel>.jc-section-label,.jc-signup-panel>h2,.jc-mini-motto{display:none!important;}
  .jc-signup-form{position:absolute!important;left:37px!important;right:52px!important;top:63px!important;height:54px!important;display:block!important;}
  .jc-signup-form input[type="text"]{display:none!important;}
  .jc-signup-form input[type="email"]{
    position:absolute!important;left:0!important;top:0!important;width:100%!important;height:25px!important;
    background:transparent!important;border:0!important;outline:0!important;padding:0 10px!important;
    color:#23384f!important;font-size:9px!important;box-shadow:none!important;
  }
  .jc-signup-form label{position:absolute!important;left:2px!important;font-size:8px!important;color:transparent!important;display:block!important;width:360px!important;height:14px!important;}
  .jc-signup-form label:nth-of-type(1){top:28px!important;}
  .jc-signup-form label:nth-of-type(2){top:43px!important;}
  .jc-signup-form label input[type="checkbox"]{
    position:absolute!important;left:0!important;top:1px!important;width:11px!important;height:11px!important;margin:0!important;accent-color:#1678d2!important;opacity:.92!important;
  }
  .jc-signup-form .jc-btn{display:none!important;}
  .jc-polling-link{
    position:absolute!important;left:37px!important;right:52px!important;bottom:17px!important;height:28px!important;
    background:transparent!important;border:0!important;color:transparent!important;box-shadow:none!important;margin:0!important;
    z-index:5!important;
  }
}

/* Keep inner pages fully navigable; the transparent fidelity header/footer applies only to the front page. */
@media (min-width:1200px){
  body:not(.jc-front-page) .jc-site-header{
    position:sticky!important;top:0!important;height:54px!important;min-height:54px!important;
    background:rgba(3,14,29,.96)!important;border-bottom:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.18)!important;
  }
  body:not(.jc-front-page) .jc-site-header .jc-header-inner{opacity:1!important;}
  body:not(.jc-front-page) .jc-site-footer{
    height:auto!important;min-height:0!important;
    background:radial-gradient(circle at 50% -20%,#102d4d,#031020 50%)!important;
    border-top:1px solid rgba(255,255,255,.13)!important;
  }
  body:not(.jc-front-page) .jc-site-footer .jc-footer-glow{display:block!important;}
  body:not(.jc-front-page) .jc-site-footer .jc-footer-main,
  body:not(.jc-front-page) .jc-site-footer .jc-footer-bottom{opacity:1!important;}
  body:not(.jc-front-page) .jc-site-footer .jc-footer-main{height:auto!important;padding:29px 0!important;}
  body:not(.jc-front-page) .jc-site-footer .jc-footer-bottom{height:auto!important;padding:13px 0!important;}
}
@media (min-width:1200px){
  /* Functional signup control layered over the approved artwork. */
  .jc-signup-form input[type="email"]{width:77%!important;}
  .jc-signup-form .jc-btn{
    display:flex!important;position:absolute!important;right:0!important;top:0!important;
    width:21%!important;height:25px!important;min-height:25px!important;margin:0!important;padding:0 6px!important;
    background:linear-gradient(180deg,#f0cb70,#c99b3d)!important;color:#07182d!important;
    border:1px solid rgba(255,255,255,.45)!important;font-size:7px!important;box-shadow:none!important;
  }
}

/* =========================================================
   Fidelity v6.0 — precision desktop canvas
   Purpose: remove the remaining integration drift identified
   in the v5 audit while keeping WordPress links/forms live.
   Desktop renders the approved 1448x1086 composition as one
   proportional canvas. Mobile/tablet keep the responsive theme.
   ========================================================= */
.jc-fidelity-canvas{display:none;}
.jc-responsive-home{display:block;}

@media (min-width:1200px){
  html,body.jc-front-page{margin:0!important;padding:0!important;background:#031020!important;}
  body.jc-front-page{overflow-x:hidden!important;}
  body.jc-front-page .screen-reader-text{
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
  }

  /* The approved artwork already contains the visible header/footer.
     Real desktop navigation is provided by proportional link hotspots. */
  body.jc-front-page>.jc-site-header,
  body.jc-front-page .jc-site-footer{display:none!important;}
  body.jc-front-page .jc-main{margin:0!important;padding:0!important;min-height:0!important;width:100%!important;max-width:none!important;}
  body.jc-front-page .jc-responsive-home{display:none!important;}

  body.jc-front-page .jc-fidelity-canvas{
    display:block!important;
    position:relative!important;
    width:100vw!important;
    max-width:100%!important;
    aspect-ratio:1448 / 1086!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#031020!important;
    isolation:isolate;
  }
  .jc-fidelity-art{
    position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;
    user-select:none;-webkit-user-drag:none;pointer-events:none;z-index:1;
  }
  .jc-fidelity-hotspots,.jc-fidelity-signup,.jc-fidelity-polling,.jc-fidelity-election{position:absolute;inset:0;z-index:5;pointer-events:none;}
  .jc-fidelity-hotspots .hot,.jc-fidelity-polling,.jc-fidelity-election{
    position:absolute;display:block;background:transparent;border:0;text-decoration:none;pointer-events:auto;
    outline-offset:2px;border-radius:3px;
  }
  .jc-fidelity-hotspots .hot:focus-visible,.jc-fidelity-polling:focus-visible,.jc-fidelity-election:focus-visible,
  .jc-fidelity-email:focus-visible,.jc-fidelity-save:focus-visible,.jc-fidelity-check input:focus-visible + i{
    outline:2px solid #ffd36a!important;outline-offset:2px!important;
  }

  /* Primary navigation hit map (coordinates are proportional to the approved 1448x1086 artwork). */
  .jc-fidelity-nav .home{left:22.9282%;top:.8287%;width:5.3867%;height:2.9466%;}
  .jc-fidelity-nav .about{left:30.0414%;top:.8287%;width:6.5608%;height:2.9466%;}
  .jc-fidelity-nav .office{left:37.8453%;top:.8287%;width:6.6298%;height:2.9466%;}
  .jc-fidelity-nav .updates{left:45.5801%;top:.8287%;width:9.6685%;height:2.9466%;}
  .jc-fidelity-nav .voting{left:55.8011%;top:.8287%;width:7.0442%;height:2.9466%;}
  .jc-fidelity-nav .involved{left:63.5359%;top:.8287%;width:7.7348%;height:2.9466%;}

  /* Hero and About call-to-action hit map. */
  .jc-fidelity-hero-actions .hero-about{left:31.2155%;top:25.2302%;width:11.3950%;height:3.5912%;}
  .jc-fidelity-hero-actions .hero-updates{left:43.0939%;top:25.2302%;width:12.4309%;height:3.5912%;}
  .jc-fidelity-hero-actions .hero-involved{left:56.0773%;top:25.2302%;width:13.1215%;height:3.5912%;}
  .jc-fidelity-hero-actions .about-learn{left:42.4724%;top:43.7385%;width:12.7762%;height:3.6832%;}

  /* Updates cards remain visually identical to the approved reference, with real navigation hotspots. */
  .jc-fidelity-update-links .view-all{left:48.3425%;top:72.3757%;width:6.5608%;height:2.7624%;}
  .jc-fidelity-update-links .update-one{left:4.1436%;top:74.7698%;width:16.5746%;height:13.3517%;}
  .jc-fidelity-update-links .update-two{left:21.0635%;top:74.7698%;width:16.5746%;height:13.3517%;}
  .jc-fidelity-update-links .update-three{left:38.3287%;top:74.7698%;width:16.5746%;height:13.3517%;}

  /* Live signup controls are transparent at rest so the mockup remains pixel-accurate.
     Text appears only after a visitor types; checked boxes receive a small live check overlay. */
  .jc-fidelity-signup{z-index:8;}
  .jc-fidelity-signup input[type="hidden"]{display:none!important;}
  .jc-fidelity-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}
  .jc-fidelity-email{
    position:absolute!important;left:58.2873%!important;top:77.7164%!important;width:26.3122%!important;height:2.3941%!important;
    box-sizing:border-box!important;margin:0!important;padding:0 .7%!important;border:0!important;border-radius:4px!important;
    background:transparent!important;color:#23384f!important;font:500 clamp(9px,.65vw,12px)/1.1 Inter,Arial,sans-serif!important;
    box-shadow:none!important;outline:none!important;pointer-events:auto!important;
  }
  .jc-fidelity-check{
    position:absolute!important;left:58.2873%!important;width:26.2431%!important;height:1.6575%!important;
    margin:0!important;padding:0!important;cursor:pointer!important;pointer-events:auto!important;
  }
  .jc-fidelity-check.posts{top:80.4788%!important;}
  .jc-fidelity-check.voting{top:82.1363%!important;}
  .jc-fidelity-check input{
    position:absolute!important;left:0!important;top:0!important;width:1.12%!important;min-width:11px!important;height:72%!important;min-height:11px!important;
    opacity:0!important;margin:0!important;cursor:pointer!important;pointer-events:auto!important;
  }
  .jc-fidelity-check i{
    display:none;position:absolute;left:0;top:0;width:12px;height:12px;border-radius:1px;background:#1678d2;color:#fff;
    font:700 10px/12px Arial,sans-serif;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.75);
  }
  .jc-fidelity-check i::after{content:'✓';}
  .jc-fidelity-check input:checked + i{display:block;}
  .jc-fidelity-save{
    position:absolute!important;left:58.3564%!important;top:86.6483%!important;width:8.2873%!important;height:1.5654%!important;
    padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:transparent!important;
    cursor:pointer!important;pointer-events:auto!important;box-shadow:none!important;
  }
  .jc-fidelity-polling{
    left:58.1492%!important;top:83.7937%!important;width:26.4503%!important;height:2.6703%!important;z-index:9!important;
  }
  .jc-fidelity-election{
    left:0!important;top:87.8453%!important;width:100%!important;height:6.8140%!important;z-index:4!important;
  }
}

@media (max-width:1199px){
  .jc-fidelity-canvas{display:none!important;}
  .jc-responsive-home{display:block!important;}
}

/* =========================================================
   Fidelity v7 — patriotic/legal full-site desktop canvases.
   Each approved inner-page composition is preserved exactly
   as the desktop visual layer; semantic live links and forms
   are overlaid. Mobile/tablet retain the responsive HTML pages.
   ========================================================= */
.jc-v7-canvas-desktop{display:none}
.jc-v7-mobile-fallback{display:block}
.jc-v7-canvas-shell{position:relative;width:min(1448px,100%);margin:0 auto;background:#041226;box-shadow:0 30px 90px rgba(0,0,0,.42);overflow:hidden}
.jc-v7-canvas-image{display:block;width:100%;height:auto}
.jc-v7-hotspot{position:absolute;z-index:5;display:block;border-radius:6px;background:transparent;outline:0}
.jc-v7-hotspot:focus-visible{outline:3px solid #ffd06a;outline-offset:2px;background:rgba(255,208,106,.08)}
.jc-v7-modal{position:fixed;inset:0;z-index:9999;display:none;place-items:center;padding:24px}
.jc-v7-modal:target{display:grid}
.jc-v7-modal-backdrop{position:absolute;inset:0;background:rgba(1,8,18,.86);backdrop-filter:blur(12px)}
.jc-v7-modal-card{position:relative;z-index:2;width:min(620px,calc(100vw - 40px));padding:34px;background:linear-gradient(145deg,rgba(5,25,49,.98),rgba(7,49,87,.96));border:1px solid rgba(242,208,128,.55);box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 40px rgba(220,171,73,.12);color:#fff}
.jc-v7-modal-card:before,.jc-v7-modal-card:after{content:"★";position:absolute;color:#e8be68;font-size:13px;top:16px}.jc-v7-modal-card:before{left:18px}.jc-v7-modal-card:after{right:18px}
.jc-v7-modal-card h2{font:700 34px/1.05 var(--jc-serif);margin:4px 0 8px}.jc-v7-modal-card p{color:#d6dfeb}.jc-v7-modal-close{position:absolute;right:12px;top:8px;width:34px;height:34px;display:grid;place-items:center;font-size:28px;color:#fff;z-index:3}
.jc-v7-modal-card .jc-signup-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jc-v7-modal-card .jc-signup-form input[type=text],.jc-v7-modal-card .jc-signup-form input[type=email]{height:46px;background:#fff;border:0;border-radius:4px;padding:0 12px;color:#07152a}.jc-v7-modal-card .jc-signup-form label{grid-column:1/-1;color:#fff;font-size:14px}.jc-v7-modal-card .jc-signup-form .jc-btn{grid-column:1/-1;min-height:46px;background:linear-gradient(#e31d30,#ae0d1e);border-color:#ff6a79}
@media(min-width:1200px){
  body.jc-v7-canvas-page{background:#020b16}
  body.jc-v7-canvas-page .jc-site-header,body.jc-v7-canvas-page .jc-site-footer{display:none!important}
  body.jc-v7-canvas-page .jc-main{overflow:visible}
  body.jc-v7-canvas-page .jc-v7-canvas-desktop{display:block}
  body.jc-v7-canvas-page .jc-v7-mobile-fallback{display:none}
}
@media(max-width:1199px){
  body.jc-v7-canvas-page .jc-v7-canvas-desktop{display:none}
  body.jc-v7-canvas-page .jc-v7-mobile-fallback{display:block}
}

/* ============================================================
   Fidelity v8 — private front-end visual editing layer
   ============================================================ */
.jc-custom-section-overlay{position:absolute;left:0;width:100%;z-index:3;display:flex;align-items:center;overflow:hidden;pointer-events:none;padding:clamp(18px,2.7vw,42px) clamp(26px,5.5vw,82px);background:linear-gradient(100deg,rgba(3,18,38,.985) 0 58%,rgba(6,35,64,.94) 78%,rgba(5,24,45,.92));border-top:1px solid rgba(239,199,106,.32);border-bottom:1px solid rgba(239,199,106,.32);box-shadow:inset 0 12px 36px rgba(0,0,0,.16),inset 0 -12px 36px rgba(0,0,0,.16)}
.jc-custom-section-overlay.has-image{background-image:linear-gradient(90deg,rgba(3,18,38,.98) 0 45%,rgba(3,18,38,.78) 64%,rgba(3,18,38,.25) 100%),var(--jc-edit-image);background-size:cover;background-position:center}
.jc-custom-section-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(241,198,97,.14),transparent 23%),repeating-linear-gradient(125deg,transparent 0 42px,rgba(255,255,255,.014) 43px 44px);pointer-events:none}
.jc-custom-section-copy{position:relative;z-index:1;max-width:min(760px,68%);color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.jc-custom-section-copy h2{font:700 clamp(22px,3vw,52px)/1.04 var(--jc-serif);margin:0 0 .22em;text-transform:uppercase;letter-spacing:.015em;color:#fff}
.jc-custom-section-copy h2:after{content:"";display:block;width:112px;height:2px;margin-top:10px;background:linear-gradient(90deg,#d51228,#f0c86a)}
.jc-custom-section-copy p{font:500 clamp(12px,1.2vw,18px)/1.48 var(--jc-sans);margin:.65em 0 0;max-width:720px;color:#ecf2f9}

.jc-edit-region{display:none;position:absolute;left:0;width:100%;z-index:40;border:2px dashed rgba(255,210,99,.95);background:rgba(12,45,78,.12);box-shadow:inset 0 0 0 2px rgba(190,18,40,.18);cursor:pointer;padding:0;margin:0;border-radius:0}
body.jc-edit-mode .jc-edit-region{display:block}
.jc-edit-region:hover,.jc-edit-region:focus{background:rgba(215,20,42,.13);outline:0;box-shadow:inset 0 0 0 2px rgba(255,208,106,.38),0 0 36px rgba(239,199,106,.16)}
.jc-edit-region span{position:absolute;left:14px;top:10px;padding:7px 10px;background:#071b34;color:#f3d27e;border:1px solid #d8ae55;font:800 10px/1 var(--jc-sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 7px 20px rgba(0,0,0,.35)}

.jc-edit-toggle{position:fixed;right:22px;bottom:22px;z-index:100001;display:flex;align-items:center;gap:9px;min-height:48px;padding:0 18px;border:1px solid #f0c86a;border-radius:999px;background:linear-gradient(180deg,#d8172c,#ab0b1d);color:#fff;font:800 13px/1 var(--jc-sans);letter-spacing:.03em;box-shadow:0 16px 44px rgba(0,0,0,.38),0 0 0 3px rgba(239,199,106,.1);cursor:pointer}
.jc-edit-toggle span{font-size:18px}.jc-edit-toggle:hover{filter:brightness(1.08)}
body.jc-edit-mode .jc-edit-toggle{background:linear-gradient(180deg,#153b62,#071d38);color:#f1cf77}
.jc-edit-drawer{position:fixed;right:0;top:0;bottom:0;width:min(430px,94vw);z-index:100002;background:linear-gradient(180deg,#06182f,#071f3b 52%,#041225);color:#fff;border-left:1px solid rgba(239,199,106,.55);box-shadow:-25px 0 80px rgba(0,0,0,.46);transform:translateX(105%);transition:transform .24s ease;display:flex;flex-direction:column}
body.jc-edit-mode .jc-edit-drawer{transform:translateX(0)}
.jc-edit-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 18px;border-bottom:1px solid rgba(239,199,106,.35);background:radial-gradient(circle at 84% 0,rgba(239,199,106,.16),transparent 28%)}
.jc-edit-drawer header small{display:block;color:#efc86e;letter-spacing:.16em;font:800 9px/1.2 var(--jc-sans)}
.jc-edit-drawer header h2{margin:5px 0 0;font:700 28px/1 var(--jc-serif);color:#fff}.jc-edit-drawer header button{background:transparent;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.jc-edit-drawer-body{padding:22px 24px 30px;overflow:auto;display:grid;gap:17px}.jc-edit-drawer label{display:grid;gap:7px;color:#f2d486;font:800 10px/1 var(--jc-sans);text-transform:uppercase;letter-spacing:.09em}
.jc-edit-drawer input,.jc-edit-drawer textarea,.jc-edit-drawer select{width:100%;border:1px solid #3d678d;border-radius:4px;background:#f8fbff;color:#10243b;padding:11px 12px;font:500 14px/1.4 var(--jc-sans);box-shadow:inset 0 1px 4px rgba(0,0,0,.08)}
.jc-edit-drawer textarea{resize:vertical;min-height:130px}.jc-media-button{justify-self:start;margin-top:3px;padding:9px 11px;border:1px solid #d5ad59;background:#0a2b4b;color:#fff;border-radius:4px;cursor:pointer;font-weight:800}
.jc-edit-help{padding:12px 13px;border-left:3px solid #e4b958;background:rgba(255,255,255,.05);color:#cbd9e8;font-size:12px;line-height:1.45}.jc-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.jc-editor-primary,.jc-editor-secondary{min-height:44px;border-radius:4px;font:800 12px/1 var(--jc-sans);cursor:pointer}.jc-editor-primary{background:linear-gradient(#e31e32,#ae0c1f);border:1px solid #ff6675;color:#fff}.jc-editor-secondary{background:#0a2a49;border:1px solid #4f779b;color:#fff}.jc-edit-status{min-height:20px;color:#84e0a4;font-size:12px;font-weight:700}.jc-edit-status.is-error{color:#ff8793}

@media(max-width:1199px){
  .jc-custom-section-overlay{display:none}
  .jc-edit-region{display:none!important}
  .jc-edit-toggle{right:12px;bottom:12px}
}

/* Fidelity v10: attributed candidate-statement callouts.
   These are informational campaign statements, not official ballot labels. */
.jc-fidelity-canvas,.jc-v7-canvas-shell{position:relative}
.jc-candidate-statement{position:absolute;z-index:15;display:grid;grid-template-columns:28px 1fr;gap:13px;padding:14px 17px;background:linear-gradient(135deg,rgba(3,18,37,.95),rgba(8,43,77,.93));border:1px solid rgba(240,201,112,.72);box-shadow:0 16px 38px rgba(0,0,0,.34),inset 0 0 32px rgba(84,169,255,.035);color:#fff;pointer-events:none;backdrop-filter:blur(5px)}
.jc-candidate-statement::before,.jc-candidate-statement::after{content:"";position:absolute;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(238,198,105,.95),transparent)}
.jc-candidate-statement::before{top:-1px}.jc-candidate-statement::after{bottom:-1px}
.jc-candidate-statement.has-image{background:linear-gradient(110deg,rgba(3,18,37,.96),rgba(8,43,77,.72)),var(--jc-statement-image) center/cover no-repeat}
.jc-candidate-statement-star{font:900 22px/1 var(--jc-serif);color:var(--jc-gold2);padding-top:3px;text-shadow:0 0 14px rgba(242,208,128,.45)}
.jc-candidate-statement small{display:block;margin-bottom:6px;font:800 8px/1.2 var(--jc-serif);letter-spacing:.23em;text-transform:uppercase;color:var(--jc-gold2)}
.jc-candidate-statement blockquote{margin:0;color:#fff;font:600 clamp(10px,1vw,15px)/1.35 var(--jc-script);font-style:italic;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.jc-candidate-statement cite{display:block;margin-top:7px;font:700 7px/1.2 var(--jc-serif);font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.jc-candidate-statement-mobile{display:none;background:linear-gradient(135deg,#06172c,#0b3157);border-top:1px solid rgba(238,198,105,.8);border-bottom:1px solid rgba(238,198,105,.8);padding:28px 0;color:#fff;position:relative;overflow:hidden}
.jc-candidate-statement-mobile::after{content:"★";position:absolute;right:5%;top:2px;font-size:86px;color:rgba(255,255,255,.035)}
.jc-candidate-statement-mobile blockquote{max-width:980px;margin:0;font:600 22px/1.4 var(--jc-script);font-style:italic}
.jc-candidate-statement-mobile cite{display:block;margin-top:10px;font:700 11px/1 var(--jc-serif);font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:var(--jc-gold2)}
@media(max-width:1199px){.jc-candidate-statement{display:none}.jc-candidate-statement-mobile{display:block}}


/* =========================================================
   Launch v11 — public disclosure, consent and voter-facing QA
   ========================================================= */
.jc-footer-contact>a,.jc-footer-contact>span{display:flex;align-items:center;gap:10px;font-size:11px;color:#fff}.jc-footer-contact>a:hover{color:var(--jc-gold2)}
.jc-consent-note{margin:2px 0 0!important;font-size:10px!important;line-height:1.4!important;color:rgba(255,255,255,.72)!important}.jc-consent-note a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.jc-launch-empty-updates{grid-column:1/-1;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;border:1px solid #d9dfe7;background:#fff;text-align:center;color:#1a2d44;box-shadow:0 10px 25px rgba(4,22,42,.08)}.jc-launch-empty-updates strong{font:700 22px/1.2 var(--jc-serif)}.jc-launch-empty-updates span{color:#5b6b7d;font-size:13px}
.jc-privacy-page{background:linear-gradient(180deg,#071a31,#041225 44%,#f4f2ec 44%);min-height:70vh}.jc-privacy-hero{padding:85px 0 70px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(231,188,93,.16),transparent 24%),linear-gradient(90deg,rgba(3,18,38,.98),rgba(8,43,77,.92))}.jc-privacy-hero h1{font:700 clamp(38px,5vw,66px)/1 var(--jc-serif);margin:8px 0 12px}.jc-privacy-hero p{max-width:760px;font-size:17px;color:#d9e2eb}.jc-privacy-content{padding:54px 0 75px;color:#172b43}.jc-privacy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.jc-privacy-card{background:#fff;border:1px solid #d8d4ca;padding:28px;box-shadow:0 12px 30px rgba(4,22,42,.08)}.jc-privacy-card h2{font:700 24px/1.15 var(--jc-serif);margin:0 0 10px}.jc-privacy-card p,.jc-privacy-card li{font-size:14px;line-height:1.6;color:#45576b}.jc-privacy-card a{color:#a90e20;text-decoration:underline}
@media(max-width:1199px){.jc-privacy-grid{grid-template-columns:1fr}}

/* Launch v11: voter-facing corrections layered over legacy mockup text. */
.jc-launch-page-fix{position:absolute;z-index:12;color:#fff;background:linear-gradient(135deg,rgba(4,24,47,.985),rgba(7,48,84,.96));border:1px solid rgba(236,194,98,.62);box-shadow:0 14px 34px rgba(0,0,0,.34),inset 0 0 32px rgba(255,255,255,.02);padding:clamp(10px,1.25vw,20px);font-family:Inter,Arial,sans-serif}
.jc-launch-page-fix small{display:block;color:#efc86d;font:800 clamp(7px,.65vw,10px)/1.2 Cinzel,Georgia,serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.jc-launch-page-fix blockquote{margin:0;font:600 clamp(14px,1.55vw,24px)/1.24 "Playfair Display",Georgia,serif;font-style:italic}.jc-launch-page-fix cite{display:block;margin-top:8px;color:#efc86d;font:800 clamp(7px,.62vw,10px)/1 Cinzel,Georgia,serif;font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.jc-launch-involved-quote{left:6.7%;top:31.0%;width:37.2%;min-height:11.4%}
.jc-launch-involved-contact{left:31.1%;top:63.8%;width:37.8%;min-height:12.4%;display:grid;gap:5px;align-content:center}
.jc-launch-involved-contact p{margin:0 0 2px;color:#dbe6f0;font-size:clamp(8px,.72vw,12px);line-height:1.35}.jc-launch-involved-contact>a:not(.jc-launch-red-link),.jc-launch-involved-contact>span{color:#fff;font-size:clamp(8px,.72vw,12px)}
.jc-launch-red-link{display:block;margin-top:5px;padding:7px 10px;text-align:center;background:linear-gradient(#dc1c31,#ad0b1e);border:1px solid #f65c6e;color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:3px}
.jc-launch-voting-location{left:24.8%;top:49.2%;width:52.8%;min-height:10.5%;text-align:center;display:grid;align-content:center;justify-items:center}
.jc-launch-voting-location h2{font:700 clamp(18px,2vw,31px)/1.05 Cinzel,Georgia,serif;margin:0 0 5px}.jc-launch-voting-location p{max-width:620px;margin:0;color:#e2ebf4;font-size:clamp(8px,.74vw,12px);line-height:1.35}
.jc-launch-vote-actions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:9px}.jc-launch-vote-actions a{padding:6px 10px;background:linear-gradient(#dd1d32,#ad0b1e);border:1px solid #f55c6e;border-radius:3px;color:#fff;font-size:clamp(7px,.62vw,10px);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.jc-launch-electionday-note{left:26.0%;top:39.3%;width:22.5%;min-height:4.5%;display:grid;align-content:center;text-align:center;padding:8px 12px}.jc-launch-electionday-note strong,.jc-launch-vote-center-note strong{font:700 clamp(9px,.9vw,14px)/1.1 Cinzel,Georgia,serif;color:#fff}.jc-launch-electionday-note span,.jc-launch-vote-center-note span{font-size:clamp(7px,.61vw,10px);line-height:1.25;color:#e7edf4;margin-top:3px}
.jc-launch-vote-center-note{left:6.2%;top:59.1%;width:19.2%;min-height:5.1%;display:grid;align-content:center;padding:8px 12px}
@media(max-width:1199px){.jc-launch-page-fix{display:none!important}}


/* =========================================================
   Mobile Fidelity v12 — voter-facing mobile/tablet polish
   Goals: no horizontal scrolling, 16px+ form text on iOS,
   44-48px touch targets, clean card stacking, readable type,
   stable mobile nav, and cookie-banner compatibility.
   ========================================================= */
@media (max-width:1199px){
  html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
  body.jc-campaign-site{font-size:16px;line-height:1.6;overflow-x:hidden;background:#041226}
  body.jc-nav-open{overflow:hidden}
  .jc-main{overflow-x:clip}
  .jc-container{width:min(100% - 32px,980px)}
  .jc-fidelity-canvas,.jc-v7-canvas-shell{display:none!important}
  .jc-responsive-home{display:block!important}
  .jc-btn,.jc-outline-link,.jc-resource-link,.jc-election-cta{min-height:48px}
  button,input,select,textarea{font-size:16px}
  input[type="text"],input[type="email"],input[type="password"],input[type="search"],textarea,select{min-height:48px}
  .jc-signup-form input[type="text"],.jc-signup-form input[type="email"]{font-size:16px!important;min-height:50px!important}
  .jc-signup-form label{font-size:14px;line-height:1.4;min-height:32px;display:flex;align-items:flex-start;gap:9px}
  .jc-signup-form label input[type="checkbox"]{width:20px;height:20px;flex:0 0 auto;margin-top:1px}
  .jc-consent-note{font-size:12px!important;line-height:1.5!important}
  .jc-candidate-statement-mobile{padding:26px 0}
  .jc-candidate-statement-mobile blockquote{font-size:20px;line-height:1.45}
  .jc-candidate-statement-mobile cite{font-size:11px;line-height:1.3}
  .jc-privacy-hero{padding:64px 0 48px}
  .jc-privacy-hero p{font-size:16px}
  .jc-privacy-content{padding:38px 0 56px}
  .jc-privacy-card{padding:22px}
  .jc-privacy-card p,.jc-privacy-card li{font-size:16px;line-height:1.62}
}

@media (max-width:850px){
  body.admin-bar .jc-site-header{top:46px}
  .jc-site-header{position:sticky;top:0;background:rgba(3,14,29,.97);backdrop-filter:blur(14px);box-shadow:0 8px 25px rgba(0,0,0,.22)}
  .jc-header-inner{width:calc(100% - 24px);min-height:72px;grid-template-columns:1fr 52px;gap:10px}
  .jc-logo{justify-items:start;max-width:235px;padding:8px 0}
  .jc-logo-main{font-size:21px}
  .jc-logo-sub{font-size:8px;line-height:1.28}
  .jc-mobile-toggle{display:block;grid-column:2;width:48px;height:48px;padding:9px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(255,255,255,.035)}
  .jc-mobile-toggle span{height:2px;margin:6px 0}
  .jc-nav{top:72px;left:-12px;right:-12px;padding:8px 20px 18px;max-height:calc(100vh - 72px);overflow:auto;-webkit-overflow-scrolling:touch;background:rgba(3,14,29,.995);box-shadow:0 24px 50px rgba(0,0,0,.45)}
  .jc-menu{gap:0}
  .jc-menu a{display:flex;align-items:center;min-height:50px;padding:11px 2px;font-size:16px;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.08)}
  .jc-menu a::after{bottom:6px;width:54px}
  .jc-header-mark{display:none}

  .jc-home-hero{min-height:auto;padding:0 0 24px}
  .jc-hero-grid{padding:18px 0 12px;gap:8px}
  .jc-hero-left{height:300px}
  .jc-hero-portrait-shell{height:300px;max-width:440px}
  .jc-hero-copy{padding:12px 0 4px}
  .jc-hero-copy .jc-kicker{font-size:11px;line-height:1.35;letter-spacing:.16em}
  .jc-hero-copy h1{font-size:clamp(44px,12vw,72px);line-height:.94;margin-top:6px}
  .jc-hero-copy h2{font-size:clamp(21px,6.4vw,32px);line-height:1.1}
  .jc-hero-copy h2 em{font-size:1.12em}
  .jc-hero-copy h2 span{font-size:.74em;letter-spacing:.22em}
  .jc-hero-tag{font-size:12px;line-height:1.5;letter-spacing:.13em}
  .jc-button-row{gap:10px;margin-top:18px}
  .jc-btn{font-size:14px;padding:12px 16px}

  .jc-message-about-grid,.jc-two-column,.jc-two-column.updates-layout,.jc-page-hero-grid,.jc-page-hero-grid.reverse,.jc-story-grid,.jc-local-roots-grid,.jc-office-intro-grid,.jc-impact-grid,.jc-involved-message-grid,.jc-signup-scenic-grid,.jc-polling-grid,.jc-vote-date-grid{grid-template-columns:1fr}
  .jc-message-card{padding:32px 28px 32px 58px}
  .jc-message-card blockquote{font-size:clamp(24px,6vw,31px);line-height:1.3}
  .jc-about-teaser{grid-template-columns:1fr}
  .jc-about-copy{padding:28px 24px}
  .jc-about-copy p{font-size:16px;line-height:1.62}
  .jc-about-photo-wrap{height:320px}
  .jc-panel{padding:30px 22px}
  .jc-panel-lead{font-size:20px;line-height:1.35}
  .jc-experience-list p,.jc-icon-card p,.jc-content-card p,.jc-story-copy p,.jc-office-intro-copy p,.jc-impact-grid p,.jc-people-card p:not(.jc-section-label){font-size:15px;line-height:1.55}
  .jc-section-label{font-size:12px;line-height:1.35;letter-spacing:.16em}
  .jc-card-grid.three,.jc-card-grid.four,.jc-update-grid,.jc-updates-page .jc-update-grid,.jc-values-grid.four,.jc-experience-feature-grid{grid-template-columns:1fr 1fr;gap:14px}
  .jc-icon-card{min-height:210px;padding:22px 16px}
  .jc-icon-card h3{font-size:18px;line-height:1.2}
  .jc-update-card h3{font-size:19px;line-height:1.2}
  .jc-update-card p{font-size:15px;line-height:1.45}
  .jc-update-card img{height:175px;object-fit:cover}
  .jc-signup-panel{padding:28px 22px}
  .jc-signup-panel h2{font-size:28px;line-height:1.18}
  .jc-election-grid{gap:16px}
  .jc-election-grid>*{min-width:0}
  .jc-election-grid h3{font-size:20px}
  .jc-page-hero{min-height:auto}
  .jc-page-hero-grid{min-height:auto;gap:0}
  .jc-page-hero-copy{padding:42px 0 18px}
  .jc-page-hero h1{font-size:clamp(42px,10vw,64px);line-height:.98}
  .jc-page-hero h2{font-size:clamp(19px,5vw,28px);line-height:1.25}
  .jc-page-portrait{height:360px}
  .jc-vote-date-grid article{padding:24px;gap:18px}
  .jc-vote-date-grid p{font-size:15px;line-height:1.5}
  .jc-resource-link{padding:15px 14px}
  .jc-resource-link strong{font-size:14px;line-height:1.25}
  .jc-resource-link small{font-size:13px;line-height:1.4}
  .jc-polling-search-section{padding:40px 0}
  .jc-faux-search{min-height:50px;font-size:15px}
  .jc-people-card{grid-template-columns:1fr}
  .jc-people-card img{height:330px}
  .jc-people-card>div{padding:28px 24px}
  .jc-footer-main{grid-template-columns:1fr;gap:22px;padding:28px 0}
  .jc-footer-contact{border-left:0;padding-left:0;gap:10px}
  .jc-footer-contact>a,.jc-footer-contact>span{font-size:13px;min-height:34px}
  .jc-footer-brand strong{font-size:24px}
  .jc-footer-bottom .jc-container{gap:10px}
}

@media (max-width:700px){
  .jc-card-grid.three,.jc-card-grid.four,.jc-update-grid,.jc-updates-page .jc-update-grid,.jc-values-grid.four,.jc-experience-feature-grid,.jc-election-grid{grid-template-columns:1fr}
  .jc-update-grid{gap:16px}
  .jc-update-card{border-radius:7px;overflow:hidden}
  .jc-update-card img{height:200px}
  .jc-icon-card{min-height:0}
  .jc-vote-date-grid article{grid-template-columns:1fr}
  .jc-filter-bar{grid-template-columns:1fr 1fr}
  .jc-filter-bar strong{grid-column:1/-1}
}

@media (max-width:560px){
  .jc-container{width:calc(100% - 24px)}
  .jc-header-inner{width:calc(100% - 20px)}
  .jc-logo-main{font-size:19px}
  .jc-home-hero{padding-bottom:16px}
  .jc-hero-left{height:260px}
  .jc-hero-portrait-shell{height:260px;max-width:360px}
  .jc-hero-copy h1{font-size:46px}
  .jc-hero-copy h2{font-size:21px}
  .jc-button-row{display:grid;grid-template-columns:1fr}
  .jc-btn{width:100%;min-height:50px;font-size:15px}
  .jc-message-card{padding:28px 22px 28px 48px}
  .jc-message-card .jc-quote-mark{left:14px;font-size:42px}
  .jc-message-card blockquote{font-size:23px}
  .jc-about-copy{padding:24px 18px}
  .jc-about-photo-wrap{height:275px}
  .jc-panel{padding:26px 18px}
  .jc-page-hero-copy{padding:34px 0 14px}
  .jc-page-hero h1{font-size:40px}
  .jc-page-hero h2{font-size:19px}
  .jc-page-portrait{height:300px}
  .jc-story-copy h2,.jc-content-section h2,.jc-office-intro-copy h2,.jc-impact-grid h2{font-size:30px;line-height:1.12}
  .jc-signup-panel h2{font-size:25px}
  .jc-candidate-statement-mobile blockquote{font-size:18px}
  .jc-privacy-hero h1{font-size:38px}
  .jc-privacy-card h2{font-size:22px}
  .jc-footer-bottom em{font-size:14px;line-height:1.4}
}

@media (max-width:430px){
  .jc-logo-main{font-size:18px}
  .jc-logo-sub{font-size:7.5px}
  .jc-hero-left{height:235px}
  .jc-hero-portrait-shell{height:235px}
  .jc-hero-copy h1{font-size:42px}
  .jc-hero-copy h2{font-size:19px}
  .jc-hero-tag{font-size:11px}
  .jc-message-card blockquote{font-size:21px}
  .jc-about-photo-wrap{height:250px}
  .jc-page-hero h1{font-size:37px}
  .jc-page-portrait{height:280px}
  .jc-update-card img{height:180px}
  .jc-polling-grid aside{gap:16px}
  .jc-county-stone{height:190px}
  .jc-county-stone strong{font-size:21px}
  .jc-scenic-sign{padding:26px 18px}
  .jc-scenic-sign strong{font-size:23px}
  .jc-scenic-sign span{font-size:18px}
}

/* Complianz mobile banner compatibility — styling only; consent behavior remains plugin-controlled. */
@media (max-width:600px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner{max-width:calc(100vw - 24px)!important;left:12px!important;right:12px!important;bottom:12px!important;border-radius:8px!important}
  #cmplz-cookiebanner-container .cmplz-title{font-size:18px!important;line-height:1.25!important}
  #cmplz-cookiebanner-container .cmplz-message{font-size:14px!important;line-height:1.45!important}
  #cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn{min-height:46px!important;font-size:15px!important}
}

/* =========================================================
   Functionality + Crisp Desktop v13
   - keeps desktop artwork at/native-bounded resolution
   - replaces fake homepage update cards with live WordPress data
   - makes signup controls obvious and functional
   - uses a live Updates page with no placeholder articles
   - improves single-update reading spacing
   - fixes/isolates the Get Updates modal
   ========================================================= */
@media (min-width:1200px){
  body.jc-front-page{background:radial-gradient(circle at 50% 0,#0c3155 0,#031020 56%,#010812 100%)!important;}
  body.jc-front-page .jc-fidelity-canvas{
    width:min(1448px,100vw)!important;
    max-width:1448px!important;
    margin:0 auto!important;
    box-shadow:0 28px 80px rgba(0,0,0,.36);
  }
  /* Inner-page artwork was generated at 992px wide. Prevent aggressive upscale on 27-inch displays. */
  .jc-v7-canvas-shell{width:min(1448px,calc(100vw - 40px))!important;max-width:1448px!important;}
  .jc-v7-canvas-image{image-rendering:auto;-webkit-font-smoothing:antialiased;}

  /* Replace baked sample update cards + invisible form with real WordPress content. */
  .jc-fidelity-live-updates{
    position:absolute;z-index:22;left:0;right:0;top:70.15%;height:17.75%;
    display:grid;grid-template-columns:55.1% 44.9%;overflow:hidden;
    background:#f4f5f6;border-top:1px solid rgba(11,42,70,.2);border-bottom:1px solid rgba(11,42,70,.22);
    font-family:Inter,Arial,sans-serif;
  }
  .jc-fidelity-live-left{padding:1.1% 2.6% 1%;min-width:0;background:linear-gradient(180deg,#fff,#f1f3f5);color:#102a46;}
  .jc-fidelity-live-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;height:17%;margin-bottom:.5%;}
  .jc-fidelity-live-heading span{font:800 clamp(9px,.82vw,13px)/1 Cinzel,Georgia,serif;letter-spacing:.13em;text-transform:uppercase;color:#17304d;}
  .jc-fidelity-live-heading a{font-size:clamp(7px,.62vw,10px);font-weight:800;color:#183b61;}
  .jc-fidelity-live-left .jc-update-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1.4%!important;height:79%!important;}
  .jc-fidelity-live-left .jc-update-card{height:100%!important;border:1px solid #d7dde3!important;border-radius:4px!important;box-shadow:0 5px 15px rgba(4,22,42,.08)!important;}
  .jc-fidelity-live-left .jc-update-card img{height:42%!important;min-height:0!important;}
  .jc-fidelity-live-left .jc-update-card>div{padding:5px 7px!important;}
  .jc-fidelity-live-left .jc-date{font-size:clamp(5px,.42vw,7px)!important;}
  .jc-fidelity-live-left .jc-update-card h3{font-size:clamp(8px,.72vw,11px)!important;line-height:1.08!important;margin:2px 0!important;}
  .jc-fidelity-live-left .jc-update-card p{font-size:clamp(6px,.53vw,8px)!important;line-height:1.16!important;min-height:0!important;margin:2px 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .jc-fidelity-live-left .jc-update-card a{font-size:clamp(6px,.5vw,8px)!important;}
  .jc-fidelity-live-left .jc-launch-empty-updates{height:79%;min-height:0!important;padding:10px 20px!important;border:1px solid #d8dee5!important;box-shadow:none!important;background:#fff!important;}
  .jc-fidelity-live-left .jc-launch-empty-updates strong{font-size:clamp(12px,1vw,16px)!important;}
  .jc-fidelity-live-left .jc-launch-empty-updates span{font-size:clamp(8px,.65vw,11px)!important;}

  .jc-fidelity-live-signup{position:relative;padding:1.1% 4.1% 1%;background:linear-gradient(135deg,#071d37,#0b3157 62%,#061a31);color:#fff;overflow:hidden;}
  .jc-fidelity-live-signup:after{content:"★";position:absolute;right:3%;bottom:-28%;font:900 100px/1 Cinzel,serif;color:rgba(255,255,255,.035);}
  .jc-fidelity-live-signup>*{position:relative;z-index:2;}
  .jc-fidelity-live-signup .jc-section-label{font-size:clamp(7px,.57vw,9px)!important;margin:0 0 2px!important;color:#efc86d!important;}
  .jc-fidelity-live-signup h2{font:700 clamp(11px,.95vw,15px)/1.15 Playfair Display,Georgia,serif;margin:0 0 6px!important;max-width:95%;}
  .jc-fidelity-live-signup .jc-signup-form{position:static!important;height:auto!important;display:grid!important;grid-template-columns:1fr auto!important;gap:5px 7px!important;}
  .jc-fidelity-live-signup .jc-signup-form input[type="text"]{display:none!important;}
  .jc-fidelity-live-signup .jc-signup-form input[type="email"]{position:static!important;width:100%!important;height:27px!important;min-height:27px!important;padding:0 9px!important;background:#fff!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:3px!important;color:#12233b!important;font-size:10px!important;box-shadow:none!important;}
  .jc-fidelity-live-signup .jc-signup-form .jc-btn{position:static!important;display:flex!important;width:auto!important;height:27px!important;min-height:27px!important;margin:0!important;padding:0 12px!important;background:linear-gradient(#dd1d31,#ad0b1f)!important;border:1px solid #f15b6b!important;color:#fff!important;font-size:8px!important;white-space:nowrap;}
  .jc-fidelity-live-signup .jc-signup-form label{position:static!important;display:flex!important;align-items:center!important;gap:6px!important;grid-column:1/-1!important;width:auto!important;height:auto!important;margin:0!important;color:#fff!important;font-size:8px!important;line-height:1.2!important;}
  .jc-fidelity-live-signup .jc-signup-form label input[type="checkbox"]{position:static!important;width:12px!important;min-width:12px!important;height:12px!important;min-height:12px!important;opacity:1!important;margin:0!important;accent-color:#247fd1!important;}
  .jc-fidelity-live-signup .jc-consent-note{grid-column:1/-1!important;font-size:6.5px!important;line-height:1.2!important;margin:0!important;color:rgba(255,255,255,.68)!important;}
  .jc-fidelity-live-polling{display:flex;align-items:center;justify-content:center;height:24px;margin-top:5px;background:transparent;border:1px solid rgba(238,198,105,.65);border-radius:3px;color:#f3d27f;font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
}

/* Live Updates page: never display the baked placeholder-post canvas. */
.jc-live-updates-page{background:#041226;color:#fff;}
.jc-live-updates-page .jc-updates-hero{background:linear-gradient(90deg,rgba(3,17,35,.96),rgba(6,39,70,.82)),image-set(url('../img/derived/capitol-wide.webp') type('image/webp'), url('../img/derived/capitol-wide.jpg') type('image/jpeg')) center/cover no-repeat;}
.jc-live-updates-page .jc-page-hero-bg{background:linear-gradient(90deg,rgba(2,14,29,.88),rgba(4,26,48,.6));}
.jc-live-updates-list{padding:54px 0 64px;}
.jc-live-updates-heading{margin-bottom:22px;align-items:end;}
.jc-live-updates-heading h2{font:700 clamp(30px,3vw,46px)/1.05 var(--jc-serif);margin:5px 0 0;color:#142d4a;}
.jc-live-updates-heading>span{color:#657589;font-size:13px;}
.jc-live-updates-list .jc-update-grid{grid-template-columns:repeat(3,1fr);gap:22px;}
.jc-live-updates-list .jc-update-card{border-radius:6px;overflow:hidden;}
.jc-live-updates-list .jc-update-card img{height:190px;}
.jc-live-updates-list .jc-update-card>div{padding:18px;}
.jc-live-updates-list .jc-update-card h3{font-size:21px;line-height:1.18;}
.jc-live-updates-list .jc-update-card p{font-size:14px;line-height:1.55;min-height:0;}
.jc-live-updates-list .jc-update-card a{font-size:13px;}
.jc-live-updates-list .jc-launch-empty-updates{min-height:230px;border-radius:6px;}
.jc-live-updates-signup{padding:46px 0;background:linear-gradient(90deg,#06172d,#0a3157);border-top:1px solid rgba(238,198,105,.46);border-bottom:1px solid rgba(238,198,105,.35);}
.jc-live-updates-signup-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center;}
.jc-live-updates-signup h2{font:700 34px/1.1 var(--jc-serif);margin:5px 0 10px;}
.jc-live-updates-signup p{color:#cfdae6;}
.jc-live-signup-card{padding:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 40px rgba(0,0,0,.18);}
.jc-live-signup-card .jc-signup-form{grid-template-columns:1fr auto;gap:10px 12px;}
.jc-live-signup-card .jc-signup-form input[type="text"]{grid-column:1/-1;}
.jc-live-signup-card .jc-signup-form input[type="email"]{min-height:48px;font-size:15px;}
.jc-live-signup-card .jc-signup-form .jc-btn{min-height:48px;margin:0;}
.jc-live-signup-card .jc-signup-form label,.jc-live-signup-card .jc-consent-note{grid-column:1/-1;}

/* Single article reading layout. */
.single-jc_update .jc-single-update-hero{min-height:330px;display:flex;align-items:center;}
.single-jc_update .jc-single-update-hero .jc-page-hero-copy{padding:72px 0 92px;max-width:980px;}
.single-jc_update .jc-single-update-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.05;max-width:960px;margin:8px auto 14px;}
.single-jc_update .jc-update-published{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#d7e2ee;}
.single-jc_update .jc-single-update-section{padding:0 20px 80px;background:linear-gradient(180deg,#e9edf1 0,#f8f7f3 160px);}
.single-jc_update .jc-single-post{max-width:940px;margin:-48px auto 0;padding:clamp(30px,4.5vw,62px);background:#fff;color:#24364b;border:1px solid #d9dee4;border-radius:7px;box-shadow:0 25px 60px rgba(5,24,45,.16);position:relative;z-index:3;}
.single-jc_update .jc-single-featured-image{margin:-12px 0 36px;}
.single-jc_update .jc-single-featured-image img{width:100%;height:auto;margin:0;border-radius:5px;}
.single-jc_update .jc-single-post-content{font-size:18px;line-height:1.78;}
.single-jc_update .jc-single-post-content p{margin:0 0 1.35em;}
.single-jc_update .jc-single-post-content h2{font:700 34px/1.18 var(--jc-serif);color:#102a46;margin:1.6em 0 .55em;}
.single-jc_update .jc-single-post-content h3{font:700 26px/1.22 var(--jc-serif);color:#153552;margin:1.45em 0 .5em;}
.single-jc_update .jc-single-post-content ul,.single-jc_update .jc-single-post-content ol{padding-left:1.4em;margin:0 0 1.4em;}
.single-jc_update .jc-single-post-content li{margin:.45em 0;}
.single-jc_update .jc-single-post-content blockquote{margin:2em 0;padding:20px 26px;border-left:4px solid #d3a84f;background:#f5f2eb;color:#1f344c;font:600 22px/1.45 var(--jc-script);font-style:italic;}
.single-jc_update .jc-single-post-content a{color:#a80c20;text-decoration:underline;text-underline-offset:3px;}
.single-jc_update .jc-single-post-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:42px;padding-top:24px;border-top:1px solid #d9dee4;}
.single-jc_update .jc-btn-glass.dark{color:#12304d;border-color:#9aaabc;background:#f5f7f9;}

/* Clean, fully visible signup modal for any canvas-page "Get Updates" link. */
.jc-v7-modal{padding:16px!important;overflow:auto!important;}
.jc-v7-modal:target{display:grid!important;}
.jc-v7-modal-backdrop{position:fixed!important;inset:0!important;background:rgba(1,8,18,.88)!important;backdrop-filter:blur(7px)!important;}
.jc-v7-modal-card{width:min(560px,calc(100vw - 28px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;padding:34px 30px 28px!important;border-radius:8px!important;background:linear-gradient(145deg,#071b33,#0b3157)!important;box-shadow:0 30px 90px rgba(0,0,0,.58)!important;}
.jc-v7-modal-card h2{font-size:34px!important;line-height:1.08!important;padding-right:34px!important;}
.jc-v7-modal-close{position:absolute!important;right:12px!important;top:10px!important;width:42px!important;height:42px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;font-size:30px!important;line-height:1!important;}
.jc-v7-modal-card .jc-signup-form{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;height:auto!important;}
.jc-v7-modal-card .jc-signup-form input[type="text"],.jc-v7-modal-card .jc-signup-form input[type="email"]{display:block!important;position:static!important;width:100%!important;height:50px!important;min-height:50px!important;padding:0 13px!important;background:#fff!important;color:#10243b!important;border:1px solid #d7e0e7!important;border-radius:5px!important;font-size:16px!important;}
.jc-v7-modal-card .jc-signup-form label{position:static!important;display:flex!important;align-items:flex-start!important;gap:9px!important;width:auto!important;height:auto!important;color:#fff!important;font-size:14px!important;line-height:1.35!important;}
.jc-v7-modal-card .jc-signup-form label input[type="checkbox"]{position:static!important;width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;opacity:1!important;margin:0!important;accent-color:#257fcf!important;}
.jc-v7-modal-card .jc-signup-form .jc-btn{position:static!important;display:flex!important;width:100%!important;height:50px!important;min-height:50px!important;margin:2px 0 0!important;padding:0 18px!important;background:linear-gradient(#df1d31,#ad0c1e)!important;color:#fff!important;border:1px solid #f15d6c!important;font-size:14px!important;}
.jc-v7-modal-card .jc-consent-note{font-size:11px!important;line-height:1.45!important;color:#bfcddd!important;}

@media(max-width:900px){
  .jc-live-updates-signup-grid{grid-template-columns:1fr;gap:24px;}
  .jc-live-updates-list .jc-update-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
  .jc-live-updates-list .jc-update-grid{grid-template-columns:1fr;}
  .jc-live-updates-heading{display:block;}
  .jc-live-updates-heading>span{display:block;margin-top:8px;}
  .single-jc_update .jc-single-update-hero{min-height:250px;}
  .single-jc_update .jc-single-update-hero .jc-page-hero-copy{padding:48px 0 68px;}
  .single-jc_update .jc-single-update-hero h1{font-size:36px;}
  .single-jc_update .jc-single-update-section{padding:0 12px 54px;}
  .single-jc_update .jc-single-post{margin:-32px auto 0;padding:26px 20px;}
  .single-jc_update .jc-single-post-content{font-size:16px;line-height:1.68;}
  .single-jc_update .jc-single-post-content h2{font-size:28px;}
  .single-jc_update .jc-single-post-content h3{font-size:23px;}
  .single-jc_update .jc-single-post-footer{display:grid;grid-template-columns:1fr;}
  .single-jc_update .jc-single-post-footer .jc-btn{width:100%;}
}
body.jc-signup-modal-open{overflow:hidden}

/* =========================================================
   v14 clean functional pass
   ========================================================= */
.jc-launch-involved-quote{
  left:5.8%;top:29.6%;width:40.4%;min-height:14.7%;
  background:#061a31!important;border-color:rgba(236,194,98,.48)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.45)!important;
}
.jc-launch-involved-quote blockquote{font-size:clamp(17px,1.75vw,27px);line-height:1.28}
.jc-launch-involved-contact{
  left:29.5%;top:63.1%;width:42%;min-height:13.8%;
  background:#071d36!important;border-color:rgba(236,194,98,.5)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.42)!important;
}
.jc-launch-involved-contact p{font-size:clamp(9px,.78vw,13px)!important}
.jc-launch-involved-contact>a:not(.jc-launch-red-link),.jc-launch-involved-contact>span{font-size:clamp(9px,.82vw,13px)!important}
.jc-launch-involved-replacement{
  left:39.25%;top:48.5%;width:18.8%;min-height:14.9%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;
  background:linear-gradient(180deg,#0b2b4a 0%,#071d36 100%)!important;
  border:1px solid rgba(255,255,255,.52)!important;border-radius:4px;padding:1.1vw!important;
}
.jc-launch-involved-replacement .jc-replacement-icon{width:clamp(34px,3.4vw,52px);height:clamp(34px,3.4vw,52px);color:#fff}
.jc-launch-involved-replacement .jc-replacement-icon svg{width:100%;height:100%}
.jc-launch-involved-replacement strong{font:700 clamp(10px,1vw,16px)/1.15 Cinzel,Georgia,serif;text-transform:uppercase;letter-spacing:.03em}
.jc-launch-involved-replacement p{margin:0;color:#dfe9f3;font-size:clamp(8px,.72vw,12px);line-height:1.3}
.jc-launch-involved-replacement a{display:block;width:100%;padding:8px 6px;border-radius:3px;background:linear-gradient(#d9162a,#a60718);border:1px solid #ef5968;color:#fff;font:800 clamp(7px,.63vw,10px)/1.1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}

.jc-v14-button-mask{position:absolute;z-index:13;display:block;pointer-events:none}
.jc-v14-office-loop-mask{left:39.3%;top:29.8%;width:22.7%;height:4.6%;background:linear-gradient(90deg,#061b33,#092a49 70%,#0b3455);box-shadow:0 0 18px rgba(4,18,36,.7) inset}
.jc-v14-exp-hero-mask{left:32.5%;top:15.3%;width:20.5%;height:4.5%;background:linear-gradient(90deg,#10243d,#0b2c49 58%,rgba(9,37,61,.95));box-shadow:0 0 18px rgba(8,28,47,.6) inset}
.jc-v14-exp-story-mask{left:2.8%;top:31.8%;width:19.2%;height:4.6%;background:linear-gradient(90deg,#061b33,#082a49);box-shadow:0 0 14px rgba(6,27,51,.75) inset}
.jc-v14-exp-meet-mask{left:2.8%;top:67.3%;width:19.5%;height:4.7%;background:#f5f6f6;box-shadow:none}

/* contact modal layered over the high-fidelity desktop canvas */
.jc-v14-contact-modal{display:none;position:fixed;inset:0;z-index:10020;align-items:center;justify-content:center;padding:24px}
.jc-v14-contact-modal:target{display:flex}
.jc-v14-contact-backdrop{position:absolute;inset:0;background:rgba(1,8,18,.84);backdrop-filter:blur(7px)}
.jc-v14-contact-card{position:relative;z-index:1;width:min(760px,96vw);max-height:min(88vh,850px);overflow:auto;border:1px solid rgba(235,194,99,.55);border-radius:10px;background:linear-gradient(145deg,#071a31,#0b2c4b 58%,#06182d);box-shadow:0 30px 90px rgba(0,0,0,.65);padding:30px;color:#fff}
.jc-v14-contact-card h2{margin:0 0 8px;font:700 clamp(27px,3vw,42px)/1.08 Cinzel,Georgia,serif;color:#fff}
.jc-v14-contact-card>p{color:#dbe6ef;margin:0 0 20px}
.jc-v14-contact-close{position:absolute;right:14px;top:10px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-size:28px;line-height:1}
.jc-contact-form{display:grid;gap:14px;position:relative}
.jc-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jc-contact-form label{display:grid;gap:6px;color:#fff;font:700 13px/1.2 Inter,Arial,sans-serif}
.jc-contact-form label span{color:#e7edf4}.jc-contact-form label em{font-weight:500;color:#aebfd0}
.jc-contact-form input,.jc-contact-form select,.jc-contact-form textarea{width:100%;border:1px solid #cad5df;border-radius:6px;background:#fff;color:#10243a;padding:12px 13px;font:500 16px/1.4 Inter,Arial,sans-serif;box-sizing:border-box}
.jc-contact-form input,.jc-contact-form select{min-height:50px}
.jc-contact-form textarea{resize:vertical;min-height:130px}
.jc-contact-message{grid-column:1/-1}
.jc-contact-form .jc-btn{min-height:50px;justify-self:start;min-width:230px}
.jc-contact-form .jc-consent-note{margin:0;color:#b8c7d5;font-size:12px;line-height:1.45}.jc-contact-form .jc-consent-note strong{color:#fff}
.jc-form-message.is-success{border-color:#5dbb7b;background:#eaf8ef;color:#154d28}

.jc-v14-mobile-contact-section{background:linear-gradient(180deg,#f7f7f4,#edf0f2)}
.jc-v14-mobile-contact-card{background:#081f38;color:#fff;padding:22px;border-radius:12px;box-shadow:0 16px 40px rgba(5,18,34,.18)}
.jc-v14-mobile-contact-card .jc-contact-form .jc-consent-note{color:#c7d3de}

/* Make desktop canvas links/forms feel intentional and keep masks from capturing clicks. */
.jc-v7-hotspot.jc-contact-volunteer,.jc-v7-hotspot.jc-contact-spread,.jc-v7-hotspot.jc-contact-community,.jc-v7-hotspot.jc-contact-general{z-index:26}

@media(max-width:1199px){
  .jc-v14-contact-modal{display:none!important}
  .jc-contact-grid{grid-template-columns:1fr}
  .jc-v14-mobile-contact-card{padding:18px}
}
@media(max-width:640px){
  .jc-contact-form input,.jc-contact-form select,.jc-contact-form textarea{font-size:16px!important}
  .jc-contact-form .jc-btn{width:100%;min-width:0}
  .jc-v14-mobile-contact-section .jc-two-column{gap:18px}
}
body.jc-contact-modal-open{overflow:hidden}
/* v14 decorative masks replace obsolete visual buttons without leaving dead controls. */
.jc-v14-office-loop-mask{left:42.1%;top:29.9%;width:21.0%;height:4.15%;background:linear-gradient(90deg,#071e38,#0a3152);border-top:1px solid rgba(232,195,106,.55);border-bottom:1px solid rgba(232,195,106,.35)}
.jc-v14-office-loop-mask::after{content:"PRECINCT 3  •  LOCAL JUSTICE";position:absolute;inset:0;display:grid;place-items:center;color:#e7c66f;font:700 clamp(7px,.63vw,10px)/1 Cinzel,Georgia,serif;letter-spacing:.12em}
.jc-v14-exp-hero-mask{left:33.0%;top:15.55%;width:19.2%;height:4.05%;background:linear-gradient(90deg,#0a223d,#0b2e4e 62%,#0d3557);border-top:1px solid rgba(231,196,110,.45);border-bottom:1px solid rgba(231,196,110,.28)}
.jc-v14-exp-hero-mask::after{content:"LEADERSHIP  •  SERVICE  •  COMMUNITY";position:absolute;inset:0;display:grid;place-items:center;color:#eccb77;font:700 clamp(6px,.55vw,9px)/1 Cinzel,Georgia,serif;letter-spacing:.08em;white-space:nowrap}
.jc-v14-exp-story-mask{left:3.4%;top:32.55%;width:17.4%;height:3.65%;background:#071f39}
.jc-v14-exp-story-mask::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#d9b663,transparent)}
.jc-v14-exp-meet-mask{left:3.4%;top:68.2%;width:17.5%;height:3.65%;background:#f5f6f6}
.jc-v14-exp-meet-mask::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#c39d47,transparent)}
.jc-v14-community-action-button{position:absolute;z-index:27;left:78.6%;top:59.1%;width:15.2%;height:2.55%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #ef5968;border-radius:3px;background:linear-gradient(#d9162a,#a60718);color:#fff;text-decoration:none;text-transform:uppercase;font:800 clamp(6px,.55vw,9px)/1 Inter,Arial,sans-serif;letter-spacing:.035em;box-shadow:0 4px 10px rgba(0,0,0,.28)}
/* v14.1 mask alignment refinements */
.jc-v14-office-loop-mask{left:42.7%;top:30.05%;width:22.1%;height:4.25%}
.jc-v14-exp-hero-mask{left:32.75%;top:15.45%;width:20.9%;height:4.45%}
.jc-v14-exp-story-mask{left:3.25%;top:32.2%;width:18.6%;height:4.55%}
.jc-v14-exp-meet-mask{left:3.25%;top:68.0%;width:18.6%;height:4.45%}
.jc-v14-about-meet-mask{left:33.5%;top:13.7%;width:14.6%;height:4.2%;background:linear-gradient(90deg,#0a233e,#0b2f50);border-top:1px solid rgba(235,199,112,.42);border-bottom:1px solid rgba(235,199,112,.24)}
.jc-v14-about-meet-mask::after{content:"FAMILY  •  SERVICE  •  COMMUNITY";position:absolute;inset:0;display:grid;place-items:center;color:#ebca77;font:700 clamp(6px,.52vw,8px)/1 Cinzel,Georgia,serif;letter-spacing:.07em;white-space:nowrap}

/* =========================================================
   Stage 1 — production-critical semantics and identity repairs
   ========================================================= */
.jc-visual-h1{font:900 clamp(48px,6vw,86px)/.98 var(--jc-serif);text-transform:uppercase;letter-spacing:.01em;margin:7px 0 12px;text-shadow:0 8px 28px rgba(0,0,0,.38);color:#fff}
.jc-hero-copy .jc-visual-h1{margin:2px 0 3px;font:900 clamp(64px,7.2vw,112px)/.88 var(--jc-serif);text-transform:uppercase;letter-spacing:.015em;text-shadow:0 7px 28px rgba(0,0,0,.54)}

.jc-close-control{position:relative;appearance:none;-webkit-appearance:none;border:0;cursor:pointer;color:inherit;font:inherit}
.jc-close-icon{display:block;position:relative;width:18px;height:18px;margin:auto}
.jc-close-icon::before,.jc-close-icon::after{content:"";position:absolute;left:8px;top:0;width:2px;height:18px;border-radius:2px;background:currentColor}
.jc-close-icon::before{transform:rotate(45deg)}
.jc-close-icon::after{transform:rotate(-45deg)}
.jc-v7-modal-backdrop,.jc-v14-contact-backdrop{border:0!important;padding:0!important;margin:0!important;cursor:pointer!important}
.jc-v7-modal-close,.jc-v14-contact-close{font-size:0!important}
.jc-v7-modal-close .jc-close-icon,.jc-v14-contact-close .jc-close-icon{color:#fff}

.jc-form-message{border:1px solid #8ca8bf;background:#edf5fb;color:#18344f;border-radius:6px;padding:11px 13px;margin:0 0 12px;font:700 13px/1.4 Inter,Arial,sans-serif}
.jc-form-message.is-success{border-color:#5dbb7b;background:#eaf8ef;color:#154d28}
.jc-form-message.is-error{border-color:#d86a76;background:#fff0f2;color:#7e1320}
.jc-signup-instance{display:contents}
.jc-contact-instance{display:block}

.jc-footer-contact>a{display:flex;align-items:center;gap:10px;font-size:11px;color:#fff;text-decoration:none}
.jc-footer-contact>a:hover,.jc-footer-contact>a:focus-visible{color:var(--jc-gold2)}

.jc-campaign-disclosure{border-top:1px solid rgba(240,200,106,.35);background:#020b16;color:#dbe5ef;padding:12px 0;font:600 11px/1.5 var(--jc-body);letter-spacing:.02em}
.jc-campaign-disclosure-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 16px;text-align:center}
.jc-campaign-disclosure strong{color:#fff}
.jc-campaign-disclosure a{color:var(--jc-gold2);text-decoration:underline;text-underline-offset:2px}

/* The high-fidelity desktop artwork already contains the visual header/footer.
   Keep one live, accessible disclosure below it rather than duplicating hidden DOM. */
@media (min-width:1200px){
  body.jc-front-page .jc-site-footer,
  body.jc-v7-canvas-page .jc-site-footer{display:block!important;height:auto!important;min-height:0!important;background:#020b16!important;border-top:0!important}
  body.jc-front-page .jc-site-footer>.jc-footer-glow,
  body.jc-front-page .jc-site-footer>.jc-footer-main,
  body.jc-front-page .jc-site-footer>.jc-footer-bottom,
  body.jc-v7-canvas-page .jc-site-footer>.jc-footer-glow,
  body.jc-v7-canvas-page .jc-site-footer>.jc-footer-main,
  body.jc-v7-canvas-page .jc-site-footer>.jc-footer-bottom{display:none!important}
  body.jc-front-page .jc-campaign-disclosure,
  body.jc-v7-canvas-page .jc-campaign-disclosure{display:block!important;position:relative!important;z-index:40!important}
}

@media(max-width:680px){
  .jc-hero-copy .jc-visual-h1{font-size:clamp(44px,12vw,72px);line-height:.94;margin-top:6px}
  .jc-page-hero .jc-visual-h1{font-size:clamp(42px,10vw,64px);line-height:.98}
  .jc-campaign-disclosure{font-size:12px;line-height:1.5;padding:14px 0}
  .jc-campaign-disclosure-inner{gap:6px 12px}
}
@media(max-width:420px){
  .jc-hero-copy .jc-visual-h1{font-size:42px}
  .jc-page-hero .jc-visual-h1{font-size:37px}
}

/* =========================================================
   Stage 2 — Information Architecture
   Core factual pages are always one click from the header.
   Desktop fidelity canvases use this real semantic navigation,
   rather than the obsolete navigation baked into the artwork.
   ========================================================= */
@media (min-width:1200px){
  body.jc-front-page>.jc-site-header,
  body.jc-v7-canvas-page>.jc-site-header{
    display:block!important;
    position:absolute!important;
    top:0!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(1448px,100%)!important;
    height:54px!important;
    min-height:54px!important;
    z-index:120!important;
    background:linear-gradient(90deg,transparent 0 16%,rgba(3,17,34,.985) 21%,rgba(3,17,34,.985) 79%,transparent 84%)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  body.jc-front-page>.jc-site-header .jc-header-inner,
  body.jc-v7-canvas-page>.jc-site-header .jc-header-inner{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding:0 250px!important;
  }
  body.jc-front-page>.jc-site-header .jc-logo,
  body.jc-front-page>.jc-site-header .jc-header-mark,
  body.jc-front-page>.jc-site-header .jc-mobile-toggle,
  body.jc-v7-canvas-page>.jc-site-header .jc-logo,
  body.jc-v7-canvas-page>.jc-site-header .jc-header-mark,
  body.jc-v7-canvas-page>.jc-site-header .jc-mobile-toggle{
    display:none!important;
  }
  body.jc-front-page>.jc-site-header .jc-nav,
  body.jc-v7-canvas-page>.jc-site-header .jc-nav{
    display:block!important;
    position:static!important;
    justify-self:auto!important;
    width:auto!important;
    background:transparent!important;
    padding:0!important;
  }
  body.jc-front-page>.jc-site-header .jc-menu,
  body.jc-v7-canvas-page>.jc-site-header .jc-menu{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(18px,2.15vw,34px)!important;
  }
  body.jc-front-page>.jc-site-header .jc-menu a,
  body.jc-v7-canvas-page>.jc-site-header .jc-menu a{
    display:flex!important;
    align-items:center!important;
    min-height:54px!important;
    padding:0!important;
    font-size:clamp(10px,.78vw,12px)!important;
    font-weight:700!important;
    color:rgba(255,255,255,.96)!important;
    text-shadow:0 1px 8px rgba(0,0,0,.55)!important;
  }
  body.jc-front-page>.jc-site-header .jc-menu a::after,
  body.jc-v7-canvas-page>.jc-site-header .jc-menu a::after{
    bottom:7px!important;
  }
  body.jc-front-page .jc-fidelity-nav{display:none!important;}
}

/* Make the optional Updates item visually distinct only when real content exists. */
.jc-menu-optional-updates a::before{content:"•";color:var(--jc-gold2);margin-right:7px;font-size:10px;}

@media (min-width:1200px){
  /* Re-purpose the approved homepage's former Updates hero button as Experience.
     This keeps the established look while aligning the visible CTA with Stage 2 IA. */
  .jc-fidelity-hero-actions .hero-experience{
    left:43.0939%;top:25.2302%;width:12.4309%;height:3.5912%;
    display:flex!important;align-items:center;justify-content:center;
    background:linear-gradient(180deg,rgba(7,30,55,.98),rgba(3,18,36,.98))!important;
    border:1px solid rgba(255,255,255,.62)!important;border-radius:4px!important;
    color:#fff!important;font:800 clamp(8px,.72vw,11px)/1 Inter,Arial,sans-serif!important;
    text-transform:uppercase;letter-spacing:.05em;
  }
  .jc-fidelity-hero-actions .hero-experience span{display:block!important;position:static!important;}

  /* The Office artwork previously showed an Updates hero button. Stage 2 turns it
     into Experience so all visible primary actions lead to substantive information. */
  .jc-v7-hotspot.jc-stage2-office-experience{
    z-index:25!important;background:linear-gradient(180deg,rgba(7,30,55,.985),rgba(3,18,36,.985))!important;
    border:1px solid rgba(255,255,255,.60)!important;border-radius:4px!important;
  }
  .jc-v7-hotspot.jc-stage2-office-experience::after{
    content:"Experience";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#fff;font:800 clamp(8px,.72vw,11px)/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;
  }
}

/* Stage 3 — private evidence/judicial review in visual editor. */
.jc-stage3-editor-review{display:grid;gap:9px;margin:14px 0;padding:13px 14px;border:1px solid rgba(227,189,96,.45);background:rgba(6,28,51,.72);color:#eaf2fa;border-radius:5px}
.jc-stage3-editor-review strong{font:700 13px/1.2 Georgia,serif;color:#f0cc73;letter-spacing:.03em}
.jc-stage3-editor-review label{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35}
.jc-stage3-editor-review input{margin-top:2px}.jc-stage3-editor-review a{color:#f0cc73;font-weight:700;font-size:12px}


/* Stage 4 functional workflow refinements */
.jc-stage4-sign-request-button{position:absolute;z-index:28;left:21.5%;top:61.55%;width:17%;height:2.75%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #eec669;border-radius:3px;background:linear-gradient(135deg,rgba(8,35,64,.96),rgba(147,18,30,.94));color:#fff;text-decoration:none;text-transform:uppercase;font:800 clamp(6px,.55vw,9px)/1 Inter,Arial,sans-serif;letter-spacing:.035em;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.jc-unsubscribe-workflow{margin:22px 0;padding:20px;border:1px solid #d8c28a;border-radius:8px;background:#fffdf8;box-shadow:0 10px 28px rgba(17,30,48,.08)}
.jc-unsubscribe-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.jc-unsubscribe-form label{display:grid;gap:6px;font-weight:800;color:#18324d}.jc-unsubscribe-form input{min-height:48px;border:1px solid #aeb8c5;border-radius:5px;padding:0 12px;font-size:16px;background:#fff;color:#07152a}.jc-form-message.is-success{border-color:#247a43;background:#edf8f0;color:#164f2d}.jc-form-message.is-error{border-color:#b20d22;background:#fff1f2;color:#7e0b18}
.jc-contact-form select:required:invalid,.jc-contact-form input:required:invalid,.jc-contact-form textarea:required:invalid,.jc-signup-form input:required:invalid,.jc-unsubscribe-form input:required:invalid{box-shadow:none}
@media (max-width:700px){.jc-unsubscribe-form{grid-template-columns:1fr}.jc-unsubscribe-form .jc-btn{width:100%}.jc-stage4-sign-request-button{display:none}}

/* =========================================================
   Stage 5 — WCAG 2.2 AA accessibility and responsive QA layer
   Preserves the approved visual identity while making keyboard,
   label, focus, modal, and text-zoom behavior testable.
   ========================================================= */
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
.screen-reader-text:not(:focus):not(:active){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.screen-reader-text:focus,.screen-reader-text:active{position:fixed!important;left:16px!important;top:16px!important;z-index:100000!important;width:auto!important;height:auto!important;padding:12px 16px!important;margin:0!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;background:#fff!important;color:#041226!important;border:3px solid #f2d080!important;border-radius:6px!important;box-shadow:0 10px 30px rgba(0,0,0,.35)!important;font:800 16px/1.2 Inter,Arial,sans-serif!important;text-decoration:none!important}
:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid #f6d477!important;outline-offset:4px!important;box-shadow:0 0 0 6px rgba(4,18,38,.82)!important;text-decoration:none}
:where(input,select,textarea):focus-visible{border-color:#8a6519!important;box-shadow:0 0 0 4px rgba(246,212,119,.55)!important}
:where(a,button,input,select,textarea){touch-action:manipulation}.jc-btn:focus-visible{transform:none!important;filter:none!important}.jc-menu a:focus-visible,.jc-footer-nav a:focus-visible,.jc-resource-link:focus-visible,.jc-text-link:focus-visible,.jc-outline-link:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
::placeholder{color:#485d72;opacity:1}.jc-svg[aria-hidden="true"]{pointer-events:none}.jc-form-help{margin:6px 0 0;color:#c8d4df;font-size:12px;line-height:1.45}.jc-signup-panel.light .jc-form-help,.jc-content-section.light-paper .jc-form-help,.jc-unsubscribe-workflow .jc-form-help{color:#45596e}.jc-form-message:focus{outline:3px solid #f6d477;outline-offset:3px}
.jc-contact-form label,.jc-signup-form label,.jc-unsubscribe-form label{min-width:0}.jc-contact-form input,.jc-contact-form select,.jc-contact-form textarea,.jc-signup-form input[type="text"],.jc-signup-form input[type="email"],.jc-unsubscribe-form input{line-height:1.4}.jc-contact-form input[aria-invalid="true"],.jc-contact-form textarea[aria-invalid="true"],.jc-contact-form select[aria-invalid="true"],.jc-signup-form input[aria-invalid="true"],.jc-unsubscribe-form input[aria-invalid="true"]{border-color:#b20d22!important;box-shadow:0 0 0 3px rgba(178,13,34,.18)!important}
@media (min-width:1200px){
  .jc-v7-hotspot:focus-visible,.hot:focus-visible,.jc-stage4-sign-request-button:focus-visible,.jc-v14-community-action-button:focus-visible{outline:3px solid #f6d477!important;outline-offset:3px!important;background:rgba(6,41,82,.85)!important;box-shadow:0 0 0 5px rgba(0,0,0,.65),0 0 22px rgba(246,212,119,.55)!important;z-index:80!important}
  body.jc-front-page>.jc-site-header .jc-menu a:focus-visible,body.jc-v7-canvas-page>.jc-site-header .jc-menu a:focus-visible{background:rgba(246,212,119,.15)!important;border-radius:4px!important;outline-offset:2px!important}
  .jc-fidelity-live-signup .jc-signup-form input[type="text"],.jc-fidelity-live-signup .jc-signup-form input[type="email"]{font-size:12px!important;min-height:28px!important}
  .jc-fidelity-live-signup .jc-signup-form label{font-size:10px!important}.jc-fidelity-live-signup .jc-signup-form .jc-btn{font-size:10px!important;min-height:30px!important}
}
@media (max-width:1100px){
  .jc-container{width:min(100% - 36px,1120px)}
  .jc-header-inner{grid-template-columns:minmax(180px,1fr) auto;min-height:72px;width:min(100% - 28px,1120px)}
  .jc-header-mark{display:none}.jc-logo{justify-items:start}.jc-logo::before,.jc-logo::after{display:none}
  .jc-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#fff;background:rgba(255,255,255,.08);position:relative;z-index:10010}
  .jc-mobile-toggle span{width:25px}.jc-nav{display:none;position:fixed;inset:0;z-index:10000;background:linear-gradient(180deg,rgba(3,14,29,.98),rgba(7,31,59,.98));padding:94px 24px 28px;overflow:auto}.jc-nav.is-open{display:block}.jc-menu{display:flex!important;flex-direction:column;align-items:stretch;gap:10px}.jc-menu a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px!important;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.06);font-size:18px!important;line-height:1.25;white-space:normal;text-align:center}.jc-menu a::after{display:none}body.jc-nav-open{overflow:hidden}
}
@media (max-width:768px){
  .jc-button-row{gap:10px}.jc-btn,.jc-outline-link,.jc-text-link,.jc-resource-link,.jc-polling-link,.jc-fidelity-live-polling{min-height:48px}.jc-contact-grid,.jc-two-column,.jc-vote-date-grid,.jc-polling-grid,.vote-resources,.jc-signup-scenic-grid{grid-template-columns:1fr!important}.jc-contact-form .jc-btn,.jc-signup-form .jc-btn,.jc-unsubscribe-form .jc-btn{width:100%;min-width:0}.jc-content-section{padding-block:44px}.jc-page-hero-copy p,.jc-content-card p,.jc-icon-card p{font-size:16px;line-height:1.6}.jc-page-hero-copy .jc-visual-h1,.jc-hero-copy .jc-visual-h1{overflow-wrap:break-word}.jc-footer-contact>a,.jc-footer-nav a{min-height:44px;display:flex;align-items:center;justify-content:center}.jc-footer-nav{gap:8px 10px}
}
@media (max-width:430px){
  .jc-container{width:calc(100% - 28px)}.jc-logo-main{font-size:20px}.jc-logo-sub{font-size:8px}.jc-page-hero-copy,.jc-hero-copy{padding-inline:0}.jc-page-hero-copy h2,.jc-center-heading h2,.jc-content-card h2,.jc-signup-panel h2{font-size:clamp(26px,8vw,34px);line-height:1.08}.jc-icon-card.tall{padding:18px}.jc-contact-form input,.jc-contact-form select,.jc-contact-form textarea,.jc-signup-form input[type="text"],.jc-signup-form input[type="email"],.jc-unsubscribe-form input{font-size:16px!important;min-height:50px}
}
@media (max-width:360px){.jc-container{width:calc(100% - 22px)}.jc-btn{padding-inline:14px;font-size:11px}.jc-menu a{font-size:17px!important}}
@media (min-width:1200px) and (max-width:1500px){body.jc-front-page>.jc-site-header .jc-header-inner,body.jc-v7-canvas-page>.jc-site-header .jc-header-inner{padding:0 190px!important}}
@media (forced-colors:active){:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.jc-btn,.jc-resource-link,.jc-icon-card{border:1px solid ButtonText}}
.jc-v7-modal:target,.jc-v14-contact-modal:target{scrollbar-gutter:stable}.jc-v7-modal-card,.jc-v14-contact-card{outline:0}.jc-v7-modal-card:focus-visible,.jc-v14-contact-card:focus-visible{outline:3px solid #f6d477;outline-offset:4px}.jc-v7-modal-close,.jc-v14-contact-close{min-width:44px!important;min-height:44px!important}


/* Stage 9 — 404 recovery and regression hardening */
.jc-404-page{min-height:70vh;background:radial-gradient(circle at 20% 5%,rgba(209,38,45,.18),transparent 36%),linear-gradient(180deg,#06162b,#020913);color:#fff;padding:clamp(58px,8vw,108px) 0}.jc-404-hero{max-width:980px;text-align:center}.jc-404-hero h1{font:900 clamp(46px,8vw,96px)/.9 var(--jc-serif);margin:10px 0 18px;letter-spacing:-.03em}.jc-404-hero p:not(.jc-kicker){font-size:clamp(17px,2vw,22px);color:rgba(255,255,255,.82);max-width:780px;margin:0 auto 28px}.jc-404-hero .jc-button-row{justify-content:center}.jc-404-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:32px}.jc-404-grid a{display:block;padding:20px 22px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:16px;color:#fff;box-shadow:0 22px 50px rgba(0,0,0,.24)}.jc-404-grid strong{display:block;font:800 18px/1.2 var(--jc-serif);margin-bottom:6px}.jc-404-grid span{display:block;color:rgba(255,255,255,.72)}.jc-404-grid a:focus-visible{outline:3px solid var(--jc-gold2);outline-offset:3px}


/* Stage 10 official-source maintenance note */
.jc-stage10-source-note {
    background: #f7f1e3;
    border-top: 1px solid rgba(114, 86, 45, .22);
    border-bottom: 1px solid rgba(114, 86, 45, .22);
    color: #2c2419;
}
.jc-stage10-source-note .jc-container {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: .95rem;
    line-height: 1.45;
}
.jc-stage10-source-note strong {
    color: #7b1f1f;
    white-space: nowrap;
}
@media (max-width: 720px) {
    .jc-stage10-source-note .jc-container { flex-direction: column; }
    .jc-stage10-source-note strong { white-space: normal; }
}


/* =========================================================
   v28 — Desktop UI / interaction repair
   - stable live header navigation on all desktop canvases
   - no floating decorative mask boxes over baked-in buttons
   - corrected button hit areas based on the approved artwork
   - small, integrated corrections only where artwork is stale
   - obvious modal close controls
   ========================================================= */
@media (min-width:1200px){
  body.jc-front-page>.jc-site-header,
  body.jc-v7-canvas-page>.jc-site-header{display:none!important}

  .jc-v28-canvas-nav{
    position:absolute;z-index:140;left:50%;top:0;transform:translateX(-50%);
    width:min(760px,62%);height:54px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(90deg,rgba(2,14,29,0) 0%,rgba(2,14,29,.94) 10%,rgba(2,14,29,.98) 50%,rgba(2,14,29,.94) 90%,rgba(2,14,29,0) 100%);
    border-bottom:1px solid rgba(255,255,255,.08);filter:none;pointer-events:auto;
  }
  .jc-v28-canvas-nav-inner{width:100%;display:flex;justify-content:center;align-items:center;padding:0 28px}
  .jc-v28-canvas-nav .jc-menu{display:flex!important;align-items:center;justify-content:center;gap:clamp(18px,2vw,31px)!important;margin:0!important;padding:0!important}
  .jc-v28-canvas-nav .jc-menu a{
    display:flex!important;align-items:center!important;min-height:54px!important;padding:0!important;
    color:#fff!important;opacity:1!important;font:700 clamp(10px,.78vw,12px)/1 Inter,Arial,sans-serif!important;
    text-shadow:0 2px 10px rgba(0,0,0,.9)!important;white-space:nowrap!important;position:relative!important;
  }
  .jc-v28-canvas-nav .jc-menu a::after{bottom:7px!important;height:2px!important}
  .jc-v28-canvas-nav .jc-menu .current-menu-item a::after{transform:scaleX(1)!important}

  .jc-v14-button-mask,
  .jc-launch-page-fix,
  .jc-launch-involved-replacement,
  .jc-stage4-sign-request-button,
  .jc-v14-community-action-button{display:none!important}

  .jc-v28-canvas-anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none;scroll-margin-top:70px;z-index:-1}
  .jc-v7-hotspot{z-index:45!important;pointer-events:auto!important}
  .jc-v7-hotspot:hover{background:rgba(255,255,255,.035)}

  /* Seamless correction over the fake contact rows baked into the Get Involved artwork. */
  .jc-v28-contact-details{
    position:absolute;z-index:35;left:33.4%;top:68.35%;width:33.5%;height:5.55%;
    display:grid;align-content:center;gap:clamp(3px,.25vw,6px);padding:.35% .7%;
    background:linear-gradient(90deg,rgba(5,27,50,.995),rgba(5,31,56,.985) 78%,rgba(5,31,56,.70));
    color:#fff;border:0;box-shadow:none;font-family:Inter,Arial,sans-serif;
  }
  .jc-v28-contact-line{display:flex;align-items:center;gap:8px;min-width:0;font-size:clamp(7px,.68vw,11px);line-height:1.1}
  .jc-v28-contact-line .jc-svg{width:clamp(12px,1.05vw,17px);height:clamp(12px,1.05vw,17px);color:#efc66d;flex:0 0 auto}
  .jc-v28-contact-line a,.jc-v28-contact-line span{color:#fff!important;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .jc-v28-contact-line a:hover{text-decoration:underline;text-underline-offset:2px}

  /* Match the original red-card button instead of floating a large replacement card. */
  .jc-v28-community-button{
    position:absolute;z-index:48;left:80.05%;top:59.15%;width:17.05%;height:2.75%;
    display:flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid rgba(255,255,255,.46);border-radius:3px;
    background:linear-gradient(180deg,#d91a2e,#a90b1d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 3px 9px rgba(0,0,0,.3);
    color:#fff!important;text-transform:uppercase;text-align:center;font:800 clamp(6px,.53vw,9px)/1 Inter,Arial,sans-serif;letter-spacing:.025em;
  }

  /* Voting page corrections stay inside the artwork's own cards/controls. */
  .jc-v28-electionday-copy{
    position:absolute;z-index:34;left:26.4%;top:41.05%;width:22.5%;height:1.65%;
    display:flex;align-items:center;justify-content:center;padding:0 .7%;
    background:#082644;color:#eef4fa;text-align:center;font:600 clamp(6px,.52vw,9px)/1.15 Inter,Arial,sans-serif;
  }
  .jc-v28-voting-actions{
    position:absolute;z-index:46;left:11.5%;top:56.45%;width:66.5%;height:3.35%;display:flex;align-items:center;justify-content:center;gap:1.1%;
    background:linear-gradient(90deg,rgba(5,28,52,.96),rgba(7,39,69,.93));padding:.35% .8%;
  }
  .jc-v28-voting-actions a{
    min-width:31%;height:82%;display:flex;align-items:center;justify-content:center;padding:0 1%;border:1px solid rgba(255,255,255,.50);border-radius:4px;
    background:linear-gradient(180deg,#d91a2e,#a90b1d);color:#fff!important;text-transform:uppercase;text-align:center;
    font:800 clamp(6px,.58vw,9px)/1 Inter,Arial,sans-serif;letter-spacing:.03em;box-shadow:0 3px 10px rgba(0,0,0,.28);
  }
  .jc-v28-vote-center-copy{
    position:absolute;z-index:34;left:5.4%;top:60.0%;width:21.7%;height:4.25%;display:grid;align-content:center;padding:.45% .8%;
    background:linear-gradient(90deg,rgba(5,27,50,.99),rgba(5,31,56,.96));color:#fff;
  }
  .jc-v28-vote-center-copy strong{font:800 clamp(7px,.64vw,10px)/1.1 Cinzel,Georgia,serif;color:#fff;text-transform:uppercase;letter-spacing:.05em}
  .jc-v28-vote-center-copy span{margin-top:3px;color:#e1eaf3;font:500 clamp(6px,.52vw,9px)/1.2 Inter,Arial,sans-serif}
}
@media (max-width:1199px){
  .jc-v28-canvas-nav,.jc-v28-contact-details,.jc-v28-community-button,.jc-v28-electionday-copy,.jc-v28-voting-actions,.jc-v28-vote-center-copy{display:none!important}
}

/* Make modal close controls unmistakable and keep them above scrollable content. */
.jc-v7-modal-close,.jc-v14-contact-close{
  z-index:60!important;right:12px!important;top:10px!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:50%!important;
  background:rgba(2,13,27,.92)!important;color:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.38)!important;font-size:0!important;
}
.jc-v28-modal-x{display:block!important;color:#fff!important;font:400 32px/1 Arial,sans-serif!important;transform:translateY(-1px);text-shadow:0 1px 5px rgba(0,0,0,.6)}
.jc-v7-modal-close:hover,.jc-v14-contact-close:hover{background:#b30e20!important;border-color:#fff!important}

/* =========================================================
   v30 — Desktop header background cleanup
   Root cause: the approved desktop artwork contains an older
   navigation row baked directly into the image. The live menu
   must fully mask that decorative row rather than fade over it.
   ========================================================= */
@media (min-width:1200px){
  .jc-fidelity-canvas .jc-v28-canvas-nav,
  .jc-v7-canvas-shell .jc-v28-canvas-nav{
    left:50%!important;
    top:0!important;
    transform:translateX(-50%)!important;
    width:60%!important;
    max-width:none!important;
    height:64px!important;
    min-height:64px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    isolation:isolate!important;
  }
  .jc-fidelity-canvas .jc-v28-canvas-nav::before,
  .jc-v7-canvas-shell .jc-v28-canvas-nav::before{
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    bottom:0;
    left:-22px;
    right:-22px;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(3,20,39,0) 0,
      rgba(3,20,39,.995) 22px,
      rgba(3,20,39,.995) calc(100% - 22px),
      rgba(3,20,39,0) 100%);
    -webkit-backdrop-filter:blur(4px) brightness(.72);
    backdrop-filter:blur(4px) brightness(.72);
  }
  .jc-fidelity-canvas .jc-v28-canvas-nav-inner,
  .jc-v7-canvas-shell .jc-v28-canvas-nav-inner{
    position:relative!important;
    z-index:1!important;
    height:64px!important;
    padding:0 24px!important;
  }
  .jc-fidelity-canvas .jc-v28-canvas-nav .jc-menu,
  .jc-v7-canvas-shell .jc-v28-canvas-nav .jc-menu{
    height:64px!important;
  }
  .jc-fidelity-canvas .jc-v28-canvas-nav .jc-menu a,
  .jc-v7-canvas-shell .jc-v28-canvas-nav .jc-menu a{
    min-height:64px!important;
  }
  .jc-fidelity-canvas .jc-v28-canvas-nav .jc-menu a::after,
  .jc-v7-canvas-shell .jc-v28-canvas-nav .jc-menu a::after{
    bottom:8px!important;
  }

  /* Keep the real navigation above all artwork/hotspot layers while the
     scrim itself never intercepts clicks. */
  .jc-fidelity-canvas .jc-v28-canvas-nav,
  .jc-v7-canvas-shell .jc-v28-canvas-nav{z-index:180!important;pointer-events:auto!important;}
  .jc-fidelity-canvas .jc-v28-canvas-nav::before,
  .jc-v7-canvas-shell .jc-v28-canvas-nav::before{pointer-events:none!important;}
}


/* =========================================================
   v31 — Interaction regression hardening
   Modals can close without JavaScript (native # fallback) and
   use aria-hidden as a second display state when JS is active.
   ========================================================= */
.jc-v7-modal[aria-hidden="false"]{display:grid!important}
.jc-v14-contact-modal[aria-hidden="false"]{display:flex!important}
.jc-v7-modal-backdrop,.jc-v14-contact-backdrop{z-index:0!important;display:block!important;text-decoration:none!important}
.jc-v7-modal-card,.jc-v14-contact-card{z-index:2!important;pointer-events:auto!important}
.jc-v7-modal-close,.jc-v14-contact-close{pointer-events:auto!important;text-decoration:none!important;touch-action:manipulation!important}
.jc-v7-modal-card button,.jc-v14-contact-card button,.jc-v7-modal-card a,.jc-v14-contact-card a{pointer-events:auto}

/* =========================================================
   v33 — Mobile navigation rebuild
   A dedicated top-level drawer now owns mobile navigation.
   Desktop navigation stays inside the header; mobile navigation
   is no longer a fixed/absolute descendant of that sticky header.
   ========================================================= */
.jc-mobile-drawer{display:none}

@media (max-width:1100px){
  :root{--jc-mobile-header-height:80px}
  html.jc-nav-open,
  body.jc-nav-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  .jc-site-header{
    position:sticky!important;
    top:0!important;
    z-index:2147483000!important;
    isolation:isolate!important;
    background:#03101f!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
  }
  .jc-header-inner{
    position:relative!important;
    z-index:2!important;
    width:calc(100% - 24px)!important;
    min-height:var(--jc-mobile-header-height)!important;
    height:var(--jc-mobile-header-height)!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 56px!important;
    gap:12px!important;
    align-items:center!important;
  }
  .jc-logo{
    grid-column:1!important;
    justify-self:start!important;
    justify-items:start!important;
    max-width:min(260px,calc(100vw - 96px))!important;
    padding:8px 0!important;
  }
  .jc-logo::before,.jc-logo::after{display:none!important}
  .jc-logo-main{font-size:clamp(19px,6vw,25px)!important}
  .jc-logo-sub{font-size:clamp(7.5px,2.25vw,9px)!important;line-height:1.28!important}

  .jc-site-header .jc-nav-desktop,
  .jc-site-header .jc-header-mark{
    display:none!important;
  }

  .jc-mobile-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    justify-self:end!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    width:52px!important;
    height:52px!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid rgba(255,255,255,.32)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
    cursor:pointer!important;
    position:relative!important;
    z-index:3!important;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation!important;
  }
  .jc-mobile-toggle span{
    display:block!important;
    width:27px!important;
    height:2px!important;
    margin:3.5px 0!important;
    border-radius:2px!important;
    background:#fff!important;
    transform-origin:center!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .jc-mobile-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)!important}
  .jc-mobile-toggle.is-open span:nth-child(2){opacity:0!important}
  .jc-mobile-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important}

  .jc-mobile-drawer{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147482000!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .16s ease,visibility 0s linear .16s!important;
  }
  .jc-mobile-drawer.is-open{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transition:opacity .16s ease!important;
  }
  .jc-mobile-drawer-backdrop{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(2,12,25,.985)!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .jc-mobile-drawer-panel{
    position:absolute!important;
    z-index:2!important;
    top:calc(var(--jc-mobile-header-height) + 14px)!important;
    left:14px!important;
    right:14px!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:560px!important;
    margin:0 auto!important;
    padding:20px 16px 24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    background:linear-gradient(180deg,#071b34 0%,#041326 100%)!important;
    border:1px solid rgba(242,208,128,.72)!important;
    border-radius:14px!important;
    box-shadow:0 24px 70px rgba(0,0,0,.48)!important;
  }
  .jc-mobile-drawer-title{
    margin:0 0 14px!important;
    color:var(--jc-gold2)!important;
    font:800 12px/1.2 var(--jc-serif)!important;
    letter-spacing:.22em!important;
    text-align:center!important;
    text-transform:uppercase!important;
  }
  .jc-mobile-drawer-nav{
    display:block!important;
    width:100%!important;
  }
  .jc-mobile-drawer-nav .jc-menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .jc-mobile-drawer-nav .jc-menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .jc-mobile-drawer-nav .jc-menu a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:12px 16px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.065)!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:normal!important;
    text-decoration:none!important;
    box-shadow:none!important;
    touch-action:manipulation!important;
  }
  .jc-mobile-drawer-nav .jc-menu a::after{display:none!important}
  .jc-mobile-drawer-nav .jc-menu a:hover,
  .jc-mobile-drawer-nav .jc-menu a:focus-visible,
  .jc-mobile-drawer-nav .jc-menu .current-menu-item>a,
  .jc-mobile-drawer-nav .jc-menu .current_page_item>a{
    background:linear-gradient(180deg,rgba(146,18,38,.56),rgba(102,11,27,.62))!important;
    border-color:rgba(242,208,128,.86)!important;
  }
}

@media (max-width:430px){
  :root{--jc-mobile-header-height:78px}
  .jc-header-inner{width:calc(100% - 20px)!important}
  .jc-mobile-toggle{width:50px!important;height:50px!important}
  .jc-mobile-drawer-panel{
    top:calc(var(--jc-mobile-header-height) + 10px)!important;
    left:10px!important;
    right:10px!important;
    padding:16px 12px 20px!important;
    border-radius:12px!important;
  }
  .jc-mobile-drawer-nav .jc-menu{gap:8px!important}
  .jc-mobile-drawer-nav .jc-menu a{min-height:54px!important;font-size:17px!important}
}

@media (max-height:650px) and (max-width:1100px){
  .jc-mobile-drawer-panel{top:calc(var(--jc-mobile-header-height) + 8px)!important;padding-top:12px!important}
  .jc-mobile-drawer-title{margin-bottom:8px!important}
  .jc-mobile-drawer-nav .jc-menu{gap:7px!important}
  .jc-mobile-drawer-nav .jc-menu a{min-height:48px!important;padding-block:9px!important;font-size:16px!important}
}

@media (max-width:782px){
  body.admin-bar .jc-site-header{top:46px!important}
  body.admin-bar .jc-mobile-drawer{top:46px!important}
}
@media (min-width:783px) and (max-width:1100px){
  body.admin-bar .jc-site-header{top:32px!important}
  body.admin-bar .jc-mobile-drawer{top:32px!important}
}

@media (min-width:1101px){
  .jc-mobile-drawer{display:none!important}
  .jc-mobile-toggle{display:none!important}
}


/* =========================================================
   v34 — Approved campaign contact policy
   The source Get Involved artwork contains obsolete contact rows.
   Keep the masking region opaque enough to fully cover those rows,
   while rendering only the approved campaign email and location.
   ========================================================= */
@media (min-width:1200px){
  .jc-v34-contact-details{
    background:linear-gradient(90deg,rgba(5,27,50,1),rgba(5,31,56,1) 82%,rgba(5,31,56,.94));
    grid-template-rows:auto auto;
    align-content:center;
  }
}

/* =========================================================
   v36 — Release-candidate QA / Get Involved rebuild
   Real semantic controls replace desktop image hotspots on the
   site's most interactive page. Public forms use consistent,
   accessible controls and feedback across viewport sizes.
   ========================================================= */
.jc-get-involved-live{background:#06172d;color:#fff}
.jc-live-page-title{margin:4px 0 8px;font:900 clamp(44px,6vw,82px)/.95 var(--jc-serif);text-transform:uppercase;letter-spacing:.015em;color:#fff;text-shadow:0 6px 24px rgba(0,0,0,.42)}
.jc-involved-hero-actions{justify-content:flex-start}
.jc-involved-actions-section .jc-center-heading{max-width:840px;margin-inline:auto;text-align:center;margin-bottom:28px}
.jc-involved-actions-section .jc-center-heading p:not(.jc-section-label){color:#cbd8e5;font-size:16px}
.jc-qa-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jc-action-card{min-height:330px!important;border-radius:10px!important;padding:28px 24px!important}
.jc-action-card p{font-size:15px!important;line-height:1.55!important}
.jc-action-card .jc-btn{margin-top:auto!important;padding-top:0!important;width:100%;min-height:50px;font-size:12px;color:#fff!important}
.jc-involved-form-grid{grid-template-columns:.86fr 1.14fr;gap:42px;align-items:start}
.jc-live-contact-section{padding:64px 0}
.jc-live-contact-section h2{font:700 clamp(30px,4vw,48px)/1.08 var(--jc-serif);color:#122f4c;margin:7px 0 14px}
.jc-live-contact-section article>p:not(.jc-section-label){font-size:16px;line-height:1.65;color:#42576e}
.jc-live-form-card{padding:28px!important;border-radius:12px!important}
.jc-form-expectation{margin-top:22px;padding:16px 18px;border-left:4px solid var(--jc-gold);background:#eef2f5;color:#18334f;border-radius:4px;display:grid;gap:4px}
.jc-form-expectation strong{font:800 14px/1.2 var(--jc-serif);text-transform:uppercase;letter-spacing:.04em}
.jc-form-expectation span{font-size:14px;line-height:1.5}
.jc-live-stay-informed-section{padding:54px 0}
.jc-live-signup-panel{padding:32px!important;border-radius:10px}
.jc-live-signup-panel h2{font-size:clamp(26px,3vw,38px)!important}
.jc-signup-intro{font-size:14px;line-height:1.55;color:#d6e1ed;margin:0 0 18px}
.jc-live-signup-panel .jc-signup-form{gap:12px}
.jc-live-signup-panel .jc-signup-form input[type="text"],.jc-live-signup-panel .jc-signup-form input[type="email"]{min-height:50px;font-size:16px}
.jc-signup-choice{position:relative;padding:10px 12px;border:1px solid rgba(255,255,255,.24);border-radius:7px;background:rgba(255,255,255,.055);cursor:pointer;line-height:1.45!important;font-size:14px!important}
.jc-signup-choice:hover{background:rgba(255,255,255,.09)}
.jc-signup-choice input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin:0!important;opacity:1!important;accent-color:#2b88dc;cursor:pointer}
.jc-signup-choice:focus-within{outline:3px solid #f6d477;outline-offset:2px}
.jc-live-signup-panel .jc-signup-form .jc-btn,.jc-live-form-card .jc-contact-form .jc-btn{min-height:52px;font-size:13px}
.jc-form-message{border-radius:6px;padding:12px 14px!important;font-size:14px!important;line-height:1.45!important}
.jc-form-message.is-error{background:#fff0f1!important;color:#7d1120!important;border-color:#d86b77!important}
button[aria-busy="true"],button:disabled{opacity:.72;cursor:wait!important;transform:none!important}
.jc-involved-voting-cta{padding:42px 0}
.jc-involved-voting-inner{display:flex;align-items:center;justify-content:space-between;gap:34px}
.jc-involved-voting-inner h2{font:700 32px/1.08 var(--jc-serif);color:#17324f;margin:5px 0 8px}.jc-involved-voting-inner p:not(.jc-section-label){color:#53677b;margin:0}

/* Desktop homepage signup was visually too small to feel interactive. Keep the
   fidelity overlay, but make the actual live controls readable and tappable. */
@media (min-width:1200px){
  .jc-fidelity-live-signup{padding:1.15% 3.2% 1%!important}
  .jc-fidelity-live-signup h2{font-size:clamp(15px,1.12vw,18px)!important;margin-bottom:8px!important}
  .jc-fidelity-live-signup .jc-signup-form{grid-template-columns:1fr auto!important;gap:7px 9px!important}
  .jc-fidelity-live-signup .jc-signup-form input[type="email"]{height:38px!important;min-height:38px!important;font-size:13px!important;padding:0 11px!important}
  .jc-fidelity-live-signup .jc-signup-form .jc-btn{height:38px!important;min-height:38px!important;font-size:10px!important;padding:0 14px!important}
  .jc-fidelity-live-signup .jc-signup-choice{font-size:10px!important;line-height:1.25!important;padding:3px 5px!important;border-radius:4px!important}
  .jc-fidelity-live-signup .jc-signup-choice input[type="checkbox"]{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important}
  .jc-fidelity-live-signup .jc-consent-note{font-size:8px!important;line-height:1.3!important}
  .jc-fidelity-live-polling{height:30px!important;font-size:9px!important;margin-top:7px!important}
}

@media (max-width:980px){
  .jc-qa-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jc-involved-form-grid{grid-template-columns:1fr}
  .jc-involved-voting-inner{align-items:flex-start;flex-direction:column}
}
@media (max-width:640px){
  .jc-live-page-title{font-size:clamp(38px,13vw,56px)}
  .jc-involved-hero-actions{display:grid;width:100%}.jc-involved-hero-actions .jc-btn{width:100%}
  .jc-qa-action-grid{grid-template-columns:1fr}
  .jc-action-card{min-height:0!important}
  .jc-live-contact-section,.jc-live-stay-informed-section{padding:42px 0}
  .jc-live-form-card,.jc-live-signup-panel{padding:20px!important}
  .jc-signup-choice{font-size:13px!important}
}


/* =========================================================
   v37 — Direct official voter-resource links
   Specific election documents and official action tools replace
   generic pages that require visitors to hunt for information.
   ========================================================= */
.jc-v37-direct-resources{background:linear-gradient(180deg,#f7f4ed 0%,#eef1f3 100%);color:#17324f;padding:64px 0 76px;border-top:1px solid rgba(18,47,76,.13)}
.jc-v37-section-heading{max-width:920px;margin:0 auto 28px;text-align:center}.jc-v37-section-heading.compact{margin-top:56px}
.jc-v37-section-heading h2{font:800 clamp(30px,4vw,48px)/1.08 var(--jc-serif);margin:7px 0 12px;color:#14304d}
.jc-v37-section-heading p:not(.jc-section-label){margin:0 auto;color:#4c6278;line-height:1.65;font-size:16px}.jc-v37-section-heading a{font-weight:800;color:#9a1f2f;text-decoration:underline}
.jc-v37-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jc-v37-resource-card{display:flex;min-height:178px;flex-direction:column;padding:22px 20px;border:1px solid rgba(23,50,79,.17);border-radius:10px;background:#fff;color:#17324f;text-decoration:none;box-shadow:0 8px 22px rgba(17,43,70,.07);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.jc-v37-resource-card:hover,.jc-v37-resource-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,43,70,.13);border-color:#a62a3c;outline:none}
.jc-v37-resource-card:focus-visible{box-shadow:0 0 0 4px rgba(246,212,119,.75),0 12px 28px rgba(17,43,70,.13)}
.jc-v37-resource-card strong{font:800 20px/1.15 var(--jc-serif);color:#14304d}.jc-v37-resource-card span{font-size:14px;line-height:1.55;color:#556b80;margin:9px 0 18px}.jc-v37-resource-card b{margin-top:auto;color:#a51f32;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.jc-v37-sample-ballots{scroll-margin-top:110px}.jc-v37-ballot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-width:1080px;margin:0 auto}
.jc-v37-ballot-link{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:58px;padding:13px 15px;border:1px solid rgba(23,50,79,.16);border-radius:7px;background:#fff;color:#17324f;text-decoration:none;font-size:14px;line-height:1.35}.jc-v37-ballot-link:hover,.jc-v37-ballot-link:focus-visible{border-color:#a51f32;background:#fffaf6;outline:none}.jc-v37-ballot-link:focus-visible{box-shadow:0 0 0 4px rgba(246,212,119,.7)}.jc-v37-ballot-link b{white-space:nowrap;color:#a51f32;font-size:12px}
.jc-v37-source-footnote{max-width:940px;margin:22px auto 0;text-align:center;color:#687b8d;font-size:13px;line-height:1.55}.jc-v37-secondary-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin-top:15px}.jc-v37-secondary-links a{color:#17324f;font-weight:800;font-size:13px}
@media (max-width:900px){.jc-v37-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jc-v37-ballot-grid{grid-template-columns:1fr}}
@media (max-width:600px){.jc-v37-direct-resources{padding:44px 0 54px}.jc-v37-resource-grid{grid-template-columns:1fr}.jc-v37-resource-card{min-height:0}.jc-v37-section-heading.compact{margin-top:42px}.jc-v37-ballot-link{align-items:flex-start}.jc-v37-secondary-links{align-items:stretch;flex-direction:column}.jc-v37-secondary-links a{text-align:center;padding:8px}}

/* =========================================================
   v38 — Unified Stay Informed / Get Updates component
   One semantic signup system now serves Experience, Get Involved,
   and Updates from Jon. These rules intentionally override older
   page-specific signup/scenic/canvas rules.
   ========================================================= */
.jc-v38-signup-band{
  position:relative;
  padding:42px 0;
  background:linear-gradient(120deg,#06172d 0%,#0a3157 72%,#071d37 100%);
  color:#fff;
  border-top:2px solid rgba(231,190,95,.8);
  border-bottom:1px solid rgba(255,255,255,.15);
  overflow:hidden;
}
.jc-v38-signup-band::after{
  content:"★";
  position:absolute;
  right:4%;
  bottom:-80px;
  font:900 220px/1 Cinzel,Georgia,serif;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.jc-v38-signup-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:42px;
  align-items:center;
}
.jc-v38-signup-copy .jc-section-label{color:#efc86d!important;margin:0 0 7px!important}
.jc-v38-signup-copy h2{margin:0 0 10px;font:700 clamp(30px,3.5vw,46px)/1.08 var(--jc-serif);color:#fff}
.jc-v38-signup-copy p:not(.jc-section-label){margin:0;max-width:580px;color:#d5e0eb;font-size:16px;line-height:1.6}
.jc-v38-signup-card{
  position:relative;
  padding:24px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.jc-v38-signup-card .jc-signup-instance{width:100%;max-width:none}
.jc-v38-signup-card .jc-signup-form{
  position:static!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:12px!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.jc-v38-signup-card .jc-signup-form input[type="text"]{
  position:static!important;
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #cbd7e2!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#10243b!important;
  font-size:16px!important;
  opacity:1!important;
}
.jc-v38-signup-card .jc-signup-form input[type="email"]{
  position:static!important;
  display:block!important;
  grid-column:1!important;
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #cbd7e2!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#10243b!important;
  font-size:16px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.jc-v38-signup-card .jc-signup-form .jc-btn{
  position:static!important;
  display:flex!important;
  grid-column:2!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:190px!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 20px!important;
  background:linear-gradient(#dd1d31,#ad0b1f)!important;
  border:1px solid #ef5b6a!important;
  border-radius:5px!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.jc-v38-signup-card .jc-signup-form .jc-signup-choice{
  position:static!important;
  display:flex!important;
  grid-column:1/-1!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.4!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.jc-v38-signup-card .jc-signup-choice input[type="checkbox"]{
  position:static!important;
  display:block!important;
  flex:0 0 22px!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  opacity:1!important;
  accent-color:#2b88dc!important;
  pointer-events:auto!important;
}
.jc-v38-signup-card .jc-consent-note{
  position:static!important;
  grid-column:1/-1!important;
  margin:0!important;
  color:#c7d4e1!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.jc-v38-signup-card .jc-consent-note a{color:#f3d27f!important;text-decoration:underline!important;text-underline-offset:2px}
.jc-v38-signup-card .jc-form-message{grid-column:1/-1!important;margin:0 0 12px!important}

/* Experience desktop: cover the fake email field baked into the artwork with
   one real, interactive signup row using the same form engine as Home. */
@media (min-width:1200px){
  .jc-v7-canvas-shell .jc-v38-experience-signup{
    position:absolute!important;
    z-index:165!important;
    left:0!important;
    right:0!important;
    top:84.25%!important;
    height:6.75%!important;
    display:grid!important;
    grid-template-columns:28% 49% 23%!important;
    align-items:center!important;
    gap:0!important;
    padding:1.15% 4.3%!important;
    background:linear-gradient(90deg,#06172d 0%,#082b4d 62%,#06172d 100%)!important;
    border-top:1px solid rgba(239,199,106,.72)!important;
    border-bottom:1px solid rgba(255,255,255,.32)!important;
    color:#fff!important;
    box-sizing:border-box!important;
    pointer-events:auto!important;
  }
  .jc-v38-experience-signup-copy{padding-right:7%!important}
  .jc-v38-experience-signup-copy .jc-section-label{margin:0 0 3px!important;color:#efc86d!important;font-size:clamp(8px,.7vw,11px)!important}
  .jc-v38-experience-signup-copy strong{display:block;font:700 clamp(10px,.92vw,15px)/1.25 var(--jc-serif)!important;color:#fff!important}
  .jc-v38-experience-signup-form{padding-right:4%!important;min-width:0!important}
  .jc-v38-experience-signup-form .jc-signup-form{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:5px 8px!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
  }
  .jc-v38-experience-signup-form .jc-signup-form input[type="text"]{display:none!important}
  .jc-v38-experience-signup-form .jc-signup-form input[type="email"]{
    position:static!important;display:block!important;grid-column:1!important;width:100%!important;
    height:34px!important;min-height:34px!important;margin:0!important;padding:0 10px!important;
    background:#fff!important;color:#10243b!important;border:1px solid #d1dbe4!important;border-radius:4px!important;
    font-size:12px!important;opacity:1!important;pointer-events:auto!important;
  }
  .jc-v38-experience-signup-form .jc-signup-form .jc-btn{
    position:static!important;display:flex!important;grid-column:2!important;align-items:center!important;justify-content:center!important;
    width:auto!important;min-width:135px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 12px!important;
    background:linear-gradient(#dd1d31,#ad0b1f)!important;border:1px solid #ef5b6a!important;border-radius:4px!important;
    color:#fff!important;font-size:9px!important;font-weight:900!important;white-space:nowrap!important;pointer-events:auto!important;
  }
  .jc-v38-experience-signup-form .jc-signup-choice{
    position:static!important;display:flex!important;grid-column:1/-1!important;align-items:center!important;gap:5px!important;
    width:auto!important;height:auto!important;margin:0!important;padding:1px 3px!important;border:0!important;background:transparent!important;
    color:#fff!important;font-size:7.5px!important;line-height:1.15!important;pointer-events:auto!important;
  }
  .jc-v38-experience-signup-form .jc-signup-choice input[type="checkbox"]{
    position:static!important;width:13px!important;min-width:13px!important;height:13px!important;min-height:13px!important;
    margin:0!important;opacity:1!important;accent-color:#2b88dc!important;pointer-events:auto!important;
  }
  .jc-v38-experience-signup-form .jc-consent-note{grid-column:1/-1!important;margin:0!important;color:#bccbd9!important;font-size:6.5px!important;line-height:1.1!important}
  .jc-v38-experience-signup-form .jc-consent-note a{color:#f3d27f!important}
  .jc-v38-experience-signup-form .jc-form-message{grid-column:1/-1!important;margin:0 0 3px!important;padding:4px 6px!important;font-size:7px!important}
  .jc-v38-experience-election{padding-left:8%!important;border-left:1px solid rgba(239,199,106,.65)!important;display:grid!important;gap:1px!important}
  .jc-v38-experience-election span{text-transform:uppercase;letter-spacing:.12em;color:#efc86d;font-size:8px;font-weight:800}
  .jc-v38-experience-election strong{font:800 clamp(13px,1.15vw,18px)/1.05 var(--jc-serif);text-transform:uppercase}
  .jc-v38-experience-election small{color:#d4deea;font-size:6.5px;line-height:1.2}
}

@media (max-width:900px){
  .jc-v38-signup-grid{grid-template-columns:1fr;gap:22px}
  .jc-v38-signup-copy{text-align:center}
  .jc-v38-signup-copy p:not(.jc-section-label){margin-inline:auto}
}
@media (max-width:620px){
  .jc-v38-signup-band{padding:34px 0}
  .jc-v38-signup-card{padding:18px}
  .jc-v38-signup-card .jc-signup-form{grid-template-columns:1fr!important}
  .jc-v38-signup-card .jc-signup-form input[type="text"],
  .jc-v38-signup-card .jc-signup-form input[type="email"],
  .jc-v38-signup-card .jc-signup-form .jc-btn,
  .jc-v38-signup-card .jc-signup-form .jc-signup-choice,
  .jc-v38-signup-card .jc-consent-note{grid-column:1!important;width:100%!important}
  .jc-v38-signup-card .jc-signup-form .jc-btn{min-width:0!important}
  .jc-v38-signup-copy h2{font-size:30px}
}

/* v39 — voter-facing narrative cleanup */
.jc-v39-attribution-note{padding:24px 0;background:#eef2f5;border-bottom:1px solid rgba(8,35,58,.14)}
.jc-v39-attribution-note .jc-container{max-width:920px}
.jc-v39-attribution-note p{margin:0;color:#24384a;line-height:1.6}
.jc-v39-attribution-note .jc-section-label{margin-bottom:6px;color:#8a651d}
.jc-v39-experience-caveat{max-width:900px;margin:30px auto 0;padding:20px 24px;border-left:3px solid #d6ad52;background:rgba(7,31,51,.055);color:#263b4d;line-height:1.65}
.jc-v39-source-line{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px!important;font-size:14px}
.jc-v39-source-line a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.jc-v39-five-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media (max-width:1200px){.jc-v39-five-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:760px){.jc-v39-five-actions{grid-template-columns:1fr!important}}
