/* ==========================================================================
   BUILT IN SILENCE — ANIMATIONS
   ==========================================================================
   Every CSS transition and @keyframes animation in the site lives here.
   This file is loaded after styles.css so these rules layer cleanly on
   top of the base component styles.

   If you want to speed up / slow down / disable a hover effect or page
   transition, this is the only file you should need to touch.
   ========================================================================== */


/* ---------- nav link underline + hover ---------- */
.nav-links button {
  transition: color 0.25s;
}
.nav-links button::after {
  transition: width 0.25s ease;
}

/* ---------- hamburger icon morph (bars -> X) ---------- */
.hamburger span {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ---------- full-screen mobile menu open/close ---------- */
.menu-overlay {
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}
.menu-overlay.open {
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0s;
}
.menu-links button {
  transition: color 0.25s ease;
}

/* ---------- page transition (fade + rise on page change) ---------- */
.page.active {
  animation: pageIn 0.6s ease forwards;
}
@keyframes pageIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- buttons ---------- */
.btn-primary, .btn-ghost {
  transition: all 0.25s ease;
}

/* ---------- waitlist / contact form fields ---------- */
.field input {
  transition: border-color 0.25s;
}
.contact-form textarea {
  transition: border-color 0.25s;
}

/* ---------- interest chips (multi-select) ---------- */
.interest-chip {
  transition: all 0.25s ease;
}

/* NOTE: the "prefers-reduced-motion" rule that disables these animations
   for users with motion sensitivity is a media query, so per the project's
   file convention it lives in responsive.css, not here. */
