/* ============================================================
 BOLTON Signal — tpl-docquality.css (Documentation & Quality rebuild)
 ONE @layer templates block; every selector page-scoped. Dark-first,
 light-dark() mode-aware; blueprint light mode. Motion: one
 .dx-play-gated ambient loop, hidden-tab paused, reduce-neutralised.
 ============================================================ */
@layer templates {

/* Scope tokens */
.tpl-quality-docs {
	--dx-accent: hsl(44 55% 58%);
	--dx-accent: light-dark(hsl(44 62% 30%), hsl(44 55% 58%));
	--dx-accent-dim: hsl(44 38% 42%);
	--dx-glow: hsl(44 60% 55% / 0.16);
	--dx-bp: transparent;
	--dx-bp: light-dark(hsl(215 45% 40% / 0.07), transparent);
	--dx-bp-strong: transparent;
	--dx-bp-strong: light-dark(hsl(215 45% 40% / 0.12), transparent);
	--cw-h: 44;
}

/* role-list reset */
.tpl-quality-docs :is(ul, ol)[role="list"] { list-style: none; padding: 0; }

/* Reveal system (fail-visible; JS arms below-fold only) */
.site-main.tpl-quality-docs .dx-rev { opacity: 1; transform: none; }
.site-main.tpl-quality-docs .dx-armed { opacity: 0; transform: translateY(16px); }
.site-main.tpl-quality-docs .dx-in { opacity: 1; transform: none; transition: opacity 0.55s var(--bx-ease), transform 0.55s var(--bx-ease); }

/* shared chrome: sheets, gold spine, mono marginalia */
.tpl-quality-docs .dx-why__card,
.tpl-quality-docs .dx-fam__anchor,
.tpl-quality-docs .dx-fam__sheet,
.tpl-quality-docs .dx-strip,
.tpl-quality-docs .dx-ledger,
.tpl-quality-docs .dx-scope__col {
	position: relative; overflow: hidden;
	background: var(--bx-surface); border: 1px solid var(--bx-line); border-radius: var(--bx-radius-lg);
}
.tpl-quality-docs .dx-why__card::before,
.tpl-quality-docs .dx-fam__anchor::before,
.tpl-quality-docs .dx-strip::before,
.tpl-quality-docs .dx-scope__col--a::before {
	content: ""; position: absolute; inset: 0 auto 0 0; width: 3px;
	background: linear-gradient(180deg, var(--dx-accent), transparent);
}
.tpl-quality-docs .dx-path__num,
.tpl-quality-docs .dx-check__num,
.tpl-quality-docs .dx-fam__idx,
.tpl-quality-docs .dx-path__f dt,
.tpl-quality-docs .dx-ledger__k {
	font-family: var(--bx-font-mono); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bx-text-muted);
}
.tpl-quality-docs .dx-sec__title { font-size: var(--bx-fs-xl); margin-top: var(--bx-sp-20); }
.tpl-quality-docs .dx-lede { margin-top: var(--bx-sp-20); color: var(--bx-text-2); max-width: 66ch; }
.tpl-quality-docs .dx-note {
	margin-top: var(--bx-sp-30); max-width: 66ch;
	padding: 0.8rem 1rem;
	border-left: 3px solid var(--dx-accent-dim); border-radius: 0 var(--bx-radius) var(--bx-radius) 0;
	background: var(--bx-surface);
	color: var(--bx-text-2); font-size: 0.95rem;
}
.tpl-quality-docs .dx-kicker { font-family: var(--bx-font-mono); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dx-accent); }
.tpl-quality-docs .dx-sub__t,
.tpl-quality-docs .dx-strip__title { font-size: var(--bx-fs-lg); margin-top: var(--bx-sp-20); }
.tpl-quality-docs .dx-link-quiet { display: inline-flex; align-items: center; min-height: 44px; color: var(--bx-link); font-weight: 600; text-decoration: none; }
.tpl-quality-docs .dx-link-quiet:hover { text-decoration: underline; color: var(--bx-link-hover); }

/* Blueprint texture bands (light mode only) */
.tpl-quality-docs .dx-band::before,
.tpl-quality-docs .dx-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image:
		linear-gradient(var(--dx-bp) 1px, transparent 1px),
		linear-gradient(90deg, var(--dx-bp) 1px, transparent 1px),
		linear-gradient(var(--dx-bp-strong) 1px, transparent 1px),
		linear-gradient(90deg, var(--dx-bp-strong) 1px, transparent 1px);
	background-size: 24px 24px, 24px 24px, 120px 120px, 120px 120px;
}
.tpl-quality-docs .dx-band { position: relative; }
.tpl-quality-docs .dx-band > .container { position: relative; z-index: 1; }

