/* Video-led game pages. Scoped so the homepage and held LMS draft stay intact. */
.rv-showcase { --show-muted:#b5b6cf; --show-line:#303047; color:#f7f4ff; background:#080916; font-family:var(--body); }
.rv-showcase h1,.rv-showcase h2,.rv-showcase h3 { font-family:var(--game-display); font-weight:var(--game-weight); letter-spacing:-.035em; line-height:1.2; overflow-wrap:anywhere; }
.rv-showcase h1 { font-size:calc(clamp(38px,4.5vw,66px) * var(--game-title-scale)); }
.rv-showcase h1 em { font-style:normal; color:var(--accent); }
.rv-showcase h2 { font-size:calc(clamp(26px,3.1vw,42px) * var(--game-head-scale)); max-width:24ch; }
.rv-showcase h3 { font-size:18px; }
.rv-showcase p { line-height:1.65; }
.show-kicker { color:var(--accent); font:600 11px/1.5 var(--display); letter-spacing:.18em; text-transform:uppercase; margin:0 0 20px; }
.show-lead { font-size:18px; color:#cccadc; max-width:51ch; margin:22px 0 28px; }
.show-small { color:var(--show-muted); font-size:13px; margin:20px 0 0; }
.rv-showcase :focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.show-section { padding:80px 0; scroll-margin-top:100px; }
.show-hero .rv-hero-grid--game { grid-template-columns:minmax(0,1fr) 340px; align-items:center; min-height:700px; }
.is-landscape .show-hero .rv-hero-grid--game { grid-template-columns:minmax(0,1fr) minmax(320px,46%); }
.show-hero .rv-hero-copy { min-width:0; width:100%; max-width:650px; }
.show-hero .rv-hero-screen { align-self:center; min-width:0; }
.show-hero .rv-screen--phone { width:270px; }
.show-hero .rv-screen-play { opacity:1; }
.show-hero .rv-hero-bg { opacity:.48; }
.show-hero-stores { margin-top:20px; }
.show-hero .rv-btn--gold { background:var(--accent); color:#090c18; box-shadow:inset 1px 1px #fff8,0 2px #0008; }
.show-facts { border-block:1px solid var(--show-line); background:#101020; }
.show-facts .rv-wrap { display:flex; justify-content:space-between; align-items:center; gap:22px; padding-block:22px; }
.show-facts span { font-size:14px; color:var(--show-muted); }
.show-overview,.show-features-section { border-bottom:1px solid var(--show-line); padding-block:60px; }
.show-about-grid > * { min-width:0; }
.show-about-grid .rv-boxback h3 { font:600 10px/1.6 var(--display); letter-spacing:.18em; }
.show-synopsis { max-width:760px; color:var(--show-muted); font-size:17px; }
.show-synopsis p { margin:20px 0 0; }
.show-synopsis .show-lead { max-width:100%; color:#f7f4ff; }
.show-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:34px; }
.show-features h3 { color:var(--accent); font-size:calc(17px * var(--game-head-scale)); line-height:1.4; }
.show-features p { margin:14px 0 0; color:var(--show-muted); font-size:16px; }
.show-cinema { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:center; }
.is-landscape .show-cinema { grid-template-columns:.8fr 1.2fr; gap:50px; }
.show-cinema > * { min-width:0; }
.show-cinema .show-lead { font-size:17px; }
.show-playlist { display:grid; border-top:1px solid var(--show-line); }
.show-clip { display:grid; grid-template-columns:34px 1fr 20px; gap:12px; align-items:center; text-align:left; background:none; border:0; border-bottom:1px solid var(--show-line); padding:18px 14px; color:#f7f4ff; }
.show-clip b { font-size:16px; font-weight:600; }
.show-clip > span:first-child { color:var(--show-muted); font:13px var(--display); }
.show-clip.is-active { background:#ffffff08; box-shadow:inset 2px 0 var(--accent); }
.show-clip.is-active b { color:var(--accent); }
.show-clip:hover { background:#ffffff10; }
.show-player-wrap { scroll-margin-top:115px; margin:0; display:grid; justify-items:center; }
.show-player { width:100%; max-width:278px; max-height:610px; background:#000; object-fit:contain; border:1px solid #70618a; box-shadow:0 28px 80px #0008; }
.is-landscape .show-player { max-width:100%; max-height:none; }
.show-player-wrap figcaption { margin-top:18px; color:var(--show-muted); font-size:13px; }
.show-download { text-align:center; background:#10101f; border-top:1px solid #343047; }
.show-download h2,.show-download .show-lead { margin-inline:auto; }
.show-download .rv-stores { justify-content:center; }
.show-download .rv-stores img { height:48px; }
.show-fineprint { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:28px; font-size:13px; }
.show-fineprint a { color:var(--show-muted); text-underline-offset:4px; }
.show-fineprint a:hover { color:#fff; }
@media(max-width:1000px) { .show-cinema,.is-landscape .show-cinema { gap:35px; } }
@media(max-width:860px) {
 .show-hero .rv-hero-grid--game,.is-landscape .show-hero .rv-hero-grid--game { grid-template-columns:1fr; padding-top:36px; min-height:0; gap:30px; }
 .show-hero .rv-hero-bg { height:100%; opacity:.2; }
 .show-hero .rv-hero-art:after { display:none; }
 .show-hero .rv-hero-shade { background:linear-gradient(0deg,#080916,rgba(8,9,22,.6)); }
 .show-hero .rv-hero-copy { max-width:600px; margin-inline:auto; }
 .show-hero .rv-hero-screen { width:100%; max-width:270px; }
 .is-landscape .show-hero .rv-hero-screen { max-width:560px; }
 .show-hero .show-lead { font-size:17px; }
 .show-features { grid-template-columns:1fr 1fr; gap:26px; }
}
@media(max-width:760px) {
 .show-section { padding:60px 0; }
 .show-cinema,.is-landscape .show-cinema { grid-template-columns:1fr; gap:32px; }
 .show-facts .rv-wrap { flex-wrap:wrap; justify-content:flex-start; gap:18px 26px; }
 .show-cinema .show-lead { margin:18px 0 24px; }
}
@media(max-width:420px) {
 .show-hero .rv-btn { font-size:10px; padding:13px 15px; letter-spacing:.08em; }
 .show-features { grid-template-columns:1fr; gap:24px; }
 .show-features > div { padding-bottom:20px; border-bottom:1px solid var(--show-line); }
 .show-download .rv-stores img { height:40px; }
 .show-clip { padding-inline:10px; gap:8px; }
 .show-fineprint { gap:12px 20px; }
}

/* Screenshot stories opt in through the game registry. */
.show-screens { border-bottom:1px solid var(--show-line); background:linear-gradient(180deg,#11101c,#080916); }
.show-screens-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.show-screens-hint { color:var(--show-muted); font-size:13px; max-width:25ch; margin:0 0 5px; }
.show-screens > .rv-wrap > .show-lead { max-width:70ch; }
.show-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; margin-top:36px; }
.show-shot { min-width:0; margin:0; }
.show-shot-image { position:relative; display:block; overflow:hidden; border:1px solid #635336; border-radius:8px; background:#17131b; box-shadow:0 12px 30px #0005; }
.show-shot-image img { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; }
.show-shot-image:hover,.show-shot-image:focus-visible { border-color:var(--accent); }
.show-shot-zoom { position:absolute; right:8px; bottom:8px; padding:6px 9px; border:1px solid #d4ad3e66; border-radius:3px; background:#080916eb; color:#fff; font-size:11px; }
.show-shot figcaption { display:flex; gap:12px; margin-top:18px; }
.show-shot-number { color:var(--accent); font:12px/1.8 var(--display); }
.show-shot h3 { font-size:16px; line-height:1.4; letter-spacing:0; }
.show-shot p { color:var(--show-muted); font-size:14px; line-height:1.6; margin:8px 0 0; }
@media(max-width:1000px) { .show-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 24px; } }
@media(max-width:600px) {
 .show-screens-heading { display:block; }
 .show-screens-hint { max-width:none; margin-top:18px; }
 .show-gallery { gap:28px 14px; }
 .show-shot figcaption { gap:7px; margin-top:12px; }
 .show-shot h3 { font-size:14px; }
 .show-shot p { font-size:13px; }
 .show-shot-number { font-size:10px; }
 .show-shot-zoom { right:5px; bottom:5px; padding:4px 6px; font-size:10px; }
}
@media(max-width:360px) { .show-gallery { grid-template-columns:1fr; max-width:270px; margin-inline:auto; } }
