/* One light palette for both languages and every content route. */
:root {
  color-scheme: light;
  --light-ink: #19212e;
  --light-copy: #485365;
  --light-muted: #586476;
  --light-line: #dce2e9;
  --light-teal: #006e69;
  --light-purple: #5524ba;
  --light-accent: color-mix(in srgb, var(--audio-accent, #02faf6) 42%, #18213d);
  --vm-theme-text-base: var(--light-ink);
  --vm-theme-text-subtle: var(--light-copy);
  --vm-theme-text-muted: var(--light-muted);
  --vm-theme-text-inverse-base: #19212e;
  --vm-theme-text-inverse-subtle: #485365;
  --vm-theme-neutral-minimal: #e7eaf0;
  --vm-theme-neutral-subtle: #c7cfdc;
  --vm-theme-neutral-base: #dce2e9;
  --vm-theme-neutral-bold: #f2f4f8;
  --vm-theme-neutral-strong: #ffffff;
  --vm-theme-neutral-deep: #ffffff;
  --vm-theme-primary-base: var(--light-teal);
  --vm-theme-primary-subtle: #d9f5f1;
  --vm-theme-gradient-purple: linear-gradient(135deg, #f2ebff, #edfafa);
}
body, .audio-page {
  background: #fff; color: var(--light-ink);
  --light-accent: color-mix(in srgb, var(--audio-accent, #02faf6) 42%, #18213d);
}
::selection { background: #dcd0fa; color: #23133f; }
.site-header__inner {
  background: rgba(255,255,255,.97);
  border-color: #dde2ec;
  box-shadow: 0 7px 26px #2434530d;
}
.site-header .custom-logo { filter: brightness(0) saturate(100%); }
.site-header .language-switch a { color: var(--light-muted); }
.site-header .language-switch a[aria-current=page],
.site-header .language-switch a:hover { color: var(--light-teal); }
.site-header .language-switch span { color: #697588; }
.cta-button.brand-button, .cta-button.brand-button:visited,
.cta-button.brand-button:focus, .cta-button.brand-button:hover { color: #fff; }
.cta-button.brand-button .cta-button__title {
  background: var(--light-purple); color: #fff;
  box-shadow: 0 5px 14px #5524ba18;
}
.cta-button.brand-button:hover .cta-button__title { background: #441b98; }
.cta-button.brand-button:active .cta-button__title { background: #351375; }
.site .cta-button:not(.brand-button),
.site .cta-button:not(.brand-button):visited,
.site .cta-button:not(.brand-button):focus {
  background: var(--light-purple); color: #fff;
}
.site .cta-button:not(.brand-button) .cta-button__title { color: #fff; }
.site .cta-button:not(.brand-button):after { background: #441b98; }
.site .cta-button:not(.brand-button):hover { color: #fff; }
.cta-button-with-subtext__subtext { color: var(--light-copy); }
.content-block__link { color: var(--light-teal); }
.content-block__link:hover { color: #004c49; }
a:focus-visible, button:focus-visible,
.flickity-page-dot:focus-visible { outline-color: var(--light-purple); }

/* Light gradients retain the original visual hierarchy and media. */
.gradient-color--purple-black, .audio-hero {
  background: radial-gradient(ellipse at 15% 18%, #e6dcff 0, transparent 55%),
    radial-gradient(ellipse at 90% 15%, #dcf8f3 0, transparent 48%),
    linear-gradient(180deg, #f8f5ff 0, #fff 100%);
}
.header-media-content .heading--1 { color: var(--light-ink); }
.header-media-content .content-block__copy,
.audio-hero__copy>p { color: #3e495b; }
.header-media-content__image { mask-image: linear-gradient(#000 78%, transparent 100%); }
.logo-slider--header-media-content {
  background: linear-gradient(0deg, #fff 14%, #ffffffed 50%, transparent);
}
.logo-slider__item img { filter: brightness(0) saturate(100%); opacity: .72; }
.logo-slider__title { color: var(--light-copy); }
.icons-list__icons-list:after { background: linear-gradient(180deg,#ffffff00,#ffffffaa 49%,#fff); }
.bg--black { background: #fff; color: var(--light-ink); }
.bg--black-purple { --section-bg: linear-gradient(180deg,#fff,#f2eaff 78%,#fff); background: var(--section-bg); }
.featured-cards--featured-cards:not(.bg) { background: linear-gradient(135deg,#f5efff,#edf9f8); }
.featured-card { background: #fff; border: 1px solid #e0e4ed; box-shadow: 0 6px 24px #23304708; }
.featured-card__content { color: var(--light-ink); }
.featured-slider__section {
  background: #f4f0fd; background-image: none;
  border: 1px solid #e1d9f1; box-shadow: 0 5px 18px #28324708;
}
.featured-slider__section:nth-child(2) { background: #fff2f2; border-color: #f0dbdf; }
.featured-slider__section:nth-child(3) { background: #eef8ee; border-color: #d5e7d5; }
.featured-slider__section:nth-child(4) { background: #f1f4f8; border-color: #dfe5ed; }
.featured-slider__section:nth-child(5) { background: #eef2ff; border-color: #dbe2f4; }
.featured-slider__section:before { opacity: 0; }
.featured-slider__text--white, .featured-slider__text--black { color: var(--light-ink); }
.featured-slider__section .content-block__copy { color: var(--light-copy); }
.featured-slider__section .content-block__title-icon img { filter: brightness(0) saturate(100%); }
.featured-slider .flickity-enabled .flickity-page-dot { background: #c3ccda; }
.featured-slider .flickity-enabled .flickity-page-dot.is-selected { background: var(--light-purple); }
.bg--vmkey-pocket-gradient {
  --section-bg: linear-gradient(115deg,#e0f6f3,#eee6ff);
  background: var(--section-bg); color: var(--light-ink);
  border: 1px solid #dce7ed;
}
.banner__content .content-block__copy { color: var(--light-copy); }
.marquee { background: linear-gradient(103deg,#ddccfb,#d2f4ef 38%,#e1f4d9 70%,#f5f3cf); }
.marquee__text { color: #263445; }

/* Audio guides, FAQ and footer share the same readable neutral surfaces. */
.audio-intro p, .audio-feature__copy>p, .audio-note p,
.audio-steps p, .audio-quality p, .faq-answer p,
.footer-guide p, .footer-guide li { color: var(--light-copy); }
.audio-note { background: linear-gradient(140deg,#f7f3ff,#f0f9f8); border-color: #dde3ec; }
.audio-note__number, .audio-step__number { color: var(--light-accent); }
.audio-quality article { background: #f6f7fa; border-color: #e3e7ef; }
.faq-item, .faq-item:first-child { border-color: var(--light-line); }
.faq-question { color: var(--light-ink); }
.faq-question:hover, .faq-question[aria-expanded=true] { color: var(--light-purple); }
.final-cta { background: linear-gradient(180deg,#fff,#f5f1fd); }
.compact-footer { background: #f8f9fc; border-color: var(--light-line); }
.footer-guides { border-color: var(--light-line); }
.footer-guide { border-top-color: var(--light-accent); }
.footer-guide h2 { color: var(--light-ink); }
.footer-guide li::marker { color: var(--light-accent); }
.compact-footer a { color: var(--light-copy); }
.compact-footer a:hover, .compact-footer a[aria-current=page] { color: var(--light-teal); }
@media(max-width:1199px) {
  .header-media-content__image { mask-image: linear-gradient(#000 48%, transparent 93%); }
}