/* S1 · Hero */
.tpl-quality-docs .dx-hero { position: relative; }
.tpl-quality-docs .dx-hero > .container { position: relative; z-index: 1; }
.tpl-quality-docs .dx-hero__eyebrow { color: var(--dx-accent); }
.tpl-quality-docs .dx-hero__payoff { margin-top: var(--bx-sp-20); font-size: var(--bx-fs-lg); font-weight: 600; letter-spacing: 0.01em; color: var(--dx-accent); }
.tpl-quality-docs .dx-hero__intro { max-width: 64ch; }
.tpl-quality-docs .dx-hero__intro p + p { margin-top: var(--bx-sp-20); font-size: 0.95rem; }
.tpl-quality-docs .dx-hero__actions { margin-top: var(--bx-sp-40); display: flex; flex-wrap: wrap; align-items: center; gap: var(--bx-sp-30); }
.tpl-quality-docs .dx-hero__grid { display: grid; gap: var(--bx-sp-50); align-items: center; }
.tpl-quality-docs .dx-hero__stage { position: relative; min-width: 0; }

/* scene containers (aspect-ratio → zero CLS) */
.tpl-quality-docs .dx-scene {
	position: relative;
	aspect-ratio: var(--sc-ar, 52 / 42);
	overflow: hidden;
	border: 1px solid var(--bx-line); border-radius: var(--bx-radius-lg);
	background:
		radial-gradient(88% 72% at 70% 18%, var(--dx-glow), transparent 62%),
		var(--bx-surface);
}
.tpl-quality-docs .dx-scene > svg { display: block; width: 100%; height: 100%; }
.tpl-quality-docs .dx-scene--compact { display: none; }

/* worlds grammar (.dx-svg scope) */
.tpl-quality-docs .dx-svg .cw-grid { stroke: hsl(var(--cw-h) 30% 60% / 0.12); stroke: light-dark(hsl(var(--cw-h) 32% 36% / 0.17), hsl(var(--cw-h) 30% 60% / 0.12)); stroke-width: 1; fill: none; }
.tpl-quality-docs .dx-svg .cw-plane {
	fill: hsl(var(--cw-h) 60% 50% / 0.06); fill: light-dark(hsl(var(--cw-h) 55% 62% / 0.045), hsl(var(--cw-h) 60% 50% / 0.06));
	stroke: hsl(var(--cw-h) 55% 55% / 0.18); stroke: light-dark(hsl(var(--cw-h) 45% 42% / 0.2), hsl(var(--cw-h) 55% 55% / 0.18));
	stroke-width: 1;
}
.tpl-quality-docs .dx-svg .s { stroke: hsl(var(--cw-h) 60% 60%); stroke: light-dark(hsl(var(--cw-h) 55% 34%), hsl(var(--cw-h) 60% 60%)); fill: none; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.tpl-quality-docs .dx-svg .sf { stroke: hsl(var(--cw-h) 48% 54% / 0.42); stroke: light-dark(hsl(var(--cw-h) 40% 38% / 0.55), hsl(var(--cw-h) 48% 54% / 0.42)); fill: none; stroke-width: 1; stroke-linecap: round; }
.tpl-quality-docs .dx-svg .f { fill: hsl(var(--cw-h) 66% 60%); fill: light-dark(hsl(var(--cw-h) 58% 36%), hsl(var(--cw-h) 66% 60%)); stroke: none; }
.tpl-quality-docs .dx-svg .cw-trace {
	stroke: hsl(var(--cw-h) 72% 66%); stroke: light-dark(hsl(var(--cw-h) 62% 38%), hsl(var(--cw-h) 72% 66%));
	fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
	stroke-dasharray: var(--len, 200); stroke-dashoffset: 0; /* fail-visible */
}
.tpl-quality-docs .dx-svg .cw-settle { opacity: 1; } /* fail-visible */
.tpl-quality-docs .dx-svg .cw-doc rect,
.tpl-quality-docs .dx-svg .cw-doc path { stroke: hsl(var(--cw-h) 40% 60% / 0.55); stroke: light-dark(hsl(var(--cw-h) 42% 40% / 0.6), hsl(var(--cw-h) 40% 60% / 0.55)); fill: none; stroke-width: 1; }
.tpl-quality-docs .dx-svg .cw-lbl {
	font-family: var(--bx-font-mono, ui-monospace, monospace); font-size: 12px; letter-spacing: 0.08em;
	fill: hsl(var(--cw-h) 26% 62% / 0.85); fill: light-dark(hsl(var(--cw-h) 30% 32% / 0.85), hsl(var(--cw-h) 26% 62% / 0.85));
	stroke: none;
}
/* Ambient beacon overlay (static dash by default) */
.tpl-quality-docs .dx-svg .dx-amb {
	stroke: hsl(var(--cw-h) 74% 66%); stroke: light-dark(hsl(var(--cw-h) 62% 40%), hsl(var(--cw-h) 74% 66%));
	fill: none; stroke-width: 1.9; stroke-linecap: round;
	stroke-dasharray: 14 486; opacity: 0.45;
}

/* one-shot reveal + the ONE ambient loop (.dx-play-gated) */
@keyframes dx-trace { from { stroke-dashoffset: var(--len, 200); } to { stroke-dashoffset: 0; } }
@keyframes dx-settle { from { opacity: 0; transform: scale(0.6); } to { opacity: 1; transform: none; } }
@keyframes dx-amb { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -500; } } /* one dash period */
.tpl-quality-docs .dx-play .cw-trace { animation: dx-trace 0.8s var(--bx-ease) both; }
.tpl-quality-docs .dx-play .cw-settle { animation: dx-settle 0.5s var(--bx-ease) both; transform-box: fill-box; transform-origin: center; }
.tpl-quality-docs .dx-play .dx-amb { animation: dx-amb 5.2s 1.1s linear infinite; }
html[data-bx-hidden="1"] .tpl-quality-docs .dx-amb { animation-play-state: paused; }

