/* ========================================================================== 
   Systems Place editorial composition layer
   Evidence Ledger + Systems Atlas release

   This file owns editorial rhythm and the ledger/atlas compositions. Shared
   palette, type, action, focus, and responsive contracts are owned by
   design-system.css, which is intentionally enqueued after this layer.
   ========================================================================== */

:root {
	--sp-ledger-paper: var(--sp-neutral-50, #f1f1f4);
	--sp-ledger-paper-deep: var(--sp-neutral-100, #e4e4e9);
	--sp-ledger-ink: var(--sp-nero, #1c1c1c);
	--sp-ledger-muted: var(--sp-neutral-600, #686876);
	--sp-ledger-line: var(--sp-neutral-200, #d0d1d7);
	--sp-ledger-line-dark: var(--sp-neutral-850, #3b3b4a);
	--sp-ledger-section: clamp(4.75rem, 8vw, 8.5rem);
	--sp-ledger-reading: 68ch;
}

html {
	scroll-padding-top: 6rem;
}

body {
	overflow-wrap: break-word;
}

.sp-skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 100000;
	margin: 0;
	transform: translateY(-180%);
}

.sp-skip-link:focus-within {
	transform: none;
}

.sp-skip-link a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: .65rem 1rem;
	border: 2px solid #fff;
	border-radius: 4px;
	background: #000;
	box-shadow: 0 0 0 2px #000;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

/* Header: one direct path through the site, with the primary action held apart. */
.sp-site-header {
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.sp-site-header__inner {
	min-height: 72px;
}

.sp-site-brand .wp-block-site-title a {
	height: 3.75rem;
	width: clamp(10.75rem, 16vw, 12.5rem);
}

.sp-site-header .wp-block-navigation__container {
	gap: clamp(.6rem, 1vw, 1.1rem);
}

.sp-site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	min-height: 44px;
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	font-size: clamp(.72rem, .72vw, .82rem);
	font-weight: 650;
	letter-spacing: .015em;
}

.sp-site-header .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content {
	padding-inline: 1rem;
	border-radius: 4px;
}

@media (min-width: 1181px) {
	.sp-site-header .wp-block-navigation__container > .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content::after {
		bottom: .25rem;
	}
}

/* Chapter rhythm. Every section reads like a distinct file, not a stack of cards. */
.sp-section,
.sp-section-tight {
	position: relative;
	isolation: isolate;
	overflow: clip;
}

.sp-section {
	padding-top: var(--sp-ledger-section);
	padding-bottom: var(--sp-ledger-section);
}

.sp-section-tight {
	padding-top: clamp(3.75rem, 6vw, 6rem);
	padding-bottom: clamp(3.75rem, 6vw, 6rem);
}

.sp-section-muted {
	background: var(--sp-ledger-paper);
}

.sp-section-dark {
	background: #050505;
}

.sp-section > .sp-section-copy,
.sp-section > .sp-live-section-copy,
.sp-section > .sp-page-lead {
	display: grid;
	grid-template-columns: minmax(8.5rem, .36fr) minmax(0, 1.64fr);
	column-gap: clamp(1.5rem, 5vw, 7rem);
	align-items: start;
	margin-bottom: clamp(2.25rem, 5vw, 4.75rem);
}

.sp-section-copy > .sp-eyebrow,
.sp-live-section-copy > .sp-eyebrow,
.sp-page-lead > .sp-eyebrow {
	grid-column: 1;
	grid-row: 1 / span 3;
	margin: .45rem 0 0;
}

.sp-section-copy > :not(.sp-eyebrow),
.sp-live-section-copy > :not(.sp-eyebrow),
.sp-page-lead > :not(.sp-eyebrow) {
	grid-column: 2;
}

.sp-section-copy h2,
.sp-live-section-copy h2,
.sp-page-lead h2 {
	max-width: 22ch;
	margin-top: 0;
	font-size: clamp(2rem, 4vw, 4.25rem);
	letter-spacing: -.04em;
	line-height: 1.03;
	text-wrap: balance;
}

.sp-section-copy > .has-large-font-size,
.sp-live-section-copy > .has-large-font-size,
.sp-page-lead > .has-large-font-size {
	max-width: var(--sp-ledger-reading);
	color: var(--wp--preset--color--neutral-700);
	font-size: clamp(1rem, 1.25vw, 1.2rem) !important;
	line-height: 1.7;
}

.sp-section-dark .sp-section-copy > .has-large-font-size,
.sp-section-dark .sp-live-section-copy > .has-large-font-size,
.sp-section-dark .sp-page-lead > .has-large-font-size {
	color: var(--wp--preset--color--neutral-300);
}

.sp-eyebrow {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: .55rem;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
}

.sp-eyebrow::before {
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	border: 1px solid currentColor;
	border-radius: 50%;
}

/* Semantic section patterns. */
.sp-pattern--evidence-grid::before,
.sp-pattern--routed-traces::before,
.sp-pattern--permission-mesh::before,
.sp-pattern--s-link-lattice::before,
.sp-pattern--audit-marks::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.sp-pattern--evidence-grid::before {
	background-image:
		linear-gradient(rgba(48, 48, 61, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(48, 48, 61, .045) 1px, transparent 1px);
	background-size: 38px 38px;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.sp-pattern--routed-traces::before {
	--sp-route-rail-inset: max(
		calc(
			var(--wp--style--root--padding-left, clamp(1rem, 3vw, 3rem))
			+ var(--sp-site-content-gutter, clamp(1.25rem, 4vw, 3rem))
		),
		calc((100% - var(--sp-site-content-width, 1440px)) / 2)
	);
	background-image:
		linear-gradient(rgba(104, 104, 118, .16), rgba(104, 104, 118, .16)),
		linear-gradient(rgba(104, 104, 118, .12), rgba(104, 104, 118, .12));
	background-position:
		var(--sp-route-rail-inset) 0,
		calc(100% - var(--sp-route-rail-inset)) 0;
	background-repeat: no-repeat;
	background-size: 1px 100%;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}

.sp-pattern--permission-mesh::before {
	background-image:
		radial-gradient(circle at 12% 48%, transparent 0 7rem, rgba(255, 255, 255, .08) calc(7rem + 1px) calc(7rem + 2px), transparent calc(7rem + 3px)),
		radial-gradient(circle at 90% 65%, transparent 0 12rem, rgba(255, 255, 255, .06) calc(12rem + 1px) calc(12rem + 2px), transparent calc(12rem + 3px));
}

.sp-section-muted.sp-pattern--permission-mesh::before,
.sp-section:not(.sp-section-dark).sp-pattern--permission-mesh::before {
	background-image:
		radial-gradient(circle at 12% 48%, transparent 0 7rem, rgba(48, 48, 61, .08) calc(7rem + 1px) calc(7rem + 2px), transparent calc(7rem + 3px)),
		radial-gradient(circle at 90% 65%, transparent 0 12rem, rgba(48, 48, 61, .06) calc(12rem + 1px) calc(12rem + 2px), transparent calc(12rem + 3px));
}

.sp-pattern--s-link-lattice::before {
	background: url("../images/systems-place-S-mark.svg") 0 0 / 108px auto repeat;
	filter: grayscale(1);
	opacity: .022;
}

.sp-pattern--audit-marks::before {
	inset: 1rem;
	border: 1px solid rgba(104, 104, 118, .22);
	background:
		linear-gradient(90deg, currentColor 0 22px, transparent 22px) left top / 96px 1px repeat-x,
		linear-gradient(currentColor 0 22px, transparent 22px) right top / 1px 96px repeat-y;
	color: rgba(104, 104, 118, .28);
}

.sp-section-dark.sp-pattern--audit-marks::before {
	border-color: rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .18);
}

/* Cards retain one grid role, while evidence files and diagrams carry the story. */
.sp-card-grid--engineered {
	gap: 1px;
	border: 1px solid var(--sp-ledger-line);
	border-radius: 0;
	background: var(--sp-ledger-line);
	box-shadow: none;
	overflow: hidden;
}

.sp-card-grid--engineered > .sp-card {
	min-width: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.sp-card-grid--engineered > .sp-card:hover {
	transform: none;
}

.sp-card {
	position: relative;
}

.sp-card .sp-icon-tile {
	display: none;
}

.sp-question-grid > .sp-card {
	min-height: 22rem;
	padding: clamp(1.6rem, 3vw, 3rem);
}

.sp-question-grid > .sp-card::before {
	content: "0" counter(sp-question);
	display: block;
	margin-bottom: auto;
	color: var(--sp-ledger-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
}

.sp-question-grid {
	counter-reset: sp-question;
}

.sp-question-grid > .sp-card {
	counter-increment: sp-question;
}

.sp-question-grid .sp-tag {
	order: 2;
	margin-top: 1rem;
	border: 0;
	background: transparent;
	color: var(--sp-ledger-muted);
	font-size: .62rem;
	line-height: 1.45;
	text-transform: none;
}

.sp-question-grid h3 {
	margin-top: 3rem;
	font-size: clamp(1.55rem, 2.4vw, 2.35rem) !important;
}

.sp-question-grid .sp-card__cta {
	margin-top: auto;
	padding-top: 2rem;
}

/* Evidence files: field labels down the left, answer content on the right. */
.sp-use-case-file .sp-fact,
.sp-fact.sp-insight-index {
	border: 1px solid var(--sp-ledger-line);
	border-radius: 0;
	background: #fff;
	box-shadow: 0 18px 50px rgba(28, 28, 28, .06);
}

.sp-section-dark.sp-use-case-file .sp-fact {
	border-color: var(--sp-ledger-line-dark);
	background: #0d0d0d;
	box-shadow: none;
}

.sp-fact__row {
	display: grid;
	grid-template-columns: minmax(10rem, .4fr) minmax(0, 1.6fr);
	gap: clamp(1rem, 4vw, 5rem);
	align-items: baseline;
	padding: clamp(1.25rem, 2.5vw, 2.1rem) clamp(1.4rem, 3.5vw, 3.5rem);
	border-top: 1px solid var(--sp-ledger-line);
}

.sp-fact__row:first-child {
	border-top: 0;
}

.sp-section-dark .sp-fact__row {
	border-color: var(--sp-ledger-line-dark);
}

.sp-fact__label {
	color: var(--sp-ledger-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.45;
	text-transform: uppercase;
}

.sp-fact__value {
	max-width: 76ch;
	font-size: clamp(.95rem, 1.2vw, 1.1rem);
	line-height: 1.65;
}

.sp-section-dark .sp-fact__value {
	color: #fff;
}

/* Retention and exit is intentionally presented as a light evidence ledger
   within a dark section. Keep its values legible on that light surface. */
.sp-section-dark.sp-retention-exit .sp-fact__value {
	color: var(--wp--preset--color--nero);
}

.sp-anchor-target {
	display: block;
	position: relative;
	top: -5.5rem;
	visibility: hidden;
}

/* Evidence receipt: the site's memorable proof object. */
.sp-receipt-layout {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(24rem, 1.18fr);
	gap: clamp(2.25rem, 7vw, 8rem);
	align-items: center;
}

.sp-receipt-layout > * {
	margin-block-start: 0;
}

.sp-acceptance-file .sp-receipt {
	transform: none;
}

.sp-case-checks .sp-receipt {
	transform: none;
}

.sp-receipt__points {
	max-width: 42rem;
}

.sp-receipt__points .sp-checklist {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-receipt__points .sp-checklist li {
	position: relative;
	margin: 0;
	padding: 1.2rem 0 1.2rem 2.2rem;
	border-top: 1px solid var(--sp-ledger-line);
	color: #3f3f4b;
	line-height: 1.6;
}

.sp-receipt__points .sp-checklist li:last-child {
	border-bottom: 1px solid var(--sp-ledger-line);
}

.sp-receipt__points .sp-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.5rem;
	height: .55rem;
	width: 1rem;
	border-left: 1.6px solid #111;
	border-bottom: 1.6px solid #111;
	transform: rotate(-45deg);
}

.sp-section-dark .sp-receipt__points .sp-checklist li {
	border-color: #4a4a55;
	color: var(--wp--preset--color--neutral-200);
}

.sp-section-dark .sp-receipt__points .sp-checklist li::before {
	border-color: #fff;
}

.sp-receipt {
	position: relative;
	overflow: hidden;
	border: 1px solid #c7c7c2;
	border-radius: 2px;
	background: #f5f5f1;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .34);
	color: #111;
	transform: rotate(.7deg);
}

.sp-receipt::after {
	content: "";
	position: absolute;
	top: -1px;
	right: -1px;
	border-top: 2.25rem solid #050505;
	border-left: 2.25rem solid #d0d1cc;
}

.sp-receipt__bar {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.4rem;
	border-bottom: 1px solid #c7c7c2;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sp-receipt__status {
	padding-right: 2.25rem;
}

.sp-receipt__row {
	display: grid;
	grid-template-columns: minmax(8.75rem, .62fr) minmax(0, 1.38fr);
	gap: 1.5rem;
	padding: 1.2rem 1.4rem;
	border-top: 1px solid #d8d8d4;
}

.sp-receipt__row:first-child {
	border-top: 0;
}

.sp-receipt__row--focus {
	background: #090909;
	color: #fff;
}

.sp-receipt__label {
	color: #686876;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sp-receipt__row--focus .sp-receipt__label {
	color: #bdbdc6;
}

.sp-receipt__value {
	color: #202029;
	font-size: .84rem;
	font-weight: 650;
	line-height: 1.5;
}

.sp-receipt__row--focus .sp-receipt__value {
	color: #fff;
}

.sp-receipt__foot {
	margin: 0;
	padding: 1rem 1.4rem 1.25rem;
	border-top: 1px solid #c7c7c2;
	color: #686876;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .61rem;
	line-height: 1.55;
}

.sp-governed-action-file .sp-receipt-layout {
	grid-template-columns: minmax(0, 1fr) minmax(29rem, .92fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.sp-governed-action-file .sp-receipt {
	transform: none;
}

/* Route and delivery diagrams. */
.sp-flow {
	display: grid;
	grid-template-columns: repeat(9, auto);
	gap: 0;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid var(--sp-ledger-line);
	border-radius: 0;
	background: #fff;
}

.sp-flow__node {
	display: flex;
	min-width: 0;
	min-height: 13rem;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: .65rem;
	padding: clamp(1rem, 2vw, 1.75rem);
	border: 0;
	border-radius: 0;
}

.sp-flow__node--focus {
	background: #050505;
	color: #fff;
}

.sp-flow__glyph {
	margin-bottom: auto;
}

.sp-flow__label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(.9rem, 1.2vw, 1.1rem);
	font-weight: 700;
	line-height: 1.25;
}

.sp-flow__meta {
	color: var(--sp-ledger-muted);
	font-size: .68rem;
	line-height: 1.5;
}

.sp-flow__node--focus .sp-flow__meta {
	color: var(--wp--preset--color--neutral-300);
}

.sp-flow--question-contract > *,
.sp-flow--delivery-5 > * {
	margin-block-start: 0;
}

.sp-flow--question-contract .sp-flow__arrow,
.sp-flow--delivery-5 .sp-flow__arrow {
	-webkit-mask: none;
	mask: none;
}

.sp-flow__arrow {
	position: relative;
	align-self: stretch;
	height: auto !important;
	min-width: 2rem;
	border-left: 1px solid var(--sp-ledger-line);
	border-right: 1px solid var(--sp-ledger-line);
	background: var(--sp-ledger-paper);
}

.sp-flow__arrow::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	height: .45rem;
	width: .45rem;
	border-right: 1.6px solid #30303d;
	border-bottom: 1.6px solid #30303d;
	transform: translate(-65%, -50%) rotate(-45deg);
}

.sp-section-dark .sp-flow {
	border-color: var(--sp-ledger-line-dark);
	background: #0d0d0d;
}

.sp-section-dark .sp-flow__arrow {
	border-color: var(--sp-ledger-line-dark);
	background: #1c1c1c;
}

.sp-section-dark .sp-flow__arrow::before {
	border-color: #fff;
}

.sp-section-dark .sp-flow__label {
	color: #fff;
}

.sp-section-dark .sp-flow__node--focus {
	background: var(--sp-ledger-paper);
	color: #111;
}

.sp-section-dark .sp-flow__node--focus .sp-flow__label {
	color: #111;
}

.sp-section-dark .sp-flow__node--focus .sp-flow__meta {
	color: #5f5f6d;
}

/* Each flow declares its own stage count. Compact icon-and-copy units use the
   full width without forcing five-stage diagrams through a three-stage grid. */
@media (min-width: 901px) {
	.sp-flow--delivery-3 {
		grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr) 42px minmax(0, 1fr);
	}

	.sp-flow--delivery-5,
	.sp-flow--question-contract {
		grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr) 34px minmax(0, 1fr);
	}

	.sp-flow--delivery-3 .sp-flow__node,
	.sp-flow--delivery-5 .sp-flow__node,
	.sp-flow--question-contract .sp-flow__node {
		display: grid;
		grid-template-columns: 38px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: clamp(12px, 1.4vw, 22px);
		row-gap: .5rem;
		align-content: center;
		min-height: 9.5rem;
		padding: clamp(1.15rem, 1.8vw, 1.8rem);
	}

	.sp-flow--delivery-3 .sp-flow__node {
		grid-template-columns: 42px minmax(0, 1fr);
		min-height: 10rem;
		padding: clamp(1.4rem, 2.5vw, 2.2rem);
	}

	.sp-flow--delivery-3 .sp-flow__glyph,
	.sp-flow--delivery-5 .sp-flow__glyph,
	.sp-flow--question-contract .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__label,
	.sp-flow--delivery-3 .sp-flow__meta,
	.sp-flow--delivery-5 .sp-flow__label,
	.sp-flow--delivery-5 .sp-flow__meta,
	.sp-flow--question-contract .sp-flow__label,
	.sp-flow--question-contract .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__arrow,
	.sp-flow--delivery-5 .sp-flow__arrow,
	.sp-flow--question-contract .sp-flow__arrow {
		min-width: 0;
	}

	/* The use-case checklist is a five-stage review, not a delivery rail.
	   Keep each icon, label, and definition as one vertical reading unit and
	   use a routed trace between stages instead of full-height divider bands. */
	.sp-flow--question-contract {
		counter-reset: sp-question-stage;
		grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr);
	}

	.sp-flow--question-contract .sp-flow__node {
		position: relative;
		counter-increment: sp-question-stage;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: 42px auto auto;
		align-content: center;
		justify-items: start;
		min-height: 11.5rem;
		padding: clamp(1.35rem, 2vw, 2rem);
		row-gap: .55rem;
	}

	.sp-flow--question-contract .sp-flow__node::after {
		content: "0" counter(sp-question-stage);
		position: absolute;
		top: clamp(1.35rem, 2vw, 2rem);
		right: clamp(1.35rem, 2vw, 2rem);
		color: var(--sp-ledger-muted);
		font-family: var(--wp--preset--font-family--mono);
		font-size: .64rem;
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 2.25rem;
	}

	.sp-flow--question-contract .sp-flow__node--focus::after {
		color: var(--wp--preset--color--neutral-300);
	}

	.sp-flow--question-contract .sp-flow__glyph {
		box-sizing: border-box;
		display: inline-flex;
		grid-column: 1;
		grid-row: 1;
		align-items: center;
		align-self: start;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem !important;
		margin: 0;
		border: 1px solid var(--sp-ledger-line);
		border-radius: 50%;
	}

	.sp-flow--question-contract .sp-flow__glyph::before {
		width: 1rem;
		height: 1rem;
	}

	.sp-flow--question-contract .sp-flow__node--focus .sp-flow__glyph {
		border-color: #666671;
		color: #fff;
	}

	.sp-flow--question-contract .sp-flow__label,
	.sp-flow--question-contract .sp-flow__meta {
		grid-column: 1;
		margin: 0;
	}

	.sp-flow--question-contract .sp-flow__label {
		grid-row: 2;
		max-width: 12ch;
		font-size: clamp(1rem, 1.15vw, 1.15rem);
	}

	.sp-flow--question-contract .sp-flow__meta {
		grid-row: 3;
		max-width: 24ch;
	}

	.sp-flow--question-contract .sp-flow__arrow {
		position: relative;
		border: 0;
		background: transparent;
	}

	.sp-flow--question-contract .sp-flow__arrow::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		border-top: 1px solid #b8b8c0;
	}

	.sp-flow--question-contract .sp-flow__arrow::before {
		z-index: 1;
		background: #fff;
		box-shadow: 0 0 0 4px #fff;
	}

	/* Five delivery gates use the same compact stage anatomy as the question
	   review, with a dark routed trace and the assessment as the light gate. */
	.sp-flow--delivery-5 {
		grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr) 30px minmax(0, 1fr);
	}

	.sp-flow--delivery-5 .sp-flow__node {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: 42px auto auto;
		align-content: center;
		justify-items: start;
		min-height: 11.25rem;
		padding: clamp(1.35rem, 2vw, 2rem);
		row-gap: .55rem;
	}

	.sp-flow--delivery-5 .sp-flow__glyph {
		box-sizing: border-box;
		display: inline-flex;
		grid-column: 1;
		grid-row: 1;
		align-items: center;
		align-self: start;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem !important;
		margin: 0;
		border: 1px solid #555560;
		border-radius: 50%;
	}

	.sp-flow--delivery-5 .sp-flow__glyph::before {
		width: 1rem;
		height: 1rem;
	}

	.sp-flow--delivery-5 .sp-flow__node--focus .sp-flow__glyph {
		border-color: #b8b8c0;
		color: #30303d;
	}

	.sp-flow--delivery-5 .sp-flow__label,
	.sp-flow--delivery-5 .sp-flow__meta {
		grid-column: 1;
		margin: 0;
	}

	.sp-flow--delivery-5 .sp-flow__label {
		grid-row: 2;
		max-width: 14ch;
		font-size: clamp(.98rem, 1.1vw, 1.12rem);
	}

	.sp-flow--delivery-5 .sp-flow__meta {
		grid-row: 3;
		max-width: 24ch;
	}

	.sp-flow--delivery-5 .sp-flow__arrow {
		position: relative;
		border: 0;
		background: transparent;
	}

	.sp-flow--delivery-5 .sp-flow__arrow::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		border-top: 1px solid #5f5f6b;
	}

	.sp-flow--delivery-5 .sp-flow__arrow::before {
		z-index: 1;
		background: #050505;
		box-shadow: 0 0 0 4px #050505;
	}
}

.sp-diagram__caption {
	max-width: 80ch;
	margin: 1.1rem auto 0;
	color: var(--sp-ledger-muted);
	font-size: .76rem;
	line-height: 1.6;
	text-align: center;
}

.sp-section-dark .sp-diagram__caption {
	color: var(--wp--preset--color--neutral-300);
}

/* The source-to-result system atlas. */
.sp-arch {
	border: 1px solid var(--sp-ledger-line-dark);
	background: #0b0b0b;
}

.sp-arch__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--sp-ledger-line-dark);
}

.sp-arch__row--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sp-arch__row--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sp-arch__row--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sp-arch__row--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.sp-arch__tile {
	display: flex;
	min-height: 8rem;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.35rem;
	background: #111;
}

.sp-arch__tile p {
	font-size: .78rem;
	font-weight: 650;
	line-height: 1.4;
}

.sp-arch__band {
	padding: clamp(2rem, 4vw, 4rem);
	border-top: 1px solid var(--sp-ledger-line-dark);
	border-bottom: 1px solid var(--sp-ledger-line-dark);
	background: #f2f2ee;
	color: #111;
}

.sp-arch__band-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.35rem, 2.7vw, 2.75rem);
	font-weight: 700;
	letter-spacing: -.03em;
}

