:root {
  --md-primary-fg-color: #126b63;
  --md-primary-fg-color--light: #338e84;
  --md-primary-fg-color--dark: #084e49;
  --md-accent-fg-color: #c95f1c;
}

[data-md-color-scheme="bps"] {
  --md-default-bg-color: #f7faf9;
  --md-default-fg-color: #18322f;
  --md-typeset-a-color: #0c6d65;
}

.md-typeset h1 { font-weight: 800; letter-spacing: -0.025em; }
.md-typeset h2 { margin-top: 2.2em; border-bottom: 1px solid #d9e7e4; padding-bottom: .35em; }
.md-typeset img { border: 1px solid #d0dfdc; border-radius: .55rem; box-shadow: 0 .45rem 1.1rem rgba(16, 56, 51, .12); }
.md-typeset .hero-image img { width: 100%; max-height: 34rem; object-fit: cover; object-position: top; }
.md-typeset .guide-card { border: 1px solid #c9dfda; border-radius: .65rem; background: #fff; padding: 1rem 1.1rem; margin: .8rem 0; }
.md-typeset .guide-card h3 { margin-top: 0; color: #0c665e; }
.md-typeset .caption { color: #5d716e; font-size: .8rem; margin-top: -.5rem; }
.md-typeset table:not([class]) { font-size: .84rem; }
.md-typeset .md-button--primary { background: #126b63; border-color: #126b63; }
.md-typeset details { border: 1px solid #d4e1df; border-radius: .5rem; padding: .25rem .75rem; background: #fbfdfd; }
.md-typeset summary { font-weight: 700; cursor: pointer; }
.md-typeset .risk { border-left: .24rem solid #b34524; padding-left: 1rem; }

/* Goal-first guides: BPS green, copper focus, quiet reading surfaces. */
[data-md-color-scheme="bps"], [data-md-color-scheme="slate"] {
  --md-primary-fg-color: #126b63;
  --md-primary-fg-color--dark: #084e49;
  --md-accent-fg-color: #c95f1c;
  --md-text-font-family: "Segoe UI", system-ui, sans-serif;
  --md-code-font-family: Consolas, monospace;
}
[data-md-color-scheme="slate"] {
  --md-typeset-a-color: #80d4c8;
  --bps-panel: #243d3a;
  --bps-rule: #54726d;
  --bps-muted: #c0d5d0;
}
[data-md-color-scheme="bps"] {
  --bps-panel: #ffffff;
  --bps-rule: #c9dfda;
  --bps-muted: #4b6661;
}
.md-typeset { line-height: 1.7; }
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: "Segoe UI Variable Display", "Segoe UI", sans-serif;
}
.md-typeset h2, .md-typeset h3 { font-weight: 650; }
.md-typeset h1 { color: var(--md-default-fg-color); }
.md-typeset .caption { color: var(--bps-muted); line-height: 1.55; }
.md-typeset details, .md-typeset .guide-card { background: var(--bps-panel); }
.md-typeset .guide-card h3 { color: var(--md-typeset-a-color); }
.md-typeset a:focus-visible, .md-typeset summary:focus-visible {
  outline: 3px solid #c95f1c; outline-offset: 4px;
}
.bps-home { max-width: 64rem; margin: 0 auto; }
.md-typeset .bps-eyebrow {
  font-size: .65rem; font-weight: 750; letter-spacing: .12em;
  color: var(--md-typeset-a-color); margin: 1rem 0 .65rem;
}
.bps-home > h1 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.08; margin: .4rem 0 1rem; }
.md-typeset .bps-lead { max-width: 42rem; font-size: 1.05rem; color: var(--bps-muted); }
.bps-start { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem;
  padding: 1.7rem 1.9rem; margin: 2rem 0; border: 1px solid var(--bps-rule);
  border-top: 5px solid #126b63; border-radius: .45rem; background: var(--bps-panel); }
.md-typeset .bps-start h2 { margin: .3rem 0 .7rem; border: 0; padding: 0; font-size: 1.5rem; }
.md-typeset .bps-start .caption { margin: .8rem 0 0; font-size: .72rem; }
.bps-route { border-left: 1px solid var(--bps-rule); padding-left: 1.4rem; }
.md-typeset .bps-route ol { margin-left: 1.05rem; }
.md-typeset .bps-route li { padding-left: .35rem; margin: .75rem 0; font-size: .73rem; color: var(--bps-muted); }
.bps-route a { font-weight: 650; font-size: .82rem; }
.bps-goals { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; }
.bps-goal { padding: .35rem 0 1rem; border-bottom: 1px solid var(--bps-rule); }
.md-typeset .bps-goal h3 { margin-bottom: .3rem; }
.bps-goal p { margin-top: .4rem; }
.bps-reference { margin-top: 1.8rem; padding: 1rem 1.2rem; border-left: 3px solid #c95f1c; background: var(--bps-panel); }
.bps-step { padding: .2rem 0 1rem; margin: 1.6rem 0; border-top: 1px solid var(--bps-rule); }
.md-typeset .bps-step h2 { border: 0; padding: 0; margin-top: 1.1rem; }
.md-typeset .bps-step img { width: 100%; height: auto; object-fit: contain; }
.bps-check { padding: .7rem 1rem; border-left: 3px solid #126b63; background: var(--bps-panel); }
.bps-next { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; padding-top: 1rem; border-top: 1px solid var(--bps-rule); }
.bps-evidence { font-size: .73rem; color: var(--bps-muted); }
@media (max-width: 700px) {
  .bps-start, .bps-goals { grid-template-columns: 1fr; gap: 1rem; }
  .bps-start { padding: 1rem; margin: 1.2rem 0; }
  .bps-route { border-left: 0; border-top: 1px solid var(--bps-rule); padding: .8rem 0 0; }
  .md-typeset .bps-lead { font-size: .9rem; }
  .md-typeset .md-button { white-space: normal; }
}
