/* School advertising palette, sampled from the supplied SVG artwork.
   Perimeter: #feb93a / #45b9f0 / #f9ebdc. Pale backgrounds: #d6e6ef.
   Paper: #f8f6f4. Headings and the lower wave: #052439.
   Darker blue is used for readable links on the light paper. */
.school-site {
    --school-green: #7bc96f;
    --school-shadow: 0 16px 40px rgba(5, 36, 57, 0.08);
    --school-page-gutter: var(--brand-gutter);
}

.school-site .school-page {
    position: relative;
    isolation: isolate;
    background: none;
}

.school-site .school-shell,
.school-site .school-footer__inner,
.school-site .school-footer__bottom {
    width: min(1180px, calc(100% - var(--school-page-gutter)));
}

.school-site .school-hero {
    padding-top: clamp(4.5rem, 9vw, 8rem);
}

.school-site .school-hero__content h1,
.school-site .school-subhero h1 {
    color: var(--school-ink);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.school-site .school-hero__content h1 {
    font-size: clamp(2.8rem, 4.5vw, 4rem);
}

.school-site .school-hero__visual {
    min-height: 32rem;
    border: 0;
    border-radius: 0;
    background: none;
}

.school-site .school-hero__visual::before {
    position: absolute;
    top: 1rem;
    right: 0;
    width: 91%;
    height: 82%;
    border-radius: 57% 43% 61% 39% / 41% 54% 46% 59%;
    background: var(--school-blue-soft);
    transform: rotate(-7deg);
    content: "";
}

.school-site .school-hero__emblem {
    position: relative;
    z-index: 1;
    width: min(78%, 22rem);
    height: auto;
    margin-bottom: 6.5rem;
    object-fit: contain;
}

.school-site .school-hero__dots {
    top: 1.75rem;
    left: -0.35rem;
    transform: rotate(-9deg);
}

.school-site .student-day-card {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0.25rem;
    width: min(24rem, 91%);
    padding: 1.4rem 1.6rem;
    border: 1px solid var(--school-border);
    border-top: 5px solid var(--school-yellow);
    background: var(--school-surface);
    backdrop-filter: none;
}

.school-site .student-day-card span,
.school-site .student-day-card small {
    color: var(--school-ink-soft);
}

.school-site .principles-grid article {
    padding: 1.7rem;
    border-radius: 2.8rem 1.2rem 2.4rem 1.4rem / 1.6rem 2.5rem 1.6rem 2.5rem;
}

.school-site .principles-grid article:nth-child(even) {
    border-radius: 1.2rem 2.8rem 1.4rem 2.4rem / 2.5rem 1.6rem 2.5rem 1.6rem;
}

.school-site .school-team article {
    padding: 1.6rem;
    border: 0;
    border-radius: 2.8rem 1.4rem 3rem 1.6rem / 1.6rem 2.6rem 1.7rem 2.8rem;
}

.school-site .school-team article:nth-child(even) {
    border-radius: 1.4rem 2.8rem 1.6rem 3rem / 2.6rem 1.6rem 2.8rem 1.7rem;
}

.school-site .school-button--primary:hover,
.school-site .nav-school-contact:hover {
    background: #fcb63a;
}

.school-site .school-offer-card--primary {
    border-top: 4px solid var(--school-brand-blue);
    background: #e9f1f6;
}

.school-site .school-offer-card--secondary,
.school-site .school-offer-card--accent {
    border-top: 4px solid var(--school-yellow);
    background: #fff2dc;
}

.school-site .school-process li {
    border-top-color: var(--school-brand-blue);
}

.school-site .school-cta {
    background: var(--school-ink);
}

.school-site .school-button--light {
    background: var(--school-yellow);
}

.school-site .contact-form-card__heading {
    background: var(--school-blue-soft);
}

.site-header--school {
    border-bottom-color: var(--school-blue-soft);
    background: var(--school-bg);
}

.site-header--school .site-brand {
    color: var(--school-ink);
}

.site-header--school .nav-phone {
    border-color: var(--school-yellow);
    background: var(--school-yellow);
    color: var(--school-ink);
}

.school-site .school-footer .footer-logo {
    padding: 0.4rem;
    border-radius: 0.75rem;
    background: var(--school-bg);
}

.school-site .school-footer__tagline,
.school-site .school-footer__reach,
.school-site .school-footer__bottom {
    color: var(--school-blue-soft);
}

.school-site .school-footer .footer-column > strong,
.school-site .school-footer__location-label {
    color: var(--school-yellow);
}

.school-site .school-footer .legal-links a {
    color: var(--school-bg);
}

.school-site .school-footer a:focus-visible {
    outline-color: var(--school-brand-blue);
}

@media (max-width: 900px) {
    .school-site .school-hero__visual {
        width: min(32rem, 100%);
        min-height: 28rem;
        margin-inline: auto;
    }
}

@media (max-width: 640px) {
    .school-site .school-hero__visual {
        min-height: 25rem;
    }

    .school-site .school-subhero {
        padding-top: 4.5rem;
    }

    .school-site .school-hero__content h1,
    .school-site .school-subhero h1 {
        font-size: clamp(2.3rem, 11vw, 3.5rem);
    }

    .school-site .student-day-card {
        width: 100%;
        padding: 1.1rem;
    }

    .school-site .school-hero__dots {
        top: 1.25rem;
    }
}
