:root{--teal:#2b7687;--deep:#146275;--coral:#f26d5c;--paper:#eff8fb;--cream:#f7f3ed;font-family:'Plus Jakarta Sans',sans-serif;color:var(--teal);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,input,a{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scenery{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:var(--paper);isolation:isolate}
.desktop-palm{position:absolute;display:block;height:auto;object-fit:contain}
.desktop-palm-left{left:-2px;bottom:-2px;width:min(46.3vw,82.3vh)}
.desktop-palm-right{right:-2px;top:-2px;width:min(30.1vw,53.5vh)}
.palm-scene{display:none;position:absolute}
.experience{position:relative;min-height:max(820px,calc(100svh - 40px));overflow:hidden}
.stage{width:100%;display:flex;align-items:center;flex-direction:column;padding-top:12px}
.boarding-pass{position:relative;aspect-ratio:1.749;transform:rotate(-5deg);filter:drop-shadow(0 10px 7px #0003);overflow:hidden}
.boarding-pass img{position:absolute;max-width:none;width:103.53%;height:135.77%;left:-1.77%;top:-16.96%}
.stage-ticket{width:min(24.75vw,475px);z-index:1}
.state-welcome .stage-ticket,.state-generated .stage-ticket{visibility:hidden}
.wheel-frame{position:relative;z-index:2;width:min(34.8vw,668px);aspect-ratio:1;margin-top:clamp(-32px,-1.67vw,-24px);border:3px solid #a5a9aa;border-radius:50%;background:linear-gradient(120deg,#eff1f1,#bbbfc0);box-shadow:0 0 60px 12px #63c2cf33;container-type:inline-size}
.wheel{position:absolute;inset:4.8%;border-radius:50%;will-change:transform;overflow:hidden}
.wheel-label{position:absolute;left:50%;top:50%;width:38%;height:50%;transform-origin:50% 100%;text-align:center;font-weight:800;text-transform:uppercase;line-height:1.05;font-size:3.65cqw;color:white;display:flex;justify-content:center;align-items:flex-start;padding-top:7%;white-space:pre-line}
.wheel-label span{display:block;max-width:100%}
.wheel-center{position:absolute;width:16%;height:16%;left:42%;top:42%;z-index:3;object-fit:contain;border-radius:50%}
.wheel-pointer{position:absolute;width:16%;height:16%;top:-2.3%;left:42%;z-index:4;display:block;background:linear-gradient(180deg,#e51e10 0%,#ff311f 38%,#ff6a5f 100%);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px rgba(90,30,20,.22));transform-origin:50% 5%}
.wheel-lights{position:absolute;inset:0;pointer-events:none}
.bulb{position:absolute;width:3.2%;height:3.2%;background:white;border-radius:50%;transform:translate(-50%,-50%)}
.is-spinning .bulb{animation:bulb-glow .8s infinite alternate;animation-delay:calc(var(--i)*-60ms)}
.is-spinning .wheel-pointer{animation:pointer-tick .15s infinite alternate}
@keyframes bulb-glow{to{background:#fff6be;box-shadow:0 0 10px #fff}
}
@keyframes pointer-tick{to{transform:rotate(-9deg)}
}
.stage-status{font-size:14px;text-align:center;min-height:20px}
.glass{background:rgba(43,118,135,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 30px 10px rgba(0,0,0,.5);color:#fff}
.welcome{position:absolute;z-index:5;top:13.25vh;left:2.08%;width:95.84%;min-height:83.06svh;padding:0 30px 70px}
.welcome-ticket{position:absolute;left:50%;top:clamp(-112px,calc(15px - 11.8vh),-60px);translate:-50% 0;width:min(32.16vw,617px);margin:0;filter:drop-shadow(0 10px 10px rgba(0,0,0,.25))}
.welcome-content{position:absolute;left:50%;top:clamp(219px,calc(8.54vw + 96px),260px);translate:-50% 0;width:min(37.24vw,715px);margin:0;text-align:center}
.welcome h1{font-size:clamp(25px,1.771vw,34px);line-height:clamp(28px,1.979vw,38px);font-weight:800;text-transform:uppercase;margin:0}
.welcome p{font-size:clamp(15.5px,1.094vw,21px);line-height:clamp(20px,1.406vw,27px);margin:22px 0 32px}
.welcome form{width:min(24.27vw,466px);max-width:100%;margin:auto}
.mobile-heading,.mobile-only{display:none}
input:not([type=checkbox]){width:100%;height:50px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;padding:14px;font-size:14px;outline:none}
.welcome input:not([type=checkbox]){height:clamp(38px,2.604vw,50px);padding:clamp(10px,.781vw,15px);font-size:clamp(11px,.729vw,14px);text-transform:uppercase}
input::placeholder{color:inherit;opacity:1}
input:not([type=checkbox]):focus{box-shadow:0 0 0 2px #fff7}
input[aria-invalid=true]{border-color:#ffbcb1;box-shadow:0 0 0 1px #ffbcb1}
.pill{display:flex;width:100%;align-items:center;justify-content:center;min-height:53px;padding:12px 16px;background:white;color:var(--teal);border:0;border-radius:999px;text-decoration:none;text-transform:uppercase;font-weight:800;font-size:24px;line-height:25px;text-align:center;transition:filter .15s,transform .15s}
.pill:hover:not(:disabled){filter:brightness(.95);transform:translateY(-1px)}
.pill:disabled{opacity:.65}
.welcome .pill{min-height:clamp(40px,2.76vw,53px);padding:clamp(8px,.729vw,14px) 16px;margin-top:clamp(15px,.938vw,18px);font-size:clamp(18px,1.25vw,24px);line-height:clamp(19px,1.302vw,25px)}
.text-button{color:var(--cream);border:0;background:none;text-decoration:underline;text-transform:uppercase;font-size:14px;padding:12px;margin-top:20px}
.welcome .text-button{min-height:0;margin-top:clamp(20px,calc(52px - 1.667vw),28px);font-size:clamp(11px,.729vw,14px)}
.form-error{font-size:13px!important;line-height:1.4!important;margin:8px 0!important;text-align:left}
.form-error:empty{display:none}
.security-note{font-size:11px!important;margin:20px auto!important}
.grecaptcha-badge{visibility:hidden!important}
.dialog-layer{position:absolute;inset:0;z-index:8;display:flex;justify-content:center;align-items:flex-start;padding:20px;min-height:100%;pointer-events:none}
.dialog-layer>.glass{pointer-events:auto;position:relative;width:560px;max-width:100%;padding:40px;text-align:center}
.dialog-layer [role=dialog]:focus{outline:none}
.close-button{position:absolute;right:12px;top:8px;background:none;border:0;color:inherit;font-size:30px;line-height:30px;padding:0 4px;font-weight:400}
.stop-layer{padding-top:30px}
.stop-card h2{font-size:24px;line-height:1.3;text-transform:uppercase;font-weight:800;margin:0}
.stop-subtitle{font-size:17px;margin:4px 0 15px}
.stop-card form{max-width:400px;margin:auto;display:flex;flex-direction:column;gap:12px}
.consent{display:flex;align-items:flex-start;gap:6px;text-align:left;font-size:10px;line-height:1.25}
.consent input{appearance:none;flex:0 0 12px;width:12px;height:12px;margin:0;border:1px solid currentColor;border-radius:0;background:transparent;cursor:pointer}
.consent input:checked{background:white;box-shadow:inset 0 0 0 2px var(--teal)}
.consent a{color:inherit}
.stop-card .pill{font-size:23px}
.state-form .stage{padding-top:220px}
.prize-card{min-height:760px}
.prize-card h2{font-size:20px;font-weight:800;text-transform:uppercase;margin:0 0 20px}
.prize-image{width:210px;height:210px;object-fit:contain;margin:0 auto 12px;display:block}
.prize-image[hidden]{display:none}
.email-status{font-size:23px;line-height:1.3;text-transform:uppercase;margin:0 0 24px}
.prize-description{padding:24px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.prize-description h3{font-size:24px;line-height:1.1;text-transform:uppercase;margin:0;font-weight:800}
.prize-description p{font-size:16px;margin:12px 0 0}
.discover-copy{font-size:16px;margin:28px 0 20px}
.prize-card .pill{font-size:20px}
.prize-card.grand{background:rgba(239,248,251,.9);color:var(--teal)}
.prize-card.grand h2{font-size:36px;color:var(--coral)}
.prize-card.grand h3{color:var(--coral)}
.prize-card.grand .pill{background:var(--coral);color:#fff}
.light-card{background:rgba(239,248,251,.9);color:var(--teal)}
.share-card{min-height:789px}
.share-kicker{font-size:16px;text-transform:uppercase;margin:0 0 12px}
.share-card h2{font-size:24px;line-height:1.3;text-transform:uppercase;margin:0;font-weight:800}
.share-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px auto 18px;max-width:276px}
.share-progress img{width:50px;height:67px;object-fit:contain}
.share-progress span{height:1px;flex:1;background:var(--teal)}
.share-count{font-size:14px;margin:0 0 24px}
.share-actions{display:flex;flex-direction:column;gap:20px;max-width:380px;margin:auto}
.coral{background:var(--coral);color:#fff;font-size:18px}
.share-actions .pill:disabled{background:var(--cream);color:#aaa;opacity:.65}
.site-footer{position:relative;text-align:center;height:40px;display:flex;justify-content:center;align-items:center;font-size:11px}
.site-footer a{color:var(--deep)}
.panama-terms-body{min-height:100svh;background:var(--paper);color:var(--deep);overflow-x:hidden}
.panama-terms-page{position:relative;z-index:1;width:min(1040px,calc(100% - 48px));margin:0 auto;padding:110px 0 50px}
.panama-terms-card{position:relative;background:rgba(43,118,135,.92);box-shadow:0 0 30px 10px rgba(0,0,0,.24);color:#fff;padding:235px clamp(28px,6vw,82px) 58px}
.panama-terms-ticket{position:absolute;top:-92px;left:50%;width:min(520px,68vw);aspect-ratio:1.749;translate:-50% 0;transform:rotate(-5deg);filter:drop-shadow(0 10px 8px #0003);overflow:hidden}
.panama-terms-ticket img{position:absolute;max-width:none;width:103.53%;height:135.77%;left:-1.77%;top:-16.96%}
.panama-terms-card h1{margin:0;text-align:center;text-transform:uppercase;font-size:clamp(27px,3vw,42px);line-height:1.08}
.panama-terms-card .subtitle{margin:12px 0 42px;text-align:center;font-size:clamp(15px,1.6vw,20px);font-weight:600}
.panama-terms-content{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.panama-terms-content h1,.panama-terms-content h2,.panama-terms-content h3{margin:1.7em 0 .6em;line-height:1.25;text-transform:none;text-align:left;color:#fff}
.panama-terms-content h2{font-size:22px}.panama-terms-content h3{font-size:18px}
.panama-terms-content a{color:#fff;text-decoration:underline}.panama-terms-content li{margin:.35em 0}
.panama-terms-back{width:min(360px,100%);margin:44px auto 0;font-size:17px}
.debug-controls{position:fixed;left:14px;bottom:14px;z-index:30;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #ffffff55;border-radius:12px;background:#063f4de6;box-shadow:0 8px 24px #0004;color:#fff}
.debug-control{min-height:34px;padding:8px 12px;border:1px solid #ffffff66;border-radius:8px;background:#ffffff12;color:#fff;font:700 12px/1 'Plus Jakarta Sans',sans-serif;text-decoration:none;cursor:pointer}
.debug-control:hover,.debug-control:focus-visible{background:#fff;color:var(--deep);outline:2px solid #fff;outline-offset:2px}
.state-result .stage,.state-share .stage{opacity:.85}
#turnstile-widget{position:fixed;bottom:10px;left:10px;z-index:20}

@media(min-width:768px) and (max-height:850px){.experience{min-height:calc(100svh - 32px)}
.welcome{top:13vh;padding-bottom:35px}
.welcome p{margin:15px 0 22px}
.site-footer{height:32px}
.prize-card{min-height:690px}
.dialog-layer>.glass{padding:30px}
.prize-image{width:180px;height:180px}
}

@media(max-width:767px){.experience{min-height:max(812px,calc(100svh - 40px));overflow:hidden}
.desktop-palm{display:none}
.palm-scene{display:block;width:700px;height:auto;object-fit:contain;transform:none}
.palm-scene-left{inset:-80px auto auto -180px;clip-path:polygon(0 0,75% 0,75% 70%,0 70%)}
.palm-scene-right{inset:auto -220px -40px auto;clip-path:polygon(30% 35%,100% 35%,100% 100%,30% 100%)}
.stage{padding-top:33px}
.stage-ticket{width:89%;max-width:370px}
.wheel-frame{width:108%;max-width:550px;flex-shrink:0;margin-top:40px}
.wheel-label{font-size:4.1cqw;padding-top:7%}
.welcome{top:139px;left:20px;width:calc(100% - 40px);min-height:654px;padding:0 29px 60px}
.welcome-ticket{position:relative;left:auto;top:auto;translate:none;width:calc(100% + 32px);max-width:400px;margin:-43px -16px 0}
.welcome-content{position:static;translate:none;width:100%;margin:21px auto 0}
.welcome h1{font-size:28px;line-height:29px}
.desktop-heading,.desktop-only{display:none}
.mobile-heading,.mobile-only{display:initial}
.welcome p{font-size:16px;line-height:20px;margin:12px -5px 20px}
.welcome form{width:100%}
.welcome .pill{font-size:24px;margin-top:20px}
.welcome .text-button{font-size:12px;margin-top:18px;padding:12px 0}
.welcome input{height:48px}
.debug-controls{left:8px;right:8px;bottom:8px;justify-content:center;gap:5px;padding:6px}
.debug-control{padding:7px 8px;font-size:10px}
.dialog-layer{padding:20px}
.dialog-layer>.glass{width:100%;padding:34px 20px;max-width:450px}
.stop-layer{padding-top:15px}
.dialog-layer>.stop-card{padding:34px 29px 24px}
.stop-card h2{font-size:19px;line-height:27px;margin-left:-10px;margin-right:-10px;white-space:nowrap;letter-spacing:-.6px}
.stop-subtitle{font-size:14px;line-height:19px;margin:0 0 12px}
.stop-card input:not([type=checkbox]){height:48px}
.stop-card form{gap:12px}
.consent{font-size:9px;letter-spacing:-.09px;line-height:11px}
.consent input{width:11px;height:11px;flex-basis:11px}
.stop-card .pill{font-size:21px;margin-top:0}
.state-form .stage{padding-top:155px}
.state-form .wheel-frame{margin-top:30px}
.prize-card{min-height:789px}
.prize-card h2{font-size:16px;line-height:25px;margin:0 0 20px}
.prize-image{width:210px;height:210px;margin:0 auto 12px}
.email-status{font-size:21px;line-height:27px;margin:0 0 24px}
.prize-description{padding:22px 0}
.prize-description h3{font-size:21px;line-height:22px}
.prize-description p{font-size:14px;margin-top:12px}
.prize-card .pill{font-size:18px;margin-left:-7px;width:calc(100% + 14px);padding:13px 8px}
.discover-copy{margin:28px 0 20px}
.share-card{min-height:789px}
.share-card h2{font-size:21px;line-height:27px}
.share-actions{margin:0 10px}
.share-card .pill{font-size:18px;min-height:51px;padding:12px 5px}
.share-progress{margin-top:20px;margin-bottom:18px}
.stage-status{max-width:85%}
.close-button{right:8px;top:7px}
.panama-terms-page{width:calc(100% - 28px);padding:90px 0 32px}
.panama-terms-card{padding:175px 22px 38px}
.panama-terms-ticket{top:-66px;width:min(360px,88vw)}
.panama-terms-card h1{font-size:25px}.panama-terms-card .subtitle{margin-bottom:30px}
.panama-terms-content{font-size:14px;line-height:1.65}
.panama-terms-content h2{font-size:19px}.panama-terms-content h3{font-size:16px}
.state-generated .welcome{min-height:601px}
.state-generated .welcome-description{margin-bottom:26px}
}

@media(max-width:360px){.welcome{left:14px;width:calc(100% - 28px);padding-left:22px;padding-right:22px}
.welcome h1{font-size:25px;line-height:28px}
.dialog-layer{padding-left:14px;padding-right:14px}
.stop-card h2{font-size:16px}
.share-card h2{font-size:19px}
.share-actions .pill{font-size:15px}
.prize-card .pill{font-size:15px}
.welcome .pill{font-size:21px}
}

@media(prefers-reduced-motion:reduce){.is-spinning .bulb,.is-spinning .wheel-pointer{animation:none}
.pill{transition:none}
}
