/* v4.7: approved exact logo (black), visible dimensions, and text-overlap protections.
   The source PNG remains identical to the user-approved school logo; only the URL name changes. */
:root{--bjs-logo-height-desktop:105px;--bjs-logo-width-desktop:350px}
body.bjs-corporate-safe-v42 .site-header .brand-bar{background:#fff!important;overflow:visible!important}
body.bjs-corporate-safe-v42 .site-header .brand-inner{
   display:grid!important;grid-template-columns:minmax(0,355px) minmax(0,1fr) auto!important;
   align-items:center!important;justify-content:space-between!important;gap:clamp(15px,3vw,44px)!important;
   min-height:130px!important;height:auto!important;padding-block:12px!important;overflow:visible!important
}
body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-identity{
   display:flex!important;align-items:center!important;width:100%!important;max-width:355px!important;
   min-width:0!important;height:auto!important;overflow:visible!important;flex:none!important
}
body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap{
   display:flex!important;align-items:center!important;justify-content:flex-start!important;
   flex:1 1 auto!important;width:100%!important;height:auto!important;max-width:355px!important;
   min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important
}
body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap img.bjs-header-logo{
   display:block!important;position:static!important;width:100%!important;height:auto!important;max-width:355px!important;
   max-height:110px!important;min-width:0!important;min-height:0!important;object-fit:contain!important;
   object-position:left center!important;margin:0!important;padding:0!important;border:none!important;
   background:#fff!important;transform:none!important;opacity:1!important;visibility:visible!important
}
body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-tagline{
   display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;
   min-width:0!important;max-width:100%!important;gap:clamp(6px,1vw,18px)!important;
   font-size:clamp(13px,1.32vw,19px)!important;line-height:1.5!important;white-space:normal!important;letter-spacing:0!important
}
body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-cta{
   min-width:0!important;max-width:245px!important;height:auto!important;white-space:normal!important;
   padding:14px 17px!important;text-align:center!important;line-height:1.32!important;font-size:clamp(12px,1vw,15px)!important
}
body.bjs-corporate-safe-v42 .site-header .primary-nav .nav-inner{max-width:100%!important}
body.bjs-corporate-safe-v42 .site-header .primary-nav li a{line-height:1.5!important;overflow-wrap:normal!important}
body.bjs-corporate-safe-v42 .bjs-v45-hero .bjs-v45-hero-title,
body.bjs-corporate-safe-v42 .bjs-v45-story h2{overflow:visible!important;max-width:100%!important}
@media(max-width:1160px){
 body.bjs-corporate-safe-v42 .site-header .brand-inner{grid-template-columns:minmax(0,320px) minmax(0,1fr) auto!important;gap:15px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap img.bjs-header-logo{max-width:320px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-identity{max-width:320px!important}
}
@media(max-width:980px){
 body.bjs-corporate-safe-v42 .site-header .brand-inner{grid-template-columns:minmax(0,300px) 1fr auto!important;min-height:105px!important;gap:12px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-tagline{display:none!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-identity{max-width:300px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap img.bjs-header-logo{max-width:300px!important;max-height:94px!important}
}
@media(max-width:760px){
 body.bjs-corporate-safe-v42 .site-header .brand-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    min-height:90px!important;gap:9px!important;padding:12px 0!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-identity{grid-column:1!important;grid-row:1!important;max-width:285px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap{max-width:285px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap img.bjs-header-logo{max-width:285px!important;max-height:90px!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-tagline,
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-cta{display:none!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .mobile-menu-toggle{grid-column:2!important;grid-row:1!important;justify-self:end!important}
}
@media(max-width:390px){
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-identity,
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap{max-width:min(72vw,235px)!important}
 body.bjs-corporate-safe-v42 .site-header .brand-inner .brand-logo-wrap img.bjs-header-logo{max-width:min(72vw,235px)!important;max-height:78px!important}
}
/* Preserve color, word-wrap and legibility in the cinema sections. */
body.bjs-corporate-safe-v42 .bjs-v45-chapter h3{overflow-wrap:normal!important;word-break:normal!important;line-height:1.12!important}
@media(max-width:360px){body.bjs-corporate-safe-v42 .bjs-v45-chapter h3{font-size:clamp(2.6rem,15vw,3.25rem)!important}}