/* S2 · Why early */
.tpl-quality-docs .dx-why__grid { margin: var(--bx-sp-50) 0 0; display: grid; gap: var(--bx-sp-30); }
.tpl-quality-docs .dx-why__card { padding: var(--bx-sp-40); }
.tpl-quality-docs .dx-why__t,
.tpl-quality-docs .dx-check__t { font-size: 1rem; font-weight: 650; margin: 0; }
.tpl-quality-docs .dx-why__card p { margin-top: 0.5rem; color: var(--bx-text-2); font-size: 0.95rem; }

/* S3 · Pathway (mobile vertical spine by default) */
.tpl-quality-docs .dx-path__steps { margin: var(--bx-sp-50) 0 0; display: grid; gap: var(--bx-sp-40); }
.tpl-quality-docs .dx-path__step {
	position: relative; display: grid; gap: 0.55rem; align-content: start;
	padding: 0.15rem 0 0 1.15rem;
	border-left: 2px solid var(--bx-line);
	transition: border-color 0.45s ease;
}
.tpl-quality-docs .dx-path__step::before,
.tpl-quality-docs .dx-ledger__cell::after { content: ""; position: absolute; left: -5px; top: 0.35rem; width: 8px; height: 8px; border-radius: 50%; }
.tpl-quality-docs .dx-path__step::before { background: var(--bx-line); transition: background-color 0.45s ease, box-shadow 0.45s ease; }
.tpl-quality-docs .dx-path__step.is-on { border-color: var(--dx-accent-dim); }
.tpl-quality-docs .dx-path__step.is-on::before { background: var(--dx-accent); box-shadow: 0 0 0 4px var(--dx-glow); }
.tpl-quality-docs .dx-path__t,
.tpl-quality-docs .dx-fam__name,
.tpl-quality-docs .dx-faq__gt { font-size: 1rem; font-weight: 650; letter-spacing: 0.05em; text-transform: uppercase; margin: 0; }
.tpl-quality-docs .dx-path__dl { margin: 0.2rem 0 0; display: grid; gap: 0.6rem; }
.tpl-quality-docs .dx-path__f dd { margin: 0.15rem 0 0; color: var(--bx-text-2); font-size: 0.9rem; }