.sp-arch__verbs {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.sp-arch__verbs li {
	margin: 0;
	padding: .55rem .75rem;
	border: 1px solid #8a8a94;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .04em;
}

/* The context atlas uses one consistent dark outer layer around the operated
   context band. This keeps sources and workflow destinations in the same
   visual system while the maintained layer remains the deliberate focus. */
.sp-context-atlas .sp-arch {
	gap: 1px;
	border-color: #454550;
	background: #454550;
}

.sp-context-atlas .sp-arch__row {
	gap: 1px;
	background: #454550;
}

.sp-context-atlas .sp-arch__tile,
.sp-context-atlas .sp-arch__row--out .sp-arch__tile {
	min-height: 7.25rem;
	padding: 1.35rem;
	border: 0;
	background: #121214;
	color: #fff;
}

.sp-context-atlas .sp-arch__tile p,
.sp-context-atlas .sp-arch__tile .sp-glyph,
.sp-context-atlas .sp-arch__row--out .sp-arch__tile p,
.sp-context-atlas .sp-arch__row--out .sp-arch__tile .sp-glyph {
	color: var(--wp--preset--color--neutral-200);
}

.sp-context-atlas .sp-arch__band {
	display: grid;
	grid-template-columns: minmax(15rem, .6fr) minmax(0, 1.4fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: center;
	padding: clamp(1.75rem, 3vw, 3rem);
	border: 0;
	background: #f2f2ee;
}

.sp-context-atlas .sp-arch__verbs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem;
	margin: 0;
}

.sp-context-atlas .sp-arch__verbs li {
	display: block;
	line-height: 1.45;
}

/* Assessment deliverables and review artifacts. */
.sp-stack {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .5fr);
	gap: 1px;
	border: 1px solid var(--sp-ledger-line);
	background: var(--sp-ledger-line);
}

