:root{--ink:#163d38;--deep:#0f302d;--mint:#d9eee3;--paper:#f7f7f2;--coral:#ef765a;--yellow:#f5c96a;--muted:#6e7f79;--line:#d7e1da;--white:#fff;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}.announcement{height:32px;background:var(--deep);color:#e8f5ec;text-align:center;font-size:12px;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:9px}.dot{width:6px;height:6px;border-radius:50%;background:var(--coral)}.site-header{max-width:1240px;margin:auto;height:84px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:-.04em}.brand b{color:var(--coral)}.brand-mark{width:30px;height:30px;border-radius:50% 50% 50% 8px;background:var(--coral);color:white;display:grid;place-items:center;font:800 16px var(--display);transform:rotate(-12deg)}.main-nav{display:flex;align-items:center;gap:34px}.main-nav a,.back-top{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.main-nav a:hover,.back-top:hover,.text-link:hover{color:var(--coral)}.nav-cta{padding:11px 16px;border:1px solid var(--ink);border-radius:100px}.nav-cta span{color:var(--coral);margin-left:7px}.menu-toggle{display:none;background:none;border:0;color:var(--ink);font:600 14px var(--sans)}.menu-toggle span{font-size:18px;margin-left:8px}.section-shell{max-width:1184px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}.hero{min-height:620px;display:grid;grid-template-columns:46% 54%;align-items:center;gap:30px}.hero-copy{padding:50px 0 70px}.eyebrow,.section-label{font-size:12px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--coral)}.eyebrow{margin:0 0 25px}.hero h1{font:800 clamp(62px,8.5vw,116px)/.93 var(--display);letter-spacing:-.09em;margin:0 0 29px;color:var(--deep)}h1 em,h2 em{font-style:normal;color:var(--coral)}.hero-lead{max-width:390px;font-size:20px;line-height:1.4;margin:0 0 35px;color:#49615b}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 20px;border-radius:100px;text-decoration:none;font-size:14px;font-weight:700;transition:.2s ease}.button span{font-size:18px;line-height:0}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--coral);transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white;transform:translateY(-2px)}.text-link{color:var(--ink);font-size:14px;text-decoration:none;font-weight:700}.text-link span{margin-left:5px;color:var(--coral)}.hero-art{position:relative;height:500px;overflow:hidden;border-radius:230px 0 0 0;background:var(--mint)}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:53% center;filter:saturate(.82)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,48,45,.18),transparent 45%)}.hero-stamp{position:absolute;bottom:23px;left:23px;z-index:1;display:flex;gap:8px;flex-wrap:wrap}.hero-stamp span,.tag-row span{background:rgba(255,255,255,.84);backdrop-filter:blur(7px);border-radius:100px;padding:5px 10px;font-size:11px;font-weight:700;color:var(--ink)}.intro{padding-top:125px;padding-bottom:95px}.section-label{display:flex;align-items:center;gap:14px;margin-bottom:45px}.section-label:after{content:'';height:1px;background:var(--line);width:100px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro h2,.program-heading h2,.candidates-heading h2{font:800 clamp(42px,5.2vw,72px)/1.02 var(--display);letter-spacing:-.075em;margin:0;color:var(--deep)}h2 span{color:#7b978b}.intro-text{padding:10px 0 0;max-width:470px}.large{font:600 24px/1.35 var(--display);letter-spacing:-.04em;margin:0 0 23px}.intro-text p:not(.large){color:#526760}.signature{font:700 14px var(--display);margin-top:28px}.signature span{color:var(--coral);padding-left:7px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:135px;background:var(--mint);padding-top:0;padding-bottom:0}.principle-card{padding:39px 34px 42px;border-right:1px solid rgba(22,61,56,.12)}.principle-card:last-child{border-right:0}.principle-card.highlight{background:var(--yellow)}.icon{font-size:33px;display:block;margin-bottom:16px}.principle-card h3{font:800 23px var(--display);letter-spacing:-.05em;margin:0 0 8px}.principle-card p{margin:0;color:#567069;font-size:14px;line-height:1.5;max-width:250px}.program{padding-bottom:140px}.program-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.program-heading p{max-width:210px;color:var(--muted);font-size:14px;margin:0 0 4px}.program-list{border-top:1px solid var(--ink)}.program-item{display:grid;grid-template-columns:74px 1fr 50px;gap:18px;padding:27px 0 29px;border-bottom:1px solid var(--line);transition:.2s}.program-item:hover{padding-left:12px;padding-right:12px;background:#edf3eb}.program-no{font:700 14px var(--display);color:var(--coral);padding-top:7px}.program-item h3{font:800 25px/1.2 var(--display);letter-spacing:-.05em;margin:0 0 8px}.program-item p{margin:0;max-width:680px;color:#61736c;font-size:14px}.program-arrow{font-size:25px;color:var(--coral);text-align:right;padding-top:2px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag-row span{background:var(--mint);font-size:10px;padding:3px 9px}.quote-band{background:var(--coral);color:white}.quote-inner{min-height:350px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center}.quote-inner p{font:700 clamp(38px,5vw,66px)/1.03 var(--display);letter-spacing:-.08em;margin:0}.quote-inner em{font-style:normal;color:var(--yellow)}.quote-mark{font:800 100px/1 Georgia;color:var(--yellow);position:absolute;left:14%;top:88px}.quote-end{left:auto;right:14%;top:auto;bottom:38px}.candidates{padding-top:130px;padding-bottom:150px}.candidates-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:57px}.candidates-heading p{max-width:240px;margin:0;color:var(--muted);font-size:14px}.candidate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px}.candidate{position:relative}.portrait{height:190px;border-radius:120px 120px 12px 12px;display:grid;place-items:center;font:800 45px var(--display);letter-spacing:-.08em;color:var(--ink);background:var(--mint);margin-bottom:17px}.portrait-1{height:266px;background:#b4d8cb}.portrait-2,.portrait-5{background:#e6c27b}.portrait-3,.portrait-6{background:#d9e8d1}.portrait-4,.portrait-7{background:#f0b9a4}.candidate-no{position:absolute;right:12px;top:12px;font:700 12px var(--display);color:var(--ink);background:rgba(255,255,255,.75);border-radius:50%;padding:8px 7px}.candidate h3{font:800 20px/1.05 var(--display);letter-spacing:-.06em;margin:0 0 7px}.candidate p{font-size:13px;margin:0;color:var(--muted)}.lead-candidate{grid-row:span 2}.photo-note{text-align:center;color:#8a9a93;font-size:12px;margin:45px 0 0}.contact{padding-bottom:110px}.contact-card{background:var(--deep);color:white;border-radius:0 90px 0 0;padding:70px 80px;display:flex;justify-content:space-between;align-items:end}.contact h2{font:800 clamp(42px,5.2vw,67px)/1 var(--display);letter-spacing:-.08em;margin:0}.contact h2 em{color:var(--yellow)}.contact-actions{max-width:270px}.contact-actions p{font-size:14px;color:#c6d9cb;margin:0 0 22px}.site-footer{border-top:1px solid var(--line);min-height:90px;display:flex;align-items:center;justify-content:space-between}.site-footer p{font-size:12px;color:var(--muted);margin:0}.back-top{font-size:12px;color:var(--muted)}
@media(max-width:760px){.site-header{height:70px;padding:0 20px}.main-nav{display:none;position:absolute;top:102px;left:15px;right:15px;background:var(--paper);padding:20px;border:1px solid var(--line);border-radius:12px;z-index:10;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 15px 30px rgba(22,61,56,.12)}.main-nav.open{display:flex}.nav-cta{text-align:center}.menu-toggle{display:block}.section-shell{padding-left:20px;padding-right:20px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:50px}.hero-copy{padding:0 0 45px}.hero h1{font-size:72px}.hero-lead{font-size:18px}.hero-actions{gap:17px;flex-wrap:wrap}.hero-art{height:360px;border-radius:150px 0 0 0;margin-right:-20px}.intro{padding-top:85px;padding-bottom:65px}.intro-grid{grid-template-columns:1fr;gap:35px}.intro h2{font-size:51px}.principles{display:block;margin-bottom:90px;padding:0}.principle-card{border-right:0;border-bottom:1px solid rgba(22,61,56,.12);padding:28px 26px}.program{padding-bottom:90px}.program-heading,.candidates-heading{display:block;margin-bottom:35px}.program-heading p,.candidates-heading p{margin-top:18px}.program-item{grid-template-columns:38px 1fr 25px;gap:9px;padding:23px 0}.program-item h3{font-size:21px}.program-item p{font-size:13px}.program-arrow{font-size:19px}.quote-inner{min-height:250px}.quote-inner p{font-size:42px}.quote-mark{left:4%;top:50px;font-size:70px}.quote-end{right:4%;bottom:20px}.candidates{padding-top:90px;padding-bottom:90px}.candidate-grid{grid-template-columns:repeat(2,1fr);gap:28px 13px}.lead-candidate{grid-row:auto;grid-column:span 2}.portrait,.portrait-1{height:210px}.candidate h3{font-size:17px}.contact{padding-bottom:70px}.contact-card{display:block;padding:50px 28px;border-radius:0 55px 0 0}.contact-actions{margin-top:35px}.site-footer{min-height:115px;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:22px;padding-bottom:22px}.site-footer p{text-align:right}.back-top{grid-column:span 2}.announcement{font-size:10px}}
:root{--coral:#2d6fa8}.brand-logo{width:36px;height:36px;object-fit:contain;display:block}.brand{gap:9px}.site-footer .brand-logo{width:34px;height:34px}.portrait-photo{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.candidate-detail{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .25s ease}.candidate:hover .candidate-detail,.candidate:focus-within .candidate-detail,.candidate.is-open .candidate-detail{max-height:220px;opacity:1}.candidate-bio{font-size:12px!important;line-height:1.45;color:#5e7169!important;margin-top:12px!important}.candidate-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.candidate-tags span{font-size:10px;font-weight:700;color:var(--ink);background:var(--mint);padding:4px 8px;border-radius:100px}.candidate-more{display:block;margin-top:13px;padding:0;border:0;background:none;color:var(--blue,#2d6fa8);font:700 12px var(--sans);cursor:pointer}.candidate-more span{margin-left:5px}.candidate-more:hover{color:var(--ink)}
:root{--coral:#2d6fa8}.candidate{display:flex;flex-direction:column;min-width:0}.candidate .portrait{position:relative;flex:0 0 auto;margin-bottom:17px}.candidate h3,.candidate>p,.candidate-detail,.candidate-more{position:relative;z-index:1}
:root{--coral:#2d6fa8}.candidate-copy{display:block;position:relative;background:var(--paper);padding-top:16px}.candidate-copy .candidate-no{top:-8px;right:12px}.candidate-copy h3,.candidate-copy>p,.candidate-copy .candidate-detail,.candidate-copy .candidate-more{position:relative;z-index:2}
:root{--coral:#2d6fa8}.candidate .portrait{overflow:hidden}.candidate .portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.candidate .portrait-5 .portrait-photo{object-position:center 38%}
:root{--coral:#2d6fa8}.candidate .portrait-photo{object-fit:contain!important;object-position:center center!important;background:#eef0f5}
:root{--coral:#2d6fa8}.program-arrow{display:none!important}
:root{--coral:#2d6fa8}.brand-logo{width:30px;height:40px;object-fit:contain}.site-footer .brand-logo{width:28px;height:38px}
:root{--coral:#2d6fa8}.candidate .portrait-photo.card-photo{object-fit:cover!important;object-position:center center!important}
:root{--coral:#2d6fa8}.candidate .portrait-photo.card-photo{object-fit:contain!important;object-position:center center!important}
.hero-art img{object-position:center 48%}
.ballot-number{display:inline-flex;align-items:center;padding:8px 14px;margin:0 0 18px;border-radius:100px;background:var(--yellow);color:var(--deep);font:800 13px var(--display);letter-spacing:.04em;text-transform:uppercase}.ballot-number-light{margin-top:30px;margin-bottom:0;background:var(--yellow);color:var(--deep);font-size:15px;padding:11px 17px}
.closing-visual{min-height:0}.closing-visual img{position:relative;inset:auto;height:460px;object-fit:cover}.closing-visual:after{display:none}.closing-visual-copy{position:static;max-width:none;padding:54px 28px 62px;text-align:center;background:var(--deep)}.closing-visual-copy p{margin:0}.closing-visual-copy .ballot-number-light{display:inline-flex}@media(max-width:760px){.closing-visual img{height:300px}.closing-visual-copy{padding:42px 20px 48px}}
.team-feature{display:grid;grid-template-columns:1.35fr .85fr;gap:38px;align-items:center;margin:0 0 62px;padding:18px;background:#edf3eb;border-radius:18px}.team-feature img{width:100%;height:300px;display:block;object-fit:cover;object-position:center 53%;border-radius:12px}.team-feature-copy{padding:12px 24px 12px 0}.team-feature-copy .eyebrow{margin-bottom:15px}.team-feature-copy h3{font:800 clamp(28px,3vw,42px)/1.05 var(--display);letter-spacing:-.07em;margin:0 0 15px;color:var(--deep)}.team-feature-copy>p:last-child{color:#526760;max-width:430px;margin:0}.candidate-detail{background:#edf3eb;border-radius:13px;padding:15px 16px;margin-top:14px}.candidate:hover .candidate-detail,.candidate:focus-within .candidate-detail,.candidate.is-open .candidate-detail{max-height:620px}.candidate-bio,.candidate-detail-note{font-size:12px!important;line-height:1.48;color:#526760!important;margin:0!important}.candidate-detail-note{margin-top:9px!important}.candidate-tags{margin-top:13px}.closing-visual{position:relative;min-height:460px;margin-top:0;overflow:hidden;background:var(--deep)}.closing-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.88)}.closing-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,48,45,.78),rgba(15,48,45,.18) 65%,rgba(15,48,45,.1))}.closing-visual-copy{position:relative;z-index:1;max-width:1184px;margin:auto;padding:135px 28px}.closing-visual-copy p{font:800 clamp(45px,7vw,86px)/.98 var(--display);letter-spacing:-.08em;color:white;margin:0}.closing-visual-copy em{font-style:normal;color:var(--yellow)}
@media(max-width:760px){.team-feature{grid-template-columns:1fr;gap:20px;margin-bottom:42px;padding:13px}.team-feature img{height:220px}.team-feature-copy{padding:5px 10px 14px}.team-feature-copy h3{font-size:31px}.closing-visual{min-height:330px}.closing-visual-copy{padding:92px 20px}.closing-visual-copy p{font-size:50px}.candidate-detail{padding:13px}.candidate:hover .candidate-detail{max-height:680px}}
.closing-visual{min-height:0!important;height:auto!important;overflow:visible!important}.closing-visual img{position:relative!important;inset:auto!important;width:100%!important;height:460px!important;display:block!important;object-fit:cover!important;object-position:center 52%!important}.closing-visual:after{display:none!important;content:none!important}.closing-visual-copy{position:static!important;inset:auto!important;z-index:auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:54px 28px 62px!important;text-align:center!important;background:var(--deep)!important}.closing-visual-copy p{margin:0!important}@media(max-width:760px){.closing-visual img{height:300px!important}.closing-visual-copy{padding:42px 20px 48px!important}}
.candidate .portrait-1 .portrait-photo{object-fit:cover!important;object-position:center center!important}
.closing-visual img{height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center bottom!important}
.closing-visual img{height:380px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top!important}@media(max-width:760px){.closing-visual img{height:300px!important}}
.closing-visual img{object-fit:contain!important;object-position:center center!important;background:var(--deep)!important}
.post-election{padding-top:55px;padding-bottom:20px}.post-election-card{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:64px;padding:58px 64px;background:var(--deep);color:white;border-radius:0 80px 0 0;position:relative;overflow:hidden}.post-election-card:after{content:'♥';position:absolute;right:46px;top:-52px;color:rgba(245,201,106,.13);font:800 240px/1 Georgia}.post-election-heading{position:relative;z-index:1}.post-election-heading .eyebrow{color:var(--yellow);margin-bottom:20px}.post-election-heading h2{font:800 clamp(38px,4.8vw,66px)/1.02 var(--display);letter-spacing:-.08em;margin:0;color:white}.post-election-heading h2 em{color:var(--yellow);font-style:normal}.post-election-copy{position:relative;z-index:1;max-width:650px;color:#e8f0eb;font-size:16px;line-height:1.55}.post-election-copy p{margin:0 0 18px}.post-election-signoff{padding-top:10px;color:white}.post-election-signoff strong{color:var(--yellow)}
@media(max-width:760px){.post-election{padding-top:35px}.post-election-card{display:block;padding:40px 26px 44px;border-radius:0 48px 0 0}.post-election-card:after{right:-12px;top:70px;font-size:170px}.post-election-heading h2{font-size:48px;margin-bottom:34px}.post-election-copy{font-size:15px}}
.closing-visual{position:relative!important;min-height:0!important;padding-top:460px!important;background:var(--deep)!important;overflow:hidden!important}.closing-visual img{position:absolute!important;top:0!important;left:50%!important;transform:translateX(-50%)!important;width:auto!important;max-width:none!important;height:460px!important;object-fit:fill!important;background:transparent!important}.closing-visual-copy{position:relative!important}@media(max-width:760px){.closing-visual{padding-top:300px!important}.closing-visual img{height:300px!important}}
@media(max-width:760px){.quote-inner{display:block;min-height:0;padding:78px 28px 52px}.quote-inner p{display:inline;font-size:42px}.quote-end{position:static;display:inline;font-size:70px;vertical-align:baseline;margin-left:8px}}
@media(max-width:760px){.quote-end{display:block;width:max-content;margin:5px 0 0 auto;line-height:.8}}
.site-header .brand-logo{width:47px!important;height:47px!important}.site-footer .brand-logo{width:44px!important;height:44px!important}
.ballot-number{font-size:18px!important;padding:11px 18px!important}.ballot-number-light{font-size:20px!important;padding:13px 20px!important}
.candidate.lead-candidate .portrait-1{width:min(100%,360px)!important;height:270px!important;margin-right:auto!important}.candidate.lead-candidate .portrait-1 .portrait-photo{object-fit:cover!important;object-position:center center!important}@media(max-width:760px){.candidate.lead-candidate .portrait-1{width:min(100%,360px)!important;height:270px!important}}
.hero-ballot{position:relative;display:grid;place-content:center;width:112px;height:112px;margin:-8px 0 24px 7px;border:1px solid rgba(18,61,57,.18);border-radius:50%;text-align:center;background:linear-gradient(145deg,#f7d887 0%,var(--yellow) 62%,#e8b74f 100%);color:var(--deep);font:800 12px/1.05 var(--display);letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 0 0 7px rgba(255,255,255,.28),0 10px 24px rgba(18,61,57,.14);transform:rotate(-5deg)}.hero-ballot:after{content:'';position:absolute;inset:9px;border:1px dashed rgba(18,61,57,.28);border-radius:50%}.hero-ballot strong{display:block;font-size:36px;line-height:1;margin-top:5px;letter-spacing:-.06em}.hero-ballot br,.hero-ballot strong{position:relative;z-index:1}@media(max-width:760px){.hero-ballot{width:96px;height:96px;margin:-6px 0 22px 4px;font-size:10px}.hero-ballot strong{font-size:30px}}
.hero{grid-template-columns:minmax(0,1fr) 112px minmax(0,1.12fr);gap:24px}.hero-ballot{align-self:center;margin:0}@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-ballot{align-self:flex-start;margin:-12px 0 26px 4px}}
.hero{position:relative}.hero-ballot{align-self:start;margin-top:50px}@media(max-width:760px){.hero-ballot{position:absolute;top:26px;right:20px;align-self:auto;margin:0}}
.hero-ballot strong small{font-size:.42em;font-weight:700;letter-spacing:0;vertical-align:middle}
.closing-visual img{object-fit:cover!important;object-position:center center!important}
.closing-visual img{object-fit:contain!important;object-position:center center!important;background:var(--deep)!important}
