
:root{
  --navy:#102e59;
  --blue:#357fcd;
  --blue2:#174982;
  --red:#db353a;
  --yellow:#ffd13a;
  --green:#55ab56;
  --orange:#f49128;
  --ink:#1e283a;
  --paper:#f6f8fa;
  --white:#fff;
  --radius:32px;
  --shadow:0 18px 50px rgba(16,46,89,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}
img,video{display:block;max-width:100%}
a{color:inherit}
button,a{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:99}

.site-header{position:sticky;top:0;z-index:50;background:rgba(246,248,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,46,89,.08)}
.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:260px}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--red);font-weight:900;font-size:28px}
.brand strong{display:block;letter-spacing:.02em;font-size:16px}
.brand small{display:block;font-size:10px;letter-spacing:.13em;color:#64748b;margin-top:2px}
.desktop-nav{display:flex;gap:24px;margin-left:auto}
.desktop-nav a{text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.08em}
.desktop-nav a:hover{color:var(--red)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none;font-weight:900;letter-spacing:.03em;border:2px solid transparent;transition:.2s transform,.2s box-shadow,.2s background}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.12)}
.btn-small{min-height:44px;padding:0 18px;font-size:12px}
.btn-red{background:var(--red);color:white}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-white{background:white;color:var(--navy)}
.btn-ghost{border-color:var(--navy);color:var(--navy)}
.btn-large{min-height:62px;padding:0 30px}