.sp-stack__bands {
	display: grid;
	gap: 1px;
	background: var(--sp-ledger-line);
}

.sp-stack > .sp-stack__bands,
.sp-stack > .sp-stack__aside,
.sp-stack__bands > .sp-stack__band {
	margin-block-start: 0;
}

.sp-stack__band {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
	padding: 1.3rem 1.5rem;
	background: #fff;
}

.sp-stack__num {
	color: var(--sp-ledger-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
}

.sp-stack__band-label {
	color: #111;
	font-weight: 700;
}

.sp-stack__band-note {
	margin-top: .35rem;
	color: var(--sp-ledger-muted);
	font-size: .78rem;
	line-height: 1.55;
}

.sp-stack__band--focus {
	border-color: #050505;
	background: #050505;
	color: #fff;
}

.sp-stack__band--focus .sp-stack__band-label {
	color: #fff;
}

.sp-stack__band--focus .sp-stack__num,
.sp-stack__band--focus .sp-stack__band-note {
	color: var(--wp--preset--color--neutral-300);
}

.sp-stack__aside {
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: #050505;
	box-shadow: none;
	color: #fff;
}

.sp-stack__aside .sp-tag {
	border-color: #686876;
	color: #fff;
}

.sp-service-comparison .sp-stack {
	grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr);
	gap: 1px;
	align-items: stretch;
	border-color: #454550;
	background: #454550;
}

