.curriculum-intro {
    background: #F1EFE8;
    border-left: 5px solid #41645D;
    padding: 24px 28px;
    margin: 0 0 35px;
}

.curriculum-intro h2,
.curriculum-section h2 { margin-top: 0; }
.curriculum-section { margin-bottom: 42px; }
.curriculum-section h3 { margin-top: 28px; }
.curriculum-section h4 { margin-top: 22px; }
.curriculum-note {
    background: #F1EFE8;
    border: 1px solid #D2BB83;
    padding: 20px 24px;
    margin-top: 28px;
}
.program-divider { border-top: 4px solid #41645D; margin: 46px 0; }
.fee-card {
    background: #f7f7f7;
    border-top: 4px solid #41645D;
    min-height: 205px;
    padding: 22px;
    margin-bottom: 25px;
}
.fee-amount { color: #41645D; font-size: 28px; font-weight: 600; }
.legal-name { line-height: 1.65; }
.calendar-summary li { margin-bottom: 8px; }
@media only screen and (max-width: 767px) {
    body.home .hero-area { min-height: 200px !important; }
    #main-container { margin-top: 0 !important; }
    #main-container .content { padding: 28px 0 36px !important; }
    #main-container .row {
        margin-top: 0 !important;
        margin-bottom: 24px !important;
    }
    #main-container .row > [class*="col-"] > h1:first-child,
    #main-container .row > [class*="col-"] > h2:first-child,
    #main-container .row > [class*="col-"] > h3:first-child,
    #main-container .row > [class*="col-"] > h4:first-child {
        margin-top: 0 !important;
    }
    .curriculum-intro { padding: 18px; }
    .fee-card { min-height: 0; }
}

.mobile-submenu-toggle {
    display: none;
}

