/* Hallmark · responsive rules & touch target accessibility */

html, body {
  overflow-x: clip;
}

/* Ensure minimum touch target size of 44x44px */
.btn,
.nav-link,
.back-to-top-btn,
.mobile-menu-toggle {
  min-height: 44px;
}

@media (max-width: 640px) {
  :root {
    --gutter: 20px;
    --section-gap: 56px;
    --section-gap-s: 40px;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-buttons .btn {
    width: 100%;
  }

  .cta-buttons-row {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-buttons-row .btn {
    width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }
}

@media (max-width: 390px) {
  :root {
    --gutter: 16px;
  }

  .brand-title {
    font-size: 1rem;
  }

  .hero-title {
    font-size: 2.125rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
