@media (max-width: 1366px) and (min-width: 1200px) {
    .site-nav { gap: 0.65rem; }
    .site-nav ul { gap: clamp(2px, 0.45vw, 8px); }
    .site-nav ul a { padding: 0.4rem 0.32rem; font-size: 0.84rem; }
}

@media (max-width: 1199.98px) {
    .nav-toggle {
        display: inline-flex;
    }
    .site-nav { display: none; }
    .brand-logo { width: 96px; }
    .header-inner { padding: 6px 0; }
    .school-life-layout {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .school-life-content {
        max-width: 760px;
    }
    .school-life-content h2 br {
        display: none;
    }
    .school-life-collage {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 0.9fr);
        grid-template-rows: 300px 270px;
    }
}

@media (max-width: 1100px) {
    .topbar-place { display: none; }
    .approach { grid-template-columns: 1fr 1fr; gap: 1.2rem; border: 0; }
    .approach article { border: 0; margin: 0; padding: 0 1rem 1rem 0; }
    .mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 220px 220px; }
    .mosaic .wide { grid-row: 1 / span 2; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .process { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .hero { min-height: 70vh; align-items: flex-end; }
    .hero-copy { padding: 2.4rem 0 2rem; max-width: none; }
    .split,
    .split.reverse,
    .visit,
    .mv,
    .why,
    .contact-layout,
    .news-grid,
    .stage-pair { grid-template-columns: 1fr; }
    .split.reverse .split-copy { order: 0; }
    .stage { min-height: 380px; }
    .form-row { grid-template-columns: 1fr; }
    .masonry { columns: 2; }
    .frame::after { display: none; }
}

@media (max-width: 600px) {
    body { font-size: 16px; }
    .shell { width: min(var(--max), calc(100% - 1.5rem)); }
    .section { padding: 2.8rem 0; }
    .hero { min-height: 86vh; }
    .page-hero { min-height: 42vh; }
    .hero-copy h1 { font-size: 1.85rem; }
    .btn { width: 100%; }
    .btn-row .btn { flex: 1 1 100%; }
    .mosaic { grid-template-columns: 1fr; grid-template-rows: none; }
    .mosaic figure { min-height: 220px; }
    .mosaic .wide { grid-row: auto; }
    .approach { grid-template-columns: 1fr; }
    .process { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .masonry { columns: 1; }
    .site-header .brand-text span { display: none; }
}

@media (max-width: 767.98px) {
    .topbar-email,
    .topbar-place,
    .top-socials { display: none; }
    .topbar-inner { justify-content: flex-start; }
    .topbar {
        height: auto;
        min-height: var(--topbar-h);
    }
    .topbar-inner { padding: 7px 0; }
    .top-contact-phone {
        white-space: normal;
        line-height: 1.35;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-links-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        column-gap: 28px;
        width: 100%;
    }
    .footer-contact {
        width: 100%;
        margin-top: 34px;
    }
    .footer-column a {
        font-size: 15px;
        line-height: 1.6;
    }
    .footer-column h2 {
        margin-bottom: 14px;
        font-size: 16px;
    }
}

@media (max-width: 360px) {
    .footer-links-grid {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }
    .footer-column a {
        font-size: 14px;
    }
}

@media (max-width: 300px) {
    .footer-links-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .brand-logo { width: 84px; }
    .topbar {
        height: auto;
        min-height: var(--topbar-h);
    }
    .topbar-inner { padding: 7px 0; }
    .top-contact-phone {
        white-space: normal;
        font-size: 12px;
        line-height: 1.35;
    }
}

@media (max-width: 991.98px) {
    .school-hero,
    .hero-container {
        min-height: 680px;
    }
    .hero-content {
        width: 62%;
    }
    .hero-content h1 {
        font-size: clamp(42px, 6vw, 58px);
    }
    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(30,27,75,0.98) 0%,
                rgba(30,27,75,0.93) 38%,
                rgba(30,27,75,0.72) 58%,
                rgba(30,27,75,0.30) 78%,
                rgba(30,27,75,0.10) 100%
            );
    }
}

@media (max-width: 767.98px) {
    .school-hero {
        min-height: 690px;
    }
    .hero-container {
        min-height: 690px;
        align-items: flex-end;
        padding-top: 90px;
        padding-bottom: 130px;
    }
    .hero-content {
        width: 100%;
        max-width: 560px;
    }
    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(30,27,75,0.20) 0%,
                rgba(30,27,75,0.45) 28%,
                rgba(30,27,75,0.88) 58%,
                rgba(30,27,75,0.98) 100%
            );
    }
    .hero-image,
    .hero-slide-1 .hero-image {
        object-position: 65% center;
    }
    .hero-slide-2 .hero-image {
        object-position: 55% 26%;
    }
    .hero-eyebrow {
        font-size: 13px;
    }
    .hero-content h1 {
        font-size: clamp(38px, 11vw, 50px);
        max-width: 520px;
    }
    .hero-break {
        display: none;
    }
    .hero-description {
        font-size: 16px;
        line-height: 1.65;
    }
    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .hero-btn {
        width: 100%;
    }
    .hero-wave {
        height: 85px;
    }
}

