/* Loaded after chronex-v74.css — prevents width jump from scrollbar / overflow toggles */

html {
  scrollbar-gutter: stable;
  overflow-y: scroll;
  overflow-x: clip;
}

/* Single scrollport on `html` — avoids scrollbar width toggling on `body`. */
body:not(.ag-menu-visible),
body.ag-home:not(.ag-menu-visible),
body:not(.ag-home):not(.ag-menu-visible) {
  height: auto !important;
  min-height: 100svh !important;
  max-height: none !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y pinch-zoom !important;
  -webkit-overflow-scrolling: touch !important;
}

body.ag-menu-visible {
  overflow: hidden !important;
}

/* Override earlier v74 rules that pin home to 100svh + overflow:hidden on `body`. */
body.ag-home:not(.ag-menu-visible) .ag-page[data-page="home"] {
  height: auto !important;
  min-height: 100svh !important;
  max-height: none !important;
  overflow: visible !important;
}

body.ag-home:not(.ag-menu-visible) .home-replacement {
  max-height: none !important;
}

#page-home,
body.ag-home #page-home {
  max-height: none !important;
  overflow: visible !important;
}

/* `100vw` full-bleed images include scrollbar width and can nudge layout horizontally. */
@media (max-width: 600px) {
  body.ag-home #page-home .chronex-hero-responsive-art > img.home-replacement-image {
    width: 100% !important;
    min-width: 0 !important;
    left: 0 !important;
    transform: none !important;
  }
}

/* Framer Motion owns entrance — disable bundled CSS that hides content before JS. */
.reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.ag-page.ag-enter {
  animation: none !important;
}
