.crg15-page {
  --crg15-ink: #0b1520;
  --crg15-navy: #07131f;
  --crg15-navy-2: #0d1d2b;
  --crg15-cyan: #91d4e5;
  --crg15-cyan-strong: #4bb8d0;
  --crg15-green: #63bf8f;
  --crg15-amber: #d9a84d;
  --crg15-coral: #d86e62;
  --crg15-paper: #fbfaf7;
  --crg15-mist: #eef2f2;
  --crg15-line: #d3dadd;
  --crg15-dark-line: rgba(164, 200, 212, 0.2);
  --crg15-copy: #56616c;
  background: var(--crg15-paper);
}

.crg15-page [id] { scroll-margin-top: 112px; }

.crg15-page h1,
.crg15-page h2,
.crg15-page h3,
.crg15-page p,
.crg15-page span,
.crg15-page a,
.crg15-page dt,
.crg15-page dd {
  letter-spacing: 0;
}

.crg15-hero {
  position: relative;
  overflow: hidden;
  color: #f8fbfc;
  background: var(--crg15-navy);
  border-bottom: 1px solid var(--crg15-dark-line);
  --focus-ring: #b7e8f1;
}

.crg15-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(145, 212, 229, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(145, 212, 229, 0.04) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 82%);
}

.crg15-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, 0.94fr);
  gap: 58px;
  align-items: center;
  padding-top: 68px;
  padding-bottom: 58px;
}

.crg15-hero-copy { max-width: 700px; }

.crg15-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  color: #9eb2bd;
  font-size: 13px;
  line-height: 1.4;
}

.crg15-post-meta span::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 1px;
  margin: 0 12px 4px 0;
  background: var(--crg15-cyan);
}