.sp-service-comparison .sp-stack__bands {
	gap: 1px;
	background: #454550;
}

.sp-service-comparison .sp-stack__band {
	min-height: 7.25rem;
	align-items: center;
	background: #f2f2ee;
}

.sp-service-comparison .sp-stack__band--focus {
	background: #050505;
}

.sp-service-comparison .sp-stack__aside {
	display: flex;
	justify-content: center;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: #121214;
}

.sp-service-comparison .sp-stack__aside .wp-block-list {
	color: var(--wp--preset--color--neutral-200);
	line-height: 1.55;
}

/* Founder experience is presented as a public proof record. Explicit dark
   tokens avoid light-page credential styles becoming black-on-black. */
.sp-founder-file .sp-bio {
	grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr);
	gap: clamp(2.5rem, 7vw, 7rem);
}

.sp-founder-file .sp-bio__name {
	color: #fff;
}

.sp-founder-file .sp-bio__role {
	color: var(--wp--preset--color--neutral-400);
}

.sp-founder-file .sp-bio__lead > p {
	color: var(--wp--preset--color--neutral-100);
	line-height: 1.65;
}

.sp-founder-file .sp-bio__lead > p:last-child {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid #454550;
	color: var(--wp--preset--color--neutral-400);
	font-size: .82rem;
}

