:root{--ink:#17191c;--navy:#071828;--paper:#fff;--blue:#1649d8;--max:1460px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Inter,"Pretendard Variable","Noto Sans KR",Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.skip{position:fixed;top:-70px;left:20px;background:#fff;padding:14px 18px;z-index:99}
.skip:focus{top:20px}
.header{height:100px;background:#fff;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}
.brand,.footer-brand{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:900;letter-spacing:.18em}
.brand img{width:215px}
.brand span,.footer-brand span{border-left:1px solid #bfc2c6;padding-left:13px}
.header nav{display:flex;align-items:center;gap:42px;font-size:15px;font-weight:900;letter-spacing:.025em}
.header nav a{position:relative;padding:12px 0}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--blue);transition:.3s}
.header nav a:hover:after{right:0}
.header nav a.current:after{right:0}
.language{display:flex;gap:3px;margin-left:4px;padding:3px;border:1px solid #d9dde2;border-radius:999px}
.language button{border:0;background:transparent;color:#858b94;font:800 11px/1 inherit;letter-spacing:.08em;padding:8px 9px;border-radius:999px;cursor:pointer}
.language button[aria-pressed="true"]{background:var(--navy);color:#fff}
.menu{display:none;background:none;border:0;width:44px;height:44px;position:relative;z-index:2}
.menu i{display:block;width:24px;height:2px;background:#111;margin:7px auto}
.hero{height:clamp(440px,46vw,560px);min-height:0;max-height:none;position:relative;overflow:hidden;background:#929baa}
.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.03);animation:heroKenBurns 12s ease-in-out infinite alternate;will-change:transform}
.apps-page .hero>img{object-position:center center}
@keyframes heroKenBurns{from{transform:scale(1.03)}to{transform:scale(1.12)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,25,.62),transparent 58%),linear-gradient(0deg,rgba(4,13,25,.22),transparent 50%)}
.hero-overlay{position:absolute;left:max(28px,calc((100vw - var(--max))/2));bottom:clamp(30px,5vh,56px);z-index:2;color:#fff}
.hero-overlay p{font-size:12px;letter-spacing:.22em;font-weight:900;margin:0 0 16px}
.hero-overlay h1{font-size:clamp(52px,5.7vw,96px);line-height:.84;letter-spacing:-.065em;margin:0}
html:lang(ko) .hero-overlay h1,html:lang(ja) .hero-overlay h1{line-height:1.04;letter-spacing:-.055em}
.hero-overlay a{display:inline-flex;align-items:center;gap:48px;margin-top:24px;border-bottom:1px solid rgba(255,255,255,.7);padding:12px 0;font-size:12px;font-weight:900;letter-spacing:.1em}
.games{background:#fff;color:var(--ink);padding:68px clamp(28px,3vw,58px) 120px}
.games-head{text-align:center;margin-bottom:72px}
.games-head>p{font-size:12px;letter-spacing:.2em;font-weight:900;color:#7d8490;margin:0 0 16px}
.games-head h2{font-size:clamp(54px,5.2vw,88px);letter-spacing:-.055em;margin:0}
.games-head>span{display:block;color:#6f7680;font-size:15px;margin-top:20px}
.game-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:72px}
.game-entry{min-width:0}
.game-card{position:relative;min-width:0;aspect-ratio:1/1;border-radius:46px;overflow:hidden;background:#eef0f2;box-shadow:0 18px 45px rgba(7,24,40,.12)}
.game-title{height:68px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;position:absolute;z-index:4;top:0;left:13%;right:13%;border-radius:0 0 34px 34px;box-shadow:0 8px 24px rgba(7,24,40,.06)}
.game-title h3{font-size:23px;margin:0;letter-spacing:-.02em}
.game-image{position:absolute;inset:0;overflow:hidden}
.game-image>img:first-child{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.game-card:hover .game-image>img:first-child{transform:scale(1.035)}
.game-image.image-cover>img:first-child{object-position:center}
.game-image.yellow{background:#ecf429}
.game-image.peach{background:#ff8b67}
.game-image.purple{background:#9275ce}
.app-icon{display:none}
.download-links{position:absolute;z-index:5;left:10px;right:10px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px}
.download-links.single{justify-content:center}
.download-links a{display:flex;align-items:center;justify-content:center;flex:0 1 210px;aspect-ratio:3.36;filter:drop-shadow(0 8px 15px rgba(0,0,0,.2));transition:transform .2s}
.download-links a:hover{transform:translateY(-2px)}
.download-links img{display:block;width:100%;height:100%;max-width:none;object-fit:fill}
.download-links .steam-link{box-sizing:border-box;flex-direction:column;gap:0;padding:7px 22px 8px;border:1px solid rgba(255,255,255,.38);border-radius:9px;background:#171a21;color:#fff;text-decoration:none}
.download-links .steam-link span{font-size:9px;font-weight:700;line-height:1;letter-spacing:.12em;opacity:.82}
.download-links .steam-link img{width:92px;height:26px;max-width:100%;object-fit:contain}
.game-image[href]:focus-visible{outline:4px solid #fff;outline-offset:-8px}
.game-info{display:flex;align-items:center;gap:15px;min-height:66px;margin-top:18px;padding:0 8px}
.game-info>img{width:58px;height:58px;flex:0 0 58px;border-radius:15px;object-fit:cover;box-shadow:0 7px 20px rgba(7,24,40,.14)}
.game-info h3{margin:0;font-size:21px;line-height:1.25;letter-spacing:-.025em}
.game-info p{margin:6px 0 0;color:#6f7680;font-size:15px;line-height:1.45;letter-spacing:-.015em}
.support{padding:90px max(28px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:end;background:#f4f5f6}
.support p{font-size:11px;letter-spacing:.18em;font-weight:900;margin:0 0 18px}
.support h2{font-size:clamp(40px,4vw,68px);letter-spacing:-.05em;margin:0}
.support>a{font-size:20px;font-weight:800;border-bottom:2px solid #222;padding-bottom:10px}
.support>a span{margin-left:45px}
footer{background:var(--navy);color:#96a2af;padding:50px max(28px,calc((100vw - var(--max))/2)) 32px;display:flex;align-items:center;justify-content:space-between}
.footer-brand img{width:190px}
footer p{font-size:12px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none;transform:scale(1.03)}}
@media(max-width:1100px){
  .header nav{gap:24px}
  .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .download-links a{flex-basis:196px}
}
@media(max-width:700px){
  .header{height:80px;padding:0 18px}
  .brand img{width:165px}
  .brand span{display:none}
  .header nav{position:fixed;inset:0;background:#fff;flex-direction:column;justify-content:center;align-items:center;font-size:23px;opacity:0;pointer-events:none;transition:.3s}
  .header nav.open{opacity:1;pointer-events:auto}
  .language{margin:12px 0 0}
  .language button{font-size:12px;padding:10px 13px}
  .menu{display:block}
  .hero{height:43svh;min-height:330px;max-height:400px}
  .hero>img{object-position:60% center}
  .apps-page .hero>img{object-position:56% center}
  .hero-overlay{left:18px;right:18px;bottom:26px}
  .hero-overlay h1{font-size:13vw}
  .hero-overlay p{font-size:10px}
  .games{padding:56px 18px 90px}
  .games-head{margin-bottom:52px}
  .games-head h2{font-size:clamp(40px,12.5vw,54px);white-space:nowrap}
  .game-grid{grid-template-columns:1fr;gap:32px}
  .game-card{border-radius:36px}
  .game-title{height:58px;left:12%;right:12%;border-radius:0 0 28px 28px}
  .game-title h3{font-size:20px}
  .download-links{left:6px;right:6px;bottom:12px;gap:5px}
  .download-links a{flex-basis:176px}
  .game-info{margin-top:15px;padding:0 5px}
  .game-info>img{width:52px;height:52px;flex-basis:52px;border-radius:13px}
  .game-info h3{font-size:19px}
  .game-info p{font-size:14px;margin-top:5px}
  .support{padding:70px 18px;align-items:flex-start;flex-direction:column;gap:40px}
  .support>a{font-size:16px}
  footer{padding:40px 18px 28px;align-items:flex-start;flex-direction:column;gap:28px}
}
