/* Aetherion homepage speed/layout fix — 2026-07-07
   Purpose: stop horizontal overflow and override risky full-viewport/mobile header rules. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
canvas,
svg,
iframe {
  max-width: 100%;
}

.site-header,
.header-inner,
.mobile-nav-panel,
main,
section,
footer,
.wrap,
.footer-inner,
.aetherion-growth-loop-hero,
.aetherion-growth-loop-frame {
  max-width: 100%;
}

/* This section is top-level, so the 100vw + negative-margin full-bleed hack is unnecessary
   and can create horizontal scrolling on mobile/desktop scrollbar viewports. */
.aetherion-growth-loop-hero {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow-x: hidden;
}

.aetherion-growth-loop-video,
.hero-video {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 980px) {
  body .site-header.aec-managed-header .header-inner {
    width: min(100% - 24px, var(--container)) !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    gap: 8px !important;
  }

  body .site-header.aec-managed-header .brand {
    min-width: 0 !important;
    max-width: 100% !important;
    justify-self: center !important;
  }

  body .site-header.aec-managed-header .brand-logo {
    width: auto !important;
    height: auto !important;
    max-height: 52px !important;
    max-width: min(180px, calc(100vw - 120px)) !important;
  }

  body .site-header.aec-managed-header .main-nav,
  body .site-header.aec-managed-header .auth-nav {
    display: none !important;
  }

  body .site-header.aec-managed-header .nav-toggle {
    display: inline-flex !important;
  }

  body .site-header.aec-managed-header .mobile-nav-panel {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
}

@media (max-width: 430px) {
  .aetherion-growth-loop-mobile-grid {
    grid-template-columns: 1fr;
  }
}

/* Aetherion CLS fix — reserve stable hero media height before video/poster loads */
.aetherion-growth-loop-frame {
  aspect-ratio: 1200 / 630;
  min-height: 0;
}

.aetherion-growth-loop-video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
}

.aetherion-growth-loop-mobile-steps {
  contain: layout paint;
}

@media (max-width: 760px) {
  .aetherion-growth-loop-frame {
    aspect-ratio: 1200 / 630;
  }

  .aetherion-growth-loop-mobile-steps {
    display: block;
  }
}
