@import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@700;800&family=Fredoka:wght@400;500;600;700&display=swap");

:root{
  --pine:#1f5f50;
  --pine-dark:#113c34;
  --pine-deep:#071b18;
  --teal:#2f7f70;
  --teal-bright:#45c6b0;
  --cream:#fff2d5;
  --cream-soft:#f7e5bd;
  --wood:#8b542d;
  --gold:#e6b45d;
  --ink:#16211e;
  --muted:#aebdb7;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:#f7f3e8;
  background:
    radial-gradient(circle at 15% 8%,rgba(69,198,176,.12),transparent 26%),
    linear-gradient(180deg,#091a17,#0d2621 48%,#081815);
  font-family:"Fredoka",Arial,sans-serif;
  overflow-x:hidden;
}

.brand-strip{
  position:relative;
  z-index:20;
  background:
    linear-gradient(180deg,rgba(18,45,39,.98),rgba(7,25,22,.98)),
    radial-gradient(circle at center,rgba(69,198,176,.12),transparent 60%);
  border-bottom:1px solid rgba(255,242,213,.12);
  box-shadow:0 12px 40px rgba(0,0,0,.38);
}
.brand-shell{
  width:min(1450px,96vw);
  min-height:205px;
  margin:0 auto;
  padding:22px 18px;
  display:grid;
  grid-template-columns:1fr 1px 1.65fr 1px .78fr;
  gap:24px;
  align-items:center;
}
.brand{display:flex;align-items:center;justify-content:center;min-width:0}
.brand img{
  display:block;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.32));
}
.brand-dad img{max-height:164px}
.brand-app img{max-height:116px;width:100%}
.brand-cards img{max-height:164px}
.brand-divider{
  width:1px;height:100px;
  background:linear-gradient(transparent,rgba(255,242,213,.26),transparent);
}

.hero{
  position:relative;
  height:clamp(620px,76vh,900px);
  overflow:hidden;
  isolation:isolate;
}
.slide{
  position:absolute;
  inset:-7%;
  opacity:0;
  background-image:var(--bg);
  background-size:cover;
  background-position:center;
  transform:scale(1.09) translateX(-2%);
  transition:opacity 1.35s ease;
  will-change:transform,opacity;
}
.slide.is-active{opacity:1;animation:panZoom 8s ease-in-out both}
.slide:nth-child(even).is-active{animation-name:panZoomReverse}
@keyframes panZoom{
  from{transform:scale(1.08) translate3d(-2.5%,0,0)}
  to{transform:scale(1.15) translate3d(2.5%,-1%,0)}
}
@keyframes panZoomReverse{
  from{transform:scale(1.14) translate3d(2.5%,0,0)}
  to{transform:scale(1.08) translate3d(-2.5%,-1%,0)}
}
.hero-shade{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(90deg,rgba(5,20,17,.94) 0%,rgba(5,20,17,.64) 42%,rgba(5,20,17,.18) 75%,rgba(5,20,17,.55) 100%),
    linear-gradient(0deg,rgba(5,20,17,.92) 0%,transparent 40%,rgba(0,0,0,.12) 100%);
}
.hero-content{
  position:relative;z-index:3;
  width:min(1400px,90vw);
  height:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.eyebrow,.small-label{
  margin:0 0 14px;
  color:var(--teal-bright);
  font-weight:900;
  letter-spacing:.2em;
  font-size:.8rem;
}
.hero h1{
  margin:0;
  max-width:840px;
  font-family:"Baloo 2",cursive;
  font-size:clamp(4rem,7.5vw,8rem);
  line-height:.82;
  letter-spacing:-.045em;
  text-transform:uppercase;
  color:var(--cream);
  text-shadow:0 8px 30px rgba(0,0,0,.55);
}
.hero-copy{
  max-width:740px;
  margin:26px 0 0;
  color:#d8e5df;
  font-size:clamp(1.05rem,1.7vw,1.3rem);
  line-height:1.65;
}
.hero-button,.storefront-btn,.winner-card a,.winner-modal a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:30px;
  padding:15px 25px;
  border-radius:999px;
  border:1px solid rgba(255,242,213,.22);
  background:linear-gradient(135deg,var(--teal),var(--pine));
  color:var(--cream);
  text-decoration:none;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  box-shadow:0 12px 34px rgba(0,0,0,.3);
  transition:transform .2s ease,box-shadow .2s ease;
}
.hero-button:hover,.storefront-btn:hover,.winner-card a:hover,.winner-modal a:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,0,0,.38);
}
.slide-arrow{
  position:absolute;z-index:5;top:50%;transform:translateY(-50%);
  width:52px;height:52px;
  border:1px solid rgba(255,242,213,.24);
  border-radius:50%;
  background:rgba(17,60,52,.62);
  color:var(--cream);
  backdrop-filter:blur(8px);
  font-size:2.2rem;
  line-height:1;
}
.slide-arrow.prev{left:22px}
.slide-arrow.next{right:22px}
.slide-dots{
  position:absolute;z-index:5;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;gap:8px;
}
.slide-dot{
  width:10px;height:10px;padding:0;
  border:1px solid rgba(255,242,213,.7);
  border-radius:99px;
  background:rgba(255,242,213,.15);
}
.slide-dot.is-active{width:30px;background:var(--teal-bright);border-color:var(--teal-bright)}

