/* ==========================================================================
   LN STUDIO — Design System
   White base. Palette sampled from the logo: ink #212121 on white, star #b86449.
   One studio voice: a bold gothic (Archivo Black Expanded + Noto Sans JP Black)
   for headlines, a plain sans for interface text. Each game keeps its own world
   and its own star colour. The logo is only ever shown as the supplied image.
   Each selector is defined once, grouped by component; responsive and
   reduced-motion overrides are collected at the end of the file.
   ========================================================================== */
:root{--bg:#fdfdfd;--bg-2:#f5f0e8;--bg-3:#ebe4d8;--fg:#171412;--dim:rgba(23,20,18,.72);--mute:rgba(23,20,18,.6);--line:rgba(23,20,18,.13);--star:#b86449;--accent:#964a31;--on-accent:#fff;/* Excuse Me, King! */
  --k-0:#2a1a5e;--k-1:#3a1b8c;--k-2:#5a2dbf;--k-3:#7b3ff2;--k-ink:#2a1a5e;--k-tint:#f4f0fc;--k-gold:#ffd23d;--k-gold-d:#d9a400;--k-mint:#36d98a;--k-mint-d:#1fa86a;--k-cyan:#27d3c4;--k-pink:#ff5da2;--k-red:#ff5b5b;--k-blue:#4da3ff;--f-maru:"Zen Maru Gothic","Noto Sans JP",system-ui,sans-serif;/* Roomies */
  --r-yellow:#ffd34d;--r-tint:#fff5cf;--r-ink:#1a1612;--r-coral:#ff5a3c;--r-tv:#2b2d4a;--f-display:"Archivo","Noto Sans JP",system-ui,sans-serif;--f-mincho:"Noto Sans JP",system-ui,sans-serif;--f-sans:"Archivo","Noto Sans JP",system-ui,sans-serif;--f-jp:"Noto Sans JP",system-ui,sans-serif;--f-game:"Dela Gothic One","Archivo","Noto Sans JP",sans-serif;--gutter:clamp(20px,5vw,80px);--max:1360px;--header-h:88px;--sheet:clamp(22px,3vw,44px);--gap:clamp(12px,1.5vw,20px);--pad:clamp(64px,7.6vw,112px);--ease:cubic-bezier(.22,.8,.22,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.76,0,.24,1);--spring:cubic-bezier(.34,1.56,.64,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-jp);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;line-break:strict;overflow-wrap:break-word}
html[data-lang="en"] body{font-family:var(--f-sans);line-height:1.65}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--star);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.inverse :focus-visible,.portal :focus-visible,.g-hero.emk :focus-visible,.band.emk :focus-visible,.nf :focus-visible{outline-color:var(--k-gold)}
.room :focus-visible,.g-hero.rm :focus-visible{outline-color:var(--fg)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:10px;font-weight:700;transition:top .3s}
.skip:focus{top:16px}

/* Language: every bilingual node carries .ja or .en */
html[data-lang="en"] .ja{display:none!important}
html:not([data-lang="en"]) .en{display:none!important}
.ja{word-break:auto-phrase}
.ib{display:inline-block}

/* ---------- Primitives ---------- */
.wrap{width:min(100% - var(--gutter)*2,var(--max));margin-inline:auto}
.i-star{width:1em;height:1em;fill:currentColor;flex:none}
.sec{position:relative;padding:var(--pad) 0}
.sheet{border-radius:var(--sheet) var(--sheet) 0 0;margin-top:calc(var(--sheet)*-1);z-index:1}
.tint{background:var(--bg-2)}

/* The logo is always the supplied image, unmodified. The page white matches its ground,
   so it sits flush on white and becomes a rounded tile on tinted or coloured surfaces. */
.logo{display:block;background:#fdfdfd;border-radius:18%}
.label{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);line-height:1.4}
.label b{font-weight:700;color:var(--accent)}
.label .i-star{font-size:10px;color:var(--star)}
.label .ja{font-family:var(--f-jp);font-size:12.5px;letter-spacing:.1em}

/* Display type: the single studio voice */
.display{font-family:var(--f-display);text-wrap:balance;font-variant-numeric:lining-nums;line-height:1.02;font-weight:800;font-stretch:110%;letter-spacing:-.022em;word-spacing:.06em}
.display em{font-style:normal;font-weight:900;color:var(--star)}
.display .ja,.display.ja{font-family:var(--f-jp);font-stretch:100%;letter-spacing:-.01em;line-height:1.2;font-feature-settings:"palt";font-weight:900;word-spacing:0}
.display .ja em,.display.ja em{font-style:normal;font-weight:900}
.t-xl{font-size:clamp(40px,6.5vw,108px)}
.t-xl .ja,.t-xl.ja{font-size:.9em}
.t-l{font-size:clamp(32px,4.8vw,76px)}
.t-l .ja,.t-l.ja{font-size:.9em}
.t-m{font-size:clamp(24px,2.7vw,40px)}
.t-m .ja,.t-m.ja{font-size:.94em}
.hang{text-indent:-.1em}
.hang .ib{text-indent:0}
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1.4vw,18px);margin-bottom:clamp(32px,4.4vw,60px)}
.sec-head.split{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
p{text-wrap:pretty}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border-radius:999px;border:1px solid rgba(23,20,18,.22);font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease),background-color .45s var(--ease)}
.btn .ja{font-family:var(--f-jp);font-size:14px;letter-spacing:.08em}
.btn::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--accent);transform:translateY(102%);transition:transform .55s var(--ease-out);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{border-color:var(--accent);color:var(--on-accent)}
.btn .arr{display:inline-block;transition:transform .45s var(--ease)}
.btn:hover .arr{transform:translate(3px,-3px)}
.btn:hover .arr.down{transform:translateY(4px)}
.btn-fill{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-fill::before{background:var(--star)}
.btn-fill:hover,.btn-fill:focus-visible{border-color:var(--star);color:var(--fg)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 7px)/100% 1px no-repeat;transition:background-size .5s var(--ease-out)}
.link-arrow .ja{font-family:var(--f-jp);font-size:14px;letter-spacing:.06em}
.link-arrow:hover{background-size:0 1px;background-position:100% calc(100% - 7px)}
.link-arrow .arr{transition:transform .45s var(--ease)}
.link-arrow:hover .arr{transform:translate(3px,-3px)}
.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.06em}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.7}

/* Game-style chunky buttons (mirror the in-game UI) */
.btn-game{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:14px;white-space:nowrap;background:var(--k-gold);color:var(--k-ink);box-shadow:0 6px 0 var(--k-gold-d),0 14px 24px -8px rgba(0,0,0,.45);transition:transform .16s var(--ease),box-shadow .16s var(--ease),filter .2s;font-family:var(--f-jp);font-weight:900;font-size:16.5px;letter-spacing:.03em;font-feature-settings:"palt"}
.btn-game:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--k-gold-d),0 10px 18px -8px rgba(0,0,0,.45);filter:brightness(1.05)}
.btn-game:active{transform:translateY(6px);box-shadow:0 0 0 var(--k-gold-d),0 4px 10px -6px rgba(0,0,0,.45)}
.btn-game.mint{background:var(--k-mint);box-shadow:0 6px 0 var(--k-mint-d),0 14px 24px -8px rgba(0,0,0,.45)}
.btn-game.mint:hover{box-shadow:0 4px 0 var(--k-mint-d),0 10px 18px -8px rgba(0,0,0,.45)}

