:root { --paper: #eee9df; --ink: #0b0d12; --red: #e04435; --cyan: #45d7e8; --gold: #d6b665; --blue: #2459be; }
body { background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
.studio-nav { position: absolute; inset: 0 0 auto; z-index: 10; color: #fff; }
.studio-nav .wrap { min-height: 72px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.35); }
.brand { display: flex; align-items: baseline; gap: 8px; color: inherit; text-decoration: none; font: 900 17px/1 Arial, sans-serif; }
.brand span { color: var(--red); }
.studio-nav nav { display: flex; align-items: center; gap: 22px; }
.studio-nav nav a { font-size: 11px; font-weight: 800; letter-spacing: 1px; text-decoration: none; text-transform: uppercase; }
.studio-hero { min-height: min(860px, 92vh); position: relative; display: grid; align-items: end; overflow: hidden; color: #fff; background: #080910 url('../shared/assets/rhm-knight.png') center 38% / cover no-repeat; }
.studio-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,7,12,.92) 0%, rgba(4,7,12,.42) 47%, rgba(4,7,12,.12) 75%), linear-gradient(0deg, rgba(4,7,12,.9), transparent 48%); }
.studio-hero::after { content: ''; position: absolute; width: 460px; height: 460px; right: 8%; top: 18%; border: 1px solid rgba(69,215,232,.7); border-radius: 50%; box-shadow: 0 0 0 38px rgba(224,68,53,.14), 0 0 0 78px rgba(69,215,232,.08); animation: orbit 9s linear infinite; }
.hero-copy { position: relative; z-index: 2; max-width: 760px; padding: 170px 0 82px; }
.hero-copy h1 { margin: 18px 0 20px; max-width: 700px; font: 900 clamp(58px, 9vw, 122px)/.82 Impact, 'Arial Narrow Bold', sans-serif; letter-spacing: 0; text-transform: uppercase; }
.hero-copy h1 span { color: var(--red); }
.hero-copy p { max-width: 610px; margin: 0; font-size: clamp(17px, 2vw, 22px); line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-actions .button:first-child { background: var(--red); border-color: var(--red); }
.hero-actions .button:last-child:hover { background: #fff; color: #000; }
.signal { height: 8px; background: var(--ink); overflow: hidden; }
.signal::after { content: ''; display: block; width: 32%; height: 100%; background: linear-gradient(90deg, var(--red), var(--cyan), var(--gold)); animation: signal 4s ease-in-out infinite; }
.broadcast { background: var(--ink); color: #fff; border-bottom: 1px solid #30343e; }
.broadcast .wrap { min-height: 58px; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(224,68,53,.16); }
.broadcast p { margin: 0; font-size: 12px; font-weight: 700; }
.broadcast a { font-size: 11px; font-weight: 800; }
.studio-section { padding: 88px 0; }
.section-head { display: grid; grid-template-columns: .6fr 1.4fr; gap: 32px; align-items: end; margin-bottom: 34px; }
.section-head h2 { max-width: 820px; margin: 0; font: 900 clamp(42px, 7vw, 86px)/.88 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.section-head p { max-width: 520px; margin: 0; font-size: 16px; line-height: 1.55; }
.world-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 14px; }
.world-feature { min-height: 640px; position: relative; display: flex; align-items: end; overflow: hidden; color: #fff; background: #171925 center/cover; border-radius: var(--radius); text-decoration: none; }
.world-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,4,8,.92), transparent 62%); }
.world-feature > * { position: relative; z-index: 1; }
.world-feature.rhm { background-image: url('../shared/assets/rhm-feature-comic.png'); background-position: center 11%; }
.world-feature.ward { background-image: url('../shared/assets/ward9-threshold.png'); }
.world-copy { padding: clamp(24px, 4vw, 48px); }
.world-copy h3 { margin: 8px 0 12px; font: 900 clamp(38px, 5vw, 70px)/.88 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.world-copy p { max-width: 520px; margin: 0; line-height: 1.5; }
.world-stack { display: grid; gap: 14px; }
.world-stack .world-feature { min-height: 313px; }
.world-stack .world-copy h3 { font-size: clamp(30px, 4vw, 48px); }
.game-floor { padding: 88px 0; color: #fff; background: #090b10; }
.game-floor .section-head p { color: #b8c0cc; }
.game-marquee { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(300px, .58fr); min-height: 520px; border: 1px solid #3b4350; background: #131821; }
.game-marquee > img, .game-marquee > video { width: 100%; height: 100%; min-height: 520px; object-fit: cover; background: #05070a; }
.game-marquee-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 56px); border-left: 1px solid #3b4350; }
.game-marquee-copy h3 { margin: 12px 0 16px; font: 900 clamp(40px, 5vw, 68px)/.88 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.game-marquee-copy p { margin: 0 0 24px; color: #bbc3cf; line-height: 1.6; }
.game-marquee-copy .button { align-self: flex-start; border-color: var(--cyan); background: var(--cyan); color: #071014; }
.marquee-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.marquee-actions .text-link { color: #fff; }
.game-gallery { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #3b4350; border-top: 0; }
.game-gallery figure { margin: 0; min-width: 0; border-right: 1px solid #3b4350; background: #11151c; }
.game-gallery figure:last-child { border-right: 0; }
.game-gallery img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.game-gallery figcaption { display: grid; gap: 5px; padding: 18px; }
.game-gallery figcaption strong { font-size: 17px; }
.game-gallery figcaption span { color: #9ea8b6; font-size: 11px; line-height: 1.4; }
.prototype-strip { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); margin-top: 18px; color: var(--ink); background: #dce9e7; border: 2px solid var(--ink); }
.prototype-image { min-height: 390px; overflow: hidden; border-right: 2px solid var(--ink); }
.prototype-image img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.prototype-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 5vw, 66px); }
.prototype-copy h3 { margin: 11px 0 15px; font: 900 clamp(36px, 5vw, 62px)/.9 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.prototype-copy p { max-width: 600px; margin: 0; line-height: 1.6; }
.releases { background: #dce9e7; }
.release-track { display: grid; grid-template-columns: repeat(4, 1fr); border: 2px solid var(--ink); }
.release { min-width: 0; padding: 12px; border-right: 2px solid var(--ink); text-decoration: none; background: var(--paper); transition: background var(--ease), color var(--ease); }
.release:last-child { border-right: 0; }
.release:hover { background: var(--red); color: #fff; }
.release img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; filter: saturate(.85); }
.release h3 { margin: 13px 0 5px; font-size: 18px; }
.release p { margin: 0 0 8px; font-size: 12px; line-height: 1.45; }
.listening-room { background: #131720; color: #fff; }
.listening-room .section-head p { color: #b6becb; }
.album-list { display: grid; border: 1px solid #3c4451; }
.album { display: grid; grid-template-columns: .68fr 1.32fr; min-height: 430px; color: #fff; text-decoration: none; }
.album + .album { border-top: 1px solid #3c4451; }
.album-art { position: relative; overflow: hidden; background: #080a0e; }
.album-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,7,10,.72), transparent 58%); }
.album-art img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; transition: transform .7s ease; }
.album-art span { position: absolute; z-index: 1; left: 22px; bottom: 20px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.65); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.album-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,6vw,82px); background: #1a202b; transition: background .35s ease; }
.album-copy h3 { margin: 12px 0 18px; font: 900 clamp(48px,7vw,92px)/.84 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.album-copy p { max-width: 620px; margin: 0 0 28px; color: #bac2ce; font-size: 17px; line-height: 1.6; }
.album-copy strong { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.album-copy b { color: var(--cyan); font-size: 16px; }
.album:hover .album-art img { transform: scale(1.035); }
.album:hover .album-copy { background: #242b38; }
.rhm-album .album-art { order: 2; }
.rhm-album .album-copy { order: 1; }
.rhm-album .album-copy b { color: var(--red); }
.media-band { padding: 0; background: #080a0e; color: #fff; }
.media-layout { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 650px; }
.media-layout video { width: 100%; height: 100%; min-height: 520px; object-fit: cover; background: #000; }
.media-copy { padding: clamp(36px, 6vw, 80px); display: flex; flex-direction: column; justify-content: center; }
.media-copy h2 { margin: 10px 0 18px; font: 900 clamp(44px, 6vw, 78px)/.88 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.media-copy p { max-width: 490px; color: #bdc3ce; line-height: 1.6; }
.capability-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 2px solid var(--ink); }
.capability-strip article { min-height: 210px; padding: 24px; border-right: 2px solid var(--ink); }
.capability-strip article:last-child { border-right: 0; }
.capability-strip h3 { margin: 24px 0 10px; font-size: 23px; }
.capability-strip p { margin: 0; font-size: 14px; line-height: 1.5; }
.studio-lead { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; margin-top: 18px; padding: clamp(26px, 4vw, 48px); border: 2px solid var(--ink); background: #f2c84b; }
.studio-lead h3 { margin: 9px 0 8px; font: 900 clamp(36px, 5vw, 64px)/.9 Impact, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; }
.studio-lead p { max-width: 680px; margin: 0; line-height: 1.55; }
.studio-lead .button { white-space: nowrap; background: var(--ink); color: #fff; }
.studio-footer { padding: 46px 0; background: var(--ink); color: #fff; }
.studio-footer .wrap { display: flex; justify-content: space-between; gap: 24px; }
.studio-footer p { margin: 0; color: #b6bbc5; }
@keyframes signal { 0%,100% { transform: translateX(-105%); } 50% { transform: translateX(320%); } }
@keyframes orbit { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
  .world-grid, .media-layout, .game-marquee, .prototype-strip, .studio-lead { grid-template-columns: 1fr; }
  .game-marquee-copy, .prototype-image { border-left: 0; border-right: 0; border-top: 1px solid #3b4350; }
  .prototype-image { border-top: 0; border-bottom: 2px solid var(--ink); }
  .world-stack { grid-template-columns: 1fr 1fr; }
  .album { grid-template-columns: 1fr; }
  .rhm-album .album-art, .rhm-album .album-copy { order: initial; }
  .release-track, .capability-strip { grid-template-columns: 1fr 1fr; }
  .release:nth-child(2), .capability-strip article:nth-child(2) { border-right: 0; }
  .release:nth-child(-n+2), .capability-strip article:nth-child(-n+2) { border-bottom: 2px solid var(--ink); }
}
@media (max-width: 760px) {
  .studio-nav { --menu-bg: #0b0d12; }
  .studio-nav [data-menu] { display: none; }
  .studio-nav [data-menu][data-open] { display: flex; }
  .studio-nav nav { align-items: flex-start; }
  .studio-hero { min-height: 720px; }
  .studio-hero::after { width: 260px; height: 260px; right: -80px; top: 18%; }
  .hero-copy { padding-top: 150px; }
  .broadcast .wrap { grid-template-columns: auto 1fr; padding: 12px 0; }
  .broadcast a { grid-column: 2; }
  .section-head { grid-template-columns: 1fr; align-items: start; }
  .world-stack, .release-track, .capability-strip, .game-gallery { grid-template-columns: 1fr; }
  .game-gallery figure { border-right: 0; border-bottom: 1px solid #3b4350; }
  .game-gallery figure:last-child { border-bottom: 0; }
  .game-marquee > img, .game-marquee > video { min-height: 300px; }
  .world-feature, .world-stack .world-feature { min-height: 480px; }
  .album { min-height: 0; }
  .album-art img { min-height: 360px; }
  .release, .release:nth-child(2), .capability-strip article, .capability-strip article:nth-child(2) { border-right: 0; border-bottom: 2px solid var(--ink); }
  .release:last-child, .capability-strip article:last-child { border-bottom: 0; }
  .studio-footer .wrap { flex-direction: column; }
}
