/* =========================================================
   HK Estates — responsive.css
   Breakpoints: tablet (<=991px), mobile (<=767px), small (<=479px)
   ========================================================= */

@media (max-width: 991px) {
  .container { padding: 0 20px; }

  .hero-caption h1 { font-size: 2.2rem; }
  .hero-slider { height: 520px; }

  .benefits { grid-template-columns: 1fr 1fr; }

  .form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .main-nav {
    position: fixed;
    top: 84px;
    left: 0;
    right: 0;
    background: var(--color-white);
    box-shadow: var(--shadow-md);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .main-nav.is-open { max-height: 400px; }

  .main-nav ul {
    flex-direction: column;
    padding: 16px 24px;
    gap: 0;
  }

  .main-nav li { border-bottom: 1px solid #eee; }
  .main-nav a { display: block; padding: 14px 0; }

  .mobile-menu-toggle { display: flex; }

  .hero-slider { height: 440px; }
  .hero-caption h1 { font-size: 1.7rem; }
  .hero-caption p { font-size: 1rem; }
  .hero-arrow { width: 38px; height: 38px; font-size: 1.1rem; }

  h2 { font-size: 1.6rem; }

  .benefits { grid-template-columns: 1fr; gap: 32px; }

  .section { padding: 52px 0; }

  .page-banner { padding: 70px 0 36px; }

  .map-wrap { height: 300px; }
}

@media (max-width: 479px) {
  .hero-slider { height: 380px; }
  .hero-caption h1 { font-size: 1.4rem; }
  .hero-arrow--prev { left: 10px; }
  .hero-arrow--next { right: 10px; }

  .image-grid { grid-template-columns: 1fr 1fr; }
  .image-grid img { height: 140px; }

  .site-logo img { height: 42px; }

  .btn { padding: 12px 22px; font-size: 0.78rem; }
}
