/* Brand palette: shared overrides loaded after page-specific styles. */
:root {
    --primary-color: #115F52;
    --primary-dark: #0B4038;
    --secondary-color: #115F52;
    --accent-color: #EF7F1A;
    --accent-light: #FFF0E2;
    --background-color: #FFF7B2;
    --light-background: #FFFDF7;
    --text-dark: #1C1B17;
    --text-muted: #5F5D58;
    --mobile-brand-text: #115F52;
    --bdgs-orange: #EF7F1A;
    --bdgs-yellow: #FFF7B2;
    --bdgs-dark: #1C1B17;
    --home-ink: #1C1B17;
    --home-muted: #5F5D58;
    --home-surface: #FFFDF7;
    --admission-blue: #115F52;
    --contact-blue: #115F52;
    --contact-ink: #1C1B17;
    --contact-muted: #5F5D58;
    --hero-card-accent: #EF7F1A;
}

html body { color: var(--text-dark); background-color: var(--light-background); }
::selection { color: #FFFFFF; background: var(--primary-color); }
a, .brand-primary-text, .contact-eyebrow, .contact-social a, .contact-note__links a { color: var(--primary-color); }
.brand-primary-bg, .brand-primary-card:hover, .btn-primary, .school-day .school-day__photo-arrow:hover, .contact-note__hours { background-color: var(--primary-color); }
.brand-primary-gradient { background-image: linear-gradient(to right, var(--primary-dark), var(--primary-color)); }
.brand-primary-border, .brand-primary-card, .contact-channel:hover { border-color: var(--primary-color); }
.contact-channel__icon, .contact-cta, .admission-highlight > span { background: var(--accent-color); color: #FFFFFF; }
.contact-note__hours .contact-eyebrow { color: var(--background-color); }
.school-day, .home-section-alt, .contact-page { background-color: var(--light-background); }
.footer, footer { --footer-surface: #FFF0E2; --footer-ink: #1C1B17; }
:focus-visible { outline-color: var(--accent-color); }

/* Parent reviews: a lighter section using the logo's teal and orange. */
#why-us {
    background: linear-gradient(135deg, #FFFDF7 0%, #FFF0E2 100%);
}

#why-us .home-section-title,
#why-us .text-center h2 {
    color: var(--primary-color) !important;
}

#why-us .home-section-title > em {
    color: var(--accent-color) !important;
}

/* Replace the legacy sky-blue accents used on the home page. */
.home-section-title,
.learning-journey__heading h2,
#curriculum-showcase-title {
    color: var(--primary-dark) !important;
}

.home-section-title > em,
.learning-journey__heading h2 em,
#curriculum-showcase-title > em,
.home-stats .community-stat__value,
.home-stats .community-stat p {
    color: var(--accent-color) !important;
}

.curriculum-showcase__card {
    border-left-color: var(--accent-color);
    background: rgb(255 253 247 / .88);
}

.curriculum-showcase__cta {
    border-color: var(--accent-color);
    background: var(--accent-color);
    color: #FFFFFF;
    box-shadow: 0 5px 14px rgb(239 127 26 / .18);
}

.curriculum-showcase__cta:hover {
    background: #D96C0B;
    color: #FFFFFF;
}

.school-day__card--blue {
    background: var(--accent-light);
    color: var(--text-dark);
}

.school-day__card--yellow {
    background: var(--background-color);
    color: var(--text-dark);
}

.school-day__media {
    background: #F1E7CE;
}

.school-day__playback,
.parent-review-controls button {
    border-color: rgb(17 95 82 / .24);
    color: var(--primary-color);
}

.school-day__playback:hover,
.parent-review-controls button:hover {
    background: var(--accent-light);
}

.parent-review-card {
    border-color: rgb(17 95 82 / .16);
    background: #FFFDF7;
}

.parent-review-card:hover {
    border-color: rgb(17 95 82 / .36);
}

.parent-review-slide.swiper-slide-active .parent-review-card {
    border-color: rgb(239 127 26 / .54);
    background: #FFFFFF;
    box-shadow: 0 22px 48px rgb(28 27 23 / .12), inset 0 4px 0 var(--accent-color);
}

.parent-review-content img {
    border-color: rgb(17 95 82 / .18);
}

.parent-review-facebook {
    background: var(--primary-color);
    box-shadow: 0 8px 18px rgb(17 95 82 / .22);
}

.parent-review-content > p::before {
    color: var(--accent-color);
}

/* Softer brand surfaces for page cards and form panels. */
.contact-form-card,
.contact-note__links a,
.contact-channel,
.page-hero-card {
    border-color: rgb(17 95 82 / .16);
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline-color: rgb(239 127 26 / .24);
    border-color: var(--accent-color);
}

/* Header navigation and primary action. */
.main-header .primary-nav-link:hover,
.main-header .primary-nav-link:focus-visible,
.main-header .nav-dropdown a:hover,
.main-header .nav-dropdown a:focus-visible {
    color: var(--accent-color);
}

.main-header .header-cta {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
}

.main-header .header-cta i {
    color: #FFFFFF;
    background: var(--accent-color);
}