.feature{padding:18px 34px;text-align:center}
.feature+.feature{border-left:1px solid rgba(255,242,213,.12)}
.feature-kicker{
  display:block;
  color:var(--gold);
  font-size:2.5rem;
  font-weight:900;
  letter-spacing:.24em;
  margin-bottom:8px;
}
.feature strong{font-size:clamp(1rem,1.5vw,1.25rem);color:var(--cream)}

.giveaway-section{
  width:min(1200px,90vw);
  margin:0 auto;
  padding:100px 0 120px;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:center;
}
.giveaway-copy h2{
  margin:0;
  font-family:"Baloo 2",cursive;
  font-size:clamp(2.8rem,5vw,5.2rem);
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:var(--cream);
}
.giveaway-copy>p:not(.eyebrow){
  color:#b9c8c2;
  line-height:1.75;
  font-size:1.08rem;
  max-width:650px;
}
.launch-note{
  margin-top:24px;
  padding:18px 20px;
  border-left:4px solid var(--gold);
  background:rgba(255,242,213,.06);
  color:#d7dfdb;
  line-height:1.55;
}

.form-card{
  position:relative;
  padding:34px;
  border:1px solid rgba(255,242,213,.13);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(25,63,54,.96),rgba(10,33,29,.96));
  box-shadow:0 28px 80px rgba(0,0,0,.34);
}
.form-card::before{
  content:"";
  position:absolute;inset:-1px;border-radius:24px;padding:1px;
  background:linear-gradient(135deg,rgba(69,198,176,.7),transparent 45%,rgba(230,180,93,.3));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
form{display:grid;gap:10px}
label{margin-top:9px;font-weight:800;color:#f4ead3}
input{
  width:100%;
  padding:15px 16px;
  border-radius:12px;
  border:1px solid rgba(255,242,213,.16);
  background:#071b18;
  color:white;
  outline:none;
}
input:focus{
  border-color:var(--teal-bright);
  box-shadow:0 0 0 4px rgba(69,198,176,.12);
}
form button{
  margin-top:14px;
  padding:15px 18px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--teal),var(--pine));
  color:var(--cream);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.flash{margin-bottom:18px;padding:13px 14px;border-radius:10px;font-weight:800}
.flash.success{background:rgba(69,198,176,.13);border:1px solid rgba(69,198,176,.34);color:#a7efe1}
.flash.error{background:rgba(212,72,54,.14);border:1px solid rgba(212,72,54,.35);color:#ffb5ac}

.winner-card{text-align:center;padding:10px}
.winner-mark{
  width:84px;height:84px;margin:0 auto 16px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold),#b97d28);
  color:#fff7df;
  font-size:2.4rem;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.winner-card span{display:block;color:#a8bbb4;font-weight:800}
.winner-card strong{
  display:block;
  margin:6px 0 8px;
  color:var(--cream);
  font-family:"Baloo 2",cursive;
  font-size:2.6rem;
}

.winner-backdrop{
  position:fixed;inset:0;z-index:999;
  display:grid;place-items:center;padding:20px;
  background:rgba(3,14,12,.82);
  backdrop-filter:blur(9px);
}
.winner-backdrop.hidden{display:none}
.winner-modal{
  position:relative;
  width:min(640px,94vw);
  padding:42px;
  text-align:center;
  border:1px solid rgba(255,242,213,.15);
  border-radius:26px;
  background:linear-gradient(180deg,#153f36,#0a211d);
  box-shadow:0 24px 80px rgba(0,0,0,.55);
}
.winner-close{
  position:absolute;right:16px;top:14px;
  width:42px;height:42px;border:1px solid rgba(255,242,213,.2);
  border-radius:50%;background:rgba(255,242,213,.08);color:var(--cream);
  font-size:1.5rem;
}
.winner-star{font-size:4rem;color:var(--gold)}
.winner-modal h2{
  margin:0;color:var(--cream);
  font-family:"Baloo 2",cursive;
  font-size:3.3rem;
}
.winner-name{
  margin:0;
  color:var(--teal-bright);
  font-family:"Baloo 2",cursive;
  font-size:2.4rem;
}
.winner-modal>p:not(.winner-name){color:#bccbc5;line-height:1.55}

footer{
  padding:30px 20px 44px;
  text-align:center;
  color:#83968f;
  font-size:.86rem;
  letter-spacing:.06em;
}

@media(max-width:900px){
  .brand-shell{
    min-height:auto;
    grid-template-columns:1fr;
    gap:14px;
    padding:16px 12px 20px;
  }
  .brand-divider{
    width:70%;height:1px;margin:auto;
    background:linear-gradient(90deg,transparent,rgba(255,242,213,.2),transparent);
  }
  .brand-dad img{max-height:120px}
  .brand-app img{max-height:90px}
  .brand-cards img{max-height:120px}
  .hero{height:700px}
  .hero-shade{
    background:linear-gradient(0deg,rgba(5,20,17,.94),rgba(5,20,17,.47) 68%,rgba(5,20,17,.22));
  }
  .hero-content{justify-content:flex-end;padding-bottom:90px}
  .feature-band{grid-template-columns:1fr}
  .feature+.feature{border-left:0;border-top:1px solid rgba(255,242,213,.1)}
  .giveaway-section{grid-template-columns:1fr;gap:38px;padding:72px 0 90px}
}
@media(max-width:560px){
  .hero{height:620px}
  .hero h1{font-size:3.5rem}
  .hero-copy{font-size:1rem}
  .form-card{padding:24px 18px}
  .slide-arrow{display:none}
}

/* Giveaway prize picker */
.prize-picker{
  margin:0 0 14px;
  padding:0;
  border:0;
  min-width:0;
}
.prize-picker legend{
  padding:0;
  color:var(--cream);
  font-family:"Baloo 2",cursive;
  font-size:1.55rem;
  font-weight:800;
}
.prize-help{
  margin:2px 0 14px;
  color:#aebdb7;
  font-size:.92rem;
  line-height:1.45;
}
.prize-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  max-height:460px;
  overflow:auto;
  padding:3px 5px 8px 2px;
}
.prize-card{margin:0;cursor:pointer;min-width:0}
.prize-card>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.prize-card-inner{
  align-items:center;
  padding-top:12px;
  display:flex;
  height:100%;
  min-height:225px;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,242,213,.14);
  border-radius:16px;
  background:#071b18;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.prize-card:hover .prize-card-inner{
  transform:translateY(-2px);
  border-color:rgba(69,198,176,.55);
}
.prize-card>input:checked+.prize-card-inner{
  border-color:var(--teal-bright);
  box-shadow:0 0 0 3px rgba(69,198,176,.16),0 12px 28px rgba(0,0,0,.25);
}
.prize-image-wrap{
  height: 250px;
  width: 250px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,242,213,.08),rgba(69,198,176,.07));
}
.prize-image-wrap img{width:100%;height:100%;object-fit:contain;padding:10px}
.prize-placeholder{color:#7f938b;font-weight:700}
.prize-name{padding:12px 12px 2px;color:var(--cream);font-weight:900;line-height:1.15}
.prize-meta{padding:0 12px 9px;color:#8fa59d;font-size:.8rem}
.prize-selected{
  margin:auto 12px 12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(69,198,176,.13);
  color:var(--teal-bright);
  font-size:.78rem;
  font-weight:900;
  text-align:center;
  opacity:0;
}
.prize-card>input:checked+.prize-card-inner .prize-selected{opacity:1}
.inventory-warning{
  margin:8px 0 14px;
  padding:13px 14px;
  border:1px solid rgba(230,180,93,.35);
  border-radius:10px;
  background:rgba(230,180,93,.08);
  color:#f1d49c;
  line-height:1.45;
  overflow-wrap:anywhere;
}
form button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:560px){
  .prize-grid{grid-template-columns:1fr 1fr;gap:9px;max-height:420px}
  .prize-card-inner{min-height:190px}
  .prize-image-wrap{height:120px}
  .prize-name{font-size:.9rem;padding:9px 9px 2px}
  .prize-meta{padding:0 9px 8px;font-size:.72rem}
  .prize-selected{margin:auto 9px 9px;font-size:.7rem}
}

/* Giveaway countdown */
.countdown-band{
  position:relative;
  z-index:8;
  width:min(1050px,92vw);
  margin:-38px auto 24px;
  padding:24px 28px 22px;
  text-align:center;
  border:1px solid rgba(255,242,213,.14);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(21,63,54,.98),rgba(8,27,24,.98));
  box-shadow:0 22px 60px rgba(0,0,0,.42);
}
.countdown-label{
  margin:0 0 13px;
  color:var(--gold);
  font-weight:900;
  letter-spacing:.22em;
  font-size:.8rem;
}
.countdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.countdown>div{
  padding:15px 8px 13px;
  border-radius:15px;
  border:1px solid rgba(69,198,176,.18);
  background:#071b18;
}
.countdown strong{
  display:block;
  color:var(--cream);
  font-family:"Baloo 2",cursive;
  font-size:clamp(2rem,5vw,4rem);
  line-height:.9;
}
.countdown span{
  display:block;
  margin-top:5px;
  color:#9fb2ab;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.countdown-date{margin:12px 0 0;color:#aebdb7;font-size:.92rem}
.countdown-finished{
  color:var(--teal-bright);
  font-family:"Baloo 2",cursive;
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:900;
}

.replay-reveal{
  margin-top:18px;
  padding:14px 20px;
  border:1px solid rgba(255,242,213,.18);
  border-radius:999px;
  background:linear-gradient(135deg,var(--teal),var(--pine));
  color:var(--cream);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}
.winner-prize-image{
  width:min(260px,80%);
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  margin:0 auto 18px;
  border-radius:20px;
  background:#071b18;
  border:1px solid rgba(255,242,213,.12);
}

/* Winner cut scene */
.draw-scene{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(69,198,176,.22),transparent 34%),
    radial-gradient(circle at 20% 20%,rgba(230,180,93,.12),transparent 25%),
    #03110f;
  opacity:1;
  transition:opacity .5s ease,visibility .5s ease;
}
.draw-scene.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.draw-panel{
  position:relative;
  width:min(900px,92vw);
  min-height:min(620px,82vh);
  display:grid;
  place-items:center;
  text-align:center;
  padding:35px;
}
.draw-stage{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  opacity:0;
  transform:scale(.92);
  pointer-events:none;
}
.draw-stage.is-active{animation:stageIn .7s ease forwards;pointer-events:auto}
@keyframes stageIn{to{opacity:1;transform:scale(1)}}
.draw-stage h2{
  margin:8px 0;
  color:var(--cream);
  font-family:"Baloo 2",cursive;
  font-size:clamp(2.7rem,7vw,6.5rem);
  line-height:.92;
  text-transform:uppercase;
  text-shadow:0 8px 30px rgba(0,0,0,.55);
}
.draw-stage h2 em{font-style:normal;color:var(--teal-bright)}
.draw-stage p{color:#c0d0ca;font-size:clamp(1rem,2vw,1.35rem)}
.draw-spinner{
  display:block;
  color:var(--gold);
  font-size:clamp(5rem,15vw,10rem);
  animation:winnerSpin .55s linear infinite, winnerPulse 1s ease-in-out infinite alternate;
}
@keyframes winnerSpin{to{transform:rotate(360deg)}}
@keyframes winnerPulse{to{filter:drop-shadow(0 0 34px rgba(230,180,93,.8))}}
.reveal-prize{
  width:min(300px,48vw);
  max-height:300px;
  object-fit:contain;
  margin:10px auto 18px;
  border-radius:24px;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.45));
  animation:prizePop .75s cubic-bezier(.2,.85,.25,1.25) both;
}
@keyframes prizePop{from{transform:scale(.3) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.draw-stage button{
  margin-top:18px;
  padding:15px 26px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--teal-bright),var(--pine));
  color:#03110f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}
.draw-stars,.draw-stars::before,.draw-stars::after{
  position:absolute;
  inset:-20%;
  content:"";
  pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,242,213,.8) 0 2px,transparent 2.5px),
    radial-gradient(circle,rgba(69,198,176,.8) 0 1.5px,transparent 2px);
  background-size:110px 110px,73px 73px;
  background-position:0 0,30px 45px;
  animation:starsMove 18s linear infinite;
  opacity:.45;
}
.draw-stars::before{animation-duration:28s;transform:rotate(18deg);opacity:.3}
.draw-stars::after{animation-duration:36s;transform:rotate(-12deg);opacity:.22}
@keyframes starsMove{to{transform:translate3d(80px,110px,0) rotate(4deg)}}

