/* ============================================================
   COMPREHENSIVE RESPONSIVE DESIGN SYSTEM
   For PC, Tablet, and Phone
   ============================================================ */

/* ---------- Large Desktop (1200px+) ---------- */
@media (min-width: 1200px) {
  .wrap { max-width: 1180px; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 60px; }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .process-flow { flex-direction: row; }
  .partner-cta-inner { grid-template-columns: 1fr 1fr; }
}

/* ---------- Desktop (992px - 1199px) ---------- */
@media (max-width: 1199px) {
  .wrap { max-width: 960px; }
  .hero-grid { gap: 40px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
}

/* ---------- Tablet Landscape (768px - 991px) ---------- */
@media (max-width: 991px) {
  .wrap { max-width: 720px; }
  nav.links { gap: 16px; }
  nav.links a { font-size: 13.5px; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-art { order: -1; max-width: 500px; margin: 0 auto; }
  .cta-row { justify-content: center; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .partner-cta-inner { grid-template-columns: 1fr; gap: 30px; }
  .partner-cta-image { order: -1; }
  .jobs-intro-inner { grid-template-columns: 1fr; gap: 30px; }
  .jobs-intro-image { order: -1; }
  .process-flow { flex-direction: column; align-items: center; gap: 20px; }
  .process-item { max-width: 100%; width: 100%; }
  .process-connector { width: 70px; height: 40px; margin-top: 0; }
  .process-connector svg { transform: rotate(90deg); }
  .partnerships-table { font-size: 13px; }
  .partnerships-table th, .partnerships-table td { padding: 12px 16px; }
}

/* ---------- Tablet Portrait (576px - 767px) ---------- */
@media (max-width: 767px) {
  .wrap { max-width: 540px; padding: 0 20px; }
  nav.links { display: none; }
  .mobile-toggle { display: flex; }
  .theme-toggle { margin-right: 10px; }
  .hero h1 { font-size: 36px; }
  .hero .lede { font-size: 16px; }
  .section { padding: 50px 0; }
  .section-head h2 { font-size: 28px; }
  .stats-row { grid-template-columns: 1fr 1fr; gap: 20px; }
  .stat .num { font-size: 32px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; text-align: center; gap: 25px; }
  .footer-brand { justify-content: center; }
  .process-step { padding: 25px 15px; }
  .job-category-card { padding: 25px 20px; }
  .ct-card { grid-template-columns: 1fr; }
  .ct-panel, .ct-form { padding: 30px 25px; }
  .map-embed iframe { height: 250px; }
  .apply-form { padding: 25px 20px; }
  .wizard-step { padding: 20px; }
  .jobs-hero h1 { font-size: 36px; }
  .jobs-hero p { font-size: 16px; }
  .partner-cta-content h2 { font-size: 28px; }
  .partnerships-table-wrapper { border-radius: 8px; }
  .partnerships-table th, .partnerships-table td { padding: 10px 12px; font-size: 12px; }
  .btn-primary, .btn-secondary, .btn-outline { padding: 10px 20px; font-size: 14px; }
}