/* ==========================================================================
   CAMPUS ONE — Responsive Rules
   ========================================================================== */

/* ---------- Small desktop ≤ 1200px: tighter nav so 7 links fit ---------- */
@media (max-width: 1200px) {
  .main-nav { gap: 20px; }
}
@media (max-width: 1100px) {
  .main-nav { gap: 16px; }
  .header-phone { display: none; }
}

/* ---------- Tablet ≤ 1024px ---------- */
@media (max-width: 1024px) {
  .services-grid, .why-grid, .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .dest-grid, .uni-grid { grid-template-columns: repeat(2, 1fr); }
  .process-track { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .process-track::before { display: none; }
  .split { grid-template-columns: 1fr; gap: 40px; }
  .split-media img { aspect-ratio: 16/9; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; row-gap: 36px; }
  .finder { padding: 40px 28px; }
  .finder-options { grid-template-columns: repeat(2, 1fr); }
  .finder-options.compact { grid-template-columns: repeat(3, 1fr); }
  .finder-results-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Nav breakpoint ≤ 960px ---------- */
@media (max-width: 960px) {
  .main-nav { display: none; }
  .header-cta .btn-secondary { display: none; }
  .header-phone { display: none; }
  .hamburger { display: flex; }
  body { padding-top: var(--header-h-mobile); padding-bottom: 64px; }
  .site-header { height: var(--header-h-mobile); }
  .site-header.is-scrolled { height: var(--header-h-mobile); }
  .logo img { height: 38px; }
  .logo-text strong { font-size: 16px; }
  .header-cta .btn-sm { white-space: nowrap; }
  .mobile-stickybar { display: block; }
}

/* ---------- Small tablet / large phone ≤ 768px ---------- */
@media (max-width: 768px) {
  section { padding: 56px 0; }
  .hero-slider { height: 78vh; min-height: 480px; }
  .hero-slide-content .inner { max-width: 100%; }
  .hero-actions .btn { flex: 1; min-width: 150px; }
  .hero-nav { display: none; }
  .page-banner { height: 40vh; min-height: 280px; }
  .services-grid, .why-grid, .testi-grid, .dest-grid, .uni-grid { grid-template-columns: 1fr; }
  .process-track { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .finder-options { grid-template-columns: repeat(2, 1fr); }
  .finder-options.compact { grid-template-columns: repeat(2, 1fr); }
  .finder-results-grid { grid-template-columns: 1fr; }
  .finder-steps { gap: 4px; }
  .finder-step-dot { width: 26px; height: 26px; font-size: 11px; }
  .form-grid { grid-template-columns: 1fr; }
  .cta-band { flex-direction: column; text-align: center; padding: 40px 28px; }
  .cta-band .actions { justify-content: center; }
  .uni-filter-bar { flex-direction: column; }
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .flag-card { flex-basis: 190px; }
}

/* ---------- Phone ≤ 480px ---------- */
@media (max-width: 480px) {
  .container { padding: 0 18px; }
  .header-cta .btn-sm { display: none; } /* CTA stays in the mobile menu */
  .hero-slide-content h1, .hero-slide-content .hero-title { font-size: 30px; }
  .hero-slide-content p { font-size: 15.5px; }
  .section-head p { font-size: 15px; }
  .footer-grid { grid-template-columns: 1fr; }
  .mobile-stickybar a { font-size: 10px; }
  .finder { padding: 30px 20px; }
  .split-badge { position: static; margin-top: -40px; margin-left: 16px; width: calc(100% - 32px); }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