@media(max-width:560px){
  .countdown-band{margin:-24px auto 16px;padding:18px 12px}
  .countdown{gap:6px}
  .countdown>div{padding:12px 4px 10px}
  .countdown strong{font-size:2.15rem}
  .draw-panel{padding:18px;min-height:88vh}
  .draw-stage h2{font-size:3rem}
}

/* Opening hero reliability + always-visible countdown */
.slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.hero-countdown-card{
  margin:24px 0 20px;
  width:min(650px,100%);
  padding:16px 18px 14px;
  border:1px solid rgba(255,242,213,.24);
  border-radius:18px;
  background:rgba(7,27,24,.78);
  box-shadow:0 18px 46px rgba(0,0,0,.35);
  backdrop-filter:blur(9px);
}
.hero-countdown-label{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font-weight:900;
  letter-spacing:.16em;
  font-size:.73rem;
}
.hero-countdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.hero-countdown>div{
  min-width:0;
  padding:9px 6px 7px;
  text-align:center;
  border-radius:12px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(69,198,176,.18);
}
.hero-countdown strong{
  display:block;
  color:var(--cream);
  font-family:"Baloo 2",Arial,sans-serif;
  font-size:clamp(1.65rem,4vw,2.45rem);
  line-height:1;
}
.hero-countdown span{
  display:block;
  margin-top:3px;
  color:#b8cbc4;
  text-transform:uppercase;
  font-size:.64rem;
  letter-spacing:.09em;
  font-weight:800;
}
.hero-countdown-card small{
  display:block;
  margin-top:9px;
  color:#cbd8d3;
}
@media(max-width:640px){
  .hero-countdown-card{padding:13px 11px 11px;margin:18px 0 16px}
  .hero-countdown{gap:5px}
  .hero-countdown>div{padding:8px 3px 6px}
}
\n\n/* Prominent countdown shown immediately under the logo header */\n.top-countdown{\n  position:relative;\n  z-index:30;\n  width:100%;\n  padding:14px 20px 16px;\n  display:flex;\n  flex-wrap:wrap;\n  justify-content:center;\n  align-items:center;\n  gap:14px 22px;\n  background:linear-gradient(180deg,#15493f,#0c302a);\n  border-bottom:2px solid rgba(69,198,176,.55);\n  box-shadow:0 10px 28px rgba(0,0,0,.4);\n  text-align:center;\n}\n.top-countdown-title{\n  color:var(--gold);\n  font-weight:900;\n  letter-spacing:.16em;\n  font-size:.82rem;\n}\n.top-countdown-grid{\n  display:grid;\n  grid-template-columns:repeat(4,minmax(76px,105px));\n  gap:8px;\n}\n.top-countdown-grid>div{\n  padding:8px 8px 6px;\n  border-radius:12px;\n  background:rgba(0,0,0,.3);\n  border:1px solid rgba(255,242,213,.2);\n}\n.top-countdown-grid strong{\n  display:block;\n  font-family:"Baloo 2",Arial,sans-serif;\n  color:var(--cream);\n  font-size:2rem;\n  line-height:1;\n}\n.top-countdown-grid span{\n  display:block;\n  margin-top:3px;\n  color:#c7d8d2;\n  text-transform:uppercase;\n  font-size:.62rem;\n  letter-spacing:.08em;\n  font-weight:800;\n}\n.top-countdown-date{\n  color:#dce9e4;\n  font-size:.86rem;\n  font-weight:700;\n}\n@media(max-width:700px){\n  .top-countdown{padding:11px 8px 12px;gap:8px}\n  .top-countdown-title,.top-countdown-date{width:100%}\n  .top-countdown-grid{width:100%;grid-template-columns:repeat(4,1fr);gap:5px}\n  .top-countdown-grid>div{padding:7px 3px 5px}\n  .top-countdown-grid strong{font-size:1.55rem}\n  .top-countdown-grid span{font-size:.52rem;letter-spacing:.04em}\n}\n

/* Giveaway entrant free-for-all reveal */
.race-stage{
  justify-content:flex-start;
  padding-top:8px;
}
.race-title{
  flex:0 0 auto;
  text-align:center;
  margin-bottom:7px;
}
.race-title h2{
  font-size:clamp(2.1rem,5vw,4.3rem);
  margin:0;
  color:var(--gold);
}
.race-title p{
  margin:.1rem 0 0;
  font-size:clamp(.76rem,1.5vw,1rem);
}
.race-track{
  --racer-scale:1;
  position:relative;
  width:98vw;
  height:82vh;
  min-height:560px;
  overflow:hidden;
  padding:8px 72px 8px 8px;
  border:2px solid rgba(255,242,213,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 18% 22%,rgba(69,198,176,.08),transparent 24%),
    radial-gradient(circle at 66% 72%,rgba(230,180,93,.07),transparent 25%),
    linear-gradient(90deg,rgba(69,198,176,.05),rgba(230,180,93,.04));
  box-shadow:inset 0 0 38px rgba(0,0,0,.28);
}
.racer{
  position:absolute;
  left:0;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  gap:calc(7px * var(--racer-scale));
  width:max-content;
  max-width:calc(220px * var(--racer-scale));
  transform:translate3d(var(--start-x,0px),var(--start-y,0px),0) scale(var(--racer-scale));
  transform-origin:left center;
  will-change:transform;
}
.race-go .racer{
  animation:entrantScramble var(--race-duration,6.8s) cubic-bezier(.18,.72,.22,1) var(--race-delay,0s) forwards;
}
@keyframes entrantScramble{
  0%{transform:translate3d(var(--start-x),var(--start-y),0) scale(var(--racer-scale))}
  18%{transform:translate3d(var(--p1-x),var(--p1-y),0) scale(var(--racer-scale)) rotate(var(--wiggle-1,0deg))}
  37%{transform:translate3d(var(--p2-x),var(--p2-y),0) scale(var(--racer-scale)) rotate(var(--wiggle-2,0deg))}
  58%{transform:translate3d(var(--p3-x),var(--p3-y),0) scale(var(--racer-scale)) rotate(var(--wiggle-3,0deg))}
  78%{transform:translate3d(var(--p4-x),var(--p4-y),0) scale(var(--racer-scale))}
  100%{transform:translate3d(var(--finish-x),var(--finish-y),0) scale(var(--racer-scale))}
}
.racer-photo{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#0b211d;
  border:2px solid rgba(255,242,213,.35);
  box-shadow:0 6px 14px rgba(0,0,0,.38);
}
.racer-photo img{width:100%;height:100%;object-fit:contain;background:rgba(255,255,255,.05)}
.racer-photo span{font-size:1.6rem;color:var(--gold)}
.racer-label{
  min-width:100px;
  max-width:155px;
  padding:6px 9px;
  border-radius:12px;
  text-align:left;
  background:rgba(3,17,15,.9);
  border:1px solid rgba(255,242,213,.2);
  box-shadow:0 5px 12px rgba(0,0,0,.32);
}
.racer-label strong,.racer-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.racer-label strong{color:var(--cream);font-size:.9rem;line-height:1.05}
.racer-label small{color:#9fc7bc;font-size:.68rem;margin-top:3px}
.finish-line{
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  right:54px;
  width:14px;
  background:repeating-linear-gradient(0deg,#f7eed5 0 8px,#17201d 8px 16px);
  box-shadow:0 0 18px rgba(255,242,213,.3);
}
.finish-line span{
  position:absolute;
  top:12px;
  left:-25px;
  transform:rotate(90deg);
  transform-origin:center;
  color:var(--gold);
  font-weight:900;
  font-size:.7rem;
  letter-spacing:.12em;
}
.race-track.crowd-medium{--racer-scale:.82}
.race-track.crowd-large{--racer-scale:.66}
.race-track.crowd-huge{--racer-scale:.52}
.race-track.crowd-huge .racer-label small{display:none}
.race-track.crowd-huge .racer-label strong{font-size:.78rem}
@media(max-width:700px){
  .race-track{width:98vw;height:82vh;min-height:520px;padding-right:48px}
  .finish-line{right:38px}
  .race-title h2{font-size:2.4rem}
  .race-track{--racer-scale:.76}
  .race-track.crowd-medium{--racer-scale:.64}
  .race-track.crowd-large{--racer-scale:.52}
  .race-track.crowd-huge{--racer-scale:.43}
}


/* Giveaway marketing opt-in */
.updates-opt-in{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  cursor:pointer;
  font-weight:700;
}
.updates-opt-in input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  padding:0;
  flex:0 0 18px;
  accent-color:var(--teal-bright);
}
.updates-opt-in span{
  line-height:1.3;
}

/* Second-place wheel + final podium */
.first-place-stage p strong{color:var(--gold)}
.wheel-stage{padding:18px}
.wheel-stage h2{font-size:clamp(2.3rem,5vw,4.8rem)}
.wheel-stage>p{margin:4px 0 14px}
.wheel-wrap{
  position:relative;
  width:min(570px,72vw,68vh);
  aspect-ratio:1;
  margin:4px auto 0;
}
#secondPlaceWheel{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.45));
  will-change:transform;
}
.wheel-pointer{
  position:absolute;
  z-index:4;
  top:-28px;
  left:50%;
  transform:translateX(-50%);
  color:var(--gold);
  font-size:3.1rem;
  line-height:1;
  text-shadow:0 5px 10px rgba(0,0,0,.6);
}
.final-results-stage{padding:24px}
.final-results-stage h2{font-size:clamp(2.2rem,5vw,4.8rem)}
.podium-results{
  width:min(760px,92vw);
  display:grid;
  gap:16px;
  margin:18px auto 6px;
}
.result-place{
  display:grid;
  grid-template-columns:72px 92px 1fr;
  gap:18px;
  align-items:center;
  padding:18px 22px;
  border-radius:22px;
  text-align:left;
  background:rgba(7,27,24,.9);
  border:1px solid rgba(255,242,213,.2);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.result-place.first{border-color:rgba(230,180,93,.65)}
.result-place.second{border-color:rgba(69,198,176,.5)}
.result-number{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:50%;
  background:var(--gold);
  color:#1c160b;
  font-family:"Baloo 2",cursive;
  font-size:2.7rem;
  font-weight:900;
}
.result-place.second .result-number{background:var(--teal-bright);color:#061512}
.result-place img,.credit-mark{
  width:86px;
  height:86px;
  border-radius:17px;
  object-fit:contain;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,242,213,.2);
}
.credit-mark{display:grid;place-items:center;color:var(--gold);font-size:1.85rem;font-weight:900}
.result-place small{display:block;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.result-place.second small{color:var(--teal-bright)}
.result-place strong{display:block;color:var(--cream);font-size:clamp(1.35rem,3vw,2rem);margin-top:2px}
.result-place p{margin:3px 0 0;color:#c6d6d0}
.final-winners-card .placement-badge{
  display:inline-block;
  margin:4px auto 8px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(230,180,93,.16);
  color:var(--gold);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.final-winners-card .placement-badge.second{background:rgba(69,198,176,.13);color:var(--teal-bright)}
.winner-divider{width:100%;height:1px;margin:22px 0;background:rgba(255,242,213,.15)}
@media(max-width:620px){
  .wheel-wrap{width:min(88vw,470px)}
  .wheel-pointer{top:-21px;font-size:2.4rem}
  .result-place{grid-template-columns:52px 66px 1fr;gap:10px;padding:13px}
  .result-number{width:48px;height:48px;font-size:2rem}
  .result-place img,.credit-mark{width:62px;height:62px;border-radius:12px}
  .credit-mark{font-size:1.25rem}
  .result-place strong{font-size:1.15rem}
}
