:root{--r:#be171b;--c:#fef2e1;--k:#28211e;--sans:Manrope,Arial,sans-serif;--serif:Newsreader,Georgia,serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--c);color:var(--r);font-family:var(--sans)}button,input{font:inherit}.screen{position:fixed;inset:0;width:100vw;height:100svh;overflow:hidden;isolation:isolate}.screen[hidden]{display:none}header{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;padding:25px clamp(23px,4.8vw,74px)}header img{width:142px;height:auto}.eyebrow{font:10px var(--mono);letter-spacing:.1em}h1,h2,h3,p{margin:0}h1,h2{font:800 clamp(54px,7.5vw,120px)/.82 var(--sans);letter-spacing:-.085em}em{font:500 1em var(--serif)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:51px;padding:0 18px 0 20px;border:1px solid currentColor;background:transparent;cursor:pointer;font:10px var(--mono);letter-spacing:.08em;transition:.25s}.button b{font:23px/1 var(--sans);transition:.25s}.button:hover b{transform:translateX(5px)}.button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:4px}.red{background:var(--r);color:var(--c)}.cream{background:var(--c);color:var(--r)}

.entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:center;gap:clamp(50px,10vw,160px);padding:clamp(42px,9vh,110px) clamp(28px,9vw,145px);padding-top:clamp(118px,15vh,165px);background:radial-gradient(circle at 76% 30%,rgba(190,23,27,.055),transparent 31%),var(--c)}.entry:before{content:"";position:absolute;inset:0;background:url('../assets/images/hero.jpg') center/cover no-repeat;opacity:.08;pointer-events:none}.entry-copy,#contest-form{position:relative;z-index:1}.entry-copy{align-self:center}.entry-header{position:absolute;top:28px;left:32px;right:auto;z-index:50;padding:0;pointer-events:none}.entry-logo{display:block;width:145px;height:auto;max-width:100%}.entry-copy h1{margin-top:18px;font-size:clamp(56px,6.2vw,102px)}#contest-form{width:100%;max-width:440px;justify-self:end}.form-heading{display:grid;gap:11px;margin-bottom:22px;font:14px/1.4 var(--mono);font-weight:800; letter-spacing:.1em}.form-heading strong{font:600 14px var(--sans);letter-spacing:0}.field{margin-bottom:14px}.field label{display:flex;gap:18px;font:10px var(--mono);letter-spacing:.1em}.field label b{color:var(--r)}.field input{display:block;width:100%;height:30px;padding:3px 0;border:0;border-bottom:1px solid var(--r);border-radius:0;background:transparent;color:var(--k);font-size:16px}.field input:focus{border-bottom-width:3px}.field.invalid input{border-color:#7b080b}.field small{display:block;min-height:12px;margin-top:3px;color:#7b080b;font:9px var(--mono)}.form-status{min-height:16px;margin:4px 0;color:#7b080b;font:9px var(--mono)}#contest-form>button[type=submit]{width:min(260px,100%);margin-top:8px}

