/* The master lockup includes transparent clear space; keep it centred without stretching. */
a.br-logo-link { position: relative; display: inline-block; flex: 0 0 auto; width: 232px; height: 48px; overflow: hidden; vertical-align: middle; }
a.br-logo-link .br-logo-image { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: block; width: 232px; height: auto; max-width: none; object-fit: contain; }
a.br-logo-link:focus-visible { outline: 2px solid #c7a35b; outline-offset: 3px; border-radius: 4px; }
.footer-brand.br-logo-link { width: 232px; }
@media (max-width: 640px) {
  a.br-logo-link { width: 162px; height: 38px; }
  a.br-logo-link .br-logo-image { width: 162px; }
}

/* Exact master logo, separate from image content and protected from crops. */
.br-visual-frame { position:relative; display:block; width:100%; overflow:hidden; border-radius:inherit; line-height:0; }
.br-visual-frame>img:not(.br-visual-logo) { display:block; width:100%; }
.br-visual-badge { position:absolute; right:2.5%; bottom:3.5%; width:23%; min-width:100px; max-width:280px; background:rgba(15,45,44,.94); border-radius:6px; padding:2px 5px; pointer-events:none; }
.br-visual-badge .br-visual-logo { display:block!important; position:static!important; width:100%!important; height:auto!important; max-height:none!important; object-fit:contain!important; margin:0!important; border-radius:0!important; }

/* Shared mobile header, including standalone listening and publishing pages. */
@media (max-width: 1100px) {
  html { scroll-padding-top: calc(132px + env(safe-area-inset-top, 0px)); }
  body .site-header, body > header:has(> a.br-logo-link), body > main > header:has(> a.br-logo-link) {
    position: sticky !important;
    top: 0 !important;
    z-index: 170;
    transform: none !important;
    transition: none !important;
  }
  body > header:not(.site-header):has(> a.br-logo-link) { background: #24182d; }
  body > main > header:not(.site-header):has(> a.br-logo-link) { background: #f8f4ed; }
  body.royal-site .site-header { padding-top: env(safe-area-inset-top, 0px); }
  body.royal-site .site-header .site-nav { max-height: calc(100dvh - 160px); overflow-y: auto; }
}
