:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #eef2ed;
  background: #0b0f0c;
  letter-spacing: 0;
  --base: #0b0f0c;
  --ink: #101510;
  --surface: #131a15;
  --raised: #1a231d;
  --line: #344039;
  --line-soft: #283129;
  --paper: #edf1eb;
  --paper-ink: #172019;
  --muted: #9da8a0;
  --green: #50dda1;
  --amber: #f3c94f;
  --coral: #ff7b68;
  --cyan: #82c7d0;
}

* { box-sizing: border-box; }

html { min-width: 320px; scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: var(--base);
}

.not-found { display: grid; place-items: center; padding: 24px; }
.not-found main { width: min(680px, 100%); }
.not-found .eyebrow { margin-top: 72px; }
.not-found h1 { font-size: 46px; line-height: 1.08; }
.not-found p:not(.eyebrow) { margin: 22px 0 30px; color: var(--muted); }

body, button { letter-spacing: 0; }

a { color: inherit; text-decoration: none; }

button { font: inherit; color: inherit; }

button:focus-visible, a:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 8px;
  left: 8px;
  padding: 9px 12px;
  background: var(--paper);
  color: var(--paper-ink);
  transform: translateY(-160%);
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  min-height: 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  position: sticky;
  z-index: 20;
  top: 0;
  padding: 10px max(24px, calc((100vw - 1440px) / 2));
  border-bottom: 1px solid rgba(90, 108, 96, 0.48);
  background: rgba(8, 12, 9, 0.96);
}

.brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; }

.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid #526057;
  color: var(--amber);
  font: 800 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.brand-name { font-size: 15px; font-weight: 790; }

nav { display: flex; align-items: center; gap: 27px; }

nav a, .header-action {
  color: #bdc5bf;
  font-size: 12px;
  font-weight: 670;
}

nav a:hover { color: #fff; }

.header-action {
  justify-self: end;
  padding: 9px 12px;
  border: 1px solid #46534b;
  border-radius: 4px;
}

.header-action:hover { border-color: var(--amber); color: var(--amber); }

.hero {
  height: min(78svh, 760px);
  min-height: 590px;
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.hero-image, .hero-scrim { position: absolute; inset: 0; }

.hero-image {
  background-image: url("assets/scopepact-workbench.png");
  background-position: center;
  background-size: cover;
  transform: scale(1.015);
}

.hero-scrim { background: rgba(4, 8, 5, 0.72); }

.hero-content {
  width: min(1380px, calc(100% - 48px));
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 32px 0 52px;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--amber);
  font: 800 10px ui-monospace, SFMono-Regular, Menlo, monospace;
}

h1, h2, h3, p { letter-spacing: 0; }

h1 {
  margin: 0;
  color: #fff;
  font-size: 72px;
  line-height: 0.98;
  font-weight: 820;
}

.hero-summary {
  max-width: 660px;
  margin: 24px 0 0;
  color: #dce2dd;
  font-size: 20px;
  line-height: 1.5;
}

.hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 31px; }

.button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border: 1px solid #59675e;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 760;
}

