/* Shared Header top bar: note scrolls from the left; phone stays put on the right. */
:root {
  --bb-utility-h: 0px;
}
/* Keep phone + scroll note visible while sticky headers stick underneath. */
body:has(.bb-utility) {
  --bb-utility-h: 2.05rem;
  --t-utility-h: var(--bb-utility-h);
}
.bb-utility {
  position: sticky;
  top: 0;
  z-index: 95;
  /* Brand primary — matches palette / theme-color (not darkened secondary) */
  background: var(--color-primary, #134e4a);
  color: var(--color-primary-text, #fff);
  font-size: 0.78rem;
  font-weight: 550;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.bb-utility + .site-header,
body:has(.bb-utility) .site-header {
  top: var(--bb-utility-h);
}
.bb-utility__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.85rem;
  max-width: 88rem;
  margin-inline: auto;
  padding: 0.35rem clamp(1rem, 3vw, 2.5rem);
  min-height: 2.05rem;
  box-sizing: border-box;
}
.bb-utility__note {
  min-width: 0;
  overflow: hidden;
  padding-inline-end: 0.75rem;
}
.bb-utility__track {
  display: flex;
  width: max-content;
  gap: 2.5rem;
  animation: bb-utility-scroll 22s linear infinite;
}
.bb-utility__item {
  flex: 0 0 auto;
  white-space: nowrap;
}
.bb-utility__phone {
  justify-self: end;
  margin-inline-start: 1rem;
  color: inherit;
  text-decoration: none;
  font-weight: 650;
  white-space: nowrap;
}
.bb-utility__detail {
  justify-self: end;
  margin-inline-start: 1rem;
  color: inherit;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.95;
}
.bb-utility__phone:hover {
  text-decoration: underline;
}
.bb-utility:hover .bb-utility__track,
.bb-utility:focus-within .bb-utility__track {
  animation-play-state: paused;
}
@keyframes bb-utility-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .bb-utility__track {
    animation: none;
  }
}