/* S4 · Families (dossier ledger) */
.tpl-quality-docs .dx-fam__anchor { margin-top: var(--bx-sp-50); padding: var(--bx-sp-40); }
.tpl-quality-docs .dx-fam__anchor-list { margin: 0.8rem 0 0; display: grid; gap: 0.5rem; }
.tpl-quality-docs .dx-fam__anchor-list li { position: relative; padding-left: 1.1rem; font-weight: 600; font-size: 0.97rem; }
.tpl-quality-docs .dx-fam__anchor-list li::before {
	content: ""; position: absolute; left: 0; top: 0.5em; width: 7px; height: 7px; border-radius: 50%;
	background: var(--dx-accent);
}
.tpl-quality-docs .dx-fam__stack { margin: var(--bx-sp-50) 0 0; display: grid; gap: var(--bx-sp-30); }
.tpl-quality-docs .dx-fam__sheet { padding: var(--bx-sp-40) var(--bx-sp-40) var(--bx-sp-40) 3.4rem; }
/* corner fold + ruled lines (light mode) */
.tpl-quality-docs .dx-fam__sheet::before {
	content: ""; position: absolute; top: 0; right: 0;
	border-style: solid; border-width: 0 16px 16px 0;
	border-color: transparent var(--bx-line) transparent transparent;
}
.tpl-quality-docs .dx-fam__sheet::after {
	content: ""; position: absolute; inset: auto 0 0 0; height: 24%; pointer-events: none;
	background: repeating-linear-gradient(0deg, var(--dx-bp) 0 1px, transparent 1px 9px);
}
.tpl-quality-docs .dx-fam__idx { position: absolute; left: 1.1rem; top: var(--bx-sp-40); }
.tpl-quality-docs .dx-fam__line { margin-top: 0.3rem; color: var(--bx-text-muted); font-size: 0.9rem; }
.tpl-quality-docs .dx-fam__items { margin: 0.9rem 0 0; display: grid; gap: 0.4rem; }
.tpl-quality-docs .dx-fam__items li { position: relative; padding-left: 1rem; color: var(--bx-text-2); font-size: 0.92rem; }
.tpl-quality-docs .dx-fam__items li::before {
	content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 2px;
	background: var(--dx-accent-dim);
}
/* kept documentation-awareness panel */
.tpl-quality-docs .dx-strip { margin-top: var(--bx-sp-50); padding: var(--bx-sp-50); display: grid; gap: var(--bx-sp-40); }
.tpl-quality-docs .dx-strip__body { margin-top: var(--bx-sp-20); color: var(--bx-text-2); max-width: 60ch; }
.tpl-quality-docs .dx-strip__chips { margin: 0; display: flex; flex-wrap: wrap; align-content: start; gap: 0.5rem; }
.tpl-quality-docs .dx-chip {
	display: inline-flex; align-items: center;
	padding: 0.4rem 0.85rem;
	border: 1px solid var(--bx-line); border-radius: var(--bx-radius-pill);
	font-family: var(--bx-font-mono); font-size: 0.76rem; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--bx-accent-strong); background: transparent;
}
.tpl-quality-docs .dx-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; margin-right: 0.5rem; background: var(--dx-accent); }

/* S5 · Checkpoints (bare glyphs on the grid, no icon boxes) */
.tpl-quality-docs .dx-check__row { margin: var(--bx-sp-50) 0 0; display: grid; gap: var(--bx-sp-40); }
.tpl-quality-docs .dx-check__item { display: grid; gap: 0.45rem; justify-items: start; align-content: start; padding-top: var(--bx-sp-30); border-top: 1px solid var(--bx-line); }
.tpl-quality-docs .dx-check__glyph { width: 52px; height: 52px; }
.tpl-quality-docs .dx-check__glyph svg { display: block; width: 100%; height: 100%; }
.tpl-quality-docs .dx-check__d { color: var(--bx-text-2); font-size: 0.9rem; }
.tpl-quality-docs .dx-check__scope { margin-top: var(--bx-sp-40); font-size: 0.95rem; }

