/* Add your global styles here */
:root {
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

/* Mega menu entrance: state change only, off under reduced motion. */
@keyframes fps-panel-in { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@keyframes fps-heat-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .fps-products__panel, .fps-products__panel::before { animation: none; }
}

/* Spacing steps below the ACSS scale */
:root {
  --space-2xs: calc(var(--space-xs) / 2);
  --space-3xs: calc(var(--space-xs) / 4);
}

/* Hero entrance: copy rises in sequence, figure fades up, a heat line draws before the eyebrow. */
@keyframes fps-rise { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
@keyframes fps-fade-up { from { opacity: 0; transform: translateY(.75rem) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes fps-heat-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.page-hero__copy > *, .home-hero__copy > * { animation: fps-rise 700ms var(--transition-timing) both; }
.page-hero__copy > :nth-child(2), .home-hero__copy > :nth-child(2) { animation-delay: 80ms; }
.page-hero__copy > :nth-child(3), .home-hero__copy > :nth-child(3) { animation-delay: 160ms; }
.page-hero__copy > :nth-child(4), .home-hero__copy > :nth-child(4) { animation-delay: 240ms; }
.page-hero__copy > :nth-child(5), .home-hero__copy > :nth-child(5) { animation-delay: 320ms; }
.page-hero__copy > :nth-child(6), .home-hero__copy > :nth-child(6) { animation-delay: 400ms; }
.page-hero__grid > :is(figure, .hero-trio), .home-hero__grid > figure { animation: fps-fade-up 900ms var(--transition-timing) 180ms both; }
.page-hero .fps-eyebrow::before, .home-hero .fps-eyebrow::before { content: ""; display: inline-block; inline-size: 1.75rem; block-size: 2px; margin-inline-end: .65rem; vertical-align: middle; background: var(--primary); transform-origin: left; animation: fps-heat-draw 800ms var(--transition-timing) 300ms both; }
@media (prefers-reduced-motion: reduce) {
  .page-hero__copy > *, .home-hero__copy > *, .page-hero__grid > :is(figure, .hero-trio), .home-hero__grid > figure, .page-hero .fps-eyebrow::before, .home-hero .fps-eyebrow::before { animation: none; }
}