/* 5PACE v28 — phone composition. Everything is inside max-width:820px; desktop is untouched. */
@media (max-width:820px){
  /* captions keep a stable box: browser toolbars collapsing never re-flows the film */
  .caps{bottom:auto;height:100svh}
  /* film HUD type at phone scale (viewBox units; the camera frames each scene, so these land at 11-13px) */
  .lab{font-size:21px!important}
  .conf{font-size:21px!important}
  #stamp text{font-size:var(--m28st,13.5px)!important}
  .sl{font-size:19px!important}
  .sn{font-size:17px!important}
  .dh{font-size:16px!important}
  .tlb{font-size:12.5px!important}
  #tlab{font-size:12px!important}
  /* label sizes follow the camera framing on short/narrow phones (set by the phone runtime) */
  #sat .lab,#sat .conf{font-size:var(--m28lab,21px)!important}
  /* bigger bracket labels: the name lifts and the CONF readout drops by the extra size, so they never touch */
  #sat .lab{transform:translateY(calc((21px - var(--m28lab,21px))*1.05))}
  #sat .conf{transform:translateY(calc((var(--m28lab,21px) - 21px)*.6))}
  #track .sl{font-size:var(--m28sl,19px)!important}
  #track .sn{font-size:var(--m28sn,17px)!important}
  /* idle = zero work: the roadmap's sky/cloud/beacon loops only run while the roadmap is on screen,
     the scroll cue stops bobbing once it is hidden */
  html.m28 #roadmap:not(.m28-in) .msvg *{animation-play-state:paused!important}
  .nextarrow.gone svg{animation:none}
  /* chapters hug their content: no empty screens between them */
  #features,#roadmap,#team,#articles{min-height:0!important;padding-top:92px!important;padding-bottom:48px!important}
}
@media (max-width:820px){
  /* team tiles: the corner LinkedIn button never sits on top of a long name */
  #team .tnames li > .member-heading{padding-right:24px}
}
@media (max-width:820px){
  /* film captions: compact, so the stage (the protagonist) gets the height */
  html.m28 .nextarrow{transition:opacity .35s,bottom .45s cubic-bezier(.215,.61,.355,1)}
  .cp:not(#capH) h2{font-size:clamp(2.2rem,5.7svh,3rem);margin:8px 0 10px;line-height:1.02}
  .cp:not(#capH) p{font-size:clamp(15px,2.05svh,17px);line-height:1.45}
}
@media (max-width:820px){
  /* Mission card sits inside the page margins (it was full-bleed, corners touching the screen edge) */
  .mission > .wrap.mrow{width:auto;margin-left:16px;margin-right:16px}
}
@media (max-width:820px){
  /* menu reads as its own surface (no hero copy ghosting through) */
  .mmenu{background:#000048!important}
}

/* 5PACE v33: never paint satellite labels ahead of their individual detection beat.
   The GSAP timeline reveals each group at its original Scan timing. */
@media (max-width:820px){
  #sat .bk .lab, #sat .bk .conf, #sat .bk .ticks { visibility:hidden; }
}