/* ---------- Reveal system (only when JS is running) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}
.js [data-reveal="scale"]{transform:scale(.95)}
.js [data-reveal="fade"]{transform:none}
.js [data-reveal].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.08s!important}
[data-d="2"]{transition-delay:.16s!important}
[data-d="3"]{transition-delay:.24s!important}
[data-d="4"]{transition-delay:.32s!important}
.lines .line{display:block;overflow:hidden;padding:.22em .14em .22em .5em;margin:-.22em -.14em -.22em -.5em}
.lines .line>span{display:block}
.js .lines .line>span{transform:translateY(125%);transition:transform 1.15s var(--ease-out)}
.js .lines.in .line>span{transform:none}
.js .lines.in .line:nth-child(2)>span{transition-delay:.07s}
.js .lines.in .line:nth-child(3)>span{transition-delay:.14s}
.js .lines.in .line:nth-child(4)>span{transition-delay:.21s}
.js .lines.in .line:nth-child(5)>span{transition-delay:.28s}
.js .lines.in .line:nth-child(6)>span{transition-delay:.35s}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 max(var(--gutter),calc((100vw - var(--max))/2));color:var(--fg);transition:transform .55s var(--ease),color .35s,opacity .25s linear}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:#fdfdfd;border-bottom:1px solid var(--line);opacity:0;transition:opacity .18s linear}
.site-header.is-solid::before{opacity:1}
.site-header.is-hidden{transform:translateY(-101%)}
.site-header.inverse{color:#fff}
.site-header.inverse::before{background:#2f1989;border-bottom-color:rgba(255,255,255,.16)}
.brand{display:block;width:68px;height:68px;transition:transform .6s var(--spring)}
.brand:hover{transform:rotate(-4deg) scale(1.05)}
.brand img{width:100%;height:100%}
.site-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:clamp(22px,3vw,44px)}
.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.78;transition:opacity .3s}
.site-nav a .ja{font-family:var(--f-jp);font-size:14px;letter-spacing:.08em}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1.5px;background:var(--star);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.site-nav a:hover,.site-nav a[aria-current]{opacity:1}
.site-nav a:hover::after,.site-nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.inverse .site-nav a::after{background:var(--k-gold)}
.header-tools{display:flex;align-items:center;gap:12px}
.lang-toggle{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);font-family:var(--f-sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;transition:border-color .3s}
.lang-toggle:hover{border-color:color-mix(in srgb,currentColor 60%,transparent)}
.lang-toggle span{position:relative;opacity:.6;transition:opacity .3s}
.lang-toggle span::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transition:transform .3s var(--ease)}
.lang-toggle i{font-style:normal;opacity:.4}
html:not([data-lang="en"]) .lang-toggle [data-l="ja"],html[data-lang="en"] .lang-toggle [data-l="en"]{opacity:1}
html:not([data-lang="en"]) .lang-toggle [data-l="ja"]::after,html[data-lang="en"] .lang-toggle [data-l="en"]::after{transform:none}
.menu-toggle{display:none;position:relative;width:46px;height:46px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 24%,transparent)}
.menu-toggle span{position:absolute;left:14px;width:18px;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-toggle span:first-child{top:18px}
.menu-toggle span:last-child{top:26px}
.menu-open .menu-toggle span:first-child{top:22px;transform:rotate(45deg)}
.menu-open .menu-toggle span:last-child{top:22px;transform:rotate(-45deg)}
.menu-open .site-header{color:var(--fg)!important;transform:none!important}
.menu-open .site-header::before{opacity:0!important}
.menu-overlay{position:fixed;inset:0;z-index:90;background:var(--bg-2);color:var(--fg);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 28px) var(--gutter) 32px;clip-path:circle(0 at calc(100% - var(--gutter) - 23px) calc(var(--header-h)/2));visibility:hidden;transition:clip-path .75s var(--ease-io),visibility 0s .75s}
.menu-open .menu-overlay{clip-path:circle(150vmax at calc(100% - var(--gutter) - 23px) calc(var(--header-h)/2));visibility:visible;transition:clip-path .9s var(--ease-io),visibility 0s}
.menu-open{overflow:hidden}
.menu-links{display:flex;flex-direction:column}
.menu-links a{display:flex;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:clamp(36px,10.5vw,64px);line-height:1.2;opacity:0;transform:translateY(30px);transition:transform .8s var(--ease-out),opacity .6s}
.menu-links a small{margin-left:auto;font-family:var(--f-jp);font-weight:500;font-size:13px;letter-spacing:.08em;color:var(--dim)}
.menu-open .menu-links a{opacity:1;transform:none}
.menu-open .menu-links a:nth-child(1){transition-delay:.28s}
.menu-open .menu-links a:nth-child(2){transition-delay:.34s}
.menu-open .menu-links a:nth-child(3){transition-delay:.4s}
.menu-open .menu-links a:nth-child(4){transition-delay:.46s}
.menu-open .menu-links a:nth-child(5){transition-delay:.52s}
.menu-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);opacity:0;transition:opacity .6s .6s}
.menu-open .menu-foot{opacity:1}
.menu-foot div{display:flex;gap:22px}
.menu-foot a{color:var(--fg);display:inline-flex;align-items:center;min-height:44px}

/* ---------- Veil: star-iris page transition & first-visit logo intro ---------- */
.veil{position:fixed;inset:0;z-index:200;pointer-events:none;visibility:hidden}
.veil i{position:absolute;inset:0;display:block}
.veil .v-white{background:#fdfdfd}
.veil .v-star{background:var(--star)}
.veil .v-logo{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;opacity:0}
.is-leaving .veil{visibility:visible;pointer-events:auto}
.is-leaving .veil .v-white,.is-leaving .veil .v-logo{display:none}
.is-leaving .veil .v-star,.is-first .veil .v-star{clip-path:polygon(0 0,0 0,0 0)}
.is-entering .veil{visibility:visible;animation:veil-failsafe 0s linear 4.5s forwards}
.is-entering:not(.is-first) .veil .v-white,.is-entering:not(.is-first) .veil .v-logo{display:none}
.is-first .veil .v-logo{animation:logo-in .55s var(--ease-out) .05s both}
@keyframes logo-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes veil-failsafe{to{visibility:hidden}}

/* ---------- Home intro: studio statement + star portal + main-title stage ---------- */
.intro{position:relative;--px:73%;--py:45%;--pr:min(31vh,21.5vw)}
.intro-pin{position:relative;overflow:hidden;isolation:isolate}
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-bg::before{content:"";position:absolute;inset:0;background:
  radial-gradient(46vmax 46vmax at -4% 108%,rgba(184,100,73,.16),transparent 62%),
  radial-gradient(48vmax 48vmax at var(--px) var(--py),rgba(122,77,240,.2),transparent 66%),
  radial-gradient(60vmax 44vmax at 100% 112%,rgba(255,205,60,.2),transparent 60%)}
.spark{position:absolute;color:var(--star);opacity:.5;animation:twinkle 4.5s ease-in-out infinite}
.spark svg{width:100%;height:100%;fill:currentColor}
.spark.s{color:var(--k-3)}
@keyframes twinkle{0%,100%{opacity:.12;transform:scale(.6) rotate(0)}50%{opacity:.85;transform:scale(1) rotate(45deg)}}
.hero-inner{flex:1;display:flex;align-items:center;padding-top:calc(var(--header-h) + 8px);padding-bottom:clamp(24px,5vh,56px);will-change:transform,opacity;position:relative}
.hero-copy{width:min(100%,52%);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2.6vh,28px)}
.hero-copy h1{font-size:clamp(40px,min(6vw,12vh),100px)}
.hero-copy h1 .ja{font-size:.9em}
.hero-copy h1 .en{font-size:.68em}
.hero-sub{max-width:30em;font-size:clamp(15px,1.25vw,18px);color:var(--dim)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.portal{position:relative;background:var(--k-1);color:#fff;isolation:isolate;overflow:hidden}
.world{position:absolute;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(90% 70% at 50% 0%,var(--k-3),transparent 70%),
  linear-gradient(170deg,var(--k-2),var(--k-1) 55%,var(--k-0))}
.bubble{position:absolute;border-radius:50%;aspect-ratio:1;will-change:transform;animation:float 14s ease-in-out infinite alternate;transition:transform .5s var(--spring),opacity .4s}
.bubble.pop{transform:scale(1.5)!important;opacity:0!important;transition:transform .35s var(--ease-out),opacity .35s}
.bubble.gone{transform:scale(0)!important;opacity:0!important;transition:none}
@keyframes float{from{translate:0 0}to{translate:var(--fx,2vw) var(--fy,-3vh)}}
.b1{width:26vmax;left:-4%;top:-8%;background:rgba(190,60,210,.5);--fx:3vw;--fy:4vh}
.b2{width:13vmax;right:8%;top:6%;background:rgba(190,150,255,.38);--fx:-2vw;--fy:3vh;animation-duration:11s}
.b3{width:22vmax;right:-5%;bottom:-12%;background:rgba(70,110,230,.5);--fx:-3vw;--fy:-4vh;animation-duration:17s}
.b4{width:10vmax;left:10%;bottom:4%;background:rgba(60,90,200,.5);--fx:2vw;--fy:-3vh;animation-duration:12s}
.b5{width:7vmax;left:40%;bottom:-4%;background:rgba(255,130,225,.34);--fx:-2vw;--fy:-2vh;animation-duration:9s}
.b6{width:5vmax;left:56%;top:12%;background:rgba(150,170,255,.4);--fx:1vw;--fy:3vh;animation-duration:10s}
.crown{display:block;color:var(--k-gold);filter:drop-shadow(0 .5em .7em rgba(0,0,0,.3))}
.crown svg{width:100%;height:auto;fill:currentColor}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8%) rotate(4deg)}}
.stage{position:relative;padding:calc(var(--header-h) + 32px) 0 clamp(64px,8vw,104px)}
.stage-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,5vw,88px);align-items:center}
.stage-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,2.1vh,22px)}
.chip{display:inline-flex;align-items:center;gap:9px;min-height:32px;padding:0 14px;border-radius:999px;font-family:var(--f-sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border:1px solid currentColor;line-height:1}
.chip>.ja{font-family:var(--f-jp);font-size:12.5px;letter-spacing:.08em}
.chip.gold{color:var(--k-gold);background:rgba(255,205,60,.12);border-color:rgba(255,205,60,.5)}
.chip.dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
.game-title{font-family:var(--f-game);font-weight:400;font-size:clamp(34px,min(5.3vw,10.5vh),92px);line-height:1.08;letter-spacing:-.005em;color:var(--k-gold);text-shadow:0 .04em 0 rgba(26,12,84,.9);white-space:nowrap}
.game-title em{font-style:normal}
.emk-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(4px,1vh,10px)}
.emk-lockup .crown{width:clamp(52px,5.4vw,88px);margin-left:.1em}
.emk-lockup.center{align-items:center;text-align:center}
.emk-lockup.center .crown{margin:0}
.game-title .en{letter-spacing:-.02em;line-height:.98;white-space:normal;text-wrap:balance}
.game-alt{font-family:var(--f-game);font-size:clamp(17px,1.9vw,26px);color:rgba(255,255,255,.9);letter-spacing:.02em;line-height:1.3}
.stage-desc{max-width:32em;font-size:clamp(15px,1.2vw,17.5px);line-height:1.85;color:rgba(255,255,255,.94)}
.facts-row{display:flex;flex-wrap:wrap;gap:8px}
.facts-row li{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border-radius:999px;background:rgba(20,10,60,.42);font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.92);white-space:nowrap}
.stage .actions{align-items:center;gap:12px 18px}
.stage-media{position:relative}
.shot{position:relative;display:block;border-radius:clamp(12px,1.4vw,20px);overflow:hidden;background:var(--k-0);box-shadow:0 0 0 clamp(5px,.6vw,9px) rgba(20,10,60,.55),0 40px 80px -24px rgba(10,4,40,.8);transition:transform .9s var(--ease-out)}
.shot img{width:100%;display:block}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 38%);pointer-events:none}
.shot-cap{display:block;margin-top:14px;font-family:var(--f-sans);font-size:12px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.8);text-align:center}
.shot-cap .ja{font-family:var(--f-jp);letter-spacing:.06em}
.peek-crown{display:none}

