/* Small, one-time movements; content stays visible without JavaScript. */
:root { --motion-ease: cubic-bezier(.22, 1, .36, 1); }

.nav-chevron {
  display: block;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  transition: transform 260ms var(--motion-ease);
}
.nav-trigger[aria-expanded="true"] .nav-chevron { transform: rotate(180deg); }
.nav-dropdown { transform-origin: top left; }
.mobile-menu {
  position: absolute;
  top: 100%;
  inset-inline: 0;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 18px 35px #0718220d;
  overscroll-behavior: contain;
}
.nav-dropdown:not([hidden]), .mobile-menu:not([hidden]) {
  animation: menu-enter 320ms var(--motion-ease) both;
}
.nav-dropdown:not([hidden]) > a, .mobile-menu:not([hidden]) > a {
  animation: menu-link-enter 360ms var(--motion-ease) both;
  animation-delay: var(--nav-delay, 0ms);
}

.motion-ready .header-row { animation: header-enter 550ms var(--motion-ease) both; }
.motion-ready .hero-copy > .eyebrow,
.motion-ready .hero-copy > h1,
.motion-ready .hero-copy > .hero-lead,
.motion-ready .hero-copy > .button-row,
.motion-ready .hero-copy > .hero-scroll,
.motion-ready .hero-signature {
  animation: content-enter 800ms var(--motion-ease) both;
}
.motion-ready .hero-copy > h1 { animation-delay: 60ms; }
.motion-ready .hero-copy > .hero-lead { animation-delay: 120ms; }
.motion-ready .hero-copy > .button-row { animation-delay: 180ms; }
.motion-ready .hero-copy > .hero-scroll { animation-delay: 220ms; }
.motion-ready .hero-signature { animation-delay: 240ms; }

[data-reveal] {
  transition: opacity 650ms var(--motion-ease), transform 800ms var(--motion-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal]:not(.is-revealed) { opacity: 0; transform: translateY(18px); }
[data-reveal].is-revealed { opacity: 1; }
[data-reveal]:focus-within { opacity: 1; transform: none; transition: none; }
.product-card[data-reveal].is-revealed {
  transition: opacity 650ms var(--motion-ease), transform 400ms var(--motion-ease),
    border-color 250ms ease, box-shadow 400ms var(--motion-ease);
}
.product-card[data-reveal].is-revealed:hover { transition-delay: 0ms; }

@keyframes menu-enter {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
@keyframes menu-link-enter {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
@keyframes header-enter {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: none; }
}
@keyframes content-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal], .motion-ready .header-row, .motion-ready .hero-copy > *,
  .motion-ready .hero-signature, .nav-dropdown, .mobile-menu,
  .nav-dropdown > a, .mobile-menu > a {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media print {
  [data-reveal], .motion-ready .hero-copy > *, .motion-ready .hero-signature {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
