.world.gamer-girls .scene,
.project-hero.gamer-girls .scene,
.index-image img[src*="/gamer-girls/leading-ladies-"],
.next-world img[src*="/gamer-girls/leading-ladies-"] { object-position: 100% 52%; }
.world.gamer-girls .shade,
.project-hero.gamer-girls .page-shade {
  background: linear-gradient(90deg, #120e13a8 0%, #120e1360 31%, transparent 65%),
    linear-gradient(0deg, #100e11d4, transparent 37%, transparent 80%, #100e1147);
}
.project-hero.gamer-girls .project-hero-copy > p:not(.eyebrow) { max-width: 37ch; }
.gg-synopsis, .gg-closing, .gg-stakes-pair, .gg-core-roster, .gg-support-roster { display: grid; }
.gg-synopsis { grid-template-columns: minmax(0,1.45fr) minmax(0,.75fr); align-items: center; gap: clamp(32px,8vw,130px); }
.gg-synopsis h2 { margin: 18px 0 25px; font-size: clamp(44px,6vw,95px); letter-spacing: -.06em; line-height: 1; }
.gg-synopsis .long-copy { max-width: 49ch; }
.gg-synopsis figure, .gg-comparison figure, .gg-characters figure, .gg-stakes figure, .gg-closing figure { margin: 0; }
.gg-synopsis img, .gg-views img, .gg-portrait img, .gg-stakes-pair img, .gg-closing img { display: block; width: 100%; height: auto; }
.gg-synopsis figure { width: min(100%, 330px); justify-self: center; }
.gg-synopsis figcaption, .gg-views figcaption { margin-top: 12px; font: 14px/1.5 var(--mono); color: #c4bba7; }
.gg-comparison, .gg-characters, .gg-stakes, .gg-closing { padding-block: clamp(38px,6vw,92px); border-top: 1px solid #dcc9a936; }
.gg-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: clamp(20px,3vw,45px); }
.gg-section-head h2, .gg-closing h2 { font-size: clamp(40px,5.4vw,88px); line-height: 1.05; letter-spacing: -.06em; margin: 0; }
.gg-section-head .eyebrow { margin: 0 0 15px; }
.gg-switch { display: inline-flex; border: 1px solid #a99a7d; padding: 3px; background: #0d100e; }
.gg-switch[hidden] { display: none; }
.gg-switch button { min-width: 100px; min-height: 44px; border: 0; padding: 9px 17px; color: #dcc9a9; background: transparent; font-family: var(--mono); font-size: 15px; cursor: pointer; }
.gg-switch button[aria-pressed="true"] { background: var(--orange); color: #121410; }
.gg-switch button:focus-visible, .gg-ensemble summary:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.gg-views { display: grid; gap: 24px; }
.gg-views img { aspect-ratio: 1672/941; }
.gg-interactive .gg-views { grid-template-columns: 1fr; }
.gg-interactive .gg-views figure { grid-area: 1/1; opacity: 0; pointer-events: none; transition: opacity 320ms ease; }
.gg-interactive[data-view="players"] [data-gg-frame="players"],
.gg-interactive[data-view="avatars"] [data-gg-frame="avatars"] { opacity: 1; }
.gg-tvarika { position: relative; isolation: isolate; color: #f4dfdc; background: #221025; }
.gg-tvarika > img { width: 100%; height: auto; display: block; }
.gg-tvarika-copy { position: absolute; inset: 0 auto 0 0; width: 56%; padding-inline: clamp(18px,5vw,74px); display: flex; flex-direction: column; justify-content: center; align-items: start; }
.gg-tvarika-copy h3 { font-size: clamp(36px,6.8vw,109px); margin: 10px 0 18px; line-height: 1; letter-spacing: -.06em; }
.gg-tvarika-copy > p:last-child, .gg-closing p { max-width: 33ch; font-size: clamp(17px,1.6vw,24px); line-height: 1.5; }
.gg-core-roster, .gg-support-roster { gap: clamp(14px,2vw,32px); margin-top: clamp(22px,3vw,42px); grid-template-columns: repeat(3,minmax(0,1fr)); }
.gg-support-roster { grid-template-columns: repeat(4,minmax(0,1fr)); }
.gg-portrait h3, .gg-stakes-pair h3 { font-size: clamp(24px,2.4vw,38px); letter-spacing: -.045em; margin: 16px 0 4px; }
.gg-portrait .eyebrow { color: var(--green); }
.gg-portrait p, .gg-stakes-pair figcaption p { max-width: 39ch; margin: 8px 0 0; font-size: clamp(16px,1.3vw,19px); line-height: 1.55; }
.gg-ensemble { border-top: 1px solid #dcc9a936; margin-top: clamp(24px,3vw,50px); }
.gg-ensemble summary { cursor: pointer; padding-block: 17px; display: flex; align-items: center; justify-content: space-between; list-style: none; font: 16px/1.5 var(--mono); }
.gg-ensemble summary::-webkit-details-marker { display: none; }
.gg-ensemble summary span { color: var(--green); font-size: 26px; line-height: 1; }
.gg-ensemble[open] summary span { transform: rotate(45deg); }
.gg-stakes-pair { grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px,2.5vw,40px); }
.gg-closing { grid-template-columns: 1.3fr 1fr; gap: clamp(24px,4.5vw,76px); align-items: center; }
.gg-closing p { margin: 18px 0 26px; }
@media (max-width: 700px) {
  .world.gamer-girls .scene, .project-hero.gamer-girls .scene {
    position: absolute; top: 5%; height: 54%; object-position: 100% center;
    mask-image: linear-gradient(0deg, transparent, #000 9%, #000 92%, transparent);
  }
  .world.gamer-girls .shade, .project-hero.gamer-girls .page-shade {
    background: linear-gradient(0deg, #0d100e 32%, #0d100ec2 40%, transparent 53%, transparent 86%, #0d100e70);
  }
  .project-hero.gamer-girls .scene { top: 15%; height: 43%; }
  .world.gamer-girls .world-copy { bottom: 90px; }
  .world.gamer-girls .world-copy .world-hook { font-size: 17px; margin-block: 12px; }
  .project-hero.gamer-girls .project-hero-copy { padding-top: 35vh; }
  .gg-synopsis, .gg-closing, .gg-stakes-pair { grid-template-columns: 1fr; gap: 26px; }
  .gg-synopsis figure { width: min(80%,330px); }
  .gg-section-head { align-items: start; flex-direction: column; gap: 16px; }
  .gg-tvarika-copy { position: relative; width: auto; padding: 19px 20px 24px; }
  .gg-tvarika-copy h3 { margin: 9px 0 11px; }
  .gg-core-roster, .gg-support-roster { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gg-core-roster { grid-template-columns: 1fr; }
  .gg-core-roster .gg-portrait { display: grid; grid-template-columns: 42% 1fr; align-items: center; gap: 18px; }
  .gg-core-roster h3 { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) { .gg-interactive .gg-views figure { transition: none; } }
.motion-off .gg-interactive .gg-views figure { transition: none; }
@media print {
  .gg-switch { display: none; }
  .gg-interactive .gg-views figure { grid-area: auto; opacity: 1; }
}
