:root{--bg:#f4f2ed;--ink:#111;--muted:#77736b;--line:#d8d4cc;--lime:#d8ff3e;--dark:#10110f;--display:'Space Grotesk',sans-serif;--body:Inter,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,242,237,.92);backdrop-filter:blur(14px);z-index:20}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font:700 15px var(--display);letter-spacing:.08em}.logo-image{width:42px;height:42px;display:block;border-radius:11px;overflow:hidden}.logo > svg{width:42px;height:42px;display:block;border-radius:11px;overflow:hidden}.logo-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:var(--bg);font:700 14px var(--display)}nav{display:flex;gap:34px}nav a,.nav-cta{color:inherit;text-decoration:none;font:500 12px var(--mono);text-transform:uppercase}.nav-cta{border:1px solid var(--ink);padding:11px 15px}.nav-cta span{margin-left:9px}.hero{min-height:calc(100vh - 78px);padding:7vw 5vw 28px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:2;width:54%;max-width:720px}.eyebrow{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px}.hero h1{font:600 clamp(64px,9.7vw,150px);line-height:.83;letter-spacing:-.075em;margin:0}.hero h1 em,.contact em,.careers em,.games em,.team em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--ink)}.hero-sub{font-size:17px;line-height:1.6;max-width:420px;color:#555;margin:38px 0 28px}.button{display:inline-flex;gap:35px;align-items:center;background:var(--ink);color:#fff;text-decoration:none;padding:16px 18px;font:500 11px var(--mono);letter-spacing:.04em}.button span{font-size:16px}.hero-art{position:absolute;right:-4vw;top:4%;width:53vw;height:86%;overflow:hidden;background:#191a17}.grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;transform:perspective(500px) rotateY(-12deg) rotateX(5deg) scale(1.15);opacity:.7}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-a{width:45%;aspect-ratio:1;background:var(--lime);left:24%;top:25%;box-shadow:0 0 120px rgba(216,255,62,.22)}.orb-b{width:24%;aspect-ratio:1;border:1px solid rgba(255,255,255,.4);left:12%;top:14%}.orb-c{width:70%;aspect-ratio:1;border:1px solid rgba(255,255,255,.18);right:-24%;bottom:-24%}.hero-cross{position:absolute;color:#fff;font:100px var(--display);right:8%;top:7%;font-weight:300}.hero-bottom{position:absolute;bottom:27px;left:5vw;right:5vw;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.12em}.section{display:grid;grid-template-columns:18% 82%;padding:120px 5vw;border-bottom:1px solid var(--line)}.section-label{font:500 10px var(--mono);letter-spacing:.12em;color:#858077}.about-content,.games-content,.direction-content,.team-content{max-width:1000px}.about h2,.direction h2,.team h2{font:600 clamp(50px,6.3vw,100px) var(--display);line-height:.92;letter-spacing:-.06em;margin:0}.about h2 span,.direction h2 span{color:#858078}.intro{font-size:19px;line-height:1.6;color:#555;max-width:650px;margin:36px 0}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:80px}.about-points b,.direction-grid span{font:11px var(--mono);color:#999}.about-points h3{font:600 22px var(--display);margin:18px 0 9px}.about-points p,.direction-grid p{font-size:14px;line-height:1.65;color:#666;margin:0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-head h2{font:600 clamp(55px,7vw,105px) var(--display);line-height:.88;letter-spacing:-.065em;margin:0}.section-head>p{width:280px;color:#777;line-height:1.6;font-size:14px}.game-card{display:grid;grid-template-columns:1.35fr 1fr;background:#fff}.game-art{height:480px;background:#181a17;position:relative;overflow:hidden}.coming{position:absolute;top:24px;left:24px;color:#fff;font:10px var(--mono);z-index:2}.art-word{position:absolute;right:20px;bottom:-25px;color:var(--lime);font:300 220px var(--display);letter-spacing:-.12em}.art-shape{width:270px;height:270px;border-radius:50%;background:var(--lime);position:absolute;left:25%;top:22%;box-shadow:0 0 100px rgba(216,255,62,.15)}.game-info{padding:60px;display:flex;flex-direction:column;justify-content:flex-end}.tag{font:10px var(--mono);letter-spacing:.12em;color:#8a867e}.game-info h3{font:600 44px var(--display);letter-spacing:-.04em;margin:15px 0}.game-info p{color:#777;line-height:1.6;max-width:340px}.game-info a{color:var(--ink);margin-top:28px;font:500 11px var(--mono);text-decoration:none}.direction{background:#e8e5de}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:80px}.direction-grid strong{display:block;font:600 24px var(--display);margin:18px 0 8px}.team-list{border-top:1px solid var(--line);margin-top:60px}.team-list div{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.team-list span{font:10px var(--mono);color:#777;text-transform:uppercase}.team-list strong{font:600 22px var(--display)}.careers{background:var(--dark);color:#f5f3ee;padding:130px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.careers h2{font:600 clamp(60px,7vw,110px) var(--display);line-height:.86;letter-spacing:-.065em;margin:0}.career-copy{align-self:end}.career-copy p{font-size:18px;line-height:1.65;color:#aaa;max-width:440px;margin:0 0 35px}.button.light{background:var(--lime);color:var(--ink)}.contact{text-align:center;padding:150px 5vw 135px}.contact h2{font:600 clamp(70px,10vw,150px) var(--display);line-height:.82;letter-spacing:-.075em;margin:0 0 55px}.contact-details{display:flex;flex-direction:column;align-items:center;gap:13px}.email{display:inline-block;color:var(--ink);font:500 14px var(--mono);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:8px}.email span{margin-left:20px}.contact-line{color:#666;font:500 12px var(--mono);text-decoration:none;letter-spacing:.02em}footer{border-top:1px solid var(--line);padding:28px 5vw;display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);letter-spacing:.1em;color:#777}footer .logo{color:var(--ink)} footer .logo > svg{width:42px;height:42px}@media(max-width:800px){nav{display:none}.nav{padding:0 6vw}.hero{min-height:760px;padding:55px 6vw}.hero-copy{width:100%;align-self:flex-start;margin-top:60px}.hero-art{right:-30%;top:36%;width:125%;height:55%;opacity:.85}.hero h1{font-size:clamp(65px,19vw,110px)}.hero-sub{font-size:15px}.section{display:block;padding:85px 6vw}.section-label{margin-bottom:45px}.about-points,.direction-grid{grid-template-columns:1fr;gap:35px;margin-top:55px}.section-head{display:block}.section-head>p{width:auto;margin-top:30px}.game-card{grid-template-columns:1fr}.game-art{height:330px}.game-info{padding:38px}.team-list div{display:block}.team-list strong{display:block;margin-top:9px}.careers{grid-template-columns:1fr;padding:90px 8vw;gap:60px}.contact{padding:100px 6vw}.contact h2{font-size:20vw}footer{padding:25px 6vw;gap:15px;flex-wrap:wrap}footer span:nth-child(2){display:none}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}


/* Mobile polish */
.menu-toggle,.mobile-menu{display:none}
@media(max-width:800px){
  html{font-size:16px}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%}
  .nav{height:68px;padding:0 18px;position:sticky}
  .nav .logo{font-size:13px;gap:8px}
  .nav .logo>svg,.nav .logo-image{width:36px;height:36px}
  .nav-cta{display:none}
  .menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:0;cursor:pointer}
  .menu-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
  .nav.menu-open .menu-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .nav.menu-open .menu-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .mobile-menu{position:absolute;display:flex;visibility:hidden;opacity:0;pointer-events:none;left:0;right:0;top:68px;background:rgba(244,242,237,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:12px 18px 18px;flex-direction:column;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;box-shadow:0 12px 30px rgba(0,0,0,.06)}
  .nav.menu-open .mobile-menu{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .mobile-menu a{padding:15px 2px;color:var(--ink);text-decoration:none;font:500 12px var(--mono);text-transform:uppercase;border-bottom:1px solid var(--line)}
  .mobile-menu a:last-child{border-bottom:0}

  .hero{min-height:calc(100svh - 68px);height:auto;padding:42px 18px 78px;display:block;position:relative}
  .hero-copy{width:100%;max-width:none;margin:0;padding:0 0 44svh;z-index:2}
  .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:18px}
  .hero h1{font-size:clamp(56px,17.5vw,82px);line-height:.88;letter-spacing:-.07em;max-width:100%}
  .hero-sub{font-size:15px;line-height:1.55;max-width:300px;margin:24px 0 22px}
  .button{min-height:50px;padding:14px 15px;gap:20px;font-size:10px;max-width:100%;white-space:nowrap}
  .hero-art{right:-18%;top:auto;bottom:52px;width:125%;height:39%;min-height:260px;max-height:340px;opacity:.9;border-radius:0}
  .grid{background-size:30px 30px;transform:perspective(420px) rotateY(-8deg) rotateX(4deg) scale(1.1)}
  .orb-a{width:48%;left:23%;top:25%}
  .orb-b{width:30%;left:8%;top:12%}
  .orb-c{width:85%;right:-30%;bottom:-30%}
  .hero-cross{font-size:70px;right:9%;top:6%}
  .hero-bottom{left:18px;right:18px;bottom:18px;font-size:8px;letter-spacing:.08em}
  .hero-bottom span:last-child{display:none}

  .section{display:block;padding:72px 18px}
  .section-label{font-size:9px;margin-bottom:32px}
  .about-content,.games-content,.direction-content,.team-content{max-width:none}
  .about h2,.direction h2,.team h2{font-size:clamp(43px,13vw,64px);line-height:.94;letter-spacing:-.055em}
  .intro{font-size:16px;line-height:1.6;margin:26px 0}
  .about-points,.direction-grid{grid-template-columns:1fr;gap:30px;margin-top:48px}
  .about-points h3{font-size:20px;margin:13px 0 7px}
  .about-points p,.direction-grid p{font-size:14px;line-height:1.6}

  .section-head{margin-bottom:38px}
  .section-head h2{font-size:clamp(48px,14vw,68px);line-height:.9}
  .section-head>p{font-size:14px;line-height:1.6;margin-top:24px}
  .game-card{grid-template-columns:1fr;border-radius:0}
  .game-art{height:min(78vw,330px);min-height:245px}
  .coming{top:18px;left:18px;font-size:9px}
  .art-word{font-size:145px;bottom:-20px}
  .art-shape{width:54vw;height:54vw;max-width:220px;max-height:220px;left:23%;top:20%}
  .game-info{padding:30px 22px 34px}
  .game-info h3{font-size:34px;margin:12px 0 8px}
  .game-info p{font-size:14px;line-height:1.6}
  .game-info a{margin-top:22px}

  .direction{padding-bottom:78px}
  .direction-grid strong{font-size:21px;margin:13px 0 7px}
  .team-list{margin-top:42px}
  .team-list div{padding:18px 0}
  .team-list span{font-size:8px;line-height:1.5}
  .team-list strong{font-size:20px;margin-top:7px}

  .careers{grid-template-columns:1fr;padding:78px 18px;gap:42px}
  .careers h2{font-size:clamp(50px,15vw,72px);line-height:.9}
  .career-copy p{font-size:16px;line-height:1.6;margin-bottom:26px}
  .contact{padding:82px 18px 78px}
  .contact h2{font-size:clamp(50px,16vw,76px);line-height:.88;margin-bottom:38px}
  .email{font-size:11px;max-width:100%;overflow-wrap:anywhere}
  .email span{margin-left:10px}
  .contact-line{font-size:10px}
  footer{padding:22px 18px;display:grid;grid-template-columns:1fr auto;gap:16px;font-size:8px;line-height:1.5}
  footer .logo{font-size:12px;grid-column:1/-1}
  footer .logo>svg{width:36px;height:36px}
  footer span:last-child{justify-self:end}
}
@media(max-width:380px){
  .hero{padding-left:16px;padding-right:16px}
  .section,.contact{padding-left:16px;padding-right:16px}
  .hero h1{font-size:55px}
  .button{font-size:9px;gap:14px}
  .hero-art{right:-25%;width:135%}
  .mobile-menu{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}}
