:root {
  --bb-navy: #0b2e59;
  --bb-navy-2: #123f73;
  --bb-ink: #2f2a25;
  --bb-muted: #6f6256;
  --bb-cream: #fffaf3;
  --bb-cream-2: #f6efe4;
  --bb-panel: #fffdf9;
  --bb-line: #e5d8c7;
  --bb-line-strong: #d3bea7;
  --bb-gold: #c49f76;
  --bb-gold-2: #ad8256;
  --bb-success: #166534;
  --bb-danger: #9b1c1c;
  --bb-shadow-sm: 0 4px 14px rgba(47, 42, 37, .08);
  --bb-shadow-md: 0 14px 34px rgba(47, 42, 37, .12);
  --bb-radius: 8px;
  --bb-radius-sm: 6px;
  --bb-page-max: 1180px;
  --bb-admin-max: 1440px;
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: light;
}

body {
  color: var(--bb-ink);
  background: linear-gradient(180deg, #f7f1e8 0%, #fffdf9 45%, #f7f1e8 100%);
}

a {
  color: var(--bb-navy);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(196, 159, 118, .34);
  outline-offset: 2px;
}

.bb-page-shell {
  max-width: var(--bb-page-max);
  margin: 0 auto;
  padding: 1.25rem;
}

.bb-panel {
  background: rgba(255, 253, 249, .96);
  border: 1px solid var(--bb-line);
  border-radius: var(--bb-radius);
  box-shadow: var(--bb-shadow-sm);
}

.bb-kicker {
  color: var(--bb-gold-2);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bb-muted {
  color: var(--bb-muted);
}

.btn,
button,
.secondary-button,
.nav-button {
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.btn:hover,
button:hover,
.secondary-button:hover,
.nav-button:hover {
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
