:root {
  --dark-page: #263238;
  --dark-section: #2b383e;
  --dark-panel: #34434a;
  --dark-panel-hover: #3c4d54;
  --dark-ink: #f4f6f5;
  --dark-copy: #bac7c9;
  --dark-muted: #91a6aa;
  --dark-line: rgba(255, 255, 255, .14);
  --dark-green: #c9b2ff;
}

/* Keep the centered hero mark safely below the navigation on short desktops. */
@media (min-width: 681px) {
  .hero .intro-logo {
    top: max(120px, 14vh);
  }
}

@media (min-width: 681px) and (max-height: 770px) {
  .hero .intro-logo {
    width: min(406px, 50vw);
  }
}

body { background: var(--dark-page); color: var(--dark-ink); }

main > section:not(.hero) {
  position: relative;
}

main > section:not(.hero)::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: max(22px, calc((100vw - 1160px) / 2));
  right: max(22px, calc((100vw - 1160px) / 2));
  height: 3px;
  background: rgba(255, 255, 255, .1);
  pointer-events: none;
}

#approach::before {
  display: none;
}

.section, .market-section, #about, #leadership, #faq {
  background: var(--dark-page);
  color: var(--dark-ink);
}

.section.pale, #approach { background: var(--dark-section); }

.heading p:not(.eyebrow), .two-col, .cards p, .leaders p,
.market-narrative, .market-point p, details p, .location-note {
  color: var(--dark-copy);
}

.market-narrative,
.market-narrative p {
  color: #fff;
}

.eyebrow.dark, .cards span, .leaders span, .market-point > span,
.schedule-step, .accent-green { color: var(--dark-green) !important; }

.mso-info { color: var(--dark-ink); }
.mso-info:hover, .mso-info:focus-visible { background: var(--dark-ink); color: var(--dark-page); }

.about-more-button, .faq-toggle {
  border-color: rgba(255, 255, 255, .4);
  color: var(--dark-ink);
}
.about-more-button:hover, .about-more-button:focus-visible,
.faq-toggle:hover, .faq-toggle:focus-visible {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(255, 255, 255, .72);
}

.stats, .faqs, .leaders, details, .market-point, .location-note,
.stats div + div, .leaders article + article { border-color: var(--dark-line) !important; }

details {
  transition: background-color .22s ease;
}

details:hover,
details:focus-within {
  background: rgba(255, 255, 255, .055);
}
.stats strong,
.faqs summary b {
  color: var(--dark-green) !important;
}

.cards article { background: var(--dark-panel); color: var(--dark-ink); }
.cards article:hover, .cards article:focus-visible,
.leader-card:hover, .leader-card:focus-visible,
.market-trigger:hover, .market-trigger:focus-visible, summary:hover { background: var(--dark-panel-hover); }
.leaders h3, .cards h3, .market-point h3, summary { color: var(--dark-ink); }
.leader-card:focus-visible, .expand-card:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(201, 178, 255, .48);
}

.expand-card i {
  background: var(--dark-green);
  color: #201a2c;
}

.market-chart { opacity: .72; }
.market-chart path { stroke: rgba(201, 178, 255, .58) !important; }
.market-chart path:nth-child(2) { stroke: rgba(255, 255, 255, .34) !important; }
.market-chart path:nth-child(3) { stroke: rgba(201, 178, 255, .38) !important; }
.market-chart path:nth-child(4) { stroke: rgba(201, 178, 255, .36) !important; }

@media (min-width: 901px) {
  .market-chart {
    width: calc(100% + 46px);
    max-width: 686px;
    transform: translateX(-30px);
    opacity: .86;
  }

  .market-chart path { stroke: rgba(201, 178, 255, .72) !important; }
  .market-chart path:nth-child(2) { stroke: rgba(255, 255, 255, .46) !important; }
  .market-chart path:nth-child(3) { stroke: rgba(201, 178, 255, .5) !important; }
  .market-chart path:nth-child(4) { stroke: rgba(201, 178, 255, .48) !important; }
}

.expand-card:hover i, .expand-card:focus-visible i,
.primary:hover, .nav-cta:hover {
  background: var(--dark-green);
  color: #10251e;
}

