:root { --max: 1280px; --cyan: #79dce6; --violet: #c195ed; --muted: #a2a5aa; --line: rgba(215,212,229,.16); }
body { background:#09090c; }
.launch-page { animation:none; }
.site-header { grid-template-columns:1fr auto; background:rgba(9,9,12,.94); }
.site-header:has(.account-button:not(.hidden)) { grid-template-columns:1fr auto auto; gap:28px; }
.brand-icon { object-fit:contain; }
.primary-nav { gap:30px; }
.primary-nav > a { font-size:10px; padding:30px 0; }
.primary-nav a[aria-current="page"] { color:var(--cyan); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--cyan); outline-offset:6px; }
main:focus { outline:none; }
.launch-page h1,.launch-page h2 { color:#f1ecdf; }
.launch-page h1 em,.launch-page h2 em { font-weight:300; color:#c7a2e5; }
.launch-page .eyebrow { color:#b7b2bc; font-size:10px; }
.status-dot { display:inline-block; width:6px; height:6px; margin-right:8px; background:var(--cyan); border-radius:50%; box-shadow:0 0 12px #79dce650; }
.launch-hero { display:grid; grid-template-columns:1.13fr .87fr; align-items:center; gap:7%; min-height:min(850px,calc(100vh - 78px)); padding-top:60px; padding-bottom:70px; position:relative; }
.launch-hero::before { content:""; position:absolute; right:-5%; top:8%; width:70%; height:80%; background:radial-gradient(ellipse at 60% 45%,#623d6816,transparent 60%); pointer-events:none; }
.launch-copy { position:relative; z-index:1; padding-top:20px; }
.launch-copy h1 { font-size:clamp(52px,5.9vw,86px); line-height:1.02; margin:28px 0; letter-spacing:-.04em; }
.launch-lead { font-size:clamp(18px,1.7vw,23px); line-height:1.6; color:#d0ccd1; }
.launch-description { color:var(--muted); font-size:14px; line-height:1.9; max-width:490px; margin:23px 0 30px; }
.launch-page .button { min-height:49px; gap:22px; font-size:10px; letter-spacing:.09em; padding:0 22px; }
.launch-page .button.primary { background:#e7dfcf; border-color:#e7dfcf; }
.launch-page .button.primary:hover { background:var(--cyan); border-color:var(--cyan); }
.launch-page .actions { gap:20px; align-items:center; }
.text-link { display:inline-flex; align-items:center; gap:20px; font-size:12px; line-height:1.7; color:#d9d2de; border-bottom:1px solid #716576; padding:6px 0; width:max-content; max-width:100%; }
.text-link:hover { color:var(--cyan); border-color:var(--cyan); }
.hero-note { display:flex; justify-content:space-between; gap:20px; padding-top:50px; max-width:490px; color:#88808e; font:8px var(--mono); letter-spacing:.12em; }
.cover-stage { width:100%; max-width:374px; justify-self:center; position:relative; display:block; padding:0 0 12px; }
.book-cover { display:block; width:100%; height:auto; }
.cover-stage .book-cover { box-shadow:0 15px 50px #0008,-5px 0 0 #2d2534,-8px 0 0 #100e14; border:1px solid #332b3b; transform:perspective(1300px) rotateY(-5deg); transition:transform .4s; }
.cover-stage:hover .book-cover { transform:perspective(1300px) rotateY(0deg); }
.cover-caption { display:flex; justify-content:space-between; align-items:center; font:8px var(--mono); letter-spacing:.12em; color:#aaa0b0; padding-top:20px; gap:8px; }
.cover-caption i { font-style:normal; letter-spacing:0; color:#7f7787; }
.story-question { text-align:center; padding:100px 20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 50% 100%,#583a6b0c,transparent 70%); }
.story-question h2 { font-size:clamp(34px,4.4vw,60px); line-height:1.15; margin:28px 0 25px; }
.story-question p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.9; max-width:560px; margin:0 auto 22px; }
.story-links { justify-content:center; gap:30px; }
.initiative-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:10%; padding-top:80px; padding-bottom:85px; }
.initiative-heading h1 { font-size:clamp(65px,7vw,100px); line-height:1.02; margin:25px 0; }
.initiative-heading .muted { max-width:530px; font-size:16px; }
.initiative-motto { color:#c5ad84; font:11px/1.8 var(--mono); letter-spacing:.1em; margin-bottom:24px; }
.initiative-identity { margin:0; text-align:center; }
.initiative-identity img { width:100%; height:auto; max-width:350px; }
.initiative-identity figcaption { padding-top:14px; }
.initiative-outpost { padding-top:30px; padding-bottom:85px; }
.initiative-outpost .section-head { align-items:start; }
.initiative-outpost h2 { font-size:clamp(36px,4.5vw,58px); }
.initiative-outpost .section-head > p { max-width:430px; font-size:14px; }
.initiative-plate img { display:block; width:100%; height:auto; }
.initiative-plate a { display:block; }
.initiative-plate a:hover { outline:1px solid #9d896a; outline-offset:5px; }
.observatory-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; border-top:1px solid var(--line); padding-top:75px; padding-bottom:90px; }
.observatory-art { margin:0; }
.observatory-copy h2 { font-size:clamp(38px,4vw,56px); line-height:1.1; margin-bottom:28px; }
.observatory-copy > p:not(.eyebrow) { color:#b9b0bf; font-size:14px; line-height:1.9; margin-bottom:24px; }
.game-feature { padding-top:105px; padding-bottom:95px; }
.game-feature .section-head { align-items:start; gap:70px; margin-bottom:38px; }
.game-feature h2 { font-size:clamp(36px,4.3vw,60px); line-height:1.08; }
.game-intro { max-width:425px; padding-top:8px; }
.game-intro .tag { margin-bottom:14px; color:var(--cyan); }
.game-intro p { font-size:14px; margin-bottom:18px; }
.landscape { margin:0; }
.landscape img { display:block; width:100%; height:auto; }
figcaption { font:9px var(--mono); color:#a09aa4; line-height:1.7; padding-top:14px; }
.audio-teaser { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:center; padding-top:65px; padding-bottom:100px; border-top:1px solid var(--line); }
.audio-teaser h2 { font-size:clamp(34px,4vw,53px); }
.audio-teaser p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; max-width:470px; }
.audio-lines { height:130px; display:flex; align-items:center; gap:7px; justify-content:center; }
.audio-lines span { display:block; width:2px; height:var(--wave); background:linear-gradient(#776583,#9bd0dc); opacity:.55; }
.site-footer { padding-top:42px; background:#08080a; }
.footer-brand strong { text-transform:uppercase; font:11px var(--sans); letter-spacing:.14em; }
.footer-brand p { color:#98909f; }
.book-detail { display:grid; grid-template-columns:.77fr 1.23fr; gap:10%; padding-top:80px; padding-bottom:100px; align-items:start; }
.book-display { max-width:390px; }
.book-detail .book-cover { border:1px solid #332b3b; box-shadow:0 20px 60px #0009; }
.book-copy h1 { font-size:clamp(45px,5.5vw,72px); line-height:1.05; margin:22px 0 18px; }
.book-copy h1 span { display:block; color:#c0a3d2; font-size:.63em; margin-top:12px; }
.author-line { color:#b1a8b9; font:10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.book-blurb { margin:34px 0; font-size:14px; color:#b9b3bf; line-height:1.85; }
.book-blurb p { margin-bottom:18px; }
.book-blurb .blurb-question { font:300 27px/1.35 var(--serif); color:#e6deee; margin-top:25px; }
.reading-section { border-top:1px solid var(--line); padding:80px 0; background:#0c0b10; }
.cast-section { padding:75px 0 90px; border-top:1px solid var(--line); background:#0c0b10; }
.cast-heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:24px; }
.cast-heading h2 { font-size:clamp(38px,4.5vw,59px); margin-bottom:0; line-height:1.1; }
.cast-heading > p { max-width:430px; color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
.cast-art-note { color:#a89aaf; font:9px var(--mono); letter-spacing:.08em; margin:0 0 24px; }
.cast-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:40px 24px; }
.cast-profile { grid-column:span 2; min-width:0; }
.cast-profile:nth-child(4) { grid-column:2/span 2; }
.cast-profile:nth-child(5) { grid-column:4/span 2; }
.cast-profile img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; object-position:center; background:#09090c; }
.cast-profile-copy { padding:23px 3px 0; }
.cast-profile h3 { font:300 31px/1.2 var(--serif); color:#e9e0ed; margin:0 0 10px; }
.cast-role { color:#c6afd7; font:10px/1.7 var(--mono); margin-bottom:13px; }
.cast-description { color:#b0a7b7; font-size:13px; line-height:1.85; margin-bottom:0; }
.cast-voice { margin:18px 0 20px; padding-top:15px; border-top:1px solid var(--line); }
.cast-voice-label { color:#d4c7dd; font:10px/1.6 var(--mono); margin:0 0 9px; }
.cast-voice audio { display:block; width:100%; max-width:100%; height:44px; color-scheme:dark; }
.cast-voice audio:focus-visible { outline:2px solid var(--cyan); outline-offset:4px; border-radius:24px; }
.cast-voice-error { color:#d4c7dd; font-size:12px; line-height:1.7; margin-top:12px; }
.cast-voice-error a { text-decoration:underline; }
.cast-audio-note { margin:38px 0 0; color:#a89aaf; font-size:12px; line-height:1.8; text-align:center; }
.cast-audio-note a { margin-left:16px; white-space:nowrap; }
.game-cast-section .cast-art-note { font:11px/1.9 var(--sans); letter-spacing:0; max-width:750px; }
.game-cast-section .cast-profile img { background:radial-gradient(ellipse at 50% 40%,#26202f 0%,#111017 65%,#0c0b10 100%); }
.reading-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; }
.reading-layout h2 { font-size:44px; line-height:1.1; }
.reading-excerpt { border-top:1px solid #61546d; }
.reading-excerpt summary { padding:24px 0; cursor:pointer; display:flex; justify-content:space-between; font-size:14px; }
.reading-excerpt summary span { color:#c8a7dc; }
.reading-excerpt div { font:300 21px/1.6 var(--serif); color:#d3cbd9; padding:14px 0 24px; }
.reading-excerpt small { display:block; color:#9a8da3; font:9px/1.8 var(--mono); margin-top:30px; }
.game-heading { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:8%; padding-top:65px; padding-bottom:70px; }
.game-heading h1 { font-size:clamp(66px,8.5vw,115px); line-height:.97; margin-bottom:24px; }
.game-heading .muted { max-width:540px; font-size:15px; margin-bottom:30px; }
.game-emblem { width:100%; height:auto; max-width:460px; }
.platform-note { color:#b9adc3; font:11px/1.8 var(--mono); margin:0; }
.shell-showcase { padding-top:80px; padding-bottom:85px; }
.surveyor-feature { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:center; }
.surveyor-art { margin:0; text-align:center; }
.surveyor-art img { display:block; width:100%; height:440px; object-fit:contain; }
.surveyor-art figcaption { font-size:9px; }
.surveyor-copy h2 { font-size:clamp(48px,5vw,72px); margin:20px 0 16px; }
.shell-serial { color:#d6c18a; font:12px var(--mono); letter-spacing:.09em; margin-bottom:27px; }
.surveyor-copy > p:not(.eyebrow):not(.shell-serial) { color:#b9b0c0; font-size:15px; line-height:1.85; max-width:520px; }
.unrevealed-shells { margin-top:65px; border-top:1px solid var(--line); padding-top:38px; }
.unrevealed-shells .section-head { align-items:center; gap:40px; margin-bottom:28px; }
.unrevealed-shells h3 { font:300 32px var(--serif); margin:0; }
.unrevealed-shells .section-head > p { font-size:13px; max-width:440px; }
.locked-shell-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.locked-shell { margin:0; background:#17141c; padding:22px 18px; }
.locked-shell img { display:block; width:100%; height:200px; object-fit:contain; }
.locked-shell figcaption { text-align:center; padding-top:20px; }
.locked-shell figcaption strong { display:block; color:#c5bbce; font:300 26px var(--serif); letter-spacing:.12em; }
.locked-shell figcaption span { display:block; font-size:9px; margin-top:8px; }
.game-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:55px; padding-top:80px; padding-bottom:80px; }
.game-principles article > span { font:9px var(--mono); color:#b9a2cb; letter-spacing:.1em; }
.game-principles h2 { font-size:34px; margin-top:25px; }
.game-principles p { font-size:13px; color:var(--muted); line-height:1.9; }
.game-development { border-top:1px solid var(--line); padding-top:70px; padding-bottom:80px; }
.game-development h2 { font-size:48px; }
.game-development > p { max-width:650px; }
.prototype-access { margin-top:55px; border-top:1px solid var(--line); padding-top:20px; max-width:850px; }
.prototype-access summary { cursor:pointer; color:#a99ab5; font:10px var(--mono); }
.prototype-access p { color:var(--muted); font-size:13px; line-height:1.8; margin-top:22px; }
.demo-notice { background:#1d1824; color:#c7b5d5; text-align:center; padding:14px 20px; font:10px/1.7 var(--mono); }
.demo-notice a { margin-left:20px; text-decoration:underline; }
.editorial-heading { padding-top:90px; padding-bottom:65px; }
.editorial-heading h1 { font-size:clamp(50px,6.7vw,92px); line-height:1.02; margin:22px 0 25px; }
.editorial-heading > p:not(.eyebrow) { color:var(--muted); max-width:620px; font-size:16px; line-height:1.8; }
.artwork-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px 7%; padding-bottom:90px; align-items:start; }
.artwork-grid figure { margin:0; }
.artwork-grid img { display:block; width:100%; height:auto; }
.artwork-icon { padding-top:30px; }
.artwork-wide { grid-column:1/-1; }
.artwork-grid figcaption strong { display:block; font:300 27px var(--serif); color:#ddd0e4; margin:8px 0; }
.artwork-grid figcaption span { font:10px/1.9 var(--mono); }
.audio-detail { display:grid; grid-template-columns:1fr .9fr; gap:10%; padding-bottom:110px; }
.audio-detail h2 { font-size:48px; line-height:1.1; }
.audio-detail p { color:var(--muted); line-height:1.8; font-size:14px; }
.audio-detail aside { border-top:1px solid var(--line); padding-top:26px; }
.production-credit { display:grid; gap:22px; padding-top:8px; }
.credit-name { font-size:26px; color:#e6dfeb; font-weight:600; letter-spacing:-.04em; }
.production-credit p { margin-bottom:8px; font-size:12px; }
.production-credit a { font-size:12px; color:#c8b0d8; text-decoration:underline; text-underline-offset:4px; }
.production-credit small { display:block; font-size:11px; color:#aba1b3; margin-top:14px; line-height:1.7; }
.affiliate-links { display:flex; flex-wrap:wrap; gap:10px 24px; }
.affiliate-disclosure { border-left:2px solid #9c85b1; padding:0 0 0 14px; margin:0 0 35px; max-width:650px; }
.affiliate-disclosure > span { color:#c9b7da; font:10px var(--mono); }
.affiliate-disclosure p { color:#b7acbf; font-size:12px; line-height:1.8; margin:8px 0 0; }
.production-credit .credit-name { font-size:22px; letter-spacing:-.02em; }
.production-credit .affiliate-before-links { margin:12px 0 16px; color:#b7acbf; font-size:12px; }
.trademark-notice { grid-column:1/-1; color:#9e95a5; font-size:11px; line-height:1.8; max-width:950px; margin:0; }
.release-note { color:#bdadc9; font-size:12px; line-height:1.8; max-width:490px; margin:-12px 0 25px; }
.edition-availability { border-top:1px solid var(--line); padding-top:18px; margin:0 0 25px; }
.edition-availability p { display:grid; grid-template-columns:80px 1fr; gap:12px; color:var(--muted); font-size:12px; line-height:1.8; margin-bottom:10px; }
.edition-availability strong { color:#ded3e6; font-weight:500; }
@media(min-width:1500px) { .launch-hero { min-height:820px; } .launch-copy h1 { font-size:88px; } }
@media(max-width:950px) {
  .locked-shell-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cast-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cast-profile,.cast-profile:nth-child(4),.cast-profile:nth-child(5) { grid-column:auto; }
  .primary-nav { gap:18px; }
  .brand-copy small { display:none; }
  .launch-hero { gap:6%; }
  .launch-copy h1 { font-size:58px; }
  .launch-description { font-size:13px; }
  .launch-page .actions { gap:14px; }
  .hero-note { padding-top:30px; }
  .game-principles { gap:30px; }
}
@media(max-width:700px) {
  .initiative-heading { grid-template-columns:1fr; padding:50px 0; gap:30px; }
  .initiative-heading h1 { font-size:68px; }
  .initiative-identity img { max-width:250px; }
  .initiative-outpost { padding-top:30px; padding-bottom:50px; }
  .initiative-outpost .section-head { display:block; }
  .initiative-outpost .section-head > p { margin-top:22px; }
  .observatory-section { grid-template-columns:1fr; gap:35px; padding-top:50px; padding-bottom:60px; }
  .shell-showcase { padding-top:50px; padding-bottom:55px; }
  .surveyor-feature { grid-template-columns:1fr; gap:35px; }
  .surveyor-art img { height:360px; }
  .surveyor-copy h2 { font-size:55px; }
  .unrevealed-shells .section-head { display:block; }
  .unrevealed-shells .section-head > p { margin-top:20px; }
  .locked-shell-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .locked-shell { padding:18px 12px; }
  .locked-shell img { height:160px; }
  .cast-section { padding:50px 0 60px; }
  .cast-heading { display:block; }
  .cast-heading > p { margin-top:22px; }
  .cast-grid { grid-template-columns:1fr; gap:38px; max-width:450px; margin:0 auto; }
  .cast-description { font-size:14px; }
  .site-header { height:70px; display:flex; justify-content:space-between; padding:0 20px; }
  .brand-copy small { display:block; font-size:8px; }
  .menu-toggle { display:block; font:10px var(--mono); text-transform:uppercase; background:transparent; border:1px solid var(--line); padding:10px 12px; cursor:pointer; }
  .primary-nav { display:none; position:absolute; top:70px; left:0; right:0; background:#100d15; border-bottom:1px solid var(--line); padding:14px 24px; }
  .primary-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav > a { padding:15px 0; }
  .account-button { position:fixed; right:85px; top:19px; font-size:8px; padding:9px; }
  .launch-hero { grid-template-columns:1fr; gap:45px; padding-top:28px; padding-bottom:55px; }
  .launch-copy h1 { font-size:clamp(49px,10.5vw,68px); margin:25px 0 20px; }
  .launch-description { max-width:550px; font-size:14px; }
  .launch-lead { font-size:19px; }
  .hero-note { display:none; }
  .cover-stage { max-width:300px; width:80%; }
  .cover-caption { font-size:7px; }
  .story-question { padding:65px 0; }
  .story-question h2 { font-size:36px; }
  .game-feature { padding:65px 0; }
  .game-feature .section-head { display:block; }
  .game-feature h2 { font-size:43px; }
  .game-intro { margin-top:25px; max-width:none; }
  .audio-teaser { grid-template-columns:1fr; gap:35px; padding-top:55px; padding-bottom:55px; }
  .audio-lines { height:75px; justify-content:start; }
  .book-detail { grid-template-columns:1fr; gap:45px; padding:40px 0 65px; }
  .book-display { width:65%; max-width:290px; margin:auto; }
  .book-copy h1 { font-size:52px; }
  .book-blurb { font-size:15px; }
  .reading-layout { grid-template-columns:1fr; gap:30px; }
  .reading-section { padding:55px 0; }
  .game-heading { grid-template-columns:1fr; padding:50px 0; gap:15px; }
  .game-heading h1 { font-size:78px; }
  .game-emblem { width:75%; max-width:340px; margin:auto; }
  .game-principles { grid-template-columns:1fr; gap:30px; padding:55px 0; }
  .game-principles h2 { margin-top:18px; }
  .editorial-heading { padding:55px 0 40px; }
  .editorial-heading h1 { font-size:55px; }
  .artwork-grid { grid-template-columns:1fr; gap:40px; }
  .artwork-portrait { max-width:340px; justify-self:center; }
  .artwork-icon { max-width:420px; padding-top:0; }
  .audio-detail { grid-template-columns:1fr; gap:55px; padding-bottom:65px; }
  .site-footer { gap:25px; }
  .demo-notice { font-size:9px; }
}