/* Pinned mode: the hero and the stage share one viewport; a star-shaped clip opens the stage. */
.pin .intro{height:calc(100svh + 96vh)}
.pin .intro-pin{position:sticky;top:0;height:100svh}
.pin .hero{position:absolute;inset:0;min-height:0}
.pin .portal{position:absolute;inset:0;clip-path:polygon(0 0,0 0,0 0);will-change:clip-path}
.pin .stage{position:absolute;inset:0;display:flex;align-items:center;padding:calc(var(--header-h) + 8px) 0 clamp(20px,4vh,48px)}
.pin .stage [data-st]{opacity:0;transform:translateY(36px);transition:opacity .45s var(--ease),transform .9s var(--ease-out)}
.pin .stage [data-st="m"]{transform:translateY(44px) scale(.92)}
.pin .stage.in [data-st]{opacity:1;transform:none}
.pin .stage.in [data-st="2"]{transition-delay:.06s}
.pin .stage.in [data-st="3"]{transition-delay:.12s}
.pin .stage.in [data-st="4"]{transition-delay:.18s}
.pin .stage.in [data-st="5"]{transition-delay:.24s}
.pin .stage.in [data-st="m"]{transition-delay:.1s}
.pin .portal-peek{position:absolute;left:var(--px);top:var(--py);width:calc(var(--pr)*2);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none;will-change:transform,opacity}
.pin .peek-crown{display:block;width:31%}
.pin .peek-bubble{position:absolute;border-radius:50%;aspect-ratio:1}
.pin .peek-bubble.p1{width:44%;left:14%;top:18%;background:rgba(190,60,210,.55)}
.pin .peek-bubble.p2{width:26%;right:22%;top:26%;background:rgba(190,150,255,.45)}
.pin .peek-bubble.p3{width:34%;right:16%;bottom:16%;background:rgba(70,110,230,.55)}
.portal-marker{display:none}
.pin .portal-marker{display:block;position:absolute;left:var(--px);top:var(--py);width:calc(var(--pr)*2);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:3}
.orbit{position:absolute;left:-8%;top:-8%;width:116%;height:116%;max-width:none;animation:spin 60s linear infinite}
.orbit circle{fill:none;stroke:var(--star);stroke-width:.35;opacity:.5;stroke-dasharray:1.2 2.6}
.orbit path{fill:var(--star)}
@keyframes spin{to{transform:rotate(360deg)}}
.lockup{position:absolute;left:50%;top:calc(100% + clamp(4px,1.4vh,16px));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.8vh,8px);text-align:center;white-space:nowrap;pointer-events:auto}
.lockup .chip{color:var(--k-1);border-color:rgba(63,34,168,.35);background:#f3efff;min-height:28px}
.lockup strong{font-family:var(--f-game);font-weight:400;line-height:1.1;color:var(--k-1);font-size:clamp(30px,min(4.6vw,7.6vh),72px)}
.lockup .cue{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.1em;color:var(--dim)}
.lockup .cue .ja{font-family:var(--f-jp);letter-spacing:.06em}
.lockup .cue i{display:block;width:1px;height:22px;background:currentColor;position:relative;overflow:hidden;opacity:.7}
.lockup .cue i::after{content:"";position:absolute;inset:0;background:var(--k-3);transform:translateY(-100%);animation:cue 2s var(--ease-io) infinite}
@keyframes cue{to{transform:translateY(100%)}}
.static-star{position:absolute;right:calc(var(--gutter) + 2vw);top:50%;width:min(56vh,38vw);aspect-ratio:1;transform:translateY(-50%);display:grid;place-items:center;clip-path:polygon(50% 0%,50.3% 10.9%,51.4% 20.1%,53.3% 27.8%,56.2% 34.3%,60.3% 39.7%,65.7% 43.8%,72.2% 46.7%,79.9% 48.6%,89.1% 49.7%,100% 50%,89.1% 50.3%,79.9% 51.4%,72.2% 53.3%,65.7% 56.2%,60.3% 60.3%,56.2% 65.7%,53.3% 72.2%,51.4% 79.9%,50.3% 89.1%,50% 100%,49.7% 89.1%,48.6% 79.9%,46.7% 72.2%,43.8% 65.7%,39.7% 60.3%,34.3% 56.2%,27.8% 53.3%,20.1% 51.4%,10.9% 50.3%,0% 50%,10.9% 49.7%,20.1% 48.6%,27.8% 46.7%,34.3% 43.8%,39.7% 39.7%,43.8% 34.3%,46.7% 27.8%,48.6% 20.1%,49.7% 10.9%);background:linear-gradient(170deg,var(--k-3),var(--k-1))}
.static-star .crown{width:22%}
.pin .static-star{display:none}

/* ---------- Lineup (Roomies): a sunny rental-flyer world ---------- */
.room{position:relative;display:grid;gap:clamp(24px,4.4vw,72px);align-items:center;padding:clamp(24px,4.2vw,64px);border-radius:clamp(22px,2.6vw,36px);isolation:isolate;color:var(--r-ink);background:var(--r-yellow);border:2px solid var(--r-ink);box-shadow:8px 8px 0 var(--r-ink);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.room:hover{transform:translate(-4px,-4px);box-shadow:16px 16px 0 var(--r-ink)}
.dots::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(rgba(26,22,18,.16) 1.4px,transparent 1.6px) 0 0/18px 18px;mask-image:linear-gradient(120deg,#000,transparent 55%);-webkit-mask-image:linear-gradient(120deg,#000,transparent 55%);pointer-events:none}
.room-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1.7vw,20px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip.stamp{color:var(--r-ink);background:var(--r-coral);border:2px solid var(--r-ink);transform:rotate(-3deg)}
.chip.soft{color:var(--r-ink);background:rgba(255,255,255,.6);border:1.5px solid var(--r-ink)}
.room-title{white-space:nowrap;font-family:var(--f-sans);font-weight:900;font-stretch:118%;font-size:clamp(44px,7.4vw,112px);line-height:.92;letter-spacing:-.04em;text-transform:uppercase;color:var(--r-ink);text-shadow:.045em .045em 0 var(--r-coral)}
.room-catch{font-family:var(--f-jp);font-weight:900;font-size:clamp(24px,3.2vw,46px);line-height:1.4;color:var(--r-ink);font-feature-settings:"palt"}
.room-catch .hl{display:inline-block;background:#fff;border:2px solid var(--r-ink);border-radius:.14em;padding:0 .14em;margin:0 .06em;line-height:1.22;transform:rotate(-2deg)}
.room-catch.en{font-family:var(--f-sans);font-stretch:108%;font-weight:800;letter-spacing:-.025em;line-height:1.2}
.room-desc{max-width:30em;font-size:clamp(15px,1.15vw,17px);color:rgba(26,22,18,.9);font-weight:500}
.room-media{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,2vw,24px)}
.cover-link{position:absolute;inset:0;z-index:3;border-radius:inherit}

/* A small TV frame: keeps the low-resolution source art near its native size */
.tv{position:relative;border-radius:22px;padding:14px 14px 12px;background:linear-gradient(160deg,#454870,var(--r-tv));border:2px solid var(--r-ink);box-shadow:6px 6px 0 var(--r-ink);transform:rotate(2.5deg);transition:transform .6s var(--spring);width:min(100%,268px)}
.room:hover .tv,.tv:hover{transform:rotate(-1deg) scale(1.03)}
.tv-screen{position:relative;border-radius:16px/14px;overflow:hidden;background:#05060d;aspect-ratio:3/2}
.tv-screen img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12) contrast(1.04)}
.tv-screen::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.tv-screen::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 60%,rgba(0,0,0,.45)),linear-gradient(125deg,rgba(255,255,255,.16),transparent 30%)}
.tv-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--f-sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.tv-bar i{width:8px;height:8px;border-radius:50%;background:var(--r-coral);box-shadow:0 0 10px var(--r-coral);animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(100%,360px)}
.days li{display:flex;flex-direction:column;gap:2px;padding:12px 12px 13px;border-radius:14px;background:rgba(255,255,255,.62);border:2px solid var(--r-ink);font-family:var(--f-sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--r-ink);line-height:1.3;animation:day 4.8s steps(1) infinite}
.days li b{font-family:var(--f-game);font-weight:400;font-size:clamp(20px,2.3vw,32px);letter-spacing:0;line-height:1.1}
.days li:nth-child(2){animation-delay:1.2s}
.days li:nth-child(3){animation-delay:2.4s}
.days li.rent{background:#fff;animation-name:rent;animation-delay:3.6s}
@keyframes day{0%{background:var(--r-ink);color:var(--r-yellow)}25%,100%{background:rgba(255,255,255,.62);color:var(--r-ink)}}
@keyframes rent{0%{background:var(--r-coral)}25%,100%{background:#fff}}
.more-row{display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;margin-top:clamp(28px,3.4vw,44px);padding:clamp(16px,1.8vw,22px) clamp(20px,2.6vw,32px);border:1.5px dashed rgba(23,20,18,.3);border-radius:clamp(16px,2vw,22px);color:var(--dim);font-size:15px}
.more-row p{display:flex;align-items:center;gap:14px}
.more-row .i-star{font-size:16px;color:var(--star)}

/* ---------- Studio ---------- */
.statement{font-size:clamp(24px,3.3vw,50px);text-wrap:pretty;font-weight:700;font-stretch:104%;letter-spacing:-.018em;word-spacing:.04em}
.statement .ja{font-size:.8em;font-weight:700;line-height:1.6;font-feature-settings:normal;letter-spacing:-.01em}
.statement .en{font-size:.84em;line-height:1.28}
.js .statement .ch{transition:opacity .5s var(--ease)}

/* ---------- Rows (news / team) ---------- */
.rows{border-top:1px solid var(--line)}
.row{position:relative;display:grid;align-items:center;gap:clamp(14px,2.4vw,32px);padding:clamp(18px,2vw,26px) 0;border-bottom:1px solid var(--line);isolation:isolate;transition:color .35s}
a.row::before{content:"";position:absolute;inset:0 calc(var(--gutter)*-.35);z-index:-1;border-radius:14px;background:var(--star);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out)}
a.row:hover::before,a.row:focus-visible::before{transform:scaleY(1)}
.row .go{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-style:normal;opacity:.6;transition:transform .5s var(--ease),background-color .4s,opacity .3s,border-color .4s}
a.row:hover .go{opacity:1;background:var(--bg);border-color:var(--bg);transform:rotate(45deg)}
.news-row{grid-template-columns:112px 96px minmax(0,1fr) 44px}
.news-row time{font-family:var(--f-sans);font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--dim);transition:color .35s}
a.news-row:hover time{color:var(--fg)}
.news-row .cat{justify-self:start;font-family:var(--f-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;transition:color .35s;display:inline-flex;align-items:center;padding:0;border:0;border-radius:0;color:var(--fg)}
a.news-row:hover .cat{color:var(--fg)}
.news-row h2,.news-row h3{font-size:clamp(16px,1.5vw,21px);font-weight:700;line-height:1.55;letter-spacing:.01em}
html[data-lang="en"] .news-row h2,html[data-lang="en"] .news-row h3{font-weight:600;letter-spacing:-.01em}
.news-row .q{margin-left:-.42em}
.news-row p{margin-top:6px;font-size:15px;line-height:1.75;color:var(--dim);transition:color .35s}
a.news-row:hover p{color:var(--fg)}
.news-row.static .go{visibility:hidden}
.sec-foot{display:flex;justify-content:flex-end;margin-top:clamp(24px,3vw,40px)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(20px,2.4vw,32px)}
.filters button{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(23,20,18,.22);font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);transition:background-color .3s,color .3s,border-color .3s}
.filters button:hover{border-color:var(--fg);color:var(--fg)}
.filters button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.news-row[hidden]{display:none}
.team-row{grid-template-columns:64px minmax(0,1fr) 44px}
.mono{width:60px;height:60px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--f-display);line-height:1;color:var(--fg);transition:transform .6s var(--spring),background-color .4s}
a.team-row:hover .mono{transform:scale(1.1) rotate(-6deg);background:var(--bg)}
.team-row .name{font-family:var(--f-display);font-variant-numeric:lining-nums;font-size:clamp(26px,3.3vw,46px);line-height:1.1}
.team-row .name small{display:inline-block;margin-left:14px;font-family:var(--f-jp);font-weight:500;font-size:14px;letter-spacing:.08em;color:var(--dim);vertical-align:middle;transition:color .35s}
a.team-row:hover .name small{color:var(--fg)}
.team-row .role{font-family:var(--f-sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);transition:color .35s;display:block;text-align:left}
a.team-row:hover .role{color:var(--fg)}

/* ---------- Contact (star colour block) ---------- */
.contact-copy{font-weight:500;font-size:clamp(16px,1.3vw,19px);color:var(--dim);max-width:26em}

/* ---------- Footer ---------- */
.site-footer{position:relative;z-index:2;background:var(--bg-2);padding:clamp(56px,7vw,96px) 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(24px,4vw,48px)}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-brand .logo{width:112px;height:112px;box-shadow:0 0 0 1px var(--line)}
.footer-brand p{max-width:24em;font-size:14.5px;line-height:1.85;color:var(--dim)}
.footer-col h2{margin-bottom:8px;font-family:var(--f-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);line-height:1.4}
.footer-col h2 .ja{font-family:var(--f-jp);font-size:13px;letter-spacing:.08em}
.footer-col ul{display:flex;flex-direction:column}
.footer-col a,.footer-col .soon{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;color:var(--dim);transition:color .3s,transform .4s var(--ease)}
.footer-col a:hover{color:var(--fg);transform:translateX(4px)}
.footer-col .soon small{font-family:var(--f-sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border:1px solid rgba(23,20,18,.25);border-radius:999px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;margin-top:clamp(32px,4vw,56px);padding-top:14px;border-top:1px solid var(--line);font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.08em;color:var(--dim)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--fg)}
.footer-bottom a:hover{color:var(--accent)}

/* ---------- Sub pages ---------- */
.page-hero{position:relative;padding:calc(var(--header-h) + clamp(28px,6vw,80px)) 0 clamp(40px,6vw,80px);overflow:clip;isolation:isolate}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;margin-bottom:clamp(8px,1.6vw,20px);font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.crumbs li{display:inline-flex;align-items:center;min-height:44px}
.crumbs li+li::before{content:"/";margin-right:12px;opacity:.5}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.crumbs a:hover{color:var(--fg)}
.g-hero.emk .crumbs{color:rgba(255,255,255,.82);align-self:flex-start}
.g-hero.emk .crumbs a:hover{color:#fff}
.g-hero.rm .crumbs{color:rgba(26,22,18,.8)}
.page-lead{margin-top:clamp(18px,2.4vw,32px);max-width:34em;font-size:clamp(16px,1.35vw,19.5px);color:var(--dim)}
.hero-deco{position:absolute;color:var(--star);opacity:.16;pointer-events:none;z-index:-1;top:calc(var(--header-h) + 6px);right:-3vw;width:min(28vw,360px)}
.hero-deco svg{width:100%;height:auto;fill:currentColor}
.block{margin-top:var(--pad)}

/* Game pages */
.g-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(24px,4vh,48px);padding:calc(var(--header-h) + clamp(12px,3vh,36px)) 0 0;overflow:hidden;isolation:isolate;color:#fff}
.g-hero.emk{background:var(--k-1);justify-content:center;gap:clamp(20px,3.4vh,40px);padding-bottom:clamp(40px,7vh,80px);min-height:min(100svh,820px)}
.g-hero .game-title{font-size:clamp(40px,min(10.8vw,17vh),176px)}
.g-meta{display:flex;flex-wrap:wrap;gap:16px clamp(24px,3.4vw,52px);margin-top:clamp(18px,3vh,32px)}
.g-meta li{font-family:var(--f-sans);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.74);line-height:1.4}
.g-meta li .ja{font-family:var(--f-jp);font-size:12.5px;letter-spacing:.06em}
.g-meta b{display:block;margin-top:5px;font-size:15px;font-weight:700;letter-spacing:.02em;color:#fff;text-transform:none}
.g-shot{position:relative;width:min(100% - var(--gutter)*2,1040px);margin:0 auto;border-radius:clamp(14px,1.8vw,24px) clamp(14px,1.8vw,24px) 0 0;overflow:hidden;box-shadow:0 0 0 clamp(5px,.7vw,10px) rgba(20,10,60,.5),0 -30px 80px -30px rgba(10,4,40,.8);background:var(--k-0)}
.g-shot img{width:100%}
.g-sec{padding:var(--pad) 0;position:relative}
.g-sec.k-tint{background:var(--k-tint)}
.g-sec.r-tint{background:var(--r-tint)}
.concept{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,5vw,72px);align-items:end}
.concept .body{font-size:clamp(15.5px,1.25vw,18px);color:var(--dim)}
.concept .body p+p{margin-top:1em}
.voice-emk{font-family:var(--f-game);font-weight:400;font-size:clamp(34px,5.6vw,88px);line-height:1.16;color:var(--k-1)}
.voice-room{font-family:var(--f-jp);font-weight:900;font-size:clamp(32px,5.2vw,82px);line-height:1.22;letter-spacing:-.01em;color:var(--r-ink);font-feature-settings:"palt"}
.voice-room.en,.voice-room .en{font-family:var(--f-sans);font-stretch:112%;letter-spacing:-.035em;line-height:1.02}
.modes{grid-template-columns:1fr 1fr;display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:clamp(24px,3vw,40px)}
.mode{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px 0 13px;border-radius:14px;background:var(--k-1);color:#fff;font-family:var(--f-game);font-size:clamp(15px,1.4vw,18px);border:0}
.mode h3{font-family:var(--f-game);font-weight:400;font-size:clamp(18px,1.8vw,24px);line-height:1.3}
.mode p{margin-top:4px;font-size:15px;color:rgba(255,255,255,.9);line-height:1.6}
.band{position:relative;text-align:center;overflow:hidden;isolation:isolate;color:#fff;padding:clamp(56px,8vw,116px) 0}
.band.emk{background:var(--k-1)}
.band.emk p{font-family:var(--f-game);font-size:clamp(44px,9.4vw,150px);line-height:1.04;text-shadow:0 .035em 0 rgba(26,12,84,.9)}
.band.emk p em{font-style:normal;color:var(--k-gold)}
.band.rm{background:var(--r-yellow);color:var(--r-ink)}
.band.rm p{font-family:var(--f-sans);font-weight:900;font-stretch:118%;line-height:.94;letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(30px,6vw,96px);text-shadow:.04em .04em 0 var(--r-coral)}
.band.rm p em{font-style:normal;text-shadow:inherit}
.band small{display:block;margin-top:clamp(18px,2vw,28px);font-family:var(--f-sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.86}
.cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:clamp(24px,3.6vw,52px);border-radius:clamp(18px,2.2vw,30px);background:var(--bg-2);border:1px solid var(--line)}
.cta p{margin-top:8px;font-size:15.5px;color:var(--dim)}
.cta .status{margin-top:14px;color:var(--accent)}
.next{display:block;margin-top:clamp(56px,8vw,104px);padding-top:18px;border-top:1px solid var(--line)}
.next a{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:6px;padding:6px 0}
.next strong{font-family:var(--f-display);font-variant-numeric:lining-nums;font-size:clamp(36px,7vw,112px);line-height:1.05;transition:color .4s}
.next a:hover strong{color:var(--star)}
.next .arr{font-size:clamp(28px,4vw,52px);line-height:1.2;transition:transform .5s var(--ease)}
.next a:hover .arr{transform:translate(8px,-8px)}
.g-hero.rm{background:var(--r-yellow);color:var(--r-ink);justify-content:flex-start;min-height:0;padding-bottom:clamp(48px,8vh,96px)}
.g-hero.rm .g-meta li{color:rgba(26,22,18,.76)}
.g-hero.rm .g-meta b{color:var(--r-ink)}
.g-hero.rm .room-title{font-size:clamp(52px,min(15.5vw,26vh),250px);line-height:.86;margin-left:-.02em}
.rm-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(14px,2.4vh,26px)}

/* About */
.manifesto{font-size:clamp(34px,5vw,80px);line-height:1.08}
.manifesto span.l{display:block}
.prose{max-width:36em;font-size:clamp(16px,1.25vw,18px);color:rgba(23,20,18,.86)}
.prose p+p{margin-top:1.1em}
.profile-table{width:100%;border-top:1px solid var(--line)}
.profile-table div{display:grid;grid-template-columns:minmax(120px,.3fr) 1fr;gap:6px 32px;padding:clamp(16px,1.8vw,22px) 0;border-bottom:1px solid var(--line)}
.profile-table dt{font-family:var(--f-sans);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding-top:.35em}
.profile-table dt .ja{font-family:var(--f-jp);font-size:13.5px;letter-spacing:.06em}
.profile-table dd{font-size:clamp(16px,1.3vw,18.5px);font-weight:500}
.profile-table a{display:inline-block;padding:10px 0;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/100% 1px no-repeat;margin-block:-10px}
.profile-table a:hover{color:var(--accent)}
.motion{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center}
.motion-stage{position:relative;display:block;border-radius:clamp(16px,2vw,26px);overflow:hidden;aspect-ratio:16/9;background:var(--bg-3);box-shadow:0 40px 70px -40px rgba(23,20,18,.6)}
.motion-stage img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out);transform:scale(1.2)}
.motion-stage:hover img{transform:scale(1.26)}
.motion-stage .play{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:var(--bg);color:var(--accent);display:grid;place-items:center;box-shadow:0 14px 40px -10px rgba(23,20,18,.5);transition:transform .6s var(--spring),background-color .4s,color .4s}
.motion-stage:hover .play{transform:scale(1.12);background:var(--accent);color:var(--on-accent)}
.motion-stage .play svg{width:24px;height:24px;margin-left:4px;fill:currentColor}
.motion-stage .cap{position:absolute;left:16px;bottom:14px;display:flex;gap:12px;padding:7px 14px;border-radius:999px;background:rgba(253,253,253,.94);color:var(--fg);font-family:var(--f-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
.list-links{margin-top:22px;border-top:1px solid var(--line)}
.list-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;border-bottom:1px solid var(--line);font-family:var(--f-sans);font-size:14px;font-weight:600;letter-spacing:.06em;transition:padding-left .4s var(--ease),color .3s}
.list-links a:hover{padding-left:10px;color:var(--accent)}

/* Profile pages */
.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,340px);gap:clamp(24px,5vw,80px);align-items:end}
.profile .portrait{width:100%;aspect-ratio:1;border-radius:clamp(20px,2.6vw,36px);object-fit:cover;background:var(--bg-2);box-shadow:0 0 0 1px var(--line),0 40px 70px -40px rgba(23,20,18,.45)}
.portrait.letter{position:relative;display:grid;place-items:center;overflow:hidden;font-family:var(--f-display);font-weight:500;font-size:clamp(120px,15vw,220px);line-height:1}
.portrait.letter .i-star{position:absolute;right:12%;top:12%;font-size:clamp(22px,3vw,40px);color:var(--star);animation:twinkle 4.5s ease-in-out infinite}
.profile .role{margin-top:14px;font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.profile .bio{margin-top:12px;max-width:32em;font-size:clamp(16px,1.25vw,18px);color:var(--dim)}
.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.socials a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid rgba(23,20,18,.22);font-family:var(--f-sans);font-size:13.5px;font-weight:700;letter-spacing:.06em;transition:background-color .35s,border-color .35s,transform .4s var(--ease)}
.socials a:hover{background:var(--star);border-color:var(--star);transform:translateY(-2px)}
.socials svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.work{display:block;border-radius:clamp(14px,1.6vw,20px);overflow:hidden;background:var(--bg-2);border:1px solid var(--line);transition:transform .6s var(--ease-out),border-color .4s}
.work:hover{transform:translateY(-6px);border-color:rgba(23,20,18,.34)}
.work .thumb{display:block;aspect-ratio:16/9;overflow:hidden}
.work img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out);transform:scale(var(--crop,1.04))}
.work:hover img{transform:scale(calc(var(--crop,1.04)*1.05))}
.work .cap{justify-content:space-between;gap:12px;font-family:var(--f-sans);font-size:12.5px;font-weight:700;color:var(--dim);display:block;padding:14px 18px 16px;text-transform:none;letter-spacing:0}
.work .cap strong{display:block;font-family:var(--f-jp);font-weight:700;font-size:clamp(16px,1.3vw,18px);line-height:1.45;letter-spacing:.01em;color:var(--fg)}

