.scene-page { --scene-pink: #d79aa3; --scene-yellow: #e5c66f; background: #fbf4e5; }
.scene-page .eyebrow { color: #9b6c72; }
.scene-page .case-main { padding-top: 0; }
.scene-hero { width: 100vw; margin: 0 calc((100vw - var(--shell)) / -2); padding: clamp(3rem, 5vw, 5rem) calc((100vw - var(--shell)) / 2); background: radial-gradient(circle at 78% 12%, rgba(242,202,105,.4), transparent 32%), linear-gradient(120deg, #f3dfe2, #f6e8d0 55%, #f2dfaa); }
.scene-hero .case-intro h1 { margin-top: .7rem; color: #a36f76; }
.scene-hero .case-facts { padding-top: 0; border-top: 0; }
.scene-hero .case-facts > div { grid-template-columns: 4.2rem minmax(0, 1fr); gap: 1rem; }
.scene-hero .case-facts dt { color: #9a6d72; font-weight: 500; }
.scene-featured { aspect-ratio: 16 / 9; }
.scene-featured .case-play img { width: 100%; object-fit: cover; }

.scene-premise { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: clamp(3rem, 7vw, 7rem); width: 100vw; margin: 0 calc((100vw - var(--shell)) / -2); padding: clamp(3.5rem, 6vw, 6rem) calc((100vw - var(--shell)) / 2 + clamp(2rem, 5vw, 5rem)); background: linear-gradient(110deg, #f5e1e3, #f7ead4 56%, #f2e1ac); }
.scene-premise h2, .scene-section-heading h2, .scene-making-copy h2 { margin: 0; font: 300 clamp(2.15rem, 3.6vw, 3.8rem)/.98 var(--serif); letter-spacing: -.04em; }
.scene-premise > div:last-child > p, .scene-section-heading > p:not(.eyebrow), .scene-making-copy > p:not(.eyebrow) { max-width: 62ch; margin: 0; color: var(--muted); font-size: .98rem; line-height: 1.85; }
.scene-route { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.scene-route li { padding: .75rem 1.05rem; border: 1px solid rgba(76,70,91,.16); border-radius: 2rem; font: 300 .9rem var(--serif); background: rgba(255,255,255,.24); }

.scene-worlds { width: 100vw; margin: 0 calc((100vw - var(--shell)) / -2); padding: clamp(3.5rem, 6vw, 6rem) calc((100vw - var(--shell)) / 2); background: radial-gradient(circle at 82% 10%, rgba(217,170,84,.24), transparent 29%), linear-gradient(145deg, #251b21, #302326 52%, #3a3026); color: #fff7e9; }
.scene-section-heading { display: grid; grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr); column-gap: clamp(3rem, 6vw, 6rem); margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.scene-section-heading .eyebrow { grid-column: 1; color: #e5b4aa; }
.scene-section-heading h2 { grid-column: 1; }
.scene-section-heading > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; padding-top: 1rem; color: rgba(255,247,233,.72); }
.scene-world-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(.8rem, 1.5vw, 1.2rem); }
.scene-world-grid figure { grid-column: span 3; min-width: 0; margin: 0; }
.scene-world-grid figure:nth-child(n+3) { grid-column: span 2; }
.scene-world-grid a { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .3rem; background: #05070a; }
.scene-world-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.scene-world-grid a:hover img { transform: scale(1.035); }
.scene-world-grid figcaption { display: flex; align-items: baseline; gap: .8rem; padding: .7rem 0 .35rem; border-top: 1px solid rgba(247,242,235,.2); }
.scene-world-grid figcaption span { color: #e6b06f; font-size: .68rem; }
.scene-world-grid figcaption strong { font: 300 .95rem var(--serif); }

.scene-making { width: 100vw; margin: 0 calc((100vw - var(--shell)) / -2); }
.scene-making-row { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; min-height: 25rem; padding: clamp(3.5rem, 6vw, 6rem) calc((100vw - var(--shell)) / 2 + clamp(2rem, 5vw, 5rem)); background: #fbf4e5; }
.scene-making-row--atmosphere { background: linear-gradient(110deg, #f2dcdf, #f7e6cf 55%, #f4e5b8); }
.scene-making-copy .eyebrow { margin-bottom: 1rem; }
.scene-making-copy h2 { margin-bottom: 1.2rem; }
.scene-system { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: .65rem; align-items: center; }
.scene-system span, .scene-system strong { display: grid; place-items: center; min-width: 6.4rem; aspect-ratio: 1; padding: .6rem; border: 1px solid rgba(57,54,68,.18); border-radius: 50%; font: 400 .7rem/1.45 var(--sans); text-align: center; }
.scene-system strong { background: linear-gradient(135deg, #cf8f9b, #d4a957); color: #fff; font-weight: 400; }
.scene-system i { height: 1px; background: linear-gradient(90deg, #d49ba4, #d8ad61); }
.scene-tech { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; padding: 0; list-style: none; }
.scene-tech li { display: grid; place-items: center; min-height: 6rem; padding: 1rem; border: 1px solid rgba(57,54,68,.13); border-radius: .4rem; font: 300 1rem var(--serif); background: rgba(255,255,255,.24); }

.scene-contribution { margin: clamp(2rem, 4vw, 3.5rem) 0; }
.scene-reflection { padding: clamp(1.7rem, 3vw, 2.7rem); border: 0; border-radius: .4rem; background: linear-gradient(110deg, #f2dde1, #f7e8d1 52%, #f3e3b5); }
.scene-reflection h2 { color: #9d6b73; }
.scene-related { margin-block: 2rem; padding: 1.4rem 1.6rem; border-radius: .3rem; background: linear-gradient(110deg, #f4e1e3, #f5e7c8); }
.scene-related .eyebrow { margin: 0 0 .6rem; }
.scene-related > a { font: 300 1.35rem var(--serif); text-underline-offset: .2em; }

@media (max-width: 800px) {
  .scene-hero .case-intro h1 { font-size: clamp(2.8rem, 10vw, 4.5rem); }
  .scene-hero .case-lead { max-width: none; }
  .scene-premise, .scene-making-row { grid-template-columns: 1fr; gap: 1.5rem; }
  .scene-premise h2, .scene-section-heading h2, .scene-making-copy h2 { font-size: clamp(1.8rem, 6vw, 2.5rem); }
  .scene-premise > div:last-child > p, .scene-section-heading > p:not(.eyebrow), .scene-making-copy > p:not(.eyebrow) { max-width: none; }
  .scene-section-heading { grid-template-columns: 1fr; gap: .8rem; }
  .scene-section-heading .eyebrow, .scene-section-heading h2, .scene-section-heading > p:not(.eyebrow) { grid-column: 1; grid-row: auto; padding-top: 0; }
  .scene-world-grid figure, .scene-world-grid figure:nth-child(n+3) { grid-column: span 3; }
}

@media (max-width: 560px) {
  .scene-premise, .scene-making-row { padding-block: 3rem; }
  .scene-world-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .scene-world-grid figure, .scene-world-grid figure:nth-child(n+3) { grid-column: 1; }
  .scene-system { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .scene-system i { display: none; }
  .scene-system span, .scene-system strong { min-width: 0; width: 100%; }
  .scene-tech { grid-template-columns: 1fr 1fr; }
  .scene-reflection { grid-template-columns: 1fr; gap: .5rem; }
}
