/* =========================================
   PHILOSOPHY RESPONSIVE
========================================= */

@media (max-width: 768px) {

    .philosophy-section {
        padding: 90px 0;
    }

    .philosophy-header {
        margin-bottom: 45px;
    }

    .philosophy-title {
        font-size: clamp(2.2rem, 10vw, 3.4rem);
    }

    .philosophy-intro {
        font-size: 0.95rem;
        line-height: 1.75;
    }

    .philosophy-grid {
        grid-template-columns: 1fr;
        border-radius: var(--radius-lg);
    }

    .philosophy-card {
        min-height: 300px;
        padding: 32px;
    }

    .philosophy-icon {
        margin-bottom: 42px;
    }

    .card-line {
        left: 32px;
    }

    .philosophy-card:hover .card-line {
        width: calc(100% - 64px);
    }
}

@media (max-width: 480px) {

    .philosophy-section {
        padding: 75px 0;
    }

    .philosophy-card {
        min-height: 285px;
        padding: 28px;
    }

    .philosophy-card-number {
        top: 25px;
        right: 25px;
    }

    .philosophy-card h3 {
        font-size: 1.2rem;
    }

    .philosophy-card p {
        font-size: 0.9rem;
    }

    .card-line {
        left: 28px;
    }

    .philosophy-card:hover .card-line {
        width: calc(100% - 56px);
    }
}
/* =========================================
   STATS RESPONSIVE
========================================= */

@media (max-width: 1000px) {

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-item:nth-child(2) {
        border-right: none;
    }

    .stat-item:nth-child(3),
    .stat-item:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }
}

@media (max-width: 768px) {

    .stats-section {
        padding: 90px 0;
    }

    .stats-header {
        margin-bottom: 50px;
    }

    .stats-header h2 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .stat-item {
        min-height: 260px;
        padding: 35px 25px;
    }

    .stat-number {
        font-size: clamp(2.7rem, 9vw, 4rem);
    }

    .stat-label {
        margin-top: 25px;
    }

    .stat-item::after {
        left: 25px;
    }

    .stat-item:hover::after {
        width: calc(100% - 50px);
    }
}

@media (max-width: 520px) {

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-item,
    .stat-item:nth-child(3),
    .stat-item:nth-child(4) {
        min-height: 230px;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        border-right: none;
    }

    .stat-item:first-child {
        border-top: none;
    }

    .stat-item:first-child {
        border-left: 1px solid rgba(255, 255, 255, 0.15);
    }
}
/* =========================================
   LEVELS RESPONSIVE
========================================= */

@media (max-width: 1000px) {

    .levels-section {
        padding: 110px 0 130px;
    }

    .levels-heading {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 70px;
    }

    .levels-heading > p {
        max-width: 600px;
    }

    .growth-line-svg {
        display: none;
    }

    .growth-nodes {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .level-card {
        padding-top: 0;
        padding-left: 45px;
    }

    .level-node,
    .level-card:nth-child(2) .level-node,
    .level-card:nth-child(3) .level-node {
        top: 35px;
        left: 8px;
    }

    .level-card:nth-child(2) .level-content,
    .level-card:nth-child(2):hover .level-content {
        transform: none;
    }

    .level-content {
        min-height: 280px;
    }
}

@media (max-width: 768px) {

    .levels-section {
        padding: 90px 0 110px;
    }

    .levels-heading {
        margin-bottom: 55px;
    }

    .levels-heading h2 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .level-card {
        padding-left: 38px;
    }

    .level-node,
    .level-card:nth-child(2) .level-node,
    .level-card:nth-child(3) .level-node {
        left: 2px;
    }

    .level-content {
        padding: 30px;
    }
}

@media (max-width: 480px) {

    .levels-section {
        padding: 75px 0 90px;
    }

    .level-card {
        padding-left: 30px;
    }

    .level-node,
    .level-card:nth-child(2) .level-node,
    .level-card:nth-child(3) .level-node {
        left: -1px;
        width: 18px;
        height: 18px;
    }

    .level-node span {
        width: 5px;
        height: 5px;
    }

    .level-content {
        padding: 25px;
    }

    .level-content h3 {
        font-size: 1.45rem;
    }
}
/* =========================================
   CAMPUS RESPONSIVE
========================================= */

@media (max-width: 1050px) {

    .campus-bento {
        grid-template-columns: 1fr;
    }

    .campus-feature {
        min-height: 600px;
    }

    .campus-small-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    .campus-section {
        padding: 90px 0;
    }

    .campus-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 45px;
    }

    .campus-heading h2 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .campus-bento {
        min-height: auto;
    }

    .campus-feature {
        min-height: 550px;
        border-radius: var(--radius-lg);
    }

    .campus-feature-content {
        left: 30px;
        right: 30px;
        bottom: 35px;
    }

    .campus-corner-icon {
        top: 25px;
        right: 25px;
    }

    .campus-small-grid {
        grid-template-columns: 1fr;
    }

    .campus-card {
        min-height: 280px;
    }
}

