@media (max-width: 1050px) {
    .navbar { padding: 26px 35px; }
    .nav-links { gap: 18px; }
    .nav-links a { font-size: 13px; }
    .section { padding: 100px 35px; }
    .photo-hero { padding: 170px 35px 80px; }
    .plain-page-hero { padding: 170px 35px 90px; }
    .home-hero { padding: 150px 35px 90px; }
    .path-grid { grid-template-columns: 1fr 1fr; }
    .path-card:last-child { grid-column: 1 / -1; }
    .process-grid { grid-template-columns: repeat(2, 1fr); gap: 70px 35px; }
    .ora-grid { grid-template-columns: 1fr; gap: 46px; }
    .ora-section { padding: 100px 35px; }
}

@media (max-width: 760px) {
    .navbar {
        position: absolute;
        inset: 0 0 auto 0;
        padding: 18px 22px;
        flex-direction: row;
        align-items: center;
        gap: 0;
        background: transparent;
        color: var(--ink);
        text-shadow: none;
        z-index: 1000;
    }
    .navbar-over-photo { color: var(--white); }
    .brand { position: relative; z-index: 1002; font-size: 16px; }
    .menu-toggle { display: block; position: relative; z-index: 1002; margin-left: auto; }
    .nav-links {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        padding: 92px 22px 30px;
        background: var(--paper);
        color: var(--ink);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        box-shadow: 0 14px 34px rgba(0,0,0,.10);
        transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
        z-index: 1001;
    }
    .nav-links.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
    .nav-links a {
        width: 100%;
        padding: 15px 0;
        border-bottom: 1px solid rgba(24,24,24,.12);
        font-size: 22px;
        line-height: 1.15;
    }
    .nav-links a:last-child { border-bottom: 0; }
    .navbar:has(.nav-links.is-open) { color: var(--ink); }
    .menu-toggle.is-open span:first-child { transform: translateY(4px) rotate(45deg); }
    .menu-toggle.is-open span:last-child { transform: translateY(-4px) rotate(-45deg); }
    body.menu-open { overflow-x: hidden; }
    .home-hero { min-height: auto; padding: 125px 22px 80px; }
    .home-hero h1 { font-size: 48px; letter-spacing: -.03em; }
    .home-lead { margin-top: 36px; font-size: 19px; }
    .eyebrow { margin-bottom: 30px; font-size: 11px; line-height: 1.5; }
    .section { padding: 80px 22px; }
    .section-label { margin-bottom: 42px; font-size: 11px; }
    .section h2, .section-content h2 { font-size: 38px; }
    .split-layout { grid-template-columns: 1fr; gap: 50px; }
    .body-copy p { font-size: 18px; }
    .path-grid { grid-template-columns: 1fr; }
    .path-card, .path-card:last-child { min-height: 430px; grid-column: auto; }
    .photo-hero { min-height: 72vh; padding: 130px 22px 60px; }
    .photo-hero h1 { font-size: clamp(44px, 11vw, 56px); }
    .hero-support { font-size: 18px; margin-top: 30px; }
    .plain-page-hero { min-height: auto; padding: 125px 22px 80px; }
    .plain-page-hero h1 { font-size: clamp(44px, 11vw, 56px); }
    .background-grid { grid-template-columns: 1fr; gap: 58px; }
    .technology-grid { grid-template-columns: 1fr; gap: 58px; }
    .technology-intro { margin-bottom: 70px; }
    .technology-grid h3 { margin-top: 38px; }

    .process-grid { grid-template-columns: 1fr; gap: 58px; }
    .process-grid h3 { margin-top: 42px; }
    .teaching-area { grid-template-columns: 45px 1fr; min-height: 130px; }
    .teaching-area > span { padding-top: 27px; }
    .teaching-area h3 { font-size: 23px; }
    .coaching-tags { grid-template-columns: 1fr; }
    .coaching-tags span { border-right: none !important; padding: 24px 0 !important; }
    .ora-section { min-height: auto; padding: 90px 22px; background-position: center; }
    .ora-content > h2 { font-size: 46px; }
    .ora-intro { margin-bottom: 60px; font-size: 18px; }
    .ora-grid h3 { margin-top: 38px; }
    .contact { min-height: auto; }
    .contact-link { margin-top: 48px; font-size: 23px; }
}


@media (max-width: 1050px) {
    .mini-reviews { padding: 48px 35px 42px; }
    .site-footer { padding: 38px 35px; }
    .legal-page { padding: 150px 35px 90px; }
}

@media (max-width: 760px) {
    .mini-reviews { padding: 44px 22px 38px; }
    .mini-reviews-heading { grid-template-columns: 1fr; gap: 18px; }
    .mini-reviews-sources { grid-template-columns: 1fr; gap: 26px; }
    .site-footer { padding: 34px 22px; grid-template-columns: 1fr; gap: 28px; }
    .footer-meta { text-align: left; }
    .footer-links { justify-content: flex-start; flex-wrap: wrap; }
    .legal-page { min-height: auto; padding: 125px 22px 80px; }
}

@media (max-width: 760px) {
    .language-switcher {
        width: 100%;
        margin: 18px 0 0;
        padding-top: 16px;
        border-top: 1px solid rgba(24,24,24,.12);
        gap: 10px;
    }
    .language-switcher a {
        width: auto;
        padding: 0;
        border-bottom: 0;
        font-size: 13px;
        line-height: 1;
    }
    .language-switcher span { font-size: 13px; }
}
