/* SPACES_V82_6_SITE_VIEWPORT — full-width responsive landing page, no link to /download. */
html { width:100%; max-width:100%; min-height:100%; overflow-x:hidden; }
body { width:100%; max-width:100%; min-height:100vh; min-height:100dvh; overflow-x:hidden; }
/* The intro still locks scrolling until its existing JS finishes. */
body:not(.intro-running) { height:auto; overflow-y:auto; }
main#top { width:100%; min-width:0; max-width:100%; }
.site-header, .section-shell, .footer { box-sizing:border-box; max-width:calc(100% - 20px); }
.hero { box-sizing:border-box; width:min(1180px,calc(100% - 44px)); min-width:0; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); }
.hero > *, .app-stage, .app-window, .app-content { min-width:0; max-width:100%; }
.app-stage, .app-window { width:100%; }
.app-layout { width:100%; grid-template-columns:58px minmax(0,184px) minmax(0,1fr); }
.feature-grid, .feature-wide, .security-card, .signal-strip { min-width:0; max-width:100%; }
@media(max-width:1100px) {
  .hero { grid-template-columns:minmax(0,1fr); }
  .hero-copy { max-width:780px; }
  .app-stage { width:min(780px,100%); margin:8px auto 0; }
}
@media(max-width:690px) {
  .hero { width:calc(100% - 28px); max-width:calc(100% - 28px); min-height:0; }
  .site-header { max-width:calc(100% - 28px); }
  .section-shell { max-width:calc(100% - 28px); }
  .app-window { transform:none !important; }
  .app-layout { grid-template-columns:48px minmax(0,130px) minmax(0,1fr); }
  .app-layout > *, .app-content > * { min-width:0; }
}
@media(max-width:470px) {
  .app-layout { grid-template-columns:44px minmax(0,108px) minmax(0,1fr); }
}
