*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F6F6F3;color:#08253E;font-family:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:#0456B4}a:hover{color:#D7453F}
h1,h2,h3,p,ul{margin:0}
.skip{position:absolute;left:-9999px;top:0;background:#0456B4;color:#fff;padding:12px 16px;z-index:10}
.skip:focus{left:16px;top:16px}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.page{max-width:1400px;margin:0 auto;background:#F6F6F3;overflow:clip}
.display{font-family:"agenda-one-condensed",Impact,"Arial Narrow",sans-serif;font-weight:800;text-transform:uppercase;line-height:1.05;text-wrap:balance}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#D5E7FD}

.stepbar{height:8px;background:linear-gradient(90deg,#08253E 0 20%,#07305D 20% 40%,#013975 40% 60%,#03468D 60% 80%,#0456B4 80%)}
.topbar{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 56px;flex-wrap:wrap}
.topbar img{height:44px;width:auto}
.topbar .url{font-size:12px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:#fff;background:#D7453F;padding:9px 16px;border-radius:999px;text-decoration:none}
.topbar .url:hover{color:#fff;background:#08253E}
.bluebar{height:14px;background:#0456B4}

/* Pen-fill bubbles */
.bubble{flex:none;display:block;overflow:visible}
.bubble .ring{fill:none;stroke:var(--c);stroke-width:4;opacity:var(--ring,.55)}
.bubble .ink{fill:none;stroke:var(--c);stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s cubic-bezier(.45,.05,.4,1)}
.bubble.is-filled .ink{stroke-dashoffset:0}

.navybar{position:relative;z-index:1;height:14px;background:#08253E}
.D{font-family:"agenda-one-condensed",Impact,"Arial Narrow",sans-serif}

.hero{background:#0456B4;color:#fff;padding:72px 56px 96px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:22px}
.kicker{align-self:flex-start;font-size:13px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;background:#08253E;padding:10px 16px;transform:rotate(-2deg)}
.hero h1{line-height:.84;text-wrap:initial}
.hero h1 span{display:block}
.hero .l1,.hero .l2{font-size:clamp(84px,10vw,150px)}
.hero .l2{display:flex;align-items:center;gap:20px}
.bubble--hero{width:clamp(110px,12vw,190px);height:auto}
.hero .l3{font-size:clamp(100px,12.5vw,190px);color:#08253E;background:#fff;display:inline-block;align-self:flex-start;width:max-content;max-width:100%;padding:4px 20px 0;margin-top:12px;transform:rotate(-3deg);box-shadow:10px 10px 0 #D7453F}
.polaroid-wrap{position:relative;justify-self:center;width:440px;max-width:100%}
.polaroid{margin:0;background:#fff;padding:14px 14px 64px;transform:rotate(3deg);box-shadow:16px 16px 0 #08253E;position:relative}
.polaroid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:18px;text-align:center;font-size:30px;color:#08253E}
.sticker{position:absolute;left:-56px;top:-44px;width:172px;height:172px;animation:bob 4s ease-in-out infinite}
.sticker .sh,.sticker .bg{position:absolute;inset:0;clip-path:polygon(50.0% 0.0%,56.9% 6.5%,65.5% 2.4%,70.0% 10.8%,79.4% 9.5%,81.1% 18.9%,90.5% 20.6%,89.2% 30.0%,97.6% 34.5%,93.5% 43.1%,100.0% 50.0%,93.5% 56.9%,97.6% 65.5%,89.2% 70.0%,90.5% 79.4%,81.1% 81.1%,79.4% 90.5%,70.0% 89.2%,65.5% 97.6%,56.9% 93.5%,50.0% 100.0%,43.1% 93.5%,34.5% 97.6%,30.0% 89.2%,20.6% 90.5%,18.9% 81.1%,9.5% 79.4%,10.8% 70.0%,2.4% 65.5%,6.5% 56.9%,0.0% 50.0%,6.5% 43.1%,2.4% 34.5%,10.8% 30.0%,9.5% 20.6%,18.9% 18.9%,20.6% 9.5%,30.0% 10.8%,34.5% 2.4%,43.1% 6.5%)}
.sticker .sh{background:#08253E;transform:translate(7px,7px)}
.sticker .bg{background:#D5E7FD}
.sticker .in{position:absolute;inset:24px;border-radius:50%;border:2px dashed #0456B4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;color:#08253E;font-weight:900;font-size:12px;letter-spacing:.14em;text-transform:uppercase;line-height:1.2}
.sticker .stars{color:#D7453F;font-size:13px;letter-spacing:.3em;margin-right:-.3em}
@keyframes bob{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-6px)}}

.marquee{background:#08253E;overflow:hidden;padding:20px 0;border-top:6px solid #D7453F;border-bottom:6px solid #D7453F}
.marquee-track{display:flex;width:max-content;animation:mq 40s linear infinite;font-size:40px;line-height:1;white-space:nowrap;color:#fff}
.marquee-row{display:flex;gap:36px;padding-right:36px;flex:none}
.marquee .star{color:#D7453F}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.ballot{padding:104px 56px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.ballot h2{font-size:60px;line-height:.98;max-width:960px}
.ballot .hl{color:#fff;background:#0456B4;padding:0 10px;display:inline-block;transform:rotate(-1.5deg)}
.ballot .lede{font-size:20px;line-height:1.5;max-width:760px;text-wrap:pretty}
.ballot .lede strong{background:#D5E7FD;padding:0 4px}
.ballot-cards{position:relative;margin-top:66px;margin-bottom:-60px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;width:100%}
.ballot-card{width:400px;max-width:100%;background:#fff;border:3px solid #08253E;border-bottom:none;text-align:left;transform-origin:bottom center;box-shadow:10px 0 0 #0456B4}
.ballot-card--l{transform:rotate(-2deg)}.ballot-card--r{transform:rotate(2deg)}
.ballot-head{background:#08253E;color:#fff;padding:12px 22px;font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.ballot-body{padding:24px 26px 96px;display:flex;flex-direction:column;gap:22px}
.ballot .office{font-size:19px;font-weight:900;text-transform:uppercase}
.ballot .rule{font-size:14px;color:#03468D;margin-top:4px}
.ballot .choice{display:flex;align-items:center;gap:18px}
.ballot .name{font-size:24px;font-weight:900}
.ballot .desig{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#03468D}

.message{position:relative;z-index:1;background:#08253E;color:#fff;padding:104px 56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.video{aspect-ratio:16/9;background:#07305D;border:3px dashed #0456B4;display:flex;align-items:center;justify-content:center;color:#D5E7FD;overflow:hidden;transform:rotate(-1.5deg);box-shadow:14px 14px 0 #0456B4}
.video video,.video iframe{width:100%;height:100%;border:0;display:block}
.video:has(video),.video:has(iframe){border:0;background:#000}
.video .label{font-size:14px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.message .copy{display:flex;flex-direction:column;gap:24px}
.message .claim{font-size:58px;line-height:.98}
.message .tag{color:#08253E;background:#fff;padding:8px 12px 2px;line-height:.86;display:inline-block;transform:rotate(-1.5deg);margin-top:8px}
.message .lede{font-size:24px;line-height:1.35;font-weight:800;color:#D5E7FD;border-top:3px solid #D7453F;padding-top:20px}

.record{position:relative;padding:112px 56px;text-align:center}
.record .map{position:absolute;right:32px;top:50%;width:520px;max-width:60%;transform:translateY(-50%) rotate(8deg);opacity:.9;pointer-events:none}
.record h2{position:relative;font-size:96px;line-height:.9}
.red{color:#D7453F}.blue{color:#0456B4}
.record .cards{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:64px auto 0;max-width:1120px;text-align:left}
.card{color:#fff;padding:40px 34px;display:flex;flex-direction:column;gap:14px;box-shadow:10px 10px 0 #08253E}
.card .check{width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900}
.card h3{font-size:38px;line-height:.95}
.card p{font-size:18px;line-height:1.5}
.card--blue{background:#0456B4;transform:rotate(-2deg)}.card--blue .check{color:#0456B4}
.card--red{background:#D7453F;transform:rotate(1.5deg) translateY(16px)}.card--red .check{color:#D7453F}
.card--navy{background:#0456B4;transform:rotate(-1deg)}.card--navy .check{color:#0456B4}

.bio{background:#D5E7FD;padding:104px 56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.bio .photo{justify-self:center;width:420px;max-width:100%;background:#fff;padding:14px;transform:rotate(-3deg);box-shadow:16px 16px 0 #0456B4}
.bio .photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.bio .text{display:flex;flex-direction:column;gap:20px;max-width:640px}
.bio h2{font-size:60px;line-height:.95}
.bio .intro{font-size:20px;line-height:1.5;font-weight:600}
.bio ul{margin-top:4px;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;font-size:17px;line-height:1.45;font-weight:600}
.bio li{display:flex;gap:14px;align-items:flex-start}
.bio li::before{content:"★";flex:none;width:26px;height:26px;margin-top:-1px;border-radius:50%;background:#0456B4;color:#fff;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}

.cta{background:#D7453F;color:#fff;padding:clamp(72px,10vw,120px) clamp(24px,4vw,56px);text-align:center;line-height:.9;display:flex;flex-direction:column;align-items:center;gap:18px}
.cta-1{font-size:clamp(44px,7vw,80px)}
.cta-2{font-size:clamp(52px,11vw,128px);max-width:100%;text-wrap:balance;color:#08253E;background:#fff;padding:8px clamp(14px,2.5vw,28px) 0;transform:rotate(-2deg);box-shadow:12px 12px 0 #08253E}

.footer{background:#08253E;color:#D5E7FD;padding:40px 56px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px;line-height:1.5}
.footer .wordmark{font-size:30px;color:#fff}
.footer .disclaimer{border:1px solid #D5E7FD;padding:8px 12px;text-align:right;max-width:560px}

@media (max-width:1100px){
  .record .cards{grid-template-columns:1fr;max-width:600px;gap:40px}
  .card--red{transform:rotate(1.5deg)}
  .record .map{width:440px;right:16px}
  .record h2{font-size:76px}
  .message .claim{font-size:46px}
}
@media (max-width:920px){
  .hero{grid-template-columns:1fr;gap:72px}
  .message,.bio{grid-template-columns:1fr}
}
@media (max-width:820px){
  .topbar{padding:16px 24px}
  .topbar img{height:36px}
  .hero{padding:48px 24px 80px}
  .polaroid-wrap{width:340px}
  .sticker{width:136px;height:136px;left:-20px;top:-44px}.sticker .in{inset:18px;font-size:10px}
  .polaroid figcaption{font-size:24px}
  .marquee-track{font-size:30px}
  .ballot{padding:64px 24px 0}
  .ballot h2{font-size:40px}
  .ballot .lede{font-size:18px}
  .ballot-cards{gap:20px;margin-top:48px}
  .ballot-card--l,.ballot-card--r{transform:none}
  .message{padding:72px 24px;gap:48px}
  .message .claim{font-size:40px}
  .message .lede{font-size:20px}
  .record{padding:72px 24px}
  .record h2{font-size:56px}
  .record .map{width:300px;right:8px;top:auto;bottom:24px;transform:rotate(8deg);opacity:.5}
  .card{padding:32px 26px}
  .card h3{font-size:32px}
  .card p{font-size:17px}
  .bio{padding:72px 24px;gap:48px}
  .bio .photo{width:320px}
  .bio h2{font-size:44px}
  .bio ul{font-size:16px}
  .footer{padding:32px 24px;flex-direction:column;align-items:flex-start}
  .footer .disclaimer{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.bubble .ink{transition:none}.marquee-track,.sticker{animation:none}}

/* ---- Hood + Cavanagh ---- */
.hero{gap:56px;padding:72px 56px 104px}
.kicker{letter-spacing:.22em;line-height:1.5;max-width:100%;text-wrap:balance}
.hero h1{display:flex;flex-direction:column;align-items:flex-start}
.hero h1 span{display:inline}
.hero .h-l1{display:flex;align-items:center;gap:18px;white-space:nowrap;font-size:clamp(76px,9vw,132px)}
.hero .bubble--hero{width:clamp(100px,10vw,160px)}
.hero .h-l2{display:flex;align-items:center;gap:16px;margin-top:14px}
.hero .box{display:inline-block;font-size:clamp(80px,9.5vw,140px);color:#08253E;background:#fff;padding:4px 18px 0;transform:rotate(-3deg);box-shadow:10px 10px 0 #D7453F}
.hero .box--2{margin-top:18px;transform:rotate(-1.5deg);box-shadow:10px 10px 0 #08253E}
.hero .and{font-family:Figtree,system-ui,sans-serif;font-size:clamp(18px,2vw,26px);font-weight:900;letter-spacing:.2em}
.collage{position:relative;justify-self:center;width:520px;max-width:100%;aspect-ratio:520/600}
.collage .polaroid{position:absolute;width:56%;padding:12px 12px 56px;box-shadow:14px 14px 0 #08253E}
.collage .p1{left:0;top:0;z-index:2;transform:rotate(-4deg)}
.collage .p2{right:0;bottom:0;z-index:1;transform:rotate(4deg)}
.collage .p2 img{object-position:50% 30%}
.collage .polaroid figcaption{bottom:16px;font-size:clamp(16px,2vw,22px)}
.collage .p2 figcaption{font-size:clamp(14px,1.7vw,20px)}
.collage .sticker{left:auto;right:-8px;top:-28px;z-index:3}
.ballot h2{font-size:clamp(40px,4.6vw,60px);max-width:1040px}
.ballot-card--single{width:480px;transform:rotate(-1.5deg)}
.message .claim{font-size:clamp(38px,4vw,52px)}
.bio .text{gap:22px}
.bio h2{font-size:clamp(40px,4.4vw,60px)}
.bio ul{font-size:18px}
.bio--navy{background:#08253E;color:#fff}
.bio--navy .text{justify-self:end}
.bio--navy .tagb{color:#D5E7FD;background:#0456B4;padding:0 8px;display:inline-block;transform:rotate(-1.5deg)}
.bio--navy ul{color:#D5E7FD}
.bio--navy li::before{background:#D7453F}
.bio--navy .photo{transform:rotate(3deg);box-shadow:16px 16px 0 #D7453F}
.bio--navy .photo img{object-position:50% 15%}
.cta-1{text-wrap:balance}
@media (max-width:1080px){.hero{grid-template-columns:1fr;gap:72px}}
@media (max-width:920px){.bio--navy .photo{order:-1}.bio--navy .text{justify-self:start}}
@media (max-width:820px){
  .hero{padding:48px 24px 80px}
  .collage{width:400px}
  .collage .sticker{left:auto;right:-12px;top:-36px}
  .bio ul{font-size:16px}
}