.sp-founder-file .sp-bio__creds {
	gap: 0;
	border: 1px solid #454550;
	background: #0d0d0f;
}

.sp-founder-file .sp-cred {
	box-sizing: border-box;
	min-height: 4.75rem;
	align-items: center;
	margin: 0;
	padding: 1.15rem 1.25rem;
	border-color: #454550;
}

.sp-founder-file .sp-cred:last-child {
	padding-bottom: 1.15rem;
}

.sp-founder-file .sp-cred__glyph {
	color: var(--wp--preset--color--neutral-300);
}

.sp-founder-file .sp-cred p {
	color: var(--wp--preset--color--neutral-200);
}

/* Insight index and article reading surface. */
.sp-insight-index__item {
	grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.05fr) minmax(8rem, .35fr);
	align-items: center;
}

.sp-insight-index__item h3 {
	max-width: 32ch;
	font-size: clamp(1.15rem, 2vw, 1.75rem);
	line-height: 1.25;
}

.sp-insight-index__item .sp-card__cta {
	justify-self: end;
	white-space: nowrap;
}

.sp-page-main--index,
.sp-page-main--article {
	padding-top: clamp(3rem, 6vw, 6rem);
	padding-bottom: clamp(4rem, 8vw, 8rem);
}

.sp-page-main--index .sp-page-header,
.sp-page-main--article .sp-page-header {
	padding-bottom: clamp(2rem, 5vw, 4.5rem);
}

.sp-post-list {
	display: grid;
	gap: 1px;
	border: 1px solid var(--sp-ledger-line);
	background: var(--sp-ledger-line);
}

.sp-post-card {
	min-height: 18rem;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.single-post .wp-block-post-content,
.sp-page-main--article .wp-block-post-content {
	font-size: clamp(1rem, 1.1vw, 1.12rem);
	line-height: 1.78;
}

.single-post .wp-block-post-content > :where(p, ul, ol, h2, h3, blockquote),
.sp-page-main--article .wp-block-post-content > :where(p, ul, ol, h2, h3, blockquote) {
	max-width: 760px;
	margin-inline: auto;
}

.single-post .wp-block-post-content h2,
.sp-page-main--article .wp-block-post-content h2 {
	margin-top: 4rem;
	font-size: clamp(1.8rem, 3vw, 3rem);
	letter-spacing: -.035em;
	line-height: 1.1;
}

.single-post .wp-block-post-content h3,
.sp-page-main--article .wp-block-post-content h3 {
	margin-top: 2.75rem;
	font-size: clamp(1.3rem, 2vw, 1.85rem);
	line-height: 1.2;
}

.single-post .wp-block-post-content a,
.sp-page-main--article .wp-block-post-content a {
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
}

/* Compatibility remains a sheet, with a small-screen alternative to page overflow. */
.sp-compatibility-table {
	border-radius: 0;
	box-shadow: none;
}

/* Footer: information architecture first, brand claim held as a full column. */
.sp-footer {
	position: relative;
	overflow: hidden;
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: 2rem;
}

.sp-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: url("../images/systems-place-S-mark.svg") right -5rem bottom -10rem / min(44vw, 42rem) auto no-repeat;
	filter: invert(1) grayscale(1);
	opacity: .035;
}

