/* Four selected covers, each composed around the work's original ratio. */
body[data-theme="client"] {
  --ground: #1b171a; --surface: #302722; --raised: #44362c; --field: #292229;
  --ink: #faf1e5; --muted: #dccdc1; --accent: #f4d7a3; --accent-ink: #37271e;
  --line: #6d5848; --glow: 244 215 163; --nav: #231c21ed;
}
[data-theme="client"] .atmosphere { background: radial-gradient(ellipse at 70% 47%,#72553e,transparent 62%); }
.name-wordmark,[data-theme="toy"] .name-wordmark {
  color:var(--stage-ink); font:690 clamp(52px,7.75vw,122px)/1.02 var(--font);
  letter-spacing:-.065em;
}
.name-wordmark span:last-child { font-style:normal; }
.cover-copy { padding-bottom:38px; }
.cover-baseline { gap:24px; }
.cover-baseline p { font:500 clamp(15px,1.4vw,21px)/1.6 var(--font); letter-spacing:.075em; }
.hero-discipline { font-weight:620; letter-spacing:.12em; }
.hero-foot { flex-direction:column; align-items:stretch; gap:10px; padding-bottom:28px; }
.hero-foot .world-controls { width:100%; max-width:none; }
.hero-foot .world-buttons { grid-template-columns:repeat(4,minmax(0,1fr)); }
.world-button { background:#14181bd9; }
.world-thumb { aspect-ratio: 2.7; }
.world-thumb img { filter: saturate(.9) brightness(.86); }
.world-button[data-world="game"] .world-thumb { background:#b7b1dc; }
.world-button[data-world="game"] img { object-fit:contain; }
.world-button[data-world="toy"] img { object-position:50% 56%; }
.world-button[data-world="client"] img { object-position:50% 54%; }
.world-label strong { white-space:nowrap; }
.cover-caption { justify-content:space-between; }
.cover-caption a { padding-left:0; background:transparent; }
.cover-art--film img { object-position:50% 49%; }
.cover-art--client img { object-position:55% 46%; }
[data-theme="client"] .cover-shade {
  background:linear-gradient(90deg,#211b23d6,#231c2355 47%,transparent 76%),
             linear-gradient(180deg,#241d2b99,transparent 27%,transparent 47%,#1a151b96 78%,#1b171a 100%);
}
[data-theme="client"] .scene-light { background:radial-gradient(ellipse at 86% 18%,#ffde9b45,transparent 59%); }
.cover-art--game {
  background: radial-gradient(ellipse at 68% 40%,#43497c 0%,#1e2644 52%,#121524 83%);
}
.cover-art--toy {
  background:radial-gradient(ellipse at 68% 43%,#565a82,#2c2742 55%,#181420 91%);
}
.cover-art--game > img,.cover-art--toy > img {
  position:absolute; width:min(61%,1070px); height:auto; top:45%; right:var(--gutter);
  transform:translateY(-50%); border-radius:8px; object-fit:contain; filter:none;
}
.cover-art--toy > img { width:min(58%,960px); top:43%; }
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .cover-shade {
  background:linear-gradient(180deg,#101420ac 0%,transparent 20%,transparent 70%,#17121cce 100%);
}
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .cover-copy,
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .hero-foot {
  --stage-ink:#f9f0ef; --stage-muted:#ded9e6;
}
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .name-wordmark {
  font-size:clamp(48px,6.6vw,108px); white-space:normal; width:29%;
}
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .name-wordmark span { display:block; }
[data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .scene-light { opacity:.23; animation:none; }
.feature-layout--single { grid-template-columns:minmax(0,1fr); }
.feature-layout--single .feature-image img { width:100%; }
.feature-side-link strong { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.feature-side-link strong svg { flex-shrink:0; width:17px; height:17px; }
.world-content[data-world-content="toy"] .feature-side-media img { aspect-ratio:4/4.65; object-fit:cover; object-position:50% 58%; }
.feature-image--game { background:#bdbae0; }
.feature-image--toy { background:#2c2947; }

.case--mbti,.case--wednesday { --stage-ink:#f7edf1; --stage-muted:#ded0dd; }
.case--wednesday .case-stage { background:#150e17; }
.case--mbti .case-stage { background:#242039; }
.case--game-characters .case-stage { background:#1d2240; }
.case--mbti .case-stage-art > img,.case--wednesday .case-stage-art > img,
.case--game-characters .case-stage-art > img {
  position:absolute; top:50%; right:var(--gutter); transform:translateY(-50%); object-fit:contain;
  border-radius:6px; width:min(63%,1020px); height:auto; max-height:calc(100% - 120px);
}
.case--wednesday .case-stage-art > img { width:46%; }
.case--mbti .case-shade,.case--wednesday .case-shade,.case--game-characters .case-shade {
  background:linear-gradient(90deg,#161223c9,transparent 48%),linear-gradient(180deg,#0b0b14b5,transparent 26%,transparent 65%,#141020a3 100%);
}
.case--wednesday .case-heading h1 { font-size:clamp(34px,4.45vw,72px); }
.case--mbti .case-heading h1,.case--game-characters .case-heading h1 { font-size:clamp(37px,4.7vw,78px); }
.case--mbti .case-heading p,.case--wednesday .case-heading p,.case--game-characters .case-heading p { max-width: min(36%,31em); }
.case--wednesday .case-stage-top a,.case--mbti .case-stage-top a,
.case--wednesday .case-stage-top .motion-button,.case--mbti .case-stage-top .motion-button { color:#44273d; }
.case--client .case-shade {
  background:linear-gradient(90deg,#221a22bd,transparent 72%),linear-gradient(180deg,#2116209a,transparent 33%,transparent 61%,#251f27d5 100%);
}
.case--client-film #gallery-1 .gallery-piece:first-child { grid-column:span 2; }
.case--client-film #gallery-1 .gallery-piece:first-child img { max-height:none; }
.case--client-film .clip-grid { grid-template-columns:minmax(0,1fr); max-width:960px; }
.case--client-film .clip-visual { aspect-ratio:960 / 552; }

@media(min-width:981px) {
  .case--client-film #gallery-1 .gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .case--client-film #gallery-1 .gallery-piece:first-child { grid-row:span 2; }
}
@media(max-width:600px) {
  .case--client-film #gallery-2 .gallery-grid { grid-template-columns:1fr; }
}

.ip-flow {
  margin-top:clamp(60px,9vw,130px); margin-bottom:clamp(44px,6vw,100px);
  scroll-margin-top:24px;
}
.ip-flow .section-head h2 { font:620 clamp(34px,4.35vw,66px)/1.18 var(--font); letter-spacing:-.045em; }
.flow-step {
  display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.75fr);
  gap:clamp(20px,5vw,80px); align-items:center;
  border-top:1px solid #ffffff30; padding:clamp(21px,3.6vw,59px) 0;
}
.flow-copy > span { display:block; color:var(--accent); font-size:13px; letter-spacing:.08em; margin-bottom:11px; }
.flow-copy h3 { font:640 clamp(22px,2.45vw,39px)/1.2 var(--font); }
.flow-copy p { margin:12px 0 0; color:var(--muted); max-width:25em; }
.flow-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.flow-media[data-count="1"] { grid-template-columns:minmax(0,1fr); }
.flow-media .image-button { display:grid; place-items:center; background:#17121ecf; }
.flow-media img { height:clamp(135px,29vw,413px); width:100%; max-height:none; object-fit:contain; }
.flow-media[data-count="2"] img { height:clamp(145px,27vw,390px); }
.flow-media figcaption { font-size:13px; color:var(--muted); padding-top:8px; }
.case--wednesday .flow-step:nth-of-type(1) img { height:auto; }

@media(max-width:980px) {
  .cover-copy { padding-bottom:30px; }
  .hero-foot { display:flex; }
  .world-thumb { aspect-ratio:2.3; }
  [data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .name-wordmark { font-size:clamp(39px,6.4vw,80px); }
}
@media(max-width:680px) {
  .cover { min-height:max(810px,100svh); }
  .cover-copy { padding:80px 0 22px; }
  .name-wordmark,[data-theme="toy"] .name-wordmark {
    font-size:clamp(40px,11vw,65px); letter-spacing:-.068em; white-space:nowrap;
  }
  [data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .name-wordmark {
    font-size:clamp(40px,11vw,65px); width:100%; white-space:nowrap;
  }
  [data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .name-wordmark span { display:inline-block; }
  .cover-baseline { gap:13px; }
  .hero-foot { gap:6px; padding-bottom:17px; }
  .hero-foot .world-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .world-thumb { aspect-ratio:2.65; max-height:72px; }
  .world-button { gap:5px; }
  .world-label { padding-bottom:6px; }
  .world-label strong { font-size:13px; }
  .cover-caption { justify-content:space-between; }
  .cover-art--game > img,.cover-art--toy > img {
    top:calc(var(--nav-height) + 43px); right:var(--gutter); width:calc(100% - 2 * var(--gutter)); transform:none;
  }
  .cover-art--game > img { top:calc(var(--nav-height) + 86px); }
  .cover-art--toy > img { max-height:244px; }
  [data-theme="toy"] .cover-copy { padding-top:80px; }
  .flow-step { grid-template-columns:1fr; gap:16px; }
  .flow-copy > span { margin-bottom:5px; }
  .flow-copy p { font-size:14px; margin-top:7px; }
  .case--mbti .case-stage-art > img,.case--wednesday .case-stage-art > img,
  .case--game-characters .case-stage-art > img {
    top:calc(var(--nav-height) + 54px); right:var(--gutter); transform:none;
    width:calc(100% - 2 * var(--gutter)); max-height:220px;
  }
  .case--mbti .case-stage,.case--wednesday .case-stage,.case--game-characters .case-stage { min-height:615px; }
  .case--mbti .case-heading p,.case--wednesday .case-heading p,.case--game-characters .case-heading p { max-width:100%; }
  .case--mbti .case-shade,.case--wednesday .case-shade,.case--game-characters .case-shade {
    background:linear-gradient(180deg,#110d18b2,transparent 18%,transparent 54%,#181321a3 78%,#181321 100%);
  }
}
@media (410px <= width <= 680px) {
  [data-page="home"]:is([data-theme="game"],[data-theme="toy"]) .cover {
    min-height:max(calc(740px + 25vw),100svh);
  }
}