@media (max-width: 480px) {

    .campus-section {
        padding: 75px 0;
    }

    .campus-feature {
        min-height: 480px;
    }

    .campus-feature-content {
        left: 24px;
        right: 24px;
        bottom: 28px;
    }

    .campus-feature-content h3 {
        font-size: 2.2rem;
    }

    .campus-card {
        padding: 28px;
    }

    .campus-card-icon {
        margin-bottom: 40px;
    }

    .campus-card-number {
        top: 30px;
        right: 28px;
    }

    .campus-card-line {
        left: 28px;
    }

    .campus-card:hover .campus-card-line {
        width: calc(100% - 56px);
    }
}
/* =========================================
   STUDENT LIFE RESPONSIVE
========================================= */

@media (max-width: 768px) {

    .student-life-section {
        padding: 90px 0 75px;
    }

    .student-life-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 45px;
    }

    .student-life-heading h2 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .student-life-track {
        gap: 12px;
        padding-left: 5%;
    }

    .life-card {
        width: 310px;
        height: 430px;
        border-radius: var(--radius-md);
    }

    .life-card-content {
        right: 24px;
        bottom: 24px;
        left: 24px;
    }

    .student-life-controls {
        margin-top: 30px;
    }
}

@media (max-width: 480px) {

    .student-life-section {
        padding: 75px 0 65px;
    }

    .life-card {
        width: 280px;
        height: 400px;
    }

    .life-card-content h3 {
        font-size: 1.4rem;
    }

    .life-scroll-button {
        width: 46px;
        height: 46px;
    }
}
/* =========================================
   NEWS RESPONSIVE
========================================= */

