:root {
  color-scheme: light;
  --paper: #f8f7f2; --white: #fffefa; --ink: #182923; --muted: #52635c; --rule: #d2d8cf;
  --accent: #a33821; --accent-hover: #802815; --wash: #edf1e9; --dark: #19332c;
  --accent-wash: #fbeee9;
  --ok: #2f6b4f; --ok-wash: #e3efe3; --warn: #7d5512; --warn-wash: #f6eedb; --stop: var(--accent); --stop-wash: #f7e4dd;
  --on-dark: #fffdf3; --on-dark-2: #d2ddd3; --accent-on-dark: #f1a58f; --dark-rule: #466054;
  --focus: #d66b3d;
  --font-ui: system-ui, -apple-system, "Segoe UI", sans-serif; --font-display: Georgia, "Times New Roman", serif; --font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --t-xs: .75rem; --t-sm: .875rem; --t-base: 1.0625rem; --t-md: 1.25rem; --t-lg: 1.5rem;
  --t-xl: clamp(1.75rem, 1.35rem + 1.7vw, 2.25rem); --t-2xl: clamp(2.25rem, 1.5rem + 3.2vw, 3.5rem); --t-3xl: clamp(2.75rem, 1.7rem + 4.5vw, 4.5rem);
  --lh-display: 1.1; --lh-ui: 1.3; --lh-body: 1.6; --ls-display: -.03em; --ls-caps: .1em;
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem; --s-9: 6rem;
  --gutter: var(--s-4); --section-y: var(--s-7); --card-pad: var(--s-4); --grid-gap: var(--s-4); --hero-y: var(--s-7); --split-gap: var(--s-6);
  --r-0: 0; --r-dot: 50%; --bw: 1px; --bw-strong: 2px; --shadow-pop: 0 8px 24px rgb(24 41 35 / .14);
  --w-page: 76rem; --w-prose: 40rem; --w-form: 36rem; --w-fig: 56rem; --w-fig-narrow: 26rem; --hit: 2.75rem; --z-menu: 20; --z-skip: 30;
}
@supports (color: color-mix(in srgb, red, blue)) { :root { --accent-wash: color-mix(in srgb, var(--accent) 8%, var(--white)); } }
@media (min-width: 40rem) { :root { --gutter: var(--s-5); --card-pad: var(--s-5); --grid-gap: var(--s-5); } }
@media (min-width: 56rem) { :root { --section-y: var(--s-8); --hero-y: var(--s-9); --split-gap: var(--s-8); } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: var(--t-base) / var(--lh-body) var(--font-ui); }
[hidden] { display: none !important; }
::selection { background: var(--rule); color: var(--ink); }
a { color: var(--accent); text-underline-offset: .19em; text-decoration-thickness: 1px; }
a:hover { color: var(--accent-hover); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip { position: absolute; left: var(--s-4); top: -8rem; z-index: var(--z-skip); padding: var(--s-2) var(--s-4); background: var(--ink); color: var(--white); }
.skip:focus { top: var(--s-4); color: var(--white); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nowrap { white-space: nowrap; }
figure, dl, dd, fieldset, legend, summary { margin: 0; padding: 0; }
fieldset { border: 0; min-width: 0; }
h4, h5, h6 { margin: 0 0 var(--s-2); font-size: var(--t-base); }
h1, h2, h3 { color: var(--ink); }
h1, h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: var(--ls-display); line-height: var(--lh-display); text-wrap: balance; }
h1 { font-size: var(--t-2xl); margin: 0 0 var(--s-5); }
h2 { font-size: var(--t-xl); margin: 0 0 var(--s-5); }
h3, .card-title { font-family: var(--font-ui); font-size: var(--t-md); font-weight: 700; line-height: var(--lh-ui); margin: 0 0 var(--s-3); text-wrap: wrap; }
p, ul, ol { margin: 0 0 var(--s-4); }
ul, ol { padding-left: var(--s-5); }
li { margin-bottom: var(--s-3); padding-left: var(--s-1); }
.lede { max-width: var(--w-prose); font-size: var(--t-md); }
.note, small { color: var(--muted); font-size: var(--t-sm); }
.hero .note { max-width: var(--w-prose); }
.eyebrow { margin: 0 0 var(--s-3); color: var(--accent); font: 700 var(--t-xs) / var(--lh-ui) var(--font-ui); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.kind { margin: 0 0 var(--s-2); color: var(--muted); font-size: var(--t-xs); }
.reading { max-width: var(--w-prose); overflow-wrap: break-word; }
.reading h2 { margin-top: var(--s-7); }
.reading h2:first-child, .reading section:first-child h2 { margin-top: 0; }
.reading h3 { margin-top: var(--s-5); }
.reading section { margin-bottom: var(--s-6); }
.reading li { margin-bottom: var(--s-4); }
header, main, footer { width: min(100% - var(--gutter) * 2, var(--w-page)); margin-inline: auto; }
header { display: flex; flex-direction: column; align-items: flex-start; padding-block: var(--s-3) 0; border-bottom: var(--bw) solid var(--rule); }
header .name { display: inline-flex; align-items: center; min-height: var(--hit); color: var(--ink); font-weight: 800; font-size: var(--t-md); line-height: var(--lh-ui); letter-spacing: var(--ls-display); text-decoration: none; }
header .name::before { content: "■"; margin-right: var(--s-3); color: var(--accent); font-size: var(--t-xs); }
nav { display: flex; flex-wrap: wrap; column-gap: var(--s-4); font-size: var(--t-sm); font-weight: 700; }
nav a { color: var(--ink); text-decoration: none; }
nav a:hover, nav a[aria-current="page"] { color: var(--accent); }
header nav a { display: inline-flex; align-items: center; justify-content: center; min-height: var(--hit); min-width: var(--hit); }
header nav { margin-bottom: var(--s-2); }
@media (min-width: 40rem) { nav { column-gap: var(--s-5); } }
@media (min-width: 56rem) {
  header { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--s-5); padding-block: var(--s-3); }
  header nav { margin-bottom: 0; }
}
main { padding-bottom: var(--s-7); }
main > :last-child { border-bottom: 0; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--s-2); font-size: var(--t-sm); }
.crumbs a { display: inline-flex; align-items: center; min-height: var(--hit); color: var(--muted); }
.crumbs a:hover { color: var(--accent); }
.crumbs > a + a::before, .crumbs li + li::before { content: "/"; margin-right: var(--s-2); color: var(--muted); }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--s-2); list-style: none; padding: 0; margin: 0; }
.crumbs li { margin: 0; padding: 0; color: var(--muted); }
footer { display: flex; flex-direction: column; gap: var(--s-3); padding-block: var(--s-6) var(--s-7); border-top: var(--bw) solid var(--rule); font-size: var(--t-sm); color: var(--muted); }
footer a { color: inherit; }
footer p { margin: 0; }
footer nav a, footer .network-group a { display: inline-flex; align-items: center; min-height: var(--hit); }
footer nav { column-gap: var(--s-4); font-weight: 600; }
footer .network { display: grid; gap: var(--s-2); margin-block: var(--s-1); }
footer .network-group { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--s-4); font-weight: 600; }
footer .network-title { flex: 0 0 100%; color: var(--muted); font-size: var(--t-xs); font-weight: 700; letter-spacing: var(--ls-caps); text-transform: uppercase; }
footer .network-own { color: var(--ink); font-weight: 700; }
@media (min-width: 40rem) { footer .network-title { flex-basis: 8rem; } }
button { font: inherit; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: var(--s-2); min-height: var(--hit); margin: 0; padding: var(--s-3) var(--s-5); border: 0; background: var(--accent); color: var(--white); font-size: var(--t-sm); font-weight: 700; line-height: var(--lh-ui); text-decoration: none; cursor: pointer; }
.button:hover { background: var(--accent-hover); color: var(--white); }
.secondary-button { background: transparent; color: var(--ink); border: var(--bw-strong) solid var(--ink); }
.secondary-button:hover { background: var(--wash); color: var(--ink); }
.secondary, .plain, .reset { display: inline-flex; align-items: center; min-width: var(--hit); min-height: var(--hit); margin: 0; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: var(--t-sm); font-weight: 700; line-height: var(--lh-ui); text-decoration: underline; text-underline-offset: .19em; cursor: pointer; }
.secondary:hover, .plain:hover, .reset:hover { color: var(--accent-hover); }
.button + .plain, .button + .reset { margin-left: var(--s-4); }
.action-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin: var(--s-5) 0 0; }
.result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-5); margin: var(--s-1) 0 0; }
label { display: block; margin-bottom: var(--s-2); font-size: var(--t-sm); font-weight: 700; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: var(--hit); padding: var(--s-2) var(--s-3); border: var(--bw) solid var(--ink); border-radius: var(--r-0); background: var(--white); color: var(--ink); font: inherit; }
textarea { min-height: 8rem; resize: vertical; }
input[type="checkbox"], input[type="radio"] { margin: 0; }
.field { margin-bottom: var(--s-4); }
.find { margin-block: var(--s-5); }
.query-row { display: flex; gap: var(--s-2); }
.query-row input { flex: 1; }
.query-row button { white-space: nowrap; }
.filters { display: grid; grid-template-columns: 1fr; gap: var(--s-4); align-items: end; margin-block: var(--s-5) var(--s-4); }
.filters label[for], .filters legend { margin-bottom: var(--s-2); font-size: var(--t-sm); font-weight: 700; }
.filters > div:first-child { grid-column: 1 / -1; }
.filters .plain { justify-self: start; }
.enquiry { display: grid; gap: var(--s-4); max-width: var(--w-prose); margin: var(--s-5) 0; padding: var(--card-pad); border: var(--bw) solid var(--rule); background: var(--white); }
.enquiry .field { display: grid; gap: var(--s-1); margin: 0; }
.enquiry .note { margin: 0; }
.enquiry-result p { margin: 0 0 var(--s-3); }
.enquiry-result textarea { min-height: 11rem; font: var(--t-sm) / var(--lh-ui) var(--font-mono); }
.enquiry-result ul { margin: var(--s-2) 0 0; padding-left: var(--s-5); }
.inline-callout, .notice, .boundary, .ev-notice, .proof-sample, .enquiry-result, .tool-result:not(:empty), .result { padding: var(--s-4); border-left: 4px solid var(--accent); background: var(--wash); }
.inline-callout, .boundary { margin: var(--s-5) 0; }
.inline-callout p:last-child, .proof-sample p:last-child, .ev-notice p, .result p:last-child, .result ul:last-child, .tool-result p:last-child { margin-bottom: 0; }
.ev-notice { background: var(--accent-wash); }
.enquiry-result { border-left-color: var(--dark); }
.tool-result:not(:empty) { margin-block: var(--s-4); }
.result { margin: 0; border-left-color: var(--muted); }
.result[data-state="fit"] { background: var(--ok-wash); border-left-color: var(--ok); }
.result[data-state="check"] { background: var(--warn-wash); border-left-color: var(--warn); }
.result[data-state="stop"] { background: var(--stop-wash); border-left-color: var(--stop); }
.result p { margin: 0 0 var(--s-2); }
.result-title { font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); }
.result ul { margin: var(--s-3) 0 0; }
.result li { margin-bottom: var(--s-2); }
.result .tag-stop, .result .tag-check { font-weight: 700; }
.result .tag-stop { color: var(--accent-hover); }
.result .tag-check { color: var(--warn); }
.soft-band { padding: var(--card-pad); background: var(--wash); }
.soft-band > :first-child { margin-top: 0; }
.soft-band > :last-child { margin-bottom: 0; }
.entry, .area-card, .vcard, .lane-card, .proof-item, .q, .shopping-demo, .artefact, .request-box { padding: var(--card-pad); border: var(--bw) solid var(--rule); background: var(--white); }
.request-box { margin-top: var(--s-6); background: var(--wash); border: 0; }
.entries, .area-cards, .lane-cards, .vgrid { display: grid; grid-template-columns: 1fr; gap: var(--grid-gap); list-style: none; padding: 0; margin: var(--s-5) 0; }
.area-cards > li, .lane-cards > li { margin: 0; padding: 0; }
.entries > li { margin: 0; }
@media (min-width: 40rem) { .entries, .area-cards, .lane-cards, .vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 56rem) { .entries, .vgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .area-cards { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); } .lane-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); } .filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, 1.2fr) auto auto; } }
.entry { position: relative; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.entry .card-title, .entry h3 { margin-bottom: var(--s-3); }
.entry h3 a, .entry .card-title a { color: var(--ink); }
.entry p { font-size: var(--t-sm); }
.entry p:last-child { margin-bottom: 0; }
.entry .kind { font-size: var(--t-xs); }
.entry .terms, p.terms { font-size: var(--t-sm); font-weight: 700; }
.entry h3 a::after, .entry .card-title a::after { content: ""; position: absolute; inset: 0; }
.entry a:not(h3 a):not(.card-title a) { position: relative; z-index: 1; }
.entry:hover, .area-card:hover, .vcard:hover, .area-card:focus-visible, .vcard:focus-visible, .lane-card:hover { border-color: var(--accent); }
.area-card { display: grid; grid-template-rows: auto 1fr auto; gap: var(--s-1); height: 100%; color: var(--ink); text-decoration: none; }
.area-card strong { font-size: var(--t-md); line-height: var(--lh-ui); }
.area-card span { color: var(--muted); font-size: var(--t-sm); }
.area-card em { font-style: normal; font-weight: 700; color: var(--accent); font-size: var(--t-sm); }
@media (max-width: 39.99rem) { .area-card { grid-template-rows: auto auto; } .area-card span { display: none; } }
.area-jump { margin-top: var(--s-4); }
.vcard { display: grid; gap: var(--s-2); text-decoration: none; color: var(--ink); }
.vcard strong { font-size: var(--t-md); line-height: var(--lh-ui); }
.vcard span { color: var(--muted); }
.vcard em { font-style: normal; font-weight: 700; color: var(--accent); font-size: var(--t-sm); }
.lane-card { display: grid; align-content: start; gap: var(--s-2); height: 100%; border-color: var(--ink); color: var(--ink); text-decoration: none; }
.lane-card:hover { outline: 1px solid var(--accent); outline-offset: -2px; }
.lane-card strong { font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); }
.lane-card:hover strong { color: var(--accent); }
.lane-card .summary { color: var(--muted); }
.lane-card .terms-line { font-weight: 700; }
.lane-card .cta-hint { margin-top: var(--s-2); font-size: var(--t-sm); font-weight: 700; color: var(--accent); }
.featured { margin-top: var(--s-4); padding-block: var(--s-6); border-block: var(--bw) solid var(--rule); background: linear-gradient(var(--wash), var(--wash)) center / 100vw 100% no-repeat; }
.proof-item { margin-bottom: var(--s-5); }
.proof-item p:last-child { margin-bottom: 0; }
.rule-list, .check, .timeline, .coverage, .jobs, .evidence-list { list-style: none; padding: 0; margin: 0; }
.rule-list > li, .check li { padding: var(--s-4) 0; margin: 0; border-top: var(--bw) solid var(--rule); }
.check li { padding-block: var(--s-1); }
.rule-list > li:last-child, .check li:last-child { border-bottom: var(--bw) solid var(--rule); }
.rule-list p:last-child, .rule-list ul:last-child { margin-bottom: 0; }
.numbered, .panel-steps { counter-reset: step; }
.numbered > li { display: grid; grid-template-columns: var(--s-6) 1fr; gap: var(--s-4); counter-increment: step; }
.numbered > li::before, .panel-steps li::before { content: counter(step, decimal-leading-zero); font: 700 var(--t-xs) / var(--lh-body) var(--font-mono); color: var(--accent); }
.panel-steps { list-style: none; padding: 0; margin: 0; }
.panel-steps li { counter-increment: step; display: grid; grid-template-columns: var(--s-6) 1fr; gap: var(--s-3); margin: 0; padding: var(--s-3) 0; border-top: var(--bw) solid var(--dark-rule); color: var(--on-dark-2); }
.panel-steps li::before { color: var(--accent-on-dark); }
.mark-list { list-style: none; padding: 0; margin: 0; }
.mark-list li { position: relative; padding-left: var(--s-5); margin-bottom: var(--s-3); line-height: var(--lh-ui); }
.mark-list li::before { position: absolute; left: 0; top: 0; font-weight: 800; }
.mark-list.yes li::before { content: "✓"; content: "✓" / ""; color: var(--ok); }
.mark-list.no li::before { content: "✕"; content: "✕" / ""; color: var(--accent); }
.check label { display: flex; gap: var(--s-3); align-items: flex-start; margin: 0; padding-block: var(--s-3); font-weight: 700; line-height: var(--lh-ui); cursor: pointer; }
.check input { flex: none; width: 1.3rem; height: 1.3rem; margin: 0; accent-color: var(--accent); cursor: pointer; }
.check span { display: block; margin: var(--s-1) 0 0 var(--s-6); color: var(--muted); font-size: var(--t-sm); }
.proof-link, .related-link { display: block; color: var(--ink); text-decoration: none; padding: var(--s-4) 0; }
.proof-link { border-top: var(--bw) solid var(--rule); }
.proof-link:last-child { border-bottom: var(--bw) solid var(--rule); }
.proof-link strong { display: block; font-size: var(--t-md); line-height: var(--lh-ui); margin-bottom: var(--s-1); }
.proof-link > span { display: block; max-width: var(--w-prose); color: var(--muted); font-size: var(--t-sm); }
.proof-link:hover strong, .related-link:hover strong { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.related-link { border-bottom: var(--bw) solid var(--rule); }
.related-link > * { display: block; }
.related-link strong { color: var(--ink); line-height: var(--lh-ui); }
.jobs > li { margin: 0; padding: 0; border-top: var(--bw) solid var(--rule); }
.jobs > li:last-child { border-bottom: var(--bw) solid var(--rule); }
.job { display: grid; grid-template-columns: 1fr; gap: var(--s-2); padding: var(--s-4) 0; color: var(--ink); text-decoration: none; }
.job strong { grid-column: 1; font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); }
.job:hover strong { color: var(--accent); text-decoration: underline; text-underline-offset: .19em; }
.job .summary { grid-column: 1; max-width: var(--w-prose); color: var(--muted); }
.job .tags { grid-column: 1; display: flex; flex-wrap: wrap; gap: var(--s-1); margin-top: var(--s-1); }
.job .terms-line { grid-column: 1; font-size: var(--t-sm); font-weight: 700; color: var(--muted); }
@media (min-width: 56rem) { .job { grid-template-columns: minmax(0, 1fr) 13rem; gap: var(--s-2) var(--s-7); } .job .terms-line { grid-column: 2; grid-row: 1 / span 3; align-self: center; text-align: right; color: var(--ink); } }
.job-group + .job-group { margin-top: var(--s-7); }
.job-group h3 { margin: 0 0 var(--s-2); font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); }
.job-group h3 a { display: inline-flex; align-items: center; min-height: var(--hit); color: var(--ink); }
.job-group h3 a:hover { color: var(--accent); }
.group-intro { max-width: var(--w-prose); color: var(--muted); }
.paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--bw) solid var(--rule); }
.paths a { display: flex; align-items: center; min-height: var(--hit); padding: var(--s-4) var(--s-3) var(--s-4) 0; border-bottom: var(--bw) solid var(--rule); font-weight: 700; }
@media (min-width: 56rem) { .paths { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pagination { gap: var(--s-4); margin-block: var(--s-6); }
.pagination a, .pager a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--hit); min-height: var(--hit); padding-inline: var(--s-2); }
.pager { gap: var(--s-4); }
.tag, .ev-state, .venture-badge { display: inline-block; padding: var(--s-1) var(--s-2); background: var(--wash); color: var(--ink); font-size: var(--t-xs); font-weight: 700; line-height: var(--lh-ui); }
.level-tag { background: var(--dark); color: var(--white); }
.ev-state { margin-left: var(--s-2); }
.venture-badge { margin: 0 0 var(--s-5); background: transparent; border: var(--bw) solid var(--accent); color: var(--accent); }
.venture-index { list-style: none; padding: 0; }
.venture-index li { padding: var(--s-5) 0; border-top: var(--bw) solid var(--rule); }
.venture-index li:last-child { border-bottom: var(--bw) solid var(--rule); }
.venture-index h2 { font-size: var(--t-lg); margin: 0 0 var(--s-2); }
.venture-index p { max-width: var(--w-prose); }
.count { margin: 0; color: var(--muted); font-weight: 700; }
.back { margin: var(--s-5) 0 0; font-weight: 700; }
.no-results { margin-top: var(--s-5); font-weight: 700; }
.data-table { overflow-x: auto; margin: var(--s-5) 0; }
.scroll-hint { display: none; }
table { width: 100%; border-collapse: collapse; min-width: 32rem; font-size: var(--t-sm); }
th, td { text-align: left; vertical-align: top; padding: var(--s-3) var(--s-4) var(--s-3) 0; border-bottom: var(--bw) solid var(--rule); }
th { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: var(--ls-caps); }
td:first-child { font-weight: 700; width: 22%; }
.risk-table td:first-child { width: 44%; }
@media (max-width: 39.99rem) {
  table { min-width: 0; }
  thead, tr:has(> th[scope="col"]) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  tbody, tr, td { display: block; width: auto; }
  tr { padding: var(--s-3) 0; border-bottom: var(--bw) solid var(--rule); }
  td, .risk-table td:first-child { width: auto; padding: var(--s-1) 0; border: 0; }
  td:first-child { font-weight: 700; }
  td[data-label]:not(:first-child)::before { content: attr(data-label); display: block; margin-top: var(--s-1); color: var(--muted); font: 700 var(--t-xs) / var(--lh-ui) var(--font-ui); letter-spacing: var(--ls-caps); text-transform: uppercase; }
}
pre { margin: 0 0 var(--s-4); white-space: pre-wrap; overflow-wrap: anywhere; background: var(--wash); border-left: 3px solid var(--accent); padding: var(--s-5); font: var(--t-sm) / var(--lh-body) var(--font-mono); }
code { background: var(--wash); padding: 0 var(--s-1); font: var(--t-sm) var(--font-mono); }
pre code { padding: 0; }
.matrix { white-space: pre; overflow-wrap: normal; word-break: normal; overflow-x: auto; max-width: 100%; }
.matrix code { display: block; padding: 0; background: transparent; font: inherit; }
.matrix-hint { margin-bottom: var(--s-3); }
.panel { display: flex; flex-direction: column; justify-content: center; align-self: stretch; padding: var(--card-pad); background: var(--dark); color: var(--on-dark); }
.panel h2, .panel h3, .panel a { color: var(--on-dark); }
.panel .eyebrow, .panel .panel-steps li::before { color: var(--accent-on-dark); }
.panel p, .panel .note { color: var(--on-dark-2); }
.panel .button { align-self: flex-start; background: var(--paper); color: var(--ink); }
.panel .button:hover { background: var(--wash); }
.panel .small { color: var(--on-dark-2); font-size: var(--t-xs); }
.price-number { display: block; margin: var(--s-1) 0 var(--s-3); font-family: var(--font-display); font-size: var(--t-xl); letter-spacing: var(--ls-display); line-height: var(--lh-display); }
.terms .price-number { margin-top: 0; }
.terms h2 { font-size: var(--t-lg); margin-bottom: var(--s-4); }
.facts { margin: var(--s-1) 0 0; display: grid; gap: var(--s-3); }
.facts div { border-top: var(--bw) solid var(--dark-rule); padding-top: var(--s-3); }
.facts dt { color: var(--on-dark); font-weight: 700; font-size: var(--t-sm); }
.facts dd { margin: var(--s-1) 0 0; color: var(--on-dark-2); }
.terms .dates-head { margin: var(--s-5) 0 var(--s-3); font-size: var(--t-base); }
.terms .timeline { margin-bottom: var(--s-3); }
.panel .small a { color: var(--accent-on-dark); }
.draft-note, .new-service { margin: var(--s-5) 0 0; padding: var(--s-3); border: var(--bw) dashed var(--accent-on-dark); color: var(--accent-on-dark) !important; font-size: var(--t-sm); }
.timeline { margin: 0 0 var(--s-5); }
.timeline li { position: relative; margin: 0; padding: 0 0 var(--s-4) var(--s-5); }
.timeline li::before { content: ""; position: absolute; left: var(--s-1); top: var(--s-2); width: .625rem; height: .625rem; border-radius: var(--r-dot); background: var(--accent-on-dark); }
.timeline li::after { content: ""; position: absolute; left: .4375rem; top: var(--s-5); bottom: 0; width: 1px; background: var(--dark-rule); }
.timeline li:last-child { padding-bottom: 0; }
.timeline li:last-child::after { display: none; }
.timeline li:last-child::before { background: var(--dark); border: 2px solid var(--accent-on-dark); }
.timeline time { display: block; color: var(--on-dark); font-weight: 700; font-size: var(--t-sm); }
.panel .timeline p { margin: 0; font-size: var(--t-sm); line-height: var(--lh-ui); }
.hero { padding-block: var(--hero-y) var(--section-y); border-bottom: var(--bw) solid var(--rule); }
.hero-grid, .split, .detail-grid, .home-intro { display: grid; grid-template-columns: 1fr; gap: var(--split-gap); }
.hero-grid { align-items: center; }
.hero-content { max-width: var(--w-fig); }
.hero-note { margin-top: var(--s-5); }
.section { padding-block: var(--section-y); border-bottom: var(--bw) solid var(--rule); }
.split > * , .detail-grid > * { min-width: 0; }
.split > :first-child { max-width: 22rem; }
@media (min-width: 56rem) {
  .hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .72fr); }
  .split { grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); }
  .detail-grid { grid-template-columns: minmax(0, 2fr) minmax(17rem, 1fr); padding-bottom: var(--s-7); }
  .home-intro { grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .7fr); align-items: start; }
}
.intro { padding-block: var(--s-7) var(--s-6); }
.home-intro { padding-block: var(--s-7) var(--s-7); border-bottom: var(--bw) solid var(--rule); }
.catalogue .hero { padding-block: var(--s-5) var(--section-y); }
.catalogue-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-2) var(--s-6); margin-bottom: var(--s-5); }
.catalogue-head h2 { margin: 0; }
.lane { padding: var(--card-pad); border-top: 4px solid var(--accent); background: var(--wash); }
.lane h2 { font-size: var(--t-lg); }
.related { padding-top: var(--s-5); border-top: var(--bw) solid var(--rule); }
.related h2 { font-size: var(--t-lg); }
.sources { padding-top: var(--s-5); border-top: var(--bw) solid var(--rule); overflow-wrap: anywhere; }
.tool { padding-top: var(--s-6); border-top: var(--bw) solid var(--rule); }
.request-section { padding-bottom: var(--s-7); }
.vstats-inline { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); padding: 0; margin: 0 0 var(--s-4); }
.vstats-inline li { margin: 0; padding: 0; }
.vstats-inline strong { font-size: var(--t-lg); margin-right: var(--s-1); }
.ref { margin: 0; color: var(--muted); font: var(--t-xs) / var(--lh-ui) var(--font-mono); overflow-wrap: anywhere; max-width: 100%; }
.crumb-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--s-1) var(--s-5); }
.product-hero { align-items: start; }
.product-hero .lede { margin-bottom: 0; }
.outcome-hero .eyebrow { margin: 0 0 var(--s-2); }
.symptoms-label { margin: var(--s-5) 0 var(--s-2); font-weight: 700; }
.symptoms { list-style: none; margin: 0; padding: var(--s-1) 0 var(--s-1) var(--s-4); border-left: 3px solid var(--accent); }
.symptoms li { margin: 0 0 var(--s-2); padding: 0; line-height: var(--lh-ui); }
.symptoms li:last-child { margin-bottom: 0; }
.problem { font-size: var(--t-md); }
.diagnostic { display: grid; gap: var(--s-4); }
.q { margin: 0; min-width: 0; }
.q legend { float: left; width: 100%; margin: 0 0 var(--s-1); font-weight: 700; line-height: var(--lh-ui); }
.q legend + * { clear: both; }
.q-help { margin: 0; color: var(--muted); font-size: var(--t-sm); }
.options { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
.options label { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--hit); margin: 0; padding: var(--s-2) var(--s-3); border: var(--bw) solid var(--rule); background: var(--paper); font-size: var(--t-sm); font-weight: 700; line-height: var(--lh-ui); cursor: pointer; }
.options label:hover { border-color: var(--ink); }
.options input { flex: none; width: 1.05rem; height: 1.05rem; margin: 0; accent-color: var(--accent); cursor: pointer; }
.options label:has(input:checked) { border-color: var(--accent); background: var(--accent-wash); outline: var(--bw) solid var(--accent); outline-offset: -2px; }
.options label:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 3px; }
.options input:focus-visible { outline: none; }
.filters .options { margin-top: 0; }
.filters .options label { background: var(--white); }
.self-checks { margin-top: var(--s-6); }
.self-checks h3 { margin-bottom: var(--s-4); }
.self-checks h4 { margin: 0 0 var(--s-1); }
.self-checks p { margin-bottom: var(--s-2); }
.self-checks pre, .tests pre { margin: var(--s-2) 0 var(--s-3); white-space: pre; overflow-x: auto; overflow-wrap: normal; }
.look-for { color: var(--muted); font-size: var(--t-sm); }
.look-for strong { color: var(--ink); }
.deliverables { margin-bottom: var(--s-6); }
.deliverables > li { padding: var(--s-4) 0; font-weight: 700; }
.cols { display: grid; grid-template-columns: 1fr; gap: var(--s-5); }
@media (min-width: 40rem) { .cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-7); } }
.cols h3 { margin-bottom: var(--s-3); }
.tests > li > div { min-width: 0; }
.tests .test-check { margin-bottom: var(--s-1); font-weight: 700; line-height: var(--lh-ui); }
.tests .test-evidence { margin: 0; color: var(--muted); font-size: var(--t-sm); }
.tests .test-evidence strong { color: var(--ink); }
.signoff { margin-top: var(--s-5); }
.signoff p { margin-bottom: var(--s-3); }
.alternatives li { margin-bottom: var(--s-3); }
.faq h3 { margin-top: var(--s-5); }
.faq h3:first-child { margin-top: 0; }
.components > li > div > p:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2); }
.evidence-list { margin: 0 0 var(--s-4); padding-left: var(--s-5); list-style: disc; }
.evidence-list li { margin: var(--s-1) 0; }
.mail-fallback { margin-top: var(--s-4); }
.evidence-packet { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-5); max-width: min(100%, 52rem); }
.ev-item { min-width: 0; padding: var(--s-5) 0; border-top: var(--bw) solid var(--rule); overflow-wrap: anywhere; }
.ev-item p, .ev-item li, .ev-item td { overflow-wrap: anywhere; }
.ev-item pre { max-width: 100%; overflow-x: auto; }
.ev-table { min-width: 34rem; }
.ev-table th, .ev-table td { overflow-wrap: normal; word-break: normal; }
.ev-table .ev-col-criterion { width: 6rem; }
.ev-table .ev-col-result { width: 6.5rem; min-width: 6rem; white-space: nowrap; }
.ev-table td.ev-col-check { overflow-wrap: anywhere; }
@media (max-width: 39.99rem) { .ev-table { min-width: 0; } .ev-table .ev-col-criterion, .ev-table .ev-col-result { width: auto; min-width: 0; white-space: normal; } }
.ev-item h3 { margin: 0 0 var(--s-3); }
.ev-shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--s-4); }
.ev-shots figure { margin: 0; }
.ev-shots a { display: block; }
.ev-shots img { display: block; width: 100%; height: auto; border: var(--bw) solid var(--rule); }
.ev-shots figcaption { margin-top: var(--s-2); font-size: var(--t-sm); color: var(--muted); }
[data-result="pass"] { font-weight: 700; }
[data-result="fail"] { font-weight: 700; color: var(--accent); }
@media print { .filters, .result-actions, .skip { display: none !important; } }
.flagship h2 { font-size: var(--t-lg); margin-bottom: var(--s-5); }
.coverage > li { display: grid; grid-template-columns: 1fr; gap: var(--s-2); align-items: baseline; margin: 0; padding: var(--s-5) 0; border-top: var(--bw) solid var(--rule); }
.coverage > li:last-child { border-bottom: var(--bw) solid var(--rule); }
.coverage h3 { font: 400 var(--t-xl) / var(--lh-display) var(--font-display); letter-spacing: var(--ls-display); margin: 0; }
.coverage p { margin: 0; }
.coverage .term { color: var(--muted); font-size: var(--t-sm); font-weight: 700; }
@media (min-width: 56rem) { .coverage > li { grid-template-columns: 6.5rem minmax(0, 1fr) 9.5rem; gap: var(--s-2) var(--s-6); } .coverage .term { text-align: right; } }
.artefact { margin: 0 0 var(--s-6); }
.artefact h3 { font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); margin-bottom: var(--s-3); }
.artefact figure { margin: var(--s-5) 0; }
.artefact pre { margin: 0; white-space: pre; overflow-x: auto; font-size: var(--t-base); }
.artefact .dim, .artefact figcaption { color: var(--muted); }
.artefact figcaption { margin-top: var(--s-3); font-size: var(--t-sm); }
.artefact-links { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); margin: 0; font-weight: 700; }
.artefact ~ .proof-link strong { color: var(--accent); }
.demand h1 { max-width: var(--w-fig); }
.shopping-demo { margin: 0; }
.shopping-demo .row, .shopping-demo .summary { display: flex; gap: var(--s-2); }
.shopping-demo .row input { flex: 1; }
.shopping-demo button { min-height: var(--hit); padding: var(--s-2) var(--s-4); border: 0; background: var(--accent); color: var(--white); cursor: pointer; }
.shopping-demo button:disabled { background: var(--wash); color: var(--muted); cursor: not-allowed; }
.shopping-demo .items { list-style: none; padding: 0; margin-block: var(--s-5); border-top: var(--bw) solid var(--rule); }
.shopping-demo .items label { display: flex; align-items: center; gap: var(--s-3); min-height: var(--hit); margin: 0; padding: var(--s-2) 0; border-bottom: var(--bw) solid var(--rule); font-weight: 400; }
.shopping-demo .items input { width: 1.5rem; min-height: 1.5rem; height: 1.5rem; flex: none; accent-color: var(--accent); }
.shopping-demo .items span { min-width: 0; overflow-wrap: anywhere; }
.shopping-demo .bought span { text-decoration: line-through; color: var(--muted); }
.shopping-demo .summary { flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); }
.shopping-demo #remaining { margin: 0; font-weight: 700; }
@media (max-width: 39.99rem) { .query-row { display: block; } .query-row button { margin-top: var(--s-3); width: 100%; } }
.commercial .hero-grid { align-items: start; }
.commercial .section-tag { font: 700 var(--t-sm) / var(--lh-ui) var(--font-ui); color: var(--muted); margin-bottom: var(--s-4); }
.commercial .panel { align-self: auto; justify-content: flex-start; }
.commercial .panel .section-tag { color: var(--on-dark-2); }
.commercial .panel .panel-price { color: var(--on-dark); font: 400 var(--t-xl) / var(--lh-display) var(--font-display); letter-spacing: var(--ls-display); margin-bottom: var(--s-2); }
.commercial .panel-price small { color: var(--on-dark-2); font: 400 var(--t-base) / var(--lh-body) var(--font-ui); letter-spacing: 0; }
.commercial .panel-list { list-style: none; padding: 0; margin: var(--s-4) 0 var(--s-5); }
.commercial .panel-list li { border-top: var(--bw) solid var(--dark-rule); padding: var(--s-3) 0; margin: 0; }
.commercial .panel-list li:last-child { border-bottom: var(--bw) solid var(--dark-rule); }
.commercial .panel > :last-child { margin-bottom: 0; }
.route { border-top: var(--bw-strong) solid var(--ink); padding: var(--s-5) 0 0; }
.route h3 { font: 400 var(--t-lg) / var(--lh-ui) var(--font-display); letter-spacing: var(--ls-display); }
.route a { font-weight: 700; }
.route p { max-width: var(--w-prose); }
.spec { margin: 0; }
.spec > div { border-top: var(--bw) solid var(--rule); padding: var(--s-4) 0; display: grid; grid-template-columns: 1fr; gap: var(--s-1); }
.spec > div:last-child { border-bottom: var(--bw) solid var(--rule); }
@media (min-width: 40rem) { .spec > div { grid-template-columns: 9rem minmax(0, 1fr); gap: var(--s-4); } }
.spec dt { font-weight: 700; }
.proof-sample { margin: var(--s-5) 0; }
.proof-sample p { margin-bottom: var(--s-3); }
.proof-sample code { padding: 0; white-space: nowrap; }
.sample-label { color: var(--muted); font-size: var(--t-sm); }
.contact-band { background: var(--wash); padding: var(--card-pad); }
.contact-band h2 { max-width: 20ch; }
.contact-band .button { margin-bottom: var(--s-3); }
.text-link { font-weight: 700; }
.area-jump a, .reading > a, .lane > a, .request-box > a, .text-link { display: inline-flex; align-items: center; min-height: var(--hit); }
.spaced { margin-top: var(--s-5); }
.boundary { margin-top: var(--s-5); }
.commercial a { overflow-wrap: anywhere; }
.vertical header .name { color: var(--dark); }
.vhero { padding: var(--hero-y) var(--gutter) 0; background: var(--dark); color: var(--white); }
.vhero-inner { max-width: 62rem; margin: 0 auto; }
.vhero h1 { margin: var(--s-2) 0 var(--s-4); color: var(--white); }
.vhero .lede { max-width: var(--w-prose); }
.vhero .vpart { margin: 0 0 var(--s-3); font-size: var(--t-sm); color: var(--on-dark-2); }
.vhero .vpart a { color: var(--white); }
.vhero .kind { color: var(--on-dark-2); letter-spacing: var(--ls-caps); text-transform: uppercase; font-weight: 700; }
.vhero .find label { color: var(--white); }
.vhero .button { background: var(--accent); color: var(--white); }
.vhero .plain { color: var(--white); }
.vhero-links { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; margin: var(--s-4) 0 var(--s-6); }
.vstats { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); max-width: 62rem; margin: 0 auto; padding: var(--s-4) 0 var(--s-5); border-top: var(--bw) solid var(--dark-rule); }
.vstats li { margin: 0; padding: 0; }
.vstats strong { font-size: var(--t-lg); margin-right: var(--s-1); }
.vsteps { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-3); }
.vsteps li { counter-increment: step; padding-left: var(--s-7); position: relative; margin: 0; }
.vsteps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: var(--s-6); height: var(--s-6); border-radius: var(--r-dot); background: var(--dark); color: var(--white); display: grid; place-items: center; font-weight: 700; font-size: var(--t-sm); }
.vsec { margin-bottom: var(--s-5); }
.vsec h2 { margin-bottom: var(--s-2); }
