
/* ==============================================================
   CINEMATIC REFINED — VERSION 3.2.0
   Targeted contrast corrections without changing the v3.0 design
   ============================================================== */

:root{
    --bjs-dark-copy:rgba(255,255,255,.80);
    --bjs-dark-soft:rgba(255,255,255,.66);
}

/* Dark components: explicit readable typography */
.bjs-cinematic-hero,
.bjs-premium-facts,
.bjs-photo-story-section,
.bjs-whole-child-section,
.bjs-admission-cta-v3,
.experience-section,
.admission-cta,
.page-hero,
.about-hero,
.about-vision-section,
.about-experience-banner,
.about-identity-card,
.about-admission-cta,
.bjs-page-hero,
.bjs-dark-section,
.bjs-stage-grid article,
.bjs-process-grid article,
.bjs-fee-note,
.bjs-final-cta,
.bjs-stream-card-head,
.bjs-career-hero,
.bjs-career-email-card,
.bjs-career-final-cta,
.sidebar-cta,
.visual-note{
    color:#fff;
}

.bjs-cinematic-hero h1,
.bjs-cinematic-hero h2,
.bjs-cinematic-hero h3,
.bjs-premium-facts h1,
.bjs-premium-facts h2,
.bjs-premium-facts h3,
.bjs-photo-story-section h1,
.bjs-photo-story-section h2,
.bjs-photo-story-section h3,
.bjs-whole-child-section h1,
.bjs-whole-child-section h2,
.bjs-whole-child-section h3,
.bjs-admission-cta-v3 h1,
.bjs-admission-cta-v3 h2,
.bjs-admission-cta-v3 h3,
.experience-section h1,
.experience-section h2,
.experience-section h3,
.admission-cta h1,
.admission-cta h2,
.admission-cta h3,
.page-hero h1,
.page-hero h2,
.about-hero h1,
.about-hero h2,
.about-vision-section h1,
.about-vision-section h2,
.about-vision-section h3,
.about-experience-banner h1,
.about-experience-banner h2,
.about-identity-card h1,
.about-identity-card h2,
.about-identity-card h3,
.about-admission-cta h1,
.about-admission-cta h2,
.bjs-page-hero h1,
.bjs-page-hero h2,
.bjs-dark-section h1,
.bjs-dark-section h2,
.bjs-dark-section h3,
.bjs-stage-grid article h3,
.bjs-process-grid article h3,
.bjs-fee-note h3,
.bjs-final-cta h1,
.bjs-final-cta h2,
.bjs-stream-card-head h3,
.bjs-career-hero h1,
.bjs-career-hero h2,
.bjs-career-email-card h3,
.bjs-career-final-cta h1,
.bjs-career-final-cta h2,
.sidebar-cta h3,
.visual-note h3{
    color:#fff!important;
}

.bjs-cinematic-hero p,
.bjs-photo-story-section .section-heading p,
.bjs-whole-child-section .section-heading p,
.bjs-admission-cta-v3 p,
.experience-section p,
.admission-cta p,
.page-hero p,
.about-hero p,
.about-vision-section p,
.about-experience-banner p,
.about-identity-card p,
.about-admission-cta p,
.bjs-page-hero p,
.bjs-dark-section p,
.bjs-stage-grid article p,
.bjs-process-grid article p,
.bjs-fee-note p,
.bjs-final-cta p,
.bjs-career-hero p,
.bjs-career-email-card p,
.bjs-career-final-cta p,
.sidebar-cta p,
.visual-note p{
    color:var(--bjs-dark-copy)!important;
}

.bjs-premium-facts .fact strong{
    color:var(--bjs-gold)!important;
}
.bjs-premium-facts .fact span{
    color:rgba(255,255,255,.76)!important;
}
.bjs-photo-story-section .section-kicker,
.bjs-whole-child-section .section-kicker{
    color:var(--bjs-gold)!important;
}
.bjs-stage-button{
    color:rgba(255,255,255,.74);
}
.bjs-stage-button strong{
    color:inherit;
}
.bjs-stage-button.is-active,
.bjs-stage-button:hover{
    color:#fff;
}
.bjs-orbit-node span{
    color:rgba(255,255,255,.72);
}
.bjs-campus-banner-copy h2{
    color:#fff!important;
}
.bjs-campus-banner-copy p{
    color:rgba(255,255,255,.80)!important;
}

/* Header and footer readability */
.utility-bar a{
    color:rgba(255,255,255,.86);
}
.utility-bar a:hover{
    color:var(--bjs-gold);
}
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer strong{
    color:#fff!important;
}
.site-footer p,
.site-footer address,
.site-footer li{
    color:rgba(255,255,255,.72)!important;
}
.site-footer a{
    color:rgba(255,255,255,.84);
}
.site-footer a:hover{
    color:var(--bjs-gold);
}

/* Keep the cinematic hero disciplined */
.bjs-home-v3 .hero-content h1{
    max-width:850px;
}
.bjs-home-v3 .hero-copy{
    max-width:650px;
    color:rgba(255,255,255,.84);
}
.bjs-home-v3 .hero-actions{
    gap:12px;
}
.bjs-home-v3 .hero-actions .bjs-btn{
    min-width:190px;
}

