/* Spark Ark Studio: Arcade look. Sunshine yellow, chunky rounded type, sticker cards with hard shadows. */
@font-face{font-family:"Lilita One";src:url("fonts/lilita-one.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito";src:url("fonts/nunito.woff2") format("woff2");font-weight:600 900;font-display:swap}

:root{
  --sun:#ffd23f;--ink:#1d1a3a;--cream:#fff8e6;--teal:#4ecdc4;--coral:#ff6b6b;--violet:#6c5ce7;--sky:#7fd6ef;--jade:#2f8f5b;
  --disp:"Lilita One","Arial Rounded MT Bold",sans-serif;--body:"Nunito",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-weight:600}
img,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:4px}
section[id]{scroll-margin-top:12px}

.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
.sec{padding-block:80px}
.h{font:400 clamp(38px,5.6vw,72px)/.95 var(--disp);margin-bottom:34px;text-transform:uppercase;text-wrap:balance}
.phone{aspect-ratio:9/16;max-width:100%;border-radius:22px;overflow:hidden;position:relative;background:var(--ink)}
.phone video,.phone canvas{width:100%;height:100%;object-fit:cover}

.btn{display:inline-block;font:400 22px var(--disp);text-decoration:none;background:var(--sun);color:var(--ink);border:4px solid var(--ink);border-radius:18px;padding:12px 24px;box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.btn.alt{background:#fff}

/* hero */
.top{background:var(--sun);overflow:hidden;position:relative}
.nav{display:flex;justify-content:space-between;align-items:center;padding-block:16px;gap:12px;flex-wrap:wrap;position:relative;z-index:2}
.logo{display:flex;align-items:center;gap:10px;font:400 24px var(--disp);text-decoration:none}
.logo img{width:40px}
.nav nav{display:flex;gap:6px;flex-wrap:wrap}
.nav nav a{text-decoration:none;font-weight:800;padding:9px 14px;border-radius:999px;font-size:15px}
.nav nav a:hover{background:#fff}
.nav nav a.cta{background:var(--ink);color:var(--sun)}
.hero{position:relative;z-index:2;padding-block:30px 46px;text-align:center}
.hero h1{font:400 clamp(54px,11vw,150px)/.88 var(--disp);text-transform:uppercase}
.hero h1 span{display:inline-block;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink)}
.hero p{font-size:clamp(17px,2vw,21px);max-width:44ch;margin:22px auto 26px;line-height:1.45;font-weight:700}

.float{position:absolute;inset:0;z-index:1;pointer-events:none}
.float img{position:absolute;filter:drop-shadow(4px 6px 0 rgba(29,26,58,.25));animation:bob 5s ease-in-out infinite}
.f1{width:64px;left:6%;top:30%;--r:-10deg}
.f2{width:52px;left:15%;top:72%;animation-delay:-1s!important}
.f3{width:74px;right:7%;top:24%;--r:12deg;animation-delay:-2s!important}
.f4{width:44px;right:19%;top:74%;animation-delay:-3s!important}
.f5{width:62px;left:12%;top:13%;--r:-8deg;animation-delay:-1.6s!important}
.f6{width:48px;right:15%;top:12%;animation-delay:-.6s!important}
.f7{width:58px;left:4%;top:80%;--r:-6deg;animation-delay:-2.8s!important}
.f8{width:40px;left:27%;top:80%;animation-delay:-2.4s!important}
@keyframes bob{50%{transform:translateY(-14px) rotate(var(--r,6deg))}}

.marq{background:var(--ink);color:var(--sun);overflow:hidden;white-space:nowrap;font:400 24px var(--disp);padding:12px 0;transform:rotate(-1.5deg);margin:10px -10px -10px;position:relative;z-index:3}
.marq div{display:inline-block;animation:marq 44s linear infinite}
.marq span{margin:0 22px}
.marq span:nth-child(even){color:#fff}
@keyframes marq{to{transform:translateX(-50%)}}

/* games */
.game{display:grid;grid-template-columns:minmax(0,600px) 280px;justify-content:center;gap:56px;align-items:center;border-radius:36px;padding:40px;margin-bottom:28px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--ink)}
.game.mb{background:var(--sky)}
.game.mr{background:var(--jade);color:#fff}
.game .phone{border:8px solid var(--ink);border-radius:34px;transform:rotate(3deg)}
.game.mr .phone{transform:rotate(-3deg)}
.game h3{font:400 clamp(40px,5vw,64px)/.95 var(--disp);margin:12px 0 14px}
.game p{font-size:18px;line-height:1.5;max-width:52ch;margin-bottom:20px;font-weight:700}
.game ul{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px}
.game li{background:rgba(255,255,255,.5);border:2px solid currentColor;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:800}
.game.mr li{background:rgba(255,255,255,.14)}
.gtop{display:flex;align-items:center;gap:14px}
.gtop img{width:76px;height:76px;border-radius:20px;border:3px solid var(--ink)}
.stk{display:inline-block;font:400 20px var(--disp);background:var(--sun);color:var(--ink);padding:6px 14px;border-radius:12px;border:3px solid var(--ink);transform:rotate(-4deg)}
.stk.soon{background:var(--coral);color:#fff}

/* roadmap */
.road{background:var(--violet);color:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:#fff;color:var(--ink);border:4px solid var(--ink);border-radius:26px;padding:24px;box-shadow:8px 8px 0 var(--ink);position:relative}
.step:nth-child(2){transform:rotate(-1.5deg)}
.badge{position:absolute;top:-18px;right:18px;font:400 18px var(--disp);padding:5px 12px;border:3px solid var(--ink);border-radius:12px;background:var(--sun);transform:rotate(4deg)}
.step.now .badge{background:var(--coral);color:#fff}
.step.later .badge{background:var(--teal)}
.step img{width:60px;height:60px;border-radius:16px;border:3px solid var(--ink);margin-bottom:14px}
.step .ph{width:60px;height:60px;border-radius:16px;border:3px dashed var(--ink);margin-bottom:14px}
.step h3{font:400 30px/1 var(--disp);margin-bottom:8px}
.step p{margin-bottom:14px;line-height:1.45;font-weight:700}
.step a{font-weight:900}

/* studio */
.about>p{font-size:clamp(20px,2.4vw,28px);line-height:1.4;max-width:36ch;font-weight:800}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.stat{background:#fff;border:4px solid var(--ink);border-radius:24px;padding:22px;box-shadow:6px 6px 0 var(--ink)}
.stat:nth-child(1){background:var(--teal)}
.stat:nth-child(2){background:var(--sun)}
.stat:nth-child(3){background:var(--coral);color:#fff}
.stat b{display:block;font:400 56px/1 var(--disp)}
.stat span{font-size:15px;font-weight:800}

/* community */
.comm{background:var(--ink);color:var(--cream)}
.comm .h{color:var(--sun)}
.cgrid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:50px;align-items:center}
.comm p{font-size:19px;line-height:1.5;max-width:44ch}
.socs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.soc{display:flex;justify-content:space-between;align-items:center;font:400 24px var(--disp);border:3px solid var(--cream);border-radius:18px;padding:14px 18px}
.soc small{font:800 13px var(--body);opacity:.75}
.comm .phone{border:6px solid var(--sun);border-radius:30px;transform:rotate(3deg)}

/* contact + footer */
.cta-sec{background:var(--coral);color:#fff;text-align:center;border-top:4px solid var(--ink)}
.cta-sec h2{font:400 clamp(44px,8vw,110px)/.9 var(--disp);margin-bottom:24px;text-transform:uppercase}
.mail{display:inline-block;font:400 clamp(18px,2.6vw,30px) var(--disp);background:#fff;color:var(--ink);border:4px solid var(--ink);border-radius:18px;padding:12px 22px;box-shadow:6px 6px 0 var(--ink);overflow-wrap:anywhere;text-decoration:none;transition:transform .15s,box-shadow .15s}
.mail:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.foot{background:var(--ink);color:var(--cream);padding-block:28px;font-size:14px}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.foot img{width:70px}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}

/* 404 */
.lost{min-height:100vh;background:var(--sun);display:grid;place-items:center;text-align:center;padding:40px 16px}
.lost h1{font:400 clamp(70px,16vw,170px)/.9 var(--disp);text-transform:uppercase}
.lost p{font-size:20px;font-weight:800;margin:16px 0 28px}
.lost img{width:90px;margin:0 auto 24px}

@media (max-width:900px){
  .cgrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:30px}
  .game{grid-template-columns:minmax(0,1fr);padding:26px;gap:34px}
  .game .phone{width:250px;margin:0 auto}
  .stats{grid-template-columns:repeat(2,1fr)}
  .comm .phone{width:240px}
}
@media (max-width:700px){
  .f2,.f4,.f5,.f6,.f7,.f8{display:none}
  .f1{width:40px;left:4%;top:34%}
  .f3{width:44px;right:4%;top:32%}
}
@media (max-width:560px){
  .sec{padding-block:60px}
  .nav{padding-block:14px 8px}
  .nav nav{width:100%;justify-content:space-between;gap:0}
  .nav nav a:not(.cta){padding:8px 6px;font-size:14px}
  .nav nav a.cta{position:absolute;right:0;top:14px}
  .hero{padding-top:18px}
  .hero h1 span{-webkit-text-stroke-width:2px;text-shadow:3px 3px 0 var(--ink)}
  .socs{grid-template-columns:1fr}
  .stat b{font-size:40px}
  .marq{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
