/* ===================================================================
   RESPONSIVE — recomposed layouts, not shrunk desktop
   =================================================================== */

/* ---- Tablet / small-laptop nav: keep links horizontally balanced
   instead of squeezing right as the viewport narrows ---- */
@media (max-width: 1240px) and (min-width: 861px) {
  .site-nav { gap: 1rem; }
  .nav-links { gap: clamp(0.7rem, 1.6vw, 1.4rem); }
  .nav-links a { font-size: clamp(0.66rem, 1.1vw, 0.78rem); }
  .nav-cta .btn-outline span,
  .nav-cta .btn-outline { padding: 0.85rem 1.3rem; }
}

@media (max-width: 1100px) {
   .why-media { position: sticky; top: 4.5rem; height: 38vh; margin-bottom: 0; }
.timeline-media { position: sticky; top: 4.5rem; height: 36vh; margin-bottom: 0; }
   .why-item, .timeline-step {
    min-height: auto;
    padding-block: 1.5rem;
  }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .package-grid { grid-template-columns: repeat(2, 1fr); }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .journal-card.is-feature { grid-column: span 2; grid-row: span 1; }
  .journal-card.is-feature .journal-media { min-height: 320px; }
  .stats-row { grid-template-columns: repeat(2, 1fr); row-gap: 2.6rem; }
  .editorial-split { grid-template-columns: 1fr; }
  .editorial-media img { height: 440px; }
  .why-safar { grid-template-columns: 1fr; }
  .why-media { position: relative; top: 0; height: 46vh; margin-bottom: 2rem; }
  .timeline-wrap { grid-template-columns: 1fr; }
  .timeline-media { position: relative; top: 0; height: 42vh; margin-bottom: 2rem; }
  .plan-wrap { grid-template-columns: 1fr; }
  .plan-summary img { min-height: 300px; }
  .footer-top { grid-template-columns: 1fr 1fr; row-gap: 2.5rem; }
}

@media (max-width: 860px) {
  .nav-links, .nav-cta .btn-outline { display: none; }
  .hamburger { display: flex; }
  .mobile-menu { display: flex; }

  .discover-bar { grid-template-columns: 1fr; }
  .discover-field { border-right: none; border-bottom: 1px solid var(--color-border); }

  .review-slide { grid-template-columns: 1fr; }
  .review-slide img { height: 300px; }

  .gallery-grid { columns: 2 160px; }

  .package-grid, .services-grid { grid-template-columns: 1fr; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-card.is-feature { grid-column: span 1; }

  .footer-top { grid-template-columns: 1fr; }

  body { padding-bottom: 64px; } /* room for sticky bar */
  .mobile-bottom-bar {
    display: grid;
    grid-template-columns: 1fr 1fr 1.4fr;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 150;
    background: var(--color-ink);
  }
  .mobile-bottom-bar a {
    display: flex; align-items: center; justify-content: center; gap: 0.5rem;
    color: var(--color-white);
    font-size: 0.72rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 0.9rem 0.4rem;
    border-right: 1px solid rgba(255,255,255,0.12);
  }
  .mobile-bottom-bar a:last-child { border-right: none; background: var(--color-rust); }
  .mobile-bottom-bar svg { width: 16px; height: 16px; }
}

@media (max-width: 600px) {
  .editorial-media .float-card { position: static; width: 100%; aspect-ratio: 16/10; border: none; margin-top: 1rem; box-shadow: none; }
  .editorial-media img { height: 320px; }
  .gallery-grid { columns: 2 140px; }
  .hero-foot { display: none; }
}