/* Light cards always have dark readable text */
.quick-link-card,
.news-card,
.bjs-managed-document,
.bjs-info-card,
.bjs-feature-card,
.bjs-card,
.bjs-partner-card,
.bjs-facility-card,
.bjs-policy-card{
    color:var(--bjs-text);
}
.quick-link-card strong,
.news-card h3,
.bjs-managed-document h3,
.bjs-info-card h3,
.bjs-feature-card h3,
.bjs-card h3,
.bjs-partner-card h3,
.bjs-facility-card h3,
.bjs-policy-card h3{
    color:var(--bjs-indigo);
}
.quick-link-card small,
.news-card p,
.bjs-managed-document p,
.bjs-info-card p,
.bjs-feature-card p,
.bjs-card p,
.bjs-partner-card p,
.bjs-facility-card p,
.bjs-policy-card p{
    color:var(--bjs-muted);
}
.quick-link-card:hover strong{
    color:#fff;
}

/* Curated social section */
.bjs-curated-social{
    background:
        radial-gradient(circle at 5% 0,rgba(241,149,26,.10),transparent 28%),
        linear-gradient(180deg,#fff,#fff9ef);
}
.bjs-social-story-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.bjs-social-story-card{
    position:relative;
    min-height:440px;
    overflow:hidden;
    border-radius:26px;
    color:#fff;
    box-shadow:0 24px 65px rgba(20,0,57,.16);
    transition:transform .45s var(--bjs-ease),box-shadow .45s var(--bjs-ease);
}
.bjs-social-story-card:hover{
    transform:translateY(-8px);
    box-shadow:0 35px 80px rgba(20,0,57,.22);
}
.bjs-social-story-card>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .9s var(--bjs-ease);
}
.bjs-social-story-card:hover>img{
    transform:scale(1.06);
}
.bjs-social-story-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(0deg,rgba(20,0,57,.96),rgba(20,0,57,.10) 72%),
        linear-gradient(90deg,rgba(20,0,57,.25),transparent);
}
.bjs-social-story-icon{
    position:absolute;
    left:24px;
    top:24px;
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    border:1px solid rgba(255,255,255,.22);
    border-radius:17px;
    background:rgba(20,0,57,.48);
    backdrop-filter:blur(12px);
}
.bjs-social-story-icon svg{
    width:24px;
    height:24px;
    fill:#fff;
}
.bjs-social-story-copy{
    position:absolute;
    left:26px;
    right:26px;
    bottom:26px;
}
.bjs-social-story-copy small,
.bjs-social-story-copy strong,
.bjs-social-story-copy i{
    display:block;
}
.bjs-social-story-copy small{
    color:var(--bjs-gold);
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.bjs-social-story-copy strong{
    margin-top:8px;
    color:#fff;
    font-size:1.13rem;
    line-height:1.25;
}
.bjs-social-story-copy i{
    margin-top:16px;
    color:rgba(255,255,255,.76);
    font-size:.6rem;
    font-style:normal;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

/* Popup: one dominant headline, sharp local logo and compact proportions */
.bjs-admission-popup-html{
    width:min(720px,92vw);
}
.bjs-popup-brand-row{
    min-height:102px;
    padding-top:15px;
}
.bjs-popup-logo{
    max-width:min(310px,68vw);
    max-height:76px;
}
.bjs-popup-kicker{
    color:#B85D00;
    font-size:.63rem;
}
.bjs-popup-admission-headline{
    margin-bottom:13px;
}
.bjs-popup-admission-headline span{
    color:var(--bjs-indigo);
}
.bjs-popup-admission-headline strong{
    color:#D77300;
}
.bjs-popup-main h2{
    font-size:clamp(1.45rem,2.8vw,2.15rem);
}
.bjs-popup-summary{
    color:#5D526A;
}
.bjs-popup-stream-grid article{
    color:var(--bjs-text);
}
.bjs-popup-stream-grid strong{
    color:var(--bjs-indigo);
}
.bjs-popup-stream-grid small{
    color:#655A72;
}

/* Navigation dropdown */
.bjs-menu .sub-menu{
    background:#fff;
}
.bjs-menu .sub-menu a{
    color:var(--bjs-indigo)!important;
}
.bjs-menu .sub-menu a:hover{
    color:var(--bjs-indigo)!important;
    background:var(--bjs-cream);
}

/* Tables */
.bjs-data-table th,
.entry-content th{
    color:#fff!important;
}
.bjs-data-table td,
.entry-content td{
    color:var(--bjs-text);
}

/* Mobile */
@media(max-width:900px){
    .bjs-social-story-grid{
        grid-template-columns:1fr 1fr;
    }
    .bjs-social-story-card:last-child{
        grid-column:1 / -1;
        min-height:360px;
    }
}
@media(max-width:650px){
    .bjs-social-story-grid{
        grid-template-columns:1fr;
    }
    .bjs-social-story-card,
    .bjs-social-story-card:last-child{
        grid-column:auto;
        min-height:390px;
    }
    .bjs-admission-popup-html{
        width:min(95vw,620px);
    }
}


/* STABLE HEADER — VERSION 3.2.2 */
.site-header,
.site-header *{
    backface-visibility:hidden;
}
.site-header.is-scrolled{
    box-shadow:0 14px 38px rgba(20,0,57,.13);
}
.site-header.is-condensed .utility-bar,
.site-header.is-condensed .notice-bar,
.site-header.is-condensed .brand-bar{
    max-height:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
}
