:root
{
    --black: #000;
    --text: #212121;
    --accent: #138275;
    --max: 1150px;
}

*
{
    box-sizing: border-box;
}

html
{
    scroll-behavior: smooth;
}

body
{
    margin: 0;
    font-family: Lato, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;
    color: var(--text);
    background: #fff;
    line-height: 1.6;
}

img
{
    display: block;
    max-width: 100%;
    height: auto;
}

a
{
    color: inherit;
}

/* 헤더 */
.site-header
{
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    padding: 12px 28px;
}

.site-header .logo img
{
    height: 32px;
    width: auto;
}

.site-header nav > ul
{
    display: flex;
    flex-wrap: wrap;
    gap: 4px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header nav a,
.site-header nav summary
{
    font-size: 14px;
    letter-spacing: .02em;
    text-decoration: none;
    color: #666;
    cursor: pointer;
}

.site-header nav a:hover,
.site-header nav a[aria-current="page"],
.site-header nav summary:hover
{
    color: #000;
}

.site-header nav a[aria-current="page"]
{
    font-weight: 700;
}

/* MORE 드롭다운 */
.dropdown
{
    position: relative;
}

.dropdown summary
{
    list-style: none;
}

.dropdown summary::-webkit-details-marker
{
    display: none;
}

.dropdown summary::after
{
    content: " ▾";
}

.dropdown ul
{
    position: absolute;
    right: 0;
    top: 28px;
    min-width: 220px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
}

.dropdown ul a
{
    display: block;
    padding: 8px 16px;
    color: var(--text) !important;
}

.dropdown ul a:hover
{
    background: #f2f2f2;
}

/* 어두운 배너 위 헤더 */
.on-hero .site-header .logo img
{
    filter: invert(1);
}

.on-hero .site-header nav > ul > li > a,
.on-hero .site-header nav summary
{
    color: rgba(255, 255, 255, .8);
}

.on-hero .site-header nav > ul > li > a:hover,
.on-hero .site-header nav > ul > li > a[aria-current="page"],
.on-hero .site-header nav summary:hover
{
    color: #fff;
}

/* 페이지 배너 */
.hero
{
    height: 520px;
    background: url("img/hero-bg.webp") center / cover no-repeat;
}

.page-title
{
    margin: 0;
    padding: 40px 16px 24px;
    text-align: center;
    font-family: Oswald, Impact, sans-serif;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: .02em;
}

/* 섹션 */
.section
{
    padding: 24px 16px;
}

.section.dark
{
    background: var(--black);
    color: #fff;
}

.section .inner
{
    max-width: var(--max);
    margin: 0 auto;
}

.stack > * + *
{
    margin-top: 48px;
}

.banner-link
{
    position: relative;
    display: block;
}

.play-link
{
    position: absolute;
    left: 4.8%;
    top: 75.5%;
    width: 18.2%;
    height: 8.5%;
    border-radius: 999px;
}

.play-link:focus-visible
{
    outline: 3px solid var(--accent);
}

/* 캐러셀 */
.carousel
{
    position: relative;
}

.carousel .track
{
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.carousel .track::-webkit-scrollbar
{
    display: none;
}

.carousel .track img
{
    flex: 0 0 100%;
    scroll-snap-align: center;
}

.carousel .arrow
{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
}

.carousel .arrow:hover
{
    background: rgba(255, 255, 255, .3);
}

.carousel .prev
{
    left: 8px;
}

.carousel .next
{
    right: 8px;
}

.carousel .dots
{
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 20px 0 8px;
}

.carousel .dots button
{
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #bbb;
    cursor: pointer;
}

.carousel .dots button[aria-current="true"]
{
    background: var(--accent);
}

/* 다운로드 */
.download-lead
{
    margin: 40px 0 28px;
    text-align: center;
    font-size: 18px;
    color: rgba(255, 255, 255, .85);
}

.stores
{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    padding-bottom: 48px;
}

.store
{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 240px;
    padding: 12px 28px;
    border-radius: 999px;
    background: #fff;
    color: #000;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .15s, box-shadow .15s;
}

.store svg
{
    width: 28px;
    height: 28px;
    flex: none;
}

.store small
{
    display: block;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .08em;
    color: #555;
}

a.store:hover,
a.store:focus-visible
{
    transform: translateY(-2px);
    box-shadow: 0 0 24px rgba(120, 190, 255, .6);
}

.store.upcoming
{
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.store.upcoming small
{
    color: rgba(255, 255, 255, .6);
}

/* iOS 출시 알림 신청 */
.notify
{
    max-width: 560px;
    margin: 0 auto;
    padding: 32px 24px 40px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 16px;
    background: rgba(255, 255, 255, .04);
    scroll-margin-top: 24px;
}

.notify h2
{
    margin: 0 0 4px;
    text-align: center;
    font-family: Oswald, Impact, sans-serif;
    font-size: 24px;
}

.notify-lead
{
    margin: 0 0 20px;
    text-align: center;
    color: rgba(255, 255, 255, .75);
}

.notify-row
{
    display: flex;
    gap: 8px;
}

.notify input[type="email"]
{
    flex: 1;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    background: rgba(0, 0, 0, .4);
    color: #fff;
    font: inherit;
}

.notify input[type="email"]:focus
{
    outline: 2px solid var(--accent);
    border-color: transparent;
}

.notify button
{
    flex: none;
    padding: 12px 22px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #000;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.notify button:disabled
{
    opacity: .5;
    cursor: wait;
}

.notify-consent
{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-size: 14px;
    cursor: pointer;
}

.notify-consent a
{
    color: #8fd3c9;
}

.notify-consent + .notify-consent
{
    margin-top: 8px;
}

.notify-consent input
{
    width: 18px;
    height: 18px;
    accent-color: var(--accent);
}

.notify-terms
{
    margin-top: 8px;
    font-size: 13px;
    color: rgba(255, 255, 255, .7);
}

.notify-terms summary
{
    cursor: pointer;
}

.notify-terms ul
{
    margin: 8px 0;
    padding-left: 1.2em;
}

.notify-terms a
{
    color: #8fd3c9;
}

.notify-status
{
    min-height: 1.6em;
    margin: 12px 0 0;
    text-align: center;
    font-weight: 700;
}

.sr-only
{
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.store.mine
{
    outline: 3px solid var(--accent);
    outline-offset: 4px;
}

/* 약관/안내 문서 */
.doc
{
    max-width: 860px;
    margin: 0 auto;
    padding: 96px 16px 64px;
    font-size: 16px;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.doc h1,
.doc h2
{
    line-height: 1.4;
}

.doc p
{
    margin: 0 0 .6em;
}

.doc .center
{
    text-align: center;
}

.doc a
{
    color: var(--accent);
}

.doc-list
{
    padding-left: 1.2em;
}

.doc-list li
{
    margin: .4em 0;
}

.site-footer
{
    padding: 24px 16px;
    text-align: center;
    font-size: 13px;
    color: #888;
}

.site-footer a
{
    margin: 0 8px;
}

@media (max-width: 720px)
{
    .site-header
    {
        padding: 10px 16px;
    }

    .site-header nav > ul
    {
        gap: 4px 14px;
    }

    .site-header nav a,
    .site-header nav summary
    {
        font-size: 13px;
    }

    .hero
    {
        height: 240px;
    }

    .page-title
    {
        font-size: 32px;
        padding-top: 28px;
    }

    .doc
    {
        padding-top: 110px;
        font-size: 15px;
    }

    .carousel .arrow
    {
        display: none;
    }
}

/* 프로젝트 마키나 캠페인 디자인 */
:root { --black: #080b12; --text: #e9eef5; --accent: #ff8937; --max: 1380px; }
body { background: #080b12; color: #e9eef5; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 70% 15%, #172437 0, transparent 42%), #080b12; }
::selection { color: #080b12; background: #ffad63; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #ffad63; outline-offset: 4px; }
.site-header { position: absolute; min-height: 82px; padding: 18px clamp(20px, 4vw, 72px); background: linear-gradient(180deg, rgba(5,8,14,.9), rgba(5,8,14,.12)); border-bottom: 1px solid rgba(255,255,255,.09); }
.site-header .logo img, .on-hero .site-header .logo img { height: 36px; filter: brightness(0) invert(1); }
.site-header nav > ul { gap: 8px clamp(12px, 1.8vw, 30px); align-items: center; }
.site-header nav a, .site-header nav summary, .on-hero .site-header nav > ul > li > a, .on-hero .site-header nav summary { color: #d0d6df; font-family: Oswald, Impact, sans-serif; font-size: 14px; letter-spacing: .1em; }
.site-header nav a:hover, .site-header nav a[aria-current="page"], .site-header nav summary:hover, .on-hero .site-header nav > ul > li > a:hover, .on-hero .site-header nav > ul > li > a[aria-current="page"], .on-hero .site-header nav summary:hover { color: #ff9950; }
.site-header nav a[aria-current="page"] { border-bottom: 2px solid #ff8937; padding-bottom: 5px; }
.site-header nav > ul > li > a[href="/download/"] { padding: 10px 16px; border: 1px solid rgba(255,137,55,.75); color: #ffac76; }
.dropdown ul { top: 34px; background: #151b26; border: 1px solid #364052; box-shadow: 0 18px 42px #0008; }
.dropdown ul a { color: #e9eef5 !important; font-family: inherit; letter-spacing: 0; }
.dropdown ul a:hover { background: #253244; }
.site-footer { padding: 38px 16px 48px; background: #05070b; border-top: 1px solid #242e3d; color: #8e9bac; }
.site-footer p { margin: 4px 0; }
.site-footer a:hover { color: #fff; }
.eyebrow { margin: 0; color: #ff9950; font-family: Oswald, Impact, sans-serif; font-size: 12px; letter-spacing: .26em; font-weight: 700; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 56px; padding: 14px 24px; text-decoration: none; font-weight: 800; letter-spacing: .03em; transition: transform .2s, background .2s, box-shadow .2s; }
.button span { font-size: 21px; font-weight: 400; line-height: 1; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: #f77e30; color: #101015; box-shadow: 0 10px 38px rgba(247,126,48,.24); }
.button-primary:hover { background: #ff9f59; box-shadow: 0 12px 42px rgba(247,126,48,.4); }
.button-ghost { border: 1px solid #7b8798; color: #fff; background: rgba(9,14,22,.68); }
.button-ghost:hover { background: #1d2a3b; }
.button-light { background: #f4f7fc; color: #141924; }

/* 도어 오프닝 */
.entry-sequence { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 48%, #1f3543 0, #0c121d 38%, #020408 80%); animation: entry-exit 3.5s ease forwards; }
.entry-sequence::before { content: ""; position: absolute; inset: 0; opacity: .18; background: url("img/hero-bg.webp") center / cover; filter: grayscale(1); }
.entry-sequence::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.11) 4px 5px); }
.entry-noise { position: absolute; inset: -100%; pointer-events: none; opacity: .3; background: repeating-linear-gradient(90deg, transparent 0 11%, #f5822a 11.1% 11.2%, transparent 11.3% 30%); transform: rotate(-18deg); animation: noise-sweep 2.2s ease-out both; }
.entry-doorway { position: relative; width: min(72vw, 460px); aspect-ratio: 1; filter: drop-shadow(0 0 38px #f8792655); animation: doorway-pulse .6s ease both; }
.entry-frame { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; }
.entry-light { position: absolute; left: 23.5%; top: 9%; width: 53%; height: 81%; background: radial-gradient(circle, #d8f9ff, #6ed5ff 32%, #ffaf5b 65%, #161b28 100%); filter: blur(9px); opacity: 0; animation: portal-light 2s .75s forwards; }
.entry-panel { position: absolute; top: 10%; width: 27%; height: 79%; z-index: 2; object-fit: fill; filter: drop-shadow(0 0 9px #ee681f99); }
.entry-panel-left { left: 23.5%; animation: door-left 1.3s .75s cubic-bezier(.2,.7,.1,1) forwards; }
.entry-panel-right { right: 23.5%; animation: door-right 1.3s .75s cubic-bezier(.2,.7,.1,1) forwards; }
.entry-label, .entry-status { position: absolute; z-index: 4; color: #dbe7ed; font-family: Oswald, Impact, sans-serif; letter-spacing: .24em; font-size: clamp(11px, 1.4vw, 15px); text-align: center; }
.entry-label { top: max(30px, 8vh); }
.entry-status { bottom: max(52px, 10vh); }
.entry-status span { color: #ff8937; animation: status-blink .4s steps(2) infinite; }
.entry-skip { position: absolute; z-index: 5; right: 24px; bottom: 24px; border: 0; background: transparent; color: #bfcbd7; font: 700 12px Oswald, Impact, sans-serif; letter-spacing: .16em; cursor: pointer; }
.entry-skip:hover { color: #fff; }
@keyframes doorway-pulse { from { transform: scale(.82); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes door-left { 0%,10% { transform: translateX(0); } 100% { transform: translateX(-96%); } }
@keyframes door-right { 0%,10% { transform: translateX(0); } 100% { transform: translateX(96%); } }
@keyframes portal-light { 0% { opacity: 0; } 35% { opacity: .65; } 100% { opacity: 1; } }
@keyframes entry-exit { 0%,70% { opacity: 1; visibility: visible; } 100% { opacity: 0; visibility: hidden; } }
@keyframes status-blink { 50% { opacity: .15; } }
@keyframes noise-sweep { from { translate: -40% 0; opacity: 0; } to { translate: 35% 0; opacity: .18; } }

/* 홈 캠페인 */
.landing-hero { position: relative; min-height: min(900px, 100svh); display: flex; align-items: center; overflow: hidden; background: linear-gradient(90deg, #05080e 0%, #05080e 39%, rgba(5,8,14,.88) 53%, rgba(6,9,15,.12) 78%), linear-gradient(0deg,#080b12 0%,transparent 27%), url("img/game-banner.webp") 60% center / cover no-repeat; }
.hero-grid { position: absolute; inset: 0; opacity: .26; pointer-events: none; background-image: linear-gradient(#72a5ba1c 1px, transparent 1px), linear-gradient(90deg,#72a5ba1c 1px,transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(90deg,#000,transparent 70%); }
.landing-hero-content { position: relative; z-index: 1; width: min(660px, 53vw); margin: 92px 0 58px clamp(24px, 8vw, 150px); }
.landing-hero .eyebrow { display: flex; gap: 14px; align-items: center; color: #d4e2e9; font-size: 11px; }
.live-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #ff8e40; box-shadow: 0 0 12px #ff8e40; }
.eyebrow-line { width: 32px; height: 1px; background: #8497a5; }
.hero-kicker { margin: 48px 0 8px; color: #ff9950; font-size: clamp(15px,1.5vw,20px); font-weight: 800; letter-spacing: .2em; }
.landing-hero h1, .sub-hero h1 { margin: 0; color: #f7f9fc; font-size: clamp(64px, 7.5vw, 126px); font-weight: 900; line-height: 1.05; letter-spacing: -.08em; text-shadow: 0 6px 24px #0009; }
.landing-hero h1 em, .sub-hero h1 em { color: #ff8b40; font-style: normal; }
.hero-copy { margin: 26px 0 34px; padding-left: 18px; border-left: 2px solid #ff8937; color: #d4dee8; font-size: clamp(16px,1.3vw,19px); line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-side-label { position: absolute; right: 28px; top: 50%; writing-mode: vertical-rl; font: 700 11px Oswald, Impact, sans-serif; letter-spacing: .28em; color: #cbd7e9a8; }
.scroll-cue { position: absolute; bottom: 28px; left: clamp(24px,8vw,150px); color: #b4c2cf; text-decoration: none; font: 700 11px Oswald, Impact, sans-serif; letter-spacing: .2em; }
.scroll-cue span { margin-left: 20px; color: #ff8937; font-size: 18px; }
.signal-strip { display: flex; align-items: center; justify-content: space-around; gap: 24px; min-height: 54px; overflow: hidden; white-space: nowrap; background: #e37a34; color: #11141a; font: 700 15px Oswald, Impact, sans-serif; letter-spacing: .22em; }
.feature-section { padding: clamp(70px, 8vw, 130px) clamp(20px,5vw,80px); background: radial-gradient(circle at 50% 0,#182334,#090d15 55%); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: 1380px; margin: 0 auto 42px; }
.section-heading h2 { flex: 1; margin: 0; font-size: clamp(42px,5vw,78px); line-height: 1.12; letter-spacing: -.06em; }
.section-heading h2 strong { color: #ff9950; }
.section-heading > p:last-child { max-width: 340px; margin: 0 0 10px; color: #aab8c8; line-height: 1.8; }
.section-heading .eyebrow { align-self: start; flex: 0 0 100%; margin-bottom: -5px; }
.section-heading { flex-wrap: wrap; }
.feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; max-width: 1380px; margin: auto; }
.feature-card { display: flex; flex-direction: column; overflow: hidden; background: #111925; border: 1px solid #344154; color: #fff; text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
.feature-card:hover { transform: translateY(-7px); border-color: #ec8b4c; box-shadow: 0 20px 40px #0007; }
.feature-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.feature-meta { margin: 22px 22px 3px; color: #ff9950; font: 700 11px Oswald, Impact, sans-serif; letter-spacing: .2em; }
.feature-title { display: flex; align-items: center; justify-content: space-between; padding: 0 22px 22px; font-size: clamp(18px,1.5vw,24px); font-weight: 800; }
.feature-title b { color: #ff9950; font-weight: 400; }
.showcase-section { padding: 0 clamp(20px,5vw,80px) clamp(70px,8vw,120px); background: #090d15; }
.showcase-section .section-heading { padding-top: 25px; }
.showcase-section > img { display: block; width: min(100%,1380px); margin: auto; border: 1px solid #3a4962; box-shadow: 0 25px 70px #0008; }
.red-alert { display: grid; grid-template-columns: 42% 58%; min-height: 490px; background: #1b0a0e; border-top: 1px solid #893338; border-bottom: 1px solid #893338; }
.red-alert > div { position: relative; z-index: 1; align-self: center; padding: 70px clamp(22px,5vw,90px); }
.red-alert h2 { margin: 17px 0; font-size: clamp(38px,4.3vw,72px); line-height: 1.15; letter-spacing: -.06em; }
.red-alert p:not(.eyebrow) { color: #ead0ce; margin-bottom: 30px; }
.red-alert img { width: 100%; height: 100%; object-fit: cover; object-position: center; mask-image: linear-gradient(90deg,transparent,#000 22%); }
.final-cta { padding: 105px 20px 115px; text-align: center; background: radial-gradient(circle at center,#233447,#0b101a 60%); }
.final-cta h2 { margin: 10px 0 8px; font-size: clamp(36px,4vw,65px); letter-spacing: -.06em; }
.final-cta p:not(.eyebrow) { margin: 0 0 26px; color: #b6c1cf; }

/* 게임/내부 페이지 */
.sub-hero { position: relative; min-height: 670px; display: flex; align-items: center; padding: 120px clamp(22px,8vw,150px) 90px; background: linear-gradient(90deg,#05080eea 0,#080c14da 36%,transparent 75%),linear-gradient(0deg,#090e17 0,transparent 30%),url("img/game-banner.webp") center / cover; }
.game-sub-hero { background-image: linear-gradient(90deg,#05080e 0,#05080e 39%,#05080ee6 52%,transparent 82%),linear-gradient(0deg,#090e17 0,transparent 30%),url("img/game-banner.webp"); }
.sub-hero-content { position: relative; z-index: 1; width: min(620px,55vw); }
.sub-hero h1 { margin: 16px 0 18px; font-size: clamp(52px,6vw,96px); }
.sub-hero-content > p:not(.eyebrow) { max-width: 440px; color: #d0d9e2; line-height: 1.8; font-size: 18px; }
.sub-hero .button { margin-top: 20px; }
.sub-hero-index { position: absolute; right: 30px; bottom: 30px; color: #aab7c6; font: 700 12px Oswald, Impact,sans-serif; letter-spacing: .2em; }
.wide-promo { position: relative; min-height: 470px; overflow: hidden; display: flex; align-items: end; padding: 60px clamp(22px,8vw,150px); }
.wide-promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#070b14de,transparent 80%),linear-gradient(0deg,#070b14dc,transparent 80%); }
.wide-promo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wide-promo > div { position: relative; z-index: 1; max-width: 500px; }
.wide-promo h2 { margin: 8px 0; font-size: clamp(40px,5vw,76px); }
.wide-promo p:last-child { color: #d5deeb; }
.hero { height: 430px; background-position: center; }
.page-title { padding: 56px 16px 34px; color: #fff; font-size: clamp(36px,4vw,58px); letter-spacing: .14em; }
.section { padding-top: 35px; padding-bottom: 70px; }
.section.dark { background: #090d15; }
.stack > * + * { margin-top: 24px; }
.carousel .arrow { background: #0b1426c9; border: 1px solid #8b9daf; }
.carousel .dots button { background: #526073; }
.carousel .dots button[aria-current="true"] { background: #ff8937; }
.doc { color: #e9eef5; }
.doc a { color: #ffae76; }

/* 다운로드 화면 */
.download-hero { position: relative; min-height: 570px; display: grid; place-items: center; padding: 145px 20px 90px; text-align: center; background: linear-gradient(0deg,#090d15 0,transparent 50%),linear-gradient(#060a12b8,#060a12b8),url("img/market-5.jpg") center 42% / cover; }
.download-hero h1 { margin: 14px 0; font-size: clamp(52px,6vw,100px); line-height: 1.1; letter-spacing: -.07em; }
.download-hero h1 em { color: #ff9950; font-style: normal; }
.download-hero p:last-child { color: #d1dce8; font-size: 18px; }
.download-section { padding: 30px 20px 100px; background: #090d15; }
.download-section .inner { max-width: 940px; }
.download-section .download-lead { margin: 12px 0 36px; font-size: clamp(22px,2.5vw,34px); font-weight: 800; line-height: 1.5; }
.download-lead, .landing-hero h1, .sub-hero h1, .section-heading h2, .final-cta h2 { word-break: keep-all; }
.stores { padding-bottom: 60px; }
.store { border-radius: 4px; min-height: 72px; min-width: 290px; padding: 14px 25px; background: #f7f9fc; }
.store.upcoming { border: 1px solid #677588; background: #1b2736; }
.store.mine { outline-color: #ff8937; }
.notify { max-width: 680px; padding: 36px; border-radius: 0; border: 1px solid #526074; background: #172131; box-shadow: 0 22px 55px #0005; }
.notify h2 { font-size: 32px; }
.notify input[type="email"] { border-radius: 4px; }
.notify button { border-radius: 4px; background: #ff8937; color: #10141b; }
.notify-consent a, .notify-terms a { color: #ffae76; }

@media (max-width: 900px) {
    .site-header { position: relative; min-height: auto; background: #080c13; }
    .landing-hero { min-height: 700px; }
    .landing-hero-content { width: min(620px,72vw); margin-left: 6vw; }
    .section-heading { display: block; }
    .section-heading h2 { margin: 12px 0; }
    .section-heading > p:last-child { max-width: none; }
    .red-alert { grid-template-columns: 1fr; }
    .red-alert > div { grid-row: 2; }
    .red-alert img { grid-row: 1; height: 340px; mask-image: linear-gradient(0deg,transparent,#000 22%); }
    .sub-hero { min-height: 600px; }
    .game-sub-hero { background-image: linear-gradient(90deg,#05080efa 0,#05080eeb 36%,#05080e70 66%,transparent 100%),linear-gradient(0deg,#090e17 0,transparent 30%),url("img/game-banner.webp"); }
}
@media (max-width: 620px) {
    .site-header { padding: 14px 18px; gap: 15px; }
    .site-header nav { width: 100%; overflow-x: auto; scrollbar-width: none; }
    .site-header nav::-webkit-scrollbar { display: none; }
    .site-header nav > ul { width: max-content; flex-wrap: nowrap; gap: 18px; }
    .site-header nav a, .site-header nav summary, .on-hero .site-header nav > ul > li > a, .on-hero .site-header nav summary { font-size: 12px; white-space: nowrap; }
    .site-header nav > ul > li > a[href="/download/"] { padding: 6px 10px; }
    .landing-hero { min-height: 710px; align-items: end; background-position: 67% center; background-image: linear-gradient(0deg,#080b12 0,#080b12ee 24%,#080b1255 100%),url("img/game-banner.webp"); }
    .landing-hero-content { width: auto; margin: 0 22px 95px; }
    .landing-hero .eyebrow { font-size: 9px; gap: 8px; }
    .hero-kicker { margin-top: 28px; }
    .landing-hero h1 { font-size: clamp(54px,13vw,78px); }
    .hero-copy { font-size: 15px; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .button { min-height: 52px; justify-content: space-between; }
    .hero-side-label { display: none; }
    .scroll-cue { left: 22px; bottom: 22px; }
    .signal-strip { gap: 18px; justify-content: flex-start; padding: 0 20px; font-size: 12px; }
    .feature-section { padding: 70px 18px; }
    .section-heading { display: block; margin-bottom: 30px; }
    .section-heading h2 { margin: 12px 0; }
    .feature-grid { grid-template-columns: 1fr; }
    .feature-card img { aspect-ratio: 16 / 9; }
    .red-alert img { height: 240px; }
    .red-alert > div { padding: 35px 22px 55px; }
    .final-cta { padding: 75px 20px; }
    .sub-hero { min-height: 630px; align-items: end; padding: 80px 22px 65px; background-position: 64% center; background-image: linear-gradient(0deg,#080b12 0,#080b12e8 38%,#080b1244 100%),url("img/game-banner.webp"); }
    .game-sub-hero { background-image: linear-gradient(0deg,#080b12 0,#080b12ee 45%,#080b1266 100%),url("img/game-banner.webp"); }
    .sub-hero-content { width: 100%; }
    .sub-hero h1 { font-size: clamp(48px,12vw,70px); }
    .sub-hero-index { display: none; }
    .wide-promo { min-height: 360px; padding: 35px 22px; }
    .hero { height: 230px; }
    .page-title { padding-top: 30px; }
    .download-hero { min-height: 440px; padding: 80px 20px; }
    .download-hero h1 { font-size: 55px; }
    .download-section { padding-inline: 18px; }
    .stores { flex-direction: column; }
    .store { width: 100%; }
    .notify { padding: 26px 20px; }
    .notify-row { flex-direction: column; }
    .entry-doorway { width: min(92vw,430px); }
    .entry-status { bottom: 13vh; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .entry-sequence { display: none; }
    .button, .feature-card, .store { transition: none; }
}
