/* ==========================================================================
   RESPONSIVE DESIGN BREAKPOINTS
   ========================================================================== */

/* Laptop / Desktop Screens (Up to 1024px) */
@media (max-width: 1024px) {
  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-desc {
    margin: 0 auto 30px auto;
  }

  .hero-highlights {
    justify-content: center;
    max-width: 500px;
    margin: 0 auto 35px auto;
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-image-wrapper {
    margin-top: 30px;
  }

  .about-grid, .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Mobile & Tablet Screens (Up to 768px) */
@media (max-width: 768px) {
  .top-bar {
    display: none; /* Hide top bar for clean mobile header */
  }

  .mobile-toggle {
    display: block;
  }

  .nav-menu {
    position: fixed;
    top: 70px;
    left: -100%;
    width: 100%;
    height: calc(100vh - 70px);
    background: var(--white);
    flex-direction: column;
    padding: 40px 20px;
    gap: 20px;
    transition: var(--transition);
    box-shadow: var(--shadow-soft);
  }

  .nav-menu.active {
    left: 0;
  }

  .header-cta-group {
    display: none; /* Accessible via Hero and Floating buttons */
  }

  .hero-heading {
    font-size: 2.2rem;
  }

  .hero-subheading {
    font-size: 1.15rem;
  }

  .hero-highlights {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .about-features-grid {
    grid-template-columns: 1fr;
  }

  .section-title h2 {
    font-size: 1.8rem;
  }

  .contact-form .form-row {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* Extra Small Phones (Up to 480px) */
@media (max-width: 480px) {
  .hero-buttons {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .stat-number, .plus {
    font-size: 2.2rem;
  }

  .floating-buttons {
    bottom: 15px;
    right: 15px;
  }

  .float-btn {
    width: 44px;
    height: 44px;
    font-size: 1.1rem;
  }
}