@font-face {
  font-family: "Plex";
  src: url("/fonts/IBMPlexSans-Regular.ttf") format("truetype");
  font-display: swap;
}

:root {
  --paper: #f3f3ee;
  --white: #fbfbf8;
  --ink: #111718;
  --slate: #536064;
  --muted: #dfe2dc;
  --rule: #bcc2bd;
  --signal: #456873;
  --background: var(--paper);
  --foreground: var(--ink);
  --card: var(--white);
  --card-foreground: var(--ink);
  --popover: var(--white);
  --popover-foreground: var(--ink);
  --primary: var(--ink);
  --primary-foreground: var(--white);
  --secondary: var(--muted);
  --secondary-foreground: var(--ink);
  --accent: var(--signal);
  --accent-foreground: var(--white);
  --border: var(--rule);
  --input: var(--rule);
  --ring: var(--signal);
  --radius: 0;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Plex", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; }
::selection { background: #c8d8db; color: var(--ink); }

/* Campaign-led homepage */
.campaign-hero {
  display: grid;
  min-height: calc(100svh - 70px);
  grid-template-columns: minmax(360px, 0.78fr) minmax(620px, 1.22fr);
  border-bottom: 1px solid var(--ink);
}

.campaign-hero-copy {
  display: flex;
  min-height: calc(100svh - 70px);
  flex-direction: column;
  padding: clamp(44px, 6vw, 92px) clamp(28px, 4vw, 68px);
  border-right: 1px solid var(--ink);
}

.campaign-hero-copy h1 { max-width: 690px; }

.campaign-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: auto 0 0;
  padding-top: 54px;
}

.campaign-facts div { min-height: 67px; padding: 13px 0; border-top: 1px solid var(--rule); }
.campaign-facts div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--rule); }
.campaign-facts dt { color: var(--slate); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.campaign-facts dd { margin: 6px 0 0; font-size: 14px; }

.perspective-system { display: flex; position: relative; flex-direction: column; margin: 0; overflow: hidden; background: var(--white); }
.perspective-system svg { display: block; width: 100%; height: auto; min-height: 0; flex: 1; }
.perspective-system figcaption {
  display: flex;
  flex: 0 0 38px;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  border-top: 1px solid var(--ink);
  background: rgba(243, 243, 238, 0.94);
  color: var(--slate);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-perspective { min-height: 0; }
.hero-perspective svg { aspect-ratio: 1200 / 620; }
.perspective-system line,
.perspective-system rect,
.perspective-system polygon,
.perspective-system ellipse,
.perspective-system circle,
.perspective-system path {
  fill: none;
  stroke: var(--ink);
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}
.perspective-system circle { fill: var(--paper); }
.perspective-system text { fill: var(--slate); font-family: "Plex", Arial, sans-serif; font-size: 13px; letter-spacing: 0.08em; }
.perspective-grid line { stroke: var(--muted); stroke-dasharray: 4 7; }
.input-plane rect { fill: rgba(243, 243, 238, 0.64); }
.input-plane .signal-line,
.sequence-stage .signal-line { stroke: var(--signal); stroke-width: 2; }
.approval-gate polygon { fill: rgba(69, 104, 115, 0.08); stroke: var(--signal); }
.approval-gate ellipse, .approval-gate circle { stroke: var(--signal); }
.record-axis > line:first-child { stroke-width: 2; }
.record-axis .record-shadow { stroke: var(--signal); }
.record-axis rect { fill: rgba(243, 243, 238, 0.74); }
.record-axis path { stroke: var(--signal); stroke-width: 1.7; }

.campaign-workflow,
.architecture-section,
.campaign-proof,
.durable-section,
.foundation-section {
  padding: clamp(78px, 9vw, 132px) clamp(28px, 5vw, 78px);
  border-bottom: 1px solid var(--ink);
}

.architecture-section { background: var(--paper); }
.architecture-diagram-wrap { margin-top: clamp(52px, 7vw, 92px); padding: clamp(14px, 2vw, 28px); border: 1px solid var(--ink); background: var(--white); }
.architecture-link { display: flex; width: min(360px, 100%); min-height: 50px; align-items: center; justify-content: space-between; margin: 24px 0 0 auto; padding: 0 15px; border: 1px solid var(--ink); font-size: 12px; letter-spacing: 0.07em; text-transform: uppercase; }
.architecture-link:hover { background: var(--ink); color: var(--white); }

.campaign-section-heading h2,
.campaign-proof h2,
.foundation-section h2 {
  margin: 0;
  font-size: clamp(36px, 4.8vw, 72px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1;
}

.campaign-section-heading > p:last-child { font-size: 16px; }
.sequence-perspective { aspect-ratio: 2.03; margin-top: clamp(52px, 7vw, 92px); border: 1px solid var(--ink); }
.sequence-envelope line { stroke: var(--rule); }
.sequence-envelope .campaign-axis { stroke: var(--ink); stroke-width: 1.7; }
.sequence-stage rect { fill: rgba(251, 251, 248, 0.72); }
.sequence-stage.approval-stage rect { fill: rgba(69, 104, 115, 0.12); stroke: var(--signal); }
.sequence-record line { stroke: var(--signal); stroke-dasharray: 3 5; }

.campaign-step-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--ink);
  list-style: none;
}

.campaign-step-list li { min-height: 258px; padding: 22px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.campaign-step-list span { color: var(--slate); font-size: 12px; }
.campaign-step-list h3 { margin: 72px 0 14px; font-size: 21px; font-weight: 400; }
.campaign-step-list p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.55; }

.campaign-proof {
  display: grid;
  grid-template-columns: minmax(300px, 0.68fr) minmax(560px, 1.32fr);
  gap: clamp(48px, 8vw, 130px);
  background: var(--white);
}

.campaign-proof-copy { align-self: center; }
.campaign-proof-copy p:not(.eyebrow) { max-width: 650px; margin: 34px 0 0; color: var(--slate); font-size: 17px; line-height: 1.65; }
.campaign-proof-copy a { display: inline-flex; justify-content: space-between; min-width: 290px; margin-top: 38px; padding: 13px 0; border-bottom: 1px solid var(--ink); font-size: 12px; letter-spacing: 0.07em; text-transform: uppercase; }

.campaign-capture-placeholder { min-height: 590px; margin: 0; padding: 26px; border: 1px solid var(--ink); background: var(--paper); }
.capture-register { display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; padding-bottom: 20px; border-bottom: 1px solid var(--ink); }
.capture-register span, .capture-register small { color: var(--slate); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.capture-register strong { grid-column: 1; font-size: 24px; font-weight: 400; }
.capture-register small { grid-column: 2; grid-row: 2; align-self: end; }
.capture-track { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto; gap: 10px; align-items: center; margin-top: 28px; color: var(--slate); font-size: 12px; text-transform: uppercase; }
.capture-track i { height: 1px; background: var(--rule); }
.capture-frame { display: grid; min-height: 350px; place-items: center; margin-top: 28px; border: 1px dashed var(--rule); background-image: linear-gradient(rgba(69, 104, 115, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(69, 104, 115, 0.07) 1px, transparent 1px); background-size: 28px 28px; color: var(--slate); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.campaign-capture-placeholder > p { max-width: 520px; margin: 20px 0 0 auto; color: var(--slate); font-size: 13px; text-align: right; }

.durable-section { background: #dfe5e3; }
.durable-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(56px, 7vw, 96px); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.durable-grid article { min-height: 285px; padding: 24px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.durable-grid span { color: var(--slate); font-size: 12px; }
.durable-grid h3 { margin: 86px 0 15px; font-size: 26px; font-weight: 400; }
.durable-grid p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.6; }

.foundation-section { background: var(--ink); color: var(--white); }
.foundation-copy { display: grid; grid-template-columns: 0.38fr 0.92fr 0.7fr; gap: clamp(28px, 5vw, 84px); }
.foundation-copy .eyebrow, .foundation-copy > p:last-child { color: #bcc6c4; }
.foundation-copy > p:last-child { font-size: 16px; line-height: 1.65; }
.foundation-map { display: grid; grid-template-columns: 1fr 70px 1fr 70px 1fr; margin-top: clamp(60px, 8vw, 110px); border: 1px solid #6f7b7d; }
.foundation-map article { display: flex; min-height: 220px; flex-direction: column; justify-content: center; padding: 30px; background: #192224; }
.foundation-map span, .foundation-map small { color: #aeb9b7; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.foundation-map strong { margin: 17px 0; font-size: 30px; font-weight: 400; }
.foundation-map > i { display: grid; place-items: center; border-right: 1px solid #6f7b7d; border-left: 1px solid #6f7b7d; color: #aeb9b7; font-style: normal; }
.foundation-links { display: flex; justify-content: flex-end; gap: 28px; margin-top: 28px; }
.foundation-links a { min-width: 240px; padding: 13px 0; border-bottom: 1px solid #6f7b7d; color: #d5ddda; font-size: 12px; letter-spacing: 0.07em; text-transform: uppercase; }
.foundation-links a span { float: right; }

@media (max-width: 1120px) {
  .campaign-hero { grid-template-columns: 1fr; }
  .campaign-hero-copy { min-height: auto; border-right: 0; border-bottom: 1px solid var(--ink); }
  .campaign-facts { margin-top: 60px; }
  .hero-perspective svg { min-height: 620px; aspect-ratio: auto; }
  .campaign-proof { grid-template-columns: 1fr; }
  .foundation-copy { grid-template-columns: 1fr 1fr; }
  .foundation-copy .eyebrow { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .campaign-step-list { grid-template-columns: 1fr 1fr; }
  .campaign-step-list li:last-child { grid-column: 1 / -1; }
  .durable-grid { grid-template-columns: 1fr 1fr; }
  .foundation-map { grid-template-columns: 1fr; }
  .foundation-map > i { min-height: 54px; border: 0; border-top: 1px solid #6f7b7d; border-bottom: 1px solid #6f7b7d; transform: rotate(90deg); }
}

@media (max-width: 650px) {
  .campaign-hero-copy { padding: 42px 20px; }
  .campaign-hero-copy h1 { font-size: 46px; }
  .hero-perspective svg { min-height: 400px; }
  .campaign-workflow, .architecture-section, .campaign-proof, .durable-section, .foundation-section { padding: 68px 20px; }
  .architecture-diagram-wrap { padding: 8px; overflow-x: auto; }
  .sequence-perspective { aspect-ratio: 0.92; overflow-x: auto; }
  .sequence-perspective svg { width: 880px; max-width: none; }
  .campaign-step-list, .durable-grid { grid-template-columns: 1fr; }
  .campaign-step-list li:last-child { grid-column: auto; }
  .campaign-step-list li { min-height: 220px; }
  .campaign-capture-placeholder { min-height: 500px; padding: 18px; }
  .capture-register, .capture-track { grid-template-columns: 1fr; }
  .capture-register small { grid-column: 1; grid-row: auto; }
  .capture-track i { display: none; }
  .capture-frame { min-height: 260px; }
  .foundation-copy { grid-template-columns: 1fr; }
  .foundation-copy .eyebrow { grid-column: auto; }
  .foundation-links { display: grid; }
}

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

.masthead {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  min-height: 70px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(22px, 4vw, 64px);
  border-bottom: 1px solid var(--ink);
  background: rgba(243, 243, 238, 0.96);
  backdrop-filter: blur(12px);
}

.wordmark img { display: block; width: 168px; height: auto; }
.desktop-navigation { display: flex; gap: 28px; }
.desktop-navigation a, .source-link, .start-link {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.desktop-navigation a:hover, .source-link:hover { color: var(--signal); }
.header-actions { display: flex; align-items: center; justify-self: end; gap: 18px; }
.start-link { padding: 9px 13px; border: 1px solid var(--ink); }
.start-link:hover { background: var(--ink); color: var(--white); }
.mobile-navigation { display: none; }

.hero {
  display: grid;
  min-height: calc(100vh - 70px);
  grid-template-columns: minmax(300px, 0.72fr) minmax(700px, 1.65fr);
  border-bottom: 1px solid var(--ink);
}

.hero-statement {
  display: flex;
  min-height: calc(100vh - 70px);
  flex-direction: column;
  padding: clamp(42px, 6vw, 88px) clamp(28px, 4vw, 64px);
  border-right: 1px solid var(--ink);
}

.eyebrow {
  margin: 0 0 28px;
  color: var(--slate);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(40px, 4.3vw, 68px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.lede {
  max-width: 480px;
  margin: 38px 0 0;
  color: var(--slate);
  font-size: 16px;
  line-height: 1.55;
}

.hero-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 44px;
  border: 1px solid var(--ink);
}

.hero-links a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero-links a + a { border-left: 1px solid var(--ink); }
.hero-links .primary-link { background: var(--ink); color: var(--white); }
.hero-links a:hover { background: var(--signal); color: var(--white); }

.hero-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: auto 0 0;
  padding-top: 48px;
}

.hero-facts div { padding: 13px 0; border-top: 1px solid var(--rule); }
.hero-facts div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--rule); }
.hero-facts dt { color: var(--slate); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.hero-facts dd { margin: 5px 0 0; font-size: 12px; }

.architecture-wrap {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  padding: clamp(22px, 3vw, 48px);
  background: var(--white);
}

.architecture { width: 100%; margin: 0; border: 1px solid var(--ink); background: var(--paper); }

.architecture figcaption {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  padding: 0 13px;
  border-bottom: 1px solid var(--ink);
  color: var(--slate);
  font-size: 8px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.architecture-canvas {
  position: relative;
  display: grid;
  grid-template-columns: minmax(125px, 0.8fr) 62px minmax(360px, 2.2fr) 62px minmax(140px, 0.9fr);
  grid-template-rows: auto auto 1fr auto;
  gap: 10px 0;
  padding: 14px;
  background-image:
    linear-gradient(rgba(17, 23, 24, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 23, 24, 0.055) 1px, transparent 1px);
  background-size: 24px 24px;
}

.external-node, .layer, .protocol-foundation {
  background: var(--white);
  border: 1px solid var(--ink);
}

.external-node { display: flex; flex-direction: column; padding: 13px; }
.external-node strong { font-size: 12px; font-weight: 500; }
.external-node small { margin-top: 4px; color: var(--slate); font-size: 9px; line-height: 1.35; }
.node-kicker, .cluster-label, .ownership-tag {
  color: var(--slate);
  font-size: 7px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.operator-node { grid-column: 3; grid-row: 1; justify-self: center; width: 180px; }
.operator-flow { grid-column: 3; grid-row: 2; align-self: center; justify-self: center; }

.external-cluster { display: flex; flex-direction: column; gap: 7px; align-self: center; }
.cluster-label { margin-bottom: 1px; }
.model-cluster { grid-column: 1; grid-row: 3; }
.effect-cluster { grid-column: 5; grid-row: 3; }
.subdued-node { background: #e8eae5; }

.flow-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--slate);
  font-size: 7px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.horizontal-flow { justify-content: center; writing-mode: vertical-rl; }
.model-flow { grid-column: 2; grid-row: 3; }
.effect-flow { grid-column: 4; grid-row: 3; }
.arrow { color: var(--signal); font-size: 15px; }

.product-boundary {
  grid-column: 3;
  grid-row: 3;
  padding: 9px;
  border: 1px solid var(--signal);
  background: rgba(69, 104, 115, 0.08);
}

.boundary-label { display: flex; justify-content: space-between; margin: 1px 2px 9px; color: var(--signal); font-size: 7px; letter-spacing: 0.08em; text-transform: uppercase; }

.layer { padding: 12px 14px; }
.layer header { display: flex; align-items: baseline; gap: 9px; }
.layer header span { color: var(--slate); font-size: 8px; }
.layer header strong { font-size: 12px; font-weight: 500; }
.layer p { margin: 6px 0 0; color: var(--slate); font-size: 9px; line-height: 1.35; }
.workbench-layer { background: #eef0eb; }
.record-layer { background: var(--ink); color: var(--white); }
.record-layer header span, .record-layer p { color: #aeb7b7; }

.internal-flow { display: flex; min-height: 29px; align-items: center; justify-content: center; gap: 8px; color: var(--slate); font-size: 7px; letter-spacing: 0.06em; text-transform: uppercase; }
.runtime-pair { display: grid; grid-template-columns: 1fr 28px 1fr; }
.pair-flow { display: grid; place-items: center; }
.harness-layer, .kernel-layer { position: relative; min-height: 100px; }
.ownership-tag { position: absolute; right: 12px; bottom: 10px; }
.kernel-layer { background: #d9e1e1; }

.protocol-foundation {
  grid-column: 1 / 4;
  grid-row: 4;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  align-items: center;
  min-height: 58px;
  padding: 10px 13px;
  border-color: var(--signal);
}
.protocol-foundation strong { display: block; margin-top: 3px; font-size: 12px; font-weight: 500; }
.protocol-foundation p { margin: 0; color: var(--slate); font-size: 9px; }
.export-flow { grid-column: 4; grid-row: 4; justify-self: center; writing-mode: vertical-rl; }
.verifier-node { grid-column: 5; grid-row: 4; align-self: stretch; justify-content: center; }

.planes-section, .boundary-section, .workbench-section {
  padding: clamp(78px, 9vw, 132px) clamp(28px, 5vw, 78px);
  border-bottom: 1px solid var(--ink);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(120px, 0.45fr) minmax(340px, 1fr) minmax(260px, 0.7fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: start;
}

.section-heading h2, .workbench-copy h2, .closing h2 {
  margin: 0;
  font-size: clamp(34px, 4.2vw, 62px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1;
}

.section-heading > p:last-child, .workbench-copy > p {
  color: var(--slate);
  font-size: 15px;
  line-height: 1.55;
}

.plane-list { margin-top: clamp(56px, 7vw, 96px); border-top: 1px solid var(--ink); }
.plane-list article {
  display: grid;
  grid-template-columns: 60px 0.7fr 0.9fr 1.5fr;
  gap: 28px;
  align-items: baseline;
  min-height: 92px;
  padding: 26px 0;
  border-bottom: 1px solid var(--rule);
}
.plane-number { color: var(--slate); font-size: 9px; }
.plane-list h3 { margin: 0; font-size: 23px; font-weight: 400; }
.plane-list strong { font-size: 11px; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; }
.plane-list p { max-width: 600px; margin: 0; color: var(--slate); }

.boundary-section { background: var(--ink); color: var(--white); }
.boundary-section .eyebrow, .boundary-section .section-heading > p:last-child { color: #aeb7b7; }
.compact-heading { grid-template-columns: minmax(120px, 0.45fr) minmax(340px, 1fr) minmax(260px, 0.7fr); }

.boundary-grid {
  display: grid;
  grid-template-columns: 1fr 160px 1fr;
  margin-top: clamp(56px, 7vw, 96px);
  border: 1px solid #778183;
}

.boundary-column { min-height: 410px; padding: clamp(26px, 4vw, 52px); }
.boundary-column header { padding-bottom: 24px; border-bottom: 1px solid #778183; }
.boundary-column header span { color: #aeb7b7; font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; }
.boundary-column h3 { margin: 7px 0 0; font-size: 28px; font-weight: 400; }
.boundary-column ul { margin: 34px 0 0; padding: 0; list-style: none; }
.boundary-column li { padding: 12px 0; border-bottom: 1px solid #4a5557; color: #d5d9d7; }
.open-column { background: #1a2325; }
.private-column { background: #202b2e; }

.dependency-rule {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #778183;
  border-left: 1px solid #778183;
  color: #aeb7b7;
  text-align: center;
}
.dependency-rule span, .dependency-rule small { font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.dependency-rule strong { margin: 16px 0; color: var(--white); font-size: 13px; font-weight: 500; writing-mode: vertical-rl; }
.boundary-rule { max-width: 740px; margin: 28px 0 0 auto; color: #aeb7b7; text-align: right; }

.workbench-section {
  display: grid;
  grid-template-columns: minmax(300px, 0.65fr) minmax(600px, 1.35fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
  background: var(--white);
}

.workbench-copy { position: sticky; top: 112px; }
.workbench-copy h2 { margin-bottom: 28px; }
.workbench-copy ul { margin: 42px 0 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.workbench-copy li { display: grid; grid-template-columns: 32px 1fr; gap: 8px; padding: 13px 0; border-bottom: 1px solid var(--rule); }
.workbench-copy li span { color: var(--slate); font-size: 8px; }

.product-figure { margin: 0; }
.product-figure figcaption { display: flex; justify-content: space-between; margin-bottom: 10px; color: var(--slate); font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.product-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--ink); }

.closing {
  display: grid;
  grid-template-columns: 1.5fr 0.5fr;
  gap: 70px;
  align-items: end;
  padding: clamp(78px, 9vw, 132px) clamp(28px, 5vw, 78px);
  border-bottom: 1px solid var(--ink);
  background: #dfe5e3;
}
.closing h2 { max-width: 860px; }
.closing > a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 0 16px; border: 1px solid var(--ink); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.closing > a:hover { background: var(--ink); color: var(--white); }

.site-footer {
  display: grid;
  grid-template-columns: 1.6fr 0.65fr 0.65fr 1fr;
  gap: clamp(28px, 5vw, 80px);
  min-height: 250px;
  padding: 52px clamp(28px, 5vw, 78px);
  color: var(--slate);
}
.site-footer img { width: 165px; height: auto; }
.footer-identity p { max-width: 260px; margin: 22px 0 0; font-size: 12px; }
.site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer nav span, .footer-colophon span {
  margin-bottom: 7px;
  font-size: 8px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.site-footer nav a { color: var(--ink); font-size: 12px; }
.site-footer nav a:hover { color: var(--signal); }
.footer-colophon { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; text-align: right; }

@media (max-width: 1120px) {
  .hero { grid-template-columns: 1fr; }
  .hero-statement { min-height: auto; border-right: 0; border-bottom: 1px solid var(--ink); }
  .hero-facts { margin-top: 60px; }
  .architecture-wrap { min-height: 760px; }
  .workbench-section { grid-template-columns: 1fr; }
  .workbench-copy { position: static; }
}

@media (max-width: 760px) {
  .masthead { grid-template-columns: 1fr auto; min-height: 62px; padding: 0 20px; }
  .desktop-navigation, .header-actions { display: none; }
  .wordmark img { width: 150px; }
  .mobile-navigation { position: relative; display: block; justify-self: end; }
  .mobile-navigation summary { cursor: pointer; font-size: 9px; letter-spacing: 0.09em; list-style: none; text-transform: uppercase; }
  .mobile-navigation summary::-webkit-details-marker { display: none; }
  .mobile-navigation[open] summary { color: var(--signal); }
  .mobile-navigation nav {
    position: absolute;
    top: 28px;
    right: -20px;
    display: grid;
    width: min(270px, 88vw);
    border: 1px solid var(--ink);
    background: var(--paper);
    box-shadow: 0 12px 30px rgba(17, 23, 24, 0.12);
  }
  .mobile-navigation nav a { padding: 13px 18px; border-bottom: 1px solid var(--rule); font-size: 11px; }
  .mobile-navigation nav a:last-child { border-bottom: 0; }
  .hero-statement { padding: 42px 20px; }
  h1 { font-size: 47px; }
  .lede { font-size: 15px; }
  .hero-links { grid-template-columns: 1fr; }
  .hero-links a + a { border-top: 1px solid var(--ink); border-left: 0; }
  .architecture-wrap { min-height: auto; padding: 16px; overflow-x: auto; }
  .architecture { min-width: 820px; min-height: 700px; }
  .section-heading, .compact-heading { grid-template-columns: 1fr; gap: 18px; }
  .section-heading .eyebrow { margin-bottom: 0; }
  .plane-list article { grid-template-columns: 34px 1fr; gap: 8px 18px; }
  .plane-list h3 { font-size: 20px; }
  .plane-list strong, .plane-list p { grid-column: 2; }
  .boundary-grid { grid-template-columns: 1fr; }
  .boundary-column { min-height: auto; }
  .dependency-rule { min-height: 96px; border: 0; border-top: 1px solid #778183; border-bottom: 1px solid #778183; }
  .dependency-rule strong { margin: 8px 0; writing-mode: initial; }
  .boundary-rule { text-align: left; }
  .workbench-section { grid-template-columns: 1fr; }
  .closing { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr 1fr; gap: 36px 24px; min-height: 0; padding: 42px 20px; }
  .footer-identity, .footer-colophon { grid-column: 1 / -1; }
  .footer-colophon { min-height: 54px; align-items: flex-start; text-align: left; }
}

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

/* Operating-system topology: a continuous semantic and authority circuit. */
.os-hero { grid-template-columns: minmax(310px, 0.68fr) minmax(760px, 1.82fr); }
.os-map-wrap { min-height: calc(100vh - 70px); align-items: center; padding: clamp(16px, 2vw, 30px); }

.os-map {
  width: 100%;
  margin: 0;
  border: 1px solid var(--ink);
  background: var(--paper);
}

.os-map figcaption {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border-bottom: 1px solid var(--ink);
  color: var(--slate);
  font-size: 8px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.os-board {
  position: relative;
  display: grid;
  grid-template-columns: 19% 4% 1fr 4% 1fr 4% 19%;
  grid-template-rows: 66px 18px 170px 22px 82px 24px 72px 28px;
  min-height: 502px;
  padding: 14px 16px 6px;
  box-sizing: border-box;
  overflow: hidden;
  background:
    linear-gradient(rgba(69, 104, 115, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(69, 104, 115, 0.08) 1px, transparent 1px),
    var(--white);
  background-size: 20px 20px;
}

.circuit-wire {
  position: relative;
  z-index: 1;
  align-self: center;
  height: 1px;
  background: var(--signal);
}

.circuit-wire::before,
.circuit-wire::after {
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid var(--signal);
  border-radius: 50%;
  background: var(--white);
  content: "";
  transform: translateY(-50%);
}

.circuit-wire::before { left: -4px; }
.circuit-wire::after { right: -4px; }
.operator-wire { grid-column: 2; grid-row: 1; }
.agent-wire { grid-column: 6; grid-row: 1; }
.workbench-wire { grid-column: 2; grid-row: 3; }
.capability-wire { grid-column: 6; grid-row: 3; }
.model-wire { grid-column: 2; grid-row: 5; }
.world-wire { grid-column: 6; grid-row: 5; }
.harness-kernel-wire { grid-column: 4; grid-row: 5; }

.semantic-drop,
.execution-bus,
.durable-bus {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

.semantic-drop {
  grid-column: 3 / 6;
  grid-row: 4;
  background:
    linear-gradient(var(--signal), var(--signal)) 25% 0 / 1px 100% no-repeat,
    linear-gradient(var(--signal), var(--signal)) 75% 0 / 1px 100% no-repeat;
}

.execution-bus {
  grid-column: 3 / 6;
  grid-row: 6;
  background:
    linear-gradient(var(--signal), var(--signal)) 25% 0 / 1px 50% no-repeat,
    linear-gradient(var(--signal), var(--signal)) 75% 0 / 1px 50% no-repeat,
    linear-gradient(var(--signal), var(--signal)) 25% 50% / 50% 1px no-repeat,
    linear-gradient(var(--signal), var(--signal)) 50% 50% / 1px 50% no-repeat;
}

.durable-bus {
  grid-column: 1 / 8;
  grid-row: 7;
  align-self: center;
  height: 1px;
  margin: 0 calc(9.5% - 4px);
  background: var(--ink);
}

.mobile-circuit { display: none; }

.os-node,
.runtime-chip {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--ink);
  background: rgba(251, 251, 248, 0.97);
}

.os-node > span,
.runtime-chip > span,
.ontology-runtime article > span {
  color: var(--slate);
  font-size: 7px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.os-node strong,
.runtime-chip strong,
.ontology-runtime strong { margin-top: 3px; font-size: 11px; font-weight: 500; line-height: 1.2; }
.os-node small,
.runtime-chip small,
.ontology-runtime small { margin-top: 4px; color: var(--slate); font-size: 8px; line-height: 1.3; }

.operator-chip { grid-column: 1; grid-row: 1; align-self: center; }
.agent-chip { grid-column: 7; grid-row: 1; align-self: center; }
.workbench-chip { grid-column: 1; grid-row: 3; align-self: center; }
.capability-chip { grid-column: 7; grid-row: 3; align-self: center; }
.model-chip { grid-column: 1; grid-row: 5; align-self: center; }
.world-chip { grid-column: 7; grid-row: 5; align-self: center; }
.history-chip { grid-column: 1; grid-row: 7; align-self: center; background: #e7eae6; }
.verifier-chip { grid-column: 7; grid-row: 7; align-self: center; background: #e7eae6; }

.ontology-plane {
  position: relative;
  grid-column: 3 / 6;
  grid-row: 1 / 4;
  z-index: 2;
  padding: 11px;
  border: 1px solid var(--signal);
  background: rgba(223, 229, 227, 0.94);
  box-shadow: 0 0 0 5px rgba(69, 104, 115, 0.07);
}

.ontology-plane > header { display: flex; align-items: flex-end; justify-content: space-between; padding: 1px 2px 10px; border-bottom: 1px solid #95a2a4; }
.ontology-plane > header div { display: flex; align-items: baseline; gap: 9px; }
.ontology-plane > header span { color: var(--signal); font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; }
.ontology-plane > header strong { font-size: 16px; font-weight: 500; letter-spacing: -0.02em; }
.ontology-plane > header small { color: var(--slate); font-size: 8px; }

.ontology-runtime { display: grid; grid-template-columns: 1fr 1.18fr 1fr; gap: 7px; margin-top: 9px; }
.ontology-runtime article { display: flex; min-height: 76px; flex-direction: column; justify-content: center; padding: 9px; border: 1px solid #7e8d90; background: var(--white); }
.ontology-runtime .program-image-chip { border-color: var(--ink); background: var(--ink); color: var(--white); }
.ontology-runtime .program-image-chip span, .ontology-runtime .program-image-chip small { color: #b9c4c4; }

.semantic-bus { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 8px; border-top: 1px solid #95a2a4; border-left: 1px solid #95a2a4; }
.semantic-bus span { min-height: 27px; padding: 8px 6px 5px; border-right: 1px solid #95a2a4; border-bottom: 1px solid #95a2a4; color: #465458; font-size: 7px; letter-spacing: 0.05em; text-align: center; text-transform: uppercase; }
.semantic-bus span:last-child { grid-column: 4 / 6; }

.runtime-chip { border-color: var(--signal); background: #f2f5f3; }
.harness-chip { grid-column: 3; grid-row: 5; align-self: stretch; }
.kernel-path-chip { grid-column: 5; grid-row: 5; align-self: stretch; }
.kernel-path-chip strong { color: var(--signal); }
.kernel-path-chip small + small { margin-top: 1px; }
.core-chip { grid-column: 3 / 6; grid-row: 7; align-self: center; justify-self: center; width: 52%; border-color: var(--ink); background: var(--ink); color: var(--white); text-align: center; }
.core-chip::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 1px;
  height: 11px;
  background: var(--ink);
  content: "";
}
.core-chip > span, .core-chip small { color: #b9c4c4; }

.os-legend { position: relative; grid-column: 3 / 6; grid-row: 8; z-index: 2; display: flex; align-self: end; justify-content: center; gap: 18px; color: var(--slate); font-size: 7px; }
.os-legend span { display: flex; align-items: center; gap: 6px; }
.os-legend i { display: block; width: 18px; height: 1px; }
.line-public { background: var(--signal); }
.line-product { background: var(--ink); }

@media (max-width: 1120px) {
  .os-hero { grid-template-columns: 1fr; }
  .os-map-wrap { min-height: auto; }
}

@media (max-width: 760px) {
  .os-map-wrap { overflow: visible; padding: 16px; }
  .os-map { min-width: 0; }
  .os-map figcaption span:last-child { display: none; }
  .os-board { display: block; min-height: 740px; padding: 0; }
  .circuit-wire, .semantic-drop, .execution-bus, .durable-bus { display: none; }
  .os-board::before {
    position: absolute;
    top: 4%;
    bottom: 4%;
    left: 50%;
    width: 1px;
    background: var(--signal);
    content: "";
  }
  .mobile-circuit {
    position: absolute;
    right: 4%;
    left: 4%;
    z-index: 1;
    display: block;
    height: 1px;
    background: #8c9a9d;
  }
  .principal-mobile-bus { top: 6%; background: var(--signal); }
  .interaction-mobile-bus {
    top: 47%;
  }
  .intelligence-mobile-bus { top: 62%; }
  .durable-mobile-bus {
    top: 92%;
    background: var(--ink);
  }
  .os-board::after {
    position: absolute;
    display: none;
    content: "";
  }
  .os-node, .runtime-chip, .ontology-plane { position: absolute; }
  .operator-chip { top: 2%; left: 4%; width: 43%; }
  .agent-chip { top: 2%; right: 4%; width: 43%; }
  .ontology-plane { top: 13%; left: 4%; width: 92%; min-height: 0; }
  .ontology-plane > header small { display: none; }
  .ontology-runtime { grid-template-columns: 1fr 1.18fr 1fr; }
  .workbench-chip { top: 42%; left: 4%; width: 28%; }
  .harness-chip { top: 42%; left: 36%; width: 28%; }
  .capability-chip { top: 42%; right: 4%; width: 28%; }
  .model-chip { top: 57%; left: 4%; width: 28%; }
  .kernel-path-chip { top: 57%; right: 36%; width: 28%; }
  .world-chip { top: 57%; right: 4%; width: 28%; }
  .core-chip { top: 72%; left: 32%; width: 36%; }
  .history-chip { bottom: 4%; left: 4%; width: 42%; }
  .verifier-chip { right: 4%; bottom: 4%; width: 42%; }
  .os-legend { display: none; }
}

/* Shared narrative routes */
.route-page { background: var(--paper); }

.page-hero {
  display: grid;
  min-height: 64vh;
  grid-template-columns: minmax(420px, 1.45fr) minmax(280px, 0.55fr);
  gap: clamp(48px, 9vw, 150px);
  align-items: end;
  padding: clamp(70px, 10vw, 150px) clamp(28px, 5vw, 78px) clamp(58px, 7vw, 100px);
  border-bottom: 1px solid var(--ink);
}

.page-hero h1 {
  max-width: 960px;
  font-size: clamp(52px, 7vw, 112px);
  line-height: 0.94;
}

.page-deck {
  align-self: end;
  max-width: 460px;
  margin: 0;
  color: var(--slate);
  font-size: 18px;
  line-height: 1.55;
}

.page-deck > p { margin-bottom: 28px; }

.editorial-section,
.identity-system,
.principles-section,
.open-edge-section,
.source-start,
.preview-fit,
.trust-controls,
.effect-sequence,
.data-posture,
.alpha-boundary {
  padding: clamp(78px, 9vw, 132px) clamp(28px, 5vw, 78px);
  border-bottom: 1px solid var(--ink);
}

.editorial-section {
  display: grid;
  grid-template-columns: minmax(130px, 0.4fr) minmax(440px, 1.6fr);
  gap: clamp(34px, 8vw, 150px);
}

.section-index {
  color: var(--slate);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.editorial-copy { max-width: 940px; }
.editorial-copy h2,
.identity-heading h2,
.open-edge-section h2,
.source-start h2,
.preview-heading h2,
.effect-sequence h2,
.data-posture h2,
.alpha-boundary h2,
.route-closing h2 {
  margin: 0;
  font-size: clamp(36px, 4.8vw, 72px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1;
}

.editorial-copy p {
  max-width: 760px;
  margin: 34px 0 0;
  color: var(--slate);
  font-size: 18px;
  line-height: 1.65;
}

.identity-system { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(50px, 9vw, 160px); background: var(--white); }
.identity-heading h2 { max-width: 560px; }
.identity-stack { border-top: 1px solid var(--ink); }
.identity-stack article { display: grid; grid-template-columns: 90px 0.8fr 1.2fr; gap: 22px; align-items: baseline; padding: 25px 0; border-bottom: 1px solid var(--rule); }
.identity-stack span, .identity-stack p { color: var(--slate); }
.identity-stack span { font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.identity-stack h3 { margin: 0; font-size: 25px; font-weight: 400; }
.identity-stack p { margin: 0; }

.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(60px, 8vw, 110px); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.principle-grid article { min-height: 270px; padding: 25px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.principle-grid span { color: var(--slate); font-size: 9px; }
.principle-grid h3 { margin: 78px 0 16px; font-size: 25px; font-weight: 400; }
.principle-grid p { margin: 0; color: var(--slate); }

.open-edge-section,
.alpha-boundary { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(48px, 9vw, 160px); background: var(--ink); color: var(--white); }
.open-edge-section .eyebrow, .alpha-boundary .eyebrow { color: #aeb7b7; }
.open-edge-section > div:last-child, .alpha-boundary > div:last-child { max-width: 720px; }
.open-edge-section p, .alpha-boundary p { color: #c9d0ce; font-size: 17px; line-height: 1.65; }
.open-edge-section a, .alpha-boundary a { display: inline-flex; justify-content: space-between; min-width: 230px; margin-top: 24px; padding: 13px 0; border-bottom: 1px solid #778183; font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; }

.route-closing {
  display: grid;
  grid-template-columns: 1.45fr 0.55fr;
  gap: clamp(40px, 8vw, 120px);
  align-items: end;
  padding: clamp(78px, 9vw, 132px) clamp(28px, 5vw, 78px);
  border-bottom: 1px solid var(--ink);
  background: #dfe5e3;
}
.route-closing a { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 16px; border: 1px solid var(--ink); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.route-closing a:hover { background: var(--ink); color: var(--white); }

/* Start */
.release-state { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; }
.release-state i { width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 4px rgba(69, 104, 115, 0.12); }

.start-paths { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--ink); }
.start-paths article { display: flex; min-height: 430px; flex-direction: column; padding: clamp(30px, 4vw, 62px); border-right: 1px solid var(--ink); background: var(--white); }
.start-paths article:last-child { border-right: 0; background: #dfe5e3; }
.start-paths header { display: flex; justify-content: space-between; gap: 18px; color: var(--slate); font-size: 9px; }
.start-paths header small { letter-spacing: 0.05em; text-align: right; text-transform: uppercase; }
.start-paths h2 { margin: auto 0 18px; font-size: clamp(30px, 3vw, 47px); font-weight: 400; letter-spacing: -0.035em; }
.start-paths p { min-height: 64px; color: var(--slate); }
.start-paths a { display: flex; justify-content: space-between; margin-top: 38px; padding: 13px 0; border-top: 1px solid var(--ink); font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; }

.source-start { display: grid; grid-template-columns: 0.65fr 1.35fr; gap: clamp(50px, 8vw, 140px); }
.source-commands { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.source-commands article { min-width: 0; padding: 24px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--white); }
.source-commands span, .source-commands strong { display: block; }
.source-commands span { color: var(--slate); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.source-commands strong { margin-top: 6px; font-weight: 500; }
.source-commands pre { margin: 45px 0 0; overflow-x: auto; color: var(--slate); font-size: 11px; line-height: 1.7; }
.source-caveat { grid-column: 2; max-width: 660px; margin: 0; color: var(--slate); font-size: 12px; }

.preview-fit { background: var(--white); }
.preview-heading { display: grid; grid-template-columns: 0.4fr 0.9fr 0.7fr; gap: clamp(25px, 5vw, 80px); }
.preview-heading > p:last-child { color: var(--slate); font-size: 16px; line-height: 1.6; }
.preview-criteria { display: grid; grid-template-columns: 1fr 1fr; margin: 72px 0 0 20%; border: 1px solid var(--ink); }
.preview-criteria article { min-height: 260px; padding: 28px; }
.preview-criteria article + article { border-left: 1px solid var(--ink); background: #edf0ed; }
.preview-criteria span, .intake-note > span { color: var(--slate); font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.preview-criteria ul { margin: 40px 0 0; padding: 0; list-style: none; }
.preview-criteria li { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.intake-note { display: grid; grid-template-columns: 120px 1fr auto; gap: 30px; align-items: center; margin: 28px 0 0 20%; padding: 22px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.intake-note p { margin: 0; color: var(--slate); }
.intake-note a { font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; }

/* Trust */
.control-ledger { margin-top: clamp(60px, 8vw, 110px); border-top: 1px solid var(--ink); }
.control-ledger article { display: grid; grid-template-columns: 70px 0.65fr 1.35fr; gap: 28px; align-items: baseline; padding: 24px 0; border-bottom: 1px solid var(--rule); }
.control-ledger span, .control-ledger p { color: var(--slate); }
.control-ledger span { font-size: 9px; }
.control-ledger h3 { margin: 0; font-size: 24px; font-weight: 400; }
.control-ledger p { max-width: 720px; margin: 0; }

.effect-sequence { background: #dfe5e3; }
.effect-sequence > div { display: grid; grid-template-columns: 0.4fr 1.6fr; gap: 30px; }
.effect-sequence ol { display: grid; grid-template-columns: repeat(6, 1fr); margin: 75px 0 0; padding: 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); list-style: none; }
.effect-sequence li { min-height: 245px; padding: 20px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.effect-sequence li span { color: var(--slate); font-size: 8px; }
.effect-sequence li strong { display: block; margin-top: 70px; font-size: 16px; font-weight: 500; }
.effect-sequence li p { margin: 12px 0 0; color: var(--slate); font-size: 12px; }

.data-posture { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: clamp(50px, 8vw, 140px); background: var(--white); }
.posture-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.posture-grid article { min-height: 190px; padding: 24px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.posture-grid span { color: var(--slate); font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.posture-grid p { margin: 48px 0 0; color: var(--slate); }

/* Documentation */
.docs-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: calc(100vh - 70px); border-bottom: 1px solid var(--ink); background: var(--white); }
.docs-navigation { position: sticky; top: 70px; align-self: start; height: calc(100vh - 70px); padding: 34px 26px; border-right: 1px solid var(--ink); background: var(--paper); }
.docs-home-link { display: block; padding-bottom: 20px; border-bottom: 1px solid var(--ink); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.docs-navigation nav { display: flex; flex-direction: column; margin-top: 18px; }
.docs-navigation nav a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--rule); color: var(--slate); font-size: 12px; }
.docs-navigation nav a:hover { color: var(--signal); }
.docs-navigation nav span { font-size: 8px; }
.docs-source-note { position: absolute; right: 26px; bottom: 28px; left: 26px; }
.docs-source-note span { font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.docs-source-note p { margin: 8px 0 0; color: var(--slate); font-size: 11px; }

.docs-index { min-width: 0; }
.docs-index-header { padding: clamp(70px, 9vw, 130px) clamp(30px, 7vw, 110px); border-bottom: 1px solid var(--ink); }
.docs-index-header h1, .guide-header h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(48px, 6.8vw, 104px);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 0.95;
}
.docs-index-header > p:last-of-type { max-width: 720px; margin: 38px 0 0; color: var(--slate); font-size: 17px; line-height: 1.6; }
.docs-index-actions { display: flex; flex-wrap: wrap; gap: 0; margin-top: 46px; }
.docs-index-actions a { display: flex; min-width: 240px; justify-content: space-between; padding: 14px 16px; border: 1px solid var(--ink); font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; }
.docs-index-actions a:first-child { background: var(--ink); color: var(--white); }
.docs-index-actions a + a { border-left: 0; }
.docs-status { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--ink); }
.docs-status div { min-height: 90px; padding: 20px; border-right: 1px solid var(--ink); }
.docs-status div:last-child { border-right: 0; }
.docs-status span, .docs-status strong { display: block; }
.docs-status span { color: var(--slate); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.docs-status strong { margin-top: 18px; font-size: 12px; font-weight: 500; }

.docs-search { padding: clamp(60px, 8vw, 110px) clamp(30px, 7vw, 110px); }
.docs-search > label { display: block; margin-bottom: 12px; color: var(--slate); font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.search-field { display: grid; grid-template-columns: 1fr 60px; border: 1px solid var(--ink); }
.search-field input { min-width: 0; min-height: 60px; padding: 0 18px; border: 0; border-radius: 0; background: var(--white); color: var(--ink); font: inherit; font-size: 16px; }
.search-field input:focus { outline: 2px solid var(--signal); outline-offset: -2px; }
.search-field span { display: grid; place-items: center; border-left: 1px solid var(--ink); color: var(--slate); font-size: 9px; }
.guide-index { margin-top: 44px; border-top: 1px solid var(--ink); }
.guide-card { display: grid; grid-template-columns: 52px 1fr auto; gap: 24px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--rule); }
.guide-card:hover h2, .guide-card:hover small { color: var(--signal); }
.guide-order, .guide-card small { color: var(--slate); font-size: 8px; letter-spacing: 0.07em; text-transform: uppercase; }
.guide-card h2 { margin: 0; font-size: 25px; font-weight: 400; }
.guide-card p { max-width: 670px; margin: 7px 0 0; color: var(--slate); }
.search-empty { padding: 30px 0; color: var(--slate); }

.guide-article { min-width: 0; padding: 0 clamp(30px, 7vw, 110px) 90px; }
.guide-header { padding: clamp(70px, 9vw, 130px) 0 62px; border-bottom: 1px solid var(--ink); }
.guide-breadcrumb { display: flex; gap: 10px; margin-bottom: 48px; color: var(--slate); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.guide-summary { max-width: 740px; margin: 38px 0 0; color: var(--slate); font-size: 18px; line-height: 1.6; }
.guide-source { display: inline-flex; gap: 18px; margin-top: 32px; padding-bottom: 5px; border-bottom: 1px solid var(--rule); font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; }
.guide-toc { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 22px 0; border-bottom: 1px solid var(--rule); color: var(--slate); font-size: 10px; }
.guide-toc > span { color: var(--ink); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.guide-toc a:hover { color: var(--signal); }
.guide-body { max-width: 920px; }
.guide-body > section { padding: 62px 0; border-bottom: 1px solid var(--rule); scroll-margin-top: 100px; }
.guide-body h2 { margin: 0 0 30px; font-size: clamp(30px, 3.6vw, 50px); font-weight: 400; letter-spacing: -0.035em; }
.guide-body p { max-width: 760px; color: var(--slate); font-size: 16px; line-height: 1.7; }
.guide-body ul { max-width: 780px; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.guide-body li { position: relative; padding: 13px 16px 13px 28px; border-bottom: 1px solid var(--rule); color: var(--slate); }
.guide-body li::before { position: absolute; top: 21px; left: 7px; width: 7px; height: 1px; background: var(--signal); content: ""; }
.guide-body pre, .source-commands pre { font-family: "Plex", monospace; }
.guide-body pre { max-width: 820px; margin: 30px 0 0; padding: 22px; overflow-x: auto; border: 1px solid var(--ink); background: var(--ink); color: #dbe2df; font-size: 12px; line-height: 1.7; }
.docs-table-wrap { max-width: 860px; margin-top: 30px; overflow-x: auto; }
.guide-body table { width: 100%; border-collapse: collapse; font-size: 13px; }
.guide-body th, .guide-body td { min-width: 180px; padding: 13px 14px; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.guide-body th { background: #e7eae6; font-size: 8px; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; }
.guide-body td { color: var(--slate); }
.docs-note { max-width: 820px; margin-top: 30px; padding: 20px 22px; border-left: 2px solid var(--signal); background: #e9eeec; }
.docs-note span { color: var(--signal); font-size: 8px; letter-spacing: 0.09em; text-transform: uppercase; }
.docs-note p { margin: 7px 0 0; font-size: 13px; }
.guide-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 62px; }
.guide-pagination a { display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--ink); }
.guide-pagination a span { margin-bottom: 8px; color: var(--slate); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.guide-pagination a:hover { background: var(--ink); color: var(--white); }
.guide-pagination a:hover span { color: #b9c4c4; }
.next-guide { text-align: right; }

.not-found-page { display: flex; min-height: calc(100vh - 70px); flex-direction: column; justify-content: center; padding: clamp(40px, 8vw, 120px); border-bottom: 1px solid var(--ink); }
.not-found-page > span { color: var(--slate); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; }
.not-found-page h1 { max-width: 900px; margin-top: 30px; }
.not-found-page p { margin: 28px 0 0; color: var(--slate); font-size: 16px; }
.not-found-page > div { display: flex; gap: 0; margin-top: 44px; }
.not-found-page a { display: flex; min-width: 210px; justify-content: space-between; padding: 14px; border: 1px solid var(--ink); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.not-found-page a + a { border-left: 0; }

@media (max-width: 1050px) {
  .principle-grid { grid-template-columns: 1fr 1fr; }
  .effect-sequence ol { grid-template-columns: repeat(3, 1fr); }
  .effect-sequence li:nth-child(3) { border-right: 0; }
  .source-start, .data-posture { grid-template-columns: 1fr; }
  .source-caveat { grid-column: 1; }
  .preview-heading { grid-template-columns: 1fr 1fr; }
  .preview-heading .eyebrow { grid-column: 1 / -1; }
  .preview-criteria, .intake-note { margin-left: 0; }
}

@media (max-width: 900px) {
  .page-hero { min-height: 0; grid-template-columns: 1fr; gap: 40px; }
  .editorial-section, .identity-system, .open-edge-section, .alpha-boundary, .route-closing { grid-template-columns: 1fr; }
  .start-paths { grid-template-columns: 1fr; }
  .start-paths article { min-height: 330px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .start-paths article:last-child { border-bottom: 0; }
  .docs-layout { display: block; }
  .docs-navigation { position: static; height: auto; padding: 20px 26px; overflow: hidden; border-right: 0; border-bottom: 1px solid var(--ink); }
  .docs-home-link { padding-bottom: 12px; }
  .docs-navigation nav { display: flex; flex-direction: row; gap: 8px; margin-top: 12px; overflow-x: auto; scrollbar-width: thin; }
  .docs-navigation nav a { min-width: 190px; padding: 10px 12px; border: 1px solid var(--rule); }
  .docs-source-note { display: none; }
  .guide-article { padding: 0 clamp(24px, 6vw, 60px) 70px; }
}

@media (max-width: 650px) {
  .page-hero { padding: 58px 20px; }
  .page-hero h1 { font-size: 50px; }
  .page-deck { font-size: 16px; }
  .editorial-section, .identity-system, .principles-section, .open-edge-section, .source-start, .preview-fit, .trust-controls, .effect-sequence, .data-posture, .alpha-boundary { padding: 68px 20px; }
  .editorial-section { grid-template-columns: 1fr; }
  .identity-stack article { grid-template-columns: 64px 1fr; }
  .identity-stack p { grid-column: 2; }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: 230px; }
  .route-closing { grid-template-columns: 1fr; padding: 68px 20px; }
  .route-closing h2 { font-size: 42px; }
  .source-commands, .preview-criteria, .posture-grid { grid-template-columns: 1fr; }
  .source-commands article + article, .preview-criteria article + article { border-left: 0; }
  .preview-heading { grid-template-columns: 1fr; }
  .preview-heading .eyebrow { grid-column: auto; }
  .intake-note { grid-template-columns: 1fr; }
  .control-ledger article { grid-template-columns: 34px 1fr; gap: 12px 18px; }
  .control-ledger p { grid-column: 2; }
  .effect-sequence > div { grid-template-columns: 1fr; }
  .effect-sequence ol { grid-template-columns: 1fr 1fr; }
  .effect-sequence li:nth-child(3) { border-right: 1px solid var(--ink); }
  .effect-sequence li:nth-child(even) { border-right: 0; }
  .docs-index-header, .docs-search { padding: 58px 20px; }
  .docs-index-header h1, .guide-header h1 { font-size: 50px; }
  .docs-index-actions { display: grid; }
  .docs-index-actions a + a { border-top: 0; border-left: 1px solid var(--ink); }
  .docs-status { grid-template-columns: 1fr 1fr; }
  .docs-status div:nth-child(2) { border-right: 0; }
  .docs-status div:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .guide-card { grid-template-columns: 32px 1fr; gap: 16px; }
  .guide-card small { grid-column: 2; }
  .guide-article { padding: 0 20px 60px; }
  .guide-toc { display: grid; }
  .guide-pagination { grid-template-columns: 1fr; }
  .not-found-page { padding: 60px 20px; }
  .not-found-page > div { flex-direction: column; }
  .not-found-page a + a { border-top: 0; border-left: 1px solid var(--ink); }
}
