/* ==========================================================================
   Responsive breakpoints
   ========================================================================== */

@media (max-width: 1024px) {
    .instructor-grid,
    .steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .step-offset {
        margin-top: 0;
    }

    .stats-row {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 32px;
        max-width: 480px;
    }

    .stat-block:nth-child(2) {
        border-left: 1px solid var(--color-border);
    }

    .stat-block:nth-child(3) {
        border-left: none;
        padding-left: 0;
    }

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

    .footer-brand {
        grid-column: 1 / -1;
    }

    .gain-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }

    .gain-cta {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .faq-inner {
        grid-template-columns: 1fr;
    }

    .faq-media {
        order: -1;
    }

    .photo-strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .stats-banner-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .goals-inner {
        grid-template-columns: 1fr;
    }

    .goals-media {
        order: -1;
    }

    .testimonial-track {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .photo-strip--3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .steps-grid--2 {
        grid-template-columns: 1fr;
        max-width: 480px;
    }

    .service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .testimonial-feature-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .testimonial-feature-media {
        order: -1;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .course-overview {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .instructor-grid--single {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .main-nav {
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        background-color: var(--color-bg);
        border-bottom: 1px solid var(--color-border);
        padding: 16px 24px 24px;
        transform: translateY(-12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .main-nav.is-open {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
        pointer-events: auto;
    }

    .main-nav > a {
        padding: 10px 0;
        width: 100%;
    }

    .header-cta {
        display: none;
    }

    .nav-toggle {
        display: flex;
    }

    .hero-image-placeholder {
        height: 420px;
    }

    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 24px;
    }

    .trust-section {
        grid-template-columns: 1fr;
    }

    .trust-media {
        min-height: 280px;
        order: -1;
    }

    .final-cta-inner {
        grid-template-columns: 1fr;
    }

    .final-cta-media {
        padding: 0 24px 24px;
        order: -1;
    }

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

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

    .about-hero-photo {
        display: none;
    }

    .services-dark .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-form {
        padding: 28px;
    }

    .pitch-list {
        grid-template-columns: 1fr;
    }

    .course-quote-card {
        position: static;
        width: auto;
        margin-top: 24px;
    }

    .courses-hero-inner {
        padding-bottom: 0;
    }

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

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

@media (max-width: 640px) {
    .instructor-grid,
    .steps-grid {
        grid-template-columns: 1fr;
    }

    .stats-row {
        grid-template-columns: 1fr;
        max-width: 320px;
        row-gap: 24px;
    }

    .stat-block,
    .stat-block:nth-child(2),
    .stat-block:nth-child(3) {
        border-left: none;
        padding-left: 0;
    }

    .hero-inner {
        padding-bottom: 40px;
    }

    .hero-stat-card {
        position: static;
        width: auto;
        margin-top: 24px;
    }

    .hero-image-placeholder {
        height: 320px;
    }

    .course-card-top {
        flex-direction: column;
    }

    .course-thumb {
        width: 100%;
        max-width: none;
    }

    .course-card p {
        max-width: 100%;
    }

    .section-heading-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .why-choose {
        padding: 64px 0;
    }

    .why-choose-heading {
        margin-bottom: 48px;
    }

    .feature-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .trust-content {
        padding: 48px 28px;
    }

    .benefit-checklist {
        grid-template-columns: 1fr;
    }

    .final-cta-content {
        padding: 48px 28px;
    }

    .testimonial-card {
        padding: 32px 24px;
    }

    .footer-links {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

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

    .gain-cta {
        grid-column: 1;
        grid-row: auto;
    }

    .gain-card {
        flex-direction: column;
    }

    .gain-card-img {
        width: 100%;
        height: 140px;
    }

    .photo-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .cta-banner-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .faq-item p {
        padding-right: 0;
    }

    .stats-banner-stats {
        grid-template-columns: 1fr;
        row-gap: 16px;
    }

    .stats-banner-stats .stat-block {
        border-left: none;
        padding-left: 0;
    }

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

    .contact-info-list {
        gap: 16px;
    }

    .photo-strip--3 {
        grid-template-columns: 1fr;
    }
}
