@font-face{font-family:Barlow;src:url('assets/barlow-condensed-900.ttf') format('truetype');font-weight:900;font-display:swap}:root{--blue:#174c69;--paper:#f0e9d5;--red:#e94c3c;--ink:#132f3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 Arial,sans-serif}a{color:inherit}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}header{display:flex;align-items:center;justify-content:space-between;padding:24px 4%;border-bottom:1px solid var(--ink)}.wordmark{font:900 32px/.9 Barlow,Impact,sans-serif;text-decoration:none}.wordmark span{display:block;font:9px/1.6 Arial,sans-serif;letter-spacing:1.7px;margin-top:10px}nav{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}nav a{text-decoration:none}.nav-action{border:1px solid var(--ink);padding:12px 18px}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:5%;padding:38px 4% 48px;background:var(--blue);color:var(--paper)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;padding:13px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 24px}h1,h2,h3{font-family:Barlow,Impact,'Arial Narrow',sans-serif;font-weight:900;text-transform:uppercase;margin:0}h1{font-size:clamp(84px,12vw,182px);line-height:.82;letter-spacing:-.025em}em{font-style:normal;color:var(--red)}figure{margin:0}figure img{display:block;width:100%;height:auto}.hero-close{margin-top:40px}.hero-close p{font-size:21px;margin:0 0 21px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);color:var(--ink);border:1px solid var(--paper);font-size:11px;font-weight:700;letter-spacing:.5px;padding:16px 21px;min-height:49px;text-decoration:none}.button:hover{background:var(--red);border-color:var(--red)}.outline{background:transparent;color:var(--paper)}.outline:hover{color:var(--ink)}.campaign-strip{display:flex;justify-content:space-between;gap:15px;padding:21px 4%;background:var(--red);font:900 clamp(20px,3vw,38px)/1 Barlow,sans-serif}.case{padding:95px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(65px,7vw,105px);line-height:.87;letter-spacing:-.015em}.case-copy{padding-top:39px}.lead{font-size:25px;line-height:1.35;margin:0 0 25px}.case-copy>p:not(.lead){font-size:15px;line-height:1.8}.platform{margin-top:35px}.platform>div{border-top:1px solid #a5b1b0;padding:16px 0;display:grid;grid-template-columns:25px 1fr;column-gap:13px}.platform span{font-size:10px;grid-row:span 2;padding-top:8px}.platform h3{font-size:31px;line-height:1}.platform p{font-size:12px;margin:5px 0 0}.maker{display:grid;grid-template-columns:1fr .68fr;gap:12%;padding:78px 9%;background:var(--blue);color:var(--paper)}.intro{font-size:14px;margin:23px 0 28px}fieldset{padding:0;border:0;margin:25px 0}legend{font-size:10px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;margin-bottom:9px}label{display:flex;align-items:center;gap:12px;font-size:13px;padding:9px 0;cursor:pointer}input{accent-color:var(--red);width:18px;height:18px}.formats{display:flex;gap:25px}.actions{display:flex;flex-wrap:wrap;gap:10px}.text-button{color:var(--paper);background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding:15px 4px;font-size:12px}.small,#status{font-size:11px;line-height:1.7}#status{min-height:18px}.poster-preview{align-self:center;box-shadow:15px 15px 0 #103e56}canvas{display:block;width:100%;height:auto}.participate{padding:80px 7%;background:var(--ink);color:var(--paper)}.participate h2{font-size:clamp(58px,6.5vw,95px)}.participation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin:48px 0}.participation-grid article{border-top:1px solid #74838a;padding-top:20px}.participation-grid .eyebrow{font-size:9px;margin-bottom:20px}.participation-grid h3{font-size:34px;line-height:1}.participation-grid article>p:last-child{font-size:13px;line-height:1.7}.share-line{border-top:1px solid #74838a;padding-top:28px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:12px}.updates{padding:70px 7%}.updates>div{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.updates h2{font-size:80px}.ballot-note{padding:20px 7%;border-top:1px solid #a5b1b0;border-bottom:1px solid #a5b1b0}.ballot-note summary{font-size:12px;cursor:pointer}.ballot-note p,.ballot-note a{font-size:12px;max-width:850px;line-height:1.8}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 4%}footer p,footer>a:last-child{font-size:10px;line-height:1.7}.skip{position:fixed;top:-100px;padding:15px;background:var(--paper);z-index:5}.skip:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(min-width:1600px){.hero{padding-left:max(4%,calc((100vw - 1500px)/2));padding-right:max(4%,calc((100vw - 1500px)/2))}}@media(max-width:750px){header{padding:21px 6%}.wordmark{font-size:27px}.wordmark span{font-size:8px;letter-spacing:1px}nav{gap:12px;font-size:10px;letter-spacing:0}nav>a:first-child{display:none}.nav-action{padding:9px 10px}.hero{grid-template-columns:1fr;padding:35px 6%;gap:35px}h1{font-size:clamp(90px,26vw,175px)}.hero-copy{padding:0}.hero-close{margin-top:25px}.hero-close p{font-size:18px}figure{max-width:450px;margin:auto}.campaign-strip{flex-direction:column;padding:20px 6%;gap:7px;font-size:30px}.case{grid-template-columns:1fr;padding:60px 7%;gap:30px}h2{font-size:73px}.case-copy{padding:0}.lead{font-size:23px}.maker{grid-template-columns:1fr;padding:60px 7%;gap:30px}.maker h2{font-size:69px}.maker fieldset:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.maker label{font-size:12px}.poster-preview{width:90%;max-width:340px;margin:auto}.button{padding:15px;gap:15px}.participate{padding:60px 7%}.participation-grid{grid-template-columns:1fr;gap:30px;margin:30px 0}.share-line{flex-direction:column;align-items:flex-start;gap:12px}.updates{padding:55px 7%}.updates>div{grid-template-columns:1fr;gap:20px}.updates h2{font-size:70px}footer{padding:30px 7%;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero figure{height:min(68vw,870px)}.hero figure img{height:100%;object-fit:cover}.hero-copy{justify-content:flex-start}.hero h1{margin:auto 0}.hero-close{margin-top:35px}.candidate{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.candidate figure{height:700px}.candidate img{width:100%;height:100%;object-fit:cover}.candidate>div{padding:80px 10%;align-self:center}.candidate h2{font-size:clamp(62px,6.5vw,95px)}.candidate>div>p:not(.eyebrow){font-size:18px;line-height:1.9;margin:30px 0}.landscape{height:510px;position:relative;background:var(--blue);color:var(--paper);overflow:hidden}.landscape>img{display:block;width:100%;height:100%;object-fit:cover}.landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,46,.72),rgba(10,32,46,.12))}.landscape>div{position:absolute;z-index:1;left:7%;top:50%;transform:translateY(-50%)}.landscape h2{font-size:clamp(72px,9vw,135px)}@media(max-width:750px){.hero figure{height:auto;width:100%}.hero figure img{height:auto;aspect-ratio:9/16;object-fit:cover}.hero h1{margin:0}.candidate{grid-template-columns:1fr}.candidate figure{height:440px}.candidate>div{padding:48px 7%}.candidate h2{font-size:68px}.landscape{height:430px}.landscape h2{font-size:72px}}

.art-options{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.art-options legend{width:100%}

.hero-close .hero-explanation{font-size:clamp(16px,1.35vw,20px);line-height:1.45;max-width:36ch;margin:0 0 24px;font-weight:400}

/* Cinematic motion remains optional and never hides content without JS. */
header{position:sticky;top:0;z-index:10;background:rgba(240,233,213,.95);backdrop-filter:blur(14px)}
section{scroll-margin-top:90px}.button{transition:transform .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 8px 0 rgba(14,42,57,.12)}
.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.in-view{opacity:1;transform:none}
.hero figure{overflow:hidden}.hero figure img{animation:hero-drift 18s ease-in-out infinite alternate;transform-origin:center 60%}.hero-copy{animation:hero-arrive .9s ease both}
.landscape>img{height:115%;transform:translateY(var(--landscape-drift,-5%));will-change:transform}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes hero-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.landscape>img{transform:none;will-change:auto}}

.signup-frame{display:block;width:100%;height:480px;border:0;background:var(--paper)}.signup-fallback{display:inline-block;margin-top:12px;font-size:13px;text-underline-offset:4px}@media(max-width:750px){.signup-frame{height:650px}}

/* Cinematic editorial sequence */
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--red);transform-origin:left;z-index:30;pointer-events:none}
.film-atmosphere{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.45' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero{position:relative;isolation:isolate;overflow:hidden}.hero figure{position:relative;box-shadow:0 28px 70px #071e3855}.cinema-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.webgl-ready>img{opacity:0}.hero-copy{position:relative;z-index:2}.hero .eyebrow{letter-spacing:3px}.hero h1{text-shadow:0 5px 25px #061e3022}.landscape{height:85vh;min-height:530px;max-height:880px}.landscape>img{width:112%;height:125%;max-width:none;object-fit:cover;transform:translate(calc(-6% + var(--sweep,0px)),-10%) scale(1.03);will-change:transform}.landscape>div{transform:translateY(calc(-50% + var(--title-sweep,0px)))}.landscape:after{background:linear-gradient(90deg,#0b203bbd,transparent),linear-gradient(0deg,#071d3455,transparent 65%)}.landscape h2{font-size:clamp(80px,11vw,172px);line-height:.87;letter-spacing:-.02em}.cinema-title{clip-path:inset(0 0 100% 0);transform:translateY(45px);transition:clip-path 1.3s cubic-bezier(.16,1,.3,1),transform 1.3s cubic-bezier(.16,1,.3,1)}.cinema-title.title-enter{clip-path:inset(0);transform:none}.candidate img{transition:transform 1.6s cubic-bezier(.16,1,.3,1)}.candidate figure{overflow:hidden}.candidate:hover img{transform:scale(1.035)}
@media(min-width:900px) and (min-height:601px){.hero{min-height:calc(100vh - 90px)}.hero figure{height:calc(100vh - 160px);min-height:680px;max-height:1000px}.hero h1{transform:translateY(var(--hero-travel,0px));opacity:var(--hero-fade,1);will-change:transform}.hero-close{position:relative}.campaign-strip{font-size:clamp(32px,4vw,65px);padding-top:34px;padding-bottom:34px}.case{padding-top:130px;padding-bottom:130px}.case h2{font-size:clamp(90px,9vw,145px);line-height:.88}.candidate>div{padding-top:120px;padding-bottom:120px}}
@media(max-width:750px){.landscape{height:620px;min-height:0}.landscape>img{width:100%;transform:translateY(-8%)}.landscape h2{font-size:83px}.film-atmosphere{opacity:.04}}
@media(prefers-reduced-motion:reduce){.cinema-title{clip-path:none;transform:none}.hero h1{transform:none;opacity:1}.landscape>img{transform:none;width:100%;height:100%}.landscape>div{transform:translateY(-50%)}.film-atmosphere{display:none}}

/* A full-height, pinned landscape chapter and cinematic framing. */
@media(min-width:900px) and (min-height:601px) and (prefers-reduced-motion:no-preference){
.landscape-stage{height:190vh;background:var(--ink);position:relative}.landscape-stage .landscape{position:sticky;top:0;height:100vh;min-height:0;max-height:none}.landscape-stage .landscape>img{width:125%;height:125%;transform:translate(calc(-12% + var(--sweep,0px)),-10%) scale(var(--scene-zoom,1.12))}.landscape-stage .landscape>div{left:8%;transform:translateY(calc(-50% + var(--title-sweep,0px)))}
.landscape-stage .landscape:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-top:32px solid #0b1d29;border-bottom:32px solid #0b1d29}.landscape h2{max-width:1000px;font-size:clamp(100px,12vw,185px);text-shadow:0 12px 45px #061b3566}
.candidate{position:relative}.candidate figure{height:850px}.candidate>div{background:radial-gradient(ellipse at 0 50%,#29557455,transparent 70%)}.candidate h2{font-size:clamp(90px,8vw,130px);line-height:.88}.case{position:relative;background:radial-gradient(ellipse at 100% 0,#dbd0af,transparent 65%),var(--paper)}
.hero:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(110deg,transparent 30%,#fff2cf08 46%,transparent 60%);animation:light-pass 12s ease-in-out infinite}.hero figure{clip-path:inset(0);animation:frame-open 1.5s cubic-bezier(.16,1,.3,1) both}.hero h1{animation:headline-open 1.25s cubic-bezier(.16,1,.3,1) both}.hero-close{animation:copy-open 1.4s .25s both}
@keyframes frame-open{from{clip-path:inset(10% 0 10% 100%);filter:brightness(.65)}to{clip-path:inset(0);filter:brightness(1)}}@keyframes headline-open{from{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes copy-open{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes light-pass{0%,100%{opacity:.2;translate:-20% 0}50%{opacity:1;translate:20% 0}}
}
.scene-label{display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:3px;margin-bottom:30px;opacity:.8}.landscape .eyebrow{margin-bottom:18px}.landscape h2{line-height:.9}.landscape-stage{isolation:isolate}
@media(max-width:899px),(max-height:600px),(prefers-reduced-motion:reduce){.landscape-stage{height:auto}.scene-label{display:none}}

/* Directed opening: close-up, pullback, campaign title, red cut. */
@media(min-width:900px) and (min-height:601px) and (prefers-reduced-motion:no-preference){
header{position:absolute;inset:0 0 auto;color:var(--paper);background:transparent;backdrop-filter:none;border-color:#f0e9d540;z-index:20}
.opening-stage{height:250vh;position:relative;background:var(--red)}
.opening-stage .hero{position:sticky;top:0;height:100vh;min-height:0;display:block;padding:0;background:#102e40;overflow:hidden}
.opening-stage .hero figure{position:absolute;inset:0 0 0 28%;width:72%;height:100%;min-height:0;max-height:none;box-shadow:none;animation:none;clip-path:none}
.opening-stage .hero figure img{width:100%;height:100%;object-fit:cover;object-position:50% 68%;animation:none;transform:translateX(var(--camera-x,0%)) scale(var(--pullback,1.65));transform-origin:55% 70%}
.opening-stage .hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#082534 5%,#082534b0 32%,transparent 75%),linear-gradient(0deg,#082534d9,transparent 60%);pointer-events:none}
.opening-stage .hero:after{content:'';position:absolute;inset:0;z-index:5;background:var(--red);animation:none;opacity:1;transform:translateY(calc(100% - var(--opening-exit,0)*100%));pointer-events:none}
.opening-stage .hero-copy{position:absolute;inset:150px auto 85px 6%;width:60%;padding:0;animation:none;justify-content:flex-end}
.opening-stage .hero .eyebrow{position:absolute;top:0;font-size:14px;letter-spacing:4px}
.opening-stage .hero h1{font-size:clamp(110px,13.6vw,218px);line-height:.79;margin:0;animation:none;opacity:var(--opening-reveal,.35);transform:scale(var(--headline-scale,1.12));transform-origin:left bottom;text-shadow:0 6px 35px #08253460}
.opening-stage .hero h1 em{color:var(--paper)}
.opening-stage .hero-close{max-width:480px;margin-top:28px;animation:none;opacity:var(--opening-copy,0);transform:translateY(calc(20px - var(--opening-copy,0)*20px));transition:none}
.opening-stage .hero-close .hero-explanation{font-size:16px;max-width:45ch;margin-bottom:16px}
.opening-stage .hero-close .button{background:var(--red);border-color:var(--red);color:var(--paper);font-size:14px}
.opening-cue{position:absolute;bottom:30px;right:5%;z-index:4;font-size:12px;letter-spacing:2px;text-decoration:none;color:var(--paper);writing-mode:vertical-rl}
.campaign-strip{position:relative;z-index:6;min-height:190px;align-items:center;font-size:clamp(42px,5vw,78px)}
.landscape-stage .landscape>div{clip-path:inset(0 calc((1 - var(--scene-progress,0))*60%) 0 0)}
}
@media(max-width:899px),(max-height:600px){.opening-cue{display:none}.hero{position:relative;min-height:90svh;padding:115px 6% 45px;display:block;background:#102e40}.hero figure{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:0}.hero figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:60% 60%;animation:none}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#082534 0%,#082534aa 44%,#08253422)}.hero-copy{z-index:2;min-height:70svh;justify-content:flex-end;animation:none}.hero .eyebrow{font-size:12px}.hero h1{font-size:clamp(90px,23vw,170px);line-height:.82}.hero h1 em{color:var(--paper)}.hero-close{max-width:440px}.hero-close .button{background:var(--red);border-color:var(--red);color:var(--paper);font-size:14px}.hero-close .hero-explanation{font-size:16px}.cinema-title{clip-path:none;transform:none}header{position:absolute;width:100%;background:transparent;backdrop-filter:none;color:var(--paper);border-color:#f0e9d540}}
@media(prefers-reduced-motion:reduce){.opening-stage{height:auto}.opening-cue{display:none}}

@media(min-width:900px) and (min-height:601px) and (prefers-reduced-motion:no-preference){
.opening-stage .hero figure{inset:0;width:100%}
.opening-stage .hero-copy{inset:210px auto 80px 6%}
.opening-stage .hero .eyebrow{top:-45px}
.opening-stage .hero h1{font-size:clamp(100px,11.5vw,190px);opacity:var(--opening-reveal,.75)}
.opening-stage .hero-close:focus-within{opacity:1;transform:none}
}
@media(min-width:900px) and (min-height:601px) and (max-height:740px) and (prefers-reduced-motion:no-preference){.opening-stage .hero-copy{top:150px;bottom:45px}.opening-stage .hero h1{font-size:min(10vw,19vh)}.opening-stage .hero .eyebrow{top:-25px}.opening-stage .hero-close{margin-top:20px}.opening-stage .hero-close .hero-explanation{font-size:14px}}

/* Phone cinematics use image transforms and a shorter scroll sequence. */
@media(max-width:899px) and (prefers-reduced-motion:no-preference),(max-height:600px) and (prefers-reduced-motion:no-preference){
.cinema-ready .opening-stage{position:relative;background:var(--red)}
.cinema-ready .hero{padding:104px 6% 48px}
.cinema-ready .hero-copy{min-height:0;height:100%;justify-content:flex-end}
.cinema-ready .hero figure{box-shadow:none}
.cinema-ready .hero figure img{transform:translateX(var(--camera-x,0%)) scale(var(--pullback,1.3));transform-origin:58% 62%;will-change:transform}
.cinema-ready .hero h1{font-size:clamp(72px,23vw,170px);transform:scale(var(--headline-scale,1.04));transform-origin:left bottom;will-change:transform}
.cinema-ready .hero .eyebrow{margin-bottom:24px}
.cinema-ready .hero-close{margin-top:24px}
.cinema-ready .hero:after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--red);transform:translateY(calc(100% - var(--opening-exit,0)*100%))}
.cinema-ready .opening-cue{display:block;position:absolute;bottom:17px;right:6%;z-index:4;color:var(--paper);font-size:11px;letter-spacing:1.5px;text-decoration:none}
.cinema-ready .landscape-stage .landscape>img{width:112%;height:116%;transform:translate(calc(-6% + var(--sweep,0px)),-7%) scale(var(--scene-zoom,1.1));transform-origin:center;will-change:transform}
.cinema-ready .landscape-stage .landscape>div{transform:translateY(calc(-50% + var(--title-sweep,0px)))}
.cinema-ready .cinema-title{clip-path:inset(0 0 100% 0);transform:translateY(24px);transition:clip-path .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.cinema-ready .cinema-title.title-enter{clip-path:inset(0);transform:none}
.film-atmosphere{opacity:.035}
}
@media(max-width:899px) and (min-height:601px) and (prefers-reduced-motion:no-preference){
.cinema-ready .opening-stage{height:185svh}
.cinema-ready .opening-stage .hero{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden}
.cinema-ready .landscape-stage{height:150svh;background:var(--ink)}
.cinema-ready .landscape-stage .landscape{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
}
@media(max-height:600px){.cinema-ready .hero-copy{height:auto}.cinema-ready .opening-cue{display:none}}
@media(prefers-reduced-motion:reduce){.hero figure img{transform:none}.hero:after{display:none}}