/* S6 · Traceability ledger (HTML mono chain) */
.tpl-quality-docs .dx-ledger { margin-top: var(--bx-sp-50); padding: var(--bx-sp-40); }
.tpl-quality-docs .dx-ledger__chain { margin: 0; display: grid; gap: 0.7rem; }
.tpl-quality-docs .dx-ledger__cell { position: relative; display: grid; gap: 0.1rem; align-content: start; padding-left: 1.1rem; border-left: 2px solid var(--bx-line); }
.tpl-quality-docs .dx-ledger__cell::after { background: var(--dx-accent); }
.tpl-quality-docs .dx-ledger__v { font-family: var(--bx-font-mono); font-size: 0.82rem; color: var(--bx-text); }
.tpl-quality-docs .dx-ledger__sep { display: none; }
.tpl-quality-docs .dx-ledger__cap {
	margin-top: var(--bx-sp-30); padding-top: var(--bx-sp-20);
	border-top: 1px dashed var(--bx-line);
	font-family: var(--bx-font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--bx-text-muted);
}
.tpl-quality-docs .dx-mm { margin-top: var(--bx-sp-50); }
.tpl-quality-docs .dx-mm__list { margin: var(--bx-sp-30) 0 0; display: grid; gap: 0.5rem; }
.tpl-quality-docs .dx-mm__list li {
	padding: 0.7rem 0.9rem;
	border-left: 3px solid var(--bx-warning); border-bottom: 1px dashed var(--bx-line);
	border-radius: 0 var(--bx-radius) var(--bx-radius) 0;
	background: var(--bx-warning-bg);
	color: var(--bx-text-2); font-size: 0.92rem;
}
.tpl-quality-docs .dx-mm__res { margin-top: var(--bx-sp-30); color: var(--bx-text-2); max-width: 66ch; }
.tpl-quality-docs .dx-revd { margin-top: var(--bx-sp-50); }

/* S7 · Coordinates (two honest columns) */
.tpl-quality-docs .dx-scope__grid { margin-top: var(--bx-sp-50); display: grid; gap: var(--bx-sp-30); }
.tpl-quality-docs .dx-scope__col { padding: var(--bx-sp-40); }
.tpl-quality-docs .dx-scope__col--b::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--bx-line); }
.tpl-quality-docs .dx-scope__col--b .dx-kicker { color: var(--bx-text-muted); }
.tpl-quality-docs .dx-scope__list { margin: 0.9rem 0 0; display: grid; gap: 0.5rem; }
.tpl-quality-docs .dx-scope__list li { position: relative; padding-left: 1.2rem; color: var(--bx-text-2); font-size: 0.94rem; }
.tpl-quality-docs .dx-scope__col--a .dx-scope__list li::before {
	content: ""; position: absolute; left: 0.05rem; top: 0.42em;
	width: 0.42rem; height: 0.22rem;
	border-left: 2px solid var(--dx-accent); border-bottom: 2px solid var(--dx-accent);
	transform: rotate(-45deg);
}
.tpl-quality-docs .dx-scope__col--b .dx-scope__list li::before {
	content: ""; position: absolute; left: 0; top: 0.62em; width: 8px; height: 2px;
	background: var(--bx-text-muted);
}

/* S8 · FAQ (native details/summary; JS-free) */
.tpl-quality-docs .dx-faq__groups { margin-top: var(--bx-sp-50); display: grid; gap: var(--bx-sp-50); }
.tpl-quality-docs .dx-faq__gt { margin: 0 0 0.4rem; padding-bottom: 0.55rem; border-bottom: 1px solid var(--bx-line); }
.tpl-quality-docs .dx-faq__item { border-bottom: 1px solid var(--bx-line); }
.tpl-quality-docs .dx-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	min-height: 44px; padding: 0.7rem 0;
	cursor: pointer; list-style: none;
	font-weight: 600; color: var(--bx-text);
}
.tpl-quality-docs .dx-faq__q::-webkit-details-marker { display: none; }
.tpl-quality-docs .dx-faq__q::after {
	content: ""; flex: none; width: 0.55rem; height: 0.55rem; margin-right: 0.2rem;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--bx-dur-1);
}
.tpl-quality-docs .dx-faq__item[open] > .dx-faq__q::after { transform: rotate(-135deg); }
.tpl-quality-docs .dx-faq__a { padding: 0.1rem 0 1rem; color: var(--bx-text-2); font-size: 0.95rem; max-width: 66ch; }

/* S9 · RFQ checklist + closing CTA */
.tpl-quality-docs .dx-rfq__inner { display: grid; gap: var(--bx-sp-50); align-items: start; }
.tpl-quality-docs .dx-rfq__actions { margin-top: var(--bx-sp-40); display: flex; flex-wrap: wrap; align-items: center; gap: var(--bx-sp-30); }
.tpl-quality-docs .dx-rfq__list { margin: 0; display: grid; gap: 0.55rem; }
.tpl-quality-docs .dx-rfq__item {
	position: relative;
	padding: 0.7rem 0.9rem 0.7rem 2.15rem;
	background: var(--bx-surface); border: 1px solid var(--bx-line); border-radius: var(--bx-radius-lg);
	color: var(--bx-text-2); font-size: 0.92rem;
}
.tpl-quality-docs .dx-rfq__item::before {
	content: ""; position: absolute; left: 0.8rem; top: 0.95rem;
	width: 0.72rem; height: 0.72rem;
	border: 1px solid var(--dx-accent-dim); border-radius: 3px;
}
.tpl-quality-docs .dx-rfq__item::after {
	content: ""; position: absolute; left: 0.97rem; top: 1.12rem;
	width: 0.42rem; height: 0.22rem;
	border-left: 2px solid var(--dx-accent); border-bottom: 2px solid var(--dx-accent);
	transform: rotate(-45deg);
}

