/* ── Fonts ─────────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/fonnts.com-Maison_Neue_Book.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/fonnts.com-Maison_Neue_Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ── Animations ────────────────────────────────────────────────────────── */
@keyframes ccFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ccFadeDown {
  from { opacity: 0; transform: translateY(-24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.55); }
  70%  { box-shadow: 0 0 0 18px rgba(220, 38, 38, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}

.cc-fade-up {
  opacity: 0;
  animation: ccFadeUp 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.cc-fade-down {
  opacity: 0;
  animation: ccFadeDown 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.recording {
  animation: pulse-ring 1.6s infinite;
}

/* Hero cascade: headline first, tagline second */
.hero-headline { animation-delay: 0.10s; }
.hero-tagline  { animation-delay: 0.35s; }

/* Reverse cascade when arriving from contact page */
.from-contact .hero-tagline  { animation-delay: 0.10s; }
.from-contact .hero-headline { animation-delay: 0.35s; }

@media (prefers-reduced-motion: reduce) {
  .cc-fade-up,
  .cc-fade-down { animation: none; opacity: 1; }
}
