/* Readable controls and copy without changing the campaign art direction. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root{--muted:#b7c3ce}
body{line-height:1.5}
main{scroll-margin-top:80px}
:where(a,button,[tabindex]):focus-visible{outline:3px solid var(--green);outline-offset:4px;box-shadow:0 0 0 6px #050505}
.skip-link:focus-visible{outline-color:var(--cyan);outline-offset:2px}
.desktop-nav a{font-size:clamp(12px,1vw,14px);letter-spacing:.07em;min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a[aria-current="page"]{color:var(--white)}
.desktop-nav .nav-play{padding:0 14px;border:1px solid var(--green);background:#101910;color:var(--green)}
.desktop-nav .nav-play:hover,.desktop-nav .nav-play:focus-visible{background:var(--green);color:#050505}
.footer-top nav a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center;font-size:12px;letter-spacing:.06em}
.footer-top>div>span,.footer-bottom,.section-meta,.menu-index,.menu-bottom{font-size:12px;letter-spacing:.1em}
.hero-intro{max-width:390px}.hero-intro p,.statement-foot p,.gameplay-foot p,.notice-dialog p{font-size:16px;line-height:1.55;color:#e4e9ee}
.text-cta,.view-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px;letter-spacing:.08em;padding:8px 3px;border-bottom:2px solid currentColor}
.gameplay-head p,.cta-action p{font-size:14px;letter-spacing:.08em}
.scene-index{font-size:12px;letter-spacing:.08em;text-shadow:0 2px 6px #000,0 0 3px #000}
.statement-foot{width:min(630px,80%)}
.statement-axis{flex:none}
.gameplay-stage{isolation:isolate}
.scene-main{z-index:2}
.scene-small{z-index:3}
.dialog-close,.dialog-back{min-width:44px;min-height:44px}
@media(max-width:1050px){
  .desktop-nav{gap:clamp(8px,1.5vw,18px)}
  .desktop-nav a{font-size:12px}
  .gameplay-head{display:flex;flex-wrap:wrap;gap:12px 25px;align-items:end}
  .gameplay-head .section-meta{width:100%}
  .gameplay-head p{display:block;margin-left:auto}
  .gameplay h2{font-size:clamp(75px,11vw,145px)}
}
@media(max-width:700px){
  .menu-toggle{width:48px;height:48px}
  .mobile-menu{overflow-y:auto;padding-top:120px;padding-bottom:40px;justify-content:center}
  .mobile-menu a{display:flex;align-items:center;min-height:56px;font-size:clamp(44px,10vw,72px)}
  .hero{min-height:760px;min-height:100svh}
  .hero-intro{max-width:290px}
  .hero-intro p,.statement-foot p,.gameplay-foot p{font-size:16px}
  .hero h1{font-size:clamp(64px,15vw,105px)}
  .statement{min-height:650px}
  .statement-lines{min-width:0}
  .statement-line{font-size:clamp(50px,10.5vw,76px)}
  .statement-foot{width:100%;margin:50px 0 0;align-items:start}
  .statement-axis{display:none}
  .gameplay h2{font-size:clamp(70px,14vw,110px);white-space:normal;overflow-wrap:anywhere}
  .gameplay-head p{text-align:left;margin:8px 0 0}
  .gameplay-stage{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;margin-top:30px}
  .stage-line,.stage-cross{display:none}
  .scene,.scene-main,.scene-small{position:relative;inset:auto;width:100%;transform:none}
  .scene-main{grid-column:1/-1;height:clamp(260px,65vw,390px)}
  .scene-small{height:clamp(145px,36vw,210px)}
  .scene-small:hover,.scene-main:hover{transform:none}
  .scene-index{font-size:11px}
  .gameplay-foot{flex-wrap:wrap}
  .view-link{font-size:14px}
  .cta-content h2{font-size:clamp(80px,19vw,140px);white-space:normal}
  .play-button{min-height:100px}
  .footer-top nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
}
@media(max-width:390px){
  .hero h1{font-size:14vw}
  .statement-line{font-size:10vw}
  .gameplay h2{font-size:14vw}
  .cta-content h2{font-size:18vw}
  .scene-index{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js-ready .reveal:not(.in-view),.js-ready .statement-line:not(.in-view){opacity:1!important;transform:none!important}
}
