/* Impeccable colorize — logo Action #0080FF on Ink #08090C.
   Distill flattened type to slate; remaps neutrals to the mark’s hue.
   Canvas stays grey-ink; type, links, and atmosphere carry Action. */

:root {
  --text-0: #f3f7ff;
  --text-1: #c3d6ef;
  --text-2: #9bb6d6;
  --text-3: #7a98bc;
  --text-secondary: rgba(195, 214, 239, 0.82);
  --text-link-idle: rgba(195, 214, 239, 0.88);
  --border-0: rgba(0, 128, 255, 0.12);
  --border-1: rgba(0, 128, 255, 0.2);
  --glass-border-color: rgba(0, 128, 255, 0.16);
}

html {
  background: var(--bg-0);
  color: var(--text-1);
}

body:not(.ds-body):not(.admin-body) {
  color: var(--text-1);
  background:
    radial-gradient(1100px 560px at 50% -12%, rgba(var(--color-action-rgb), 0.26), transparent 58%),
    radial-gradient(720px 420px at 100% 8%, rgba(var(--color-action-rgb), 0.1), transparent 52%),
    radial-gradient(640px 380px at 0% 70%, rgba(var(--color-action-rgb), 0.06), transparent 48%),
    var(--bg-0);
}

body.ds-body,
body.admin-body {
  color: var(--text-0);
  background:
    radial-gradient(1200px 680px at 0% -10%, rgba(var(--color-action-rgb), 0.14), transparent 62%),
    radial-gradient(1100px 620px at 100% 0%, rgba(var(--color-action-rgb), 0.08), transparent 60%),
    var(--bg-0);
}

/* Distill hid the halo; logo bloom only (no measuring grid). */
body::before {
  display: block !important;
  background-image: none !important;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(var(--color-action-rgb), 0.18), transparent 62%) !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  opacity: 1;
}

h1,
h2,
h3,
h4,
.page-hero__title,
.hero__title,
.ds-page-header h1,
.ds-topbar__hello strong,
.footer-col h5,
.section-header h2 {
  color: var(--text-0);
}

p,
li,
.lead,
.page-hero__subtitle,
.hero__subtitle,
.section-header p,
.ds-page-header p,
.footer-brand p,
.service-card--v2 p,
.account-auth-card p,
.legal-prose p,
.help-article p,
.newsroom-card p,
.coach-card p {
  color: var(--text-1);
}

small,
.muted,
.meta,
.caption,
.hint,
.help-text,
time,
.ds-muted,
.service-card__meta,
.newsroom-card__meta,
.ds-topbar__hello small {
  color: var(--text-2);
}

a:not(.btn):not(.nav__link):not(.nav__account):not(.ds-nav__item):not(.ds-nav__sub-item):not(.nav__brand):not([aria-current='page']):not([aria-current='true']):not(.is-active) {
  color: var(--color-action-hover);
}

a:not(.btn):not(.nav__link):not(.nav__brand):not([aria-current='page']):not([aria-current='true']):not(.is-active):hover {
  color: #7ec4ff;
}

/* Nav lists in chrome: white at rest. Action is for CTAs and hover. */
.site-footer a:not(.btn),
.footer-col a,
.footer-link-list a,
.footer-grid--expanded .footer-col a,
.footer-grid--expanded .footer-col .footer-link-list__btn,
.legal-toc a,
.legal-toc ol a,
.help-section-nav a,
.help-pillars-sidebar__btn {
  color: var(--text-0) !important;
}

.site-footer a:not(.btn):hover,
.site-footer a:not(.btn):focus-visible,
.footer-col a:hover,
.footer-col a:focus-visible,
.footer-link-list a:hover,
.footer-grid--expanded .footer-col .footer-link-list__btn:hover,
.help-section-nav a:hover,
.help-pillars-sidebar__btn:hover:not(.is-active) {
  color: var(--color-action-hover) !important;
}

.legal-toc ol a.is-active,
.legal-toc ol a[aria-current='true'] {
  color: var(--text-0) !important;
}

.footer-support-card a,
.site-footer .footer-support-card a {
  color: var(--color-action-hover) !important;
}

/* Action fills need on-action ink. Link blue on #0080FF fails contrast. */
.legal-docs a[aria-current='page'],
.legal-docs a[aria-current='true'],
.legal-docs a[aria-current='page']:hover,
.legal-docs a[aria-current='page']:focus-visible,
.legal-docs a[aria-current='true']:hover,
.services-catalog__pill.is-active,
.newsroom__filter.is-active,
.chip.is-active,
.admin-chip.is-active,
.vt-seg__btn.is-on,
.btn--primary,
.btn.btn--primary,
a.btn--primary {
  color: var(--color-on-action, #fff) !important;
}

/* Emphasis spans: brand solid, not a rainbow wash. */
.gradient-text,
.gradient-text.animated {
  background: none !important;
  -webkit-text-fill-color: unset !important;
  color: var(--color-action-hover) !important;
  font-weight: 700;
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__link {
  color: var(--text-1) !important;
}

body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__link.is-active,
body:not(.ds-body--admin):not(.ds-body--account):not(.admin-body) .nav__link:hover {
  color: var(--text-0) !important;
}

body:not(.ds-body):not(.admin-body) .nav__brand-wordmark {
  color: var(--text-0);
}

.service-card.service-card--v2,
.coach-card,
.newsroom-card,
.account-kpi,
.sz-kpi,
.ds-card,
.account-panel,
.vt-panel,
.help-card,
.faq-item,
.legal-prose {
  border-color: rgba(var(--color-action-rgb), 0.2);
}

.ds-sidebar {
  background: #0a1018;
  border-right-color: rgba(var(--color-action-rgb), 0.16);
}

.ds-nav__item,
.ds-nav__sub-item {
  color: var(--text-1);
}

.ds-nav__item.is-active,
.ds-nav__sub-item.is-active {
  color: var(--text-0);
}

.site-footer {
  border-top: 1px solid rgba(var(--color-action-rgb), 0.16);
}

input,
textarea,
select {
  color: var(--text-0);
}

::placeholder {
  color: var(--text-2);
  opacity: 1;
}

/* Danger / cancel: keep Action out of red surfaces. */
.cm-policy.is-danger p,
.cm-policy.is-danger li,
.cm-dialog--danger .cm-dialog__message {
  color: #b8b8b8 !important;
}

.cm-policy.is-danger a,
.cm-dialog--danger a:not(.btn):not(.cm-dialog__btn) {
  color: #e6e6e6 !important;
}

.cm-policy.is-danger a:hover,
.cm-dialog--danger a:not(.btn):not(.cm-dialog__btn):hover {
  color: #fff !important;
}

.service-card--v2.service-card--popular .service-card__price-pill,
.service-card--v2.is-featured .service-card__price-pill {
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 640px) {
  body::before {
    opacity: 0.7;
  }
}
