/* Iron Elite — premium cinematic scroll reveals (restrained, no bounce) */

.home-flow--compact {
  --reveal-duration: 0.92s;
  --reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --reveal-distance: 16px;
  --reveal-blur: 5px;
  --reveal-stagger-step: 0.07s;
}

/* ── Base fade-up + blur-to-focus ── */
@media (prefers-reduced-motion: no-preference) {
  .home-flow--compact .reveal {
    opacity: 0;
    transform: translate3d(0, var(--reveal-distance), 0);
    filter: blur(var(--reveal-blur));
    transition:
      opacity var(--reveal-duration) var(--reveal-ease),
      transform var(--reveal-duration) var(--reveal-ease),
      filter calc(var(--reveal-duration) * 1.05) var(--reveal-ease);
    will-change: opacity, transform, filter;
  }

  .home-flow--compact .reveal.is-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  /* Hero — in view on load; softer motion */
  /* Sections — observer targets only (children animate, not the shell) */
  .home-flow--compact .tac-section.reveal,
  .home-flow--compact .cta.tac-section.reveal {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }

  .home-flow--compact .hero .reveal {
    --reveal-duration: 0.78s;
    --reveal-distance: 12px;
    --reveal-blur: 4px;
  }

  .home-flow--compact .hero-visual.reveal,
  .home-flow--compact .hero-visual .reveal {
    transition-delay: 0.1s;
  }

  /* ── Staggered grids & lists ── */
  .home-flow--compact .reveal-stagger > * {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    filter: blur(4px);
    transition:
      opacity 0.82s var(--reveal-ease),
      transform 0.82s var(--reveal-ease),
      filter 0.95s var(--reveal-ease);
    will-change: opacity, transform, filter;
  }

  .home-flow--compact .reveal-stagger.is-in > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  .home-flow--compact .reveal-stagger.is-in > *:nth-child(1) { transition-delay: calc(var(--reveal-stagger-step) * 0.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(2) { transition-delay: calc(var(--reveal-stagger-step) * 1.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(3) { transition-delay: calc(var(--reveal-stagger-step) * 2.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(4) { transition-delay: calc(var(--reveal-stagger-step) * 3.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(5) { transition-delay: calc(var(--reveal-stagger-step) * 4.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(6) { transition-delay: calc(var(--reveal-stagger-step) * 5.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(7) { transition-delay: calc(var(--reveal-stagger-step) * 6.5); }
  .home-flow--compact .reveal-stagger.is-in > *:nth-child(8) { transition-delay: calc(var(--reveal-stagger-step) * 7.5); }

  /* Skip decorative coord from stagger grids */
  .home-flow--compact .reveal-stagger > .tac-coord {
    opacity: 0;
    transform: none;
    filter: none;
    transition: opacity 0.6s var(--reveal-ease);
  }

  .home-flow--compact .reveal-stagger.is-in > .tac-coord {
    opacity: 1;
  }

  /* ── Section inner choreography (header → content) ── */
  .home-flow--compact .tac-section.reveal .section-inner > *:not(.tac-coord):not(.reveal-stagger),
  .home-flow--compact .tac-section.reveal .merch__inner > *:not(.tac-coord),
  .home-flow--compact .tac-section.reveal .cta-inner > *:not(.tac-coord) {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    filter: blur(4px);
    transition:
      opacity 0.8s var(--reveal-ease),
      transform 0.8s var(--reveal-ease),
      filter 0.92s var(--reveal-ease);
  }

  .home-flow--compact .tac-section.reveal.is-in .section-inner > *:not(.tac-coord):not(.reveal-stagger),
  .home-flow--compact .tac-section.reveal.is-in .merch__inner > *:not(.tac-coord),
  .home-flow--compact .tac-section.reveal.is-in .cta-inner > *:not(.tac-coord) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  .home-flow--compact .tac-section.reveal.is-in .section-inner > *:not(.tac-coord):nth-child(2) { transition-delay: calc(var(--reveal-stagger-step) * 1); }
  .home-flow--compact .tac-section.reveal.is-in .section-inner > *:not(.tac-coord):nth-child(3) { transition-delay: calc(var(--reveal-stagger-step) * 2); }
  .home-flow--compact .tac-section.reveal.is-in .section-inner > *:not(.tac-coord):nth-child(4) { transition-delay: calc(var(--reveal-stagger-step) * 3); }
  .home-flow--compact .tac-section.reveal.is-in .section-inner > *:not(.tac-coord):nth-child(5) { transition-delay: calc(var(--reveal-stagger-step) * 4); }

  /* Kit partner card — always visible under Iron Elite Kit block */
  .home-flow--compact #merch .merch-stack,
  .home-flow--compact #merch .kit-partner-card {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
  }

  /* Testimonials — show header + cards when section enters view */
  .home-flow--compact #testimonials.tac-section.reveal.is-in .section-inner > *:not(.tac-coord),
  .home-flow--compact #testimonials.tac-section.reveal.is-in .testimonials__grid.reveal-stagger > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  /* Field Evidence ie-gallery — never hide during reveal */
  .home-flow--compact .field-evidence.tac-section.reveal .section-inner > #ie-gallery-mount,
  .home-flow--compact #ie-gallery-mount,
  .home-flow--compact #ie-gallery-mount .ie-gallery-wall,
  .home-flow--compact #ie-gallery-mount .ie-gallery-feature,
  .home-flow--compact #ie-gallery-mount .ie-gallery-thumbs,
  .home-flow--compact #ie-gallery-mount .ie-gallery-row,
  .home-flow--compact #ie-gallery-mount .ie-gallery-thumb,
  .home-flow--compact #ie-gallery-mount img {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
    max-height: none;
  }

  /* Packages layout — stagger columns */
  .home-flow--compact .tac-section.reveal.is-in .packages-layout > *:nth-child(1) { transition-delay: calc(var(--reveal-stagger-step) * 1.2); }
  .home-flow--compact .tac-section.reveal.is-in .packages-layout > *:nth-child(2) { transition-delay: calc(var(--reveal-stagger-step) * 2.4); }

  .home-flow--compact .tac-section.reveal .packages-layout > * {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    filter: blur(4px);
    transition:
      opacity 0.85s var(--reveal-ease),
      transform 0.85s var(--reveal-ease),
      filter 0.95s var(--reveal-ease);
  }

  .home-flow--compact .tac-section.reveal.is-in .packages-layout > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  /* Philosophy grid — columns */
  .home-flow--compact .why-section.reveal.is-in .why-section__grid > .why-elite { transition-delay: calc(var(--reveal-stagger-step) * 1); }
  .home-flow--compact .why-section.reveal.is-in .why-section__grid > .standard__pillars { transition-delay: calc(var(--reveal-stagger-step) * 2.2); }

  .home-flow--compact .why-section.reveal .why-section__grid > * {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    filter: blur(4px);
    transition:
      opacity 0.85s var(--reveal-ease),
      transform 0.85s var(--reveal-ease),
      filter 0.95s var(--reveal-ease);
  }

  .home-flow--compact .why-section.reveal.is-in .why-section__grid > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }

  /* Facility hero — dedicated beat after header */
  .home-flow--compact .facility-hero {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    filter: blur(3px);
    transition:
      opacity 0.88s var(--reveal-ease),
      transform 0.88s var(--reveal-ease),
      filter 1s var(--reveal-ease);
  }

  .home-flow--compact .tac-section.reveal.is-in .facility-hero {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
    transition-delay: calc(var(--reveal-stagger-step) * 2);
  }

  /* Command panel — copy then stats */
  .home-flow--compact .hero-command__layout {
    opacity: 0;
    filter: blur(4px);
    transition:
      opacity 0.75s var(--reveal-ease) 0.15s,
      filter 0.9s var(--reveal-ease) 0.15s;
  }

  .home-flow--compact .hero.is-in-view .hero-command__layout {
    opacity: 1;
    filter: blur(0);
  }

  /* Tac headers — rule line draw feel via opacity on rule */
  .home-flow--compact .tac-section.reveal.is-in .tac-header__rule {
    opacity: 1;
    transition: opacity 0.6s var(--reveal-ease) 0.2s;
  }

  .home-flow--compact .tac-section.reveal .tac-header__rule {
    opacity: 0.35;
  }

  .home-flow--compact .cta--cinematic .cta-stats.reveal-stagger > * {
    --reveal-stagger-step: 0.08s;
  }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .home-flow--compact .reveal,
  .home-flow--compact .reveal-stagger > *,
  .home-flow--compact .tac-section.reveal .section-inner > *,
  .home-flow--compact .tac-section.reveal .packages-layout > *,
  .home-flow--compact .why-section.reveal .why-section__grid > *,
  .home-flow--compact .facility-hero,
  .home-flow--compact .hero-command__layout {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
