:root{color-scheme:light dark;--paper:#f5f6f7;--ink:#06182e;--muted:#586576;--accent:#2c6ca7;--line:#d2d9df;--pad:clamp(24px,4.7vw,84px);--header:80px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,'Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.skip{position:fixed;top:-70px;left:24px;z-index:40;padding:15px;background:var(--paper);border:1px solid var(--ink)}.skip:focus{top:10px}.header{height:var(--header);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{font-size:12px;font-weight:600;letter-spacing:.32em;white-space:nowrap}.header nav{display:flex;gap:clamp(24px,3.4vw,56px);align-items:center}.header nav a{font-size:14px;position:relative;padding:12px 0}.header nav a:hover{color:var(--accent)}.header nav a[aria-current=page]::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor}.menu-toggle{display:none}.home-hero{min-height:calc(100dvh - var(--header));position:relative;display:grid;grid-template-columns:1fr 1fr}.home-copy{padding:0 var(--pad) 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.home-copy h1{font-size:clamp(54px,7.1vw,134px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0}.slogan{font-size:clamp(17px,1.4vw,25px);letter-spacing:.2em;margin:34px 0 48px}.quiet-link{font-size:16px;letter-spacing:.14em;color:var(--accent);display:inline-flex;align-items:center;gap:26px;padding:8px 0}.link-line{height:1px;width:52px;background:currentColor;transition:width .2s}.quiet-link:hover .link-line{width:70px}.home-photo{position:relative;min-height:600px;z-index:0;background:#6383a0}.home-photo img{width:100%;height:calc(100% + var(--header));position:absolute;top:calc(-1 * var(--header));left:0;object-fit:cover;object-position:center 42%;z-index:-1}.header:has(+ main .home-hero) nav{color:#08182d}footer{padding:26px var(--pad);display:flex;gap:20px;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:.04em;line-height:1.6}body:has(.home-hero) footer{background:var(--paper)}.page-intro h1,.games-page>h1{font-size:clamp(56px,6.8vw,116px);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin:0}.page-intro>p{font-size:clamp(20px,2vw,28px);line-height:1.7;letter-spacing:-.025em;margin:34px 0 0}.studio-page,.contact-page{padding:clamp(60px,8vw,120px) var(--pad) 90px;min-height:calc(100dvh - 150px)}.studio-page .page-intro{max-width:850px}.values{margin:85px 0 0 auto;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;column-gap:12%;row-gap:60px}.value h2{font-size:clamp(24px,2.1vw,34px);font-weight:500;letter-spacing:-.04em;margin:0 0 22px;line-height:1.4}.value p{font-size:17px;line-height:1.85;color:var(--muted);max-width:460px;margin:0;word-break:keep-all}.value:nth-child(2){margin-top:85px}.value:nth-child(3){grid-column:1 / -1;max-width:480px}.studio-closing{margin-top:100px;border-top:1px solid var(--line);padding-top:34px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.studio-closing>span{font-size:12px;letter-spacing:.22em}.studio-closing>p{font-size:26px;letter-spacing:-.02em;margin:0}.games-page{padding:clamp(45px,6vw,90px) var(--pad) 45px;min-height:calc(100dvh - 150px)}.games-page>h1{margin-bottom:45px}.game-banner{position:relative;height:clamp(360px,43vw,670px);margin:0;overflow:hidden;background:#537b9d}.game-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,44,.6),rgba(3,22,44,.05) 80%);pointer-events:none}.game-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;display:block}.game-banner figcaption{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:5vw;color:#f5f7f9}.game-banner figcaption>span{font-size:clamp(24px,3vw,50px);letter-spacing:.2em;font-weight:400}.game-banner strong{font-size:clamp(100px,15vw,230px);font-weight:500;letter-spacing:-.06em;line-height:1.05}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:70px;padding-bottom:120px}.contact-content{padding-top:45px}.contact-content h2{font-size:clamp(20px,2vw,27px);font-weight:500;line-height:1.6;letter-spacing:-.03em;margin:0 0 28px}.contact-content p{font-size:17px;line-height:1.9;color:var(--muted);margin:0}.contact-wordmark{font-size:12px;letter-spacing:.26em;margin-top:70px;color:var(--muted)}
@media(prefers-color-scheme:dark){:root{--paper:#101b27;--ink:#e6edf4;--muted:#acbaca;--accent:#91b9e2;--line:#364453}.header:has(+ main .home-hero) nav{color:#091b2c}.home-photo img{filter:brightness(.83)}}
@media(min-width:1800px){.studio-page,.games-page,.contact-page{max-width:1680px;margin-inline:auto}}
@media(max-width:900px){:root{--header:72px}.brand{font-size:11px;letter-spacing:.24em}.header nav{gap:22px}.home-copy h1{font-size:clamp(48px,7.5vw,75px)}.slogan{letter-spacing:.12em;font-size:17px}.values{column-gap:8%}.contact-page{gap:7%}}
@media(max-width:680px){:root{--header:70px;--pad:24px}.header{background:var(--paper)}.brand{font-size:11px;letter-spacing:.2em}.menu-toggle{display:block;border:0;background:transparent;color:var(--ink);font-size:14px;padding:12px 0 12px 20px}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);color:var(--ink)!important;padding:12px 24px 24px;flex-direction:column;align-items:flex-start;gap:4px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{font-size:16px;padding:14px 0}.home-hero{display:flex;flex-direction:column;min-height:0}.home-copy{min-height:465px;justify-content:center;padding-top:50px;padding-bottom:50px}.home-copy h1{font-size:clamp(66px,15vw,96px);line-height:1}.slogan{font-size:17px;margin:28px 0 32px;letter-spacing:.16em}.home-photo{min-height:520px;height:65vh;max-height:700px}.home-photo img{height:100%;top:0;object-position:50% 48%;z-index:0}.studio-page,.games-page,.contact-page{padding-top:55px;padding-bottom:65px;min-height:calc(100dvh - 155px)}.page-intro h1,.games-page>h1{font-size:65px}.page-intro>p{font-size:22px;margin-top:26px}.values{grid-template-columns:1fr;margin-top:65px;gap:42px}.value:nth-child(2){margin-top:0}.value:nth-child(3){grid-column:auto}.value h2{font-size:26px;margin-bottom:14px}.value p{font-size:16px}.studio-closing{margin-top:65px;display:block;padding-top:25px}.studio-closing p{font-size:25px;margin-top:18px}.games-page>h1{margin-bottom:30px}.game-banner{height:440px}.game-banner figcaption{padding:28px}.game-banner figcaption span{font-size:25px}.game-banner strong{font-size:130px}.contact-page{grid-template-columns:1fr;gap:60px;align-content:start}.contact-content{padding-top:0}.contact-content h2{font-size:21px;margin-bottom:20px}.contact-content p{font-size:16px}.contact-wordmark{margin-top:45px}footer{font-size:12px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.quiet-link{font-size:15px}}
/* Layer scale: image=0, banner text=1, header=20, skip=40, transition=50. */
html{scroll-padding-top:var(--header)}section{scroll-margin-top:12px}section:focus{outline:none}.header{position:sticky;top:0;background:color-mix(in srgb,var(--paper) 93%,transparent);backdrop-filter:blur(12px)}.header:has(+ main .home-hero) nav{color:var(--ink)}.header nav a::after{transition:transform .25s;transform-origin:left}.header nav a[aria-current=location]::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;animation:nav-mark .4s ease both}.page-intro .section-title,.games-page>.section-title{font-size:clamp(56px,6.8vw,116px);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin:0}.games-page>.section-title{margin-bottom:45px}.studio-page,.games-page,.contact-page{position:relative;border-top:1px solid var(--line);padding-top:clamp(80px,9vw,140px);padding-bottom:clamp(90px,10vw,160px);min-height:calc(100dvh - var(--header))}.home-photo{overflow:clip;min-height:600px}.home-photo img{height:100%;top:0;z-index:0}.value:nth-child(2){--reveal-delay:110ms}.value:nth-child(3){--reveal-delay:160ms}.contact-content{--reveal-delay:120ms}.transition-sheet{position:fixed;inset:0;z-index:50;pointer-events:none;transform:translateY(110%);background:var(--paper);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);opacity:.97}.game-banner img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.game-banner:hover img{transform:scale(1.035)}
@keyframes nav-mark{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hero-enter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.home-copy h1{animation:hero-enter 900ms cubic-bezier(.16,1,.3,1) both}.slogan{animation:hero-enter 900ms 130ms cubic-bezier(.16,1,.3,1) both}.home-copy .quiet-link{animation:hero-enter 900ms 250ms cubic-bezier(.16,1,.3,1) both}.motion-ready .reveal{opacity:0;transform:translateY(36px);transition:opacity 850ms cubic-bezier(.16,1,.3,1),transform 850ms cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .game-banner.reveal{transform:translateY(48px) scale(.975)}.motion-ready .game-banner.reveal.is-visible{transform:none}@supports(animation-timeline:view()){.home-photo img{animation:photo-drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}.home-copy{animation:copy-exit linear both;animation-timeline:view();animation-range:exit 0% exit 100%}}}
@keyframes photo-drift{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.12) translateY(5%)}}@keyframes copy-exit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-45px)}}
@media(max-width:680px){.page-intro .section-title,.games-page>.section-title{font-size:65px}.games-page>.section-title{margin-bottom:30px}.studio-page,.games-page,.contact-page{padding-top:65px;padding-bottom:80px}.home-photo{min-height:460px;height:58vh}.home-copy{min-height:calc(68svh - var(--header))}.header{backdrop-filter:none}.motion-ready .reveal{transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.transition-sheet{display:none}}
/* Bilingual controls stay visible outside the mobile menu. */
.header-controls{display:flex;align-items:center;gap:20px;order:3}.language-switch{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.language-switch button{border:0;background:transparent;color:inherit;padding:12px 2px;font-size:11px;letter-spacing:.04em;cursor:pointer}.language-switch button[aria-pressed=true]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:5px}.header nav{margin-left:auto;margin-right:clamp(24px,3.4vw,56px)}[data-i18n]{white-space:pre-line}.game-banner{height:auto;aspect-ratio:1200 / 896}.game-banner img{object-position:center}.game-banner::after{background:linear-gradient(135deg,rgba(3,22,44,.50),rgba(3,22,44,.22) 55%,rgba(3,22,44,.18))}.game-banner figcaption{justify-content:flex-start;padding:clamp(24px,4vw,60px)}.game-banner figcaption>span{font-size:clamp(18px,2vw,28px)}.game-banner strong{font-size:clamp(80px,9vw,140px)}
@media(max-width:900px){.header nav{gap:20px;margin-right:24px}.header-controls{gap:12px}}
@media(max-width:680px){.header nav{margin:0}.header-controls{gap:14px}.menu-toggle{padding-left:0}.game-banner strong{font-size:80px}.game-banner figcaption>span{font-size:18px}}
/* Kinetic type and restrained aviation graphics; finite entry motion only. */
.type-line{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}.type-line:nth-child(2){--line-delay:180ms}.type-glyph{display:inline-block}.kinetic-type{isolation:isolate}.home-copy h1{animation:none}.slogan::after{content:'';display:block;width:44px;height:1px;margin-top:24px;background:var(--accent);transform-origin:left}.flight-graphic{position:absolute;right:clamp(24px,4vw,60px);bottom:clamp(28px,4vw,60px);width:116px;height:116px;z-index:1;pointer-events:none;opacity:.55}.flight-ring{position:absolute;inset:12px;border:1px solid rgba(245,247,249,.45);border-left-color:#f5f7f9;border-right-color:transparent;border-radius:50%}.flight-ring::after{content:'';position:absolute;inset:12px;border:1px solid rgba(245,247,249,.4);border-top-color:transparent;border-radius:50%}.flight-cross::before,.flight-cross::after{content:'';position:absolute;background:rgba(245,247,249,.6)}.flight-cross::before{width:100%;height:1px;top:50%;left:0}.flight-cross::after{width:1px;height:100%;left:50%;top:0}.reading-progress{display:none;position:fixed;top:var(--header);left:0;width:100%;height:2px;background:var(--accent);z-index:21;transform-origin:left;pointer-events:none}
@keyframes glyph-enter{from{opacity:0;transform:translateY(110%) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes instrument-enter{from{opacity:0;transform:rotate(-55deg) scale(.8)}to{opacity:.55;transform:rotate(0) scale(1)}}
@keyframes instrument-turn{from{transform:rotate(-60deg)}to{transform:rotate(55deg)}}
@keyframes reading{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes artwork-drift{from{transform:scale(1.065) translateY(1.5%)}to{transform:scale(1.025) translateY(-1%)}}
@media(prefers-reduced-motion:no-preference){.motion-ready .type-line .type-glyph{animation:glyph-enter 1100ms cubic-bezier(.16,1,.3,1) both;animation-delay:calc(100ms + var(--line-delay,0ms) + var(--glyph)*38ms)}.motion-ready .section-title .type-glyph,.motion-ready .game-banner strong .type-glyph{opacity:0;transform:translateY(110%)}.motion-ready .section-title.is-visible .type-glyph,.motion-ready .game-banner.is-visible strong .type-glyph{animation:glyph-enter 1000ms cubic-bezier(.16,1,.3,1) both;animation-delay:calc(100ms + var(--glyph)*55ms)}.section-title{overflow:clip}.slogan::after{animation:line-draw 900ms 650ms cubic-bezier(.16,1,.3,1) both}.flight-graphic{animation:instrument-enter 1400ms 500ms cubic-bezier(.16,1,.3,1) both}.flight-ring{animation:instrument-turn 16s 1.5s ease-out both}@supports(animation-timeline:scroll()){.reading-progress{display:block;animation:reading linear both;animation-timeline:scroll(root block)}}@supports(animation-timeline:view()){.game-banner img{animation:artwork-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}}}
@media(max-width:680px){.flight-graphic{width:88px;height:88px;right:24px;bottom:28px}.slogan::after{margin-top:18px}.studio-page{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.type-glyph{opacity:1!important;transform:none!important}.reading-progress{display:none}.flight-graphic{opacity:.4}}
.game-banner strong .type-glyph{font:inherit;letter-spacing:inherit}
/* The artwork occupies exactly 60% of the Games content width. */
.game-feature{display:grid;grid-template-columns:60% minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}.game-banner{min-width:0}.game-banner figcaption{padding:clamp(24px,3vw,48px)}.game-banner figcaption>span{font-size:clamp(24px,2.6vw,36px)}.game-banner strong{font-size:clamp(110px,12vw,180px)}.game-description{--reveal-delay:160ms}.game-description p{font-size:clamp(18px,1.7vw,24px);line-height:1.85;letter-spacing:-.025em;color:var(--muted);margin:0;max-width:28ch;word-break:keep-all}
@media(max-width:680px){.game-feature{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.game-feature .game-banner{width:60%}.game-banner figcaption{padding:16px}.game-banner figcaption>span{font-size:clamp(14px,4vw,18px)}.game-banner strong{font-size:clamp(64px,22vw,96px)}.game-description p{font-size:17px;max-width:34ch}}
/* A continuous sky gradient is revealed naturally by scrolling down the page. */
:root{color-scheme:light;--paper:#edf6fa;--ink:#09283f;--muted:#35566d;--accent:#24628e;--line:rgba(9,40,63,.17);--intro-height:max(125svh,133.333vw)}body{background:linear-gradient(to bottom,#07254e 0,#183f6b calc(var(--intro-height)*.35),#5489b5 calc(var(--intro-height)*.7),#a9cde3 var(--intro-height),#dcecf6 calc(var(--intro-height) + 1000px),#edf6fa 100%);background-repeat:no-repeat}.home-hero{display:block;min-height:var(--intro-height);view-timeline-name:--opening;view-timeline-axis:block}.home-copy{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 var(--pad) 5svh;color:#fff;animation:none}.home-copy h1{font-size:clamp(78px,11.8vw,190px);font-weight:500;line-height:.95;letter-spacing:-.055em}.slogan{font-size:clamp(18px,1.7vw,28px);letter-spacing:.16em;margin:36px 0 0}.slogan::after{display:none}.studio-page,.games-page,.contact-page{border-top:0}.header{color:var(--ink);background:rgba(225,239,247,.92);transition:color .4s,background-color .4s}.header nav{color:inherit!important}html[data-section=home] .header{color:#fff;background:rgba(7,37,78,.14)}html[data-section=home] .language-switch,html[data-section=home] .language-switch button[aria-pressed=true],html[data-section=home] .menu-toggle{color:#fff}html[data-section=home] .header nav a:hover{color:#b9dcf2}.language-switch{color:inherit}.menu-toggle{color:inherit}body:has(.home-hero) footer{background:transparent}.transition-sheet{background:#dcecf6}.reading-progress{background:#8cbedc}.skip{background:#edf6fa;color:var(--ink)}
@keyframes opening-fade{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}
@media(prefers-reduced-motion:no-preference){@supports(animation-timeline:view()){.home-copy{animation:opening-fade linear both;animation-timeline:--opening;animation-range:contain 55% contain 100%}}}
@media(max-width:680px){.home-hero{display:block}.home-copy{min-height:0;padding-top:0;padding-bottom:6svh}.home-copy h1{font-size:clamp(64px,16vw,96px)}.slogan{margin:28px 0 0;font-size:17px}.header nav{background:#dcecf6;color:var(--ink)!important}html[data-section=home] .header nav a:hover{color:var(--accent)}}
/* Reference wordmark proportions, with the existing G and slogan sizes. */
.home-copy h1 .logo-line{display:flex;align-items:baseline;justify-content:center;gap:.10em}.home-copy h1 .logo-over{font-size:.74em;line-height:1;letter-spacing:-.055em}.home-copy h1 .logo-g{font-size:1em;line-height:1;--line-delay:100ms}.home-copy h1 .logo-studio{font-size:.32em;line-height:1.3;letter-spacing:.46em;margin-top:.38em;padding-left:.46em;--line-delay:220ms}
/* Approved vector identity: white on the opening sky, original colors on pale sky. */
.brand{position:relative;display:block;flex-shrink:0;width:clamp(108px,10vw,144px);aspect-ratio:1564/696;letter-spacing:0}
.brand-logo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transition:opacity .4s}
.brand-logo-dark{opacity:0}.brand-logo-light{opacity:1}
html[data-section=home] .brand-logo-dark{opacity:1}html[data-section=home] .brand-logo-light{opacity:0}
.home-copy h1{width:min(760px,76vw);font-size:inherit;line-height:1;letter-spacing:0}
.hero-logo{display:block;width:100%;height:auto}
.contact-wordmark{max-width:210px;margin-top:54px}.contact-wordmark img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:no-preference){.hero-logo{animation:hero-enter 1200ms cubic-bezier(.16,1,.3,1) both}}
@media(max-width:680px){.brand{width:104px}.home-copy h1{width:100%;max-width:500px}.home-copy .slogan{font-size:clamp(14px,4.35vw,17px);letter-spacing:.12em;margin-top:28px}.contact-wordmark{max-width:180px}}
/* A quiet slogan opens the page; the studio signature closes it. */
@font-face{font-family:Rajdhani;src:url('/assets/fonts/rajdhani-latin-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
.home-copy .opening-slogan{width:auto;max-width:100%;font-family:Rajdhani,'Arial Narrow',Arial,sans-serif;font-size:clamp(42px,7vw,100px);font-weight:500;letter-spacing:.075em;line-height:1.15;text-transform:uppercase}
footer{align-items:center;padding-top:36px;padding-bottom:36px;border-top:1px solid var(--line)}
.footer-brand{display:block;width:clamp(150px,15vw,190px);flex-shrink:0}.footer-brand img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:no-preference){.opening-slogan{animation:hero-enter 1100ms cubic-bezier(.16,1,.3,1) both}}
@media(max-width:680px){.home-copy .opening-slogan{font-size:clamp(30px,8.5vw,57px);letter-spacing:.045em}footer{gap:24px}.footer-brand{width:140px}}
.contact-content{padding-top:0}.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:clamp(18px,2vw,28px);line-height:1.6;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}.contact-email:hover{color:var(--accent)}
.game-banner[role=button]{cursor:pointer}.game-banner[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:8px}
.gallery-open{overflow:hidden}.media-gallery{color:#eaf3fa;background:#081c2b;border:1px solid #47647c;padding:0;width:min(1100px,94vw);max-width:none;max-height:94svh;overflow:auto;box-shadow:0 32px 100px #0007}.media-gallery::backdrop{background:#03101de0;backdrop-filter:blur(10px)}.gallery-shell{padding:clamp(16px,3vw,32px)}.gallery-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.gallery-kicker{font:500 14px Rajdhani,Arial,sans-serif;letter-spacing:.2em;color:#9ebbd0}.gallery-heading h2{font:500 clamp(24px,4vw,36px) Rajdhani,Arial,sans-serif;margin:4px 0 0}.media-gallery button{font:inherit;color:inherit;background:transparent;border:1px solid #47647c;padding:10px 16px;cursor:pointer;min-height:44px}.media-gallery button:hover{background:#18384e}.media-gallery button:focus-visible,.media-gallery a:focus-visible{outline:2px solid #9dcaf1;outline-offset:4px}.gallery-close{align-self:flex-start}.gallery-stage{width:100%;height:min(54svh,620px);background:#030b12;display:flex;align-items:center;justify-content:center;touch-action:pan-y;cursor:grab;overflow:hidden}.gallery-stage:active,.gallery-caption:active{cursor:grabbing}.gallery-stage img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.gallery-stage iframe{width:100%;height:100%;border:0}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.gallery-caption{display:flex;justify-content:center;align-items:center;gap:16px;flex:1;min-height:44px;touch-action:pan-y;user-select:none;cursor:grab;font-size:14px}.gallery-count{font:500 18px Rajdhani,Arial,sans-serif;letter-spacing:.1em;color:#91b4cf}.gallery-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-thumbnails button{padding:0;text-align:left;overflow:hidden}.gallery-thumbnails button[aria-pressed=true]{border-color:#c1e5ff;box-shadow:inset 0 -2px #c1e5ff}.gallery-thumbnails img,.video-thumbnail{width:100%;height:clamp(55px,8vw,100px);object-fit:cover;display:block}.video-thumbnail{display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#285676,#0b2237);font:500 22px Rajdhani,Arial,sans-serif;letter-spacing:.1em}.gallery-thumbnails button>span:last-child{display:block;padding:10px 12px;font-size:14px}.gallery-video-link{display:inline-block;color:#b9d5e9;font-size:14px;text-underline-offset:4px;margin-top:16px}.gallery-video-link[hidden]{display:none}
@media(max-width:680px){.media-gallery{width:96vw;max-height:96svh}.gallery-stage{height:min(48svh,390px)}.gallery-caption{gap:8px;flex-direction:column}.gallery-toolbar{gap:8px}.media-gallery .gallery-prev,.media-gallery .gallery-next{padding:8px 12px}.gallery-thumbnails{gap:6px}.gallery-thumbnails button>span:last-child{font-size:12px;padding:8px 5px}.video-thumbnail{font-size:18px}.gallery-heading{margin-bottom:14px}}
.gallery-stage{height:min(54svh,calc(94svh - 360px),620px);min-height:160px}@media(max-width:680px){.gallery-stage{height:min(48svh,390px)}}
/* Minimal media lightbox: floating controls, no captions or thumbnail panels. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.media-gallery{width:min(1120px,96vw);max-height:96svh;background:transparent;border:0;box-shadow:none;overflow:visible;padding:0;color:#fff}
.media-gallery::backdrop{background:rgba(2,12,22,.86);backdrop-filter:blur(8px)}
.gallery-shell{position:relative;padding:48px 62px 0}
.gallery-frame{position:relative}.gallery-stage{height:min(70svh,680px);min-height:0;background:#020910;box-shadow:0 20px 70px #0005;cursor:grab}.gallery-stage iframe{display:block}
.media-gallery .gallery-close,.media-gallery .gallery-prev,.media-gallery .gallery-next{position:absolute;display:grid;place-items:center;padding:0;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s,transform .2s}
.media-gallery .gallery-close:hover,.media-gallery .gallery-prev:hover,.media-gallery .gallery-next:hover{background:rgba(255,255,255,.2)}
.media-gallery .gallery-close{right:62px;top:0}.media-gallery .gallery-prev{left:-56px;top:calc(50% - 22px)}.media-gallery .gallery-next{right:-56px;top:calc(50% - 22px)}
.media-gallery svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gallery-dots{display:flex;align-items:center;justify-content:center;gap:4px;min-height:48px;touch-action:pan-y;user-select:none;cursor:grab}
.media-gallery .gallery-dots button{display:grid;place-items:center;width:36px;height:40px;min-height:40px;padding:0;border:0;background:transparent;border-radius:0}
.gallery-dots button::after{content:'';width:7px;height:7px;border-radius:50%;background:#ffffff5c;transition:background .2s,transform .2s}.gallery-dots button[aria-pressed=true]::after{background:#fff;transform:scale(1.25)}.gallery-dots button:hover::after{background:#ffffffbc}
@media(prefers-reduced-motion:no-preference){.media-gallery[open] .gallery-shell{animation:gallery-in .25s ease-out both}}@keyframes gallery-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:680px){.media-gallery{width:98vw}.gallery-shell{padding:48px 36px 0}.gallery-stage{height:min(65svh,480px)}.media-gallery .gallery-close{right:36px}.media-gallery .gallery-prev{left:-35px;width:32px}.media-gallery .gallery-next{right:-35px;width:32px}.media-gallery .gallery-prev,.media-gallery .gallery-next{background:transparent}.media-gallery svg{width:22px;height:22px}}
/* A quiet invitation to open the game media. */
.banner-open-hint{position:absolute;right:24px;bottom:24px;z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(5,26,45,.28);backdrop-filter:blur(4px);color:#fff;opacity:0;transform:scale(.88);transition:opacity .25s,transform .3s;pointer-events:none}
.banner-open-hint svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.game-banner:hover .banner-open-hint,.game-banner:focus-visible .banner-open-hint{opacity:1;transform:scale(1)}
.cloud-word{display:inline-block;white-space:nowrap}.cloud-letter{display:inline-block;transform-origin:center;user-select:none}.opening-slogan{user-select:none;cursor:grab}.home-hero.is-dragging .opening-slogan{cursor:grabbing}
@media(hover:none){.banner-open-hint{opacity:1;transform:none;right:12px;bottom:12px;width:42px;height:42px}.banner-open-hint svg{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.banner-open-hint{transition:none}}
/* Centered, generous invitation: roughly one quarter of the banner width. */
.banner-open-hint{left:50%;top:50%;right:auto;bottom:auto;width:25%;height:auto;aspect-ratio:1;min-width:70px;max-width:210px;transform:translate(-50%,-50%) scale(.88);background:rgba(5,26,45,.16)}
.banner-open-hint svg{width:82%;height:82%;stroke-width:1}
.game-banner:hover .banner-open-hint,.game-banner:focus-visible .banner-open-hint{transform:translate(-50%,-50%) scale(1)}
@media(hover:none){.banner-open-hint{width:25%;height:auto;right:auto;bottom:auto;transform:translate(-50%,-50%)}.banner-open-hint svg{width:82%;height:82%}}