@media (max-width: 950px) {

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-feature {
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {

    .news-section {
        padding: 90px 0;
    }

    .news-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 45px;
    }

    .news-heading h2 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .news-image {
        height: 300px;
    }

    .news-feature-content {
        padding: 30px;
    }

    .news-item {
        grid-template-columns: 62px 1fr;
        gap: 18px;
    }

    .news-item-date {
        width: 58px;
        height: 58px;
    }

    .news-item-content {
        padding-right: 40px;
    }
}

@media (max-width: 480px) {

    .news-section {
        padding: 75px 0;
    }

    .news-image {
        height: 250px;
    }

    .news-feature-content {
        padding: 25px;
    }

    .news-feature-content h3 {
        font-size: 1.4rem;
    }

    .news-item {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 25px 0;
    }

    .news-item-date {
        width: 58px;
    }

    .news-item-content {
        padding-right: 42px;
    }
}
/* =========================================================
   ADMISSIONS CTA — RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .admissions-cta {
        padding: 100px 0;
    }

    .admissions-cta-title {
        font-size: clamp(2.8rem, 13vw, 4.8rem);
        line-height: 0.98;
    }

    .admissions-cta-text {
        margin-top: var(--space-6);
        font-size: 0.98rem;
    }

    .admissions-cta-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: var(--space-8);
    }

    .admissions-cta-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .admissions-cta-details {
        flex-direction: column;
        gap: 24px;
        margin-top: 55px;
    }

    .admissions-cta-mark {
        display: none;
    }
}

@media (max-width: 480px) {

    .admissions-cta {
        padding: 80px 0;
    }

    .admissions-cta-title {
        font-size: 2.65rem;
    }

    .admissions-cta-details {
        gap: 20px;
    }

    .admissions-detail strong {
        font-size: 0.82rem;
    }

    .admissions-cta::before {
        width: 450px;
        height: 450px;
        right: -250px;
        top: -220px;
    }
}
/* =========================================================
   FOOTER — RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .footer-top {
        grid-template-columns: 1.4fr 1fr 1fr;
        gap: 50px;
    }

    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-newsletter {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-newsletter-form {
        width: 100%;
        max-width: 600px;
    }
}

@media (max-width: 768px) {

    .footer-main {
        padding-top: 75px;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 50px 30px;
        padding-bottom: 60px;
    }

    .footer-brand {
        grid-column: 1 / -1;
        max-width: 100%;
    }

    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-newsletter {
        gap: 30px;
        padding: 50px 0;
    }

    .footer-newsletter-form {
        flex-direction: column;
        padding: 7px;
        border-radius: 18px;
    }

    .footer-newsletter-form input {
        padding: 14px;
    }

    .footer-newsletter-btn {
        justify-content: center;
    }

    .footer-bottom {
        grid-template-columns: 1fr auto;
        gap: 20px;
        padding: 25px 0;
    }

    .footer-bottom-links {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .back-to-top {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 480px) {

    .footer-top {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }

    .footer-logo {
        width: 165px;
    }

    .footer-newsletter-form {
        max-width: 100%;
    }

    .footer-bottom {
        grid-template-columns: 1fr auto;
    }

    .footer-bottom p {
        max-width: 220px;
        line-height: 1.6;
    }
}
/* =========================================================
   GLOBAL INTERACTIONS — RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .custom-cursor,
    .custom-cursor-dot {
        display: none;
    }

    .scroll-progress {
        height: 2px;
    }

    .reveal-up,
    .reveal-left,
    .reveal-right,
    .reveal-scale {
        transform: translateY(25px);
    }
}
/* =========================================================
   ABOUT PAGE — RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .inner-page-hero {
        min-height: 580px;
    }

    .about-intro-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .about-approach-grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-mission-grid {
        grid-template-columns: 1fr;
    }

    .mission-card {
        min-height: 430px;
    }

    .mission-card h2 {
        margin-top: 75px;
    }

    .about-page-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 768px) {

    .inner-page-hero {
        min-height: 560px;
    }

    .inner-page-hero .container {
        padding-top: 150px;
        padding-bottom: 65px;
    }

    .inner-page-hero-content h1 {
        font-size: clamp(3rem, 12vw, 5rem);
    }

    .inner-page-hero-content p {
        font-size: 0.95rem;
    }

    .inner-page-hero-meta {
        display: none;
    }

    .about-intro,
    .about-approach,
    .about-mission,
    .about-values {
        padding: 90px 0;
    }

    .about-approach-grid {
        grid-template-columns: 1fr;
        margin-top: 50px;
    }

    .about-approach-card {
        min-height: 280px;
        padding: 35px;
    }

    .about-approach-card h3 {
        margin-top: 38px;
    }

    .mission-card {
        min-height: auto;
        padding: 38px;
    }

    .mission-card h2 {
        margin-top: 70px;
    }

    .about-values-list {
        margin-top: 50px;
    }

    .value-row {
        grid-template-columns: 45px 1fr;
        gap: 15px;
        padding: 25px 5px;
    }

    .value-row p {
        grid-column: 2;
    }

    .about-page-cta {
        padding: 70px 0;
    }

    .about-page-cta-inner {
        padding: 40px 30px;
    }

    .about-page-cta-actions {
        width: 100%;
    }

    .about-page-cta-actions .btn {
        flex: 1;
        justify-content: center;
    }
}


@media (max-width: 480px) {

    .inner-page-hero {
        min-height: 510px;
    }

    .inner-page-hero-content h1 {
        font-size: 2.9rem;
    }

    .about-lead {
        font-size: 1.12rem;
    }

    .about-approach-card {
        padding: 30px;
    }

    .mission-card {
        padding: 30px;
    }

    .mission-card h2 {
        margin-top: 60px;
        font-size: 2rem;
    }

    .about-page-cta-actions {
        flex-direction: column;
    }

    .about-page-cta-actions .btn {
        width: 100%;
    }
}
/* =========================================================
   ACADEMICS PAGE — RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .academics-intro-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .academic-level-grid {
        grid-template-columns: 1fr 1fr;
    }

    .academic-level-card:last-child {
        grid-column: 1 / -1;
        max-width: calc(50% - 9px);
        width: 100%;
        justify-self: center;
    }

    .academic-principles-grid {
        grid-template-columns: 1fr 1fr;
    }

    .academic-growth-line {
        height: 250px;
    }

    .academic-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 768px) {

    .academics-intro,
    .academic-levels,
    .academic-principles,
    .academic-growth {
        padding: 90px 0;
    }

    .academic-level-grid {
        grid-template-columns: 1fr;
        margin-top: 50px;
    }

    .academic-level-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .academic-level-image {
        height: 300px;
    }

    .academic-level-content p {
        min-height: auto;
    }

    .academic-principles-grid {
        grid-template-columns: 1fr;
        margin-top: 50px;
    }

    .academic-principle {
        min-height: 280px;
    }

    .academic-principle h3 {
        margin-top: 50px;
    }

    .academic-growth-line {
        height: auto;
        margin-top: 50px;
        padding-left: 45px;
    }

    .academic-growth-line svg {
        top: 0;
        left: 17px;
        width: 2px;
        height: 100%;
    }

    .academic-growth-base,
    .academic-growth-progress {
        d: path("M 1 0 L 1 1000");
    }

    .academic-growth-points {
        position: static;
        display: grid;
        gap: 45px;
    }

    .academic-growth-point {
        width: auto;
        min-height: 85px;
        padding: 0 0 0 30px;
        text-align: left;
    }

    .academic-growth-point::before {
        top: 5px;
        left: -28px;
        transform: none;
    }

    .academic-growth-point strong {
        margin-top: 5px;
    }

    .academic-cta {
        padding: 70px 0;
    }

    .academic-cta-inner {
        padding: 40px 30px;
    }

    .academic-cta-actions {
        width: 100%;
    }

    .academic-cta-actions .btn {
        flex: 1;
        justify-content: center;
    }
}


@media (max-width: 480px) {

    .academic-level-image {
        height: 260px;
    }

    .academic-level-content {
        padding: 30px;
    }

    .academic-principle {
        min-height: 260px;
        padding: 30px;
    }

    .academic-cta-actions {
        flex-direction: column;
    }

    .academic-cta-actions .btn {
        width: 100%;
    }
}
/* =========================================================
   NURSERY PAGE RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .nursery-intro-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .nursery-intro-copy {
        padding-top: 0;
        max-width: 800px;
    }

    .nursery-development-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nursery-approach-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .nursery-approach-image {
        min-height: 550px;
    }

    .nursery-approach-image img {
        min-height: 550px;
    }

    .footer-main {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .footer-column:last-child {
        grid-column: 2 / 4;
    }
}


@media (max-width: 768px) {

    .academic-level-hero {
        min-height: 820px;
    }

    .academic-level-hero-content {
        padding: 150px 0 100px;
    }

    .academic-level-hero h1 {
        font-size: clamp(2.8rem, 12vw, 5rem);
    }

    .academic-level-hero-content > p {
        font-size: .96rem;
    }

    .academic-level-hero-bottom {
        display: none;
    }

    .nursery-intro-section,
    .nursery-development-section,
    .nursery-approach-section,
    .nursery-journey-section,
    .academic-level-cta {
        padding: 90px 0;
    }

    .nursery-intro-heading h2,
    .nursery-development-heading h2,
    .nursery-journey-heading h2,
    .nursery-approach-content h2 {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    .nursery-development-grid {
        grid-template-columns: 1fr;
    }

    .nursery-development-card {
        min-height: 340px;
    }

    .nursery-approach-image {
        min-height: 470px;
    }

    .nursery-approach-image img {
        min-height: 470px;
    }

    .nursery-journey-grid {
        grid-template-columns: 1fr;
    }

    .journey-card {
        min-height: 300px;
    }

    .journey-age {
        margin-top: 50px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 45px 30px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-column:last-child {
        grid-column: auto;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}


@media (max-width: 480px) {

    .academic-level-hero-content {
        padding: 130px 0 80px;
    }

    .academic-level-hero h1 {
        font-size: 2.7rem;
    }

    .hero-buttons,
    .cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .btn {
        width: 100%;
    }

    .nursery-development-card {
        padding: 28px;
    }

    .nursery-development-card h3 {
        font-size: 1.2rem;
    }

    .nursery-approach-image,
    .nursery-approach-image img {
        min-height: 400px;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-column:last-child {
        grid-column: auto;
    }
}
/* =========================================================
   PRIMARY PAGE RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .primary-intro-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .primary-intro-copy {
        padding-top: 0;
        max-width: 800px;
    }

    .primary-foundation-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .primary-learning-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .primary-learning-image {
        min-height: 550px;
    }

    .primary-learning-image img {
        height: 550px;
    }

    .primary-growth-path {
        grid-template-columns: repeat(2, 1fr);
        gap: 55px 20px;
    }

    .primary-growth-line {
        display: none;
    }
}


@media (max-width: 768px) {

    .primary-intro-section,
    .primary-foundation-section,
    .primary-learning-section,
    .primary-growth-section {
        padding: 90px 0;
    }

    .primary-intro-heading h2,
    .primary-foundation-heading h2,
    .primary-learning-content h2,
    .primary-growth-heading h2 {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    .primary-foundation-grid {
        grid-template-columns: 1fr;
    }

    .primary-foundation-card {
        min-height: 340px;
    }

    .primary-learning-image,
    .primary-learning-image img {
        min-height: 470px;
        height: 470px;
    }

    .primary-growth-path {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .primary-growth-card {
        padding: 0 10px;
    }
}


@media (max-width: 480px) {

    .primary-foundation-card {
        padding: 28px;
    }

    .primary-foundation-card h3 {
        margin-top: 65px;
        font-size: 1.2rem;
    }

    .primary-learning-image,
    .primary-learning-image img {
        min-height: 400px;
        height: 400px;
    }

    .primary-learning-caption {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }
}
/* =========================================================
   SECONDARY PAGE RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .secondary-intro-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .secondary-intro-copy {
        padding-top: 0;
        max-width: 800px;
    }

    .secondary-pathways-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .secondary-experience-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .secondary-experience-image {
        min-height: 550px;
    }

    .secondary-experience-image img {
        height: 550px;
    }

    .secondary-future-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .secondary-journey {
        grid-template-columns: repeat(2, 1fr);
        gap: 55px 20px;
    }

    .secondary-journey-line {
        display: none;
    }
}


@media (max-width: 768px) {

    .secondary-intro-section,
    .secondary-pathways-section,
    .secondary-experience-section,
    .secondary-future-section,
    .secondary-journey-section {
        padding: 90px 0;
    }

    .secondary-intro-heading h2,
    .secondary-pathways-heading h2,
    .secondary-experience-content h2,
    .secondary-future-heading h2,
    .secondary-journey-heading h2 {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    .secondary-pathways-grid {
        grid-template-columns: 1fr;
    }

    .secondary-pathway-card {
        min-height: 340px;
    }

    .secondary-experience-image,
    .secondary-experience-image img {
        min-height: 470px;
        height: 470px;
    }

    .secondary-future-grid {
        grid-template-columns: 1fr;
    }

    .secondary-future-section .future-card {
        min-height: 290px;
    }

    .secondary-journey {
        grid-template-columns: 1fr;
        gap: 50px;
    }
}


@media (max-width: 480px) {

    .secondary-pathway-card {
        padding: 28px;
    }

    .secondary-pathway-card h3 {
        margin-top: 65px;
        font-size: 1.2rem;
    }

    .secondary-experience-image,
    .secondary-experience-image img {
        min-height: 400px;
        height: 400px;
    }

    .secondary-experience-caption {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }

    .future-card {
        padding: 28px;
    }

    .future-card h3 {
        margin-top: 65px;
    }
}
/* =========================================================
   ADMISSIONS RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .admissions-intro-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .admissions-intro-copy {
        padding-top: 0;
        max-width: 800px;
    }

    .admission-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .admission-levels-grid {
        grid-template-columns: 1fr;
    }

    .admission-level-card {
        min-height: 350px;
    }

    .admission-requirements-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .admission-requirements-image {
        max-width: 800px;
    }
}


@media (max-width: 768px) {

    .admissions-intro-section,
    .admission-process-section,
    .admission-levels-section,
    .admission-requirements-section,
    .admission-enquiry-section {
        padding: 90px 0;
    }

    .admissions-page-hero {
        min-height: 680px;
    }

    .admission-process-grid {
        grid-template-columns: 1fr;
    }

    .admission-step {
        min-height: auto;
    }

    .admission-step-icon {
        margin-top: 38px;
    }

    .admission-level-card {
        min-height: 360px;
        padding: 30px;
    }

    .admission-level-card h3 {
        margin-top: 55px;
    }

    .admission-level-card .text-link {
        left: 30px;
        bottom: 30px;
    }

    .admission-requirements-image,
    .admission-requirements-image img {
        min-height: 520px;
    }

    .admission-requirements-caption {
        left: 28px;
        right: 28px;
        bottom: 28px;
    }

    .admission-enquiry-actions {
        flex-direction: column;
        align-items: stretch;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }

    .admission-enquiry-actions .btn {
        width: 100%;
    }

    .admission-enquiry-workspace {
        grid-template-columns: 1fr;
    }

    .enquiry-modes {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-right: 0;
        border-bottom: 1px solid rgba(201, 206, 214, 0.14);
    }

    .enquiry-mode-note {
        grid-column: 1 / -1;
        margin-top: 8px;
    }
}


@media (max-width: 480px) {

    .admissions-intro-section,
    .admission-process-section,
    .admission-levels-section,
    .admission-requirements-section,
    .admission-enquiry-section {
        padding: 75px 0;
    }

    .admission-step {
        padding: 30px 24px;
    }

    .admission-level-card {
        min-height: 380px;
        padding: 26px;
    }

    .admission-level-card .text-link {
        left: 26px;
    }

    .admission-requirements-image,
    .admission-requirements-image img {
        min-height: 450px;
    }

    .requirement-item {
        align-items: flex-start;
    }

    .enquiry-modes {
        display: flex;
        padding: 18px;
    }

    .enquiry-mode {
        padding: 16px 12px;
    }

    .enquiry-form-panel {
        padding: 38px 22px;
    }

    .enquiry-fields {
        grid-template-columns: 1fr;
    }

    .form-field-wide {
        grid-column: auto;
    }

    .enquiry-review-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
}
@media (max-width: 1100px) {

    .student-life-intro-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .student-life-intro-copy {
        padding-top: 0;
    }

    .student-experience-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 420px;
    }

    .student-experience-card.experience-large {
        grid-column: span 2;
        grid-row: span 1;
    }

    .student-experience-card.experience-wide {
        grid-column: span 2;
    }

    .student-pillars-grid {
        grid-template-columns: 1fr;
        gap: 70px;
    }

    .activities-grid {
        grid-template-columns: 1fr 1fr;
    }
}


@media (max-width: 768px) {

    .student-life-intro-section,
    .student-experience-section,
    .student-pillars-section,
    .activities-section,
    .student-life-cta-section {
        padding: 90px 0;
    }

    .student-experience-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 420px;
    }

    .student-experience-card.experience-large,
    .student-experience-card.experience-wide {
        grid-column: span 1;
    }

    .student-pillars-grid {
        gap: 55px;
    }

    .activities-grid {
        grid-template-columns: 1fr;
    }

    .activity-card {
        min-height: 300px;
    }

    .activity-icon {
        margin-top: 55px;
    }

    .student-life-cta-actions {
        flex-direction: column;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }

    .student-life-cta-actions .btn {
        width: 100%;
    }
}


@media (max-width: 480px) {

    .student-life-intro-section,
    .student-experience-section,
    .student-pillars-section,
    .activities-section,
    .student-life-cta-section {
        padding: 75px 0;
    }

    .student-experience-grid {
        grid-auto-rows: 390px;
    }

    .experience-content {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .student-pillar {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .activity-card {
        padding: 25px;
    }
}
@media (max-width: 1100px) {

    .campus-overview-grid {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .campus-overview-image {
        max-width: 850px;
    }

    .facilities-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 390px;
    }

    .facility-card.facility-featured {
        grid-column: span 2;
        grid-row: span 1;
    }

    .campus-principles-grid {
        grid-template-columns: 1fr;
        gap: 70px;
    }

    .campus-gallery-track {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 768px) {

    .campus-overview-section,
    .facilities-section,
    .campus-principles-section,
    .campus-visit-section {
        padding: 90px 0;
    }

    .campus-gallery-section {
        padding-top: 90px;
    }

    .campus-overview-image,
    .campus-overview-image img {
        min-height: 520px;
    }

    .facilities-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 390px;
    }

    .facility-card.facility-featured {
        grid-column: span 1;
    }

    .campus-gallery-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .campus-gallery-track {
        grid-template-columns: 1fr;
    }

    .campus-gallery-item {
        height: 400px;
    }

    .campus-visit-actions {
        flex-direction: column;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }

    .campus-visit-actions .btn {
        width: 100%;
    }
}


@media (max-width: 480px) {

    .campus-overview-section,
    .facilities-section,
    .campus-principles-section,
    .campus-gallery-section,
    .campus-visit-section {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .campus-overview-image,
    .campus-overview-image img {
        min-height: 450px;
    }

    .campus-overview-badge {
        left: 25px;
        right: 25px;
        bottom: 25px;
    }

    .facility-card {
        min-height: 350px;
    }

    .facility-content {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .campus-principle {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .campus-gallery-item {
        height: 340px;
    }
}
/* =========================================================
   GALLERY RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .gallery-intro {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .gallery-intro-label {
        margin-bottom: 10px;
    }

    .gallery-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .gallery-filters {
        justify-content: flex-start;
    }

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 260px;
    }

    .gallery-item-large {
        grid-column: span 2;
        grid-row: span 2;
    }

    .gallery-item-wide {
        grid-column: span 2;
    }

}


@media (max-width: 768px) {

    /* Hero */

    .gallery-page-hero {
        min-height: 65vh;
    }

    .gallery-hero-mosaic {
        inset: -8% -24%;
        grid-template-columns: repeat(5, minmax(125px, 1fr));
        gap: 10px;
    }

    .gallery-hero-column:nth-child(6),
    .gallery-hero-column:nth-child(7) {
        display: none;
    }

    .inner-page-hero-content {
        padding: 130px 0 80px;
    }

    .inner-page-hero-content h1 {
        font-size: clamp(2.8rem, 12vw, 4.5rem);
        letter-spacing: -.05em;
    }

    .inner-page-hero-content p {
        margin-top: 22px;
        font-size: .95rem;
        line-height: 1.7;
    }


    /* Intro */

    .gallery-intro-section {
        padding: 90px 0 65px;
    }

    .gallery-intro {
        gap: 20px;
    }

    .gallery-intro-content h2 {
        font-size: clamp(2.3rem, 10vw, 4rem);
    }

    .gallery-intro-content p {
        margin-top: 22px;
        font-size: .95rem;
        line-height: 1.75;
    }


    /* Gallery */

    .gallery-section {
        padding: 65px 0 90px;
    }

    .gallery-toolbar {
        margin-bottom: 35px;
    }

    .gallery-toolbar-heading h2 {
        font-size: clamp(2.2rem, 9vw, 3.5rem);
    }

    .gallery-filters {
        width: 100%;

        display: flex;
        flex-wrap: nowrap;

        overflow-x: auto;

        padding-bottom: 5px;

        scrollbar-width: none;
    }

    .gallery-filters::-webkit-scrollbar {
        display: none;
    }

    .gallery-filter {
        flex: 0 0 auto;
        padding: 10px 16px;
    }


    /* Grid */

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 220px;
        gap: 12px;
    }

    .gallery-item-large {
        grid-column: span 2;
        grid-row: span 2;
    }

    .gallery-item-tall {
        grid-row: span 2;
    }

    .gallery-item-wide {
        grid-column: span 2;
    }

    .gallery-image-button {
        border-radius: 15px;
    }

    .gallery-image-overlay {
        padding: 18px;
    }

    .gallery-image-info strong {
        font-size: .85rem;
    }

    .gallery-view-icon {
        width: 40px;
        height: 40px;
    }

    .gallery-image-overlay {
        opacity: 1;
        background:
            linear-gradient(
                0deg,
                rgba(3, 23, 13, .8),
                transparent 65%
            );
    }

    .gallery-image-info {
        transform: translateY(0);
    }

    .gallery-view-icon {
        transform: translateY(0);
    }


    /* Statement */

    .gallery-statement-section {
        padding: 100px 0;
    }

    .gallery-statement h2 {
        font-size: clamp(2.5rem, 10vw, 4.5rem);
    }

    .gallery-statement p {
        font-size: .95rem;
        line-height: 1.75;
    }

    .gallery-statement-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .gallery-statement-actions .btn {
        width: 100%;
    }


    /* Lightbox */

    .gallery-lightbox {
        padding: 18px;
    }

    .gallery-lightbox-content {
        max-height: calc(100vh - 36px);
    }

    .gallery-lightbox-image-wrap {
        max-height: calc(100vh - 150px);
    }

    .gallery-lightbox-image-wrap img {
        max-height: calc(100vh - 150px);
    }

    .gallery-lightbox-close {
        top: -12px;
        right: -8px;

        width: 44px;
        height: 44px;
    }

}