/* 2026–2027 community update */
.fca-update-page { background: #F1EFE8; }
.fca-update-banner { background: #263B37; line-height: 0; overflow: hidden; }
.fca-update-banner img { display: block; height: auto; margin: 0 auto; max-width: 1719px; width: 100%; }
.fca-update-banner-fr img {
    aspect-ratio: 1719 / 502;
    max-width: 1719px;
    object-fit: cover;
    object-position: center;
    transform: scale(2.2);
    transform-origin: center;
}
.fca-update-mobile-banner { display: none; }
.fca-update-section { padding: 64px 0 80px; }
.fca-update-letter {
    background: #fff;
    border-top: 6px solid #D2BB83;
    box-shadow: 0 16px 50px rgba(13, 45, 78, .12);
    color: #263B37;
    font-size: 18px;
    line-height: 1.8;
    margin: 0 auto;
    max-width: 920px;
    padding: 58px 72px 64px;
}
.fca-update-letter h1 { color: #263B37; font-size: 42px; line-height: 1.18; margin: 8px 0 30px; }
.fca-update-letter p { margin-bottom: 23px; }
.fca-update-kicker {
    color: #41645D;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .15em;
    margin-bottom: 0 !important;
    text-transform: uppercase;
}
.fca-update-lead { color: #263B37; font-size: 21px; }
.fca-update-language {
    align-items: center;
    display: flex;
    float: right;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
    line-height: 1;
    margin: 0 0 20px 24px;
}
.fca-update-language a,
.fca-update-language span { border: 1px solid #c9d3dc; border-radius: 20px; display: inline-block; padding: 9px 13px; }
.fca-update-language span { background: #263B37; border-color: #263B37; color: #fff; }
.fca-update-highlight {
    background: #eef4f8;
    border-left: 5px solid #D2BB83;
    color: #263B37;
    font-size: 21px;
    margin: 32px 0;
    padding: 24px 28px 2px;
}
.fca-update-closing { color: #263B37; font-size: 26px; margin-top: 36px; text-align: center; }
.fca-update-verse { background: #263B37; border: 0; color: #fff; margin: 38px 0; padding: 32px 38px; text-align: center; }
.fca-update-verse p { font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-size: 21px; font-style: italic; margin-bottom: 8px; }
.fca-update-verse cite { color: #efcf76; font-size: 15px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fca-update-signature { color: #263B37; font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-size: 19px; }
.fca-update-actions { border-top: 1px solid #7EA49C; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; padding-top: 30px; }
.fca-update-actions .btn { margin: 0; }

@media only screen and (max-width: 767px) {
    .fca-update-banner {
        align-items: center;
        background:
            radial-gradient(circle at 20% 40%, rgba(255, 255, 255, .06), transparent 34%),
            linear-gradient(145deg, #41645D 0%, #263B37 56%, #263B37 100%);
        display: flex;
        justify-content: center;
        min-height: 258px;
        padding: 82px 22px 30px;
    }
    .fca-update-banner img { display: none; transform: none; }
    .fca-update-mobile-banner {
        color: #fff;
        display: block;
        line-height: 1.2;
        text-align: center;
    }
    .fca-update-mobile-kicker {
        display: block;
        font-family: "Cormorant Garamond", Garamond, Georgia, serif;
        font-size: 34px;
        letter-spacing: .01em;
        max-width: 330px;
    }
    .fca-update-mobile-rule {
        background: #D2BB83;
        display: block;
        height: 3px;
        margin: 18px auto 14px;
        width: 58px;
    }
    .fca-update-mobile-banner strong { color: #fff; font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-size: 18px; font-weight: 400; }
    html[lang="fr"] .fca-update-mobile-kicker { font-size: 30px; }
    html[lang="fr"] .fca-update-letter h1 { font-size: 27px; }
    .fca-update-section { padding: 16px 0 40px; }
    .fca-update-section > .container { padding-left: 12px; padding-right: 12px; }
    .fca-update-letter {
        border-top-width: 4px;
        box-shadow: 0 8px 24px rgba(13, 45, 78, .08);
        font-size: 16px;
        line-height: 1.65;
        padding: 24px 20px 36px;
    }
    .fca-update-letter h1 { clear: both; font-size: 29px; line-height: 1.2; margin: 5px 0 24px; }
    .fca-update-letter p { margin-bottom: 20px; }
    .fca-update-kicker { font-size: 12px; letter-spacing: .13em; }
    .fca-update-language { float: none; justify-content: center; margin: 0 0 25px; }
    .fca-update-language a,
    .fca-update-language span { padding: 9px 14px; }
    .fca-update-lead,
    .fca-update-highlight,
    .fca-update-verse p { font-size: 18px; }
    .fca-update-highlight,
    .fca-update-verse { padding-left: 22px; padding-right: 22px; }
    .fca-update-closing { font-size: 22px; }
    .fca-update-actions .btn { width: 100%; }
}

@media only screen and (max-width: 374px) {
    .fca-update-mobile-kicker { font-size: 30px; }
    .fca-update-letter h1 { font-size: 27px; }
    html[lang="fr"] .fca-update-mobile-kicker { font-size: 27px; }
    html[lang="fr"] .fca-update-letter h1 { font-size: 25px; }
    .fca-update-language a,
    .fca-update-language span { padding-left: 12px; padding-right: 12px; }
}

@media only screen and (max-width: 992px) {
    .dd-menu > li.has-mobile-submenu {
        position: relative;
    }

    .dd-menu > li.has-mobile-submenu > a {
        padding-right: 62px;
    }

    .dd-menu > li.has-mobile-submenu > a > .fa-caret-down {
        display: none;
    }

    .mobile-submenu-toggle {
        appearance: none;
        background: transparent;
        border: 0;
        border-left: 1px solid #e6e6e6;
        color: #333;
        display: block;
        height: 46px;
        padding: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 54px;
        z-index: 3;
    }

    .mobile-submenu-toggle:focus,
    .mobile-submenu-toggle:hover {
        background: #f2f2f2;
        color: #41645D;
        outline: none;
    }

    .mobile-submenu-toggle .fa {
        transition: transform 160ms ease;
    }

    .submenu-open > .mobile-submenu-toggle .fa {
        transform: rotate(180deg);
    }

    .dd-menu > li.has-mobile-submenu > ul {
        display: none;
    }
}

/* Keep the Sequoia wordmark readable over the original photo headers. */
.site-header:not(.sticky) .default-logo img,
.site-header:not(.sticky) .default-retina-logo img { filter: brightness(0) invert(1); }