﻿
/* =========================================================
   GPS KNP
   PRE-SCHOOL PAGE
========================================================= */


/* =========================================================
   COMMON
========================================================= */

.preschool-page {
    overflow: hidden;
}

    .preschool-page p {
        line-height: 1.7;
    }


/* =========================================================
   PAGE BANNER
========================================================= */

.preschool-page-banner {
    position: relative;
    overflow: hidden;
    background: linear-gradient( 135deg, rgba(15, 118, 110, 0.96), rgba(17, 94, 89, 0.94) );
}

.preschool-banner-content {
    max-width: var(--content-width);
    margin-inline: auto;
    text-align: center;
}

.preschool-banner-label {
    display: inline-block;
    margin-bottom: var(--space-sm);
    color: var(--color-primary-light);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.03em;
}

.preschool-page-banner h1 {
    margin: 0;
    color: var(--color-white);
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    line-height: 1.15;
}

.preschool-page-banner p {
    margin: var(--space-md) 0 0;
    color: var(--color-white);
    font-size: var(--fs-md);
}


/* =========================================================
   SECTION HELPERS
========================================================= */

.section-padding {
    padding: var(--section-padding-mobile) 0;
}

.section-light {
    background: var(--color-background);
}

.section-eyebrow {
    display: inline-block;
    margin-bottom: var(--space-sm);
    color: var(--color-primary);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    line-height: 1.2;
}

.section-heading {
    max-width: var(--content-width);
}

.preschool-section-heading {
    margin-inline: auto;
    text-align: center;
}

    .preschool-section-heading h2 {
        margin: 0;
        color: var(--color-heading);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        line-height: 1.25;
    }

    .preschool-section-heading p {
        max-width: 760px;
        margin: var(--space-md) auto 0;
        color: var(--color-body);
        font-size: var(--fs-sm);
    }


/* =========================================================
   INTRODUCTION
========================================================= */

.preschool-intro {
    background: var(--color-white);
}

.preschool-intro-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

.preschool-intro-image {
    flex: 1 1 0;
    overflow: hidden;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

    .preschool-intro-image img {
        display: block;
        width: 100%;
        height: auto;
    }

.preschool-intro-content {
    flex: 1 1 0;
}

    .preschool-intro-content h2 {
        margin: 0;
        color: var(--color-heading);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        line-height: 1.25;
    }

    .preschool-intro-content > p {
        margin: var(--space-md) 0 0;
        color: var(--color-body);
        font-size: var(--fs-sm);
    }

.preschool-intro-points {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    margin-top: var(--space-xl);
}

.preschool-intro-point {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

.preschool-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-round);
}

    .preschool-icon i {
        font-size: var(--fs-md);
    }

.preschool-intro-point h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.preschool-intro-point p {
    margin: var(--space-xs) 0 0;
    color: var(--color-body);
    font-size: var(--fs-sm);
}


/* =========================================================
   LEARNING APPROACH
========================================================= */

.preschool-approach {
    background: var(--color-background);
}

.preschool-approach-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
    margin-top: var(--space-2xl);
}

.preschool-approach-card {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--space-xl);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

    .preschool-approach-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-md);
        border-color: var(--color-primary);
    }

.preschool-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: var(--space-lg);
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-md);
}

    .preschool-card-icon i {
        font-size: var(--fs-lg);
    }

.preschool-approach-card h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.preschool-approach-card p {
    margin: var(--space-sm) 0 0;
    color: var(--color-body);
    font-size: var(--fs-sm);
}


/* =========================================================
   DEVELOPMENT
========================================================= */

.preschool-development {
    background: var(--color-white);
}

.preschool-development-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    align-items: center;
}

.preschool-development-content {
    flex: 1 1 0;
}

    .preschool-development-content h2 {
        margin: 0;
        color: var(--color-heading);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        line-height: 1.25;
    }

    .preschool-development-content > p {
        margin: var(--space-md) 0 0;
        color: var(--color-body);
        font-size: var(--fs-sm);
    }

.preschool-development-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    margin-top: var(--space-xl);
}

.preschool-development-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

.preschool-small-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    background: var(--color-primary-light);
    color: var(--color-primary);
    border-radius: var(--radius-md);
}

    .preschool-small-icon i {
        font-size: var(--fs-md);
    }

.preschool-development-item h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.preschool-development-item p {
    margin: var(--space-xs) 0 0;
    color: var(--color-body);
    font-size: var(--fs-sm);
}

.preschool-development-image {
    flex: 1 1 0;
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

    .preschool-development-image img {
        display: block;
        width: 100%;
        height: auto;
    }


/* =========================================================
   LEARNING EXPERIENCES
========================================================= */

.preschool-experiences {
    background: var(--color-background);
}

.preschool-experience-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
    margin-top: var(--space-2xl);
}

.preschool-experience-card {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

    .preschool-experience-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-md);
    }

.preschool-experience-image {
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--color-background);
}

    .preschool-experience-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: var(--transition);
    }

.preschool-experience-card:hover .preschool-experience-image img {
    transform: scale(1.04);
}

.preschool-experience-content {
    padding: var(--space-xl);
}

.preschool-experience-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: var(--space-md);
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-md);
}

    .preschool-experience-icon i {
        font-size: var(--fs-md);
    }

.preschool-experience-content h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.preschool-experience-content p {
    margin: var(--space-sm) 0 0;
    color: var(--color-body);
    font-size: var(--fs-sm);
}


/* =========================================================
   DEVELOPMENT GAINS
========================================================= */

