/* Mobile art direction. Keep phone composition and touch controls intentional. */
@media (max-width:760px) {
  :root { --gutter:22px; --mobile-header:calc(64px + env(safe-area-inset-top, 0px)); }
  html { scroll-padding-top:calc(var(--mobile-header) + 18px); }
  .header {
    position:fixed; height:var(--mobile-header); padding:env(safe-area-inset-top, 0px) 20px 0;
    gap:20px; border-bottom:1px solid #ffffff16;
    background:linear-gradient(180deg,#07100fee,#07100f91); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  }
  .header .brand { font-size:21px; gap:9px; flex-shrink:0; letter-spacing:.025em; }
  .header .brand svg { width:25px; height:29px; flex:none; }
  .header>.button { display:none; }
  .header .menu-toggle {
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px;
    width:44px; height:44px; margin-left:auto; padding:10px; flex:none;
    border:1px solid #ffffff38; background:#101a1659;
  }
  .menu-toggle span { width:20px; margin:0; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { inset:var(--mobile-header) 0 0; padding:18px 22px calc(24px + env(safe-area-inset-bottom,0px)); overflow-y:auto; }
  .mobile-nav:not([hidden]) { gap:0; font-size:25px; }
  .mobile-nav a { display:flex; align-items:center; min-height:66px; padding:16px 0; border-bottom:1px solid var(--line); line-height:1.2; }
  .mobile-nav a:last-child { background:var(--lime); color:#0a100f; justify-content:center; border:0; margin-top:25px; padding:17px; min-height:54px; font-size:15px; font-weight:700; text-transform:uppercase; }
  .menu-open .header { background:#0a100f; }

  .hero.hero-scene { min-height:680px; height:100svh; max-height:980px; padding:0; isolation:isolate; }
  .hero-scene .hero-films { position:absolute; inset:0; aspect-ratio:auto; margin:0; width:100%; height:100%; }
  .hero-scene .hero-films .film { height:100%; }
  .hero-scene .film picture { display:block; width:100%; height:100%; }
  .hero-scene .film img,.hero-scene .film video { width:100%; height:100%; object-fit:cover; object-position:center top!important; }
  .hero-scene:after { background:linear-gradient(180deg,#08100f26 0%,transparent 18%,transparent 44%,#07100e80 62%,#07100feb 85%,#0a100f 100%); }
  .hero-scene .hero-grid { opacity:.3; z-index:1; mask-image:linear-gradient(transparent 60%,black); }
  .hero-scene .hero-copy { position:absolute; left:22px; right:22px; bottom:calc(65px + env(safe-area-inset-bottom,0px)); margin:0; text-align:left; }
  .hero-scene h1 { font-size:clamp(32px,9.6vw,68px); line-height:1.04; letter-spacing:-.055em; text-shadow:0 2px 25px #0004; }
  .hero-scene .hero-description { max-width:285px; margin:16px 0 0; font-size:15px; line-height:1.55; color:#e2e9dd; }
  .hero-scene .actions { display:block; margin-top:22px; }
  .hero-scene .actions .button { width:100%; max-width:400px; min-height:56px; justify-content:space-between; padding:18px 22px; font-size:13px; }
  .hero-scene .actions .text-link { display:none; }
  .hero-scene .hero-bottom { left:22px; right:22px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); flex-wrap:nowrap; font-size:10px; letter-spacing:.045em; color:#b6c3b2; }
  .hero-scene .hero-bottom .art-label { margin-right:0; font-size:9px; letter-spacing:0; }
  .hero-scene .hero-bottom>span:first-child { max-width:none; white-space:nowrap; }
  .hero-scene .motion-button { flex:none; }

  .section-pad { padding:70px 22px; }
  .eyebrow { font-size:11px; letter-spacing:.13em; }
  .intro { padding:64px 22px 60px; }
  .intro h2 { font-size:clamp(34px,8.8vw,60px); margin:20px 0; line-height:1.09; }
  .intro-text { font-size:16px; line-height:1.65; }
  .platforms { border-top:1px solid var(--line); padding-top:26px; max-width:400px; margin:32px auto 0; gap:15px; }
  .platform { flex-direction:row; gap:10px; text-align:left; flex:none; }
  .platform strong { font-size:22px; }
  .platform svg { height:29px; width:26px; }
  .platform span { display:none; }
  .platform-cross { margin:0; align-self:center; color:#819478; }

  .world { height:82svh; min-height:600px; max-height:850px; padding:0 22px 64px; }
  .world h2 { font-size:clamp(33px,8.8vw,62px); line-height:1.05; margin:17px 0; }
  .world-copy>p:not(.eyebrow) { max-width:350px; font-size:15px; line-height:1.65; }
  .world-shade { background:linear-gradient(0deg,#08100ff5, #08100fa3 30%,transparent 76%); }
  .world .text-link { min-height:46px; margin-top:16px; font-size:13px; }
  .world .art-label { left:22px; right:auto; bottom:20px; font-size:9px; }

  .together h2 { font-size:clamp(37px,9.5vw,66px); margin:20px 0; }
  .coop-visual { margin:30px -22px 0; width:calc(100% + 44px); aspect-ratio:1.5; }
  .location-labels { left:15px; right:15px; bottom:24px; font-size:8px; gap:8px; }
  .location-labels span:nth-child(2) { padding:7px 9px; }
  .coop-features { margin-top:32px; gap:24px; }
  .coop-features article { display:grid; grid-template-columns:25px 1fr; column-gap:14px; padding-bottom:24px; }
  .feature-number { grid-row:1/3; padding-top:5px; }
  .coop-features h3 { font-size:21px; line-height:1.25; margin:0 0 9px; }
  .coop-features p { grid-column:2; font-size:15px; line-height:1.6; }

  .section-heading { gap:20px; margin-bottom:28px; }
  .section-heading h2,.set-gallery .section-heading h2 { font-size:clamp(33px,8.6vw,60px); margin-top:18px; line-height:1.08; }
  .section-heading>p { font-size:15px; line-height:1.65; }
  .set-navigation { border:0; margin-bottom:18px; }
  .set-tabs { gap:8px; padding:3px 2px 12px; scrollbar-width:none; scroll-snap-type:x proximity; }
  .set-tabs::-webkit-scrollbar { display:none; }
  .set-tabs button { padding:12px 15px; min-height:46px; font-size:12px; border:1px solid #ffffff28; background:#152019; scroll-snap-align:start; color:#a7b59f; }
  .set-tabs button[aria-selected=true] { color:var(--set-color); border-color:var(--set-color); background:color-mix(in srgb,var(--set-color) 12%,#111a15); }
  .set-arrows { padding:0; gap:18px; }
  .set-arrows button { width:44px; min-height:44px; border:1px solid #ffffff25; }
  .set-stage { display:flex; flex-direction:column; }
  .set-art { aspect-ratio:4/3; width:100%; }
  .set-art img { object-position:center; }
  .set-info { padding:18px 20px 23px; align-self:stretch; }
  .set-info h3 { font-size:clamp(25px,7.3vw,36px); margin:13px 0; line-height:1.12; }
  .set-info>p:not(.eyebrow) { font-size:14px; line-height:1.65; }
  .set-meta { gap:15px; margin:20px 0 12px; font-size:9px; }
  .set-info>p.small-note { font-size:11px; }
  .set-characters { gap:12px; margin-top:18px; padding-bottom:14px; }
  .character-card { flex:0 0 44%; }
  .character-portrait { aspect-ratio:4/5; }
  .character-card strong { font-size:12px; padding-top:11px; line-height:1.4; }
  .character-plus { width:30px; height:30px; right:8px; bottom:8px; }

  .creator-image { aspect-ratio:1.25; }
  .creator-options { padding:20px; }
  .creator-tabs { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px; }
  .creator-tabs button { min-height:50px; font-size:12px; line-height:1.35; padding:10px 0 15px; }
  #creator-panel h3 { font-size:28px; margin:12px 0; }
  #creator-description { font-size:15px; line-height:1.65; }
  #creator-points { margin:22px 0; }
  #creator-points li { font-size:13px; gap:12px; margin:12px 0; }
  .creator .text-link { min-height:46px; }
  .rule-strip { gap:17px 12px; margin-top:25px; font-size:9px; line-height:1.5; }

  .waitlist { padding-top:64px; padding-bottom:64px; }
  .waitlist h2 { font-size:clamp(33px,9.3vw,66px); margin:18px 0 20px; }
  .waitlist-intro>p:last-child { font-size:15px; line-height:1.65; }
  .waitlist-form { margin-top:30px; }
  .input-row .button { min-height:56px; justify-content:space-between; padding:18px 22px; }
  .device-label { margin-top:22px; }
  .waitlist-form .consent { font-size:12px; gap:12px; }
  .faq { padding:58px 22px; }
  summary { min-height:68px; font-size:17px; gap:18px; line-height:1.4; align-items:center; }
  summary span { flex:none; }
  details p { font-size:14px; line-height:1.75; }
  footer { padding:32px 22px calc(25px + env(safe-area-inset-bottom,0px)); }
  footer>div { gap:10px 24px; margin-top:18px; align-items:center; }
  footer>div .inline-button { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
  footer>div>span { width:100%; margin:0; font-size:11px; }
  dialog { max-height:calc(100svh - 40px); overflow-y:auto; padding:32px 22px; }
  .character-dialog #dialog-body>img { max-height:42svh; }
}
@media(max-width:359px) {
  .hero-scene .hero-copy,.hero-scene .hero-bottom { left:20px; right:20px; }
  .hero-scene h1 { font-size:31px; }
  .hero-scene .hero-description { font-size:14px; }
  .platform { gap:7px; }
  .platform strong { font-size:20px; }
  .platform svg { width:24px; }
}
@media(max-width:760px) and (max-height:700px) {
  .hero.hero-scene { min-height:580px; }
  .hero-scene .hero-copy { bottom:60px; }
  .hero-scene .hero-description { margin-top:12px; }
  .hero-scene .actions { margin-top:18px; }
}
