
/* Final site consistency fixes — v3.31.0 */
.bjs-admission-session-ribbon{background:#fff8ec;border-top:1px solid rgba(29,0,69,.08);border-bottom:1px solid rgba(29,0,69,.08)}
.bjs-admission-session-ribbon-inner{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;padding-top:15px;padding-bottom:15px}
.bjs-admission-session-ribbon-inner>div{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:9px 14px;border-radius:12px;background:#fff;border:1px solid rgba(29,0,69,.10)}
.bjs-admission-session-ribbon-inner span{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b617c}
.bjs-admission-session-ribbon-inner strong{font-size:1rem;color:#1d0045;white-space:nowrap}
.bjs-admission-session-ribbon-inner>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:10px;background:#1d0045;color:#fff;text-decoration:none;font-size:.72rem;font-weight:850;text-transform:uppercase;white-space:nowrap}
.bjs-admission-session-ribbon-inner>a:hover{background:#38105f;color:#fff}
.bjs-latest-home{display:block!important}
.bjs-approved-media-gallery:empty:before{content:'School photographs are being prepared for display.';display:block;grid-column:1/-1;padding:30px;border:1px dashed rgba(29,0,69,.2);border-radius:16px;text-align:center;color:#6b617c;background:#fff8ec}
@media(max-width:780px){.bjs-admission-session-ribbon-inner{grid-template-columns:1fr;gap:9px}.bjs-admission-session-ribbon-inner>div{justify-content:space-between}.bjs-admission-session-ribbon-inner>a{width:100%}}


/* Official brand system, footer and watermark controls — v3.34.1 */
.site-header .brand-identity{gap:0!important;min-width:0}
.site-header .brand-logo-wrap{display:flex!important;align-items:center!important;width:250px!important;height:76px!important;flex:0 0 250px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
.site-header .brand-logo-wrap img,.site-header .custom-logo{display:block!important;width:250px!important;height:76px!important;max-width:250px!important;max-height:76px!important;object-fit:contain!important;object-position:left center!important;border-radius:0!important}
.site-footer .footer-logo{display:inline-flex!important;width:min(280px,100%)!important;height:auto!important;padding:0!important;background:transparent!important;border-radius:0!important;overflow:visible!important}.site-footer .footer-brand img,.site-footer .footer-logo img{display:block!important;width:100%!important;height:auto!important;max-width:280px!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
.bjs-whatsapp-consent{border-left:5px solid #25d366!important;background:#f2fff6!important}
.bjs-whatsapp-consent input[type=checkbox]{accent-color:#128c4a}
.bjs-career-whatsapp{display:inline-flex!important;align-items:center;justify-content:center;margin:10px 0;min-height:44px;text-decoration:none!important}
@media(max-width:900px){.site-header .brand-logo-wrap{width:205px!important;height:60px!important;flex-basis:205px!important}.site-header .brand-logo-wrap img,.site-header .custom-logo{width:205px!important;height:60px!important;max-width:205px!important;max-height:60px!important}}
@media(max-width:620px){.site-header .brand-logo-wrap{width:178px!important;height:54px!important;flex-basis:178px!important}.site-header .brand-logo-wrap img,.site-header .custom-logo{width:178px!important;height:54px!important;max-width:178px!important;max-height:54px!important}.site-header .brand-identity:after{display:none!important}}

@media(max-width:620px){.site-footer .footer-logo{width:min(230px,100%)!important}}

/* Footer logo visibility fix — v3.34.1
 * The official horizontal logo uses indigo artwork. On the deep-indigo footer
 * it needs a controlled light brand plate so the full mark remains legible.
 */
.site-footer .footer-main{
    position:relative;
    overflow:hidden;
}
.site-footer .footer-grid,
.site-footer .management-note{
    position:relative;
    z-index:2;
}
.site-footer .footer-brand{
    position:relative;
    z-index:3;
}
.site-footer .footer-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(330px,100%)!important;
    min-height:122px!important;
    height:auto!important;
    margin:0 0 18px!important;
    padding:13px 16px!important;
    background:linear-gradient(145deg,#ffffff 0%,#fff8ec 100%)!important;
    border:1px solid rgba(245,205,150,.72)!important;
    border-radius:16px!important;
    box-shadow:0 16px 38px rgba(7,0,28,.32),inset 0 0 0 1px rgba(255,255,255,.72)!important;
    overflow:hidden!important;
    isolation:isolate!important;
    text-decoration:none!important;
}
.site-footer .footer-logo:focus-visible{
    outline:3px solid #f1951a!important;
    outline-offset:4px!important;
}
.site-footer .footer-brand img,
.site-footer .footer-logo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:298px!important;
    max-height:104px!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    position:relative!important;
    z-index:2!important;
}
.site-footer .bjs-footer-logo-watermark{
    z-index:0!important;
}
@media(max-width:620px){
    .site-footer .footer-logo{
        width:min(286px,100%)!important;
        min-height:108px!important;
        padding:11px 13px!important;
    }
    .site-footer .footer-brand img,
    .site-footer .footer-logo img{
        max-width:258px!important;
        max-height:88px!important;
    }
}

/* Footer identity hardening — v3.35.0 */
.site-footer .footer-logo{background:#fff8ec!important;border-color:rgba(245,205,150,.9)!important;min-height:128px!important}
.site-footer .footer-logo img{width:100%!important;max-width:100%!important;max-height:112px!important;object-fit:contain!important;background:#fff8ec!important}
@media(max-width:620px){.site-footer .footer-logo{min-height:112px!important}.site-footer .footer-logo img{max-height:94px!important}}
