/* GHOST: Scroll reveal staggered transitions require the parent block's dynamic PHP template (render.php) to render with the `data-reveal` attribute. Without `data-reveal`, the global `enhancements.js` IntersectionObserver will not apply the `.is-revealed` class, causing all child stagger elements to remain permanently hidden (opacity: 0). */
/* GHOST: All page animations and scroll reveal effects are strictly suppressed in the block editor canvas (`.editor-styles-wrapper` in `editor-blocks.css`) so that all blocks remain instantly visible (opacity: 1) and statically positioned without animation delays for content editors. */

@view-transition {
  navigation: auto;
}

.site-footer {
  view-transition-name: site-footer;
}

main {
  position: relative;
  z-index: 1;
  view-transition-name: page-content;
}

@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
  ::view-transition-old(page-content) {
    z-index: 1;
    animation: vt-page-exit 320ms ease-out both;
  }
  ::view-transition-new(page-content) {
    z-index: 2;
    animation: vt-page-enter 420ms ease-out both;
  }
  @keyframes vt-page-exit {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes vt-page-enter {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  /* ==========================================================================
     Global Scroll Reveal Transitions
     ========================================================================== */
  [data-reveal]:not(.cta-section--reveal-stagger) {
    opacity: 0;
    transform: translateY(var(--reveal-distance, 16px));
    transition: opacity var(--reveal-duration, 0.6s) ease-out var(--reveal-delay, 0s),
                transform var(--reveal-duration, 0.6s) ease-out var(--reveal-delay, 0s);
    will-change: opacity, transform;
  }

  [data-reveal]:not(.cta-section--reveal-stagger).is-revealed {
    opacity: 1;
    transform: none;
  }

  /* 1. cta-section--reveal-stagger */
  .cta-section--reveal-stagger .cta-section__title,
  .cta-section--reveal-stagger .cta-section__body,
  .cta-section--reveal-stagger .cta-section__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .cta-section--reveal-stagger.is-revealed .cta-section__title {
    opacity: 1;
    transform: none;
  }
  .cta-section--reveal-stagger.is-revealed .cta-section__body {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .cta-section--reveal-stagger.is-revealed .cta-section__cta {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }

  /* 2. blueprint-hardware-stack */
  .blueprint-hardware-stack__stack,
  .blueprint-hardware-stack__panel,
  .blueprint-hardware-stack__title,
  .blueprint-hardware-stack__panel .content-panel__body,
  .blueprint-hardware-stack__panel .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .blueprint-hardware-stack.is-revealed .blueprint-hardware-stack__stack {
    opacity: 1;
    transform: none;
  }
  .blueprint-hardware-stack.is-revealed .blueprint-hardware-stack__panel {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .blueprint-hardware-stack.is-revealed .blueprint-hardware-stack__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .blueprint-hardware-stack.is-revealed .blueprint-hardware-stack__panel .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .blueprint-hardware-stack.is-revealed .blueprint-hardware-stack__panel .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 3. blueprint-media-text */
  .blueprint-media-text__figure,
  .blueprint-media-text__panel,
  .blueprint-media-text__title,
  .blueprint-media-text__panel .content-panel__body,
  .blueprint-media-text__panel .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .blueprint-media-text.is-revealed .blueprint-media-text__figure {
    opacity: 1;
    transform: none;
  }
  .blueprint-media-text.is-revealed .blueprint-media-text__panel {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .blueprint-media-text.is-revealed .blueprint-media-text__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .blueprint-media-text.is-revealed .blueprint-media-text__panel .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .blueprint-media-text.is-revealed .blueprint-media-text__panel .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 4. product-grid-overlap-intro */
  .product-grid-overlap-intro__media-wrap,
  .product-grid-overlap-intro__panel,
  .product-grid-overlap-intro__title,
  .product-grid-overlap-intro__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__media-wrap {
    opacity: 1;
    transform: none;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__panel {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__card:first-child {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__card:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }
  .product-grid-overlap-intro.is-revealed .product-grid-overlap-intro__card:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 400ms;
  }

  /* 5. split-bracket-cards */
  .split-bracket-cards__title,
  .split-bracket-cards__lead,
  .split-bracket-cards__panel.content-panel,
  .split-bracket-cards__cards {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .split-bracket-cards.is-revealed .split-bracket-cards__title {
    opacity: 1;
    transform: none;
  }
  .split-bracket-cards.is-revealed .split-bracket-cards__lead {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .split-bracket-cards.is-revealed .split-bracket-cards__panel.content-panel {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .split-bracket-cards.is-revealed .split-bracket-cards__cards {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }

  /* 6. network-map-illustration */
  .network-map-illustration__figure,
  .network-map-illustration__title {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .network-map-illustration.is-revealed .network-map-illustration__figure {
    opacity: 1;
    transform: none;
  }
  .network-map-illustration.is-revealed .network-map-illustration__title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }

  /* 7. locations-main-content */
  .locations-main-content__heading,
  .locations-main-content__grid > .locations-main-content__column > * {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .is-revealed .locations-main-content__heading {
    opacity: 1;
    transform: none;
  }
  .is-revealed .locations-main-content__grid > .locations-main-content__column > * {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }

  /* 8. about-us-intro */
  .about-us-intro__panel--primary,
  .about-us-intro__panel--primary .about-us-intro__title,
  .about-us-intro__panel--primary .about-us-intro__lede,
  .about-us-intro__panel--secondary,
  .about-us-intro__panel--secondary .about-us-intro__lede,
  .about-us-intro__panel--secondary .content-panel__body {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--primary {
    opacity: 1;
    transform: none;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--primary .about-us-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--primary .about-us-intro__lede {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--secondary {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--secondary .about-us-intro__lede {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }
  .about-us-intro.is-revealed .about-us-intro__panel--secondary .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 400ms;
  }

  /* 9. about-us-mother-company */
  .about-us-mother-company__panel,
  .about-us-mother-company__title,
  .about-us-mother-company__panel .content-panel__body,
  .about-us-mother-company__panel .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .about-us-mother-company.is-revealed .about-us-mother-company__panel {
    opacity: 1;
    transform: none;
  }
  .about-us-mother-company.is-revealed .about-us-mother-company__title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .about-us-mother-company.is-revealed .about-us-mother-company__panel .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .about-us-mother-company.is-revealed .about-us-mother-company__panel .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }

  /* 10. about-us-stats */
  .about-us-stats__stat {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .about-us-stats.is-revealed .about-us-stats__stat {
    opacity: 1;
    transform: none;
  }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(2) { transition-delay: 80ms; }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(3) { transition-delay: 160ms; }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(4) { transition-delay: 240ms; }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(5) { transition-delay: 320ms; }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(6) { transition-delay: 400ms; }
  .about-us-stats.is-revealed .about-us-stats__stat:nth-child(7) { transition-delay: 480ms; }

  /* 11. virtual-ground-roi */
  .virtual-ground-roi__title,
  .virtual-ground-roi__lede,
  .virtual-ground-roi__main,
  .virtual-ground-roi__stats,
  .virtual-ground-roi__cta-block {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .virtual-ground-roi.is-revealed .virtual-ground-roi__title {
    opacity: 1;
    transform: none;
  }
  .virtual-ground-roi.is-revealed .virtual-ground-roi__lede {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .virtual-ground-roi.is-revealed .virtual-ground-roi__main {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .virtual-ground-roi.is-revealed .virtual-ground-roi__stats {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .virtual-ground-roi.is-revealed .virtual-ground-roi__cta-block {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 12. ypvg-openspace-family */
  .ypvg-openspace-family__intro-panel,
  .ypvg-openspace-family__intro-title,
  .ypvg-openspace-family__chart,
  .ypvg-openspace-family__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__intro-panel {
    opacity: 1;
    transform: none;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__intro-title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__chart {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__card:first-child {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__card:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }
  .ypvg-openspace-family.is-revealed .ypvg-openspace-family__card:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 400ms;
  }

  /* 13. path-to-vg-intro */
  .path-to-vg-intro__title,
  .path-to-vg-intro__body,
  .path-to-vg-intro__columns > .path-to-vg-intro__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .path-to-vg-intro.is-revealed .path-to-vg-intro__title {
    opacity: 1;
    transform: none;
  }
  .path-to-vg-intro.is-revealed .path-to-vg-intro__body {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .path-to-vg-intro.is-revealed .path-to-vg-intro__columns > .path-to-vg-intro__card:first-child {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .path-to-vg-intro.is-revealed .path-to-vg-intro__columns > .path-to-vg-intro__card:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .path-to-vg-intro.is-revealed .path-to-vg-intro__columns > .path-to-vg-intro__card:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 14. home-feature-intro */
  .home-feature-intro__media-wrap,
  .home-feature-intro .content-panel,
  .home-feature-intro .home-feature-intro__title,
  .home-feature-intro .content-panel__body,
  .home-feature-intro .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .home-feature-intro.is-revealed .home-feature-intro__media-wrap {
    opacity: 1;
    transform: none;
  }
  .home-feature-intro.is-revealed .content-panel {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .home-feature-intro.is-revealed .home-feature-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .home-feature-intro.is-revealed .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .home-feature-intro.is-revealed .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 15. home-feature-ground */
  .home-feature-ground .content-panel,
  .home-feature-ground__media-wrap,
  .home-feature-ground .home-feature-intro__title,
  .home-feature-ground .content-panel__body,
  .home-feature-ground .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .home-feature-ground.is-revealed .content-panel {
    opacity: 1;
    transform: none;
  }
  .home-feature-ground.is-revealed .home-feature-ground__media-wrap {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .home-feature-ground.is-revealed .home-feature-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .home-feature-ground.is-revealed .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .home-feature-ground.is-revealed .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 16. home-feature-intelligence */
  .home-feature-intelligence .content-panel,
  .home-feature-intelligence .home-feature-intro__title,
  .home-feature-intelligence .content-panel__body,
  .home-feature-intelligence .hero__cta {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .home-feature-intelligence.is-revealed .content-panel {
    opacity: 1;
    transform: none;
  }
  .home-feature-intelligence.is-revealed .home-feature-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .home-feature-intelligence.is-revealed .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .home-feature-intelligence.is-revealed .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }

  /* 17. home-milestones */
  .home-milestones__title,
  .home-milestones__header .hero__cta,
  .home-milestones__featured,
  .home-milestones__featured .home-milestones__meta,
  .home-milestones__featured .home-milestones__headline,
  .home-milestones__featured .hero__cta,
  .home-milestones__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .home-milestones.is-revealed .home-milestones__title {
    opacity: 1;
    transform: none;
  }
  .home-milestones.is-revealed .home-milestones__header .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .home-milestones.is-revealed .home-milestones__featured {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .home-milestones.is-revealed .home-milestones__featured .home-milestones__meta {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .home-milestones.is-revealed .home-milestones__featured .home-milestones__headline {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }
  .home-milestones.is-revealed .home-milestones__featured .hero__cta {
    opacity: 1;
    transform: none;
    transition-delay: 400ms;
  }
  .home-milestones.is-revealed .home-milestones__card:first-child {
    opacity: 1;
    transform: none;
    transition-delay: 480ms;
  }
  .home-milestones.is-revealed .home-milestones__card:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 560ms;
  }
  .home-milestones.is-revealed .home-milestones__card:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 640ms;
  }

  /* 18. split-media-text-list */
  .split-media-text-list__media-wrap,
  .split-media-text-list__panel,
  .split-media-text-list__title,
  .split-media-text-list__panel .content-panel__body,
  .split-media-text-list__list {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .split-media-text-list.is-revealed .split-media-text-list__media-wrap {
    opacity: 1;
    transform: none;
  }
  .split-media-text-list.is-revealed .split-media-text-list__panel {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .split-media-text-list.is-revealed .split-media-text-list__title {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .split-media-text-list.is-revealed .split-media-text-list__panel .content-panel__body {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .split-media-text-list.is-revealed .split-media-text-list__list {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }

  /* 19. split-bullets-resource-grid */
  .split-bullets-resource-grid__title,
  .split-bullets-resource-grid__bullets,
  .split-bullets-resource-grid__success-lead,
  .split-bullets-resource-grid__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__title {
    opacity: 1;
    transform: none;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__bullets {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__success-lead {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__card {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__card:nth-child(2) {
    transition-delay: 320ms;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__card:nth-child(3) {
    transition-delay: 400ms;
  }
  .split-bullets-resource-grid.is-revealed .split-bullets-resource-grid__card:nth-child(4) {
    transition-delay: 480ms;
  }

  /* 20. product-grid-graphic-intro */
  .product-grid-graphic-intro__panel,
  .product-grid-graphic-intro__title,
  .product-grid-graphic-intro__product {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
  }
  .product-grid-graphic-intro.is-revealed .product-grid-graphic-intro__panel {
    opacity: 1;
    transform: none;
  }
  .product-grid-graphic-intro.is-revealed .product-grid-graphic-intro__title {
    opacity: 1;
    transform: none;
    transition-delay: 80ms;
  }
  .product-grid-graphic-intro.is-revealed .product-grid-graphic-intro__product:first-child {
    opacity: 1;
    transform: none;
    transition-delay: 160ms;
  }
  .product-grid-graphic-intro.is-revealed .product-grid-graphic-intro__product:nth-child(2) {
    opacity: 1;
    transform: none;
    transition-delay: 240ms;
  }
  .product-grid-graphic-intro.is-revealed .product-grid-graphic-intro__product:nth-child(3) {
    opacity: 1;
    transform: none;
    transition-delay: 320ms;
  }
}

/* ==========================================================================
   Home Page Load Reveal Preloader & Entrance Animation
   ========================================================================== */

.home-preloader {
  --home-preloader-gap: 1px;
  --home-preloader-logo-fade-duration: 0.45s;
  --home-preloader-separate-duration: 0.35s;
  --home-preloader-exit-duration: 0.75s;
  --home-preloader-exit-stagger: 0.07s;
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: auto;
}
.home-preloader__columns {
  display: flex;
  width: 100%;
  height: 100%;
  gap: 0;
  transition: gap var(--home-preloader-separate-duration) cubic-bezier(0.4, 0, 0.2, 1);
}
.home-preloader--separate .home-preloader__columns {
  gap: var(--home-preloader-gap);
}
.home-preloader__column {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  background-color: var(--color-bg);
  transform: translate3d(0, 0, 0);
  will-change: transform;
}
.home-preloader--exit .home-preloader__column {
  transition: transform var(--home-preloader-exit-duration) cubic-bezier(0.65, 0, 0.35, 1);
  transition-delay: calc(var(--home-preloader-i) * var(--home-preloader-exit-stagger));
  transform: translate3d(0, -100%, 0);
}
.home-preloader__logo {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 0.556vw, 14px);
  opacity: 1;
  transition: opacity var(--home-preloader-logo-fade-duration) ease;
  pointer-events: none;
}
.home-preloader--logo-hide .home-preloader__logo {
  opacity: 0;
}
.home-preloader__logo-main {
  display: block;
  width: clamp(146.791px, 10.194vw, 260.962px);
  height: clamp(30px, 2.083vw, 53.333px);
  object-fit: contain;
}
.home-preloader__logo-space {
  display: block;
  width: clamp(110px, 7.639vw, 195.556px);
  height: clamp(10px, 0.694vw, 17.811px);
  object-fit: contain;
}

/* Mobile — half the strips (9 → 4) for a wider, cleaner exit. */
@media (max-width: 479px) {
  .home-preloader__column:nth-child(n+5) {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .is-preloading {
    overflow: auto;
  }
  .is-preloading > :not(.home-preloader) {
    visibility: visible;
  }
  .home-preloader {
    display: none;
  }
}

/* Hero page-load entrance — CSS-only, compositor-friendly (transform / opacity). */
@media (prefers-reduced-motion: no-preference) {
  @keyframes hero-content-enter {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes hero-site-header-enter {
    from {
      opacity: 0;
      transform: translateY(-100%);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }

  /* Home — bg stays static for preloader reveal; copy held until `body.is-hero-entering`. */
  body.page--home.is-preloading:not(.is-hero-entering) .hero-banner .hero-banner__title,
  body.page--home.is-preloading:not(.is-hero-entering) .hero-banner .hero-banner__sub,
  body.page--home.is-preloading:not(.is-hero-entering) .hero-banner .hero-banner__cta {
    opacity: 0;
    transform: translateY(12px);
  }
  body.page--home.is-preloading:not(.is-hero-entering) .site-header::before,
  body.page--home.is-preloading:not(.is-hero-entering) .site-header__brand,
  body.page--home.is-preloading:not(.is-hero-entering) .site-header__menu-btn {
    opacity: 0;
    transform: translateY(-100%);
  }

  /* Home — content entrance after preloader; hero image remains static underneath. */
  body.page--home.is-hero-entering .hero-banner .hero-banner__title {
    animation: hero-content-enter 0.65s ease-out 0.25s both;
  }
  body.page--home.is-hero-entering .hero-banner .hero-banner__sub {
    animation: hero-content-enter 0.65s ease-out 0.5s both;
  }
  body.page--home.is-hero-entering .hero-banner .hero-banner__cta {
    animation: hero-content-enter 0.65s ease-out 0.75s both;
  }
  body.page--home.is-hero-entering .site-header::before,
  body.page--home.is-hero-entering .site-header__brand,
  body.page--home.is-hero-entering .site-header__menu-btn {
    animation: hero-site-header-enter 0.5s ease-out 0.25s both;
  }

  @media (min-width: 1024px) {
    body.page--home.is-preloading:not(.is-hero-entering) .nav-main__list {
      opacity: 0;
      transform: translateY(-100%);
    }
    body.page--home.is-hero-entering .nav-main__list {
      animation: hero-site-header-enter 0.5s ease-out 0.25s both;
    }
  }
}