.modal-panel, .leader-modal-window, .schedule-modal, .schedule-window {
  background: var(--dark-section) !important;
  color: var(--dark-ink) !important;
}
.modal-scroll, .leader-modal-scroll, .schedule-scroll { color: var(--dark-ink); }
.modal-panel p, .modal-panel li, .modal-panel .popup-copy,
.leader-modal-bio p, .leader-modal-bio li, .schedule-intro,
.schedule-summary, .schedule-confirmation { color: var(--dark-copy) !important; }
.modal-panel h2, .modal-panel h3, .leader-modal-copy h2,
.schedule-modal h2, .conversation-form > strong, .selected-date,
.calendar-header strong { color: var(--dark-ink); }
.modal.legal-view #modal-content h2,
.modal.legal-view #modal-content h3,
.modal.legal-view #modal-content h4,
#modal-content p, #modal-content li { color: var(--dark-copy) !important; }
.modal-panel li, .leader-modal-bio li, .coverage-list li,
.popup-list li { border-color: var(--dark-line) !important; }
.modal-close, .leader-modal-close, .schedule-close {
  background: rgba(255, 255, 255, .14);
  color: #fff;
}
.modal-close:hover, .leader-modal-close:hover, .schedule-close:hover {
  background: rgba(255, 255, 255, .25);
}

.region-map-shape { fill: #526066; }
.region-map-dot { fill: var(--dark-green); stroke: var(--dark-section); }
.region-map-dot-ring { stroke: rgba(201, 178, 255, .58); }

@media (min-width: 681px) {
  #locations::before {
    top: -38px;
  }

  .locations {
    margin-left: 0;
    margin-right: 0;
    padding-left: max(24px, calc((100vw - 1160px) / 2));
    padding-right: max(24px, calc((100vw - 1160px) / 2));
    border-radius: 0;
    grid-template-columns: minmax(0, 780px) 1fr;
  }

  .locations > div:first-child > p:not(.eyebrow) {
    max-width: 520px;
  }
}

.footer-legal {
  background: var(--dark-page) !important;
  box-shadow: none !important;
}

.calendar-panel, .time-panel, .conversation-form {
  background: var(--dark-panel) !important;
  color: var(--dark-ink);
}
.calendar-header button, .calendar-day, .time-slot {
  background: rgba(255, 255, 255, .08) !important;
  color: var(--dark-ink) !important;
  border-color: var(--dark-line) !important;
}
.calendar-day:hover:not(:disabled), .calendar-day.selected,
.time-slot:hover, .time-slot.selected {
  background: var(--dark-green) !important;
  color: #10251e !important;
}
.calendar-day:disabled, .calendar-day.outside,
.calendar-weekdays span { color: var(--dark-muted) !important; }
.calendar-day.empty { background: transparent !important; }
.time-placeholder, .schedule-expectation { color: var(--dark-muted) !important; }
.schedule-expectation { border-color: var(--dark-line); }
.conversation-form input, .conversation-form textarea {
  color: var(--dark-ink);
  border-color: rgba(255, 255, 255, .24);
}
.conversation-form label { color: var(--dark-green); }

.site-search-panel {
  background: rgba(29, 41, 47, .98) !important;
  color: var(--dark-ink) !important;
  border: 1px solid var(--dark-line);
}
.site-search-input, .site-search-results, .site-search-results button,
.site-search-close { color: var(--dark-ink) !important; }
.site-search-head, .site-search-result { border-color: var(--dark-line) !important; }

.accessibility-panel {
  background: rgba(29, 41, 47, .985) !important;
  color: var(--dark-ink) !important;
}
.accessibility-option {
  background: var(--dark-panel) !important;
  color: var(--dark-ink) !important;
  border-color: var(--dark-line) !important;
}
.accessibility-option:hover { background: var(--dark-panel-hover) !important; }
.accessibility-option[aria-pressed="true"] {
  background: var(--dark-green) !important;
  color: #10251e !important;
}
.accessibility-reset, .accessibility-close { color: var(--dark-ink) !important; }
.accessibility-head span { color: var(--dark-muted) !important; }
.accessibility-reset { border-color: rgba(255, 255, 255, .3) !important; }

@media (max-width: 680px) {
  .section, .market-section, #about, #leadership, #faq { background: var(--dark-page); }

  /* Match the regional-platform section to the mobile section grid below it. */
  #locations {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 80px 22px;
    border-radius: 0;
  }

  #locations h2 {
    font-size: 39px;
  }

  #locations > div:first-child > p:not(.eyebrow) {
    color: #fff;
    font-size: 17px;
  }
}
.footer-site-index{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;width:100%;margin:0 0 20px;padding:0 54px;font-size:12px}.footer-site-index a{color:#fff;text-decoration:none;opacity:.78}.footer-site-index a:hover,.footer-site-index a:focus-visible{color:var(--accent,#c9a6ff);opacity:1}@media(max-width:680px){.footer-site-index{justify-content:flex-start;padding:0;gap:8px 16px;margin-bottom:24px}}