@media (max-width: 390px) {
    .hero-content h1 {
        font-size: clamp(32px, 10vw, 42px);
    }
}

@media (max-width: 991.98px) {
    .approach-section {
        padding: 85px 0;
    }
    .approach-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        align-items: start;
    }
    .approach-intro {
        max-width: 680px;
        margin-bottom: 18px;
    }
    .approach-intro h2 br {
        display: none;
    }
    .approach-grid {
        margin-top: 15px;
    }
}

@media (max-width: 767.98px) {
    .approach-section {
        padding: 70px 0;
    }
    .approach-intro h2 {
        font-size: clamp(34px, 10vw, 44px);
    }
    .approach-intro > p {
        font-size: 16px;
    }
    .approach-promise {
        margin-top: 30px;
    }
    .approach-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .approach-card {
        min-height: auto;
        padding: 30px 26px;
    }
    .approach-card h3 {
        font-size: 22px;
    }
    .approach-icon {
        width: 58px;
        height: 58px;
        margin-bottom: 22px;
    }
    .approach-icon i {
        font-size: 25px;
    }
    .school-life-section {
        padding: 72px 0 105px;
    }
    .school-life-layout {
        gap: 38px;
    }
    .school-life-content h2 {
        font-size: clamp(36px, 10vw, 46px);
    }
    .school-life-intro {
        font-size: 16px;
    }
    .school-life-point {
        grid-template-columns: 54px 1fr;
        gap: 15px;
        padding: 18px 0;
    }
    .school-life-point-icon {
        width: 50px;
        height: 50px;
        border-radius: 10px;
    }
    .school-life-point-icon i {
        font-size: 22px;
    }
    .school-life-actions {
        align-items: stretch;
    }
    .school-life-btn {
        width: 100%;
    }
    .school-life-collage {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 340px 220px 240px;
        gap: 10px;
        min-height: auto;
    }
    .life-photo-large {
        grid-column: 1 / span 2;
        grid-row: 1;
    }
    .life-photo-graduation {
        grid-column: 1;
        grid-row: 2;
    }
    .life-photo-play {
        grid-column: 2;
        grid-row: 2;
    }
    .life-photo-group {
        grid-column: 1 / span 2;
        grid-row: 3;
    }
    .life-photo {
        border-radius: 10px;
    }
    .life-photo-caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
    }
    .life-photo-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
    .life-photo-caption strong {
        font-size: 14px;
    }
    .life-photo-caption span {
        font-size: 11px;
    }
}

@media (max-width: 420px) {
    .life-photo-graduation .life-photo-caption span,
    .life-photo-play .life-photo-caption span {
        display: none;
    }
    .life-photo-graduation .life-photo-icon,
    .life-photo-play .life-photo-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }
}

@media (max-width: 375px) {
    .approach-card {
        padding: 26px 22px;
    }
    .approach-promise {
        align-items: flex-start;
    }
    .approach-promise-icon {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
        font-size: 22px;
    }
}

@media (max-width: 991.98px) {
    .inner-hero {
        min-height: 390px;
    }
    .inner-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(30, 27, 75, 0.96) 0%,
                rgba(30, 27, 75, 0.90) 40%,
                rgba(30, 27, 75, 0.62) 65%,
                rgba(30, 27, 75, 0.20) 100%
            );
    }
    .inner-hero-content {
        max-width: 620px;
    }
}

@media (max-width: 767.98px) {
    .inner-hero {
        min-height: 360px;
    }
    .inner-hero-container {
        padding-top: 55px;
        padding-bottom: 55px;
    }
    .inner-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(30, 27, 75, 0.94) 0%,
                rgba(30, 27, 75, 0.86) 55%,
                rgba(30, 27, 75, 0.58) 100%
            );
    }
    .inner-hero-content {
        max-width: 100%;
    }
    .inner-hero-content h1 {
        font-size: clamp(36px, 10vw, 48px);
    }
    .inner-hero-content p {
        font-size: 16px;
        line-height: 1.65;
    }
}

@media (max-width: 375px) {
    .inner-hero {
        min-height: 340px;
    }
    .inner-hero-container {
        padding-top: 56px;
        padding-bottom: 56px;
    }
    .inner-hero-content h1 {
        font-size: clamp(32px, 11vw, 40px);
    }
    .inner-hero-eyebrow {
        font-size: 12px;
        letter-spacing: 0.16em;
    }
}

@media (max-width: 991.98px) {
    .core-values-watermark {
        width: 340px;
        right: -50px;
        top: -15px;
        opacity: 0.16;
    }
    .about-values-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 22px;
    }
    .about-value-item:nth-child(3) {
        border-right: 0;
    }
    .about-learning-grid,
    .about-leadership-grid {
        grid-template-columns: 1fr;
    }
    .about-learning-media {
        order: -1;
    }
    .about-learning-media img {
        height: 420px;
    }
    .about-community-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 36px;
    }
    .community-item:nth-child(2) {
        border-right: 0;
    }
}