/* a11y chrome (page-scoped) */
.tpl-quality-docs .breadcrumbs a { display: inline-block; padding-block: 0.35rem; }
.site-main.tpl-quality-docs a:focus-visible,
.site-main.tpl-quality-docs button:focus-visible,
.site-main.tpl-quality-docs summary:focus-visible {
	outline: 2px solid transparent; outline-offset: 2px;
	box-shadow: var(--bx-focus);
}
@media (forced-colors: active) {
	.tpl-quality-docs :focus-visible { outline: 2px solid CanvasText; }
	.tpl-quality-docs .dx-path__step, .tpl-quality-docs .dx-ledger__cell { border-left-color: CanvasText; }
}
/* E-02 footer remedy (sheet loads on this page only) */
.page-template-template-quality-docs .site-footer__copy { color: var(--bx-text-muted); }

/* Desktop ≥861px */
@media (min-width: 861px) {
	.tpl-quality-docs .dx-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
	.tpl-quality-docs .dx-why__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-why__card:nth-child(2) { margin-top: var(--bx-sp-40); }
	.tpl-quality-docs .dx-why__card:nth-child(3) { margin-top: var(--bx-sp-60); }
	/* pathway → horizontal rail */
	.tpl-quality-docs .dx-path__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bx-sp-50); }
	.tpl-quality-docs .dx-path__step { border-left: 0; border-top: 2px solid var(--bx-line); padding: 0.95rem 0 0; }
	.tpl-quality-docs .dx-path__step::before { left: 0; top: -5px; }
	.tpl-quality-docs .dx-fam__anchor-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-fam__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-fam__sheet:nth-child(2) { margin-left: 1.4rem; }
	.tpl-quality-docs .dx-fam__sheet:nth-child(3) { margin-left: 2.8rem; }
	.tpl-quality-docs .dx-fam__sheet:nth-child(4) { margin-left: 4.2rem; }
	.tpl-quality-docs .dx-check__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	/* ledger → horizontal thread */
	.tpl-quality-docs .dx-ledger__chain { display: flex; flex-wrap: wrap; gap: 0.8rem 0; }
	.tpl-quality-docs .dx-ledger__cell { display: flex; align-items: center; gap: 0.8rem; padding: 0 0.9rem 0 0; border-left: 0; }
	.tpl-quality-docs .dx-ledger__cell::after { display: none; }
	.tpl-quality-docs .dx-ledger__sep { display: inline; color: var(--dx-accent); font-family: var(--bx-font-mono); }
	.tpl-quality-docs .dx-mm__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-scope__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-faq__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-rfq__inner { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}

@media (min-width: 880px) {
	.tpl-quality-docs .dx-strip { grid-template-columns: 1.5fr 1fr; align-items: center; }
}

@media (min-width: 1100px) {
	.tpl-quality-docs .dx-path__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tpl-quality-docs .dx-check__row { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* ≤860px: compact scene carries the hero */
@media (max-width: 860px) {
	.tpl-quality-docs .dx-scene--expanded { display: none; }
	.tpl-quality-docs .dx-scene--compact { display: block; }
	.tpl-quality-docs .dx-hero__grid { gap: var(--bx-sp-40); }
}

/* Reduced motion: everything resolves statically */
@media (prefers-reduced-motion: reduce) {
	.site-main.tpl-quality-docs .dx-armed { opacity: 1; transform: none; }
	.site-main.tpl-quality-docs .dx-in { transition: none; }
	.tpl-quality-docs .dx-path__step, .tpl-quality-docs .dx-path__step::before { transition: none; }
	.tpl-quality-docs .dx-faq__q::after { transition: none; }
	.tpl-quality-docs .dx-svg .cw-trace,
	.tpl-quality-docs .dx-svg .cw-settle,
	.tpl-quality-docs .dx-svg .dx-amb { animation: none !important; }
}

}
