:root, [data-md-color-scheme="slate"] {
  --dpf-bg: #090b0f;
  --dpf-surface: #11141a;
  --dpf-surface-2: #171b22;
  --dpf-surface-3: #1d232c;
  --dpf-ink: #f4f7fb;
  --dpf-navy: #111827;
  --dpf-navy-light: #1a2636;
  --dpf-muted: #9ba9bd;
  --dpf-accent: #31d6c4;
  --dpf-accent-soft: rgba(49,214,196,.12);
  --dpf-teal: var(--dpf-accent);
  --dpf-teal-dark: #4ce5d4;
  --dpf-mint: #142725;
  --dpf-warm: #101319;
  --dpf-line: #2a303a;
  --md-primary-fg-color: var(--dpf-bg);
  --md-accent-fg-color: var(--dpf-accent);
  --md-default-bg-color: var(--dpf-bg);
  --md-default-fg-color: var(--dpf-ink);
  --md-default-fg-color--light: var(--dpf-muted);
  --md-default-fg-color--lighter: #78869b;
  --md-code-bg-color: #121720;
  --md-code-fg-color: #dce7f5;
  --md-default-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--dpf-bg); color: var(--dpf-ink); }
.md-main, .md-container { background: var(--dpf-bg); }
.md-typeset { color: #d9e0ea; }
.md-typeset a { color: var(--dpf-accent); }
.md-typeset table:not([class]) { background: var(--dpf-surface); border-color: var(--dpf-line); }
.md-typeset table:not([class]) th { background: var(--dpf-surface-2); color: var(--dpf-ink); }
.md-typeset table:not([class]) td { border-color: var(--dpf-line); }
.md-nav { color: var(--dpf-muted); }
.md-nav__link--active, .md-nav__link:focus, .md-nav__link:hover { color: var(--dpf-accent); }
.md-sidebar, .md-search__inner { background: var(--dpf-bg); }

.md-header {
  background: #0b0d11;
  color: var(--dpf-ink);
  box-shadow: none;
  border-bottom: 1px solid var(--dpf-line);
}

.md-header__button.md-logo img,
.md-header__button.md-logo svg { width: auto; height: 1.7rem; }
.md-header__title { height: 2.2rem; margin-left: 0.65rem; line-height: 1; }
.md-header__title > .md-header__ellipsis { overflow: visible; }
.md-header__topic:first-child { position: static; opacity: 1; transform: none !important; }
.md-header__topic:first-child .md-ellipsis { overflow: visible; font-size: 0; white-space: normal; }
.md-header__topic:first-child .md-ellipsis::before {
  display: block;
  color: var(--dpf-ink);
  content: "Data\A Platform\A Foundations";
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.05;
  white-space: pre;
}
.md-header__topic[data-md-component="header-topic"] { display: none; }
.md-main__inner { margin-top: 0; }
.md-content__inner { margin: 0; padding-top: 0; }

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 { color: var(--dpf-ink); font-weight: 760; letter-spacing: -0.035em; }

.eyebrow,
.panel-label,
.layer-kicker {
  color: var(--dpf-teal-dark);
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hero { max-width: 940px; padding: 3.6rem 0 3.2rem; }
.md-typeset .hero h1 {
  max-width: 900px;
  margin: 0.65rem 0 1rem;
  font-size: clamp(2.25rem, 4.4vw, 3.65rem);
  line-height: 1.02;
}
.hero-copy,
.section-copy { max-width: 760px; color: var(--dpf-muted); font-size: clamp(0.98rem, 1.25vw, 1.12rem); line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.7rem; }

.md-typeset .primary-action,
.md-typeset .secondary-action {
  display: inline-block;
  padding: 0.75rem 1.05rem;
  border: 1px solid var(--dpf-ink);
  border-radius: 0.2rem;
  font-weight: 760;
}
.md-typeset .secondary-action,
.md-typeset .text-action { color: var(--dpf-ink); font-weight: 760; }
.md-typeset .primary-action { background: var(--dpf-accent); border-color: var(--dpf-accent); color: #07110f; }
.md-typeset .primary-action:hover { background: #6ceadd; border-color: #6ceadd; }

.layer-section { padding: 4.5rem 0; border-top: 1px solid var(--dpf-line); }
.section-heading { max-width: 930px; }
.md-typeset .section-heading h2,
.md-typeset .content-section h2,
.md-typeset .decision-loop-section h2 {
  max-width: 900px;
  margin: 0.45rem 0 1rem;
  font-size: clamp(1.85rem, 3.5vw, 3rem);
  line-height: 1.08;
}

.layer-explorer { margin-top: 2.2rem; }
.external-source-card { display: grid; grid-template-columns: auto 1fr auto; gap: .45rem 1.1rem; align-items: center; margin-bottom: 1rem; padding: 1rem 1.2rem; border: 1px dashed #455160; color: var(--dpf-muted); background: var(--dpf-surface); }
.external-source-card strong { color: var(--dpf-ink); font-size: 1.05rem; }
.external-source-card__label { grid-column: 1 / -1; color: var(--dpf-teal-dark); font-size: .62rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.external-source-card em { font-size: .78rem; }
.agent-note { margin: 0 0 3.2rem; padding: 1.4rem 1.6rem; border: 1px solid var(--dpf-line); border-left: 3px solid var(--dpf-teal); color: var(--dpf-ink); background: var(--dpf-surface); }
.agent-note strong { display: block; margin-bottom: .35rem; font-size: 1.15rem; }
.external-source-note {
  display: grid;
  grid-template-columns: 155px 180px 1fr;
  gap: 1rem;
  align-items: center;
  margin-top: 1.6rem;
  padding: 1rem 1.15rem;
  background: var(--dpf-surface);
  border: 1px dashed #455160;
}
.external-source-note span { color: var(--dpf-teal-dark); font-size: 0.63rem; font-weight: 820; letter-spacing: 0.12em; }
.external-source-note strong { color: var(--dpf-ink); font-size: 0.95rem; }
.external-source-note p { margin: 0; color: var(--dpf-muted); font-size: 0.78rem; line-height: 1.45; }
.layer-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  overflow-x: auto;
  border: 1px solid var(--dpf-line);
  border-bottom: 0;
}
.layer-tab {
  min-width: 142px;
  min-height: 92px;
  padding: 1rem;
  color: var(--dpf-muted);
  background: var(--dpf-surface);
  border: 0;
  border-right: 1px solid var(--dpf-line);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 720;
  line-height: 1.25;
  text-align: left;
  transition: background 160ms ease, color 160ms ease;
}
.layer-tab:last-child { border-right: 0; }
.layer-tab span { display: block; margin-bottom: 0.6rem; color: var(--dpf-teal-dark); font-size: 0.65rem; letter-spacing: 0.1em; }
.layer-tab:hover { color: var(--dpf-ink); background: var(--dpf-surface-3); }
.layer-tab.is-active { color: #fff; background: #183b3a; }
.layer-tab.is-active span { color: #6ee0dc; }
.layer-tab:focus-visible { position: relative; z-index: 1; outline: 3px solid #57d5d2; outline-offset: -3px; }

.layer-panel { padding: 2rem; color: #fff; background: #101820; border: 1px solid var(--dpf-line); }
.layer-panel__header { display: grid; grid-template-columns: 1fr 260px; gap: 2rem; padding-bottom: 1.6rem; border-bottom: 1px solid rgba(255,255,255,0.16); }
.layer-kicker { color: #6ee0dc; }
.md-typeset .layer-panel h3 { margin: 0.35rem 0 0.5rem; color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.layer-panel__header p:not(.layer-kicker) { max-width: 660px; margin: 0; color: #c8d5dc; font-size: 0.96rem; }
.layer-output { align-self: center; padding-left: 1.4rem; border-left: 2px solid var(--dpf-teal); }
.layer-output span { display: block; margin-bottom: 0.3rem; color: #9db0ba; font-size: 0.66rem; font-weight: 780; letter-spacing: 0.1em; text-transform: uppercase; }
.layer-output strong { color: #fff; font-size: 0.9rem; }
.layer-panel__body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 2rem; padding-top: 1.7rem; }
.panel-label { margin: 0 0 0.8rem; color: #6ee0dc; }
.applied-foundations { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
.applied-foundations article { min-height: 180px; padding: 1rem; background: var(--dpf-navy-light); border: 1px solid rgba(255,255,255,0.12); }
.applied-foundations span { color: #fff; font-size: 0.8rem; font-weight: 780; }
.applied-foundations p { margin: 1.4rem 0 0.75rem; color: #bdcbd2; font-size: 0.78rem; line-height: 1.5; }
.applied-foundations strong { color: #6ee0dc; font-size: 0.73rem; font-weight: 680; }
.evidence-card { padding: 1.1rem; background: #122421; border: 1px solid #28514b; }
.evidence-card .panel-label { color: var(--dpf-teal-dark); }
.evidence-card ul { margin: 1.2rem 0 0; padding-left: 1.1rem; color: var(--dpf-ink); }
.evidence-card li { margin-bottom: 0.9rem; font-size: 0.78rem; line-height: 1.45; }
.layer-note { max-width: 760px; margin-top: 0.85rem; color: var(--dpf-muted); font-size: 0.7rem; }

.content-section { padding: 5rem 0; }
.section-heading--split { display: grid; max-width: none; grid-template-columns: 1.2fr 0.8fr; gap: 3rem; align-items: end; }
.foundation-list { display: grid; grid-template-columns: repeat(5, 1fr); margin: 2.2rem 0 1.5rem; border-top: 1px solid var(--dpf-line); border-left: 1px solid var(--dpf-line); }
.foundation-list article { min-height: 190px; padding: 1rem; border-right: 1px solid var(--dpf-line); border-bottom: 1px solid var(--dpf-line); }
.foundation-list span { color: var(--dpf-teal-dark); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; }
.foundation-list h3 { margin: 2rem 0 0.55rem; font-size: 0.95rem; line-height: 1.15; }
.foundation-list p { margin: 0; color: var(--dpf-muted); font-size: 0.72rem; line-height: 1.45; }

.decision-loop-section { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding: 5rem 2.2rem; background: var(--dpf-warm); }
.decision-loop-section .primary-action { margin-top: 1.2rem; }
.decision-loop { margin: 0; padding: 0; list-style: none; }
.decision-loop li { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--dpf-line); }
.decision-loop li:first-child { border-top: 1px solid var(--dpf-line); }
.decision-loop li > span { color: var(--dpf-teal-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; }
.decision-loop strong { font-size: 0.92rem; }
.decision-loop p { margin: 0.2rem 0 0; color: var(--dpf-muted); font-size: 0.76rem; }


.foundation-reference { margin-top: 2rem; }
.foundation-reference table { font-size: 0.76rem; }
.foundation-reference th { white-space: nowrap; }

@media screen and (max-width: 1000px) {
  .foundation-list { grid-template-columns: repeat(2, 1fr); }
  .section-heading--split { grid-template-columns: 1fr; gap: 0; }
}

@media screen and (max-width: 800px) {
  .external-source-note { grid-template-columns: 1fr; gap: 0.35rem; }
  .layer-tabs { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
  .layer-panel__header,
  .layer-panel__body,
  .decision-loop-section { grid-template-columns: 1fr; gap: 1.5rem; }
  .layer-output { padding: 0.9rem 0 0; border-top: 1px solid rgba(255,255,255,0.16); border-left: 0; }
  .decision-loop-section { padding-inline: 1.2rem; }
}

@media screen and (max-width: 600px) {
  .hero { padding: 2.8rem 0 2.5rem; }
  .md-typeset .hero h1 { font-size: clamp(2rem, 10vw, 2.7rem); }
  .layer-section,
  .content-section { padding: 3.5rem 0; }
  .layer-panel { padding: 1.2rem; }
  .applied-foundations,
  .foundation-list { grid-template-columns: 1fr; }
  .applied-foundations article { min-height: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Content navigation is visible even when the homepage hides its sidebar. */
.md-header .dpf-admin-link { margin-left: .7rem; padding: .45rem .7rem; border: 1px solid var(--dpf-line); border-radius: .2rem; color: var(--dpf-ink); font-size: .75rem; font-weight: 700; flex-shrink: 0; }
.dpf-menu { display: flex; flex-wrap: wrap; gap: .2rem .65rem; align-items: center; padding: .4rem .6rem .6rem; border-top: 1px solid var(--dpf-line); }
.dpf-menu > a, .dpf-menu summary { display: block; padding: .45rem .55rem; color: var(--dpf-ink); font-size: .75rem; font-weight: 650; cursor: pointer; border-radius: .2rem; }
.dpf-menu summary { display: list-item; list-style: disclosure-closed inside; }
.dpf-menu details[open] summary { list-style-type: disclosure-open; }
.dpf-menu a:hover, .dpf-menu summary:hover, .dpf-admin-link:hover { background: var(--dpf-mint); }
.dpf-menu a[aria-current="page"], .dpf-menu summary.dpf-menu-active { color: var(--dpf-teal-dark); box-shadow: inset 0 -2px var(--dpf-teal-dark); }
.dpf-menu details { position: relative; }
.dpf-menu-items { position: absolute; top: 100%; left: 0; z-index: 5; width: min(22rem, calc(100vw - 2rem)); background: var(--dpf-surface-2); border: 1px solid var(--dpf-line); border-radius: .4rem; box-shadow: 0 .5rem 1.4rem rgba(0,0,0,.4); padding: .4rem; }
.dpf-menu-items a { display: block; padding: .6rem; font-size: .75rem; color: var(--dpf-ink); overflow-wrap: anywhere; }
.dpf-menu :focus-visible, .dpf-admin-link:focus-visible { outline: 3px solid var(--dpf-teal-dark); outline-offset: 2px; }
@media (max-width: 650px) { .dpf-menu { gap: .15rem; } .dpf-menu > a, .dpf-menu summary { padding: .5rem .4rem; } .dpf-menu-items { position: static; width: 100%; box-shadow: none; } .dpf-menu details[open] { flex-basis: 100%; } }

/* Shared dark surfaces and readable navigation on every route. */
.md-grid { max-width: 64rem; }
.md-content { min-width: 0; }
.md-content__inner { padding: 1.2rem; }
.md-header__title { height: auto; min-height: 2.5rem; }
.md-search__form { background: #202329; border: 1px solid var(--dpf-line); border-radius: .5rem; }
.md-footer, .md-footer-meta { background: #0c0e12; color: var(--dpf-muted); }
.md-typeset .secondary-action { border-color: var(--dpf-line); background: var(--dpf-surface); }
.md-typeset .secondary-action:hover { border-color: var(--dpf-accent); }
.hero { padding-top: 3rem; }
.agent-note, .layer-panel, .decision-loop-section { border-radius: 1rem; }
.foundation-list article { background: var(--dpf-surface); }
@media (max-width: 600px) {
  .md-content__inner { padding: .8rem; }
  .external-source-card { grid-template-columns: 1fr; }
  .md-header__title { margin-left: .2rem; }
}