/* 404 */
.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:calc(var(--header-h) + 20px) var(--gutter) 60px;position:relative;overflow:hidden;isolation:isolate;background:var(--k-1);color:#fff}
.nf h1{font-family:var(--f-game);font-weight:400;font-size:clamp(96px,26vw,320px);line-height:.9;color:var(--k-gold);text-shadow:0 .05em 0 var(--k-gold-d)}
.nf h2{font-family:var(--f-game);font-weight:400;font-size:clamp(20px,3vw,38px);margin-top:10px}
.nf p{margin:14px auto 28px;max-width:30em;color:rgba(255,255,255,.92)}
.nf .crown{width:clamp(70px,10vw,130px);margin:0 auto 6px}
[data-tilt]{will-change:transform}

/* The star as a structural graphic: large, cropped by the section edge */
.star-bg{position:absolute;z-index:-1;pointer-events:none;color:var(--star)}
.star-bg svg{width:100%;height:auto;fill:currentColor}
.has-star{isolation:isolate;overflow:clip}

/* Studio (home): statement with a plain discipline list */
.studio-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:clamp(28px,6vw,96px);margin-top:clamp(18px,2.4vw,28px);align-items:start}
.studio-cols .list-links{margin-top:0}
.studio-cols .list-links a{font-family:var(--f-display);font-size:clamp(22px,2.2vw,30px);min-height:0;padding-block:18px;line-height:1.25}
.studio-cols .list-links a small{display:block;font-family:var(--f-jp);font-weight:500;font-size:13px;letter-spacing:.04em;color:var(--dim);margin-top:7px;line-height:1.5}
html[data-lang="en"] .studio-cols .list-links a small{font-family:var(--f-sans)}
.studio-cols .btn{margin-top:22px}
.studio .star-bg{left:-11vw;bottom:-16vw;width:min(46vw,600px);opacity:.1}