@media (max-width: 480px) {

    .gallery-page-hero {
        min-height: 60vh;
    }

    .inner-page-hero-content {
        padding: 120px 0 65px;
    }

    .inner-page-hero-content h1 {
        font-size: 2.7rem;
    }


    .gallery-intro-section {
        padding: 75px 0 50px;
    }

    .gallery-section {
        padding: 50px 0 75px;
    }


    .gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 300px;
    }

    .gallery-item-large,
    .gallery-item-wide {
        grid-column: span 1;
        grid-row: span 1;
    }

    .gallery-item-tall {
        grid-row: span 1;
    }


    .gallery-image-info strong {
        font-size: .9rem;
    }


    .gallery-statement-section {
        padding: 80px 0;
    }


    .gallery-lightbox {
        padding: 12px;
    }

    .gallery-lightbox-image-wrap {
        max-height: calc(100vh - 135px);
    }

    .gallery-lightbox-image-wrap img {
        max-height: calc(100vh - 135px);
    }

    .gallery-lightbox-caption h3 {
        font-size: 1rem;
    }

}
/* =========================================================
   NEWS & EVENTS RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .news-featured-page-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .news-featured-page-image {
        height: 520px;
    }

    .news-featured-page-content {
        max-width: 800px;
    }

    .news-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .upcoming-events-heading {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .news-subscribe {
        grid-template-columns: 1fr;
        gap: 45px;
    }

}


@media (max-width: 768px) {

    /* Hero */

    .news-page-hero {
        min-height: 65vh;
    }


    /* Featured */

    .news-featured-page-section {
        padding: 90px 0;
    }

    .news-featured-page-image {
        height: 430px;
        border-radius: var(--radius-lg);
    }

    .news-featured-page-content h2 {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    .news-featured-page-content > p {
        font-size: .94rem;
        line-height: 1.75;
    }


    /* Archive */

    .news-archive-section {
        padding: 85px 0 95px;
    }

    .news-archive-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;

        margin-bottom: 40px;
    }

    .news-filters {
        width: 100%;

        flex-wrap: nowrap;
        overflow-x: auto;

        padding-bottom: 5px;

        scrollbar-width: none;
    }

    .news-filters::-webkit-scrollbar {
        display: none;
    }

    .news-filter {
        flex: 0 0 auto;
    }

    .news-archive-grid {
        grid-template-columns: 1fr;
    }

    .news-card-image {
        height: 280px;
    }


    /* Events */

    .upcoming-events-section {
        padding: 90px 0;
    }

    .upcoming-events-heading {
        margin-bottom: 50px;
    }

    .events-timeline::before {
        left: 29px;
    }

    .event-timeline-item {
        grid-template-columns: 58px 1px 1fr;
        gap: 20px;
        padding-bottom: 55px;
    }

    .event-date-large strong {
        font-size: 1.9rem;
    }

    .event-date-large span {
        font-size: .6rem;
    }

    .event-timeline-content {
        padding-left: 0;
    }

    .event-timeline-content h3 {
        font-size: 1.35rem;
    }

    .event-timeline-content > p {
        font-size: .86rem;
    }

    .event-details {
        flex-direction: column;
        gap: 10px;
    }


    /* Subscribe */

    .news-subscribe-section {
        padding: 90px 0;
    }

    .news-subscribe-content h2 {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

}


