/* ==========================================================================
   Responsive — Mobile-first adjustments
   ========================================================================== */

/* ── Small phones (< 640px) ── */

@media (max-width: 640px) {
  :root {
    --container-padding: var(--space-4);
    --section-gap-mobile: var(--space-8);
  }

  h1, .h1 { font-size: var(--text-3xl); }
  h2, .h2 { font-size: var(--text-2xl); }
  h3, .h3 { font-size: var(--text-xl); }

  .btn-lg {
    width: 100%;
    justify-content: center;
  }

  .hero__ctas {
    flex-direction: column;
    width: 100%;
    padding-inline: var(--space-4);
  }

  .hero__ctas .btn {
    width: 100%;
  }
}

/* ── Tablet (641px – 1024px) ── */

@media (min-width: 641px) and (max-width: 1024px) {
  .hero__title {
    font-size: var(--text-5xl);
  }
}

/* ── Desktop (> 1024px) ── */

@media (min-width: 1025px) {
  .cta-bar {
    display: none !important;
  }
}

/* ── Large desktop (> 1280px) ── */

@media (min-width: 1281px) {
  :root {
    --text-hero: 7rem;
  }
}

/* ── Landscape phone ── */

@media (max-width: 768px) and (orientation: landscape) {
  .hero {
    min-height: auto;
    padding: var(--space-10) 0;
  }
  .hero__title {
    font-size: var(--text-3xl);
  }
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .reveal-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .burger-layer {
    transition: none;
  }

  .float {
    animation: none;
  }

  .hero__scroll-hint {
    animation: none;
  }
}

/* ── Print ── */

@media print {
  .nav,
  .cta-bar,
  .hero__scroll-hint {
    display: none !important;
  }
  body {
    padding-bottom: 0;
  }
}
