@media (max-width: 900px){
    nav{
        padding: 1rem;
    }

    .hamburger{
        display: flex;
        z-index: 4;
    }

    .nav-links{
        position: absolute;
        top: 10%;
        right: 0;
        width: 100%;
        z-index: 3;
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem 0;
        background: rgba(15, 23, 42, 0.95);
        backdrop-filter: blur(15px);
        transform: translateY(-120%);
        transition: 0.4s ease;
        border-radius: 0 0 20px 20px;
    }

    .nav-links.active{
        transform: translateY(0);
    }

    .nav-links li{
        text-align: center;
    }

    #logo{
        z-index: 3;
        border-radius: 10px;
    }
}
/* ================= HAMBURGER ANIMATION ================= */
.hamburger.active span:nth-child(1){
    
    transform: rotate(45deg) translate(5px, 5px);
    background-color: #38bdf8;
    box-shadow: 
        0 0 8px rgba(56, 189, 248, 0.8),
        0 0 16px rgba(56, 189, 248, 0.6);
}

.hamburger.active span:nth-child(2){
    opacity: 0;
}

.hamburger.active span:nth-child(3){
    transform: rotate(-45deg) translate(6px, -6px);
    background-color: #38bdf8;
    box-shadow: 
        0 0 8px rgba(56, 189, 248, 0.8),
        0 0 16px rgba(56, 189, 248, 0.6);

}

@media (max-width: 900px){
    .hero-grid{
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    #hero .info{
        text-align: center;
    }

    #hero .info p{
        margin: 0 auto;
    }

    #hero .buttons{
        justify-content: center;
        flex-wrap: wrap;
    }
}
@media (max-width: 1024px){
    .cycle{
        --size: 300px;
    }
}
@media (max-width: 768px){
    .cycle{
        --size: 240px;
    }
    .step{
        font-size: 0.75rem;
        padding: 4px 10px;
    }
}
@media (max-width: 420px){
    .step{
        display: none;
    }
}
@media (max-width: 768px) {
    #procedure .container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    #procedure .item {
        min-height: auto;
        padding: 50px 30px;
        border-radius: 16px;
    }

    #procedure h2 {
        text-align: center;
    }
    #procedure .item .num{
        top:20%
    }
}

@media (max-width: 1024px) {
  #programs .container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  #programs .container {
    grid-template-columns: 1fr;
  }

  #programs .item {
    padding: 40px 28px;
  }

  #programs .item .num {
    font-size: 4.5rem;
    left: 16px;
  }

  #programs h3 {
    font-size: 1.4rem;
    text-align: center;
  }

  #programs .item p {
    font-size: 1.05rem;
    text-align: center;
  }
}

@media (max-width: 480px) {
  #programs .item .num {
    opacity: 0.1;
    font-size: 4rem;
  }
}
/* ================= WHY – RESPONSIVE ================= */

@media (max-width: 1024px) {
  #why .container {
    grid-template-columns: 1fr;
  }

  #why .item.wide {
    grid-column: span 1;
  }
}

@media (max-width: 768px) {
  #why .item {
    padding: 36px 28px;
  }

  #why .item .num {
    font-size: 3.8rem;
    top: 16px;
    right: 20px;
  }

  #why .item p {
    font-size: 1.05rem;
  }
}
@media (max-width: 1024px) {
  #outcomes .cards {
    grid-template-columns: 1fr;
  }

  .outcome-card {
    height: 360px;
  }
}

@media (max-width: 768px) {
  .outcome-card {
    height: 320px;
  }

  .outcome-text {
    padding: 24px;
  }

  .outcome-text h3 {
    font-size: 1.3rem;
  }

  .outcome-text p {
    font-size: 0.95rem;
  }
}

@media (max-width: 480px) {
  .outcome-card {
    height: 300px;
  }

  .outcome-text h3 {
    font-size: 1.2rem;
  }
}
/* ================= TOUCH DEVICES / MOBILE ================= */
@media (hover: none), (max-width: 768px) {

  /* Always show the extra text */
  .extra-text {
    max-height: none;
    opacity: 1;
    overflow: visible;
    margin-top: 15px;
    transition: none;
  }

  /* Disable hover lift (optional but recommended) */
  .instructor-card:hover {
    transform: none;
    box-shadow: none;
    background: #49586c76;
  }
}
@media (max-width: 768px) {
    .testimonial-slide {
        padding: 28px;
    }

    .testimonial-slide .quote {
        font-size: 1rem;
    }

    .carousel-btn {
        display: none; /* swipe + dots only */
    }
}
/* Mobile */
@media (max-width: 600px) {
    .contact-card {
        padding: 40px 25px;
    }

    .contact-card h2 {
        font-size: 1.8rem;
    }

    .contact-card p {
        font-size: 1rem;
    }
}
@media (max-width: 768px) {
    #contact {
        padding-top: 100px;
        scroll-margin-top: 100px;
    }
}