@media (max-width: 480px) {

    .news-featured-page-section {
        padding: 70px 0;
    }

    .news-featured-page-image {
        height: 340px;
    }

    .news-featured-page-tag {
        top: 15px;
        left: 15px;
    }

    .news-featured-page-arrow {
        right: 18px;
        bottom: 18px;

        width: 48px;
        height: 48px;
    }

    .news-meta {
        font-size: .62rem;
    }

    .news-featured-page-content h2 {
        font-size: 2.45rem;
    }


    .news-archive-section {
        padding: 70px 0 80px;
    }

    .news-card-image {
        height: 230px;
    }

    .news-card-content {
        grid-template-columns: 48px 1fr;
        gap: 13px;
        padding: 20px;
    }

    .news-card-date {
        width: 48px;
        height: 58px;
    }

    .news-card-date strong {
        font-size: 1.1rem;
    }

    .news-card-body h3 {
        font-size: 1.05rem;
    }

    .news-card-body p {
        font-size: .8rem;
    }


    .upcoming-events-section {
        padding: 75px 0;
    }

    .events-timeline::before {
        left: 24px;
    }

    .event-timeline-item {
        grid-template-columns: 48px 1px 1fr;
        gap: 15px;
    }

    .event-date-large strong {
        font-size: 1.5rem;
    }

    .event-timeline-content h3 {
        font-size: 1.15rem;
    }

    .event-timeline-content > p {
        font-size: .8rem;
    }


    .news-subscribe-section {
        padding: 75px 0;
    }

    .news-subscribe-content h2 {
        font-size: 2.5rem;
    }

    .news-subscribe-input-wrap {
        min-height: 56px;
    }

    .news-subscribe-input-wrap button {
        width: 44px;
        height: 44px;
    }

}
/* =========================================================
   CONTACT PAGE RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .contact-intro-section {
        padding: 100px 0;
    }

    .contact-intro-grid {
        grid-template-columns: 1fr 220px;
        gap: 60px;
    }

    .contact-intro-mark {
        width: 210px;
        height: 210px;
    }

    .contact-intro-mark span {
        font-size: 3.2rem;
    }

    .contact-main-grid {
        grid-template-columns: 1fr;
    }

    .contact-info-panel {
        padding: 60px;
    }

    .contact-form-panel {
        padding: 60px;
    }

    .contact-location-section {
        padding: 100px 0;
    }

    .contact-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 768px) {

    .contact-intro-section {
        padding: 80px 0;
    }

    .contact-intro-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .contact-intro-mark {
        margin: 0;
        width: 170px;
        height: 170px;
    }

    .contact-intro-mark span {
        font-size: 2.5rem;
    }

    .contact-main-section {
        padding-bottom: 90px;
    }

    .contact-info-panel,
    .contact-form-panel {
        padding: 45px 30px;
    }

    .contact-info-list {
        margin-top: 35px;
    }

    .contact-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .contact-location-section {
        padding: 80px 0;
    }

    .contact-location-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-map-card {
        min-height: 360px;
    }

    .contact-map-marker {
        min-width: 0;
        width: calc(100% - 40px);
        max-width: 390px;
    }

    .contact-cta-section {
        padding: 80px 0;
    }

    .contact-cta-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .contact-cta-actions .btn {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 480px) {

    .contact-intro-section {
        padding: 65px 0;
    }

    .contact-intro-content h2 {
        font-size: 2.35rem;
    }

    .contact-info-panel,
    .contact-form-panel {
        padding: 38px 22px;
    }

    .contact-info-item {
        align-items: flex-start;
    }

    .contact-info-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .contact-info-item strong,
    .contact-info-item a {
        font-size: 0.9rem;
        overflow-wrap: anywhere;
    }

    .contact-form {
        margin-top: 35px;
    }

    .contact-location-section {
        padding: 65px 0;
    }

    .contact-map-card {
        min-height: 300px;
    }

    .contact-map-marker {
        gap: 12px;
        padding: 16px;
    }

    .contact-map-marker-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .contact-map-marker span {
        font-size: 0.55rem;
    }

    .contact-map-marker strong {
        font-size: 0.82rem;
    }

    .contact-cta-section {
        padding: 65px 0;
    }

}
/* =========================================================
   GALLERY LIGHTBOX RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .gallery-lightbox {
        padding: 15px;
    }

    .gallery-lightbox-dialog {
        width: 100%;
        height: 90vh;
    }

    .gallery-lightbox-image {
        max-width: 92%;
        max-height: 78%;
        border-radius: var(--radius-sm);
    }

    .gallery-lightbox-close,
    .gallery-lightbox-prev,
    .gallery-lightbox-next {
        width: 44px;
        height: 44px;
    }

    .gallery-lightbox-close {
        top: 5px;
        right: 5px;
    }

    .gallery-lightbox-prev {
        left: 5px;
    }

    .gallery-lightbox-next {
        right: 5px;
    }

}


@media (max-width: 480px) {

    .gallery-lightbox-image {
        max-width: 88%;
        max-height: 72%;
    }

    .gallery-lightbox-close,
    .gallery-lightbox-prev,
    .gallery-lightbox-next {
        width: 40px;
        height: 40px;
    }

    .gallery-lightbox-close svg,
    .gallery-lightbox-prev svg,
    .gallery-lightbox-next svg {
        width: 17px;
        height: 17px;
    }

}
@media (max-width: 900px) {

    .article-hero {
        min-height: 500px;
        padding: 140px 0 60px;
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .article-sidebar {
        position: static;
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 600px) {

    .article-hero {
        min-height: 460px;
        padding: 125px 0 50px;
    }

    .article-meta {
        flex-wrap: wrap;
    }

    .article-section {
        padding: 65px 0;
    }

    .article-featured-image {
        margin-bottom: 35px;
    }

    .article-body {
        font-size: 1rem;
        line-height: 1.8;
    }

    .article-sidebar {
        grid-template-columns: 1fr;
    }

    .article-share {
        align-items: flex-start;
        flex-direction: column;
    }

    .article-share-links {
        width: 100%;
    }

    .article-share-links a,
    .article-share-links button {
        flex: 1;
        text-align: center;
    }

}