html {
  background: var(--v3-canvas);
  color: var(--v3-text);
  font-family: var(--v3-font);
  font-variant-numeric: tabular-nums;
  scroll-behavior: smooth;
}

body[data-v3-shell="adaptive-premium"] {
  min-width: 0;
  max-width: 100%;
  background: var(--v3-canvas);
  color: var(--v3-text);
  overflow-x: clip;
}

body[data-v3-shell="adaptive-premium"] *,
body[data-v3-shell="adaptive-premium"] *::before,
body[data-v3-shell="adaptive-premium"] *::after {
  box-sizing: border-box;
}

.v3-skip-link {
  position: fixed;
  left: 12px;
  top: 10px;
  z-index: 5000;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--v3-text);
  color: var(--v3-surface) !important;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform .16s ease;
}

.v3-skip-link:focus { transform: translateY(0); }

body[data-v3-shell="adaptive-premium"] :focus-visible {
  outline: 3px solid var(--v3-focus) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--v3-focus) 20%, transparent) !important;
}

body[data-v3-shell="adaptive-premium"] main:focus { outline: none; }
body[data-v3-shell="adaptive-premium"] a { text-underline-offset: .18em; }
body[data-v3-shell="adaptive-premium"] button,
body[data-v3-shell="adaptive-premium"] input,
body[data-v3-shell="adaptive-premium"] select,
body[data-v3-shell="adaptive-premium"] textarea { font: inherit; }

/* Contrast-owned dark surfaces must not inherit legacy global !important text. */
body[data-v3-shell="adaptive-premium"] .partner-focus-strip,
body[data-v3-shell="adaptive-premium"] .partner-focus-strip :is(h1,h2,h3,strong,span,small,.eyebrow),
body[data-v3-shell="adaptive-premium"] .rx-owner-money-card.is-primary,
body[data-v3-shell="adaptive-premium"] .rx-owner-money-card.is-primary :is(strong,span,small) {
  color: var(--v3-on-dark) !important;
}

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