/* Mobile performance. Desktop scroll choreography and original v27 remain unchanged. */
@media(max-width:820px), (prefers-reduced-motion:reduce) {
  html.native-scroll {
    scroll-behavior:auto!important;
    overscroll-behavior-y:auto;
    scrollbar-width:auto;
  }
  html.native-scroll::-webkit-scrollbar { display:initial; }
  html.native-scroll body { touch-action:pan-y; overflow-x:hidden; }
  html.native-scroll .dock {display:none!important}
  html.native-scroll .dots {display:flex;right:4px}
  html.native-scroll .nextarrow {pointer-events:auto}
  /* Blur-heavy, viewport-wide translucent panels are expensive on low-power GPUs. */
  .nav.scrolled,
  .nav:hover,
  .mbar,
  .mmenu,
  .ttip .tcard,
  .dock .dbg {backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .mbar {background:rgba(0,0,75,.93)}
  .mmenu {background:rgba(0,0,72,.98)}
  .tcut .pp, .tcut .pg {will-change:auto}
  #features, #roadmap, #team, #articles, #contact, .mission {min-width:0}
  /* Native scrolling retains full content instead of forcing it into a screen.
     Safe-area space is reserved for the mobile contact bar. */
  #features, #roadmap, #team, #articles, #contact, .mission {
    height:auto;
    min-height:100svh;
    scroll-margin-top:75px;
    padding-bottom:calc(76px + env(safe-area-inset-bottom));
  }
  #team .tgrid {min-width:0}
  #team .tphoto {max-width:100%; min-width:0}
  .nextarrow svg {animation-duration:3s}
}
@media(max-width:600px) {
  .mission > .wrap,.mission .mrow {min-width:0}
  .site-footer { padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
  #features .fg {min-width:0}
  #features .f {overflow-wrap:anywhere}
  #team .tcut .tst {max-width:100%}
}
