/* Local palette correction. Section 03 and all illustration assets are intentionally unchanged. */
.ms-page {
  --ms-ui-panel: var(--color-surface, #14191f);
  --ms-ui-card: var(--color-surface-raised, #181e25);
  --ms-ui-raised: var(--color-slate, #1b2129);
  --ms-ui-selected: #24262b;
  --ms-ui-ink: var(--color-cream, #eedfd3);
  --ms-ui-secondary: #c3bbb5;
  --ms-ui-muted: #aaa4a0;
  --ms-ui-edge: #3c424b;
  --ms-ui-line: rgba(238, 223, 211, .14);
  --ms-ui-accent: var(--color-tan, #ba917b);
  --ms-ui-accent-hover: #cda995;
  --ms-ui-accent-soft: rgba(186, 145, 123, .11);
  --ms-ui-accent-edge: rgba(186, 145, 123, .66);
  --ms-ui-focus: #eedfd3;
  --ms-ui-track: #68717c;
}

.ms-page :is(.mc-calculator, .ms-guarantees) {
  --ml-ink: var(--ms-ui-ink);
  --ml-copper: var(--ms-ui-accent);
  --ml-muted: var(--ms-ui-muted);
  --ml-line: var(--ms-ui-line);
  --ml-green: var(--ms-ui-focus);
  color: var(--ms-ui-ink);
}

/* Calculator: graphite surfaces, a restrained warm selection, clear readable type. */
.ms-page .mc-calculator {
  --mc-panel: var(--ms-ui-panel);
  --mc-card: var(--ms-ui-card);
  --mc-line: var(--ms-ui-line);
  --mc-muted: var(--ms-ui-muted);
  --mc-gold: var(--ms-ui-accent);
  color-scheme: dark;
}
.ms-page .mc-console { border-color: var(--ms-ui-edge); }
.ms-page .mc-program-list button {
  background: var(--ms-ui-raised);
  border-color: var(--ms-ui-edge);
  color: var(--ms-ui-secondary);
  box-shadow: 0 3px 0 #0d1116;
}
.ms-page .mc-program-list button[aria-pressed="true"] {
  background: linear-gradient(125deg, var(--ms-ui-accent-soft), transparent), var(--ms-ui-selected);
  border-color: var(--ms-ui-accent);
  color: var(--ms-ui-ink);
}
.ms-page .mc-program-list button:hover { border-color: var(--ms-ui-accent); }
.ms-page .mc-calculator :is(.mc-programs legend, .mc-field-top>label, .mc-region, .mc-value>span, .mc-shared-request strong) {
  color: var(--ms-ui-secondary);
}
.ms-page .mc-calculator :is(.mc-program-list strong, .mc-value input, .mc-loan-summary strong, .mc-bank-choice, .mc-payment-figure>strong, .mc-bank-detail-body dd) {
  color: var(--ms-ui-ink);
}
.ms-page .mc-calculator :is(.mc-modes button, .mc-range-ends, .mc-market-note, .mc-loan-summary span, .mc-offers-heading p, .mc-bank-choice small, .mc-bank-figures>div>span, .mc-payment-figure>small, .mc-bank-details summary, .mc-bank-detail-body dt, .mc-bank-detail-body p, .mc-shared-request p, .mc-disclaimer) {
  color: var(--ms-ui-muted);
}
.ms-page .mc-region select {
  background: var(--ms-ui-raised);
  border-color: var(--ms-ui-edge);
  color: var(--ms-ui-ink);
}
.ms-page .mc-modes button[aria-pressed="true"] { color: var(--ms-ui-ink); }
.ms-page .mc-value input:focus-visible { outline-color: var(--ms-ui-focus); }
.ms-page .mc-value input[aria-invalid="true"] { color: #efb4a3; }
.ms-page .mc-range::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--ms-ui-accent) 0%, var(--ms-ui-accent) var(--mc-fill), var(--ms-ui-track) var(--mc-fill), var(--ms-ui-track) 100%);
}
.ms-page .mc-range::-moz-range-track {
  background: linear-gradient(to right, var(--ms-ui-accent) 0%, var(--ms-ui-accent) var(--mc-fill), var(--ms-ui-track) var(--mc-fill), var(--ms-ui-track) 100%);
}
.ms-page .mc-range::-webkit-slider-thumb {
  border-color: var(--ms-ui-accent);
  background: var(--ms-ui-raised);
  box-shadow: 0 0 0 5px var(--ms-ui-accent-soft), 0 3px 7px #0006;
}
.ms-page .mc-range::-moz-range-thumb {
  border-color: var(--ms-ui-accent);
  background: var(--ms-ui-raised);
  box-shadow: 0 0 0 5px var(--ms-ui-accent-soft);
}
.ms-page .mc-range:hover::-webkit-slider-thumb,
.ms-page .mc-range:active::-webkit-slider-thumb { background: var(--ms-ui-accent); }
.ms-page .mc-range:hover::-moz-range-thumb,
.ms-page .mc-range:active::-moz-range-thumb { background: var(--ms-ui-accent); }
.ms-page :is(.mc-deposit-presets, .mc-year-presets) button {
  border-color: var(--ms-ui-edge);
  color: var(--ms-ui-secondary);
}
.ms-page :is(.mc-deposit-presets, .mc-year-presets) button:hover { border-color: var(--ms-ui-accent); }
.ms-page :is(.mc-deposit-presets, .mc-year-presets) button[aria-pressed="true"] {
  background: var(--ms-ui-accent-soft);
  border-color: var(--ms-ui-accent-edge);
  color: var(--ms-ui-ink);
}
.ms-page .mc-calculator :is(.mc-deposit-presets output, .mc-deposit-help, .mc-adjustment, .mc-offers-heading h3 em, .mc-selection, .mc-rate-figure>strong, .mc-bank-detail-body a) {
  color: var(--ms-ui-accent-hover);
}
.ms-page .mc-bank-card {
  background: var(--ms-ui-card);
  border-color: var(--ms-ui-edge);
}
.ms-page .mc-bank-card[data-selected="true"] {
  background: var(--ms-ui-selected);
  border-color: var(--ms-ui-accent-edge);
  box-shadow: inset 3px 0 var(--ms-ui-accent), 0 10px 28px #00000015;
}
.ms-page .mc-bank-card:hover { border-color: var(--ms-ui-accent); }
.ms-page .mc-selection svg { border-color: #72777e; }
.ms-page .mc-bank-card[data-selected="true"] .mc-selection svg {
  color: #101419;
  background: var(--ms-ui-accent);
  border-color: var(--ms-ui-accent);
}
.ms-page .mc-apply {
  border-color: var(--ms-ui-accent-edge);
  background: var(--ms-ui-accent-soft);
  color: var(--ms-ui-ink);
}
.ms-page .mc-bank-card[data-selected="true"] .mc-apply,
.ms-page .mc-calculator .ml-primary {
  background: var(--ms-ui-accent);
  border-color: var(--ms-ui-accent);
  color: #101419;
  box-shadow: inset 0 1px rgba(238, 223, 211, .3);
}
.ms-page .mc-apply:hover,
.ms-page .mc-calculator .ml-primary:hover {
  background: var(--ms-ui-accent-hover) !important;
  color: #101419;
}
.ms-page .mc-bank-details { border-color: var(--ms-ui-line); }
.ms-page :is(.mc-bank-details summary:hover, .mc-deposit-help:hover) { color: var(--ms-ui-ink); }

/* The same palette continues into the application, including native controls. */
.ms-page .mc-dialog {
  background: var(--ms-ui-panel);
  color: var(--ms-ui-ink);
  border-color: var(--ms-ui-accent-edge);
  scrollbar-color: var(--ms-ui-track) var(--ms-ui-panel);
}
.ms-page .mc-dialog::backdrop { background: rgba(8, 11, 15, .82); }
.ms-page .mc-dialog-close {
  color: var(--ms-ui-secondary);
  border-color: var(--ms-ui-edge);
  background: var(--ms-ui-raised);
}
.ms-page .mc-dialog-close:hover { color: var(--ms-ui-ink); border-color: var(--ms-ui-accent); }
.ms-page .mc-dialog :is(.mc-dialog-intro, .mc-request-banks legend, .mc-contact-fields label, .mc-consent, .mc-local-receipt>p) {
  color: var(--ms-ui-secondary);
}
.ms-page .mc-dialog :is(.mc-dialog-eyebrow, .mc-consent a) { color: var(--ms-ui-accent-hover); }
.ms-page .mc-request-banks label {
  background: var(--ms-ui-card);
  border-color: var(--ms-ui-edge);
  color: var(--ms-ui-secondary);
}
.ms-page .mc-request-banks label:has(input:checked) {
  background: linear-gradient(125deg, var(--ms-ui-accent-soft), transparent), var(--ms-ui-selected);
  border-color: var(--ms-ui-accent);
  color: var(--ms-ui-ink);
}
.ms-page .mc-request-banks label:has(input:focus-visible) { outline-color: var(--ms-ui-focus); }
.ms-page .mc-request-scenario {
  color: var(--ms-ui-ink);
  background: var(--ms-ui-card);
  border-color: var(--ms-ui-accent);
}
.ms-page .mc-contact-fields input {
  background: #101419;
  border-color: #65707c;
  color: var(--ms-ui-ink);
}
.ms-page .mc-contact-fields input::placeholder { color: var(--ms-ui-muted); }
.ms-page .mc-consent input { accent-color: var(--ms-ui-accent); }

/* Escrow controls: graphite relief, warm metal accents, no olive/green fill. */
.ms-page .ms-guarantees :is(.ms-vault-intro>p, .ms-escrow-detail p) { color: var(--ms-ui-secondary); }
.ms-page .ms-guarantees :is(.ms-vault-plaque, .ml-fineprint) { color: var(--ms-ui-muted); }
.ms-page .ms-guarantees :is(.ms-vault-status, .ms-vault-plaque>span:first-child, .ms-escrow-detail>span) { color: var(--ms-ui-accent-hover); }
.ms-page .ms-vault-status { border-color: var(--ms-ui-line); }
.ms-page .ms-escrow-tabs button {
  background: linear-gradient(135deg, var(--ms-ui-raised), var(--ms-ui-panel));
  color: var(--ms-ui-secondary);
  border-color: var(--ms-ui-edge);
  box-shadow: 0 4px 0 #0a0e12, 0 13px 25px #0002, inset 0 1px #eedfd311;
}
.ms-page .ms-escrow-tabs button:hover {
  border-color: var(--ms-ui-accent);
  box-shadow: 0 7px 0 #0a0e12, 0 18px 28px #0003, inset 0 1px #eedfd326;
}
.ms-page .ms-escrow-tabs button:active { box-shadow: 0 1px 0 #0a0e12, inset 0 2px 12px #0004; }
.ms-page .ms-escrow-tabs button[aria-pressed="true"] {
  background: linear-gradient(130deg, rgba(186, 145, 123, .15), transparent), var(--ms-ui-selected);
  border-color: var(--ms-ui-accent);
  color: var(--ms-ui-ink);
  box-shadow: 0 4px 0 #0a0e12, 0 12px 24px #0003, inset 0 1px rgba(238, 223, 211, .22);
}
.ms-page .ms-escrow-tabs button:focus-visible { outline-color: var(--ms-ui-focus); }
.ms-page .ms-escrow-tabs .ms-step-medallion {
  background: radial-gradient(circle at 30% 25%, rgba(186, 145, 123, .12), rgba(10, 14, 18, .4));
  border-color: var(--ms-ui-accent-edge);
  box-shadow: inset 0 0 0 5px rgba(186, 145, 123, .1);
  color: var(--ms-ui-accent-hover);
}
.ms-page .ms-step-medallion>span {
  background: var(--ms-ui-raised);
  border-color: var(--ms-ui-accent-edge);
  color: var(--ms-ui-accent-hover);
}
.ms-page .ms-step-medallion:after { border-color: var(--ms-ui-accent-edge); }
.ms-page .ms-escrow-tabs button[aria-pressed="true"] .ms-step-medallion { color: var(--ms-ui-ink); }
.ms-page .ms-escrow-tabs button:after { background: var(--ms-ui-accent); }
.ms-page .ms-escrow-next { border-color: var(--ms-ui-accent-edge); color: var(--ms-ui-accent-hover); }
.ms-page .ms-escrow-next:hover { background: var(--ms-ui-accent-soft); }

@media (forced-colors: active) {
  .ms-page :is(.mc-bank-card[data-selected="true"], .mc-program-list button[aria-pressed="true"], .ms-escrow-tabs button[aria-pressed="true"]) { border-color: Highlight; }
}
