/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 1100px) {
  :root { --space-xl: 80px; }
  .primary-nav { gap: 24px; }
  .two-col { grid-template-columns: 1fr; gap: var(--space-md); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
}

@media (max-width: 860px) {
  .container { padding: 0 24px; }
  .nav-wrap { padding: 18px 24px; }
  .primary-nav, .nav-cta { display: none; }
  .menu-toggle { display: flex; }

  .hero {
    padding-top: 110px;
    min-height: auto;
  }
  .hero-meta { gap: var(--space-md); }
  .hero-meta strong { font-size: 1.6rem; }
  .hero-cta { flex-direction: column; align-items: flex-start; }
  .hero-cta .btn { width: 100%; }

  .section { padding: 60px 0; }
  .section-head { text-align: left; }

  .contact-grid { grid-template-columns: 1fr; }
  .contact-info { grid-template-columns: 1fr; }
  .contact-form { padding: 28px 24px; }

  .retreat-body { padding: 24px; }

  .footer-bottom { flex-direction: column; gap: 6px; }
  .footer-bottom p:last-child { font-size: 0.78rem; opacity: 0.7; }

  .trust-item { border-left: none; border-top: 1px solid var(--border-soft); padding: var(--space-sm) 0; }

  .page-hero { padding: 160px 0 60px; min-height: 50vh; }

  h1 em, h2 em { display: inline; }
}

@media (max-width: 540px) {
  :root { --space-xl: 60px; }
  .container { padding: 0 20px; }
  .nav-wrap { padding: 16px 20px; }
  .feature-card { padding: 30px 24px; }
  .hero-meta { flex-direction: column; gap: var(--space-sm); }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-md); }
  .quote-mark { font-size: 4rem; }
  blockquote { font-size: 1.4rem; }
  .mobile-panel-inner a { font-size: 1.3rem; }
}