/* Admission page: remove old blue panels and pale-blue form surfaces. */
.admission-page {
    --admission-blue: #115F52;
    --admission-blue-dark: #0B4038;
    --admission-yellow: #EF7F1A;
    --admission-ink: #1C1B17;
    --admission-copy: #5F5D58;
    --admission-pale: #FFF0E2;
    --admission-border: #E7D8C5;
}

.admission-process,
.admission-eligibility,
.admission-application {
    background-color: var(--light-background);
}

.admission-highlight,
.process-card,
.eligibility-list article,
.application-card,
.review-grid > div {
    border-color: var(--admission-border);
}

.process-card__icon,
.form-back {
    background: var(--accent-light);
    color: var(--primary-color);
}

.process-card:nth-child(even) .process-card__icon,
.form-next,
.form-submit {
    background: var(--accent-color);
    color: #FFFFFF;
}

.application-layout {
    background: var(--primary-color) !important;
}

/* Curriculum and other page accents. */
.curriculum-page {
    --curriculum-blue: #115F52;
    --curriculum-blue-dark: #0B4038;
    --curriculum-blue-bright: #115F52;
    --curriculum-yellow: #EF7F1A;
    --curriculum-ink: #1C1B17;
    --curriculum-muted: #5F5D58;
}

.curriculum-hero {
    background: linear-gradient(118deg, #FFFDF7 0%, #FFF0E2 50%, #FFF7B2 100%);
}

.curriculum-pillars__grid .curriculum-pillar__icon,
.curriculum-pillar__media::before {
    border-color: var(--primary-color);
    background: var(--primary-color);
}

.curriculum-framework__conclusion {
    background: linear-gradient(125deg, var(--primary-dark) 0%, var(--primary-color) 62%, #1D796A 100%);
    box-shadow: 0 22px 48px rgb(11 64 56 / .2);
}

.category-faq__spark,
.category-faq__intro .bdgs-split-title > em {
    color: var(--accent-color) !important;
}

.category-faq-cta {
    background: #EF7F1A;
}

/* Tailwind blue utilities used in older page templates. */
[class*="text-blue-"] { color: var(--primary-color) !important; }
[class*="bg-blue-"] { background-color: var(--accent-light) !important; }
[class*="border-blue-"] { border-color: rgb(17 95 82 / .28) !important; }
[class*="hover:text-blue-"]:hover { color: var(--accent-color) !important; }
[class*="hover:bg-blue-"]:hover { background-color: var(--accent-light) !important; }
[class*="focus:ring-blue-"]:focus { --tw-ring-color: rgb(239 127 26 / .34) !important; }

/* Why Brain Discovery and other About subpages. */
.bdgs-split-title {
    color: var(--primary-dark) !important;
}

.bdgs-split-title > em {
    color: var(--accent-color) !important;
}

.about-subpage {
    --about-blue: #115F52;
    --about-yellow: #EF7F1A;
    --about-ink: #1C1B17;
    --about-muted: #5F5D58;
    --about-line: #E7D8C5;
    --about-soft: #FFF0E2;
}

.about-highlight-title {
    color: var(--primary-dark) !important;
}

.about-highlight-title > em {
    color: var(--accent-color) !important;
}

.why-overview-section {
    background: radial-gradient(circle at 5% 12%, rgb(239 127 26 / .1), transparent 25%), #FFFDF7;
}

.why-overview__copy {
    border-color: rgb(17 95 82 / .14);
    border-left-color: var(--accent-color);
    background: rgb(255 253 247 / .94);
    box-shadow: 0 16px 40px rgb(28 27 23 / .08);
}

.why-overview__copy p {
    color: var(--text-muted);
}

.why-inspiration-section,
.why-school__copy {
    background: var(--accent-light);
}

.why-school__copy {
    border-color: rgb(17 95 82 / .2);
}

.facilities-showcase {
    background: radial-gradient(circle at 8% 8%, rgb(239 127 26 / .1), transparent 24%), linear-gradient(180deg, #FFFDF7 0%, #FFF0E2 100%);
}

.facilities-showcase__heading h2 {
    color: var(--primary-dark);
}

.facilities-showcase__heading h2 em {
    color: var(--accent-color);
}

.awards-showcase {
    background: linear-gradient(180deg, #FFFDF7 0%, #FFF0E2 100%);
}

.award-card {
    border-color: rgb(17 95 82 / .14);
    box-shadow: 0 10px 28px rgb(28 27 23 / .07);
}

.award-card:hover {
    box-shadow: 0 18px 38px rgb(28 27 23 / .12);
}

.award-card__media {
    background: #FFFDF7;
}

.award-card__placeholder {
    border-color: rgb(17 95 82 / .3);
    color: var(--primary-color);
    background: linear-gradient(145deg, #FFF0E2, #FFFDF7);
}

.award-card__year {
    color: #FFFFFF;
    background: var(--accent-color);
}

/* Existing inline facility labels on legacy About markup. */
.about-subpage [style*="color:#2EA2D4" i] {
    color: var(--primary-color) !important;
}
