:root {
  /* Core brand roles: keep these semantic rather than page-specific. */
  --ri-navy: #111827;
  --ri-primary-blue: #1675b5;
  --ri-primary-blue-hover: #11639b;
  --ri-primary-blue-active: #0d527f;
  --ri-accent-blue: #1d8fe1;
  --ri-cyan: #0099d6;
  --ri-muted: #667085;
  --ri-blue-soft: #eef8ff;
}

body::selection,
body *::selection {
  background: var(--ri-primary-blue) !important;
  color: #ffffff !important;
}

.ri-functional-text {
  color: var(--ri-primary-blue-hover) !important;
}

.ri-accent-text {
  color: var(--ri-accent-blue) !important;
}

.ri-accent-bg {
  background-color: var(--ri-accent-blue) !important;
}

.ri-accent-icon-surface {
  background-color: var(--ri-blue-soft) !important;
  color: var(--ri-accent-blue) !important;
}

.group:hover .ri-accent-icon-surface {
  background-color: var(--ri-accent-blue) !important;
  color: #ffffff !important;
}

.ri-link {
  color: var(--ri-primary-blue-hover) !important;
}

.ri-link:hover,
.ri-link:focus-visible {
  color: var(--ri-primary-blue-active) !important;
}

.ri-link-hover:hover,
.ri-link-hover:focus-visible {
  color: var(--ri-primary-blue-hover) !important;
}

.ri-focus-blue:focus {
  border-color: var(--ri-primary-blue-hover) !important;
  box-shadow: 0 0 0 1px var(--ri-primary-blue-hover) !important;
}

.ri-primary-button {
  background-color: var(--ri-primary-blue) !important;
  color: #ffffff !important;
}

.ri-primary-button:hover,
.ri-primary-button:focus-visible {
  background-color: var(--ri-primary-blue-hover) !important;
}

.ri-primary-button:focus-visible {
  outline: 2px solid var(--ri-primary-blue-hover);
  outline-offset: 3px;
}

.ri-primary-button:active {
  background-color: var(--ri-primary-blue-active) !important;
}
