@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Inter.woff2) format('woff2')}
:root{--ink:#0b0d13;--ink2:#131722;--ink3:#1c2230;--line:rgba(244,241,234,.1);--cream:#f4f1ea;--muted:#a8adba;--lime:#c6f432;--lime2:#9fe21b;--coral:#ff6a4d;--display:'Space Grotesk','Segoe UI',system-ui,sans-serif;--body:'Inter','Segoe UI',system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--ink);color:var(--cream);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img,video{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:balance}
.kicker{font:600 .8rem/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--lime)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 1rem var(--display);text-decoration:none;border-radius:999px;padding:14px 24px;transition:transform .15s,background .15s,box-shadow .15s}
.btn.primary{background:var(--lime);color:#11160a;box-shadow:0 10px 30px -10px rgba(198,244,50,.6)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(198,244,50,.7)}
.btn.ghost{border:1px solid var(--line);color:var(--cream)}
.btn.ghost:hover{background:var(--ink3)}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(11,13,19,.72);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
header .logo img{height:40px;width:auto}
nav{display:flex;gap:28px;align-items:center;font:500 .95rem var(--display)}
nav a{text-decoration:none;color:var(--muted)} nav a:hover{color:var(--cream)}
nav .btn{padding:9px 18px;font-size:.9rem}
@media (max-width:720px){ nav a:not(.btn){display:none} }

/* hero */
.hero{position:relative;overflow:hidden;padding:96px 0 110px}
.hero::before{content:'';position:absolute;inset:-20% -10% auto;height:900px;background:radial-gradient(600px 380px at 78% 30%,rgba(198,244,50,.16),transparent 70%),radial-gradient(520px 340px at 15% 10%,rgba(255,106,77,.13),transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 60% 30%,#000 10%,transparent 65%);-webkit-mask-image:radial-gradient(ellipse at 60% 30%,#000 10%,transparent 65%);opacity:.5;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.2vw,5rem);margin:18px 0 22px}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:34ch;margin:0 0 34px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.phone{justify-self:center;width:min(300px,78vw);aspect-ratio:9/19.5;border-radius:46px;background:#05060a;padding:12px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 80px -30px rgba(0,0,0,.8),0 0 120px -40px rgba(198,244,50,.45);transform:rotate(3deg);position:relative}
.phone video{width:100%;height:100%;object-fit:cover;border-radius:36px}
.phone::before{content:'';position:absolute;top:22px;left:50%;width:92px;height:26px;margin-left:-46px;border-radius:20px;background:#05060a;z-index:2}
.float{position:absolute;width:74px;height:74px;border-radius:18px;right:-26px;bottom:60px;transform:rotate(-12deg);filter:drop-shadow(0 18px 30px rgba(0,0,0,.5));animation:bob 6s ease-in-out infinite}
@keyframes bob{50%{transform:rotate(-6deg) translateY(-12px)}}
@media (max-width:860px){ .float{right:-10px;width:60px;height:60px} .hero .wrap>*{min-width:0} .hero{padding:64px 0 80px} .hero .wrap{grid-template-columns:1fr} .phone{transform:none;margin-top:12px} }

/* sections */
section{padding:100px 0;border-top:1px solid var(--line)}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:44px}
.head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-top:12px;max-width:18ch}
.head p{color:var(--muted);max-width:44ch;margin:0}

/* game showcase */
.game{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
.gcard{align-self:start;background:linear-gradient(160deg,#16301f,#0d1a12 60%);border:1px solid rgba(255,210,63,.18);border-radius:28px;padding:32px;position:relative;overflow:hidden}
.gcard::after{content:'';position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,63,.22),transparent 70%)}
.gtitle{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.gtitle img{width:72px;height:72px;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.4)}
.gtitle h3{font-size:1.9rem}
.gtitle small{display:block;font:600 .78rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#ffd23f;margin-top:6px}
.gcard p{color:#cfd8cf;margin:0 0 22px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 26px}
.stats div{background:rgba(0,0,0,.25);border-radius:16px;padding:12px 10px;text-align:center}
.stats b{display:block;font:700 1.5rem var(--display);color:#ffd23f}
.stats span{font-size:.75rem;color:#b9c6ba}
.gcard .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:relative;z-index:1}
.gcard .row img{height:48px;width:auto}
.gcard .btn.ghost{border-color:rgba(255,210,63,.35)}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.shots img{width:100%;aspect-ratio:600/1304;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:var(--ink2);transition:transform .25s}
.shots img:hover{transform:translateY(-6px)}
.shots .wide{grid-column:1 / -1;aspect-ratio:1304/600}
@media (max-width:900px){ .game{grid-template-columns:1fr} }
@media (max-width:520px){ .stats{grid-template-columns:repeat(2,1fr)} }

/* studio */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{background:var(--ink2);border:1px solid var(--line);border-radius:24px;padding:28px}
.pillar i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(198,244,50,.12);color:var(--lime);font-style:normal;margin-bottom:18px}
.pillar i svg{width:24px;height:24px}
.pillar h3{font-size:1.25rem;margin-bottom:8px}
.pillar p{color:var(--muted);margin:0;font-size:.97rem}
@media (max-width:860px){ .pillars{grid-template-columns:1fr} }

/* contact */
.contact{background:radial-gradient(500px 260px at 85% 0%,rgba(198,244,50,.12),transparent 70%),var(--ink2);border:1px solid var(--line);border-radius:32px;padding:56px 40px;text-align:center}
.contact h2{font-size:clamp(2rem,4.6vw,3.4rem);margin:12px 0 14px}
.contact p{color:var(--muted);margin:0 auto 30px;max-width:46ch}
.mail{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.mail code{font:600 clamp(1rem,3.4vw,1.4rem) var(--display);background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 18px;user-select:all}
.copied{display:block;min-height:1.4em;margin-top:12px;color:var(--lime);font-size:.9rem}

/* footer */
footer{border-top:1px solid var(--line);padding:48px 0 calc(40px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:.88rem}
footer .wrap{display:grid;grid-template-columns:1fr auto;gap:28px}
footer img{height:34px;width:auto;margin-bottom:14px}
footer .links{display:flex;flex-wrap:wrap;gap:22px;justify-content:flex-end;font:500 .92rem var(--display)}
footer .links a{text-decoration:none} footer .links a:hover{color:var(--cream)}
footer .legal{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:20px;line-height:1.7}
@media (max-width:640px){ footer .wrap{grid-template-columns:1fr} footer .links{justify-content:flex-start} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .float{animation:none} .btn,.shots img{transition:none} }

/* legal pages */
.doc{padding:72px 0 96px}
.doc .wrap{max-width:820px}
.doc h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:14px 0 10px}
.doc .updated{color:var(--muted);margin:0 0 40px;font-size:.95rem}
.doc h2{font-size:1.45rem;margin:44px 0 12px}
.doc p,.doc li{color:#d6d8de;max-width:68ch}
.doc ul{padding-left:1.2em}
.doc li{margin:6px 0}
.doc a{color:var(--lime)}
.doc .box{background:var(--ink2);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:22px 0}
.doc table{border-collapse:collapse;width:100%;font-size:.95rem}
.doc th,.doc td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.doc th{font:600 .8rem var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tablewrap{overflow-x:auto}

/* YouTube attribution (official "Developed with YouTube" badge, cropped to its lettering, unaltered) */
footer .yt{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;border-top:1px solid var(--line);padding-top:18px}
/* the badge file has wide empty margins: show its lettering (x 104-599, y 94-154 of 700 x 250) about 280px wide */
footer .ytbadge{display:block;width:300px;height:54px;overflow:hidden;flex:none;max-width:100%}
footer .ytbadge img{width:396px;height:auto;max-width:none;margin:-43px 0 0 -49px}
footer .yt span{font-size:.85rem}
footer .yt a{color:var(--cream)}
