@media (max-width: 700px) {
  :root { --mobile-gutter: 12px; }

  .global-header { inset-inline: var(--mobile-gutter); }
  .global-header .brand { justify-content: space-between; gap: 12px; }
  .global-header .nav { display: none; }
  .hero-details, .lab-caption, .field-notes__copy, .field-notes__footer,
  .colony, .silk-recovery, .press-observations, .contact-index {
    padding-inline: var(--mobile-gutter);
  }
  #robot-story .copy-stage :is(h1, h2, p) { left: var(--mobile-gutter); }
  #robot-story .copy-stage p { right: var(--mobile-gutter); }

  .intro-sequence { height: calc(100dvh + 600svh); }
  .prologue { height: calc(100dvh + var(--finale-run)); }
  .intro-sequence__stage { height: 100dvh; }
  .intro-sequence__poster, .prologue__loop-frame { object-fit: cover; }
  :is(.intro-sequence, .prologue) .archive-meta {
    inset-inline: var(--mobile-gutter);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    font-size: clamp(8px, 2.3vw, 11px);
    white-space: nowrap;
    letter-spacing: 0;
  }
  :is(.intro-sequence, .prologue) .archive-meta span:nth-child(2) { display: none; }

  .laboratory { padding-top: 64px; }
  .lab-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.32fr) minmax(0, .72fr);
    gap: 4px;
    padding-inline: var(--mobile-gutter);
  }
  .lab-grid .vessel { border-top: 0; }
  .lab-grid .vessel-view { height: clamp(190px, 58vw, 340px); }

  .colony--motion .colony__motion-track {
    position: relative;
    top: auto;
    background: none;
    overflow: clip;
  }
  .colony__table-scroll,
  .colony--runner-ready .colony__table-scroll { overflow: visible; padding-bottom: 8px; }
  .colony__table { min-width: 0; }
  .colony__table col:first-child { width: 57%; }
  .colony__table col:nth-child(2) { width: 43%; }
  .colony__table :is(col, th, td):nth-child(n + 3),
  .colony__record-detail { display: none; }
  .colony__table thead th { white-space: normal; }
  .colony__table :is(thead, tbody) th:first-child { padding-left: 34px; }
  .colony__table tbody th { letter-spacing: .08em; font-size: 11px; }
  .colony__table tbody td { font-size: 11px; }
  .colony__table .colony__row--away td:nth-child(2) { padding-left: 0; }
  .colony__runner { width: 22px; height: 22px; }
  .colony__wanderer { display: none; }

  .swarm {
    height: 100dvh;
    min-height: 0;
    max-height: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr) auto auto;
    column-gap: 16px;
    row-gap: 12px;
    padding: 60px var(--mobile-gutter) 16px;
  }
  .swarm__viewport { position: relative; grid-column: 1 / -1; min-height: 0; }
  .swarm__fallback { top: 50%; width: min(100%, 390px); max-height: 100%; }
  .swarm__caption { position: static; width: auto; transform: none; }
  .swarm__description { margin-top: 8px !important; padding-top: 6px; min-height: 0; }
  .swarm__choices { position: static; grid-column: 1 / -1; width: auto; }
  .swarm__choice { height: 44px; }
  .swarm__choice img { width: 38px; height: 38px; }

  .material-archive__stage {
    height: 100dvh;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
    padding: 62px var(--mobile-gutter) 16px;
  }
  .material-archive__strip { position: static; padding: 0; }
  .material-archive__feature {
    position: static;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
  }
  .material-archive__story { display: contents; }
  .material-archive__copy { grid-row: 1; }
  .material-archive__media {
    grid-row: 2;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    margin: 0;
  }
  .material-timeline { grid-row: 3; height: auto; }
  .global-advance[data-mobile-controls="true"] { visibility: hidden; }

  /* Leave space inside the frame for a complete cutout and its vertical drift. */
  .nature__media--contain .nature__layer { inset: 9% 0; }
  .nature__media--contain .nature__layer :is(img, video) { object-fit: contain; }
  .nature__spread .nature__membrane { aspect-ratio: 2.5; }
  .thermal[data-enhanced="true"] .thermal__meta { inset-inline: var(--mobile-gutter); }
}

@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .colony--motion .colony__motion-track {
    height: calc(260px + clamp(112px, 19svh, 160px));
  }
}

@media (max-width: 700px) and (max-height: 620px) {
  .swarm { row-gap: 8px; padding-top: 50px; }
  .material-archive__stage { padding-top: 52px; gap: 8px; }
  .material-archive__feature { gap: 6px; }
  .material-archive__category { margin-top: 4px !important; }
}

@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  .intro-sequence { height: calc(100dvh + 100svh); }
}