.sp-footer__grid {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(17rem, 1.6fr) repeat(4, minmax(9rem, 1fr));
	gap: clamp(2rem, 4vw, 4.5rem);
}

.sp-footer__col--start {
	padding-right: clamp(0rem, 4vw, 4rem);
}

.sp-footer__col--start .wp-block-site-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3vw, 3rem);
	letter-spacing: -.04em;
}

.sp-footer__col--start > p {
	max-width: 34ch;
	color: var(--wp--preset--color--neutral-300);
	line-height: 1.6;
}

.sp-footer__col-title {
	margin-bottom: 1.25rem;
	color: var(--wp--preset--color--neutral-400);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
}

.sp-footer__links {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-footer__links li {
	margin: 0;
}

.sp-footer__links a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: #fff;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

.sp-footer__links a:hover {
	text-decoration: underline;
	text-underline-offset: .25em;
}

.sp-footer__col--start .sp-footer__links {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .65rem;
	max-width: 16rem;
	margin-top: 1.5rem;
}

.sp-footer__col--start .sp-footer__links li {
	display: flex;
	width: 100%;
}

.sp-footer__col--start .sp-footer__links a {
	box-sizing: border-box;
	justify-content: center;
	min-height: 48px;
	width: 100%;
	padding: .6rem 1rem;
	border: 1px solid #fff;
	font-size: .74rem;
	text-align: center;
}

.sp-footer__col--start .sp-footer__links li:first-child a {
	background: #fff;
	color: #000;
}

.sp-footer__col--start .sp-footer__links li:not(:first-child) a {
	background: transparent;
	color: #fff;
}

.sp-footer__meta {
	position: relative;
	padding-top: 1.25rem;
}

@media (max-width: 1180px) {
	.sp-site-header__inner {
		min-height: 68px;
	}

	.sp-footer__grid {
		grid-template-columns: minmax(17rem, 1.5fr) repeat(2, minmax(10rem, 1fr));
	}

	.sp-footer__col--start {
		grid-row: span 2;
	}
}

@media (max-width: 900px) {
	.sp-section > .sp-section-copy,
	.sp-section > .sp-live-section-copy,
	.sp-section > .sp-page-lead {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 1.25rem;
	}

	.sp-section-copy > .sp-eyebrow,
	.sp-live-section-copy > .sp-eyebrow,
	.sp-page-lead > .sp-eyebrow,
	.sp-section-copy > :not(.sp-eyebrow),
	.sp-live-section-copy > :not(.sp-eyebrow),
	.sp-page-lead > :not(.sp-eyebrow) {
		grid-column: 1;
		grid-row: auto;
	}

	.sp-receipt-layout,
	.sp-stack {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-receipt {
		transform: none;
	}

	.sp-flow {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-flow__node {
		min-height: 0;
		padding: 1.35rem;
	}

	.sp-flow__glyph {
		margin-bottom: 1.25rem;
	}

	.sp-flow--delivery-3 .sp-flow__node,
	.sp-flow--delivery-5 .sp-flow__node,
	.sp-flow--question-contract .sp-flow__node {
		display: grid;
		grid-template-columns: 38px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 1rem;
		row-gap: .45rem;
		align-content: center;
	}

	.sp-flow--delivery-3 .sp-flow__glyph,
	.sp-flow--delivery-5 .sp-flow__glyph,
	.sp-flow--question-contract .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__label,
	.sp-flow--delivery-3 .sp-flow__meta,
	.sp-flow--delivery-5 .sp-flow__label,
	.sp-flow--delivery-5 .sp-flow__meta,
	.sp-flow--question-contract .sp-flow__label,
	.sp-flow--question-contract .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow__arrow {
		min-height: 2.25rem;
		border: 0;
		border-top: 1px solid var(--sp-ledger-line);
		border-bottom: 1px solid var(--sp-ledger-line);
	}

	.sp-flow--delivery-3 .sp-flow__arrow,
	.sp-flow--delivery-5 .sp-flow__arrow,
	.sp-flow--question-contract .sp-flow__arrow {
		width: 100%;
	}

	.sp-flow__arrow::before {
		transform: translate(-50%, -65%) rotate(45deg);
	}

	.sp-flow--question-contract {
		counter-reset: sp-question-stage;
	}

	.sp-flow--question-contract .sp-flow__node {
		position: relative;
		counter-increment: sp-question-stage;
		box-sizing: border-box;
		grid-template-columns: 42px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 1rem;
		row-gap: .4rem;
		min-height: 7rem;
		padding: 1.15rem;
	}

	.sp-flow--question-contract .sp-flow__node::after {
		content: "0" counter(sp-question-stage);
		position: absolute;
		top: 1.15rem;
		right: 1.15rem;
		color: var(--sp-ledger-muted);
		font-family: var(--wp--preset--font-family--mono);
		font-size: .61rem;
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 2.25rem;
	}

	.sp-flow--question-contract .sp-flow__node--focus::after {
		color: var(--wp--preset--color--neutral-300);
	}

	.sp-flow--question-contract .sp-flow__glyph {
		box-sizing: border-box;
		display: inline-flex;
		grid-column: 1;
		grid-row: 1 / 3;
		align-items: center;
		align-self: start;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem !important;
		margin: 0;
		border: 1px solid var(--sp-ledger-line);
		border-radius: 50%;
	}

	.sp-flow--question-contract .sp-flow__glyph::before {
		width: 1rem;
		height: 1rem;
	}

	.sp-flow--question-contract .sp-flow__node--focus .sp-flow__glyph {
		border-color: #666671;
		color: #fff;
	}

	.sp-flow--question-contract .sp-flow__label,
	.sp-flow--question-contract .sp-flow__meta {
		grid-column: 2;
		margin: 0;
		padding-right: 2.25rem;
	}

	.sp-flow--question-contract .sp-flow__label {
		grid-row: 1;
	}

	.sp-flow--question-contract .sp-flow__meta {
		grid-row: 2;
	}

	.sp-flow--question-contract .sp-flow__arrow {
		position: relative;
		min-height: 2rem;
		border: 0;
		background: transparent;
		transform: none;
	}

	.sp-flow--question-contract .sp-flow__arrow::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: calc(1.15rem + 1.125rem);
		border-left: 1px solid #b8b8c0;
	}

	.sp-flow--question-contract .sp-flow__arrow::before {
		z-index: 1;
		left: calc(1.15rem + 1.125rem);
		background: #fff;
		box-shadow: 0 0 0 4px #fff;
	}

	.sp-flow--delivery-5 .sp-flow__node {
		box-sizing: border-box;
		grid-template-columns: 42px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 1rem;
		row-gap: .4rem;
		min-height: 7rem;
		padding: 1.15rem;
	}

	.sp-flow--delivery-5 .sp-flow__glyph {
		box-sizing: border-box;
		display: inline-flex;
		grid-column: 1;
		grid-row: 1 / 3;
		align-items: center;
		align-self: start;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem !important;
		margin: 0;
		border: 1px solid #555560;
		border-radius: 50%;
	}

	.sp-flow--delivery-5 .sp-flow__glyph::before {
		width: 1rem;
		height: 1rem;
	}

	.sp-flow--delivery-5 .sp-flow__node--focus .sp-flow__glyph {
		border-color: #b8b8c0;
		color: #30303d;
	}

	.sp-flow--delivery-5 .sp-flow__label,
	.sp-flow--delivery-5 .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow--delivery-5 .sp-flow__label {
		grid-row: 1;
	}

	.sp-flow--delivery-5 .sp-flow__meta {
		grid-row: 2;
	}

	.sp-flow--delivery-5 .sp-flow__arrow {
		position: relative;
		min-height: 2rem;
		border: 0;
		background: transparent;
		transform: none;
	}

	.sp-flow--delivery-5 .sp-flow__arrow::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: calc(1.15rem + 1.125rem);
		border-left: 1px solid #5f5f6b;
	}

	.sp-flow--delivery-5 .sp-flow__arrow::before {
		z-index: 1;
		left: calc(1.15rem + 1.125rem);
		background: #050505;
		box-shadow: 0 0 0 4px #050505;
	}

	.sp-governed-action-file .sp-receipt-layout,
	.sp-service-comparison .sp-stack,
	.sp-founder-file .sp-bio {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-context-atlas .sp-arch__band {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-context-atlas .sp-arch__row--out {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sp-arch__row,
	.sp-arch__row--cols-3,
	.sp-arch__row--cols-4,
	.sp-arch__row--cols-5,
	.sp-arch__row--cols-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-insight-index__item {
		grid-template-columns: minmax(0, 1fr);
		gap: .8rem;
	}

	.sp-insight-index__item .sp-card__cta {
		justify-self: start;
	}

	.sp-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-footer__col--start {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

@media (max-width: 600px) {
	:root {
		--sp-ledger-section: 4.25rem;
	}

	.sp-pattern--audit-marks::before {
		inset: .5rem;
	}

	.sp-fact__row,
	.sp-receipt__row {
		grid-template-columns: minmax(0, 1fr);
		gap: .65rem;
	}

	.sp-question-grid > .sp-card {
		min-height: 18rem;
	}

	.sp-arch__row,
	.sp-arch__row--cols-3,
	.sp-arch__row--cols-4,
	.sp-arch__row--cols-5,
	.sp-arch__row--cols-6 {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-context-atlas .sp-arch__row--out,
	.sp-context-atlas .sp-arch__verbs {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-context-atlas .sp-arch__tile,
	.sp-context-atlas .sp-arch__row--out .sp-arch__tile {
		min-height: 6rem;
		padding: 1.15rem;
	}

	.sp-arch__tile {
		min-height: 6.5rem;
	}

	.sp-stack__band {
		grid-template-columns: 2.5rem minmax(0, 1fr);
		padding-inline: 1rem;
	}

	.sp-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.sp-footer__col--start {
		grid-column: auto;
	}

}

/* --------------------------------------------------------------------------
 * Release flow refinements
 *
 * Delivery stages remain a directional rail. Assessment recommendations are
 * alternatives, so they render as a balanced option set rather than a false
 * five-step sequence. Both compositions keep each icon, label, and definition
 * as one compact reading unit and visually attach the explanatory note.
 * ------------------------------------------------------------------------ */

.sp-flow--delivery-3,
.sp-flow--recommendation-5,
.sp-section-dark .sp-flow--delivery-3 {
	overflow: visible;
	border: 0;
	background: transparent;
}

.sp-flow--delivery-5 .sp-flow__arrow {
	width: 100%;
}

.sp-flow--delivery-5 .sp-flow__arrow::after {
	border-width: 1.6px;
	border-color: var(--sp-ledger-line);
}

.sp-flow--delivery-5 .sp-flow__arrow::before {
	background: var(--wp--preset--color--base);
	box-shadow: 0 0 0 4px var(--wp--preset--color--base);
}

.sp-section-dark .sp-flow--delivery-5 .sp-flow__arrow::after {
	border-color: var(--sp-ledger-line-dark);
}

.sp-section-dark .sp-flow--delivery-5 .sp-flow__arrow::before {
	background: var(--wp--preset--color--contrast);
	box-shadow: 0 0 0 4px var(--wp--preset--color--contrast);
}

.sp-flow--delivery-3 > *,
.sp-flow--recommendation-5 > * {
	margin-block-start: 0;
}

.sp-flow--delivery-3 .sp-flow__node,
.sp-flow--recommendation-5 .sp-flow__node {
	box-sizing: border-box;
	border: 1px solid var(--sp-ledger-line);
}

.sp-section-dark .sp-flow--delivery-3 .sp-flow__node {
	border-color: var(--sp-ledger-line-dark);
}

.sp-section-dark .sp-flow--delivery-3 .sp-flow__node--focus {
	border-color: var(--sp-ledger-paper);
}

.sp-flow--delivery-3 .sp-flow__arrow {
	position: relative;
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	-webkit-mask: none;
	mask: none;
}

.sp-section-dark .sp-flow--delivery-3 .sp-flow__arrow {
	border: 0;
	background: transparent;
}

.sp-flow--delivery-3 .sp-flow__arrow::after {
	content: "";
	position: absolute;
	border-color: var(--sp-ledger-line-dark);
}

.sp-section-dark .sp-flow--delivery-3 .sp-flow__arrow::before {
	z-index: 1;
	border-color: var(--wp--preset--color--neutral-300);
	background: var(--wp--preset--color--contrast);
	box-shadow: 0 0 0 4px var(--wp--preset--color--contrast);
}

.sp-flow--recommendation-5 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .75rem;
}

.sp-flow--recommendation-5 .sp-flow__arrow {
	display: none;
}

.sp-flow--recommendation-5 .sp-flow__node {
	min-height: 0;
	justify-content: flex-start;
	gap: .5rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--base);
}

.sp-flow--recommendation-5 .sp-flow__node--focus {
	border-color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--contrast);
}

.sp-flow--recommendation-5 .sp-flow__glyph {
	width: 1.5rem;
	height: 1.5rem !important;
	margin: 0 0 .5rem;
}

.sp-flow--recommendation-5 .sp-flow__label,
.sp-flow--recommendation-5 .sp-flow__meta {
	max-width: none;
	margin: 0;
}

.sp-flow + .sp-diagram {
	margin-top: clamp(.75rem, 1.5vw, 1.25rem);
}

.sp-flow + .sp-diagram .sp-diagram__caption {
	margin-top: 0;
}

@media (min-width: 1181px) {
	.sp-flow--delivery-3 {
		grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) 40px minmax(0, 1fr);
	}

	.sp-flow--delivery-3 .sp-flow__node {
		display: grid;
		grid-template-columns: 34px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: clamp(.75rem, 1.2vw, 1.25rem);
		row-gap: .5rem;
		align-content: center;
		min-height: 8.5rem;
		padding: clamp(1.25rem, 2vw, 1.75rem);
	}

	.sp-flow--delivery-3 .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__label,
	.sp-flow--delivery-3 .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__arrow {
		min-width: 0;
	}

	.sp-flow--delivery-3 .sp-flow__arrow::after {
		left: 0;
		right: 0;
		top: 50%;
		border-top: 1.6px solid var(--sp-ledger-line-dark);
	}

	.sp-flow--delivery-3 .sp-flow__arrow::before {
		left: 50%;
		top: 50%;
		transform: translate(-65%, -50%) rotate(-45deg);
	}

	.sp-flow--recommendation-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: .75rem;
	}

	.sp-flow--recommendation-5 .sp-flow__node {
		min-height: 9rem;
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.sp-flow--delivery-3 {
		grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr);
	}

	.sp-flow--delivery-3 .sp-flow__node {
		display: grid;
		grid-template-columns: 30px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: .8rem;
		row-gap: .5rem;
		align-content: center;
		min-height: 8.25rem;
		padding: 1.25rem;
	}

	.sp-flow--delivery-3 .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__label,
	.sp-flow--delivery-3 .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__arrow::after {
		left: 0;
		right: 0;
		top: 50%;
		border-top: 1.6px solid var(--sp-ledger-line-dark);
	}

	.sp-flow--delivery-3 .sp-flow__arrow::before {
		left: 50%;
		top: 50%;
		transform: translate(-65%, -50%) rotate(-45deg);
	}

	.sp-flow--recommendation-5 {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: .75rem;
	}

	.sp-flow--recommendation-5 .sp-flow__node {
		grid-column: span 2;
		min-width: 0;
		min-height: 8rem;
	}

	.sp-flow--recommendation-5 .sp-flow__node:nth-child(7) {
		grid-column: 2 / span 2;
	}

	.sp-flow--recommendation-5 .sp-flow__node:nth-child(9) {
		grid-column: 4 / span 2;
	}
}

@media (min-width: 601px) and (max-width: 900px) {
	.sp-flow--recommendation-5 {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: 1fr;
	}

	.sp-flow--recommendation-5 .sp-flow__node {
		grid-column: span 2;
		min-width: 0;
		min-height: 7.5rem;
	}

	.sp-flow--recommendation-5 .sp-flow__node:nth-child(9) {
		grid-column: 2 / span 2;
	}
}

@media (max-width: 900px) {
	.sp-flow--delivery-3 {
		gap: 0;
	}

	.sp-flow--delivery-3 .sp-flow__node {
		display: grid;
		grid-template-columns: 36px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 1rem;
		row-gap: .5rem;
		align-content: center;
		min-height: 0;
		padding: 1.25rem;
	}

	.sp-flow--delivery-3 .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__label,
	.sp-flow--delivery-3 .sp-flow__meta {
		grid-column: 2;
		margin: 0;
	}

	.sp-flow--delivery-3 .sp-flow__arrow {
		width: 100%;
		min-height: 2.5rem;
		transform: none;
	}

	.sp-flow--delivery-3 .sp-flow__arrow::after {
		top: 0;
		bottom: 0;
		left: 50%;
		border-left: 1.6px solid var(--sp-ledger-line-dark);
	}

	.sp-flow--delivery-3 .sp-flow__arrow::before {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -65%) rotate(45deg);
	}
}

@media (max-width: 600px) {
	.sp-flow--recommendation-5 .sp-flow__node {
		display: grid;
		grid-template-columns: 32px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: .9rem;
		row-gap: .5rem;
		align-content: center;
		padding: 1.25rem;
	}

	.sp-flow--recommendation-5 .sp-flow__glyph {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
		margin: 0;
	}

	.sp-flow--recommendation-5 .sp-flow__label,
	.sp-flow--recommendation-5 .sp-flow__meta {
		grid-column: 2;
	}
}

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

	.sp-skip-link,
	.sp-card,
	.wp-block-button__link {
		transition: none !important;
	}
}

@media print {
	.sp-site-header,
	.sp-footer,
	.sp-cta-section,
	.wp-block-buttons {
		display: none !important;
	}

	.sp-section,
	.sp-section-tight {
		overflow: visible;
		padding-block: 1.5rem;
	}

	.sp-pattern--evidence-grid::before,
	.sp-pattern--routed-traces::before,
	.sp-pattern--permission-mesh::before,
	.sp-pattern--s-link-lattice::before,
	.sp-pattern--audit-marks::before {
		display: none;
	}
}
