:root{--blue:#3a88cb;--sky:#4b93d3;--navy:#00002e;--lime:#aacb5a;--ink:#10153d;--muted:#687086;--line:#dfe4ec;--soft:#f4f7fb;--white:#fff}
*{box-sizing:border-box}html{max-width:100%;overflow-x:clip;scroll-behavior:smooth}body{max-width:100%;margin:0;overflow-x:clip;background:#fff;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}.section{padding-block:90px}
.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;background:#fff}.wordmark{display:flex;align-items:center;gap:10px;line-height:.9}.wordmark img{display:block;width:150px;height:64px;object-fit:contain}.wordmark>span:last-child{display:flex;flex-direction:column}.wordmark b{font-size:18px}.wordmark small{margin-top:5px;font-weight:800}.ball{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--blue);border-radius:50%;color:var(--blue);font-size:10px;font-weight:900}.site-header nav{display:flex;align-items:center;gap:24px;font-size:13px}.site-header nav>a:not(.nav-cta):hover{color:var(--blue)}.nav-cta{padding:13px 19px;border-radius:999px;background:var(--blue);color:white;font-weight:700}.menu-button{display:none;border:0;background:transparent;color:var(--blue);font-size:25px}
.hero-clean{position:relative;overflow:hidden;background:var(--navy);color:#fff}.hero-clean::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-55px;height:85px;border-radius:50% 50% 0 0;background:#fff}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;min-height:610px;padding-block:55px 90px}.hero-message .eyebrow,.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.hero-message .eyebrow{margin:0 0 22px;color:#b9dff4}.hero-message h1{margin:0;font-size:clamp(54px,6vw,82px);font-weight:300;line-height:.94;letter-spacing:-.045em}.hero-message h1 span,.hero-message h1 strong{display:block}.hero-message h1 strong{font-weight:800}.hero-values{display:inline-block;margin:28px 0 0;padding:9px 14px;background:var(--sky);color:#fff;font-size:17px;font-weight:800}.sport-emblem{width:min(100%,430px);aspect-ratio:1;justify-self:end;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 28px 60px rgba(4,22,51,.28)}.sport-emblem img{width:100%;height:100%;object-fit:contain}.hero-bottom{grid-column:1/-1;text-align:center}.hero-bottom>p{max-width:680px;margin:0 auto 22px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}.hero-actions{display:flex;justify-content:center;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.button.light{background:#fff;color:var(--navy);box-shadow:0 8px 18px rgba(8,24,52,.15)}.button.ghost{border:2px solid rgba(255,255,255,.3);color:#fff}.button.primary,.button.dark{background:var(--blue);color:#fff}
.candidate-section{padding-block:105px}.clean-heading{text-align:center;margin-bottom:48px}.kicker{margin:0 0 14px;color:var(--blue)}.kicker.light{color:#bfe9ff}.clean-heading h2{margin:0;font-size:46px;letter-spacing:-.035em}.clean-heading>p:last-child{margin:14px 0 0;color:var(--muted);font-size:18px}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.candidate-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;transition:transform .2s,box-shadow .2s}.candidate-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(23,48,78,.11)}.candidate-photo{position:relative;display:grid;place-items:center;height:390px;overflow:hidden;background:#f0f3f5}.candidate-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.candidate-photo>span{color:#aab5be;font-size:54px;font-weight:800}.leader-tag{position:absolute;top:16px;left:16px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;line-height:1.25;letter-spacing:.04em}.candidate-body{min-height:230px;padding:22px}.candidate-meta{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-weight:800}.candidate-meta small{font-size:15px}.candidate-meta span{color:#919aa4;font-size:12px;font-weight:400}.candidate-card h3{margin:20px 0 10px;font-size:23px;line-height:1.15;letter-spacing:-.025em}.candidate-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.center{text-align:center;margin-top:42px}
.contact-cta{background:var(--blue);color:#fff}.contact-cta-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding-block:78px}.contact-cta h2{max-width:520px;margin:0;font-size:48px;line-height:1.02;letter-spacing:-.04em}.contact-cta p{margin:0 0 24px;color:rgba(255,255,255,.8);font-size:17px;line-height:1.65}
.page-hero{min-height:330px;display:flex;flex-direction:column;justify-content:center;margin:0 0 20px;background:var(--navy);color:#fff}.page-hero.shell{width:100%;max-width:none;padding-inline:max(24px,calc((100vw - 1160px)/2))}.page-hero h1{max-width:900px;margin:0;font-size:clamp(45px,5.5vw,70px);line-height:1;letter-spacing:-.045em}.page-hero>p:last-child{max-width:720px;margin:20px 0 0;color:rgba(255,255,255,.72);font-size:18px;line-height:1.6}
.candidate-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}.detail-photo{position:relative;display:grid;place-items:center;min-height:600px;overflow:hidden;background:#f0f3f5}.detail-photo img{width:100%;height:100%;max-height:720px;object-fit:contain;cursor:zoom-in}.candidate-profile{padding-top:44px}.candidate-detail h1,.article h1{margin:0 0 24px;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.045em}.candidate-detail .role{max-width:680px;margin:0 0 38px;color:var(--ink);font-size:18px;font-weight:700;line-height:1.55}.leader-bio{padding-top:6px;border-top:1px solid var(--line)}.prose p{color:var(--muted);font-size:17px;line-height:1.75}.leader-priorities{margin:42px 0}.leader-priorities ol{display:grid;gap:12px;padding:0;list-style:none;counter-reset:leader-priority}.leader-priorities li{position:relative;padding:22px 24px 22px 66px;border:1px solid var(--line);background:#fff;color:var(--muted);line-height:1.65;counter-increment:leader-priority}.leader-priorities li:before{content:counter(leader-priority,decimal-leading-zero);position:absolute;top:23px;left:22px;color:var(--blue);font-weight:800}.candidate-profile>.button{margin-top:18px}
.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw}.story>div:first-child{display:grid;place-items:center;min-height:0;overflow:hidden;background:transparent}.story img{display:block;width:100%;height:auto;object-fit:contain}.story h2{font-size:46px;line-height:1.05;letter-spacing:-.035em}.story p{color:var(--muted);font-size:17px;line-height:1.7}.about-hero{margin-bottom:0}.about-story{align-items:start}.about-photo{position:sticky;top:110px}.about-copy{padding-top:18px}.about-copy .prose p:first-child{color:var(--ink);font-size:23px;line-height:1.55}.about-copy .prose p:last-child{margin-bottom:0}
.program-list article{display:grid;grid-template-columns:70px 1fr auto;gap:32px;padding:42px 8px;border-top:1px solid var(--line)}.program-list article:last-child{border-bottom:1px solid var(--line)}.program-list article>span{color:var(--blue);font-weight:800}.program-list h2{margin:0 0 12px;font-size:36px}.program-list p,.program-list li{color:var(--muted);line-height:1.6}.program-list strong{color:var(--blue)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{min-height:270px;display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:10px;background:#fff}.news-card img{width:calc(100% + 50px);max-width:none;height:210px;margin:-25px -25px 22px;object-fit:cover;border-radius:10px 10px 0 0}.news-card small{color:var(--blue);font-weight:700}.news-card h3{margin:auto 0 12px;font-size:25px}.news-card p,.news-card blockquote{color:var(--muted);line-height:1.55}.supporter-card .supporter-media{height:210px;margin:-25px -25px 22px;overflow:hidden;border-radius:10px 10px 0 0}.supporter-card .supporter-media img{width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border-radius:0}.supporter-card h3{margin:0 0 12px}.subheading{margin-top:65px;font-size:36px}.album-grid,.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.album-grid>a,.photo-grid button{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;text-align:left}.album-grid img,.photo-grid img{width:100%;height:280px;object-fit:contain;background:var(--soft)}.album-grid h2,.album-grid p{margin-inline:20px}.photo-grid button{cursor:zoom-in}
.article{max-width:900px}.article>img{width:100%;max-height:620px;object-fit:contain;background:var(--soft)}.article>div{font-size:18px;line-height:1.8}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-layout h2{margin-top:0;font-size:clamp(21px,2.15vw,30px);letter-spacing:-.025em;white-space:nowrap}.contact-layout form p{display:flex;flex-direction:column;gap:7px}.contact-layout input,.contact-layout textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit}.messages p{padding:12px;background:#e9f4fc}
.site-footer{min-height:150px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.site-footer .wordmark img{width:120px}.photo-dialog{max-width:min(95vw,1100px);max-height:94vh;padding:45px 15px 15px;border:0;background:#111}.photo-dialog::backdrop{background:rgba(0,0,0,.8)}.photo-dialog img{display:block;max-height:82vh;margin:auto}.photo-dialog button{position:absolute;top:8px;right:12px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
@media(max-width:1050px){.site-header nav{display:none}.menu-button{display:block}.menu-open .site-header nav{position:absolute;z-index:20;top:72px;left:24px;right:24px;display:flex;align-items:stretch;flex-direction:column;padding:24px;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.15)}.hero-inner{grid-template-columns:1fr .8fr;gap:35px}.sport-emblem{width:340px}.candidate-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{width:calc(100% - 28px)}.site-header{height:72px}.wordmark img{width:48px;height:48px}.hero-inner{grid-template-columns:1fr;gap:35px;padding-block:55px 100px}.hero-message{text-align:center}.hero-message h1{font-size:54px}.hero-values{font-size:14px}.sport-emblem{width:280px;justify-self:center}.hero-bottom{grid-column:auto}.hero-actions{align-items:stretch;flex-direction:column}.candidate-section,.section{padding-block:70px}.clean-heading h2{font-size:38px}.candidate-grid,.news-grid,.album-grid{grid-template-columns:1fr}.candidate-photo{height:430px}.contact-cta-inner,.candidate-detail,.story,.contact-layout{grid-template-columns:1fr}.about-photo{position:static}.candidate-profile{padding-top:0}.contact-cta-inner{gap:30px;padding-block:60px}.contact-cta h2{font-size:38px}.detail-photo{min-height:470px}.program-list article{grid-template-columns:42px 1fr;gap:12px}.program-list article>strong{grid-column:2}.program-list h2{font-size:28px}.photo-grid{grid-template-columns:repeat(2,1fr)}.site-footer{min-height:210px;align-items:flex-start;justify-content:center;flex-direction:column;gap:14px}}
.wordmark{gap:9px}.wordmark img{width:55px;height:55px;border-radius:50%}.wordmark b{font-size:17px;text-transform:uppercase}.wordmark small{margin-top:6px;color:var(--blue);font-size:10px;letter-spacing:.1em}.site-footer .wordmark img{width:52px;height:52px}

/* Larger navigation and animated sports detail. */
.site-header{height:96px}.site-header nav{gap:20px;font-size:15px;font-weight:600}.nav-cta{padding:15px 22px;font-size:15px;font-weight:800}.wordmark{gap:11px}.wordmark img{width:64px;height:64px}.wordmark b{font-size:20px}.wordmark small{margin-top:7px;font-size:12px;letter-spacing:.11em}
.reveal{opacity:0;transform:translateY(44px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
.candidate-section .clean-heading.reveal{transform:translateY(58px)}.candidate-section .clean-heading.reveal.is-visible{transform:none}
.hero-banner{display:block;overflow:hidden;line-height:0;background:#3f8ac3}.hero-banner picture{display:block}
@media(max-width:1050px){.site-header{height:82px}.wordmark img{width:54px;height:54px}.wordmark b{font-size:18px}.wordmark small{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Transparent three-sport loop based closely on the supplied motion reference. */
.hero-message{min-width:0}.sports-reel{width:min(100%,520px);height:190px;margin-top:8px;overflow:hidden}.sports-reel svg{display:block;width:100%;height:100%;overflow:hidden}.sport-scene{opacity:0;transform:scale(1.28);transform-origin:260px 95px}.sport-baseball{animation:sport-scene-baseball 9s linear infinite}.sport-tennis{animation:sport-scene-tennis 9s linear infinite}.sport-bowling{animation:sport-scene-bowling 9s linear infinite}
.baseball-bat{transform-box:fill-box;transform-origin:50% 92%;animation:baseball-swing 9s cubic-bezier(.2,.8,.2,1) infinite}.baseball-ball{transform-origin:347px 54px;animation:baseball-flight 9s cubic-bezier(.22,.72,.25,1) infinite}.baseball-trails,.tennis-trail{fill:none;stroke:rgba(255,255,255,.9);stroke-width:2.3;stroke-linecap:round}.baseball-trails{animation:baseball-trails 9s linear infinite}
.tennis-racket{transform-box:view-box;transform-origin:258px 111px;animation:tennis-swing 9s cubic-bezier(.22,1,.36,1) infinite}.racket-net{fill:none;stroke:rgba(255,255,255,.78);stroke-width:1.2}.tennis-ball{transform-origin:251px 32px;animation:tennis-bounce 9s cubic-bezier(.3,.7,.2,1) infinite}.tennis-trail{stroke-dasharray:0 80;animation:tennis-trail 9s linear infinite}
.bowling-pins path:first-child{fill:#fff}.bowling-pins path:last-child{fill:none;stroke:#ff4aa2;stroke-width:4}.bowling-ball{transform-origin:260px 159px;animation:bowling-roll 9s cubic-bezier(.2,.68,.25,1) infinite}.bowling-ball circle:not(:first-child){fill:#6f104e}.bowling-lane{display:none}.pin{transform-box:fill-box;transform-origin:50% 100%}.pin-back{animation:pin-back 9s cubic-bezier(.2,.75,.25,1) infinite}.pin-left{animation:pin-left 9s cubic-bezier(.2,.75,.25,1) infinite}.pin-right{animation:pin-right 9s cubic-bezier(.2,.75,.25,1) infinite}.pin-far-left{animation:pin-far-left 9s cubic-bezier(.2,.75,.25,1) infinite}.pin-far-right{animation:pin-far-right 9s cubic-bezier(.2,.75,.25,1) infinite}
@keyframes sport-scene-baseball{0%,24%,97%,100%{opacity:1}29%,93%{opacity:0}}@keyframes sport-scene-tennis{0%,25%,61%,100%{opacity:0}30%,56%{opacity:1}}@keyframes sport-scene-bowling{0%,57%,96%,100%{opacity:0}62%,92%{opacity:1}}
@keyframes baseball-swing{0%{transform:rotate(7deg)}7%{transform:rotate(-19deg)}13%{transform:rotate(10deg)}24%,92%{transform:rotate(10deg)}97%{transform:rotate(-16deg)}100%{transform:rotate(7deg)}}@keyframes baseball-flight{0%{transform:translate(0,0) rotate(0)}7%{transform:translate(-96px,43px) rotate(-60deg) scale(.82)}18%,92%{transform:translate(132px,-37px) rotate(240deg) scale(1)}96%{transform:translate(52px,-15px) rotate(120deg)}100%{transform:translate(0,0) rotate(0)}}@keyframes baseball-trails{0%,2%{opacity:0;transform:translateX(-8px)}9%{opacity:1;transform:translateX(0)}20%,93%{opacity:0;transform:translateX(24px)}97%{opacity:.7;transform:translateX(-6px)}100%{opacity:0;transform:translateX(-8px)}}
@keyframes tennis-swing{0%,28%{transform:rotate(-23deg)}36%{transform:rotate(7deg)}47%{transform:rotate(-11deg)}57%,100%{transform:rotate(-18deg)}}@keyframes tennis-bounce{0%,28%{transform:translate(8px,-65px) rotate(0)}36%{transform:translate(-15px,64px) scaleY(.88) rotate(50deg)}47%{transform:translate(62px,-12px) rotate(180deg)}57%,100%{transform:translate(155px,-70px) rotate(300deg)}}@keyframes tennis-trail{0%,32%{stroke-dasharray:0 80;stroke-dashoffset:0;opacity:0}38%{stroke-dasharray:36 80;opacity:.9}49%{stroke-dasharray:0 80;stroke-dashoffset:-48;opacity:0}100%{opacity:0}}
@keyframes bowling-roll{0%,61%{transform:translateY(66px) rotate(0)}77%{transform:translateY(-58px) rotate(440deg)}89%,100%{transform:translateY(-78px) rotate(580deg)}}@keyframes pin-back{0%,74%{transform:rotate(0)}86%,100%{transform:rotate(62deg) translate(18px,6px)}}@keyframes pin-left{0%,75%{transform:rotate(0)}87%,100%{transform:rotate(-78deg) translate(-20px,8px)}}@keyframes pin-right{0%,76%{transform:rotate(0)}88%,100%{transform:rotate(82deg) translate(23px,9px)}}@keyframes pin-far-left{0%,76%{transform:rotate(0)}89%,100%{transform:rotate(-52deg) translate(-28px,12px)}}@keyframes pin-far-right{0%,77%{transform:rotate(0)}90%,100%{transform:rotate(48deg) translate(30px,12px)}}
@media(max-width:720px){.sports-reel{height:168px;margin:8px auto 0}}
@media(prefers-reduced-motion:reduce){.sport-scene,.sport-baseball{animation:none;opacity:0}.sport-tennis{animation:none;opacity:1}.tennis-racket,.tennis-ball{animation:none}}

/* The supplied animation itself; its original gradient is replaced by the hero colour. */
.sports-video-wrap{display:block;width:min(100%,520px);height:auto;aspect-ratio:2/1;margin-top:8px;margin-left:-26px;overflow:hidden}.sports-video{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;background:transparent;pointer-events:none}
@media(max-width:720px){.sports-video-wrap{margin:8px auto 0}}
@media(prefers-reduced-motion:reduce){.sports-video{display:none}}

/* Visual identity derived from the supplied negative campaign logo. */
.site-header.shell{width:100%;max-width:none;padding-inline:max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fff}
.site-header .wordmark img{width:230px;height:76px;border-radius:0;object-fit:contain}
.site-header nav{color:var(--navy)}
.site-header nav>a{white-space:nowrap}
.site-header nav>a:not(.nav-cta):hover{color:var(--blue)}
.nav-cta{flex-shrink:0;padding-inline:18px;white-space:nowrap;background:#3f8ac3;color:#fff}
.nav-cta:hover{background:#347bb3}
.menu-button{color:var(--navy)}
.hero-clean{color:var(--navy);background:radial-gradient(circle at 78% 34%,rgba(75,147,211,.12),transparent 28%),radial-gradient(circle at 70% 20%,rgba(170,203,90,.11),transparent 22%),#fff}
.hero-message .eyebrow{color:var(--blue)}
.hero-bottom>p{color:var(--muted)}
.sport-emblem{width:min(100%,560px);aspect-ratio:auto;border-radius:0;background:transparent;box-shadow:none}
.sport-emblem img{height:auto;object-fit:contain}
.hero-actions .button.light{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(0,0,46,.16)}
.hero-actions .button.light:hover{background:var(--blue)}
.hero-actions .button.ghost{border-color:rgba(0,0,46,.22);color:var(--navy)}
.hero-actions .button.ghost:hover{border-color:var(--blue);color:var(--blue)}
.button.primary,.button.dark{background:var(--blue)}
.button.primary:hover,.button.dark:hover{background:#2f74af}
.button.light:hover{background:#f4f8fb}
.contact-cta{color:#fff;background:#3f8ac3}
.contact-cta .kicker.light{color:#fff;opacity:.78}
.contact-cta p{color:rgba(255,255,255,.82)}
.page-hero{color:var(--navy);background:linear-gradient(115deg,#f5f8fc,#fff)}
.page-hero .kicker.light{color:var(--blue)}
.page-hero>p:last-child{color:var(--muted)}
.leader-tag{background:var(--navy)}
.candidate-card:hover{box-shadow:0 16px 38px rgba(0,0,46,.13)}
.site-footer.shell{width:100%;max-width:none;min-height:180px;padding-inline:max(24px,calc((100vw - 1160px)/2));border-top:1px solid var(--line);background:#fff;color:var(--muted)}
.site-footer .wordmark img{width:220px;height:92px;border-radius:0;object-fit:contain}
.social-links{display:inline-flex;align-items:center;gap:10px}.social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(58,136,203,.28);border-radius:50%;background:linear-gradient(145deg,#fff,#f2f7fc);color:var(--navy);box-shadow:0 4px 12px rgba(0,0,46,.06);transition:color .2s,border-color .2s,background .2s,transform .2s,box-shadow .2s}.social-links a:hover{border-color:var(--blue);background:#fff;color:var(--blue);transform:translateY(-2px);box-shadow:0 7px 18px rgba(58,136,203,.18)}.social-links svg{display:block;width:20px;height:20px;fill:currentColor}.site-header nav>.social-links{gap:7px}.site-header nav>.social-links a{width:34px;height:34px}.footer-meta{display:flex;align-items:center;gap:28px;margin-left:auto}.footer-meta p{margin:0;white-space:nowrap;font-size:14px}.site-footer .social-links a{width:44px;height:44px}.site-footer .social-links svg{width:23px;height:23px}.contact-details>.social-links{margin-top:20px}.contact-details>.social-links a{width:44px;height:44px}.contact-details>.social-links svg{width:22px;height:22px}
@media(max-width:1320px) and (min-width:1051px){.site-header .nav-actions>.social-links{display:none}}

/* The opening scene occupies one desktop screen; actions sit near its lower edge. */
@media(min-width:721px){
  .hero-banner{width:100%}
  .hero-banner img{display:block;width:100%;height:calc(100svh - 96px);min-height:690px;max-height:940px;object-fit:cover;object-position:center}
  .hero-inner{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-end;justify-content:center;min-height:0;padding-block:0 62px}
  .hero-message,.sport-emblem{display:none}
  .hero-bottom{padding-top:0}
  .hero-bottom>p{display:none}
  .hero-actions{gap:16px}
  .hero-actions .button{min-width:210px;box-shadow:0 12px 30px rgba(0,0,46,.22)}
  .hero-actions .button.ghost{border-color:#fff;background:rgba(255,255,255,.94);color:var(--navy)}
  .hero-actions .button.ghost:hover{border-color:#fff;background:#fff;color:var(--blue)}
}

/* Soft brand-colour haze separates the candidate area from the white hero. */
.candidate-section{position:relative;isolation:isolate}
.candidate-section::before{content:"";position:absolute;z-index:-2;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:radial-gradient(ellipse 48% 34% at 8% 8%,rgba(170,203,90,.10),transparent 72%),radial-gradient(ellipse 52% 38% at 92% 9%,rgba(75,147,211,.09),transparent 74%),radial-gradient(ellipse 42% 30% at 54% 100%,rgba(58,136,203,.04),transparent 75%),linear-gradient(180deg,#fbfcfd 0%,#fff 58%)}
.candidate-section::after{content:"";position:absolute;z-index:-1;top:-38px;left:50%;width:112vw;height:76px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse 46% 100% at 9% 65%,rgba(170,203,90,.10),transparent 74%),radial-gradient(ellipse 50% 100% at 91% 65%,rgba(75,147,211,.09),transparent 76%),#fbfcfd}

@media(max-width:1050px){
  .menu-open .site-header nav{top:82px;background:#fff;box-shadow:0 18px 50px rgba(0,0,46,.16)}
  .site-header .wordmark img{width:205px;height:66px}
}
@media(max-width:720px){
  .site-header.shell{padding-inline:14px}
  .site-header .wordmark img{width:170px;height:58px}
  .sport-emblem{width:min(100%,420px)}
  .site-footer .wordmark img{width:190px;height:auto}
  .candidate-section::before{background:#fff}
  .candidate-section::after{top:-54px;width:140vw;height:62px;border-radius:50% 50% 0 0/100% 100% 0 0;background:#fff}
  .contact-layout h2{white-space:normal;overflow-wrap:anywhere}
  .footer-meta{align-items:flex-start;flex-direction:column;gap:22px;margin-left:0}
  .footer-meta p{white-space:normal}
  .hero-banner img{display:block;width:100%;height:min(570px,calc(100svh - 72px));object-fit:cover;object-position:center top}
  .hero-inner{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:0;padding:0 10px 72px}
  .hero-message,.sport-emblem{display:none}
  .hero-bottom{width:100%;padding-top:0}
  .hero-bottom>p{display:none}
  .hero-actions{align-items:stretch;flex-direction:row;gap:8px}
  .hero-actions .button{flex:1;min-width:0;padding:13px 6px;white-space:nowrap;font-size:clamp(9.5px,2.7vw,11px);box-shadow:0 8px 20px rgba(0,0,46,.22)}
  .hero-actions .button.ghost{border-color:var(--blue);background:var(--blue);color:#fff}
  .hero-actions .button.ghost:hover{border-color:var(--blue);background:var(--blue);color:#fff}
  .candidate-section{padding-top:50px}
}

/* Centre the primary links against the full viewport; keep auxiliary actions right. */
.site-header .nav-links,.site-header .nav-actions{display:flex;align-items:center;gap:20px}
@media(min-width:1051px){
  .site-header{position:relative}
  .site-header nav{flex:1;justify-content:flex-end;margin-left:24px}
  .site-header .nav-links{position:absolute;left:50vw;transform:translateX(-50%)}
  .site-header .nav-actions{margin-left:auto}
}
@media(max-width:1200px) and (min-width:1051px){
  .site-header .nav-links{gap:14px;font-size:14px}
}
@media(max-width:1050px){
  .site-header .nav-links,.site-header .nav-actions{align-items:stretch;flex-direction:column}
  .site-header .nav-actions{margin-left:0}
  .site-header .nav-actions>.social-links{align-self:flex-start}
}

/* Candidate details use a consistent portrait crop instead of showing the full outfit. */
.detail-photo{position:sticky;top:118px;min-height:0;aspect-ratio:4/5;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,46,.1)}
.detail-photo img{position:absolute;inset:0;height:100%;max-height:none;object-fit:cover;object-position:center 20%}

/* The leader source portrait has more headroom than the other candidate photos. */
.leader-detail .detail-photo img{transform:scale(1.18);transform-origin:center}

/* Match the leader's listing portrait to the tighter crops used by the other candidates. */
.leader-card .candidate-photo img{object-fit:cover;object-position:center 22%;transform:scale(1.1);transform-origin:center bottom}
.field-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* The leader's introduction belongs inside his profile, not on the home page. */
.leader-video-card{display:grid;grid-template-columns:minmax(0,1fr) 235px;align-items:center;gap:24px;margin:0 0 38px;padding:26px;border-radius:16px;background:linear-gradient(145deg,var(--navy),#123b72 68%,#3a88cb);color:#fff;box-shadow:0 18px 42px rgba(0,0,46,.16)}
.leader-video-copy{min-width:0}.leader-video-copy .kicker{margin-bottom:10px;color:#bfe9ff}.leader-video-copy h2{margin:0 0 12px;font-size:clamp(25px,2.4vw,34px);line-height:1.05;letter-spacing:-.035em}.leader-video-copy>p:not(.kicker){margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.55}.leader-video-copy>span,.program-video-copy>span{display:inline-flex;margin-top:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}
.leader-video-card video{display:block;width:235px;aspect-ratio:9/16;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#0a0b22;box-shadow:0 14px 28px rgba(0,0,0,.28)}

/* Compact program highlight: the vertical clip is framed as part of the content. */
.program-video-section{padding-block:52px 16px}.program-video-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:clamp(32px,5vw,62px);max-width:1040px;margin-inline:auto;padding:42px 50px;border-radius:16px;background:linear-gradient(135deg,var(--navy) 0%,#0e3263 64%,#3a88cb 130%);color:#fff;overflow:hidden;box-shadow:0 22px 52px rgba(0,0,46,.16)}.program-video-card::before{content:"";position:absolute;right:92px;bottom:-150px;width:370px;height:370px;border:70px solid rgba(170,203,90,.12);border-radius:50%}.program-video-copy{position:relative;z-index:1;max-width:590px}.program-video-copy .kicker{margin-bottom:12px;color:#bfe9ff}.program-video-copy h2{margin:0 0 16px;font-size:clamp(32px,4.2vw,52px);line-height:1.02;letter-spacing:-.045em}.program-video-copy>p:not(.kicker){max-width:540px;margin:0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.6}.program-video-card video{position:relative;z-index:1;display:block;width:280px;aspect-ratio:9/16;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#0a0b22;box-shadow:0 16px 34px rgba(0,0,0,.32)}.program-video-section+.program-list{padding-top:58px}
@media(max-width:720px){.detail-photo{position:relative;top:auto;border-radius:12px}.leader-video-card,.program-video-card{grid-template-columns:1fr}.leader-video-card{gap:22px;padding:22px}.leader-video-card video{justify-self:center;width:min(100%,260px)}.program-video-section{padding-block:32px 0}.program-video-card{gap:26px;padding:30px 24px;border-radius:14px}.program-video-card video{justify-self:center;width:min(100%,270px)}.program-video-copy>p:not(.kicker){font-size:16px}.program-video-section+.program-list{padding-top:50px}}
