/* =========================================================
   SMALL PHONES
   max-width: 480px
   ========================================================= */

@media (max-width: 480px) {


    /* LAYOUT*/

    /* =========================================
   SMALL PHONE
   320px - 480px
========================================= */

    /* =========================
       HEADER
    ========================= */

    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }

    .navbar {
        width: 100%;
    }

    .navbar .container {
        width: 100%;
        max-width: none;

        margin: 0;
        padding: .85rem 1rem;

        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .logo {
        margin-left: 0;
        flex-shrink: 0;
    }

    .logo img {
        width: 195px;
        height: auto;
        display: block;
    }

    /* MOBILE MENU */


    /* MENU TOGGLE ABOVE MENU */

    .menu-toggle {
        position: relative;
        z-index: 1001;
    }


    /* =========================
       BUTTONS
    ========================= */

    .btn-nav {
        min-height: 46px;

        padding: .8rem 1.25rem;

        font-size: .78rem;

        gap: .55rem;
    }

    .btn-secondary {
        min-height: 46px;

        padding: .8rem 1.25rem;

        font-size: .78rem;
    }


    /* =========================
       GENERAL SECTIONS
    ========================= */

    .section-subtitle {
        margin-bottom: .6rem;

        font-size: .75rem;

        letter-spacing: .1em;
    }

    .section-divider {
        width: 38px;
        height: 2px;

        margin-top: .85rem;
    }


    /* =========================
       FOOTER
    ========================= */

    .footer {
        padding: 4rem 0 1.5rem;

        margin-top: 3rem;
    }

    .footer-container {
        display: grid;

        grid-template-columns: 1fr;

        gap: 2.5rem;

        padding: 0 1.25rem 2rem;

        border-bottom: 1px solid rgba(255,255,255,.08);
    }


    /* FOOTER LOGO */

    .footer-logo {
        text-align: center;
    }

    .footer-logo img {
        width: 200px;
        max-width: 100%;
        height: auto;

        margin: 0 auto 1rem;
    }


    /* FOOTER TEXT */

    .footer-text {
        max-width: 100%;

        margin: 0 auto 1.5rem;

        color: rgba(255,255,255,.72);

        font-size: .9rem;

        line-height: 1.7;

        text-align: center;
    }


    /* SOCIAL */

    .footer-social {
        justify-content: center;

        gap: .75rem;
    }

    .footer-social a {
        width: 40px;
        height: 40px;

        font-size: .9rem;
    }


    /* FOOTER COLUMNS */

    .footer-title {
        margin-bottom: 1rem;

        font-size: 1.1rem;

        text-align: center;
    }

    .footer-links,
    .footer-contact {
        text-align: center;
    }

    .footer-links li,
    .footer-contact li {
        margin-bottom: .8rem;
    }

    .footer-links a {
        font-size: .9rem;
    }


    /* CONTACT FOOTER */

    .footer-contact li {
        display: flex;

        align-items: flex-start;
        justify-content: center;

        gap: .65rem;

        text-align: left;
    }

    .footer-contact p {
        font-size: .9rem;

        line-height: 1.6;
    }

    .footer-contact i {
        margin-top: 3px;

        font-size: .9rem;
    }


    /* =========================
       FOOTER BOTTOM
    ========================= */

    .footer-bottom {
        display: flex;

        flex-direction: column;

        justify-content: center;
        align-items: center;

        gap: .8rem;

        padding: 1.5rem 1rem 0;

        margin-bottom: 0;

        text-align: center;
    }

    .footer-bottom p {
        margin: 0;

        font-size: .75rem;

        line-height: 1.5;
    }

    .footer-legal {
        display: flex;

        justify-content: center;
        align-items: center;

        gap: .5rem;

        flex-wrap: wrap;

        text-align: center;
    }

    .footer-legal a,
    .footer-link-button {
        font-size: .75rem;
    }

    .footer-legal span {
        font-size: .7rem;
    }



    /* =====================================================
       GENERAL
    ===================================================== */

    .container {
        width: 94%;
        padding-left: 0;
        padding-right: 0;
    }

    section {
        padding: 3.5rem 0;
    }


    /* =====================================================
       NAVIGATION
    ===================================================== */

    .logo img {
        height: 58px;
    }

    .logo {
        margin-left: .5rem;
    }

    .menu-toggle {
        font-size: 1.8rem;
    }

    .nav-menu {
        width: 270px;
        padding: 1.5rem 1.25rem;
    }

    .nav-menu li a {
        padding: .85rem;
        font-size: .95rem;
    }

    .nav-menu .btn-nav {
        padding: 14px 24px;
    }


    /* =====================================================
       HERO
    ===================================================== */

    .hero {
        min-height: 500px;

        padding: 7rem 0 4rem;

        background-position: 68% center;
        background-attachment: scroll;
    }

    .hero .container {
        min-height: auto;
        padding: 1rem;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
    }

    .hero-banner {
        width: 100%;
        max-width: 100%;

        padding: .8rem;

        gap: .75rem;
        margin-bottom: 1.5rem;
    }

    .banner-icon i {
        font-size: 2.2rem;
    }

    .banner-text span {
        font-size: .75rem;
    }

    .banner-text p {
        font-size: .7rem;
    }

    .hero-subtitle {
        font-size: .75rem;
        letter-spacing: .1em;
    }

    .hero h1 {
        font-size: 2.35rem;
        line-height: 1.1;

        max-width: 100%;

        margin-bottom: 1rem;
    }

    .hero-divider {
        width: 65px;
        margin-bottom: 1.25rem;
    }

    .hero blockquote {
        font-size: .92rem;
        line-height: 1.65;
    }

    .hero cite {
        font-size: .9rem;
        margin-bottom: 1.75rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;

        width: 100%;
        gap: .75rem;
    }

    .hero-buttons a {
        width: 100%;
        min-width: 0;

        height: 52px;

        justify-content: center;

        padding: .9rem 1.25rem;
    }


    /* =====================================================
       SECTION TITLES
    ===================================================== */

    .section-title {
        font-size: 2rem;
        line-height: 1.15;
    }

    .section-subtitle {
        font-size: .78rem;
        letter-spacing: .11em;
    }

    .section-description {
        font-size: .9rem;
        line-height: 1.7;
    }

    .section-divider {
        width: 60px;
        margin-bottom: 1.5rem;
    }


    /* =====================================================
       MISSION & VALUES
    ===================================================== */

    .mission-values {
        padding: 3.5rem 0;
    }

    .mission-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .mission-content {
        padding-right: 0;
    }

    .mission-content p {
        font-size: .9rem;
        line-height: 1.7;
    }

    .mission-card {
        padding: 0;

        border-right: none !important;
        border-bottom: 1px solid rgba(11,55,103,.12);

        padding-bottom: 2rem;
    }

    .mission-card:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .mission-icon {
        margin-bottom: 1rem;
    }

    .mission-icon i {
        font-size: 2.5rem;
    }

    .mission-card h3 {
        font-size: 1.25rem;
    }

    .mission-card p {
        font-size: .9rem;
        line-height: 1.7;
    }


    /* =====================================================
       WHY LCS
    ===================================================== */

    .why-lcs {
        padding: 3.5rem 0;
    }

    .section-header {
        margin-bottom: 2.5rem;
    }

    .why-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .why-card {
        padding: 0;
    }

    .why-card:not(:last-child)::after {
        display: none;
    }

    .why-icon {
        width: 62px;
        height: 62px;

        margin-bottom: 1.25rem;
    }

    .why-icon i {
        font-size: 1.7rem;
    }

    .why-card h3 {
        font-size: 1.25rem;
    }

    .why-card p {
        font-size: .9rem;
        line-height: 1.7;
    }


    /* =====================================================
       ACADEMIC PROGRAMME
    ===================================================== */

    .academic-programme {
        padding: 3.5rem 0;
    }

    .programme-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .programme-image img {
        height: 280px;
        object-fit: cover;
    }

    .programme-content p {
        font-size: .9rem;
        line-height: 1.7;

        margin-bottom: 2rem;
    }

    .programme-grid {
        grid-template-columns: 1fr;

        gap: .9rem;

        margin-bottom: 2rem;
    }

    .programme-item {
        font-size: .9rem;
    }

    .programme-item i {
        font-size: 1rem;
    }


    /* =====================================================
       SCHOOL LIFE
    ===================================================== */

    .school-life {
        padding: 3.5rem 0;
    }

    .school-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .school-card img {
        height: 220px;
    }

    .school-content {
        padding: 1.4rem;
    }

    .school-content h3 {
        font-size: 1.2rem;
    }

    .school-content p {
        font-size: .88rem;
        line-height: 1.65;
    }


    /* =====================================================
       ADMISSIONS — HOME PAGE
    ===================================================== */

    .admissions {
        padding: 3.5rem 0;
    }

    .admissions-wrapper {
        grid-template-columns: 1fr;

        padding: 1.25rem;

        border-radius: 16px;
    }

    .admissions-content {
        padding: .75rem 0 1.75rem;

        border-right: none;

        border-bottom: 1px solid rgba(255,255,255,.15);

        margin-bottom: 1.5rem;
    }

    .admissions-content .section-subtitle {
        font-size: 1.7rem;
        max-width: 100%;
    }

    .admissions-content p {
        max-width: 100%;

        font-size: .9rem;
        line-height: 1.7;
    }

    .admissions-steps {
        grid-template-columns: 1fr;

        padding-right: 0;

        gap: 1rem;
    }

    .step-card {
        min-height: auto;

        padding: 1.5rem 1.25rem;
    }

    .step-card::after {
        display: none;
    }

    .step-number {
        width: 48px;
        height: 48px;

        font-size: 1.2rem;
    }

    .step-card h3 {
        font-size: 1rem;
    }

    .step-card p {
        font-size: .85rem;
        line-height: 1.6;
    }


    /* =====================================================
       TESTIMONIALS
    ===================================================== */

    .testimonials {
        padding: 3.5rem 0;
    }

    .testimonial-grid {
        grid-template-columns: 1fr;

        gap: 1.25rem;

        margin-top: 2.5rem;
    }

    .testimonial-card {
        padding: 1.5rem;

        border-radius: 16px;
    }

    .testimonial-text {
        font-size: .92rem;
        line-height: 1.75;
    }

    .testimonial-author h4 {
        font-size: 1rem;
    }

    .testimonial-author span {
        font-size: .85rem;
    }


    /* =====================================================
       NEWSLETTER
    ===================================================== */

    .newsletter-wrapper {
        flex-direction: column;

        align-items: stretch;

        gap: 1.5rem;

        padding: 1.5rem 1.25rem;
    }

    .newsletter-content {
        flex-direction: column;

        text-align: center;

        gap: .85rem;
    }

    .newsletter-icon {
        width: 54px;
        height: 54px;

        font-size: 1.5rem;
    }

    .newsletter-content h3 {
        font-size: 1.2rem;
    }

    .newsletter-content p {
        font-size: .85rem;
        line-height: 1.6;
    }

    .newsletter-form {
        min-width: 0;

        width: 100%;

        flex-direction: column;

        gap: .75rem;
    }

    .newsletter-form input,
    .newsletter-form button {
        width: 100%;

        border-radius: 6px !important;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .footer-container {
        grid-template-columns: 1fr;

        gap: 2.5rem;

        text-align: center;
    }

    .footer-logo {
        justify-content: center;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-contact li {
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;

        gap: .75rem;

        text-align: center;
    }

    .footer-legal {
        flex-wrap: wrap;

        justify-content: center;

        gap: .6rem;
    }


    /* =====================================================
   ABOUT — SMALL MOBILE
   max-width: 480px
===================================================== */

    /* =================================================
       HERO
    ================================================= */

    .about-hero {
        min-height: 480px;

        padding: 7rem 0 3.5rem;

        background-position: center top;

        /*
        Fixed backgrounds can behave badly on phones.
        Keep it scrolling on small mobile.
        */
        background-attachment: scroll;
    }

    .about-hero .container {
        min-height: 400px;

        padding: 1rem 1.25rem;

        align-items: center;
    }

    .about-content-hero {
        max-width: 100%;
    }

    .about-content-hero .section-subtitle {
        margin-bottom: .75rem;

        font-size: 1.4rem;
    }

    .about-content-hero h1 {
        max-width: 100%;

        font-size: 2.2rem;

        line-height: 1.1;
    }

    .about-content-hero .section-divider {
        margin-top: 1.5rem;
    }


    /* =================================================
       STORY
    ================================================= */

    .about-story {
        padding: 3.5rem 0;
    }

    .about-story-grid {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }

    .about-story-content {
        max-width: 100%;
    }

    .about-story-content .section-subtitle {
        margin-bottom: .6rem;
    }

    .about-story-content .section-title {
        margin-bottom: .9rem;

        font-size: 2rem;
        line-height: 1.15;
    }

    .about-story-content .section-divider {
        margin-bottom: 1.5rem;
    }

    .about-story-content p {
        margin-bottom: 1rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    /* STORY IMAGE */

    .about-story-image {
        width: 100%;
    }

    .about-story-image::before {
        top: -10px;
        right: -10px;

        width: 55px;
        height: 55px;
    }

    .about-story-image img {
        width: 100%;
        height: 280px;

        border-radius: var(--radius-md);
    }


    /* =================================================
       APPROACH
    ================================================= */

    .about-approach {
        padding: 3.5rem 0;
    }

    .about-approach .section-header {
        max-width: 100%;

        margin-bottom: 2rem;
    }

    .about-approach .section-header .section-title {
        font-size: 2rem;
        line-height: 1.15;
    }

    .about-approach .section-header .section-description {
        font-size: .9rem;
        line-height: 1.7;
    }

    .approach-grid {
        grid-template-columns: 1fr;

        gap: 1rem;
    }

    .approach-card {
        width: 100%;

        padding: 2rem 1.5rem;

        border-radius: var(--radius-md);
    }

    .approach-icon {
        width: 58px;
        height: 58px;

        margin-bottom: 1.1rem;

        font-size: 1.4rem;
    }

    .approach-card h3 {
        margin-bottom: .65rem;

        font-size: 1.3rem;
    }

    .approach-card p {
        font-size: .88rem;
        line-height: 1.65;
    }


    /* =================================================
       MISSION
    ================================================= */

    .about-mission {
        padding: 3.5rem 0;
    }

    .about-mission .mission-grid {
        grid-template-columns: 1fr;

        gap: 1.25rem;
    }


    /* MAIN MISSION BOX */

    .mission-box {
        padding: 2rem 1.5rem;

        flex-direction: column;

        align-items: flex-start;

        gap: 1.25rem;

        border-radius: var(--radius-md);
    }

    .mission-box .mission-icon {
        width: 58px;
        height: 58px;

        font-size: 1.5rem;
    }

    .mission-box h2 {
        margin-bottom: 1rem;

        font-size: 2rem;

        line-height: 1.15;
    }

    .mission-box p {
        margin-bottom: .9rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    /* MISSION SIDE */

    .mission-side {
        padding: 2rem 1.5rem;

        border-radius: var(--radius-md);
    }

    .mission-side h2 {
        margin-bottom: 1rem;

        font-size: 1.9rem;

        line-height: 1.15;
    }

    .mission-side p {
        margin-bottom: .9rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    /* =================================================
       AFFILIATIONS
    ================================================= */

    .affiliations {
        padding: 3.5rem 0;
    }

    .affiliations .section-header {
        max-width: 100%;

        margin-bottom: 2rem;
    }

    .affiliations .section-header .section-title {
        font-size: 2rem;
        line-height: 1.15;
    }

    .affiliations .section-header .section-description {
        font-size: .9rem;
        line-height: 1.7;
    }

    .affiliations-grid {
        grid-template-columns: 1fr;

        gap: 1rem;
    }

    .affiliation-item {
        min-height: 200px;

        padding: 1.75rem 1.25rem;

        border-radius: var(--radius-md);
    }

    .affiliation-logo {
        width: 130px;
        height: 60px;

        margin-bottom: 1rem;
    }

    .affiliation-logo img {
        max-width: 120px;
        max-height: 55px;
    }

    .church-logos {
        width: 58px;
        height: 58px;

        margin-bottom: 1rem;

        font-size: 1.4rem;
    }

    .affiliation-item h3 {
        margin-bottom: .5rem;

        font-size: 1.25rem;
    }

    .affiliation-item p {
        max-width: 280px;

        font-size: .85rem;
        line-height: 1.6;
    }


    /* =================================================
       PROGRAMME CTA
    ================================================= */

    .about-programme-cta {
        padding: 3.5rem 0;
    }

    .programme-cta-wrapper {
        grid-template-columns: 1fr;

        border-radius: var(--radius-md);
    }

    .programme-cta-image {
        min-height: 230px;
    }

    .programme-cta-image img {
        width: 100%;
        height: 230px;

        object-fit: cover;
    }

    .programme-cta-content {
        padding: 2rem 1.5rem;
    }

    .programme-cta-content .section-subtitle {
        margin-bottom: .6rem;
    }

    .programme-cta-content .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.15;
    }

    .programme-cta-content p {
        margin-bottom: 1.5rem;

        font-size: .9rem;
        line-height: 1.7;
    }

    .programme-cta-content .btn-nav {
        width: 100%;

        align-self: stretch;
    }




    /* =========================
       OUR PROGRAMME PAGE
    ========================= */

    /* =========================
       HERO
    ========================= */

    .programme-hero {
        min-height: 650px;

        padding-top: 80px;

        background:
            linear-gradient(
                180deg,
                rgba(11,55,103,.92) 0%,
                rgba(11,55,103,.82) 45%,
                rgba(11,55,103,.68) 70%,
                rgba(11,55,103,.55) 100%
            ),
            url("../images/material.jpg");

        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;

        display: flex;
        align-items: center;
    }


    .programme-hero .container {
        width: 100%;

        min-height: 570px;

        padding: 2rem 1.25rem;

        display: flex;
        align-items: center;
    }


    .programme-hero-content {
        max-width: 100%;
    }


    .programme-hero-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: 1.15rem;
    }


    .programme-hero-content h1 {
        max-width: 100%;

        font-size: 2.35rem;
        line-height: 1.12;
    }


    .programme-hero-content .section-divider {
        margin-top: 1.25rem;
        margin-bottom: 1rem;
    }


    .programme-hero-content p {
        max-width: 100%;

        font-size: .92rem;
        line-height: 1.7;
    }



    /* =========================
       INTRO
    ========================= */

    .programme-intro {
        padding: 4rem 0;
    }


    .programme-intro-grid {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }


    .programme-intro-content {
        max-width: 100%;
    }


    .programme-intro-content .section-subtitle {
        margin-bottom: .6rem;
    }


    .programme-intro-content .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-intro-content .section-divider {
        margin-bottom: 1.4rem;
    }


    .programme-intro-content p {
        margin-bottom: 1rem;

        font-size: .92rem;
        line-height: 1.7;
    }


    .programme-intro-content p:last-of-type {
        margin-bottom: 1.5rem;
    }



    /* =========================
       INTRO IMAGE
    ========================= */

    .programme-intro-image {
        width: 100%;
    }


    .programme-intro-image::before {
        top: -10px;
        right: -10px;

        width: 50px;
        height: 50px;

        border-width: 2px;
    }


    .programme-intro-image img {
        width: 100%;
        height: 280px;

        border-radius: var(--radius-md);
    }



    /* =========================
       FEATURES
    ========================= */

    .programme-features {
        padding: 4rem 0;
    }


    .programme-features .section-header {
        max-width: 100%;

        margin-bottom: 2rem;

        padding: 0 .25rem;
    }


    .programme-features .section-title {
        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-features .section-description {
        font-size: .92rem;
        line-height: 1.7;
    }


    .programme-feature-grid {
        grid-template-columns: 1fr;

        gap: 1rem;
    }


    .programme-feature-card {
        padding: 2rem 1.5rem;
    }


    .programme-feature-icon {
        width: 58px;
        height: 58px;

        margin-bottom: 1.25rem;

        font-size: 1.4rem;
    }


    .programme-feature-card h3 {
        margin-bottom: .6rem;

        font-size: 1.3rem;
    }


    .programme-feature-card p {
        font-size: .9rem;
        line-height: 1.65;
    }



    /* =========================
       EXPERIENCE
    ========================= */

    .programme-experience {
        padding: 4rem 0;
    }


    .programme-experience-wrapper {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }


    .programme-experience-image {
        width: 100%;
    }


    .programme-experience-image::before {
        top: -10px;
        left: -10px;

        width: 50px;
        height: 50px;

        border-width: 2px;
    }


    .programme-experience-image img {
        width: 100%;
        height: 280px;

        border-radius: var(--radius-md);
    }


    .programme-experience-content {
        max-width: 100%;
    }


    .programme-experience-content .section-subtitle {
        margin-bottom: .6rem;

        font-size: .8rem;
    }


    .programme-experience-content .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-experience-content .section-divider {
        margin-bottom: 1.4rem;
    }


    .programme-experience-content p {
        margin-bottom: 1rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    .programme-check-list {
        gap: .75rem;

        margin-top: 1.5rem;
    }


    .programme-check {
        align-items: flex-start;

        gap: .65rem;

        font-size: .88rem;
        line-height: 1.5;
    }


    .programme-check i {
        margin-top: 2px;

        font-size: 1rem;
    }



    /* =========================
       CTA
    ========================= */

    .programme-cta {
        padding: 4rem 1.25rem;
    }


    .programme-cta-content {
        max-width: 100%;
    }


    .programme-cta-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: .78rem;
    }


    .programme-cta-content h2 {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-cta-content p {
        max-width: 100%;

        margin-bottom: 1.5rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    .programme-cta-buttons {
        width: 100%;

        flex-direction: column;

        gap: .75rem;
    }


    .programme-cta-buttons .btn-nav,
    .programme-cta-buttons .btn-secondary {
        width: 100%;

        min-width: 0;

        padding: .9rem 1.25rem;
    }



    /* =========================
       FOOTER
    ========================= */

    .footer {
        padding: 4rem 0 1.5rem;
    }







    /*======================================
        ADMISSIONS PAGE
    ======================================*/


    /* =========================
       HERO
    ========================= */

    .programme-hero {
        min-height: 650px;

        padding-top: 80px;

        background:
            linear-gradient(
                180deg,
                rgba(11,55,103,.92) 0%,
                rgba(11,55,103,.82) 45%,
                rgba(11,55,103,.68) 70%,
                rgba(11,55,103,.55) 100%
            ),
            url("../images/kids.png");

        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;

        display: flex;
        align-items: center;
    }


    .programme-hero .container {
        width: 100%;

        min-height: 570px;

        padding: 2rem 1.25rem;

        display: flex;
        align-items: center;
    }


    .programme-hero-content {
        max-width: 100%;
    }


    .programme-hero-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: 1.15rem;
    }


    .programme-hero-content h1 {
        max-width: 100%;

        font-size: 2.35rem;
        line-height: 1.12;
    }


    .programme-hero-content .section-divider {
        margin-top: 1.25rem;
        margin-bottom: 1rem;
    }


    .programme-hero-content p {
        max-width: 100%;

        font-size: .92rem;
        line-height: 1.7;
    }



    /* =========================
       INTRO
    ========================= */

    .programme-intro {
        padding: 4rem 0;
    }


    .programme-intro-grid {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }


    .programme-intro-content {
        max-width: 100%;
    }


    .programme-intro-content .section-subtitle {
        margin-bottom: .6rem;
    }


    .programme-intro-content .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-intro-content .section-divider {
        margin-bottom: 1.4rem;
    }


    .programme-intro-content p {
        margin-bottom: 1rem;

        font-size: .92rem;
        line-height: 1.7;
    }


    .programme-intro-content p:last-of-type {
        margin-bottom: 1.5rem;
    }



    /* =========================
       INTRO IMAGE
    ========================= */

    .programme-intro-image {
        width: 100%;
    }


    .programme-intro-image::before {
        top: -10px;
        right: -10px;

        width: 50px;
        height: 50px;

        border-width: 2px;
    }


    .programme-intro-image img {
        width: 100%;
        height: 280px;

        border-radius: var(--radius-md);
    }



    /* =========================
       FEATURES
    ========================= */

    .programme-features {
        padding: 4rem 0;
    }


    .programme-features .section-header {
        max-width: 100%;

        margin-bottom: 2rem;

        padding: 0 .25rem;
    }


    .programme-features .section-title {
        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-features .section-description {
        font-size: .92rem;
        line-height: 1.7;
    }


    .programme-feature-grid {
        grid-template-columns: 1fr;

        gap: 1rem;
    }


    .programme-feature-card {
        padding: 2rem 1.5rem;
    }


    .programme-feature-icon {
        width: 58px;
        height: 58px;

        margin-bottom: 1.25rem;

        font-size: 1.4rem;
    }


    .programme-feature-card h3 {
        margin-bottom: .6rem;

        font-size: 1.3rem;
    }


    .programme-feature-card p {
        font-size: .9rem;
        line-height: 1.65;
    }



    /* =========================
       EXPERIENCE
    ========================= */

    .programme-experience {
        padding: 4rem 0;
    }


    .programme-experience-wrapper {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }


    .programme-experience-image {
        width: 100%;
    }


    .programme-experience-image::before {
        top: -10px;
        left: -10px;

        width: 50px;
        height: 50px;

        border-width: 2px;
    }


    .programme-experience-image img {
        width: 100%;
        height: 280px;

        border-radius: var(--radius-md);
    }


    .programme-experience-content {
        max-width: 100%;
    }


    .programme-experience-content .section-subtitle {
        margin-bottom: .6rem;

        font-size: .8rem;
    }


    .programme-experience-content .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-experience-content .section-divider {
        margin-bottom: 1.4rem;
    }


    .programme-experience-content p {
        margin-bottom: 1rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    .programme-check-list {
        gap: .75rem;

        margin-top: 1.5rem;
    }


    .programme-check {
        align-items: flex-start;

        gap: .65rem;

        font-size: .88rem;
        line-height: 1.5;
    }


    .programme-check i {
        margin-top: 2px;

        font-size: 1rem;
    }



    /* =========================
       CTA
    ========================= */

    .programme-cta {
        padding: 4rem 1.25rem;
    }


    .programme-cta-content {
        max-width: 100%;
    }


    .programme-cta-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: .78rem;
    }


    .programme-cta-content h2 {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .programme-cta-content p {
        max-width: 100%;

        margin-bottom: 1.5rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    .programme-cta-buttons {
        width: 100%;

        flex-direction: column;

        gap: .75rem;
    }


    .programme-cta-buttons .btn-nav,
    .programme-cta-buttons .btn-secondary {
        width: 100%;

        min-width: 0;

        padding: .9rem 1.25rem;
    }



    /* =========================
       FOOTER
    ========================= */

    .footer {
        padding: 4rem 0 1.5rem;
    }




    /*======================================
        FEES PAGE
    ======================================*/


    /* =========================
       HERO
    ========================= */

    .fees-hero {
        min-height: 650px;

        padding-top: 80px;

        background:
            linear-gradient(
                180deg,
                rgba(11,55,103,.94) 0%,
                rgba(11,55,103,.86) 45%,
                rgba(11,55,103,.68) 75%,
                rgba(11,55,103,.58) 100%
            ),
            url("../images/fees-hero.jpg");

        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;

        display: flex;
        align-items: center;
    }


    .fees-hero .container {
        width: 100%;

        min-height: 570px;

        padding: 2rem 1.25rem;

        display: flex;
        align-items: center;
    }


    .fees-hero-content {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;
    }


    .fees-hero-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: .8rem;
        letter-spacing: .1em;
    }


    .fees-hero-content h1 {
        max-width: 100%;

        margin-bottom: 1.25rem;

        font-size: 2.4rem;
        line-height: 1.1;
    }


    .fees-hero-content .section-divider {
        margin-bottom: 1.25rem;
    }


    .fees-hero-content > p {
        max-width: 100%;

        font-size: .92rem;
        line-height: 1.7;
    }



    /* =========================
       COMMITMENT
    ========================= */

    .fees-commitment {
        padding: 4rem 0;
    }


    .fees-commitment .container {
        width: 100%;

        padding: 0 1.25rem;
    }


    .fees-commitment-icon {
        width: 58px;
        height: 58px;

        margin-bottom: 1rem;

        font-size: 1.4rem;
    }


    .fees-commitment-content .section-subtitle {
        margin-bottom: .5rem;

        font-size: .8rem;
    }


    .fees-commitment-content .section-title {
        margin-bottom: .9rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .fees-commitment-content .section-divider {
        margin-bottom: 1.5rem;
    }


    .fees-commitment-content > p {
        max-width: 100%;

        margin-bottom: 1.25rem;

        font-size: .9rem;
        line-height: 1.7;
    }



    /* =========================
       QUOTE
    ========================= */

    .fees-commitment-content blockquote {
        max-width: 100%;

        margin: 1.75rem auto;

        padding: 1.75rem 1.25rem;
    }


    .fees-commitment-content blockquote::before {
        width: 32px;
        height: 32px;

        top: -.75rem;

        font-size: 1.9rem;
    }


    .fees-commitment-content blockquote p {
        margin-bottom: .6rem;

        font-size: 1.05rem;
        line-height: 1.5;
    }


    .fees-commitment-content blockquote cite {
        font-size: 1rem;
        line-height: 1.4;
    }



    /* =========================
       INFORMATION BOX
    ========================= */

    .fees-information {
        max-width: 100%;

        margin-top: 2rem;

        padding: 1rem;

        align-items: flex-start;

        gap: .75rem;
    }


    .fees-information-icon {
        width: 38px;
        height: 38px;

        font-size: 1rem;
    }


    .fees-information p {
        font-size: .82rem;
        line-height: 1.5;
    }



    /* =========================
       TUITION FEES
    ========================= */

    .tuition-fees {
        padding: 4rem 0;
    }


    .tuition-fees .container {
        width: 100%;

        padding: 0 1.25rem;
    }


    .tuition-fees .section-header {
        max-width: 100%;

        margin-bottom: 2rem;
    }


    .tuition-fees .section-subtitle {
        margin-bottom: .5rem;

        font-size: .8rem;
    }


    .tuition-fees .section-title {
        margin-bottom: .9rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .tuition-fees .section-divider {
        margin-bottom: 1.25rem;
    }


    .tuition-fees .section-description {
        font-size: .9rem;
        line-height: 1.7;
    }



    /* =========================
       FEE TABLE
    ========================= */

    .fees-table-wrapper {
        width: 100%;

        overflow-x: auto;

        border-radius: var(--radius-md);

        -webkit-overflow-scrolling: touch;
    }


    .fees-table {
        min-width: 620px;
    }


    .fees-table th {
        padding: 1rem;

        font-size: .75rem;
    }


    .fees-table td {
        padding: 1rem;

        font-size: .85rem;
    }


    .fee-rate {
        gap: .75rem;
    }


    .fee-icon {
        width: 42px;
        height: 42px;

        font-size: 1rem;
    }


    .fee-rate strong {
        font-size: .9rem;
    }


    .fee-rate span {
        font-size: .78rem;
    }


    .fee-price {
        font-size: 1.35rem;
    }


    .fee-period {
        font-size: .78rem;
    }



    /* =========================
       FEES DOCUMENT
    ========================= */

    .fees-document {
        margin-top: 1.75rem;

        padding: 1.25rem;

        display: flex;
        flex-direction: column;

        align-items: flex-start;

        gap: 1rem;
    }


    .fees-document-icon {
        width: 46px;
        height: 46px;

        font-size: 1.2rem;
    }


    .fees-document-content {
        width: 100%;
    }


    .fees-document-content h3 {
        margin-bottom: .35rem;

        font-size: 1.2rem;
    }


    .fees-document-content p {
        font-size: .82rem;
        line-height: 1.5;
    }


    .fees-document .btn-secondary {
        width: 100%;

        padding: .85rem 1rem;

        font-size: .8rem;
    }



    /* =========================
       CTA
    ========================= */

    .fees-cta {
        padding: 4rem 0;
    }


    .fees-cta .container {
        width: 100%;

        padding: 0 1.25rem;
    }


    .fees-cta-content .section-subtitle {
        margin-bottom: .65rem;

        font-size: .78rem;
    }


    .fees-cta-content h2 {
        max-width: 100%;

        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.2;
    }


    .fees-cta-content p {
        max-width: 100%;

        margin-bottom: 1.5rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    .fees-cta-buttons {
        width: 100%;

        flex-direction: column;

        gap: .75rem;
    }


    .fees-cta .btn-nav,
    .fees-cta .btn-secondary {
        width: 100%;

        padding: .9rem 1.25rem;
    }




    /* =========================
       CONTACT PAGE
    ========================= */

    .contact-hero {
        min-height: 620px;

        padding-top: 80px;

        background:
            linear-gradient(
                180deg,
                rgba(11,55,103,.98) 0%,
                rgba(11,55,103,.92) 45%,
                rgba(11,55,103,.72) 70%,
                rgba(11,55,103,.35) 100%
            ),
            url("../images/hero-contact-1.png");

        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;

        align-items: center;
    }

    .contact-hero .container {
        min-height: 540px;

        width: 100%;
        padding: 1.25rem;

        align-items: center;
    }

    .contact-hero-content {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;
    }

    .contact-hero-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: .8rem;
        letter-spacing: .1em;
    }

    .contact-hero-content h1 {
        max-width: 100%;

        margin-bottom: 1.25rem;

        font-size: clamp(2.3rem, 11vw, 3.2rem);
        line-height: 1.08;
    }

    .contact-hero-content .section-divider {
        margin-bottom: 1.25rem;
    }

    .contact-hero-content > p {
        max-width: 100%;

        font-size: .92rem;
        line-height: 1.7;
    }


    /* =========================
       CONTACT MAIN
    ========================= */

    .contact-main {
        padding: 3.5rem 0;
    }

    .contact-grid {
        grid-template-columns: 1fr;

        margin-top: 0;

        gap: 2.5rem;
    }


    /* =========================
       CONTACT INFO
    ========================= */

    .contact-info {
        padding-top: 0;
    }

    .contact-info .section-subtitle {
        margin-bottom: .6rem;

        font-size: .75rem;
    }

    .contact-info h2 {
        margin-bottom: .75rem;

        font-size: 2rem;
        line-height: 1.15;
    }

    .contact-info .section-divider {
        margin-bottom: 1.25rem;
    }

    .contact-intro {
        max-width: 100%;

        margin-top: .5rem;
        margin-bottom: 1.5rem;

        font-size: .9rem;
        line-height: 1.7;
    }


    /* =========================
       CONTACT DETAILS
    ========================= */

    .contact-detail {
        gap: .8rem;

        padding: .9rem 0;
    }

    .contact-detail-icon {
        width: 42px;
        height: 42px;

        font-size: 1rem;
    }

    .contact-detail-content h3 {
        font-size: .9rem;
    }

    .contact-detail-content p,
    .contact-detail-content a {
        font-size: .85rem;
        line-height: 1.5;

        overflow-wrap: anywhere;
    }


    /* =========================
       CONTACT QUOTE
    ========================= */

    .contact-quote {
        align-items: flex-start;

        gap: .9rem;

        margin-top: 1.5rem;

        padding: 1.1rem;
    }

    .contact-quote-icon {
        font-size: 1.8rem;
    }

    .contact-quote-content p {
        font-size: 1rem;
        line-height: 1.4;
    }

    .contact-quote-content span {
        font-size: .8rem;
    }


    /* =========================
       CONTACT FORM
    ========================= */

    .contact-form-wrapper {
        padding: 1.5rem;

        margin-bottom: 0;

        border-radius: var(--radius-md);
    }

    .contact-form-wrapper h2 {
        margin-bottom: .65rem;

        font-size: 1.9rem;
        line-height: 1.15;
    }

    .contact-form-wrapper .section-divider {
        margin-bottom: 1.15rem;
    }

    .contact-form-intro {
        margin-bottom: 1.5rem;

        font-size: .88rem;
        line-height: 1.65;
    }

    .contact-form {
        gap: 1rem;
    }

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

        gap: 1rem;
    }

    .form-group {
        gap: .4rem;
    }

    .form-group label {
        font-size: .82rem;
    }

    .form-group input,
    .form-group textarea {
        min-height: 3.1rem;

        padding: .8rem .85rem;

        font-size: .9rem;
    }

    .form-group textarea {
        min-height: 120px;
    }

    .contact-submit {
        min-height: 48px;

        margin-top: .2rem;

        padding: .85rem 1.2rem;

        font-size: .8rem;
    }


    /* =========================
       CTA
    ========================= */

    .contact-cta {
        padding: 3rem 0;
    }

    .contact-cta-content {
        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 1.25rem;

        text-align: center;
    }

    .contact-cta-icon {
        width: 68px;
        height: 68px;

        font-size: 2rem;
    }

    .contact-cta-icon i {
        font-size: 2rem;
    }

    .contact-cta-text {
        max-width: 100%;
    }

    .contact-cta .section-subtitle {
        margin-bottom: .4rem;

        font-size: .75rem;
    }

    .contact-cta h2 {
        margin-bottom: .5rem;

        font-size: 1.8rem;
        line-height: 1.15;
    }

    .contact-cta p {
        font-size: .88rem;
        line-height: 1.6;
    }

    .contact-cta .btn-nav {
        width: 100%;

        margin-left: 0;
        margin-top: .5rem;
    }


    /* =========================
       FOOTER
    ========================= */

    .footer {
        padding: 4rem 0 1.5rem;
    }


    /* =========================
       APPLICATION PAGE
    ========================= */

    .application-hero {
        min-height: 620px;

        padding-top: 80px;

        background:
            linear-gradient(
                180deg,
                rgba(11,55,103,.98) 0%,
                rgba(11,55,103,.92) 45%,
                rgba(11,55,103,.72) 70%,
                rgba(11,55,103,.35) 100%
            ),
            url("../images/hero-contact-1.png");

        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;

        align-items: center;
    }

    .application-hero .container {
        width: 100%;

        min-height: 540px;

        padding: 1.25rem;

        align-items: center;
    }

    .application-hero-content {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;
    }

    .application-hero-content .section-subtitle {
        margin-bottom: .75rem;

        font-size: .8rem;
        letter-spacing: .1em;
    }

    .application-hero-content h1 {
        max-width: 100%;

        margin-bottom: 1.25rem;

        font-size: clamp(2.3rem, 11vw, 3.2rem);
        line-height: 1.08;
    }

    .application-hero-content .section-divider {
        margin-bottom: 1.25rem;
    }

    .application-hero-content > p {
        max-width: 100%;

        font-size: .92rem;
        line-height: 1.7;
    }


    /* =========================
       APPLICATION SECTION
    ========================= */

    .application-section {
        padding: 4rem 0 3rem;
    }

    .application-wrapper {
        width: 100%;
    }

    .application-intro {
        max-width: 100%;

        margin: 0 auto 2.5rem;

        padding: 0 1rem;
    }

    .application-intro .section-subtitle {
        margin-bottom: .6rem;

        font-size: .75rem;
    }

    .application-intro .section-title {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.15;
    }

    .application-intro > p {
        font-size: .88rem;
        line-height: 1.7;
    }


    /* =========================
       APPLICATION NOTICE
    ========================= */

    .application-notice {
        gap: .75rem;

        margin-top: 1.5rem;
        padding: 1rem;

    }

    .application-notice > i {
        margin-top: .15rem;

        font-size: 1.1rem;
    }

    .application-notice p {
        font-size: .8rem;
        line-height: 1.6;
    }


    /* =========================
       APPLICATION WRAPPER
    ========================= */

    .application-form-wrapper {
        border-radius: var(--radius-md);
    }


    /* =========================
       PROGRESS
    ========================= */

    .application-progress {
        padding: 1.25rem 1rem;

        overflow-x: auto;

        justify-content: flex-start;

        scrollbar-width: none;
    }

    .application-progress::-webkit-scrollbar {
        display: none;
    }

    .progress-step {
        gap: .45rem;
    }

    .progress-number {
        width: 32px;
        height: 32px;

        flex-shrink: 0;

        font-size: .75rem;
    }

    .progress-label {
        display: none;
    }

    .progress-line {
        min-width: 25px;

        margin: 0 .6rem;
    }


    /* =========================
       APPLICATION STEPS
    ========================= */

    .application-step {
        padding: 2rem 1.25rem;
    }

    .application-step-header {
        margin-bottom: 2rem;
    }

    .application-step-header .section-subtitle {
        margin-bottom: .4rem;

        font-size: .75rem;
    }

    .application-step-header h3 {
        margin-bottom: .65rem;

        font-size: 1.7rem;
        line-height: 1.2;
    }

    .application-step-header p {
        font-size: .85rem;
        line-height: 1.65;
    }


    /* =========================
       FORM GRID
    ========================= */

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

        gap: 1rem;

        margin-bottom: 1.5rem;
    }

    .form-group-full {
        grid-column: auto;
    }

    .form-group {
        gap: .4rem;
    }

    .form-group label {
        font-size: .8rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        min-height: 48px;

        padding: .75rem .85rem;

        font-size: .88rem;
    }

    .form-group textarea {
        min-height: 120px;
    }


    /* =========================
       STUDENTS
    ========================= */

    .students-container {
        gap: 1rem;
    }

    .student-form {
        padding: 1.25rem;

        border-radius: var(--radius-sm);
    }

    .student-form-header {
        margin-bottom: 1.25rem;
        padding-bottom: .8rem;
    }

    .student-form-header h4 {
        font-size: 1.2rem;
    }


    /* =========================
       ADD STUDENT
    ========================= */

    .add-student-wrapper {
        flex-direction: column;

        align-items: flex-start;

        gap: .7rem;

        margin-top: 1rem;
    }

    .btn-add-student {
        width: 100%;

        justify-content: center;

        padding: .75rem 1rem;

        font-size: .8rem;
    }

    .add-student-wrapper p {
        font-size: .75rem;
        line-height: 1.5;
    }


    /* =========================
       EDUCATION
    ========================= */

    .education-students {
        gap: 1rem;
    }

    .student-education {
        padding: 1.25rem;

        border-radius: var(--radius-sm);
    }


    /* =========================
       NAVIGATION
    ========================= */

    .application-navigation {
        flex-direction: column;

        align-items: stretch;

        gap: .75rem;

        margin-top: 2rem;
        padding-top: 1.5rem;
    }

    .application-navigation .btn-nav,
    .application-navigation .btn-secondary {
        width: 100%;

        margin-left: 0;

        justify-content: center;
        text-align: center;
    }

    .btn-secondary {
        padding: .85rem 1.2rem;

        font-size: .8rem;
    }


    /* =========================
       REVIEW
    ========================= */

    .review-section {
        margin-bottom: 1rem;

        padding: 1.25rem;

        border-radius: var(--radius-sm);
    }

    .review-section-header {
        margin-bottom: 1rem;
        padding-bottom: .7rem;
    }

    .review-section-header h4 {
        font-size: 1.2rem;
    }

    #review-students,
    #review-family,
    #review-education {
        gap: .75rem;
    }

    .review-item {
        grid-template-columns: 1fr;

        gap: .75rem;
    }

    .review-field-label {
        font-size: .68rem;
    }

    .review-field-value {
        font-size: .85rem;
    }


    /* =========================
       AGREEMENT
    ========================= */

    .application-agreement {
        margin-top: 1.5rem;

        padding: 1rem;
    }

    .application-agreement label {
        gap: .6rem;
    }

    .application-agreement input {
        width: 17px;
        height: 17px;
    }

    .application-agreement span {
        font-size: .78rem;
        line-height: 1.55;
    }


    /* =========================
       SUCCESS MESSAGE
    ========================= */

    .application-success {
        padding: 3.5rem 1.5rem;

        border-radius: var(--radius-md);
    }

    .application-success-icon {
        width: 65px;
        height: 65px;

        margin-bottom: 1.25rem;

        font-size: 1.7rem;
    }

    .application-success .section-subtitle {
        margin-bottom: .6rem;

        font-size: .75rem;
    }

    .application-success h2 {
        margin-bottom: 1rem;

        font-size: 2rem;
        line-height: 1.15;
    }

    .application-success p {
        font-size: .88rem;
        line-height: 1.7;
    }

    .application-success .btn-nav {
        width: 100%;

        margin-top: 1rem;
    }

}

