/* Logo loop v3.22.2: screen branding; formal report contents remain static. */
@font-face { font-family: "BS Logo Futura"; src: url("fonts/FuturaPTMedium.woff") format("woff"); font-weight: 400 500; font-display: swap; }
@font-face { font-family: "BS Logo Futura"; src: url("fonts/FuturaPTDemi.woff") format("woff"); font-weight: 600 900; font-display: swap; }
:root { --bs-logo-size: 64px; }
html .brand > .brand-mark,
html .brand > .mark {
  flex: 0 0 var(--bs-logo-size);
  width: var(--bs-logo-size);
  height: var(--bs-logo-size);
  min-width: var(--bs-logo-size);
}
.brand .bs-loop-logo {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 var(--bs-logo-size);
  width: var(--bs-logo-size);
  height: var(--bs-logo-size);
  min-width: var(--bs-logo-size);
  overflow: hidden;
  isolation: isolate;
}
.brand .bs-loop-logo.bs-logo-ready {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.brand .bs-loop-logo.bs-logo-ready[data-logo-surface="ivory"] {
  background: #FFFAF7;
  border-radius: 12px;
  box-shadow: 0 0 0 1px rgba(0,48,65,.12);
}
.bs-loop-logo .bs-logo-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 2px;
  margin: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
  image-rendering: auto;
}
.bs-logo-screen-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px max(16px, calc((100vw - 1200px) / 2));
  background: #003041;
  color: #FFFAF7;
}
.bs-logo-screen-tools .brand {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
  text-decoration: none;
  color: #FFFAF7;
  font-family: "BS Logo Futura", "Futura PT", "Century Gothic", system-ui, sans-serif;
  font-size: 20px;
}
.bs-logo-screen-tools .brand-mark {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #E4665C, #F9B189);
  color: #003041;
  border-radius: 12px;
}
.bs-logo-screen-tools .brand strong { color: #FFFAF7; font-size: inherit; }
.bs-loop-logo .bs-logo-frame[hidden],
.bs-loop-logo .bs-logo-fallback[hidden] { display: none !important; }
/* Suppress legacy controls if an older cached script creates one. */
button.bs-logo-motion { display: none !important; }
@media (max-width: 560px) {
  :root { --bs-logo-size: 56px; }
  .bs-has-logo-loop .header-inner,
  .bs-has-logo-loop .top { flex-wrap: wrap; gap: 12px; }
  .bs-has-logo-loop .header-actions,
  .bs-has-logo-loop .top-actions { margin-left: auto; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .bs-loop-logo .bs-logo-animation { visibility: hidden; }
}
@media print {
  .bs-logo-screen-tools, .bs-loop-logo .bs-logo-animation, button.bs-logo-motion { display: none !important; }
}