/* Contact: white based, one clear action, a large star cropped off the edge */
.contact{padding-bottom:calc(var(--pad) + var(--sheet))}
.contact .star-bg{right:max(var(--gutter),calc((100vw - var(--max))/2));top:50%;width:min(32vw,430px);transform:translateY(-58%)}
.contact-inner{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.6vw,32px);max-width:min(100%,640px)}
.btn-xl{min-height:68px;padding:0 36px;font-size:15px}
.btn-xl .ja{font-size:16.5px}

/* Steps as one track */
.track{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:clamp(28px,4vw,56px)}
.track li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;padding:clamp(18px,2vw,26px) clamp(18px,2.2vw,30px);z-index:1}
.track li .n{grid-row:1/3;font-family:var(--f-game);font-size:clamp(40px,4.2vw,60px);line-height:1}
.track li h3{align-self:end;line-height:1.3}
.track li p{align-self:start;font-size:15px;line-height:1.6;font-weight:500}
.track li:not(:last-child)::after{content:"";position:absolute;right:calc(var(--gap)*-.5 - 11px);top:50%;z-index:2;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--fg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M7 5l4 4-4 4' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.track.emk li{border-radius:clamp(14px,1.6vw,20px);color:var(--k-ink);background:var(--k-gold);box-shadow:0 6px 0 var(--k-gold-d)}
.track.emk li:nth-child(2){background:var(--k-mint);box-shadow:0 6px 0 var(--k-mint-d)}
.track.emk li:nth-child(3){background:var(--k-2);color:#fff;box-shadow:0 6px 0 var(--k-0)}
.track.emk li h3{font-family:var(--f-jp);font-weight:900;font-size:clamp(18px,1.7vw,23px);letter-spacing:.01em}
.track.rm li{border-radius:clamp(14px,1.6vw,20px);background:var(--r-yellow);border:2px solid var(--r-ink);box-shadow:5px 5px 0 var(--r-ink);color:var(--r-ink)}
.track.rm li:nth-child(2){background:#fff}
.track.rm li:nth-child(3){background:var(--r-coral)}
.track.rm li h3{font-family:var(--f-jp);font-weight:900;font-size:clamp(19px,1.9vw,26px)}
html[data-lang="en"] .track.rm li h3{font-family:var(--f-sans);font-stretch:108%;font-weight:800;letter-spacing:-.02em}
.modes .label{margin-right:6px}
.mode svg{width:32px;height:32px;padding:6px;border-radius:9px;background:var(--k-gold);color:var(--k-ink);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mode+.mode svg{background:var(--k-mint)}

/* Game page hero: mirrors the game's own title screen (crown above, gold title) */
.g-hero.emk .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.g-hero.emk .g-meta{justify-content:center;text-align:left}
.g-hero.emk .g-shot{width:min(100% - var(--gutter)*2,700px);border-radius:clamp(14px,1.8vw,22px)}
.preview{display:flex;align-items:center;gap:20px;margin-top:clamp(20px,2.6vw,32px)}
.preview .tv{flex:none;transform:rotate(-2deg);width:184px}
.preview p{font-size:14px;color:var(--dim);max-width:16em}

/* Staff pages: studio role first, personal links grouped */
.staff{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3.4vw,48px);align-items:center}
.staff .portrait{width:clamp(112px,13vw,176px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--bg-2);box-shadow:0 0 0 1px var(--line)}
.staff .portrait.letter{display:grid;place-items:center;font-family:var(--f-display);font-size:clamp(48px,6vw,84px);line-height:1}
.staff .role{margin-top:8px;font-family:var(--f-sans);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.staff-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,4vw,64px);align-items:start;margin-top:clamp(24px,3vw,40px);padding-top:clamp(20px,2.4vw,32px);border-top:1px solid var(--line)}
.staff-body .bio{max-width:32em;font-size:clamp(16px,1.25vw,18px);color:var(--dim)}
.staff-body .socials{margin-top:10px}
.legal{flex-basis:100%;font-size:12px;line-height:1.7;font-weight:400;letter-spacing:.02em;color:var(--mute)}
.g-hero .game-title .en{font-size:.6em}
.g-hero.emk .shot-cap{position:relative}

/* Works: real titles, sharper thumbnails, the video's own letterbox cropped away */
.work .meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-family:var(--f-sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.work .meta .ja{font-family:var(--f-jp);letter-spacing:.06em}
.motion-stage .cap [lang="ja"]{font-family:var(--f-jp);letter-spacing:.04em}

/* Ways to play: information, not buttons */
.mode-list{display:flex;flex-wrap:wrap;gap:10px 28px}
.mode-list li{display:flex;align-items:center;gap:10px;font-family:var(--f-jp);font-weight:900;font-size:16px;letter-spacing:.02em;color:var(--k-1)}
html[data-lang="en"] .mode-list li{font-family:var(--f-sans);font-weight:800;letter-spacing:0}
.mode-list svg{flex:none;width:32px;height:32px;padding:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px rgba(63,34,168,.28);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-lang="en"] .track.emk li h3{font-family:var(--f-sans);font-stretch:108%;font-weight:800;letter-spacing:-.015em}

/* Roomies hero: copy under the wordmark, TV pinned over its corner */
.rm-cols .days{margin-top:clamp(22px,3.2vh,34px)}
.g-hero.rm .room-media{align-items:flex-end;margin-top:0}

/* Next title: a star window into the other world */
.world-next a{align-items:center}
.world-next a:hover strong{color:inherit}
.world-next .w-star{position:relative;flex:none;width:clamp(92px,13vw,190px);aspect-ratio:1;display:grid;place-items:center}
.world-next .w-star>svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1s var(--spring)}
.world-next a:hover .w-star>svg{transform:rotate(90deg) scale(1.1)}
.world-next .w-star i,.world-next .w-star .crown{position:relative;z-index:1;transition:transform .6s var(--spring)}
.world-next.rm .w-star>svg{fill:var(--r-yellow);stroke:var(--r-ink);stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(5px 5px 0 var(--r-coral))}
.world-next.rm .w-star i{font-style:normal;font-family:var(--f-sans);font-weight:800;font-size:clamp(20px,2.6vw,36px);line-height:1;color:var(--r-ink)}
.world-next a:hover .w-star i{transform:translate(4px,-4px)}
.world-next .w-rm{font-family:var(--f-sans);font-weight:900;font-stretch:118%;text-transform:uppercase;letter-spacing:-.04em;color:var(--r-ink);text-shadow:.045em .045em 0 var(--r-coral)}
.world-next.emk .w-star>svg{fill:var(--k-1)}
.world-next.emk .w-star .crown{display:block;width:34%;color:var(--k-gold)}
.world-next.emk .w-star .crown svg{width:100%;height:auto;display:block}
.world-next a:hover .w-star .crown{transform:translateY(-4px) rotate(-6deg)}
.world-next .w-emk{font-family:var(--f-game);font-weight:400;font-size:clamp(30px,5.8vw,92px);letter-spacing:-.005em;line-height:1.15;color:var(--k-1)}
.world-next .w-emk .en{letter-spacing:-.02em}

/* ==========================================================================
   v6 — every world has a star in its own colour
   ========================================================================== */
.w-dot{flex:none;display:inline-block;width:.95em;height:.95em;margin-right:.5em;vertical-align:-.1em;overflow:visible;fill:var(--star);transition:transform .6s var(--spring),fill .35s}
.w-dot.emk{fill:var(--k-1)}
.w-dot.rm{fill:var(--r-yellow);stroke:var(--r-ink);stroke-width:7;stroke-linejoin:round;paint-order:stroke}
a:hover>.w-dot,a:hover .cat .w-dot{transform:rotate(90deg) scale(1.2)}
.news-row .cat .w-dot{width:15px;height:15px;margin-right:8px}
a.row:hover .w-dot.ln{fill:var(--bg)}
.profile-table .titles{display:flex;flex-wrap:wrap;gap:2px 30px}
.profile-table .titles a{display:inline-flex;align-items:center}
img.mono{padding:0;object-fit:cover}
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,80px);align-items:end}
.worlds{display:flex;align-items:flex-end;gap:clamp(16px,2.4vw,36px)}
.world-star{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.world-star .ws{position:relative;display:grid;place-items:center;aspect-ratio:1;animation:bobs 4.6s ease-in-out infinite alternate}
.world-star.rm .ws{animation-duration:5.8s;animation-delay:-2s}
.world-star .ws>svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1s var(--spring)}
.world-star:hover .ws>svg,.world-star:focus-visible .ws>svg{transform:rotate(90deg) scale(1.08)}
.world-star.emk .ws>svg{fill:var(--k-1)}
.world-star.emk .crown{position:relative;display:block;width:34%;color:var(--k-gold);transition:transform .6s var(--spring)}
.world-star.emk .crown svg{display:block;width:100%;height:auto}
.world-star.emk:hover .crown{transform:translateY(-4px) rotate(-6deg)}
.world-star.rm .ws>svg{fill:var(--r-yellow);stroke:var(--r-ink);stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(4px 4px 0 var(--r-coral))}
.world-star .tag{position:relative;padding:0 .32em;font-family:var(--f-jp);font-weight:900;font-size:clamp(13px,1.25vw,17px);line-height:1.35;background:#fff;border:2px solid var(--r-ink);border-radius:.2em;color:var(--r-ink);transform:rotate(-4deg);transition:transform .6s var(--spring)}
html[data-lang="en"] .world-star .tag{font-family:var(--f-sans);font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.world-star.rm:hover .tag{transform:rotate(3deg) scale(1.08)}
.world-star .wl{font-family:var(--f-sans);font-size:12.5px;font-weight:700;letter-spacing:.06em;line-height:1.4;color:var(--dim);transition:color .3s}
.world-star .wl .ja{font-family:var(--f-jp)}
.world-star:hover .wl{color:var(--fg)}
@keyframes bobs{from{transform:translateY(-5px)}to{transform:translateY(5px)}}

/* ==========================================================================
   v7 — studio voice: one bold gothic (Archivo Black Expanded + Noto Sans JP Black)
   The serif now lives only inside the logo itself.
   ========================================================================== */
.menu-links a,.team-row .name,.next strong,.studio-cols .list-links a,.mono,.staff .portrait.letter{font-weight:900;font-stretch:112%;letter-spacing:-.03em}
.studio-cols .list-links a .ja,.menu-links a .ja{font-family:var(--f-jp);font-stretch:100%;letter-spacing:0;font-feature-settings:"palt"}
.team-row .name small,.menu-links a small{font-stretch:100%}
.mono{font-size:22px;letter-spacing:0}

/* hero */
.hero-news{position:absolute;left:0;bottom:clamp(18px,4vh,40px);display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:46%;font-size:14px;font-weight:500;color:var(--dim);transition:color .3s}
.hero-news:hover{color:var(--fg)}
.hero-news .hn-k{padding:4px 10px;border-radius:999px;background:var(--fg);color:var(--bg);font-family:var(--f-sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}
.hero-news .hn-k .ja{font-family:var(--f-jp);letter-spacing:.08em}
.hero-news time{font-family:var(--f-sans);font-size:13px;font-weight:600;letter-spacing:.06em}
.hero-news .hn-t{color:var(--fg);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-news .arr{transition:transform .4s var(--ease)}
.hero-news:hover .arr{transform:translate(3px,-3px)}
.lockup strong .en{font-size:.78em}
.page-about .hero-deco{display:none}

/* media is never shown above its native resolution, and never resampled by a tilt */
.shot,.shot:hover{transform:none}

/* game buttons stay legible at button size */
html[data-lang="en"] .btn-game{font-family:var(--f-sans);font-weight:800;font-stretch:108%;letter-spacing:-.005em}

/* decorative stars keep clear of the header and stay inside their section */
.contact .star-bg svg{transition:transform 1.2s var(--spring)}
.contact:has(.btn:hover) .star-bg svg,.contact:has(.btn:focus-visible) .star-bg svg{transform:rotate(90deg) scale(1.06)}

/* studio statement + creed */
.creed{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,6vw,96px);align-items:start;margin-top:clamp(18px,2.4vw,28px)}
.manifesto .ja{font-size:.94em;line-height:1.24}
.manifesto .l{display:block;white-space:nowrap}
.js .manifesto .ch{transition:opacity .5s var(--ease)}
.creed .prose{padding-top:.6em}
.creed-en{font-family:var(--f-sans);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* inside a game world, labels and bubbles belong to that world */
.k-tint .label .i-star{color:var(--k-1)}
.r-tint .label .i-star{color:var(--r-coral)}
.band.emk .bubble{opacity:.6}
.track.emk li:not(:last-child)::after{margin-top:-14px}

/* English display: looser tracking and real word spaces */
.js .statement .ch,.js .manifesto .ch{opacity:.32}
.js .statement .ch.on,.js .manifesto .ch.on{opacity:1}

/* header steps aside while the star edge crosses it */
.site-header.is-transit{opacity:0;pointer-events:none}

/* studio + worlds lineup (About) */
.world-star .ws,.world-star.rm .ws{width:clamp(104px,10.4vw,150px)}
.world-star.ln .logo{width:clamp(104px,10.4vw,150px);height:auto;aspect-ratio:1;box-shadow:0 0 0 1px var(--line)}
.world-star.ln{gap:12px}

/* step connectors sit above the neighbouring card */
.track li:not(:last-child){z-index:2}

/* Roomies hero: TV anchored beside the catch line */
.g-hero.rm .tv{width:min(100%,300px)}

/* each game page ends inside its own world */
.page-emk .cta{background:#f1ecff;border-color:rgba(63,34,168,.2)}
.page-emk .cta .status{color:var(--k-1)}
.page-emk .cta .btn-fill{background:var(--k-1);border-color:var(--k-1);color:#fff}
.page-roomies .cta{background:#fff4c9;border:2px solid var(--r-ink);box-shadow:5px 5px 0 var(--r-ink)}
.page-roomies .cta .btn-fill{background:var(--r-ink);border-color:var(--r-ink);color:#fff}
.page-about main>.sec:last-child{padding-bottom:calc(var(--pad) + 24px)}

/* Excuse Me, King! page: typographic hero, real screen beside the concept */
.concept.with-shot{align-items:center}
.g-figure{margin:0}
.g-figure img{display:block;width:100%;max-width:560px;height:auto;margin-inline:auto;border-radius:clamp(12px,1.4vw,18px);box-shadow:0 0 0 clamp(5px,.6vw,8px) rgba(63,34,168,.16),0 30px 60px -28px rgba(30,14,90,.55)}
.g-figure figcaption{margin-top:14px;font-family:var(--f-sans);font-size:12px;font-weight:600;letter-spacing:.1em;text-align:center;color:var(--dim)}
.g-figure figcaption .ja{font-family:var(--f-jp);letter-spacing:.06em}
.concept.with-shot .body{margin-top:clamp(16px,2vw,24px);max-width:30em}

/* Roomies card: counter under the copy, TV alone and centred */
.room .days{margin:clamp(4px,1vw,12px) 0 clamp(4px,1vw,10px)}
.room .room-media{align-items:center;justify-content:center}

/* team rows: role sits under the name */
.team-row .mono{width:64px;height:64px}
.team-row .who{display:flex;flex-direction:column;gap:6px;min-width:0}

/* ---------- Final pass ---------- */
.hero-copy h1 .en{font-size:.84em}
.room{grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);padding:clamp(24px,3.6vw,52px) clamp(24px,4.2vw,64px)}
.room .room-title{font-size:clamp(44px,8.6vw,132px)}
.room .room-media{padding-inline:clamp(0px,2vw,32px)}
.track.rm li:not(:last-child)::after{background-color:var(--r-coral);box-shadow:0 0 0 2px var(--r-ink)}

/* ==========================================================================
   Responsive and preference overrides
   ========================================================================== */
@media (min-width:901px){
  .hero-copy h1 .line{white-space:nowrap}
  .band.emk p{font-size:clamp(44px,6.4vw,104px)}
  .band.emk p .line{display:inline-block;vertical-align:top;margin:0 .12em}
  .g-hero.rm .room-media{position:relative;z-index:2}
}
@media (max-width:900px) and (max-height:760px){
  .pin .facts-row{display:none}
  .pin .hero-sub{display:none}
}
@media (max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hero-copy h1 .en{font-size:.8em}
  .room{grid-template-columns:1fr;padding:clamp(24px,4.2vw,64px)}
  .room .room-title{font-size:clamp(44px,7.4vw,112px)}
  :root{--header-h:72px}
  .site-nav{display:none}
  .menu-toggle{display:block}
  .brand{width:56px;height:56px}
  .intro{--px:50%;--py:67%;--pr:min(15.5vh,31vw)}
  .hero-inner{align-items:flex-start;padding-top:calc(var(--header-h) + clamp(8px,2vh,24px))}
  .hero-copy{width:100%;gap:clamp(10px,1.8vh,18px)}
  .hero-sub{font-size:15px;line-height:1.7}
  .hero .btn{min-height:50px;padding:0 22px}
  .lockup{gap:3px;top:calc(108% + 4px)}
  .lockup .chip{display:none}
  .static-star{position:relative;right:auto;top:auto;width:min(60vw,34vh);margin:0 auto 4vh;transform:none}
  .stage-grid{grid-template-columns:1fr;gap:clamp(14px,2.4vh,24px)}
  .stage-media{order:-1;width:min(100%,45vh);margin-inline:auto}
  .game-title{font-size:clamp(34px,min(11.6vw,7.4vh),76px)}
  .stage-desc{font-size:15px;line-height:1.75}
  .pin .stage .actions{flex-wrap:wrap;width:100%;gap:10px 14px}
  .pin .stage .btn-game{min-height:52px;padding:0 18px;font-size:14.5px}
  .news-row{grid-template-columns:auto minmax(0,1fr) 44px;gap:10px 14px}
  .news-row time{grid-column:1;grid-row:1}
  .news-row .cat{grid-column:2;grid-row:1}
  .news-row>h3,.news-row>div{grid-column:1/3;grid-row:2}
  .news-row .go{grid-column:3;grid-row:1/3}
  .team-row{gap:14px;grid-template-columns:52px minmax(0,1fr) 44px}
  .team-row .mono{font-size:21px;width:52px;height:52px}
  .team-row .name small{display:block;margin:4px 0 0}
  .concept,.modes,.motion,.rm-cols{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .g-hero{min-height:0;gap:clamp(28px,5vh,44px)}
  .g-meta{display:grid;grid-template-columns:1fr 1fr}
  .g-meta li:last-child:nth-child(odd){grid-column:1/-1}
  .profile{grid-template-columns:1fr}
  .profile .portrait{order:-1;max-width:280px}
  .works{grid-template-columns:1fr 1fr}
  .profile-table div{grid-template-columns:1fr}
  .studio-cols,.staff-body{grid-template-columns:1fr}
  .track{grid-template-columns:1fr}
  .track li:not(:last-child)::after{right:auto;left:40px;top:auto;bottom:calc(var(--gap)*-.5 - 11px);margin:0;transform:rotate(90deg)}
  .contact .star-bg{right:var(--gutter);top:calc(var(--pad) - 6px);bottom:auto;width:84px;transform:none}
  .contact-inner{padding-bottom:0}
  .statement{font-size:clamp(21px,5.6vw,30px)}
  .preview{align-items:flex-start;flex-direction:column}
  .studio .star-bg{display:none}
  .hero-bg .spark:nth-child(-n+2){display:none}
  .g-hero.rm .room-media{align-items:center}
  .g-hero.emk .g-meta{width:100%}
  .g-hero.emk .b2,.g-hero.emk .b6{display:none}
  .hero-split{grid-template-columns:1fr}
  .hero-news{display:none}
  .room{grid-template-columns:1fr}
  .creed{grid-template-columns:1fr}
  .hero-deco{right:-36px;width:150px}
  .world-star .ws,.world-star.rm .ws,.world-star.ln .logo{width:92px}
  .team-row .role{display:block;font-size:11.5px}
  .g-figure img{max-width:100%}
  .g-hero.emk{min-height:0}
}
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .works{grid-template-columns:1fr}
  .days{gap:6px}
  .days li{padding:10px 8px 11px;font-size:10.5px;letter-spacing:.06em}
  .preview{flex-direction:column;align-items:flex-start;gap:12px}
  .preview .tv{width:220px}
  .mode-list{gap:10px 20px}
  .mode-list li{font-size:15px}
  .manifesto{font-size:clamp(26px,8.2vw,34px)}
  .manifesto .en{font-size:.8em}
  .preview p{max-width:none}
}
@media (max-width:400px){
  .hero .actions{flex-wrap:nowrap;gap:8px}
  .hero .btn{min-height:48px;padding:0 15px;gap:8px}
  .hero .btn .ja{font-size:13px;letter-spacing:.04em}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal],.js .lines .line>span{opacity:1!important;transform:none!important;transition:none!important}
  .days li{animation:none}
  .world-star .ws{animation:none}
}
@media (prefers-reduced-motion:no-preference){
  .crown.bob{animation:bob 4.6s ease-in-out infinite}
}


/* ==========================================================================
   Excuse Me, King! — release kit (2026-10-16). Colours, type and images follow brand.md.
   ========================================================================== */
.portal,.page-emk main,.nf{font-family:var(--f-maru)}
.ek-logo{display:block;width:min(100%,440px)}
.ek-logo img{display:block;width:100%;height:auto}
.ek-logo.sm{width:clamp(180px,min(24vw,34vh),320px)}

/* home stage */
.stage-title{margin:0;line-height:0}
.stage-tag{font-family:var(--f-game);font-weight:400;font-size:clamp(19px,2.1vw,30px);line-height:1.35;color:var(--k-gold);text-shadow:0 .07em 0 var(--k-0)}
.stage-desc{font-weight:700;color:#fff}
.chip.gold{color:var(--k-gold);background:rgba(255,210,61,.12);border-color:rgba(255,210,61,.5)}
.facts-row li{background:rgba(42,26,94,.5);font-family:var(--f-maru);font-weight:900;letter-spacing:.02em;font-size:13px}
.btn-game{font-family:var(--f-maru);font-weight:900}
html[data-lang="en"] .btn-game{font-family:var(--f-maru);font-stretch:100%;letter-spacing:0}
.stage-king{display:grid;place-items:center}
.stage-king img{width:min(100%,500px);height:auto}
.stage-king .talk{position:absolute;left:2%;top:6%;z-index:1;padding:14px 24px;border-radius:24px;background:#fff;color:var(--k-ink);font-weight:900;font-size:clamp(16px,1.7vw,24px);line-height:1.3;white-space:nowrap;box-shadow:0 14px 30px -14px rgba(0,0,0,.45);animation:bobs 3.2s ease-in-out infinite alternate}
.stage-king .talk::after{content:"";position:absolute;left:56px;bottom:-15px;border:10px solid transparent;border-top:12px solid #fff;border-bottom:0}
.peek-king{display:none}
.pin .peek-king{display:block;position:relative;z-index:1;width:48%;height:auto}
.static-star .king{width:50%;height:auto}
.lockup .ek-logo{margin:2px 0;width:clamp(150px,min(16vw,22vh),240px)}

/* world stars and next-title windows */
.world-star.emk .king,.world-next.emk .w-star .king{position:relative;z-index:1;display:block;width:50%;height:auto;transition:transform .6s var(--spring)}
.world-star.emk:hover .king,.world-next a:hover .w-star .king{transform:translateY(-4px) rotate(-6deg)}
.world-next .w-emk{line-height:0}

/* 404 */
.nf-king{width:clamp(120px,18vw,200px);height:auto;margin:0 auto 4px}
.nf h2{font-family:var(--f-game)}

/* game page: hero on the key-visual background (text lives in HTML, never in the image) */
.ek-hero{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:min(100svh,760px);padding:calc(var(--header-h) + 20px) 0 clamp(40px,7vh,80px);background:#ffd23d url(../works/iwakeking/kv/hero-bg.webp) 50% 50%/cover no-repeat;color:var(--k-ink);overflow:hidden}
.ek-hero .crumbs{color:rgba(42,26,94,.78)}
.ek-hero .crumbs a:hover{color:var(--k-ink)}
.ek-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2vh,22px);max-width:min(100%,560px);margin-top:clamp(18px,3vh,36px)}
.ek-title{margin:0;line-height:0}
.ek-hero .ek-logo{width:min(100%,520px)}
.ek-kicker{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;background:var(--k-ink);color:var(--k-gold);font-family:var(--f-game);font-size:clamp(13px,1.1vw,15px);letter-spacing:.04em}
.ek-tag{font-family:var(--f-game);font-weight:400;font-size:clamp(22px,2.6vw,38px);line-height:1.3;color:var(--k-ink)}
.ek-lead{max-width:30em;font-weight:700;font-size:clamp(15px,1.2vw,17.5px);line-height:1.9}
.ek-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.ek-actions.center{justify-content:center;margin-top:18px}
.ek-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 28px;border-radius:16px;font-family:var(--f-maru);font-weight:900;font-size:16.5px;line-height:1.2;white-space:nowrap;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.ek-btn.ink{background:var(--k-ink);color:var(--k-gold);box-shadow:0 6px 0 #150c33}
.ek-btn.ghost{background:#fff;color:var(--k-ink);border:2.5px solid var(--k-ink);box-shadow:0 6px 0 var(--k-ink)}
.ek-btn:hover{transform:translateY(3px);box-shadow:0 3px 0 #150c33}
.ek-btn.ghost:hover{box-shadow:0 3px 0 var(--k-ink)}
.ek-btn:active{transform:translateY(6px);box-shadow:none}
.ek-btn .arr{transition:transform .4s var(--ease)}
.ek-btn:hover .arr{transform:translate(3px,-3px)}
.ek-price{font-weight:900;font-size:14.5px;color:var(--k-ink)}
.ek-facts{display:flex;flex-wrap:wrap;gap:8px}
.ek-facts li{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.78);border:2px solid var(--k-ink);font-weight:900;font-size:13.5px;color:var(--k-ink)}

/* sections */
.ek-sec{position:relative;padding:clamp(56px,7.5vw,112px) 0}
.ek-sec.purple{background:var(--k-1);color:#fff;isolation:isolate;overflow:hidden}
.ek-sec.light{background:var(--k-tint);color:var(--k-ink)}
.ek-sec.yellow{background:var(--k-gold);color:var(--k-ink)}
.ek-sec.light+.ek-sec.light{padding-top:0}
.ek-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:clamp(24px,3.4vw,44px)}
.ek-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-game);font-size:13px;letter-spacing:.08em;color:var(--k-ink)}
.ek-label::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--k-red)}
.purple .ek-label::before{background:var(--k-gold)}
.purple .ek-label{color:var(--k-gold)}
.ek-h2{font-family:var(--f-game);font-weight:400;font-size:clamp(25px,3.4vw,50px);line-height:1.25;text-wrap:balance}
.ek-h3{font-family:var(--f-game);font-weight:400;font-size:clamp(18px,1.8vw,24px);margin-bottom:14px}
.ek-sub{max-width:36em;font-weight:700;font-size:clamp(15px,1.15vw,17px);line-height:1.8}
.purple .ek-sub{color:rgba(255,255,255,.92)}

/* trailer */
.ek-video{position:relative;width:min(100%,1040px);margin:0 auto;border-radius:clamp(14px,1.8vw,24px);overflow:hidden;background:var(--k-0);box-shadow:0 0 0 clamp(5px,.7vw,10px) rgba(255,255,255,.14),0 40px 80px -30px rgba(10,4,40,.8)}
.ek-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--k-0)}
.ek-note{margin-top:16px;text-align:center;font-size:13px;font-weight:700;color:rgba(255,255,255,.8)}

/* about */
.ek-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.ek-prose{max-width:34em;font-size:clamp(15.5px,1.2vw,17px);line-height:1.95;font-weight:500}
.ek-prose p+p{margin-top:1em}
.ek-prose b{font-weight:900}
.ek-shot{display:block;margin:0;border-radius:clamp(12px,1.6vw,20px);overflow:hidden;background:var(--k-0);box-shadow:0 0 0 clamp(4px,.6vw,8px) rgba(42,26,94,.14),0 30px 60px -28px rgba(42,26,94,.5)}
.ek-shot img{display:block;width:100%;height:auto}
.ek-shot figcaption,.ek-cap{margin-top:12px;text-align:center;font-size:13px;font-weight:700;color:var(--k-ink);opacity:.82}
figure.ek-shot{background:none;box-shadow:none;border-radius:0;overflow:visible}
figure.ek-shot img{border-radius:clamp(12px,1.6vw,20px);box-shadow:0 0 0 clamp(4px,.6vw,8px) rgba(42,26,94,.14),0 30px 60px -28px rgba(42,26,94,.5)}

/* how to play */
.ek-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);margin:0;padding:12px 0 0;list-style:none}
.ek-step{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(14px,1.5vw,20px);border-radius:clamp(16px,1.8vw,24px);background:#fff;border:3px solid var(--k-ink);box-shadow:0 8px 0 var(--k-ink)}
.ek-step .n{position:absolute;left:-12px;top:-16px;z-index:2;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--k-ink);color:var(--k-gold);border:3px solid #fff;box-shadow:0 0 0 3px var(--k-ink);font-family:var(--f-game);font-size:24px;line-height:1}
.ek-step figure.ek-shot img{box-shadow:none;border-radius:12px}
.ek-step h3{font-family:var(--f-game);font-weight:400;font-size:clamp(17px,1.5vw,21px);line-height:1.4;color:var(--k-ink)}
.ek-step p{font-size:14.5px;line-height:1.8;font-weight:500}
.ek-step figcaption{display:none}

/* modes */
.ek-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);margin:0;padding:0;list-style:none}
.ek-mode{--m:var(--k-gold);display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2vw,26px);border-radius:clamp(16px,1.8vw,24px);background:#fff;border:3px solid var(--k-ink);box-shadow:0 8px 0 var(--m)}
.ek-mode.speed{--m:var(--k-cyan)}.ek-mode.storm{--m:var(--k-mint)}.ek-mode.double{--m:var(--k-pink)}
.ek-mode .big{align-self:flex-start;padding:4px 14px;border-radius:999px;background:var(--m);color:var(--k-ink);font-family:var(--f-game);font-size:clamp(15px,1.3vw,18px);line-height:1.3}
.ek-mode h3{font-family:var(--f-game);font-weight:400;font-size:clamp(19px,1.7vw,24px);line-height:1.3;color:var(--k-ink)}
.ek-mode p{font-size:14.5px;line-height:1.75;font-weight:500}

/* characters */
.ek-cast{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,1.2vw,18px);align-items:end;margin:0;padding:0;list-style:none}
.ek-cast li{text-align:center}
.ek-cast img{display:block;width:100%;height:auto;transition:transform .5s var(--spring)}
.ek-cast li:hover img{transform:translateY(-8px) rotate(-4deg)}
.ek-cast b{display:block;margin-top:8px;font-family:var(--f-game);font-weight:400;font-size:clamp(12px,1.1vw,16px);color:var(--k-gold)}

