@media (max-width: 1050px) {
    .nav-links {
        gap: 16px;
    }

    .nav-links a {
        font-size: 13px;
    }

    .nav-actions {
        display: none;
    }
}

@media (max-width: 820px) {
    .navbar-inner {
        position: relative;
        justify-content: space-between;
    }

    .nav-toggle {
        display: block;
    }

    .nav-links {
        position: absolute;
        top: 76px;
        right: 20px;
        left: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow);
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links a {
        padding: 12px 14px;
        border-radius: var(--radius);
        font-size: 15px;
    }

    .nav-links a:hover {
        background: var(--accent-light);
    }

    .nav-links a::after {
        display: none;
    }

    h1 {
        font-size: 38px;
    }

    section {
        padding: 50px 0;
    }
}
@media (max-width: 950px) {
    .hero-inner {
        grid-template-columns: 1fr;
    }

    .hero-content {
        padding: 70px 0 30px;
    }

    .hero-visual {
        min-height: auto;
        padding: 20px 0 60px;
    }

    .hero h1 {
        font-size: 52px;
    }
}

@media (max-width: 650px) {
    .hero h1 {
        font-size: 42px;
    }

    .hero-text {
        font-size: 18px;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-highlights {
        grid-template-columns: 1fr;
    }

    .hero-image-placeholder {
        min-height: 300px;
    }

    .hero-image-placeholder > span {
        font-size: 56px;
    }

    .section-heading h2 {
        font-size: 30px;
    }
}

@media (max-width: 1000px) {
    .course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .course-grid {
        grid-template-columns: 1fr;
    }

    .course-card-image {
        height: 200px;
    }

    .course-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 950px) {
    .course-hero-grid,
    .course-content-grid {
        grid-template-columns: 1fr;
    }

    .course-hero h1 {
        font-size: 44px;
    }

    .course-sidebar {
        position: static;
    }

    .course-hero-image {
        order: -1;
    }

    .course-detail-placeholder {
        min-height: 280px;
    }
}

@media (max-width: 650px) {
    .course-hero {
        padding: 45px 0;
    }

    .course-hero h1 {
        font-size: 36px;
    }

    .course-content-card {
        padding: 24px;
    }

    .module-card {
        grid-template-columns: 40px 1fr;
        padding: 18px;
    }

    .module-number {
        width: 38px;
        height: 38px;
    }

    .module-header {
        flex-direction: column;
        gap: 8px;
    }

    .course-hero-actions .btn {
        width: 100%;
    }
}
@media (max-width: 950px) {
    .steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .apply-cta-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .page-hero {
        padding: 55px 0;
    }

    .page-hero h1 {
        font-size: 38px;
    }

    .steps-grid {
        grid-template-columns: 1fr;
    }

    .apply-cta-box {
        padding: 28px;
    }

    .apply-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .apply-cta-actions .btn {
        width: 100%;
    }
}
@media (max-width: 950px) {
    .about-hero-grid,
    .about-story-grid,
    .about-philosophy-grid,
    .about-practical-grid,
    .cicero-grid {
        grid-template-columns: 1fr;
    }

    .about-hero-content h1 {
        font-size: 48px;
    }

    .about-story-grid,
    .about-philosophy-grid,
    .about-practical-grid,
    .cicero-grid {
        gap: 40px;
    }

    .about-year {
        max-width: 300px;
    }

    .mission-grid {
        grid-template-columns: 1fr;
    }

    .people-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .moga-plus-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .plus-symbol {
        text-align: center;
    }
}

@media (max-width: 650px) {
    .about-hero {
        padding: 55px 0;
    }

    .about-hero-content h1 {
        font-size: 40px;
    }

    .about-brand-card,
    .philosophy-card {
        padding: 30px;
    }

    .about-brand-logo {
        font-size: 44px;
    }

    .about-story-content h2,
    .philosophy-content h2,
    .about-practical h2,
    .cicero-content h2 {
        font-size: 30px;
    }

    .mission-statement strong {
        font-size: 23px;
    }

    .people-grid {
        grid-template-columns: 1fr;
    }

    .success-message-box {
        padding: 35px 22px;
    }

    .success-message-box strong {
        font-size: 26px;
    }

    .cicero-name {
        min-height: 220px;
    }

    .cicero-name span {
        font-size: 32px;
    }

    .about-final-box {
        padding: 40px 22px;
    }

    .about-final-box h2 {
        font-size: 30px;
    }

    .about-final-actions,
    .about-hero-actions {
        flex-direction: column;
    }

    .about-final-actions .btn,
    .about-hero-actions .btn {
        width: 100%;
    }
}
@media (max-width: 950px) {
    .about-hero-v2-grid,
    .about-history-v2-grid,
    .about-philosophy-v2-grid,
    .about-real-life-v2-grid {
        grid-template-columns: 1fr;
    }

    .about-hero-v2-content h1 {
        font-size: 46px;
    }

    .about-history-v2-grid,
    .about-philosophy-v2-grid,
    .about-real-life-v2-grid {
        gap: 36px;
    }

    .about-principles-grid {
        grid-template-columns: 1fr;
    }

    .about-brand-meaning-box {
        grid-template-columns: 1fr;
    }

    .about-brand-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    .about-final-v2-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .about-hero-v2 {
        padding: 52px 0;
    }

    .about-hero-v2-content h1 {
        font-size: 38px;
    }

    .about-message-card {
        padding: 28px;
    }

    .about-section-heading {
        text-align: left;
    }

    .about-section-heading h2,
    .about-history-v2-content h2,
    .about-philosophy-v2-content h2,
    .about-real-life-v2 h2,
    .about-success-v2-box h2,
    .about-final-v2-box h2 {
        font-size: 28px;
    }

    .about-mission-quote strong {
        font-size: 22px;
    }

    .about-success-v2-box,
    .about-final-v2-box {
        padding: 28px;
    }

    .about-success-v2-box strong {
        font-size: 23px;
    }

    .about-final-v2-actions,
    .about-hero-v2-actions {
        width: 100%;
        flex-direction: column;
    }

    .about-final-v2-actions .btn,
    .about-hero-v2-actions .btn {
        width: 100%;
    }
}
@media (max-width: 850px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .contact-form-card {
        padding: 24px;
    }

    .contact-form-card .btn {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .contact-form-card {
        padding: 24px;
    }

    .contact-submit {
        width: 100%;
    }
}
@media (max-width: 650px) {
    .contact-field {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .contact-field:has(textarea) label {
        padding-top: 0;
    }

    .contact-form-actions {
        padding-left: 0;
    }

    .contact-submit {
        width: 100%;
    }
}
@media (max-width: 800px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 42px;
        padding-bottom: 34px;
    }

    .footer-brand {
        grid-column: auto;
    }

    .footer-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .footer-legal {
        flex-direction: column;
        gap: 8px;
    }
}
@media (max-width: 850px) {
    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 42px;
        padding-bottom: 38px;
    }

    .footer-brand {
        grid-column: auto;
    }

    .footer-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .footer-legal {
        flex-direction: column;
        gap: 8px;
    }
}
@media (max-width: 850px) {
    .site-footer .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .site-footer .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .site-footer .footer-main {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 40px;
        padding-bottom: 36px;
    }

    .site-footer .footer-brand {
        grid-column: auto;
    }

    .site-footer .footer-bottom-content {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .site-footer .footer-legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}
@media (max-width: 750px) {
    .home-quote-bar {
        height: auto;
        min-height: 46px;
        padding: 7px 16px;
    }

    .home-quote-content {
        flex-wrap: wrap;
        height: auto;
        min-height: 32px;
        gap: 3px 7px;
    }

    .home-quote-text {
        font-size: 13px;
    }

    .home-quote-author {
        font-size: 11px;
    }
}
@media (max-width: 950px) {
    .home-course-grid,
    .home-benefits-grid,
    .home-voucher-grid {
        grid-template-columns: 1fr;
    }

    .home-basic-card {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .home-basic-badge {
        min-height: 190px;
    }
}

@media (max-width: 650px) {
    .home-section,
    .home-basic-section,
    .home-voucher-section,
    .home-final-cta {
        padding: 55px 0;
    }

    .home-section-header {
        margin-bottom: 30px;
        text-align: left;
    }

    .home-section-header h2 {
        font-size: 30px;
    }

    .home-basic-card {
        padding: 26px;
    }

    .home-basic-content h2 {
        font-size: 29px;
    }

    .home-benefit,
    .home-voucher-step {
        padding: 22px;
    }

    .home-final-cta h2 {
        font-size: 38px;
    }

    .home-final-actions {
        flex-direction: column;
    }

    .home-final-actions .btn {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .error-page-inner {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .error-page-content {
        text-align: center;
    }

    .error-page-content > p {
        margin-right: auto;
        margin-left: auto;
    }

    .error-page-actions {
        justify-content: center;
    }

    .error-page-visual {
        min-height: 350px;
    }

    .error-giraffe {
        max-height: 380px;
    }
}

@media (max-width: 600px) {
    .error-page {
        padding: 45px 0;
    }

    .error-code {
        font-size: 100px;
        letter-spacing: -5px;
    }

    .error-page-content h1 {
        margin-top: 20px;
        font-size: 30px;
    }

    .error-page-content > p {
        font-size: 16px;
    }

    .error-page-actions {
        flex-direction: column;
    }

    .error-page-actions .btn {
        width: 100%;
    }

    .error-page-visual {
        min-height: 300px;
    }

    .error-giraffe {
        max-height: 320px;
    }

}

