/* ============================================================
   NUAIMI TAX & ACCOUNTING — Motion layer
   Quiet confidence. Opacity, colour, and 1–2px transforms only.
   No bounce, no spring, no parallax. "We don't perform expertise."

   Reveal choreography enhances an already-visible page: the pre-reveal
   hidden state applies ONLY when motion.js has confirmed motion is on
   (html.nta-motion) AND the OS is not asking for reduced motion. With no
   JS, no IntersectionObserver, or reduced-motion set, every element ships
   fully visible — nothing here can leave a section blank.
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {

  /* Pre-reveal: quiet downward offset, gated on confirmed motion. */
  html.nta-motion [data-reveal] {
    opacity: 0;
    transform: translateY(16px);
  }

  html.nta-motion [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition:
      opacity   640ms var(--ease-standard, cubic-bezier(0.4, 0, 0.2, 1)),
      transform 640ms var(--ease-standard, cubic-bezier(0.4, 0, 0.2, 1));
    transition-delay: calc(var(--i, 0) * 80ms);
  }

  /* The hero is the one signature entrance — a touch more travel, a touch
     slower, a wider stagger. Everything else stays deliberately quieter. */
  html.nta-motion [data-reveal-hero] [data-reveal] {
    transform: translateY(22px);
  }
  html.nta-motion [data-reveal-hero] [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition-duration: 760ms;
    transition-delay: calc(var(--i, 0) * 110ms);
  }
}

/* ------------------------------------------------------------
   Sticky header — the hairline gives way to a soft lift once the
   page leaves the top. An elevation cue, not decoration. Runs
   regardless of motion preference (it is a state, not a flourish);
   the global reduced-motion reset makes the change instant.
   ------------------------------------------------------------ */
header {
  transition:
    box-shadow   240ms var(--ease-standard, cubic-bezier(0.4, 0, 0.2, 1)),
    border-color 240ms var(--ease-standard, cubic-bezier(0.4, 0, 0.2, 1));
}
html.nta-scrolled header {
  box-shadow: 0 1px 24px rgba(18, 22, 22, 0.07);
  border-bottom-color: transparent !important;
}
