/* Mobile edition: a distinct, touch-first reading composition. Desktop stays editorial. */
@media (max-width: 600px) {
  html { scroll-padding-top: 58px; }
  body.page-index { background: #f5f4ec; }

  /* Keep one navigation surface, make it a deliberate thumb rail. */
  .portal-nav {
    position: sticky;
    top: 53px;
    z-index: 7;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-bottom: 1px solid #aeb7a4;
    background: rgba(250,248,241,.96);
  }
  .portal-nav::-webkit-scrollbar { display: none; }
  .portal-nav .wrap { width: max-content; min-width: 100%; padding-inline: 12px; }
  .portal-nav .navinner { display: flex; flex-wrap: nowrap; gap: 5px; }
  .portal-nav a {
    min-height: 46px;
    padding: 13px 12px 11px;
    border-bottom-width: 3px;
    white-space: nowrap;
    font-size: 11px;
    letter-spacing: .07em;
  }
  .portal-nav a::before { margin-right: 4px; }

  /* Hero rhythm: copy, then the complete landscape film, then the story. */
  .page-index .mast { margin-bottom: 0; }
  .page-index .signal { padding-top: 0; border-bottom: 0; }
  .signal-inner { display: flex; flex-direction: column; min-height: 0; }
  .signal-copy { order: 1; width: auto; padding: 29px 0 22px; }
  .signal-copy > p { max-width: 31ch; font-size: 17px; }
  .signal h2 { font-size: clamp(49px, 14.5vw, 68px); margin: 10px 0 12px; }
  .signal-actions { gap: 8px; margin-top: 18px; }
  .signal-actions a, .signal-actions button { min-height: 44px; display: inline-flex; align-items: center; padding: 11px 13px; }
  .signal-actions button { border: 1px solid #9fae9f; background: transparent; color: #e0e9d9; font: 650 13px/1.4 Arial,sans-serif; cursor: pointer; }
  .signal-primary { box-shadow: 4px 4px 0 #0a1511; }
  .signal-visual {
    order: 2;
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 0;
    background: #09110e;
    border-top: 1px solid #35473c;
    border-bottom: 2px solid var(--signal);
  }
  .signal-visual video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    mask-image: none;
    background: #09110e;
  }
  .signal-visual::before {
    content: "GAMING.CY";
    position: absolute;
    z-index: 1;
    top: 9px;
    left: 11px;
    color: #e9f3c0;
    font: 700 10px/1 ui-monospace, monospace;
    letter-spacing: .12em;
    pointer-events: none;
  }
  .film-slate { display: none; }
  #signal-control { right: 10px; bottom: 10px; min-height: 44px; padding-inline: 13px; }
  .signal-copy + .signal-visual { margin-top: 0; }

  .page-index > main { padding-top: 22px; }
  .studio-front { display: block; padding-top: 13px; }
  .studio-orbit { display: none; }
  #lead::before { top: -5px; right: 0; }
  #lead h1 { font-size: clamp(44px, 12.8vw, 64px); line-height: .95; }
  .dek { font-size: 18px; }
  .studio-media-frame { box-shadow: 5px 5px 0 var(--ink); }
  .studio-media-frame img { aspect-ratio: 16 / 9; object-fit: cover; }
  .studio-rail { margin-top: 26px; padding: 0; border: 0; }
  .studio-rail .deadline { box-shadow: 5px 5px 0 var(--ink); }
  .studio-rail .smalldesk { margin-top: 20px; }

  .section { margin-top: 42px; }
  .sectionhead { padding-block: 9px; }
  .sectionhead h2 { font-size: 36px; }
  .sectionhead::after { font-size: 20px; }
  .sectionhead span { font-size: 10px; }
  .wire-strip { margin: 20px 0; padding: 12px; gap: 9px 12px; }
  .wire-strip > a { min-height: 44px; display: inline-flex; align-items: center; margin-left: 0; }
  .event > a, .jobs footer a, .arrow { min-height: 44px; display: inline-flex; align-items: center; }
  .home-play { margin-top: 42px; padding: 20px 16px; }
  .home-play h2 { font-size: 38px; }
  .price-ticket strong { font-size: 58px; }

  .credit-footer .wrap { min-height: 65px; padding-block: 13px; }
  .credit-footer a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 380px) {
  .portal-nav { top: 49px; }
  .portal-nav a { padding-inline: 10px; font-size: 10px; }
  .signal-copy { padding-top: 23px; }
  .signal-copy > p { font-size: 16px; }
  .signal-actions { flex-direction: column; align-items: stretch; }
  .signal-actions a, .signal-actions button { justify-content: center; }
  .page-index > main { padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .portal-nav { scroll-behavior: auto; }
}
/* Both rails belong to one sticky element; their edges track at every font size. */
.head-stack{position:sticky;top:0;z-index:9;isolation:isolate}
.head-stack .mast,.head-stack .portal-nav{position:relative;top:auto;margin-bottom:0}
.page-index .signal{padding-top:0}
html{scroll-padding-top:var(--header-clearance,126px)}
body :is(section,article,h1,h2,main)[id]{scroll-margin-top:4px}
@media(min-width:601px){.head-stack .portal-nav{background:#f8f7efed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
#arrival-screen{margin:0;border:0;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#060808;color:#f4f2e8;padding:0;overflow:hidden}#arrival-screen[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center}#arrival-screen::backdrop{background:#050505}.viewing-intro{overflow:hidden}
.arrival-head,.arrival-controls{width:min(100%,1280px);margin-inline:auto;padding:clamp(10px,2vh,20px) clamp(18px,3.9vw,52px);box-sizing:border-box}.arrival-head,.arrival-meter,.arrival-tools{display:flex;align-items:center;justify-content:space-between;gap:14px}.arrival-head b{font:800 clamp(22px,3vw,39px)/1 Arial,sans-serif;letter-spacing:-.07em}.arrival-head b span{color:#dceb89}.arrival-head>span,.arrival-meter{font:600 11px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.1em;color:#c5cbbd}#arrival-player{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#060808}.arrival-tools{justify-content:flex-end;margin-bottom:12px;gap:8px}.arrival-tools button{color:#e5e8d9;border:1px solid #68735c;border-radius:30px;background:#162019;font:600 13px/1.2 Arial;padding:8px 16px;min-height:44px;cursor:pointer}.arrival-tools [data-arrival-skip]{border-color:#d8e993;color:#e8f2bc}.arrival-tools button:focus-visible{outline:2px solid white;outline-offset:2px}.arrival-meter output{font-variant-numeric:tabular-nums;color:#e1eea2}#arrival-progress{width:100%;height:3px;border:0;appearance:none;-webkit-appearance:none;background:#314336;color:#d8e78e;display:block;margin:9px 0}#arrival-progress::-webkit-progress-bar{background:#314336}#arrival-progress::-webkit-progress-value{background:#d8e78e}#arrival-progress::-moz-progress-bar{background:#d8e78e}
@media(max-width:600px){.arrival-head{padding-top:max(18px,env(safe-area-inset-top))}.arrival-controls{padding-bottom:max(18px,env(safe-area-inset-bottom))}.arrival-tools{justify-content:space-between}.arrival-tools button{padding-inline:12px}.signal-copy{padding-block:16px 12px}.signal-copy>p{margin-block:4px}.signal h2{font-size:clamp(44px,10vw,60px)}}
