/* ========== TABLETS (<= 1024px) ========== */
@media (max-width: 1024px) {
  /* Services: 2 per row */
  .service-item {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

/* ========== MOBILE NAV + LAYOUT (<= 768px) ========== */
@media (max-width: 768px) {
  /* Show hamburger menu */
  .nav-toggle {
    display: block;
    background-color: #004080;
    color: white;
    font-size: 24px;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    margin: 10px;
  }

  /* Collapse nav by default */
  .desktop-nav {
    width: 100%;
    display: none;
  }
  .desktop-nav.nav-open {
    display: block;
  }

  /* Vertical nav */
  .desktop-nav ul {
    flex-direction: column;
    background-color: #004080;
    width: 100%;
  }
  .desktop-nav ul li {
    margin: 0;
    border-top: 1px solid #0055aa;
  }
  .desktop-nav ul li a {
    display: block;
    padding: 14px 20px;
    color: white;
  }

  header {
    flex-direction: column;
    align-items: flex-start;
  }
  .logo {
    margin: 10px;
  }

  /* Services: full width on mobile */
  .service-item {
    flex: 1 1 100%;
    max-width: 100%;
  }

  /* Hero slider smaller */
  .hero-slider {
    height: 300px;
  }
  .hero-slider .hero-text {
    font-size: 0.9rem;
    padding: 16px;
  }
}

/* ========== SMALL MOBILES (<= 480px) ========== */
@media (max-width: 480px) {
  /* Text scaling */
  .about h2 {
    font-size: 1.5rem;
  }
  .about p {
    font-size: 1rem;
  }

  .cta-block h1 {
    font-size: 1.2rem;
  }
  .cta-block a.cta-button {
    padding: 10px 16px;
    font-size: 1rem;
  }

  /* Smaller hero */
  .hero-slider {
    height: 240px;
  }
  .hero-slider .hero-text h1 {
    font-size: 1.1rem;
  }
  .hero-slider .hero-text p {
    font-size: 0.9rem;
  }
}
