:root {
  --black: #0a0a0a;
  --white: #f6f6f3;
  --paper: #ecece7;
  --muted: #8b8b86;
  --line-light: rgba(255,255,255,.18);
  --line-dark: rgba(0,0,0,.16);
  --max: 1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--black);font-family:Inter,"Noto Sans JP",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:50;left:0;right:0;top:0;height:76px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:white}
.brand{font-weight:700;letter-spacing:.14em;font-size:14px}
.nav{display:flex;gap:28px;font-size:11px;letter-spacing:.15em;font-weight:600}
.nav a{opacity:.72;transition:opacity .2s ease}.nav a:hover{opacity:1}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;padding:120px 28px 92px}
.hero-inner{width:min(920px,88vw);text-align:center}
.hero-logo{display:block;width:min(760px,90vw);height:auto;margin:0 auto 38px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.32em;margin:0 0 22px}
h1{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:clamp(31px,4vw,58px);letter-spacing:.06em;margin:0}
.hero-copy{max-width:590px;margin:25px auto 0;line-height:1.8;font-size:14px;color:#555}
.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:42px}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:146px;height:46px;padding:0 22px;border:1px solid var(--black);font-size:10px;font-weight:700;letter-spacing:.16em;transition:.2s ease}
.button-dark{background:var(--black);color:white}.button-dark:hover{background:#252525}.button-ghost:hover{background:var(--black);color:white}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.2em;color:#777}.scroll-cue span{display:block;width:46px;height:1px;background:#777}
.section-dark{background:var(--black);color:white}.section-light{background:var(--white);color:var(--black)}.section-neutral{background:var(--paper);color:var(--black)}
.section-wrap{width:min(var(--max),calc(100% - 84px));margin:0 auto;padding:132px 0}
.section-head{display:flex;align-items:baseline;gap:28px;border-bottom:1px solid var(--line-light);padding-bottom:24px;margin-bottom:58px}.section-head.dark-text{border-bottom-color:var(--line-dark)}
.section-index{margin:0;font-size:10px;letter-spacing:.2em;opacity:.55}.section-head h2{font-size:13px;letter-spacing:.23em;margin:0;font-weight:600}
.game-card{min-height:560px;border:1px solid var(--line-light);padding:34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(circle at 68% 35%,rgba(255,255,255,.055),transparent 32%),linear-gradient(135deg,#0c0c0c,#111)}
.game-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);pointer-events:none}
.game-meta,.game-footer{display:flex;justify-content:space-between;gap:24px;font-size:9px;letter-spacing:.18em;color:#8c8c8c;position:relative;z-index:1}.status{color:white}.game-title-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:48px}.game-title-wrap h3{font-size:clamp(64px,10vw,146px);line-height:.78;letter-spacing:-.07em;margin:0;font-weight:700}.game-title-wrap h3 span{font-weight:400;color:#646464}.game-copy{font-size:15px;line-height:1.8;color:#aaa;max-width:360px;margin:0 0 7px}
.about-grid,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}.about-lead,.contact-lead{font-size:clamp(34px,5vw,64px);line-height:1.12;letter-spacing:-.04em;margin:0}.about-copy,.contact-copy{align-self:end;font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2;color:#333}.about-copy p{margin:0 0 18px}.about-copy .en{font-family:Inter,sans-serif;color:#777;line-height:1.8;margin-top:30px}.contact-copy{color:#aaa;font-family:Inter,sans-serif}.contact-copy .small{margin-top:36px;font-size:10px;letter-spacing:.16em;color:#666}.contact-lead{color:white}
.news-row{display:grid;grid-template-columns:180px 1fr;padding:26px 0;border-bottom:1px solid var(--line-dark);font-size:13px}.news-row time{color:#777}.news-row p{margin:0}
.footer{height:96px;background:var(--black);color:#777;border-top:1px solid var(--line-light);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:9px;letter-spacing:.15em}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:760px){.site-header{height:64px;padding:0 18px}.nav{gap:14px}.nav a:nth-child(3),.nav a:nth-child(4){display:none}.hero{padding-left:18px;padding-right:18px}.hero-logo{margin-bottom:30px}.hero-copy{font-size:13px}.hero-actions{flex-direction:column;align-items:center}.button{width:190px}.section-wrap{width:calc(100% - 36px);padding:92px 0}.section-head{margin-bottom:36px}.game-card{min-height:500px;padding:22px}.game-title-wrap{grid-template-columns:1fr;gap:28px}.game-title-wrap h3{font-size:clamp(62px,20vw,104px)}.game-meta,.game-footer{font-size:8px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:52px}.about-copy,.contact-copy{font-size:14px}.news-row{grid-template-columns:1fr;gap:10px}.footer{padding:0 18px}.scroll-cue{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