.location-screen{display:grid;grid-template-columns:minmax(250px,.74fr) 1.6fr;grid-template-rows:auto 1fr auto;gap:22px 55px;padding:89px clamp(24px,5vw,80px) 27px;background:var(--c)}.location-copy{align-self:end}.location-copy h2{font-size:clamp(45px,4.6vw,75px);margin:14px 0 18px}.location-copy>p:last-child{max-width:280px;font:11px/1.55 var(--mono)}.location-grid{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-height:0}.location-card{position:relative;min-height:0;overflow:hidden;border:0;background:#392d28;padding:0;color:var(--c);text-align:left;cursor:pointer}.location-card img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.4) contrast(1.05);transition:.5s}.location-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,17,15,.8),transparent 62%)}.location-card:hover img{transform:scale(1.04);filter:grayscale(0)}.location-card span{position:absolute;z-index:1}.number{top:13px;left:13px;padding:5px 7px;background:var(--r);font:9px var(--mono)}.name{left:17px;right:17px;bottom:16px;font:800 clamp(16px,1.75vw,25px)/.95 var(--sans);letter-spacing:-.06em;transition:.3s}.choose{right:14px;bottom:15px;opacity:0;font:9px var(--mono);transition:.3s}.location-card:hover .name{transform:translateY(-13px)}.location-card:hover .choose{opacity:1}.location-card.selected{outline:3px solid var(--r);outline-offset:-8px}.location-card.selected:before{content:"SELECTED";position:absolute;z-index:2;top:15px;right:13px;font:9px var(--mono);letter-spacing:.08em}.location-card.dim{opacity:.36}.guess-panel{grid-column:1/3;display:none;align-items:center;gap:20px;border-top:1px solid var(--r);padding-top:17px}.guess-panel.show{display:flex}.guess-panel span{font:10px var(--mono);letter-spacing:.1em}.guess-panel strong{font:800 clamp(18px,2vw,29px) var(--sans);letter-spacing:-.06em}.guess-panel .button{margin-left:auto}

.lock-screen{display:grid;place-items:center;background:var(--r);color:var(--c);text-align:center}.lock-screen .eyebrow{position:absolute;top:31px}.lock-word{font:800 clamp(65px,13vw,205px)/.78 var(--sans);letter-spacing:-.1em;white-space:pre-line}.surprise{display:grid;place-items:center;padding:clamp(24px,6svh,70px) 10vw;background:#241c19 url('../assets/images/teaser.png') center/cover no-repeat;color:var(--c)}.surprise-overlay{position:absolute;inset:0;background:rgba(20,13,11,.54)}.surprise-content{position:relative;z-index:1;width:min(720px,100%);height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.thanks{margin-top:clamp(18px,4svh,44px);font:500 clamp(25px,3vw,42px) var(--serif)}.thanks strong{font:800 .9em var(--sans)}.prize-copy{margin-top:clamp(22px,5svh,52px);font:10px/1.6 var(--mono);letter-spacing:.08em}.surprise h3{margin:8px 0 0;font:800 clamp(51px,6vw,90px)/.81 var(--sans);letter-spacing:-.08em}.team-message{margin-top:clamp(20px,5svh,52px);font:10px/1.6 var(--mono);letter-spacing:.08em}

@media(max-height:760px) and (min-width:701px){.entry{padding-top:110px;padding-bottom:32px}.form-heading{margin-bottom:15px}.field{margin-bottom:9px}.field small{min-height:8px}.entry-copy h1{font-size:clamp(54px,5.5vw,84px)}}
@media(max-width:700px){header{padding:19px 22px}header img{width:105px}.entry-header{top:20px;left:22px}.entry-logo{width:105px}.entry{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;padding:clamp(88px,20svh,120px) 24px 20px}.entry-copy{flex:0 0 auto}.entry-copy h1{margin-top:10px;font-size:clamp(47px,13.5vw,68px)}#contest-form{max-width:none;margin:0}.form-heading{gap:4px;margin-bottom:13px}.form-heading strong{font-size:12px}.field{margin-bottom:7px}.field input{height:26px}.field small{min-height:10px;font-size:8px}.form-status{min-height:13px;margin:1px 0}.button{min-height:45px;font-size:9px}#contest-form>button[type=submit]{width:100%;margin-top:6px}.location-screen{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:68px 16px 15px}.location-copy{align-self:auto}.location-copy h2{margin:6px 0;font-size:clamp(36px,10.5vw,48px)}.location-copy>p:last-child{max-width:none;font-size:9px}.location-grid{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px}.location-card{flex:0 0 auto;width:100%;max-width:100%}.location-card img{height:auto;object-fit:contain}.number{top:8px;left:8px;font-size:8px}.name{left:9px;right:7px;bottom:9px;font-size:clamp(15px,4.2vw,19px)}.choose{display:none}.location-card.selected:before{top:10px;right:7px;font-size:7px}.guess-panel{grid-column:1;gap:7px;padding-top:10px}.guess-panel strong{font-size:15px}.guess-panel .button{margin-left:auto;gap:11px;padding:0 9px;font-size:8px}.surprise{padding:24px;background-position:center}.surprise-content{width:100%;justify-content:center}.thanks{margin-top:clamp(16px,3svh,30px);font-size:clamp(23px,7vw,31px)}.surprise .prize-copy{margin-top:clamp(18px,4svh,30px);font-size:9px;line-height:1.45}.surprise h3{font-size:clamp(46px,11svh,64px);margin:6px 0 0}.team-message{margin-top:clamp(18px,4svh,30px);font-size:9px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
