/* Shared baseMSP colour roles. Page CSS may use these tokens but must not redefine the roles. */
#basemsp-accessible-homepage {
  --bm-primary-blue: #019fdb;
  --bm-link-on-light: #00769f;
  --bm-accent-on-dark: #67d8f3;
  --bm-deep-blue: #051e29;
  --bm-heading-on-light: #073a4d;
  --bm-body-on-light: #385c69;
  --bm-muted-on-light: #5a737c;
  --bm-text-on-dark: #ffffff;
  --bm-body-on-dark: #bfd0d5;
  --bm-link-hover: var(--bm-link-on-light);
}

/* Brand emphasis is deliberately separate from text-link colour. */
#basemsp-accessible-homepage .bm-hero h1 em,
#basemsp-accessible-homepage .bm-hwh-hero h1 em,
#basemsp-accessible-homepage .bm-review-hero h1 em,
#basemsp-accessible-homepage .bm-migration-hero h1 em,
#basemsp-accessible-homepage .bm-approach-hero h1 em,
#basemsp-accessible-homepage .bm-legal-hero h1 em,
#basemsp-accessible-homepage .bm-final h2 em {
  color: var(--bm-primary-blue);
}

/* Small supporting labels on light backgrounds use the accessible light-background blue. */
#basemsp-accessible-homepage .bm-eyebrow,
#basemsp-accessible-homepage .bm-day-to-day-label,
#basemsp-accessible-homepage .bm-service-kicker,
#basemsp-accessible-homepage .bm-decision-index,
#basemsp-accessible-homepage .bm-hwh-card-kicker,
#basemsp-accessible-homepage .bm-hwh-path-index {
  color: var(--bm-link-on-light);
}

/* Dark surfaces use one lighter accent for both supporting text and interactions. */
#basemsp-accessible-homepage .bm-top .bm-eyebrow,
#basemsp-accessible-homepage .bm-proof .bm-eyebrow,
#basemsp-accessible-homepage .bm-review .bm-eyebrow,
#basemsp-accessible-homepage .bm-hwh-m365-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-hwh-final-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-review-results-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-review-final-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-migration-assurance-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-migration-final-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-approach-day-section .bm-eyebrow,
#basemsp-accessible-homepage .bm-approach-final-section .bm-eyebrow {
  color: var(--bm-accent-on-dark);
}

/* Text links on light backgrounds never switch to a second blue on hover. */
#basemsp-accessible-homepage .bm-inline-link,
#basemsp-accessible-homepage .bm-section-link,
#basemsp-accessible-homepage .bm-home-service-link,
#basemsp-accessible-homepage .bm-hwh-card-link {
  color: var(--bm-link-on-light);
  text-decoration-color: currentColor;
}

#basemsp-accessible-homepage .bm-inline-link:hover,
#basemsp-accessible-homepage .bm-inline-link:focus-visible,
#basemsp-accessible-homepage .bm-section-link:hover,
#basemsp-accessible-homepage .bm-section-link:focus-visible,
#basemsp-accessible-homepage .bm-home-service-link:hover,
#basemsp-accessible-homepage .bm-home-service-link:focus-visible,
#basemsp-accessible-homepage .bm-hwh-card-link:hover,
#basemsp-accessible-homepage .bm-hwh-card-link:focus-visible {
  color: var(--bm-link-on-light);
  text-decoration-color: currentColor;
}

#basemsp-accessible-homepage .bm-legal-document a,
#basemsp-accessible-homepage .bm-legal-nav a {
  color: var(--bm-link-on-light);
  text-decoration-color: currentColor;
}

/* Title links retain their heading colour; hover adds the approved light-background link colour. */
#basemsp-accessible-homepage .bm-title-link { color: inherit; }
#basemsp-accessible-homepage .bm-title-link:hover,
#basemsp-accessible-homepage .bm-title-link:focus-visible,
#basemsp-accessible-homepage .bm-hwh-service-card h3 a:hover,
#basemsp-accessible-homepage .bm-hwh-service-card h3 a:focus-visible {
  color: var(--bm-link-on-light);
}