/* features, achievements, faq */
.ek-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);margin:0;padding:0;list-style:none}
.ek-feat{padding:clamp(18px,2vw,26px);border-radius:clamp(16px,1.8vw,24px);background:#fff;border:3px solid var(--k-ink);box-shadow:0 8px 0 var(--k-ink)}
.ek-feat b{display:block;font-family:var(--f-game);font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.1;color:var(--k-ink)}
.ek-feat span{display:block;margin-top:6px;font-weight:900;font-size:15px;line-height:1.5}
.ek-feat small{display:block;margin-top:8px;font-size:13px;line-height:1.65;font-weight:500;color:rgba(42,26,94,.82)}
.ek-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(32px,4vw,56px)}
.ek-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ek-list li{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:12px;align-items:baseline;padding:10px 14px;border-radius:12px;background:#fff;border:2px solid rgba(42,26,94,.16)}
.ek-list b{font-family:var(--f-game);font-weight:400;font-size:14px;color:var(--k-ink)}
.ek-list span{font-size:13.5px;line-height:1.6;font-weight:500}
.ek-faq details{border:2.5px solid var(--k-ink);border-radius:14px;background:#fff;padding:0 16px;margin-bottom:10px}
.ek-faq summary{cursor:pointer;padding:12px 0;font-weight:900;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.ek-faq summary::after{content:"+";font-family:var(--f-game);color:var(--k-red)}
.ek-faq details[open] summary::after{content:"–"}
.ek-faq details p{padding:0 0 14px;font-size:14.5px;line-height:1.8;font-weight:500}

/* gallery */
.ek-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 18px;scrollbar-width:thin;scrollbar-color:var(--k-ink) transparent}
.ek-gallery figure{flex:0 0 min(78vw,520px);margin:0;scroll-snap-align:start}
.ek-gallery img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 4px rgba(42,26,94,.12)}
.ek-gallery figcaption{margin-top:10px;font-size:13px;font-weight:700;color:var(--k-ink)}

/* spec table */
.page-emk #spec{background:#fff}
.ek-spec{color:var(--k-ink)}
.ek-spec div{border-color:rgba(42,26,94,.14)}
.ek-spec dt{color:rgba(42,26,94,.7)}
.ek-spec dd{font-weight:700}
.ek-spec dd small{display:block;margin-top:4px;font-size:13px;font-weight:500;color:rgba(42,26,94,.75)}
.ek-spec a{display:inline-block;padding:10px 0;margin-block:-10px;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/100% 1px no-repeat}

/* final call to action */
.ek-final{padding:clamp(56px,8vw,120px) 0;background:var(--k-gold);color:var(--k-ink);text-align:center}
.ek-final .ek-logo{width:min(100%,360px);margin:0 auto 18px}
.ek-final .date{font-family:var(--f-game);font-size:clamp(17px,2vw,26px);line-height:1.4}
.ek-final .dev{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:clamp(28px,4vw,52px);font-size:13px;font-weight:900}
.ek-final .dev img{width:110px;height:auto}
.page-emk .g-sec{padding-top:clamp(40px,5vw,72px)}

@media(max-width:1100px){
  .ek-cast{grid-template-columns:repeat(4,1fr)}
  .ek-feats{grid-template-columns:1fr 1fr}
  .ek-modes{grid-template-columns:1fr 1fr}
}
@media(max-width:1100px){
  .ek-hero{min-height:0;padding-bottom:0;background:#ffd23d}
  .ek-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62vw;background:url(../works/iwakeking/kv/hero-bg.webp) 100% 100%/auto 100% no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 32%);mask-image:linear-gradient(to bottom,transparent,#000 32%);pointer-events:none}
  .ek-hero .wrap{position:relative;z-index:1;padding-bottom:50vw}
  .ek-hero .ek-logo{width:min(100%,420px)}
}
@media(max-width:900px){
  .lockup .ek-logo{width:clamp(140px,40vw,200px)}
  .stage-title .ek-logo{width:min(100%,300px)}
  .stage-king img{width:min(100%,24vh)}
  .ek-about,.ek-steps,.ek-two{grid-template-columns:1fr}
  .stage-king .talk{left:0;top:0;padding:10px 16px;font-size:15px}
  .stage-king .talk::after{left:40px}
  .stage-tag{font-size:clamp(17px,4.6vw,22px)}
  .ek-gallery{padding-inline:var(--gutter);width:auto;margin-inline:0}
}
@media(max-width:600px){
  .ek-modes,.ek-feats{grid-template-columns:1fr}
  .ek-cast{grid-template-columns:repeat(3,1fr)}
  .ek-btn{width:100%;min-height:54px;font-size:15.5px}
  .ek-hero .wrap{padding-bottom:62vw}
}
@media(prefers-reduced-motion:reduce){.stage-king .talk{animation:none}}
@media(max-width:600px){.pin .facts-row{display:none}}
@media(max-width:900px) and (max-height:760px){.stage-title .ek-logo{width:min(100%,240px)}.pin .stage-king{display:none}}
@media(max-width:600px){.ek-hero::after{background-image:url(../works/iwakeking/kv/hero-bg-sm.webp)}.pin .stage-king .talk{display:none}.pin .stage-title .ek-logo{width:min(100%,250px)}.pin .stage-copy{gap:10px}}
