
/* responsive.css — Full Responsive Optimization for hello.css */

/* ========== 1400px and above (Large Monitors) ========== */
@media (min-width: 1400px) {
  body {
    font-size: 18px;
  }
  .container {
    max-width: 1400px;
  }
  h1, h2, h3 {
    letter-spacing: 0.5px;
  }
}

/* ========== 1200px to 1399px (Laptops) ========== */
@media (max-width: 1399px) {
  .container {
    max-width: 1100px;
  }
  .hero-inner {
    gap: 3rem;
  }
}

/* ========== 992px to 1199px (Tablets Landscape) ========== */
@media (max-width: 1199px) {
  .hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .programs-grid, .exam-grid, .pricing-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  .nav {
    flex-wrap: wrap;
  }
}

/* ========== 769px to 991px (Tablets Portrait) ========== */
@media (max-width: 991px) {
  header {
    position: relative;
  }
  .hero {
    padding: 4rem 1rem;
  }
  .section-header {
    margin-bottom: 2rem;
  }
  .instructors-grid, .faq-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ========== 601px to 768px (Large Phones / Small Tablets) ========== */
@media (max-width: 768px) {
  .hero-inner, .contact-grid {
    grid-template-columns: 1fr;
  }
  .title {
    font-size: 2rem;
  }
  .cta, .btn {
    width: 100%;
    justify-content: center;
  }
  .hero-image {
    height: 220px;
  }
  .footer-content {
    flex-direction: column;
    text-align: center;
  }
  .menu-toggle {
    display: flex;
  }
  #primary-nav {
    display: none;
    flex-direction: column;
  }
  #primary-nav.open {
    display: flex;
  }
}

/* ========== 481px to 600px (Medium Phones) ========== */
@media (max-width: 600px) {
  body {
    font-size: 15px;
  }
  h1, h2 {
    font-size: 1.75rem;
  }
  .card, .about-card, .program-card {
    padding: 1.25rem;
  }
  .exam-card {
    padding: 1.5rem;
  }
  .social-links a {
    font-size: 1.3rem;
  }
}

/* ========== 361px to 480px (Small Phones) ========== */
@media (max-width: 480px) {
  .container {
    padding: 0 1rem;
  }
  .title {
    font-size: 1.75rem;
  }
  .subtitle {
    font-size: 1rem;
  }
  .btn {
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
  }
  .hero-image, .card-image {
    height: 180px;
  }
  .instructors-grid, .faq-grid {
    grid-template-columns: 1fr;
  }
  footer {
    padding: 2rem 0;
  }
}

/* ========== 360px and below (Extra Small Phones) ========== */
@media (max-width: 360px) {
  body {
    font-size: 14px;
  }
  .title {
    font-size: 1.5rem;
  }
  .cta, .btn {
    padding: 0.6rem 1rem;
  }
  .nav {
    flex-direction: column;
    align-items: center;
  }
}

/* Retina / High DPI Display Optimization */
@media only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  img, .hero-image, .program-image {
    image-rendering: -webkit-optimize-contrast;
  }
}
