/* =========================================================
   AstraVoyage · responsive.css
   ========================================================= */

@media (max-width: 1080px) {
  :root { --space-section: 80px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .journey-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .hero-grid { gap: 48px; }
  .hero-visual { height: 440px; }
  .orb-planet { width: 280px; height: 280px; }
  .orb-ring { width: 380px; height: 380px; }
}

@media (max-width: 860px) {
  .main-nav, .nav-cta { display: none; }
  .menu-toggle { display: flex; }
  .hero-grid { grid-template-columns: 1fr; gap: 60px; }
  .hero-visual { height: 380px; order: -1; }
  .split-grid { grid-template-columns: 1fr; gap: 48px; }
  .cta-inner { grid-template-columns: 1fr; padding: 40px; text-align: center; }
  .cta-inner > a { justify-self: center; }
  .bespoke-inner { grid-template-columns: 1fr; padding: 40px; text-align: center; }
  .bespoke-inner > a { justify-self: center; }
  .contact-grid { grid-template-columns: 1fr; }
  .legal-grid { grid-template-columns: 1fr; gap: 32px; }
  .legal-nav { position: static; }
  /* Timeline - single column on mobile */
  .timeline-line { left: 22px; }
  .step { width: 100%; padding-left: 64px; }
  .step:nth-child(odd), .step:nth-child(even) { align-self: stretch; }
  .step:nth-child(odd) .step-icon, .step:nth-child(even) .step-icon { left: -2px; right: auto; }
  .hero-meta { flex-wrap: wrap; gap: 24px; }
}

@media (max-width: 640px) {
  :root { --space-section: 60px; }
  .container { padding: 0 22px; }
  main { padding-top: 80px; }
  h1 { font-size: 2.1rem; }
  h2 { font-size: 1.7rem; }
  .feature-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .journey-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-base { flex-direction: column; gap: 12px; text-align: center; }
  .contact-form { padding: 32px 24px; }
  .testimonial blockquote { padding: 40px 28px; }
  .testimonial p { font-size: 1.15rem; }
  .cta-row { flex-direction: column; width: 100%; }
  .cta-row .btn { width: 100%; }
  .nebula { width: 500px; height: 500px; filter: blur(80px); }
  .hero-visual { height: 320px; }
  .orb-planet { width: 220px; height: 220px; }
  .orb-ring { width: 300px; height: 300px; }
  .orb-traveler { width: 120px; }
}