@media (max-width: 767.98px) {
    .core-values-watermark {
        width: 230px;
        right: -75px;
        top: 20px;
        opacity: 0.10;
    }
    .about-values-section {
        padding: 32px 0 28px;
    }
    .about-learning-section,
    .about-community-section,
    .about-leadership-section {
        padding: 70px 0;
    }
    .about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-value-item,
    .about-value-item:not(:last-child) {
        padding: 0 12px;
        border-right: 0;
    }
    .about-value-item:nth-child(odd) {
        border-right: 1px solid rgba(232, 106, 158, 0.32);
    }
    .about-learning-features {
        grid-template-columns: 1fr;
    }
    .about-learning-media img {
        height: 320px;
    }
    .about-community-grid {
        grid-template-columns: 1fr 1fr;
    }
    .community-item,
    .community-item:not(:last-child) {
        padding: 18px 14px;
        border-right: 0;
    }
    .community-item:nth-child(odd) {
        border-right: 1px solid #DDDEE5;
    }
    .about-leadership-image img {
        height: 320px;
    }
    .about-closing-inner {
        flex-direction: column;
        align-items: stretch;
    }
    .about-closing-btn {
        width: 100%;
    }
}

@media (max-width: 389.98px) {
    .core-values-watermark {
        display: none;
    }
    .about-values-grid,
    .about-community-grid {
        grid-template-columns: 1fr;
    }
    .about-value-item,
    .about-value-item:not(:last-child),
    .about-value-item:nth-child(odd),
    .community-item,
    .community-item:not(:last-child),
    .community-item:nth-child(odd) {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 27, 75, 0.10);
    }
    .about-value-item:last-child,
    .community-item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 991.98px) {
    .academics-strengths-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .academic-strength-item,
    .academic-strength-item:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 27, 75, 0.10);
    }
    .academic-strength-item:last-child {
        border-bottom: 0;
    }
    .academics-approach-grid,
    .academics-journey-grid {
        grid-template-columns: 1fr;
    }
    .academics-approach-content h2 br,
    .academics-journey-content h2 br {
        display: none;
    }
    .academics-areas-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .academics-journey-content {
        padding: 34px 30px;
    }
}

@media (max-width: 767.98px) {
    .academics-intro-section,
    .academics-approach-section,
    .academics-areas-section,
    .academics-journey-section {
        padding: 70px 0;
    }
    .academics-strengths-section {
        padding: 8px 0 56px;
    }
    .academics-strengths-grid {
        grid-template-columns: 1fr;
    }
    .academics-areas-grid {
        grid-template-columns: 1fr 1fr;
    }
    .academics-approach-media img {
        height: 320px;
    }
    .academics-journey-media img {
        min-height: 300px;
    }
    .academics-cta-section {
        padding: 0 0 70px;
    }
    .academics-cta-inner {
        flex-direction: column;
        align-items: stretch;
    }
    .academics-cta-btn,
    .academics-journey-btn {
        width: 100%;
    }
}

@media (max-width: 389.98px) {
    .academics-areas-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .school-life-campus-grid,
    .school-life-spaces-grid,
    .school-life-moments-grid {
        grid-template-columns: 1fr;
    }
    .school-life-highlights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 24px;
    }
    .life-highlight-item,
    .life-highlight-item:not(:last-child) {
        border-right: 0;
    }
    .life-highlight-item:nth-child(odd) {
        border-right: 1px solid rgba(30, 27, 75, 0.10);
    }
    .school-life-spaces-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .school-life-campus-features {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .school-life-spaces-content {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .school-life-campus-section,
    .school-life-highlights-section,
    .school-life-spaces-section,
    .school-life-moments-section {
        padding-bottom: 60px;
    }
    .school-life-campus-section {
        padding-top: 65px;
    }
    .school-life-campus-features {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .campus-feature,
    .campus-feature:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 27, 75, 0.08);
        padding-bottom: 14px;
    }
    .campus-feature:last-child {
        border-bottom: 0;
    }
    .campus-collage {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 240px 140px;
    }
    .school-life-highlights-inner {
        padding: 28px 20px;
    }
    .school-life-highlights-grid {
        grid-template-columns: 1fr;
    }
    .life-highlight-item,
    .life-highlight-item:not(:last-child),
    .life-highlight-item:nth-child(odd) {
        border-right: 0;
        border-bottom: 1px solid rgba(30, 27, 75, 0.08);
        padding-bottom: 18px;
        margin-bottom: 18px;
    }
    .life-highlight-item:last-child {
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .school-life-spaces-cards {
        grid-template-columns: 1fr;
    }
    .school-life-moments-media {
        grid-template-columns: 1fr;
    }
    .moments-photo img {
        height: 230px;
    }
    .school-life-cta-section {
        padding: 0 0 70px;
    }
    .school-life-cta-inner {
        flex-direction: column;
        align-items: stretch;
    }
    .school-life-page-btn,
    .school-life-cta-btn {
        width: 100%;
    }
}

@media (min-width: 1400px) {
    :root { --max: 1320px; }
}