.button.primary { border-color: var(--amber); background: var(--amber); color: #11140f; }
.button.primary:hover { border-color: #ffdc72; background: #ffdc72; }
.button.secondary { background: rgba(13, 18, 14, 0.76); }
.button.secondary:hover { border-color: #87958b; background: rgba(28, 36, 30, 0.94); }

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 11px 24px;
  margin-top: 36px;
  color: #aeb8b0;
  font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.hero-meta span { display: inline-flex; align-items: center; gap: 8px; }

.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

.positioning {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 20px max(24px, calc((100vw - 1380px) / 2));
  border-bottom: 1px solid var(--line);
  background: #111713;
}

.positioning p { margin: 0; font-size: 15px; font-weight: 650; }
.positioning span { color: var(--green); font: 750 10px ui-monospace, SFMono-Regular, Menlo, monospace; }

.why {
  padding: 110px max(24px, calc((100vw - 1380px) / 2));
  border-bottom: 1px solid var(--line);
  background: #151b17;
}

.why-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: end;
  gap: 90px;
}

.why-intro h2 { max-width: 850px; }
.why-intro > p {
  margin: 0;
  color: #b5bfb7;
  font-size: 15px;
  line-height: 1.7;
}

.why-ambition {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: start;
  gap: 30px;
  margin-top: 64px;
  padding: 30px 0;
  border-block: 1px solid #526158;
}

.why-ambition span { padding-top: 6px; color: var(--green); font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.why-ambition p { max-width: 1000px; margin: 0; color: #f3f5f2; font-size: 24px; line-height: 1.45; font-weight: 720; }

.why-problems-heading { display: flex; justify-content: space-between; gap: 30px; margin-top: 68px; }
.why-problems-heading .eyebrow { margin: 0; }
.why-problems-heading > span { color: #7f8b83; font-size: 10px; }

.why-sequence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  border-block: 1px solid #3a463e;
}

.why-sequence article { min-width: 0; padding: 28px 30px 30px 0; }
.why-sequence article + article { padding-left: 30px; border-left: 1px solid #3a463e; }
.why-sequence article:nth-child(n + 3) { border-top: 1px solid #3a463e; }
.why-sequence article:nth-child(3) { padding-left: 0; border-left: 0; }
.why-sequence article > span { color: var(--amber); font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.why-sequence h3 { margin: 17px 0 11px; font-size: 16px; line-height: 1.4; }
.why-sequence p { margin: 0; color: #929e96; font-size: 12px; line-height: 1.65; }

.why-principle {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  padding-top: 38px;
}

.why-principle p { max-width: 910px; margin: 0; color: #f0f3ef; font-size: 22px; line-height: 1.45; font-weight: 680; }
.why-principle span { flex: 0 0 auto; color: var(--green); font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace; }

.section { padding: 112px max(24px, calc((100vw - 1380px) / 2)); }

.architecture { background: var(--paper); color: var(--paper-ink); }

.section-heading { max-width: 790px; }
.section-heading.compact { max-width: 680px; }
.section-heading .eyebrow { color: #947514; }
.section-heading.light .eyebrow { color: var(--amber); }

h2 { margin: 0; font-size: 40px; line-height: 1.12; font-weight: 790; }

.section-heading > p:last-child {
  max-width: 720px;
  margin: 20px 0 0;
  color: #59635c;
  font-size: 16px;
  line-height: 1.65;
}

.protocol-flow {
  display: grid;
  grid-template-columns: minmax(150px, 0.75fr) minmax(60px, 0.35fr) minmax(300px, 1.35fr) minmax(60px, 0.35fr) minmax(150px, 0.75fr);
  align-items: center;
  gap: 18px;
  margin-top: 72px;
  padding-block: 36px;
  border-block: 1px solid #bcc5bd;
}

.protocol-sources { display: grid; gap: 7px; }
.protocol-sources span { padding: 9px 11px; border-left: 3px solid #3e8263; background: #dfe6df; font-size: 12px; font-weight: 700; }

.flow-line { height: 1px; position: relative; background: #718078; }
.flow-line span { width: 7px; height: 7px; position: absolute; top: -3px; right: 0; border-radius: 50%; background: #3b7f61; }

.kernel-node { min-height: 112px; display: grid; place-content: center; gap: 11px; padding: 20px; border: 1px solid #68766d; background: #172019; color: #fff; text-align: center; }
.kernel-node small, .decision-node small { font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.kernel-node small { color: var(--amber); }
.kernel-node strong { font-size: 13px; }

.decision-node { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.decision-node > span { padding: 9px 5px; border: 1px solid; text-align: center; font: 800 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.decision-node .allow { color: #16774f; border-color: #509875; }
.decision-node .block { color: #b93e31; border-color: #c4776e; }
.decision-node small { grid-column: 1 / -1; color: #67746c; text-align: center; }

.invariant-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid #bdc5be; }
.invariant-list article { min-width: 0; padding: 25px 24px 0 0; border-right: 1px solid #bdc5be; }
.invariant-list article:not(:first-child) { padding-left: 24px; }
.invariant-list article:last-child { border-right: 0; }
.invariant-list article > span { color: #718078; font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.invariant-list h3 { margin: 14px 0 9px; font-size: 15px; }
.invariant-list p { margin: 0; color: #5d6961; font-size: 12px; line-height: 1.6; }

.product-view { padding: 104px max(24px, calc((100vw - 1510px) / 2)); background: #0e130f; }
.product-view .section-heading { margin-left: max(0px, calc((100% - 1380px) / 2)); }
.product-view .section-heading > p:last-child { color: var(--muted); }
.product-view figure { margin: 52px 0 0; }
.product-view img { width: 100%; height: auto; display: block; aspect-ratio: 2038 / 1212; border: 1px solid #465249; background: #0d100e; object-fit: contain; }
.product-view figcaption { margin-top: 13px; color: #89948d; font-size: 10px; }

.guard { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(500px, 1.18fr); gap: 84px; align-items: center; }
.guard-copy > p:not(.eyebrow) { max-width: 610px; margin: 22px 0 0; color: #aeb8b1; font-size: 15px; line-height: 1.7; }
.guard-copy code { color: var(--cyan); }
.guard-copy dl { display: grid; grid-template-columns: 1fr 1fr; margin: 38px 0 0; border-top: 1px solid var(--line); }
.guard-copy dl div { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--line); }
.guard-copy dl div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.guard-copy dt { margin-bottom: 6px; color: #77837b; font-size: 10px; }
.guard-copy dd { margin: 0; font-size: 12px; font-weight: 680; }

.decision-tool { border: 1px solid #49564d; border-radius: 6px; background: #111713; overflow: hidden; }
.tool-topbar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 18px; border-bottom: 1px solid var(--line); background: #171e19; }
.tool-topbar > div { display: flex; align-items: center; gap: 9px; }
.tool-topbar strong { font-size: 12px; }
.tool-topbar > span { color: #7f8b83; font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.tool-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

.segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 18px; border: 1px solid var(--line); background: var(--line); }
.segmented button { min-height: 38px; border: 0; background: #111713; color: #87928a; cursor: pointer; font-size: 11px; font-weight: 680; }
.segmented button:hover { color: #fff; background: #1a221c; }
.segmented button.active { color: #11140f; background: var(--amber); }

.request-line { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; margin: 0 18px; padding: 16px; border-block: 1px solid var(--line); }
.request-line span { color: var(--cyan); font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.request-line code { min-width: 0; overflow-wrap: anywhere; color: #d3dad4; text-align: right; font-size: 11px; }

.decision-output { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 20px; margin: 18px; padding: 18px; border-left: 3px solid var(--green); background: #17231c; }
.decision-output.blocked { border-left-color: var(--coral); background: #271917; }
.decision-output.duplicate { border-left-color: var(--amber); background: #282317; }
.decision-output span { display: block; color: #839088; font: 700 8px ui-monospace, SFMono-Regular, Menlo, monospace; }
.decision-output strong { display: block; margin-top: 4px; color: var(--green); font: 800 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.decision-output.blocked strong { color: var(--coral); }
.decision-output.duplicate strong { color: var(--amber); }
.decision-output p { margin: 0; color: #bdc6bf; font-size: 11px; line-height: 1.5; }

.receipt-fields { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--line); }
.receipt-fields div { min-width: 0; padding: 15px 18px; border-right: 1px solid var(--line); }
.receipt-fields div:last-child { border-right: 0; }
.receipt-fields dt { margin-bottom: 6px; color: #77837b; font-size: 8px; }
.receipt-fields dd { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }

.evidence { padding: 92px max(24px, calc((100vw - 1380px) / 2)); background: #20372d; }
.evidence .section-heading > p:last-child { color: #c1ccc4; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 54px; border-block: 1px solid #547062; }
.metrics div { min-width: 0; padding: 28px 24px; border-right: 1px solid #547062; }
.metrics div:first-child { padding-left: 0; }
.metrics div:last-child { border-right: 0; }
.metrics strong { display: block; color: #fff; font-size: 35px; }
.metrics span { display: block; margin-top: 6px; color: #a9bcb1; font-size: 11px; line-height: 1.4; }
.coverage-line { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 23px; color: var(--green); font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }

.runtimes { background: var(--paper); color: var(--paper-ink); }
.runtime-table { margin-top: 56px; border-top: 1px solid #aeb8b0; }
.runtime-row {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(110px, 0.5fr) minmax(280px, 1.7fr) minmax(100px, 0.45fr);
  align-items: center;
  gap: 24px;
  padding: 13px 0;
  border-bottom: 1px solid #c4ccc5;
}
.runtime-row strong { font-size: 14px; }
.runtime-row > span { color: #5a655d; font-size: 12px; line-height: 1.5; }
.runtime-row em { justify-self: end; color: #506059; font: normal 800 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.runtime-row em.ready { color: #14714b; }
.runtime-row em.alpha { color: #8c6d0a; }
.runtime-header { min-height: 42px; }
.runtime-header span { color: #748078; font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.runtime-header span:last-child { justify-self: end; }

.community {
  padding: 112px max(24px, calc((100vw - 1380px) / 2));
  border-block: 1px solid var(--line);
  background: #151b17;
}

.community-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
  align-items: start;
  gap: 90px;
}

.community-intro > div:last-child > p {
  max-width: 650px;
  margin: 0;
  color: #b6c0b8;
  font-size: 15px;
  line-height: 1.72;
}

.community-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }

.community-commitment {
  display: grid;
  grid-template-columns: 190px minmax(300px, 1.2fr) minmax(260px, 0.8fr);
  align-items: start;
  gap: 36px;
  margin-top: 66px;
  padding: 30px 0;
  border-block: 1px solid #536158;
}

.community-commitment > span {
  padding-top: 5px;
  color: var(--green);
  font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.community-commitment strong { color: #f3f5f2; font-size: 20px; line-height: 1.45; }
.community-commitment p { margin: 0; color: #929e96; font-size: 12px; line-height: 1.68; }

.community-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid #3a463e;
}

.community-paths > a { min-width: 0; padding: 32px 30px 30px 0; }
.community-paths > a + a { padding-left: 30px; border-left: 1px solid #3a463e; }
.community-paths > a > span { color: var(--amber); font: 750 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.community-paths h3 { margin: 18px 0 11px; font-size: 16px; line-height: 1.42; }
.community-paths p { min-height: 40px; margin: 0; color: #929e96; font-size: 12px; line-height: 1.65; }
.community-paths b { display: block; margin-top: 25px; color: #dce2dd; font-size: 11px; }
.community-paths i { color: var(--amber); font-style: normal; }
.community-paths > a:hover h3, .community-paths > a:hover b { color: var(--green); }

.start { background: #0d120e; }
.start .section-heading > p:last-child { color: var(--muted); }
.command-block { max-width: 920px; margin-top: 46px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.command-heading { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 8px 14px 8px 18px; border-bottom: 1px solid var(--line); background: var(--raised); }
.command-heading span { color: #8c9890; font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }
.command-heading button { min-height: 28px; padding: 0 8px; border: 1px solid #526058; border-radius: 4px; background: transparent; cursor: pointer; font-size: 10px; }
.command-heading button:hover { border-color: var(--cyan); color: var(--cyan); }
.command-block pre { margin: 0; padding: 22px; overflow: auto; background: #070a08; color: #cfd8d1; font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, monospace; }
.next-links { max-width: 920px; display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 30px; border-top: 1px solid var(--line); }
.next-links a { display: flex; justify-content: space-between; gap: 18px; padding: 17px 12px 17px 0; border-bottom: 1px solid var(--line); color: #bdc6bf; font-size: 12px; }
.next-links a:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
.next-links a span { color: var(--amber); }
.next-links a:hover { color: #fff; }

.open-source { display: grid; grid-template-columns: 1fr minmax(300px, 0.8fr) auto; align-items: center; gap: 70px; padding: 68px max(24px, calc((100vw - 1380px) / 2)); background: var(--amber); color: #15170f; }
.open-source .eyebrow { color: #715a0f; }
.open-source h2 { max-width: 580px; font-size: 30px; }
.open-source > p { margin: 0; font-size: 13px; line-height: 1.65; }
.button.dark { border-color: #1c241e; background: #182019; color: #fff; white-space: nowrap; }
.button.dark:hover { background: #2b382f; }

footer { min-height: 150px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 30px max(24px, calc((100vw - 1380px) / 2)); border-top: 1px solid var(--line); background: #080b09; }
footer p { margin: 0; color: #909b93; font-size: 11px; }
footer p a:hover { color: var(--green); }
footer > span { justify-self: end; color: #717d75; font: 700 9px ui-monospace, SFMono-Regular, Menlo, monospace; }

@media (max-width: 1000px) {
  .site-header { grid-template-columns: 1fr auto; }
  nav { display: none; }
  .hero { min-height: 610px; }
  h1 { font-size: 58px; }
  .protocol-flow { grid-template-columns: 1fr; }
  .why-intro { grid-template-columns: 1fr; align-items: start; gap: 30px; }
  .why-intro > p { max-width: 720px; }
  .why-ambition { grid-template-columns: 1fr; gap: 14px; }
  .why-sequence { grid-template-columns: 1fr; }
  .why-sequence article, .why-sequence article + article { padding: 25px 0; border-left: 0; }
  .why-sequence article + article { border-top: 1px solid #3a463e; }
  .flow-line { width: 1px; height: 36px; margin: 0 auto; }
  .flow-line span { top: auto; right: -3px; bottom: 0; }
  .protocol-sources { grid-template-columns: repeat(3, 1fr); }
  .invariant-list { grid-template-columns: repeat(2, 1fr); }
  .invariant-list article:nth-child(2) { border-right: 0; }
  .invariant-list article:nth-child(3), .invariant-list article:nth-child(4) { margin-top: 32px; border-top: 1px solid #bdc5be; }
  .invariant-list article:nth-child(3) { padding-left: 0; }
  .guard { grid-template-columns: 1fr; gap: 52px; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metrics div:nth-child(2) { border-right: 0; }
  .metrics div:nth-child(-n + 2) { border-bottom: 1px solid #547062; }
  .metrics div:nth-child(3) { padding-left: 0; }
  .community-intro { grid-template-columns: 1fr; gap: 30px; }
  .community-intro > div:last-child > p { max-width: 720px; }
  .community-commitment { grid-template-columns: 160px minmax(0, 1fr); }
  .community-commitment p { grid-column: 2; }
  .community-paths { grid-template-columns: 1fr; }
  .community-paths > a, .community-paths > a + a { padding: 27px 0; border-left: 0; }
  .community-paths > a + a { border-top: 1px solid #3a463e; }
  .community-paths p { min-height: 0; }
  .open-source { grid-template-columns: 1fr auto; gap: 36px; }
  .open-source > p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 640px) {
  .site-header { padding-inline: 16px; }
  .header-action { padding-inline: 9px; font-size: 11px; }
  .hero {
    height: min(680px, calc(100svh - 104px));
    min-height: 520px;
    align-items: end;
  }
  .hero-image { background-position: 44% center; }
  .hero-scrim { background: rgba(4, 8, 5, 0.76); }
  .hero-content { width: calc(100% - 32px); padding-bottom: 42px; }
  h1 { font-size: 44px; }
  .hero-summary { font-size: 17px; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .positioning { align-items: flex-start; padding-inline: 16px; }
  .positioning span { display: none; }
  .section, .product-view, .evidence, .why, .community { padding: 76px 16px; }
  h2 { font-size: 31px; }
  .section-heading > p:last-child { font-size: 14px; }
  .protocol-flow { margin-top: 46px; }
  .why-sequence { margin-top: 44px; }
  .why-ambition { margin-top: 44px; }
  .why-ambition p { font-size: 20px; }
  .why-problems-heading { display: grid; gap: 10px; margin-top: 48px; }
  .why-sequence { margin-top: 16px; }
  .why-principle { display: grid; gap: 18px; padding-top: 30px; }
  .why-principle p { font-size: 18px; }
  .protocol-sources { grid-template-columns: 1fr; }
  .invariant-list { grid-template-columns: 1fr; margin-top: 48px; }
  .invariant-list article, .invariant-list article:not(:first-child) { padding: 20px 0; border-right: 0; border-bottom: 1px solid #bdc5be; }
  .invariant-list article:nth-child(3), .invariant-list article:nth-child(4) { margin-top: 0; border-top: 0; }
  .product-view figure { margin-top: 35px; }
  .product-view img { min-height: 0; object-fit: contain; object-position: center; }
  .guard { gap: 42px; }
  .guard-copy dl { grid-template-columns: 1fr; }
  .guard-copy dl div:nth-child(even) { padding-left: 0; border-left: 0; }
  .segmented { grid-template-columns: 1fr; }
  .request-line { grid-template-columns: 1fr; gap: 8px; }
  .request-line code { text-align: left; }
  .decision-output { grid-template-columns: 1fr; gap: 11px; }
  .receipt-fields { grid-template-columns: 1fr; }
  .receipt-fields div { border-right: 0; border-bottom: 1px solid var(--line); }
  .receipt-fields div:last-child { border-bottom: 0; }
  .metrics { grid-template-columns: 1fr; }
  .metrics div, .metrics div:first-child, .metrics div:nth-child(3) { padding: 21px 0; border-right: 0; border-bottom: 1px solid #547062; }
  .metrics div:last-child { border-bottom: 0; }
  .runtime-table { margin-top: 38px; }
  .runtime-row { grid-template-columns: 86px minmax(0, 1fr); gap: 8px 16px; padding: 16px 0; }
  .runtime-row em { grid-column: 2; justify-self: start; }
  .runtime-header { display: none; }
  .community-actions { display: grid; }
  .community-commitment { grid-template-columns: 1fr; gap: 14px; margin-top: 46px; }
  .community-commitment p { grid-column: auto; }
  .community-paths { margin-top: 6px; }
  .next-links { grid-template-columns: 1fr; }
  .next-links a:nth-child(even) { padding-left: 0; border-left: 0; }
  .open-source { grid-template-columns: 1fr; padding: 58px 16px; }
  .open-source > p { grid-column: auto; grid-row: auto; }
  .open-source .button { width: fit-content; }
  footer { grid-template-columns: 1fr; justify-items: start; padding-inline: 16px; }
  footer > span { justify-self: start; }
}

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