/* Final stability layer: structural UI must be correct on the first visible frame. */
html {
  scroll-padding-top: 118px;
  scrollbar-gutter: stable;
  background: #f4f6f5;
}

body {
  min-height: 100vh;
  background: #f4f6f5;
}

[data-site-header] {
  min-height: 106px;
}

.page-home [data-site-header] {
  min-height: 86px;
}

/* Late JS may enhance content, but it must never hide content that was already painted. */
body.has-motion [data-reveal],
body.platform-motion-ready [data-platform-reveal],
[data-app-reveal],
[data-about-reveal],
[data-quality-reveal],
[data-resource-reveal],
[data-rfq-reveal] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

.page-home .global-header .site-brand,
.page-home .global-header .nav-item,
.page-home .global-header .site-actions,
.page-home .global-header .site-rfq {
  opacity: 1 !important;
  transform: none !important;
  transition-delay: 0s !important;
}

/* Homepage sections no longer wait for scroll observers before becoming visible. */
.has-motion .page-home .home-applications-head,
.has-motion .page-home .home-applications-stage,
.has-motion .page-home .home-bases-head,
.has-motion .page-home .home-bases-stage,
.has-motion .page-home .home-bases-flow,
.has-motion .page-home .home-project-start-shell,
.has-motion .page-home .home-quality-content,
.has-motion .page-home .home-quality-tabs,
.has-motion .page-home .home-resources-head,
.has-motion .page-home .home-resources-grid,
.has-motion .page-home .home-trust-head,
.has-motion .page-home .home-trust-gallery,
.has-motion .page-home .home-trust-credentials,
.page-home .home-company-facts .home-fact-card,
.page-home .home-strategy .home-strategy-card {
  opacity: 1 !important;
  transform: none !important;
  transition-delay: 0s !important;
}

main [id],
section[id] {
  scroll-margin-top: 118px;
}

@media (max-width: 960px) {
  html { scroll-padding-top: 82px; }
  [data-site-header],
  .page-home [data-site-header] { min-height: 68px; }
  main [id],
  section[id] { scroll-margin-top: 82px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
  }
}
