/* Shared accessibility and design tokens. Component styles are loaded separately. */
.bfo-rates,
.bfo-rates-strip,
.bfo-rates-hero,
.bfo-rates-hero-copy,
.bfo-rates-sources {
  --bfo-rates-ink: #040136;
  --bfo-rates-ink-soft: #1a1b4b;
  --bfo-rates-signal: #d44300;
  --bfo-rates-signal-decorative: #ee4c01;
  --bfo-rates-paper: #ffffff;
  --bfo-rates-mist: #f5f6fb;
  --bfo-rates-line: #e5e8f2;
  --bfo-rates-line-strong: #c7ccdc;
  --bfo-rates-muted: #5c6079;
  --bfo-rates-muted-soft: #6b6f87;
  --bfo-rates-good: #157a55;
  --bfo-rates-bad: #b8320a;
  --bfo-rates-up: #157a55;
  --bfo-rates-down: #b8320a;
  --bfo-rates-flat: #6b6f87;
  --bfo-rates-focus: #0b63ce;
  --bfo-rates-radius: 18px;
  --bfo-rates-shadow: 0 1px 2px rgba(4, 1, 54, 0.05), 0 30px 60px -22px rgba(4, 1, 54, 0.28);
  color: var(--bfo-rates-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

.bfo-rates *,
.bfo-rates *::before,
.bfo-rates *::after,
.bfo-rates-strip *,
.bfo-rates-strip *::before,
.bfo-rates-strip *::after,
.bfo-rates-hero *,
.bfo-rates-hero *::before,
.bfo-rates-hero *::after,
.bfo-rates-hero-copy *,
.bfo-rates-hero-copy *::before,
.bfo-rates-hero-copy *::after,
.bfo-rates-sources *,
.bfo-rates-sources *::before,
.bfo-rates-sources *::after {
  box-sizing: border-box;
}

.bfo-rates__screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  word-wrap: normal !important;
}

.bfo-rates a:focus-visible,
.bfo-rates-strip a:focus-visible,
.bfo-rates-strip [tabindex="0"]:focus-visible,
.bfo-rates-hero a:focus-visible,
.bfo-rates-hero-copy a:focus-visible,
.bfo-rates-sources a:focus-visible {
  outline: 3px solid var(--bfo-rates-focus);
  outline-offset: 3px;
}

.bfo-rates a,
.bfo-rates-hero a,
.bfo-rates-hero-copy a,
.bfo-rates-sources a {
  text-decoration-skip-ink: auto;
}

@media (prefers-reduced-motion: reduce) {
  .bfo-rates *,
  .bfo-rates-strip *,
  .bfo-rates-hero *,
  .bfo-rates-hero-copy *,
  .bfo-rates-sources * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

@media (forced-colors: active) {
  .bfo-rates,
  .bfo-rates-strip,
  .bfo-rates-hero,
  .bfo-rates-hero-copy,
  .bfo-rates-sources {
    forced-color-adjust: auto;
  }

  .bfo-rates__status-dot,
  .bfo-rates-strip__dot,
  .bfo-rates-hero-copy__eyebrow > span {
    background: ButtonText;
    border: 1px solid ButtonText;
  }

  .bfo-rates__button,
  .bfo-rates-hero-copy__button {
    border: 2px solid ButtonText;
  }
}