/* Secondary text links on dark sections use the same blue for text and underline. */
#basemsp-accessible-homepage .bm-top .bm-text-link:hover,
#basemsp-accessible-homepage .bm-top .bm-text-link:focus-visible,
#basemsp-accessible-homepage main .bm-hwh-final-section a.bm-text-link:hover,
#basemsp-accessible-homepage main .bm-hwh-final-section a.bm-text-link:focus-visible,
#basemsp-accessible-homepage main .bm-review-final-section a.bm-text-link:hover,
#basemsp-accessible-homepage main .bm-review-final-section a.bm-text-link:focus-visible,
#basemsp-accessible-homepage main .bm-migration-final-section a.bm-text-link:hover,
#basemsp-accessible-homepage main .bm-migration-final-section a.bm-text-link:focus-visible,
#basemsp-accessible-homepage main .bm-approach-final-section a.bm-text-link:hover,
#basemsp-accessible-homepage main .bm-approach-final-section a.bm-text-link:focus-visible {
  color: var(--bm-accent-on-dark);
  text-decoration-color: currentColor;
}

#basemsp-accessible-homepage main .bm-proof a.bm-inline-link,
#basemsp-accessible-homepage main .bm-proof a.bm-inline-link:hover,
#basemsp-accessible-homepage main .bm-proof a.bm-inline-link:focus-visible {
  color: var(--bm-accent-on-dark);
  text-decoration-color: currentColor;
}

/* White action text uses the darker approved blue so every primary action
   maintains AA text contrast. The lighter blue remains a brand accent. */
#basemsp-accessible-homepage .bm-button {
  color: #ffffff !important;
  background: linear-gradient(135deg,#00769f,#00709b 54%,#00658c) !important;
}

#basemsp-accessible-homepage .bm-button:hover,
#basemsp-accessible-homepage .bm-button:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg,#00709b,#00658c) !important;
}

/* Compact labels and metadata remain readable on the light cards and warm
   off-white section backgrounds used throughout the site. */
#basemsp-accessible-homepage .bm-access-message > span,
#basemsp-accessible-homepage .bm-proof-card footer .bm-proof-person > span,
#basemsp-accessible-homepage .bm-price-service small,
#basemsp-accessible-homepage .bm-price .bm-price-unit,
#basemsp-accessible-homepage .bm-price-foot > span,
#basemsp-accessible-homepage .bm-article-related-meta,
#basemsp-accessible-homepage .bm-contact-required,
#basemsp-accessible-homepage .bm-support-price-card > p,
#basemsp-accessible-homepage .bm-insights-meta,
#basemsp-accessible-homepage .bm-insights-article-footer > span {
  color: var(--bm-muted-on-light);
}

#basemsp-accessible-homepage .bm-access-text strong,
#basemsp-accessible-homepage .bm-about-principles-list > * > span:first-child {
  color: var(--bm-link-on-light);
}

#basemsp-accessible-homepage .bm-hwh-path-index {
  color: var(--bm-deep-blue);
}

#basemsp-accessible-homepage .bm-approach-review-track li:last-child > span,
#basemsp-accessible-homepage .bm-insights-pagination .page-numbers.current,
#basemsp-accessible-homepage .bm-pricing-switch button[aria-pressed="true"] span {
  color: #ffffff;
  background: #00769f;
}

#basemsp-accessible-homepage .bm-about-closing-link,
#basemsp-accessible-homepage .bm-technology-capability-list > div > span:first-child,
#basemsp-accessible-homepage .bm-support-management-grid article > span:first-child,
#basemsp-accessible-homepage .bm-support-switch-points > div > span:first-child,
#basemsp-accessible-homepage .bm-security-coverage-list > div > span:first-child,
#basemsp-accessible-homepage .bm-security-report-card li > span:first-child,
#basemsp-accessible-homepage .bm-location-fit-points > div > span:first-child {
  color: #ffffff;
  background: #00769f;
}

#basemsp-accessible-homepage .bm-contact-field label > span,
#basemsp-accessible-homepage .bm-location-review-card small {
  color: var(--bm-muted-on-light);
}

#basemsp-accessible-homepage .bm-technology-scope-copy .bm-section-link,
#basemsp-accessible-homepage .bm-security-assurance-copy .bm-security-assurance-link {
  color: var(--bm-link-on-light);
}

#basemsp-accessible-homepage .bm-insights-category-tag--security {
  color: #ffffff;
  border-color: #00769f;
  background: #00769f;
}

/* Keep the visual testimonial dots compact while giving each one a reliable
   touch and keyboard target. */
#basemsp-accessible-homepage .bm-proof-dot,
#basemsp-accessible-homepage .bm-proof-dot[aria-current="true"] {
  position: relative;
  width: 24px;
  height: 24px;
  background: transparent;
}

#basemsp-accessible-homepage .bm-proof-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.38);
  transform: translate(-50%,-50%);
  transition: width .28s ease,background .28s ease;
}

#basemsp-accessible-homepage .bm-proof-dot[aria-current="true"]::after {
  width: 22px;
  background: var(--bm-accent-on-dark);
}