.hero{position:relative;overflow:hidden;padding:76px 0 56px;background:linear-gradient(140deg,#eef7ff 0%,#fff8df 100%)}
.hero-shape{position:absolute;border-radius:999px;opacity:.55;filter:blur(1px)}
.shape-a{width:420px;height:420px;background:#8dccff;right:-120px;top:-100px}
.shape-b{width:300px;height:300px;background:#ffe173;left:-160px;bottom:-130px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:74px;align-items:center;position:relative}
.eyebrow,.kicker{display:inline-block;font-weight:900;letter-spacing:.13em;font-size:12px}
.eyebrow{background:var(--navy);color:white;padding:10px 14px;border-radius:999px}
.hero h1,.section h2,.vote-section h2{font-size:clamp(54px,6.5vw,92px);line-height:.92;margin:22px 0 24px;letter-spacing:-.055em}
.hero h1 span{color:var(--red)}
.hero-lead{font-size:21px;max-width:660px}
.hero-values{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.hero-values span{padding:10px 14px;background:white;border:2px solid rgba(16,46,89,.08);border-radius:999px;font-weight:900;font-size:12px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.vote-window{margin-top:28px;border-left:7px solid var(--yellow);padding:12px 16px}
.vote-window strong{display:block;font-size:15px}
.vote-window span{display:block;color:#526174;margin-top:4px}
.hero-media{position:relative}
.poster-frame{background:white;border-radius:38px;padding:14px;box-shadow:var(--shadow);transform:rotate(1.7deg)}
.poster-frame img{border-radius:26px;width:100%;aspect-ratio:1/1;object-fit:cover}
.floating-note{position:absolute;padding:12px 16px;border-radius:16px;color:white;font-weight:900;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.note-one{background:var(--green);right:-16px;top:14%}
.note-two{background:var(--red);left:-28px;bottom:11%;font-size:15px}

.marquee{overflow:hidden;background:var(--navy);color:white;padding:18px 0}
.marquee-track{display:flex;gap:24px;align-items:center;justify-content:center;white-space:nowrap;font-weight:900;letter-spacing:.05em}
.marquee-track i{color:var(--yellow);font-style:normal}

.section{padding:100px 0}
.section-head{margin-bottom:46px}
.split-head{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end}
.section-head h2{font-size:clamp(48px,5.6vw,78px);margin:12px 0 0}
.section-head p{font-size:20px;color:#526174;margin:0}
.kicker{padding:8px 12px;border-radius:999px}
.kicker.red{background:#ffe8e9;color:var(--red)}
.kicker.green{background:#e7f6e8;color:#398e3d}
.kicker.yellow{background:var(--yellow);color:var(--navy)}
.highlight-yellow{background:linear-gradient(transparent 56%,var(--yellow) 56%)}

.before-after-card,.map-card{background:white;padding:14px;border-radius:36px;box-shadow:var(--shadow)}
.before-after-card img,.map-card img{width:100%;border-radius:25px}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.feature-card{border-radius:28px;padding:28px;min-height:280px}
.feature-card h3{font-size:27px;line-height:1;margin:18px 0 10px}
.feature-card p{margin:0;font-size:15px}
.feature-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:white;font-size:28px;font-weight:900}
.feature-card.yellow{background:#ffdf72}
.feature-card.green{background:#96d896}
.feature-card.blue{background:#8bc8ff}
.feature-card.red{background:#ef8589}

.blue-section{background:var(--navy);color:white}
.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.sticky-copy{position:sticky;top:120px}
.sticky-copy h2{font-size:clamp(48px,5vw,74px);margin:18px 0 22px}
.sticky-copy h2 span{color:var(--yellow)}
.sticky-copy p{font-size:20px;color:#d9e5f4}
.check-list{padding:0;margin:30px 0 0;list-style:none;display:grid;gap:13px}
.check-list li{position:relative;padding-left:34px;font-weight:800}
.check-list li:before{content:"✓";position:absolute;left:0;top:-1px;color:var(--yellow);font-size:22px}
.image-stack{display:grid;gap:22px}
.image-stack img{width:100%;border-radius:34px;box-shadow:0 18px 50px rgba(0,0,0,.24)}

.center{text-align:center;max-width:880px;margin-left:auto;margin-right:auto}
.center p{margin:16px auto 0;max-width:760px}
.location-section{background:#fffaf0}

.video-section{background:white}
.video-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:66px;align-items:center}
.video-section h2{font-size:clamp(48px,5vw,74px);margin:16px 0}
.video-shell{background:#0b203d;padding:16px;border-radius:36px;box-shadow:var(--shadow)}
.video-shell video{width:100%;border-radius:24px;background:#000;max-height:720px}

.vote-section{background:var(--red);color:white}
.vote-grid{display:grid;grid-template-columns:1.1fr .6fr;gap:70px;align-items:center}
.vote-section h2{margin:18px 0 24px}
.vote-section h2 span{color:var(--yellow)}
.big-copy{font-size:22px;max-width:720px}
.steps{display:grid;gap:12px;margin:28px 0 30px}
.steps div{display:flex;align-items:center;gap:14px;font-weight:900}
.steps b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--red)}
.eligibility{font-size:14px;color:#ffe8e8;max-width:700px}
.qr-card{background:white;color:var(--navy);border-radius:34px;padding:26px;text-align:center;box-shadow:0 20px 50px rgba(60,0,0,.22)}
.qr-label{font-weight:900;letter-spacing:.08em;margin-bottom:16px}
.qr-card img{width:min(100%,380px);margin:auto}
.qr-card a{display:block;margin-top:15px;font-size:12px;word-break:break-word}

.cta-strip{background:var(--yellow);padding:28px 0}
.cta-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-strip strong{display:block;font-size:32px;color:var(--red)}
.cta-strip span{display:block;font-weight:900;color:var(--navy)}

.site-footer{background:#071b34;color:#d9e5f4;padding:56px 0 110px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:46px}
.site-footer strong{color:white}
.site-footer p{font-size:14px;color:#aebfd2}
.site-footer a{color:white}
.share-button{border:0;background:transparent;color:white;text-decoration:underline;font-weight:900;padding:0;cursor:pointer}

.mobile-vote-bar{display:none}

@media(max-width:900px){
  .desktop-nav{display:none}
  .nav-wrap{height:70px}
  .brand{min-width:0;margin-right:auto}
  .brand small{display:none}
  .hero{padding:42px 0 40px}
  .hero-grid,.split-head,.two-col,.video-grid,.vote-grid{grid-template-columns:1fr}
  .hero-grid{gap:34px}
  .hero h1{font-size:58px}
  .hero-lead{font-size:18px}
  .poster-frame{transform:none}
  .note-one{right:-5px}.note-two{left:-5px}
  .section{padding:72px 0}
  .section-head h2,.sticky-copy h2,.video-section h2,.vote-section h2{font-size:52px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .sticky-copy{position:static}
  .image-stack{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .mobile-vote-bar{
    display:flex;position:fixed;z-index:80;bottom:0;left:0;right:0;background:#fff;
    align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid #ddd;
    box-shadow:0 -8px 24px rgba(0,0,0,.1)
  }
  .mobile-vote-bar span{display:grid;line-height:1.05}
  .mobile-vote-bar b{font-size:12px;color:var(--red)}
  .mobile-vote-bar small{font-size:10px;font-weight:900;margin-top:4px}
  .mobile-vote-bar a{background:var(--red);color:white;text-decoration:none;padding:12px 16px;border-radius:999px;font-weight:900}
}
@media(max-width:620px){
  .container{width:min(100% - 26px,1180px)}
  .site-header .btn-small{display:none}
  .brand strong{font-size:14px}
  .hero h1{font-size:47px}
  .hero-values span{font-size:10px}
  .btn{width:100%}
  .hero-actions{display:grid}
  .floating-note{font-size:10px}
  .marquee-track{justify-content:flex-start;animation:marquee 18s linear infinite;width:max-content;padding-left:20px}
  @keyframes marquee{to{transform:translateX(-38%)}}
  .section-head h2,.sticky-copy h2,.video-section h2,.vote-section h2{font-size:43px}
  .split-head{gap:18px}
  .section-head p,.sticky-copy p,.big-copy{font-size:18px}
  .feature-grid{grid-template-columns:1fr}
  .feature-card{min-height:0}
  .image-stack{grid-template-columns:1fr}
  .video-shell{padding:8px;border-radius:26px}
  .qr-card{padding:18px}
  .cta-strip-inner{display:grid}
  .cta-strip .btn{width:auto}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