.preschool-gains {
    background: var(--color-white);
}

.preschool-gains-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
    margin-top: var(--space-2xl);
}

.preschool-gain-card {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: center;
    padding: var(--space-xl);
    text-align: center;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

    .preschool-gain-card:hover {
        transform: translateY(-4px);
        border-color: var(--color-primary);
        box-shadow: var(--shadow-md);
    }

.preschool-gain-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: var(--space-md);
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-round);
}

    .preschool-gain-icon i {
        font-size: var(--fs-lg);
    }

.preschool-gain-card h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.preschool-gain-card p {
    margin: var(--space-sm) 0 0;
    color: var(--color-body);
    font-size: var(--fs-sm);
}


/* =========================================================
   PARENT PARTNERSHIP
========================================================= */

.preschool-parent-section {
    background: var(--color-background);
}

.preschool-parent-banner {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    background-color: var(--color-primary-dark);
    background-image: url("/images/preschool-parents.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: multiply;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

.preschool-parent-overlay {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 360px;
    padding: var(--space-3xl) var(--space-xl);
    background: linear-gradient( 90deg, rgba(15, 94, 89, 0.96) 0%, rgba(15, 94, 89, 0.88) 42%, rgba(15, 94, 89, 0.45) 75%, rgba(15, 94, 89, 0.12) 100% );
}

.preschool-parent-content {
    max-width: var(--content-width);
    color: var(--color-white);
}

    .preschool-parent-content .section-eyebrow {
        color: var(--color-primary-light);
    }

    .preschool-parent-content h2 {
        margin: 0;
        color: var(--color-white);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        line-height: 1.2;
    }

    .preschool-parent-content p {
        max-width: 680px;
        margin: var(--space-md) 0 0;
        color: var(--color-white);
        font-size: var(--fs-sm);
    }


/* =========================================================
   CTA
========================================================= */

.preschool-cta {
    background: var(--color-white);
}

.preschool-cta-box {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    align-items: flex-start;
    padding: var(--space-2xl) var(--space-xl);
    background: var(--color-primary-dark);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

.preschool-cta-content {
    flex: 1 1 0;
}

.preschool-cta-label {
    display: inline-block;
    margin-bottom: var(--space-sm);
    color: var(--color-primary-light);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
}

.preschool-cta-content h2 {
    margin: 0;
    color: var(--color-white);
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    line-height: 1.2;
}

.preschool-cta-content p {
    max-width: 700px;
    margin: var(--space-md) 0 0;
    color: var(--color-white);
    font-size: var(--fs-sm);
}

.preschool-cta-action {
    flex: 0 0 auto;
}

.preschool-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--color-accent);
    color: var(--color-white);
    border: 1px solid var(--color-accent);
    border-radius: var(--radius-md);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    line-height: 1;
    text-decoration: none;
    transition: var(--transition);
}

    .preschool-cta-button i {
        transition: var(--transition);
    }

    .preschool-cta-button:hover {
        background: var(--color-accent-hover);
        border-color: var(--color-accent-hover);
        color: var(--color-white);
    }

        .preschool-cta-button:hover i {
            transform: translateX(var(--space-xs));
        }

    .preschool-cta-button:focus-visible {
        outline: 2px solid var(--color-white);
        outline-offset: var(--space-xs);
    }


/* =========================================================
   RESPONSIVE
========================================================= */

@media (min-width: 48rem) {

    .preschool-page-banner h1 {
        font-size: var(--fs-3xl);
    }

    .preschool-page-banner p {
        font-size: var(--fs-md);
    }


    /* INTRO */

    .preschool-intro-layout {
        flex-direction: row;
        align-items: center;
    }

    .preschool-intro-image,
    .preschool-intro-content {
        flex: 1 1 50%;
    }


    /* APPROACH */

    .preschool-approach-card {
        flex: 1 1 calc(50% - var(--space-lg));
    }


    /* DEVELOPMENT */

    .preschool-development-layout {
        flex-direction: row;
        align-items: center;
    }

    .preschool-development-content,
    .preschool-development-image {
        flex: 1 1 50%;
    }


    /* EXPERIENCES */

    .preschool-experience-card {
        flex: 1 1 calc(50% - var(--space-xl));
    }


    /* GAINS */

    .preschool-gain-card {
        flex: 1 1 calc(50% - var(--space-lg));
    }


    /* PARENT */

    .preschool-parent-overlay {
        padding: var(--space-4xl) var(--space-2xl);
    }

    .preschool-parent-content {
        max-width: 60%;
    }

        .preschool-parent-content h2 {
            font-size: var(--fs-2xl);
        }

        .preschool-parent-content p {
            font-size: var(--fs-md);
        }


    /* CTA */

    .preschool-cta-box {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: var(--space-2xl);
    }
}


@media (min-width: 64rem) {

    .section-padding {
        padding: var(--section-padding) 0;
    }


    /* APPROACH */

    .preschool-approach-card {
        flex: 1 1 calc(25% - var(--space-lg));
    }


    /* EXPERIENCES */

    .preschool-experience-card {
        flex: 1 1 calc(50% - var(--space-xl));
    }


    /* GAINS */

    .preschool-gain-card {
        flex: 1 1 calc(33.333% - var(--space-lg));
    }


    /* PARENT */

    .preschool-parent-banner,
    .preschool-parent-overlay {
        min-height: 400px;
    }

    .preschool-parent-content {
        max-width: 50%;
    }


    /* CTA */

    .preschool-cta-content h2 {
        font-size: var(--fs-2xl);
    }
}
