@media (max-width: 1100px) {
  .footer-grid,
  .feature-grid,
  .stats,
  .contact-cards,
  .kpi-grid,
  .hub-map {
    grid-template-columns: 1fr 1fr;
  }

  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { min-height: 240px; }
  .thumbs { grid-template-columns: repeat(4, 1fr); }
  .calc-grid,
  .plan-grid,
  .hotel-cost-card {
    grid-template-columns: 1fr;
  }

  .calc-card { position: static; }

  .cost-stack { text-align: left; }
}

@media (max-width: 900px) {
  .nav,
  .header-actions {
    display: none;
  }

  .menu-toggle { display: block; }

  .mobile-nav {
    display: none;
    position: fixed;
    inset: 68px 16px auto;
    background: rgba(8,21,38,0.97);
    border-radius: 16px;
    padding: 18px;
    z-index: 60;
    box-shadow: var(--shadow-hover);
  }

  .mobile-nav.open { display: grid; gap: 12px; }

  .mobile-nav a {
    color: white;
    padding: 10px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .path-grid,
  .split,
  .founder,
  .property-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .hero { min-height: 92vh; }
  .hero-content { padding-bottom: 90px; }
  .path-grid { margin-top: 24px; }
}

@media (max-width: 700px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 72px 0; }
  .footer-grid,
  .feature-grid,
  .stats,
  .contact-cards,
  .kpi-grid,
  .hub-map,
  .thumbs {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
  }

  .filter-toggle {
    display: inline-flex;
  }

  .filter-row.collapsed {
    display: none;
  }

  .sticky-cta {
    position: sticky;
    bottom: 12px;
    z-index: 20;
    padding: 8px;
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--line);
    border-radius: 999px;
    box-shadow: var(--shadow);
  }

  .sticky-cta .btn { flex: 1; min-height: 44px; }

  body.nav-open { overflow: hidden; }
}

@media (max-width: 430px) {
  h1 { font-size: 2.15rem; }
  .btn { padding: 0 14px; }
  .property-media { height: 200px; }
}