.crg15-kicker {
  margin-top: 42px;
  color: var(--crg15-cyan);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.crg15-hero h1 {
  max-width: 690px;
  margin-top: 20px;
  font-size: 72px;
  font-weight: 590;
  line-height: 1.02;
}

.crg15-deck {
  max-width: 680px;
  margin-top: 30px;
  color: #d5dfe4;
  font-size: 21px;
  line-height: 1.56;
}

.crg15-hero-actions,
.crg15-adoption-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.crg15-hero-actions { margin-top: 34px; }

.crg15-action {
  min-height: 46px;
  padding: 12px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 4px;
  color: #f5f8f9;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.3;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.crg15-action:hover,
.crg15-action:focus-visible {
  border-color: rgba(255, 255, 255, 0.56);
  background: rgba(255, 255, 255, 0.07);
}

.crg15-action-primary {
  border-color: var(--crg15-cyan);
  background: var(--crg15-cyan);
  color: var(--crg15-navy);
}

.crg15-action-primary:hover,
.crg15-action-primary:focus-visible {
  border-color: #bceaf2;
  background: #bceaf2;
}

.crg15-hero-figure {
  width: 100%;
  margin: 0;
}

.crg15-hero-figure svg { width: 100%; height: auto; }
.crg15-hero-gridlines path { fill: none; stroke: rgba(145, 212, 229, 0.09); stroke-width: 1; }
.crg15-hero-family { fill: rgba(75, 184, 208, 0.04); stroke: rgba(145, 212, 229, 0.2); stroke-width: 1.2; }
.crg15-hero-links path { fill: none; stroke: rgba(145, 212, 229, 0.46); stroke-width: 1.3; }
.crg15-hero-nodes circle { fill: #83c9dc; stroke: #d4f2f7; stroke-width: 1.4; }
.crg15-boundary line { stroke: rgba(145, 212, 229, 0.55); stroke-width: 1.5; stroke-dasharray: 5 8; }
.crg15-boundary circle { fill: rgba(145, 212, 229, 0.06); stroke: #91d4e5; stroke-width: 1.6; }
.crg15-forward-path { fill: none; stroke: #91d4e5; stroke-width: 2.4; }
.crg15-retained-links path { fill: none; stroke: rgba(99, 191, 143, 0.62); stroke-width: 1.7; }
.crg15-retained-nodes circle { fill: var(--crg15-green); stroke: #d6f7e4; stroke-width: 1.5; }
.crg15-return-path { fill: none; stroke: rgba(145, 212, 229, 0.8); stroke-width: 1.8; stroke-dasharray: 7 9; }
.crg15-hero-core { fill: #d8f6fb; }

.crg15-hero-figure figcaption {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--crg15-dark-line);
  color: #9eb2bd;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.4;
  text-transform: uppercase;
}

.crg15-hero-figure figcaption span { padding: 14px 12px; border-right: 1px solid var(--crg15-dark-line); }
.crg15-hero-figure figcaption span:first-child { padding-left: 0; }
.crg15-hero-figure figcaption span:last-child { border-right: 0; }

.crg15-hero-question {
  position: relative;
  z-index: 1;
  padding-top: 26px;
  padding-bottom: 32px;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 40px;
  align-items: baseline;
  border-top: 1px solid var(--crg15-dark-line);
}

.crg15-hero-question span { color: var(--crg15-cyan); font-size: 12px; font-weight: 720; text-transform: uppercase; }
.crg15-hero-question p { color: #f7fafb; font-size: 24px; line-height: 1.35; }

.crg15-role-band { color: #d9e3e7; background: var(--crg15-navy-2); }
.crg15-role-band .container { display: grid; grid-template-columns: 0.8fr 0.8fr 1.4fr; }
.crg15-role-band p { min-height: 116px; padding: 28px 30px; border-right: 1px solid var(--crg15-dark-line); font-size: 16px; line-height: 1.55; }
.crg15-role-band p:first-child { padding-left: 0; }
.crg15-role-band p:last-child { padding-right: 0; border-right: 0; }
.crg15-role-band span { display: block; margin-bottom: 8px; color: var(--crg15-cyan); font-size: 12px; font-weight: 720; text-transform: uppercase; }

.crg15-editorial-section,
.crg15-stack-section,
.crg15-evidence-section,
.crg15-runtime-section {
  padding: 104px 0;
}

.crg15-editorial-grid { display: grid; grid-template-columns: 190px minmax(0, 790px); gap: 84px; align-items: start; }
.crg15-rail { position: sticky; top: calc(var(--topbar-height) + 34px); display: flex; flex-direction: column; align-items: flex-start; gap: 13px; color: var(--crg15-copy); font-size: 13px; }
.crg15-rail > span { margin-bottom: 11px; color: var(--blue); font-weight: 720; text-transform: uppercase; }
.crg15-rail a { border-bottom: 1px solid transparent; color: var(--crg15-copy); }
.crg15-rail a:hover, .crg15-rail a:focus-visible { border-bottom-color: currentColor; color: var(--crg15-ink); }

.crg15-editorial-copy h2,
.crg15-section-head h2,
.crg15-depth-head h2,
.crg15-adoption-grid h2 {
  color: var(--crg15-ink);
  font-size: 50px;
  font-weight: 590;
  line-height: 1.08;
}

.crg15-editorial-copy > p { margin-top: 25px; color: var(--crg15-copy); font-size: 20px; line-height: 1.72; }
.crg15-editorial-copy .crg15-lede { margin-top: 32px; color: var(--crg15-ink); font-size: 25px; line-height: 1.55; }
.crg15-editorial-copy blockquote { margin: 52px 0; padding: 10px 0 10px 30px; border-left: 3px solid var(--crg15-cyan-strong); }
.crg15-editorial-copy blockquote p { color: var(--crg15-ink); font-size: 31px; font-weight: 520; line-height: 1.34; }

.crg15-stack-section { padding-top: 24px; background: var(--crg15-paper); }
.crg15-section-head { display: grid; grid-template-columns: 190px minmax(0, 620px) minmax(260px, 1fr); gap: 42px; align-items: end; }
.crg15-section-head > span,
.crg15-depth-head > span,
.crg15-adoption-grid > div:first-child > span {
  align-self: start;
  color: var(--blue);
  font-size: 12px;
  font-weight: 720;
  text-transform: uppercase;
}
.crg15-section-head > p { color: var(--crg15-copy); font-size: 17px; line-height: 1.65; }

.crg15-stack-figure { margin: 60px 0 0; padding: 36px; color: #d8e2e7; background: var(--crg15-navy); border: 1px solid #1f3746; border-radius: 6px; }
.crg15-stack-row { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 30px; align-items: stretch; border: 1px solid var(--crg15-dark-line); border-radius: 4px; }
.crg15-stack-label { padding: 26px; border-right: 1px solid var(--crg15-dark-line); }
.crg15-stack-label span { display: block; color: var(--crg15-cyan); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-stack-label strong { display: block; margin-top: 12px; color: #f6f9fa; font-size: 20px; font-weight: 590; line-height: 1.3; }
.crg15-stack-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.crg15-stack-items span { min-height: 100%; padding: 25px 20px; display: flex; align-items: center; border-right: 1px solid var(--crg15-dark-line); color: #b9c8cf; font-size: 14px; line-height: 1.45; }
.crg15-stack-items span:last-child { border-right: 0; }
.crg15-stack-core { border-color: rgba(145, 212, 229, 0.72); background: #102635; box-shadow: inset 4px 0 0 var(--crg15-cyan); }
.crg15-stack-core .crg15-stack-label strong { color: var(--crg15-cyan); }
.crg15-stack-arrow { height: 34px; display: grid; place-items: center; }
.crg15-stack-arrow span { position: relative; width: 1px; height: 26px; background: rgba(145, 212, 229, 0.72); }
.crg15-stack-arrow span::after { content: ""; position: absolute; left: -4px; bottom: 0; width: 7px; height: 7px; border-right: 1px solid var(--crg15-cyan); border-bottom: 1px solid var(--crg15-cyan); transform: rotate(45deg); }
.crg15-stack-return { margin-top: 26px; padding: 20px 24px; display: grid; grid-template-columns: 220px 1fr; gap: 30px; border-top: 1px dashed rgba(145, 212, 229, 0.42); border-bottom: 1px dashed rgba(145, 212, 229, 0.42); }
.crg15-stack-return span { color: var(--crg15-green); font-size: 12px; font-weight: 720; text-transform: uppercase; }
.crg15-stack-return p { color: #b9c8cf; font-size: 14px; line-height: 1.55; }
.crg15-stack-figure figcaption { margin-top: 22px; color: #8fa2ad; font-size: 12px; line-height: 1.55; }

.crg15-arc-section,
.crg15-release-section {
  padding: 104px 0;
  color: #eef4f6;
  background: var(--crg15-navy-2);
}

.crg15-section-head-light h2 { color: #f4f8f9; }
.crg15-section-head-light > span { color: var(--crg15-cyan); }
.crg15-section-head-light > p { color: #aebec6; }
.crg15-arc { margin: 66px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--crg15-dark-line); }
.crg15-arc li { display: grid; grid-template-columns: 58px minmax(250px, 0.9fr) minmax(310px, 1.1fr) 170px; gap: 30px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-arc-number { color: #6f8996; font-size: 13px; }
.crg15-arc-stage { color: var(--crg15-cyan); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-arc h3 { margin-top: 10px; color: #f3f7f8; font-size: 22px; font-weight: 570; line-height: 1.34; }
.crg15-arc li > p { color: #aebec6; font-size: 15px; line-height: 1.65; }
.crg15-arc-proof { padding-top: 2px; color: var(--crg15-green); font-size: 11px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }

.crg15-evidence-section { background: var(--crg15-mist); }
.crg15-evidence-context { margin-top: 58px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--crg15-ink); border-bottom: 1px solid var(--crg15-line); }
.crg15-evidence-context div { min-height: 132px; padding: 26px 28px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--crg15-line); }
.crg15-evidence-context div:first-child { padding-left: 0; }
.crg15-evidence-context div:last-child { border-right: 0; }
.crg15-evidence-context strong { color: var(--crg15-ink); font-size: 40px; font-weight: 590; line-height: 1; }
.crg15-evidence-context span { color: var(--crg15-copy); font-size: 13px; }
.crg15-validation-design { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--crg15-line); border-bottom: 1px solid var(--crg15-line); }
.crg15-validation-design > div { min-height: 270px; padding: 30px; border-right: 1px solid var(--crg15-line); }
.crg15-validation-design > div:first-child { padding-left: 0; }
.crg15-validation-design > div:last-child { border-right: 0; }
.crg15-validation-design span { color: var(--blue); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-validation-design h3 { margin-top: 15px; color: var(--crg15-ink); font-size: 20px; font-weight: 590; line-height: 1.35; }
.crg15-validation-design p { margin-top: 15px; color: var(--crg15-copy); font-size: 14px; line-height: 1.65; }
.crg15-validation-terms { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: rgba(255, 255, 255, 0.42); border-bottom: 1px solid var(--crg15-line); }
.crg15-validation-terms > div { padding: 22px 28px; border-right: 1px solid var(--crg15-line); }
.crg15-validation-terms > div:first-child { padding-left: 0; }
.crg15-validation-terms > div:last-child { border-right: 0; }
.crg15-validation-terms dt { color: var(--crg15-ink); font-size: 12px; font-weight: 720; }
.crg15-validation-terms dd { margin: 8px 0 0; color: var(--crg15-copy); font-size: 13px; line-height: 1.55; }
.crg15-chart-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.crg15-chart { margin: 0; padding: 34px; border: 1px solid var(--crg15-line); border-radius: 6px; background: #fff; }
.crg15-chart figcaption { padding-bottom: 26px; border-bottom: 1px solid var(--crg15-line); }
.crg15-chart figcaption > span { color: var(--crg15-ink); font-size: 20px; font-weight: 610; }
.crg15-chart figcaption p { margin-top: 8px; color: var(--crg15-copy); font-size: 13px; line-height: 1.5; }
.crg15-chart-group { margin-top: 27px; }
.crg15-chart-group + .crg15-chart-group { padding-top: 27px; border-top: 1px solid var(--crg15-line); }
.crg15-chart-group h3 { margin-bottom: 22px; color: var(--crg15-copy); font-size: 12px; font-weight: 720; text-transform: uppercase; }
.crg15-chart-group-tall { min-height: 318px; display: flex; flex-direction: column; justify-content: flex-start; }
.crg15-measure + .crg15-measure { margin-top: 20px; }
.crg15-measure-label { display: flex; justify-content: space-between; gap: 20px; color: var(--crg15-copy); font-size: 13px; }
.crg15-measure-label strong { color: var(--crg15-ink); font-size: 13px; font-weight: 700; }
.crg15-track { position: relative; height: 8px; margin-top: 10px; overflow: visible; background: #e6ebed; border-radius: 2px; }
.crg15-bar { display: block; height: 100%; border-radius: 2px; }
.crg15-bar-coral { background: var(--crg15-coral); }
.crg15-bar-green { background: var(--crg15-green); }
.crg15-bar-amber { background: var(--crg15-amber); }
.crg15-bar-484 { width: 80.7%; }
.crg15-bar-597 { width: 99.5%; }
.crg15-bar-110 { width: 18.3%; }
.crg15-bar-275 { width: 91.7%; }
.crg15-zero { position: absolute; left: 0; top: -3px; width: 3px; height: 14px; background: var(--crg15-cyan-strong); border-radius: 1px; }
.crg15-zero-green { background: var(--crg15-green); }
.crg15-change-facts { margin-bottom: 28px; padding-bottom: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; border-bottom: 1px solid var(--crg15-line); color: var(--crg15-copy); font-size: 12px; line-height: 1.4; }
.crg15-change-facts span { display: flex; flex-direction: column; gap: 5px; }
.crg15-change-facts strong { color: var(--crg15-ink); font-size: 22px; font-weight: 610; }
.crg15-chart-group blockquote { margin: auto 0 0; padding: 24px 0 0; border-top: 1px solid var(--crg15-line); }
.crg15-chart-group blockquote p { color: var(--crg15-ink); font-size: 19px; font-weight: 520; line-height: 1.5; }
.crg15-evidence-reading { margin-top: 38px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--crg15-ink); border-bottom: 1px solid var(--crg15-line); }
.crg15-evidence-reading p { padding: 28px 30px 32px; color: var(--crg15-copy); font-size: 15px; line-height: 1.7; border-right: 1px solid var(--crg15-line); }
.crg15-evidence-reading p:first-child { padding-left: 0; }
.crg15-evidence-reading p:last-child { border-right: 0; }
.crg15-evidence-reading span { display: block; margin-bottom: 12px; color: var(--crg15-ink); font-size: 12px; font-weight: 720; text-transform: uppercase; }
.crg15-evidence-note { margin-top: 20px; display: flex; gap: 22px; color: var(--crg15-copy); font-size: 12px; line-height: 1.65; }
.crg15-evidence-note a { color: var(--blue); font-weight: 680; }

.crg15-release-section { background: #111b25; }
.crg15-release-stack { margin: 62px 0 0; padding: 0; list-style: none; border-top: 2px solid #dce8eb; }
.crg15-release-stack li { position: relative; display: grid; grid-template-columns: 150px 250px minmax(0, 1fr); gap: 35px; padding: 27px 0; border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-release-stack li::before { content: ""; position: absolute; left: 0; top: -1px; width: var(--release-width, 16%); height: 2px; background: var(--crg15-cyan); }
.crg15-release-stack li:nth-child(2) { --release-width: 32%; }
.crg15-release-stack li:nth-child(3) { --release-width: 48%; }
.crg15-release-stack li:nth-child(4) { --release-width: 64%; }
.crg15-release-stack li:nth-child(5) { --release-width: 80%; }
.crg15-release-stack li:nth-child(6) { --release-width: 100%; }
.crg15-release-stack li > span { color: var(--crg15-cyan); font-size: 12px; font-weight: 700; }
.crg15-release-stack h3 { color: #f2f7f8; font-size: 20px; font-weight: 580; }
.crg15-release-stack p { color: #aebec6; font-size: 14px; line-height: 1.6; }
.crg15-release-stack li:last-child h3 { color: var(--crg15-green); }
.crg15-release-anatomy { margin-top: 42px; color: #bac8ce; font-size: 14px; line-height: 1.8; }
.crg15-release-anatomy span { margin: 0 7px; color: var(--crg15-cyan); }

.crg15-depth-section { padding: 106px 0; color: #e8f0f2; background: var(--crg15-navy); }
.crg15-depth-head { display: grid; grid-template-columns: 190px minmax(0, 620px) minmax(260px, 1fr); gap: 42px; align-items: end; }
.crg15-depth-head > span { color: var(--crg15-cyan); }
.crg15-depth-head h2 { color: #f7fafb; }
.crg15-depth-head > p { color: #aebec6; font-size: 17px; line-height: 1.65; }
.crg15-inventory { margin-top: 62px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--crg15-dark-line); border-left: 1px solid var(--crg15-dark-line); }
.crg15-inventory div { min-height: 150px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--crg15-dark-line); border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-inventory strong { color: #f4f9fa; font-size: 42px; font-weight: 560; line-height: 1; }
.crg15-inventory span { color: #9fb2bb; font-size: 13px; }
.crg15-assurance { margin-top: 44px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--crg15-dark-line); }
.crg15-assurance > div { padding: 32px 32px 32px 0; border-right: 1px solid var(--crg15-dark-line); }
.crg15-assurance > div + div { padding-left: 32px; border-right: 0; }
.crg15-assurance span { color: var(--crg15-cyan); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.crg15-assurance strong { display: block; margin-top: 16px; color: #f7fafb; font-size: 44px; font-weight: 560; }
.crg15-assurance div p { margin-top: 8px; color: #9fb2bb; font-size: 13px; line-height: 1.5; }
.crg15-assurance-note { grid-column: 1 / -1; padding: 18px 0; border-top: 1px solid var(--crg15-dark-line); color: #8fa2ad; font-size: 12px; line-height: 1.6; }
.crg15-assurance-note a { color: var(--crg15-cyan); font-weight: 680; }
.crg15-equivalence { margin-top: 60px; padding-top: 48px; display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); gap: 48px 72px; border-top: 2px solid var(--crg15-cyan); }
.crg15-equivalence-copy > span { color: var(--crg15-cyan); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-equivalence-copy h3 { margin-top: 18px; color: #f6f9fa; font-size: 30px; font-weight: 560; line-height: 1.28; }
.crg15-equivalence-copy p { margin-top: 22px; color: #aebec6; font-size: 15px; line-height: 1.7; }
.crg15-equivalence-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: start; border-left: 1px solid var(--crg15-dark-line); }
.crg15-equivalence-numbers div { min-height: 176px; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--crg15-dark-line); border-top: 1px solid var(--crg15-dark-line); border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-equivalence-numbers strong { color: #f7fafb; font-size: 34px; font-weight: 560; line-height: 1.05; }
.crg15-equivalence-numbers span { color: #9fb2bb; font-size: 12px; line-height: 1.45; }
.crg15-equivalence-note { grid-column: 1 / -1; color: #8ca0aa; font-size: 12px; line-height: 1.65; }

.crg15-runtime-section { background: var(--crg15-paper); }
.crg15-boundary-map { margin: 62px 0 0; overflow: hidden; border: 1px solid var(--crg15-line); border-radius: 6px; background: #fff; }
.crg15-authority-rail { padding: 22px 32px; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; align-items: center; border-bottom: 1px solid #b9dce4; background: #edf7f9; }
.crg15-authority-rail > span { color: var(--blue); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-authority-rail p { color: #42515a; font-size: 13px; line-height: 1.55; }
.crg15-authority-rail strong { color: var(--crg15-ink); font-weight: 680; }
.crg15-boundary-main { padding: 34px 32px; display: grid; grid-template-columns: minmax(210px, 0.86fr) 54px minmax(300px, 1.1fr) 54px minmax(220px, 0.9fr); align-items: stretch; }
.crg15-boundary-column { border-top: 1px solid var(--crg15-line); border-bottom: 1px solid var(--crg15-line); }
.crg15-boundary-column-head { min-height: 112px; padding: 18px 0 20px; border-bottom: 1px solid var(--crg15-line); }
.crg15-boundary-column-head > span { color: var(--blue); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-boundary-column-head p { margin-top: 12px; color: var(--crg15-copy); font-size: 13px; line-height: 1.5; }
.crg15-boundary-column ul { margin: 0; padding: 0; list-style: none; }
.crg15-boundary-inputs li { min-height: 78px; padding: 14px 0; border-bottom: 1px solid var(--crg15-line); }
.crg15-boundary-inputs li:last-child { border-bottom: 0; }
.crg15-boundary-inputs strong { color: var(--crg15-ink); font-size: 14px; font-weight: 620; }
.crg15-boundary-inputs li p { margin-top: 5px; color: var(--crg15-copy); font-size: 12px; line-height: 1.45; }
.crg15-boundary-connector { min-height: 424px; }
.crg15-boundary-connector svg { display: block; width: 100%; height: 100%; overflow: visible; }
.crg15-boundary-connector path { fill: none; stroke: #6a9fb0; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.crg15-boundary-connector circle { fill: var(--crg15-cyan-strong); }
.crg15-boundary-core { min-height: 424px; padding: 34px 30px; display: flex; flex-direction: column; justify-content: center; color: #edf5f7; background: var(--crg15-navy-2); border-top: 2px solid var(--crg15-cyan-strong); border-bottom: 2px solid var(--crg15-cyan-strong); }
.crg15-boundary-core > span { color: var(--crg15-cyan); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-boundary-core h3 { margin-top: 18px; color: #f7fafb; font-size: 31px; font-weight: 560; line-height: 1.2; }
.crg15-boundary-core ol { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--crg15-dark-line); }
.crg15-boundary-core li { padding: 14px 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-boundary-core li span { color: var(--crg15-cyan); font-size: 11px; font-weight: 700; }
.crg15-boundary-core li p { color: #b9c8ce; font-size: 12px; line-height: 1.5; }
.crg15-boundary-outcomes li { min-height: 104px; padding: 16px 0; border-bottom: 1px solid var(--crg15-line); }
.crg15-boundary-outcomes li:last-child { border-bottom: 0; }
.crg15-boundary-outcomes li > span { display: flex; align-items: center; gap: 9px; color: var(--crg15-ink); font-size: 14px; font-weight: 650; }
.crg15-boundary-outcomes li > span::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: currentColor; }
.crg15-boundary-outcomes li p { margin: 7px 0 0 16px; color: var(--crg15-copy); font-size: 12px; line-height: 1.45; }
.crg15-outcome-certificate > span { color: #25835b !important; }
.crg15-outcome-witness > span { color: #9b6711 !important; }
.crg15-outcome-refusal > span { color: #aa4f47 !important; }
.crg15-change-router { padding: 25px 32px; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; align-items: stretch; border-top: 1px solid var(--crg15-line); background: #f6f8f8; }
.crg15-change-router > div:first-child > span { color: var(--blue); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-change-router > div:first-child > p { margin-top: 9px; color: var(--crg15-copy); font-size: 13px; line-height: 1.5; }
.crg15-change-paths { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--crg15-line); }
.crg15-change-paths > div { padding: 3px 18px; border-right: 1px solid var(--crg15-line); }
.crg15-change-paths > div:last-child { border-right: 0; }
.crg15-change-paths strong { display: block; color: var(--crg15-ink); font-size: 12px; font-weight: 620; line-height: 1.35; }
.crg15-change-paths span { display: block; margin-top: 11px; color: var(--blue); font-size: 12px; font-weight: 720; text-transform: uppercase; }
.crg15-boundary-map figcaption { padding: 0 32px 28px; color: #64737c; font-size: 13px; line-height: 1.55; }
.crg15-record-anatomy { margin-top: 30px; display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); gap: 50px; padding: 40px; border-radius: 6px; color: #e7eef1; background: var(--crg15-navy-2); }
.crg15-record-anatomy > div > span { color: var(--crg15-cyan); font-size: 11px; font-weight: 720; text-transform: uppercase; }
.crg15-record-anatomy h3 { margin-top: 18px; color: #f6f9fa; font-size: 30px; font-weight: 560; line-height: 1.28; }
.crg15-record-anatomy > div > p { margin-top: 18px; color: #9fb2bb; font-size: 14px; line-height: 1.65; }
.crg15-record-anatomy dl { margin: 0; border-top: 1px solid var(--crg15-dark-line); }
.crg15-record-anatomy dl > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding: 13px 0; border-bottom: 1px solid var(--crg15-dark-line); }
.crg15-record-anatomy dt { color: var(--crg15-cyan); font-size: 12px; }
.crg15-record-anatomy dd { margin: 0; color: #b5c4ca; font-size: 12px; line-height: 1.5; }
.crg15-build-quote { max-width: 900px; margin: 76px 0 0 auto; padding: 0 0 0 32px; border-left: 3px solid var(--crg15-cyan-strong); }
.crg15-build-quote p { color: var(--crg15-ink); font-size: 38px; font-weight: 520; line-height: 1.28; }

.crg15-adoption-section { padding: 106px 0; background: var(--crg15-mist); }
.crg15-adoption-grid { display: grid; grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr); gap: 52px 94px; }
.crg15-adoption-grid h2 { margin-top: 20px; }
.crg15-adoption-copy p { color: var(--crg15-copy); font-size: 19px; line-height: 1.72; }
.crg15-adoption-copy p + p { margin-top: 22px; }
.crg15-adoption-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--crg15-ink); border-bottom: 1px solid var(--crg15-line); }
.crg15-adoption-steps div { min-height: 132px; padding: 25px 28px; border-right: 1px solid var(--crg15-line); }
.crg15-adoption-steps div:first-child { padding-left: 0; }
.crg15-adoption-steps div:last-child { border-right: 0; }
.crg15-adoption-steps span { color: var(--blue); font-size: 11px; font-weight: 720; }
.crg15-adoption-steps p { margin-top: 24px; color: var(--crg15-ink); font-size: 16px; line-height: 1.5; }
.crg15-adoption-actions { grid-column: 1 / -1; }
.crg15-adoption-actions .crg15-action { border-color: #98a6ad; color: var(--crg15-ink); }
.crg15-adoption-actions .crg15-action:hover, .crg15-adoption-actions .crg15-action:focus-visible { border-color: var(--crg15-ink); background: rgba(11, 21, 32, 0.05); }
.crg15-adoption-actions .crg15-action-primary { border-color: var(--crg15-ink); background: var(--crg15-ink); color: #fff; }
.crg15-adoption-actions .crg15-action-primary:hover, .crg15-adoption-actions .crg15-action-primary:focus-visible { background: #253645; }
.crg15-license { grid-column: 1 / -1; color: #75808a; font-size: 11px; line-height: 1.6; }

.crg15-closing-section { padding: 106px 0; color: #f5f8f9; background: #101820; }
.crg15-closing-section p { max-width: 890px; font-size: 52px; font-weight: 500; line-height: 1.16; }
.crg15-closing-links { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 24px 40px; }
.crg15-closing-links a { color: var(--crg15-cyan); font-size: 14px; font-weight: 680; }

@media (max-width: 1040px) {
  .crg15-hero-grid { min-height: 660px; grid-template-columns: minmax(0, 1fr) 390px; gap: 34px; }
  .crg15-hero h1 { font-size: 58px; }
  .crg15-deck { font-size: 19px; }
  .crg15-section-head, .crg15-depth-head { grid-template-columns: 150px minmax(0, 1fr); }
  .crg15-section-head > p, .crg15-depth-head > p { grid-column: 2; }
  .crg15-arc li { grid-template-columns: 42px minmax(230px, 0.8fr) minmax(280px, 1.2fr); }
  .crg15-arc-proof { grid-column: 2 / -1; }
  .crg15-stack-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crg15-stack-items span:nth-child(2) { border-right: 0; }
  .crg15-stack-items span:nth-child(-n+2) { border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-equivalence { grid-template-columns: 1fr; }
  .crg15-equivalence-note { grid-column: auto; }
  .crg15-boundary-main { padding: 30px 24px; grid-template-columns: minmax(180px, 0.86fr) 34px minmax(270px, 1.1fr) 34px minmax(190px, 0.9fr); }
  .crg15-boundary-core { padding-inline: 24px; }
  .crg15-boundary-core h3 { font-size: 28px; }
  .crg15-boundary-map figcaption { padding-inline: 24px; }
}

@media (max-width: 820px) {
  .crg15-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-top: 76px; padding-bottom: 44px; }
  .crg15-hero-copy { max-width: 760px; }
  .crg15-hero h1 { max-width: 720px; font-size: 56px; }
  .crg15-hero-figure { width: min(620px, 92%); margin: 8px auto 0; }
  .crg15-hero-question { grid-template-columns: 180px 1fr; }
  .crg15-role-band .container { grid-template-columns: 1fr; }
  .crg15-role-band p, .crg15-role-band p:first-child, .crg15-role-band p:last-child { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-role-band p:last-child { border-bottom: 0; }
  .crg15-editorial-section, .crg15-stack-section, .crg15-evidence-section, .crg15-runtime-section, .crg15-arc-section, .crg15-release-section, .crg15-depth-section, .crg15-adoption-section, .crg15-closing-section { padding: 78px 0; }
  .crg15-editorial-grid { grid-template-columns: 1fr; gap: 34px; }
  .crg15-rail { position: static; padding-bottom: 24px; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; border-bottom: 1px solid var(--crg15-line); }
  .crg15-rail > span { width: 100%; margin-bottom: 0; }
  .crg15-section-head, .crg15-depth-head { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .crg15-section-head > p, .crg15-depth-head > p { grid-column: auto; }
  .crg15-section-head > span, .crg15-depth-head > span { margin-bottom: 8px; }
  .crg15-stack-figure { padding: 24px; }
  .crg15-stack-row { grid-template-columns: 200px minmax(0, 1fr); }
  .crg15-stack-label { padding: 22px; }
  .crg15-arc li { grid-template-columns: 40px minmax(0, 1fr); }
  .crg15-arc li > p, .crg15-arc-proof { grid-column: 2; }
  .crg15-chart-grid { grid-template-columns: 1fr; }
  .crg15-chart-group-tall { min-height: 0; }
  .crg15-chart-group blockquote { margin-top: 40px; }
  .crg15-release-stack li { grid-template-columns: 120px 210px minmax(0, 1fr); gap: 24px; }
  .crg15-equivalence-numbers { grid-template-columns: 1fr; border-top: 1px solid var(--crg15-dark-line); }
  .crg15-equivalence-numbers div { min-height: 112px; border-top: 0; }
  .crg15-authority-rail, .crg15-change-router { grid-template-columns: 1fr; gap: 12px; }
  .crg15-boundary-main { grid-template-columns: 1fr; padding: 28px; }
  .crg15-boundary-connector { position: relative; min-height: 52px; }
  .crg15-boundary-connector svg { display: none; }
  .crg15-boundary-connector::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 42px; background: #6a9fb0; }
  .crg15-boundary-connector::after { content: ""; position: absolute; left: calc(50% - 4px); top: 34px; width: 8px; height: 8px; border-right: 1px solid #6a9fb0; border-bottom: 1px solid #6a9fb0; transform: rotate(45deg); }
  .crg15-boundary-column-head { min-height: 0; }
  .crg15-boundary-core { min-height: 0; }
  .crg15-change-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--crg15-line); }
  .crg15-change-paths > div { padding-block: 16px; border-bottom: 1px solid var(--crg15-line); }
  .crg15-record-anatomy { grid-template-columns: 1fr; gap: 34px; }
  .crg15-adoption-grid { grid-template-columns: 1fr; gap: 38px; }
  .crg15-adoption-steps, .crg15-adoption-actions, .crg15-license { grid-column: auto; }
}

@media (max-width: 620px) {
  .crg15-hero-grid { padding-top: 62px; }
  .crg15-post-meta { flex-direction: column; gap: 7px; }
  .crg15-post-meta span::before { display: none; }
  .crg15-kicker { margin-top: 32px; }
  .crg15-hero h1 { font-size: 42px; line-height: 1.06; }
  .crg15-deck { font-size: 18px; line-height: 1.55; }
  .crg15-hero-actions, .crg15-adoption-actions { align-items: stretch; flex-direction: column; }
  .crg15-action { width: 100%; justify-content: space-between; }
  .crg15-hero-figure { width: 112%; margin-left: -6%; }
  .crg15-hero-figure figcaption { grid-template-columns: 1fr; }
  .crg15-hero-figure figcaption span, .crg15-hero-figure figcaption span:first-child { padding: 10px 0; border-right: 0; border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-hero-figure figcaption span:last-child { border-bottom: 0; }
  .crg15-hero-question { grid-template-columns: 1fr; gap: 12px; }
  .crg15-hero-question p { font-size: 21px; }
  .crg15-editorial-copy h2, .crg15-section-head h2, .crg15-depth-head h2, .crg15-adoption-grid h2 { font-size: 38px; }
  .crg15-editorial-copy .crg15-lede { font-size: 21px; }
  .crg15-editorial-copy > p { font-size: 18px; }
  .crg15-editorial-copy blockquote { margin: 42px 0; padding-left: 22px; }
  .crg15-editorial-copy blockquote p { font-size: 26px; }
  .crg15-stack-figure { margin-top: 42px; padding: 18px; }
  .crg15-stack-row { grid-template-columns: 1fr; gap: 0; }
  .crg15-stack-label { border-right: 0; border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-stack-items { grid-template-columns: 1fr; }
  .crg15-stack-items span, .crg15-stack-items span:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-stack-items span:last-child { border-bottom: 0; }
  .crg15-stack-return { grid-template-columns: 1fr; gap: 10px; }
  .crg15-arc li { grid-template-columns: 32px minmax(0, 1fr); gap: 18px; padding: 26px 0; }
  .crg15-arc h3 { font-size: 20px; }
  .crg15-evidence-context { grid-template-columns: 1fr; }
  .crg15-evidence-context div, .crg15-evidence-context div:first-child { min-height: 106px; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--crg15-line); }
  .crg15-evidence-context div:last-child { border-bottom: 0; }
  .crg15-validation-design, .crg15-validation-terms, .crg15-evidence-reading { grid-template-columns: 1fr; }
  .crg15-validation-design > div, .crg15-validation-design > div:first-child { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--crg15-line); }
  .crg15-validation-design > div:last-child { border-bottom: 0; }
  .crg15-validation-terms > div, .crg15-validation-terms > div:first-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--crg15-line); }
  .crg15-validation-terms > div:last-child { border-bottom: 0; }
  .crg15-chart { padding: 24px 20px; }
  .crg15-change-facts { grid-template-columns: 1fr; }
  .crg15-evidence-reading p, .crg15-evidence-reading p:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--crg15-line); }
  .crg15-evidence-reading p:last-child { border-bottom: 0; }
  .crg15-evidence-note { display: block; }
  .crg15-evidence-note a { display: block; margin: 10px 0 0; }
  .crg15-release-stack li { grid-template-columns: 1fr; gap: 9px; }
  .crg15-release-stack li > span { margin-bottom: 8px; }
  .crg15-release-anatomy { line-height: 1.65; }
  .crg15-release-anatomy span { margin: 0 4px; }
  .crg15-inventory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crg15-inventory div { min-height: 126px; padding: 22px; }
  .crg15-assurance { grid-template-columns: 1fr; }
  .crg15-assurance > div, .crg15-assurance > div + div { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--crg15-dark-line); }
  .crg15-assurance-note { grid-column: auto; }
  .crg15-equivalence { gap: 38px; }
  .crg15-equivalence-copy h3 { font-size: 26px; }
  .crg15-equivalence-numbers strong { font-size: 32px; }
  .crg15-boundary-map { margin-top: 42px; }
  .crg15-authority-rail { padding: 22px 18px; }
  .crg15-boundary-main { padding: 22px 18px; }
  .crg15-boundary-core { padding: 28px 22px; }
  .crg15-boundary-core h3 { font-size: 27px; }
  .crg15-boundary-inputs li, .crg15-boundary-outcomes li { min-height: 0; padding-block: 15px; }
  .crg15-change-router { padding: 22px 18px; }
  .crg15-change-paths { grid-template-columns: 1fr; border-left: 0; }
  .crg15-change-paths > div { padding: 15px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; border-right: 0; }
  .crg15-change-paths span { margin-top: 0; }
  .crg15-boundary-map figcaption { padding: 0 18px 24px; }
  .crg15-record-anatomy { padding: 28px 22px; }
  .crg15-record-anatomy h3 { font-size: 26px; }
  .crg15-record-anatomy dl > div { grid-template-columns: 1fr; gap: 6px; }
  .crg15-build-quote { margin-top: 58px; padding-left: 22px; }
  .crg15-build-quote p { font-size: 30px; }
  .crg15-adoption-steps { grid-template-columns: 1fr; }
  .crg15-adoption-steps div, .crg15-adoption-steps div:first-child { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--crg15-line); }
  .crg15-adoption-steps div:last-child { border-bottom: 0; }
  .crg15-adoption-steps p { margin-top: 14px; }
  .crg15-closing-section p { font-size: 38px; }
  .crg15-closing-links { flex-direction: column; gap: 20px; }
}

@media (max-width: 380px) {
  .crg15-hero h1 { font-size: 37px; }
  .crg15-inventory { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .crg15-action { transition: none; }
}
