@font-face{font-family:Lato;src:url(/fonts/Lato-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url(/fonts/Lato-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Lato;src:url(/fonts/Lato-Black.woff2) format("woff2");font-weight:900;font-display:swap}

:root{
  --ink:#0b1020;--paper:#fffdf5;--yellow:#ffd21e;--red:#ff2b3d;--blue:#1d6bff;--teal:#00c2b2;--pink:#ff5fa8;
  --edge:4px solid var(--ink);--shadow:8px 8px 0 var(--ink);--shadow-s:5px 5px 0 var(--ink);--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 Lato,system-ui,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-weight:900;line-height:1.02;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(2.3rem,6vw,4.2rem);text-align:center;text-transform:uppercase}
h2 em{font-style:normal;background:var(--yellow);border:var(--edge);border-radius:12px;padding:0 .18em;box-shadow:var(--shadow-s);display:inline-block;transform:rotate(-2deg)}
section{padding:clamp(40px,5.5vw,68px) clamp(16px,5vw,64px)}
.sub{text-align:center;max-width:640px;margin:14px auto 0;font-size:1.15rem}
.skip{position:absolute;left:-999px;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:10px;top:10px;z-index:100}
:focus-visible{outline:4px solid var(--blue);outline-offset:3px}

.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,4vw,48px);background:var(--paper);border-bottom:var(--edge)}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.2rem;text-decoration:none;white-space:nowrap}
.logo img{border-radius:50%;border:3px solid var(--ink)}
.top nav{display:flex;align-items:center;gap:22px;font-weight:700}
.top nav a:not(.btn){text-decoration:none;border-bottom:3px solid transparent}
.top nav a:not(.btn):hover{border-color:var(--red)}

.btn{display:inline-block;padding:15px 26px;border:var(--edge);border-radius:14px;font-weight:900;font-size:1.1rem;text-decoration:none;text-transform:uppercase;box-shadow:var(--shadow-s);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink)}
.btn-red{background:var(--red);color:#fff}
.btn-ink{background:var(--ink);color:var(--yellow)}
.btn-small{padding:8px 16px;font-size:.95rem;box-shadow:3px 3px 0 var(--ink)}

.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;background:var(--yellow);overflow:hidden;min-height:min(68vh,640px)}
.burst{position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax;background:repeating-conic-gradient(#ffb800 0 12deg,#ffd21e 12deg 24deg);animation:spin 80s linear infinite}
.hero-copy,.hero-pic{position:relative}
.tag{display:inline-block;margin:0 0 18px;background:var(--ink);color:var(--yellow);padding:6px 14px;border-radius:8px;font-weight:900;text-transform:uppercase;font-size:.95rem;transform:rotate(-1.5deg)}
h1{font-size:clamp(3rem,8vw,6.4rem);text-transform:uppercase}
h1 span{display:block}
h1 .hl{color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--red)}
.lead{font-size:1.3rem;font-weight:700;max-width:540px;margin:22px 0 28px}
.cta{display:flex;flex-wrap:wrap;gap:16px}
.cta.center{justify-content:center;margin-top:22px}
.hero-pic{margin:0;transform:rotate(2.5deg)}
.hero-pic img{border:6px solid var(--ink);border-radius:24px;box-shadow:12px 12px 0 var(--ink);animation:bob 5s ease-in-out infinite}
.sticker{position:absolute;right:-6px;bottom:-16px;background:var(--red);color:#fff;font-weight:900;text-transform:uppercase;padding:9px 16px;border:var(--edge);border-radius:12px;transform:rotate(-5deg);box-shadow:var(--shadow-s)}

.ticker{overflow:hidden;background:var(--red);color:#fff;border-block:var(--edge);padding:12px 0}
.track{display:flex;width:max-content;animation:slide 26s linear infinite}
.track span{font-weight:900;font-size:1.5rem;text-transform:uppercase;padding:0 26px;white-space:nowrap}
.track span::after{content:"★";margin-left:52px;color:var(--yellow)}

.cards{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;max-width:1000px;margin:34px auto 0}
.card{padding:30px;border:var(--edge);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-yellow{background:var(--yellow);transform:rotate(-1deg)}
.card-blue{background:#8fd3ff;transform:rotate(1deg)}
.kicker{margin:0;font-weight:900;text-transform:uppercase}
.card h3{font-size:3.6rem;text-transform:uppercase}
.vs{font-size:3.4rem;font-weight:900;color:#fff;background:var(--red);border:var(--edge);border-radius:50%;width:112px;height:112px;display:grid;place-items:center;box-shadow:var(--shadow-s);transform:rotate(-8deg)}
dl{margin:18px 0 0}
dl div{margin-top:10px}
dt{font-weight:700}
dd{margin:4px 0 0;height:16px;border:3px solid var(--ink);border-radius:8px;background:#fff;overflow:hidden}
.bar{display:block;height:100%;background:var(--red)}
.bar-20{width:20%}.bar-60{width:60%}.bar-80{width:80%}.bar-90{width:90%}.bar-100{width:100%}

.life{background:var(--ink);color:#fff}
.life h2 em{color:var(--ink)}
.tabs{max-width:1000px;margin:32px auto 0}
.tablist{position:relative;display:flex;gap:4px;overflow-x:auto;padding:6px;background:#fff;border:var(--edge);border-radius:16px;scrollbar-width:none}
.tablist::-webkit-scrollbar{display:none}
.tablist button{position:relative;z-index:1;flex:1 0 auto;border:0;background:none;color:var(--ink);font:900 1rem Lato,sans-serif;text-transform:uppercase;padding:12px 16px;border-radius:10px;cursor:pointer;white-space:nowrap}
.pill{position:absolute;top:6px;bottom:6px;left:0;width:0;background:var(--yellow);border:3px solid var(--ink);border-radius:10px;transition:transform .35s cubic-bezier(.3,1.4,.5,1),width .35s}
.progress{height:6px;margin:10px 4px 0;background:#2a3050;border-radius:4px;overflow:hidden}
.progress span{display:block;height:100%;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.progress span.run{animation:fill 7s linear forwards}
.panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;align-items:center;margin-top:20px;animation:pop .45s cubic-bezier(.2,1.2,.4,1)}
.panel[hidden]{display:none}
.panel img{width:100%;max-height:440px;aspect-ratio:6/7;object-fit:cover;border:5px solid #fff;border-radius:20px;box-shadow:9px 9px 0 var(--red)}
.panel h3{font-size:clamp(2rem,4.5vw,3.3rem);color:var(--yellow);text-transform:uppercase}
.panel p{font-size:1.25rem}

.grid{list-style:none;margin:30px auto 0;padding:0;max-width:1140px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px}
.grid button{display:block;width:100%;padding:0;border:var(--edge);border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow-s);cursor:zoom-in;transition:transform .15s,box-shadow .15s}
.grid li:nth-child(odd) button{transform:rotate(-1deg)}
.grid li:nth-child(even) button{transform:rotate(1deg)}
.grid button:hover{transform:scale(1.04) rotate(0);box-shadow:9px 9px 0 var(--ink)}

.cup{background:var(--blue)}
.cup-box{max-width:820px;margin:0 auto;text-align:center;background:var(--paper);border:var(--edge);border-radius:24px;box-shadow:12px 12px 0 var(--ink);padding:clamp(28px,5vw,56px)}
.cup-box h2{font-size:clamp(2.4rem,6.5vw,4.4rem)}
.score{display:flex;align-items:center;justify-content:center;gap:24px;margin:26px 0}
.score div{min-width:130px;background:var(--ink);color:var(--yellow);padding:10px 18px;border-radius:14px}
.score span{display:block;font-weight:900;text-transform:uppercase}
.score strong{font-size:4.6rem;line-height:1}
.score b{font-size:3.4rem}

.sponsor{background:var(--pink)}
.sponsor .sub{font-weight:700}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1060px;margin:40px auto 0;align-items:stretch}
.tier{position:relative;background:var(--paper);border:var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}
.tier-hot{background:var(--yellow);transform:translateY(-12px) rotate(-1deg)}
.tier h3{font-size:1.9rem;text-transform:uppercase}
.price{font-weight:700;margin:6px 0 14px}
.tier ul{margin:0;padding-left:20px}
.tier li{margin:7px 0}
.flag{position:absolute;top:-16px;right:18px;margin:0;background:var(--red);color:#fff;font-weight:900;text-transform:uppercase;font-size:.85rem;padding:5px 12px;border:3px solid var(--ink);border-radius:8px}
.note{text-align:center;max-width:720px;margin:26px auto 0;font-weight:700}

footer{background:var(--ink);color:#fff;text-align:center;padding:34px 16px}
footer p{margin:6px 0}
footer a{color:var(--yellow);font-weight:700}

.lightbox{border:var(--edge);border-radius:20px;padding:16px;max-width:min(92vw,460px);background:var(--paper);box-shadow:12px 12px 0 var(--ink)}
.lightbox::backdrop{background:rgba(11,16,32,.8)}
.lightbox img{max-height:76vh;margin:auto;border-radius:12px}
.lightbox p{margin:10px 0 0;text-align:center;font-weight:900;text-transform:uppercase}
.close{position:absolute;top:8px;right:8px;z-index:2;width:42px;height:42px;font-size:1.6rem;font-weight:900;background:var(--red);color:#fff;border:3px solid var(--ink);border-radius:50%;cursor:pointer}

.reveal{opacity:1}
.js .reveal{opacity:0;translate:0 26px;transition:opacity .55s,translate .55s}
.js .reveal.seen{opacity:1;translate:0}

.lost{display:grid;place-items:center;min-height:100vh;background:var(--yellow);text-align:center}
.lost h1{font-size:9rem}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{50%{translate:0 -10px}}
@keyframes slide{to{transform:translateX(-50%)}}
@keyframes fill{to{transform:scaleX(1)}}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.98)}}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .top nav a:not(.btn){display:none}
  .cards{grid-template-columns:1fr}
  .vs{margin:auto}
  .panel{grid-template-columns:1fr;gap:22px}
  .panel img{aspect-ratio:4/3;object-position:center 72%}
  h1 .hl{-webkit-text-stroke-width:2px;text-shadow:4px 4px 0 var(--red)}
  .tiers{grid-template-columns:1fr}
  .tier-hot{transform:none}
  .grid{grid-template-columns:repeat(2,1fr);gap:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;translate:0}
}
