/* Light-only public design tokens and layouts. The HTML remains the source of
   all authored stories; visual changes never alter the selection contract. */
:root {
	color-scheme: light;
	--paper: #fbfaf7;
	--surface: #fff;
	--surface-muted: #f4f2ed;
	--ink: #292923;
	--ink-soft: #686960;
	--ink-faint: #787a70;
	--line: #e2e2d9;
	--accent: #292923;
	--accent-hover: #484942;
	--accent-wash: #efefe9;
	--accent-line: #d9dbd0;
	--sage: #677861;
	--bg: var(--paper);
	--fg: var(--ink);
	--fg2: var(--ink-soft);
	--fg3: var(--ink-faint);
	--rule: var(--line);
	--shell-max: 1440px;
	--shell-pad: clamp(20px, 6vw, 88px);
	--l-nav-h: 80px;
	--s1: 4px;
	--s2: 8px;
	--s3: 12px;
	--s4: 16px;
	--s5: 20px;
	--s6: 24px;
	--s8: 32px;
	--s10: 40px;
	--s12: 48px;
	--s16: 64px;
	--s20: 80px;
	--s24: 96px;
	--section-space: clamp(72px, 8vw, 120px);
	--layout-gap: clamp(32px, 5vw, 80px);
	--panel-pad: clamp(20px, 3vw, 40px);
	--hero-size: clamp(2.55rem, 5.1vw, 4.65rem);
	--heading-size: clamp(2rem, 3.6vw, 3.3rem);
	--case-size: clamp(1.35rem, 2vw, 1.8rem);
	--body-size: 16px;
	--small-size: 14px;
	--label-size: 11px;
	--reading: 660px;
	--radius: 6px;
	--shadow: 0 18px 64px -32px #30342335, 0 2px 10px #30342306;
	--shadow-raised: 0 24px 70px -28px #30342335;
	--duration: 180ms;
	--art-ground: #eef1ed;
	--art-grid: #d5ddd580;
	--verified: #4b6657;
	--verified-wash: #edf3ec;
}
html:has(body.purpose) {
	scroll-snap-type: none;
	overflow-x: visible;
	scroll-padding-top: var(--l-nav-h);
}
body.purpose {
	background: var(--paper);
	color: var(--ink);
	overflow-x: visible;
}
.purpose #wrapper {
	padding: 0;
}
.purpose #main {
	animation: none;
}
.purpose #wrapper::before {
	display: none;
}
.purpose .l-section {
	min-height: 0;
	display: block;
	scroll-snap-align: none;
	border: 0;
}
.purpose .l-shell {
	padding-block: var(--section-space);
}
.purpose .l-nav {
	background: var(--paper);
	border-bottom: 1px solid var(--line);
}
.purpose .l-nav-inner {
	height: var(--l-nav-h);
	padding-inline: var(--shell-pad);
}
.purpose .l-wordmark {
	color: var(--ink);
	gap: var(--s2);
	font-size: 24px;
	letter-spacing: -0.045em;
}
.purpose .l-mark {
	width: 22px;
	height: 22px;
	color: var(--accent);
}
.purpose .l-nav-links {
	gap: var(--s8);
}
.purpose .l-nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--small-size);
}
.purpose .l-nav-cta {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: var(--s3) var(--s4);
	color: var(--ink);
	font-size: var(--small-size);
}
.purpose .l-nav-cta:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.purpose :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-sans);
	font-weight: 400;
}
.purpose h1 {
	font-size: var(--hero-size);
	line-height: 1.04;
	letter-spacing: -0.045em;
	text-wrap: balance;
	margin: var(--s6) 0 var(--s8);
	max-width: 11.7em;
}
.purpose h1 span {
	color: var(--ink-soft);
}
.purpose h2 {
	font-size: var(--heading-size);
	line-height: 1.1;
	letter-spacing: -0.045em;
	margin: var(--s5) 0 var(--s6);
	text-wrap: balance;
}
.purpose h2 span {
	color: var(--ink-soft);
}
.purpose p,
.purpose li {
	font-family: var(--font-sans);
	font-size: var(--body-size);
	line-height: 1.65;
}
.purpose p {
	margin: 0 0 var(--s6);
}
.purpose p:last-child {
	margin-bottom: 0;
}
.purpose .l-label {
	font: 400 var(--label-size)/1.5 var(--font-mono);
	letter-spacing: 0.1em;
	color: var(--ink-soft);
	margin: 0;
}
.purpose .l-cta {
	min-height: 48px;
	padding: var(--s3) var(--s5);
	background: var(--accent);
	border: 1px solid var(--accent);
	border-radius: var(--radius);
	color: var(--surface) !important;
	font: 500 var(--small-size)/1.5 var(--font-sans);
	gap: var(--s6);
	transition:
		background var(--duration),
		transform var(--duration);
}
.purpose .l-cta:hover {
	background: var(--accent-hover);
	transform: translateY(-1px);
}
.purpose .l-cta-wrap {
	gap: var(--s6);
	margin-top: var(--s8);
}
.purpose .l-cta-ghost {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: var(--s3);
	color: var(--ink);
	font: 400 var(--small-size)/1.5 var(--font-sans);
	border: 0;
	text-decoration: none;
}
.purpose .l-cta-ghost:hover {
	color: var(--accent);
}
.purpose .l-cta-ghost::after {
	display: none;
}
.purpose :is(a, button, summary):focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 4px;
}

.status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	flex: 0 0 auto;
}

.section-intro {
	max-width: var(--reading);
	margin-bottom: var(--s12);
}
.section-intro > p:last-child {
	max-width: 520px;
	color: var(--ink-soft);
}

#work .section-intro h2 {
	margin-bottom: 0;
}

.case-heading > .l-label {
	display: none;
}
.case-heading h3 {
	margin: 0 0 var(--s2);
	font: 500 18px/1.4 var(--font-sans);
	letter-spacing: -0.02em;
}
.case-heading [data-case-issue] {
	color: var(--ink-soft);
	font-size: var(--small-size);
	margin-bottom: var(--s2);
}
.workspace .example-input {
	border: 0;
	background: transparent;
	margin-top: var(--s6);
	margin-bottom: 0;
	border-top: 1px solid var(--line);
	border-radius: 0;
	padding-top: var(--s2);
	font-size: 12px;
	color: var(--ink-faint);
	line-height: 1.5;
	max-width: 58ch;
}
.stage-list {
	display: flex;
	gap: var(--s4);
	border-bottom: 1px solid var(--line);
	margin: var(--s6) 0 var(--s8);
}
.stage-list button {
	background: transparent;
	color: var(--ink-soft);
	border: 0;
	border-bottom: 2px solid transparent;
	min-height: 44px;
	padding: var(--s2) var(--s1);
	font: 400 13px/1.4 var(--font-sans);
	cursor: pointer;
}
.stage-list button:hover {
	color: var(--accent);
}
.stage-list button[aria-pressed="true"] {
	color: var(--accent);
	border-bottom-color: var(--accent);
}
.workspace [data-stage] {
	padding-block: var(--s8);
	border-top: 1px solid var(--line);
}
.workspace.is-enhanced [data-stage] {
	border: 0;
	padding: 0;
}
.workspace.is-enhanced [data-stage-title] {
	position: absolute;
	width: 1px;
	height: 1px;
	clip-path: inset(50%);
	overflow: hidden;
}
.workspace .snapshot-label {
	font: 400 var(--label-size)/1.5 var(--font-mono);
	color: var(--ink-faint);
	margin: 0 0 var(--s3);
}
.stage-result {
	font: 400 var(--case-size)/1.2 var(--font-sans);
	letter-spacing: -0.035em;
	margin: 0 0 var(--s3);
	text-wrap: balance;
}
.workspace .result-copy {
	font-size: var(--small-size);
	color: var(--ink-soft);
	max-width: 64ch;
}
.workspace details {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	margin-block: var(--s6);
	background: var(--paper);
}
.workspace summary {
	min-height: 44px;
	padding: var(--s3) var(--s4);
	font-size: 13px;
	cursor: pointer;
}
.workspace summary:hover {
	color: var(--accent);
}
.evidence-record {
	font-size: 13px;
	margin: 0;
	padding: 0 var(--s4) var(--s3);
}
.evidence-record > div {
	display: grid;
	grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1.3fr);
	gap: var(--s3);
	padding-block: var(--s3);
	border-top: 1px solid var(--line);
}
.evidence-record dt {
	color: var(--ink-soft);
}
.evidence-record dd {
	margin: 0;
}
.stage-followup {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s6);
}
.workspace h6 {
	font: 500 12px/1.5 var(--font-sans);
	margin: 0 0 var(--s2);
}
.stage-followup p,
.business-progress p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--ink-soft);
}
.business-progress {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: var(--s4);
	margin-top: var(--s6);
	padding-top: var(--s4);
	border-top: 1px solid var(--line);
}
.business-progress h6 {
	color: var(--sage);
}
.narrative-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--layout-gap);
	align-items: center;
}
.narrative-grid > * {
	min-width: 0;
}
.narrative-grid > div > p:not(.l-label) {
	color: var(--ink-soft);
	max-width: 52ch;
}
#how {
	border-top: 1px solid var(--line);
}
.judgment-list {
	list-style: none;
	padding-left: 0;
	margin-top: var(--s8);
}
.judgment-list li {
	padding-left: 0;
	margin-bottom: var(--s5);
}
.judgment-list h3 {
	font: 500 var(--small-size)/1.4 var(--font-sans);
	margin: 0 0 var(--s1);
}
.judgment-list p {
	font-size: var(--small-size);
	line-height: 1.6;
	color: var(--ink-soft);
	margin-bottom: var(--s2);
}
.judgment-list a {
	font-size: var(--small-size);
}
.judgment-visual {
	position: relative;
	padding: var(--s16) var(--s3) var(--s8);
}
.document-ghost {
	position: absolute;
	width: 75%;
	height: 240px;
	top: 0;
	right: var(--s6);
	padding: var(--s6);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	transform: rotate(5deg);
	color: var(--ink-faint);
	font: 400 var(--label-size)/1.5 var(--font-mono);
}
.document-ghost i {
	display: block;
	width: 85%;
	height: 1px;
	background: var(--line);
	margin-top: var(--s4);
}
.document-ghost i:nth-child(3) {
	width: 60%;
}
.question-specimen {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-raised);
}
.specimen-topline {
	display: flex;
	gap: var(--s2);
	align-items: center;
	padding: var(--s4) var(--s5);
	border-bottom: 1px solid var(--line);
	font: 400 12px/1.5 var(--font-sans);
}
.specimen-topline > span:last-child {
	margin-left: auto;
	color: var(--ink-faint);
	font-family: var(--font-mono);
}
.specimen-body {
	padding: var(--s8);
}
.specimen-body h3 {
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: -0.04em;
	margin: var(--s4) 0;
}
.specimen-body p {
	font-size: var(--small-size);
	color: var(--ink-soft);
}
.source-lines {
	border-block: 1px solid var(--line);
	margin-block: var(--s6);
}
.source-lines > div {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: var(--s1) var(--s2);
	padding: var(--s3) 0;
	font: 400 12px/1.5 var(--font-sans);
}
.source-lines > div + div {
	border-top: 1px solid var(--line);
}
.source-lines strong {
	font-weight: 500;
}
.source-lines > div > span:last-child {
	grid-column: 2;
	color: var(--ink-faint);
}
.source-lines > div > span:first-child {
	grid-row: span 2;
	color: var(--accent);
	font-family: var(--font-mono);
}
.specimen-link {
	display: flex;
	justify-content: space-between;
	gap: var(--s4);
	font: 400 13px/1.5 var(--font-sans);
	color: var(--accent);
}
.specimen-footnote {
	padding: var(--s3) var(--s5);
	border-top: 1px solid var(--line);
	background: var(--paper);
	color: var(--ink-faint);
	font: 400 var(--label-size)/1.5 var(--font-mono);
}
#memory {
	background: var(--surface-muted);
	border-block: 1px solid var(--line);
}
#memory .section-intro {
	text-align: center;
	margin-inline: auto;
}
#memory .section-intro > p:last-child {
	margin-inline: auto;
}
.improvement-path {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: var(--s16) 0 var(--s12);
}
.improvement-path li {
	position: relative;
	padding: 0 var(--s5);
	border-top: 1px solid var(--ink-faint);
}
.improvement-path li::before {
	content: "↗" / "";
	position: relative;
	top: -21px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--accent);
	font: 400 12px/1 var(--font-mono);
}
.improvement-path li:first-child::before {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--surface);
}
.improvement-path h3 {
	font: 500 var(--small-size)/1.4 var(--font-sans);
	margin: 0 0 var(--s2);
}
.improvement-path p {
	font-size: 13px;
	color: var(--ink-soft);
	line-height: 1.6;
}
.improvement-summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--layout-gap);
	border-top: 1px solid var(--line);
	padding-top: var(--s8);
}
.improvement-summary p {
	font-size: var(--small-size);
	color: var(--ink-soft);
	margin: 0;
}
.improvement-summary .boundary-note {
	font-size: 12px;
}
.infrastructure-visual {
	padding: var(--s12) var(--s6);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}
.worker-nodes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--s4);
}
.worker-nodes > span {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: var(--s4) var(--s2);
	text-align: center;
	font: 400 13px/1.5 var(--font-sans);
}
.worker-nodes > span:last-child {
	border-style: dashed;
	color: var(--ink-faint);
}
.foundation-connectors {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: var(--s12);
}
.foundation-connectors i {
	width: 1px;
	background: var(--line);
	margin-inline: auto;
}
.foundation {
	padding: var(--s6);
	background: var(--accent-wash);
	border: 1px solid var(--accent-line);
	border-radius: var(--radius);
	text-align: center;
}
.foundation svg {
	display: block;
	width: 32px;
	height: 32px;
	color: var(--accent);
	margin: 0 auto var(--s3);
}
.foundation > span {
	font: 500 var(--body-size)/1.5 var(--font-sans);
}
.foundation > div {
	display: flex;
	justify-content: center;
	gap: var(--s4);
	margin-top: var(--s4);
	color: var(--ink-soft);
	font: 400 12px/1.5 var(--font-mono);
}
.foundation > div > span {
	padding-inline: var(--s4);
	border-inline: 1px solid var(--accent-line);
}
.purpose .visual-caption {
	font: 400 var(--label-size)/1.6 var(--font-mono);
	color: var(--ink-faint);
	text-align: center;
	margin: var(--s6) 0 0;
}
#talk {
	border-top: 1px solid var(--line);
	background: var(--surface-muted);
}
#talk h2 {
	font-size: var(--hero-size);
}
.founder {
	border-left: 1px solid var(--line);
	padding-left: var(--layout-gap);
}
.founder > p:first-child {
	font: 400 22px/1.5 var(--font-serif);
	color: var(--ink-soft);
}
.founder .l-byline p {
	margin: 0;
	font-size: var(--small-size);
}
.founder .l-byline a {
	font: 400 12px/1.5 var(--font-sans);
	color: var(--ink-soft);
}
.founder .development-note {
	margin-top: var(--s6);
	font-size: 12px;
	color: var(--ink-faint);
}
.purpose-footer {
	display: flex;
	justify-content: space-between;
	gap: var(--layout-gap);
	padding: var(--s12) var(--shell-pad);
	margin: 0 auto;
	max-width: var(--shell-max);
	width: 100%;
	font-family: var(--font-sans);
	border-top: 1px solid var(--line);
}
.purpose-footer .footer-brand {
	font: 500 24px/1.5 var(--font-sans);
	letter-spacing: -0.045em;
	color: var(--ink);
}
.purpose-footer p {
	max-width: 32ch;
	font-size: 13px;
	margin-block: var(--s3);
	color: var(--ink-soft);
}
.purpose-footer small {
	color: var(--ink-faint);
	font-size: var(--label-size);
}
.purpose-footer nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s2) var(--s10);
}
.purpose-footer nav a {
	min-height: 36px;
	font-size: 13px;
	color: var(--ink-soft);
}
.purpose-footer a:hover {
	color: var(--accent);
}
.thesis-article {
	max-width: calc(var(--reading) + 2 * var(--panel-pad));
	padding: calc(var(--l-nav-h) + var(--s20)) var(--panel-pad) var(--s24);
	margin: 0 auto;
}
.thesis-article h1 {
	font-size: var(--heading-size);
	max-width: none;
}
.thesis-article h2 {
	font-size: var(--case-size);
	margin-top: var(--s12);
}
.thesis-article .thesis-lede {
	font-size: 20px;
	line-height: 1.6;
	color: var(--ink-soft);
}
.thesis-article p {
	color: var(--ink-soft);
}
.thesis-article li {
	margin: var(--s3) 0;
}
.thesis-article ol {
	padding-left: var(--s6);
}
.thesis-article p a {
	color: var(--accent);
	text-decoration: underline;
}
.thesis-observations {
	margin-block: var(--s8);
	border-top: 1px solid var(--line);
}
.thesis-observations > div {
	border-bottom: 1px solid var(--line);
	padding-block: var(--s4);
}
.thesis-observations h3 {
	font: 500 var(--body-size)/1.5 var(--font-sans);
}
.anchor-alias {
	display: block;
	scroll-margin-top: var(--l-nav-h);
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}
.skip-link {
	position: fixed;
	top: -100px;
	left: var(--s3);
	z-index: 100;
	padding: var(--s3);
	background: var(--surface);
}
.skip-link:focus {
	top: var(--s3);
}
.purpose [hidden] {
	display: none !important;
}
@media (max-width: 899px) {
	:root {
		--l-nav-h: 72px;
		--hero-size: clamp(2.7rem, 6.7vw, 4rem);
	}
	.purpose h1 {
		max-width: 11em;
	}

	.narrative-grid {
		gap: var(--s8);
	}
	.specimen-body {
		padding: var(--s5);
	}
	.specimen-topline {
		flex-wrap: wrap;
	}
	.improvement-path li {
		padding-inline: var(--s3);
	}
}
@media (max-width: 599px) {
	:root {
		--l-nav-h: 68px;
		--hero-size: clamp(2.3rem, 9.6vw, 3.1rem);
		--heading-size: 2rem;
		--section-space: 64px;
	}
	.purpose .l-nav-inner {
		gap: var(--s3);
	}
	.purpose .l-wordmark {
		font-size: 21px;
	}
	.purpose .l-nav-links {
		gap: var(--s3);
	}
	.purpose .l-nav-links a {
		font-size: 12px;
	}
	.purpose .nav-work,
	.purpose .l-nav-cta .arrow {
		display: none;
	}
	.purpose .l-nav-cta {
		padding: var(--s2);
		min-height: 44px;
	}

	.purpose h1 {
		max-width: 12em;
		margin-block: var(--s5) var(--s6);
	}

	.purpose .l-cta-wrap {
		gap: var(--s4);
		margin-top: var(--s6);
		flex-wrap: wrap;
	}
	.purpose .l-cta {
		font-size: 12px;
		padding-inline: var(--s4);
		gap: var(--s3);
	}
	.purpose .l-cta-ghost {
		font-size: 12px;
	}

	#work .section-intro,
	.narrative-grid,
	.improvement-summary {
		grid-template-columns: 1fr;
	}

	.section-intro {
		margin-bottom: var(--s8);
	}

	.stage-list {
		gap: var(--s2);
		margin-block: var(--s4) var(--s6);
		flex-wrap: wrap;
	}
	.stage-list button {
		font-size: 13px;
		padding-inline: 0;
	}
	.stage-result {
		font-size: 23px;
	}
	.stage-followup {
		grid-template-columns: 1fr;
		gap: var(--s4);
	}
	.business-progress {
		grid-template-columns: 1fr;
		gap: var(--s1);
	}
	.evidence-record > div {
		grid-template-columns: 1fr;
		gap: var(--s1);
		overflow-wrap: anywhere;
	}
	.judgment-visual {
		padding-top: var(--s12);
	}
	.specimen-topline {
		font-size: 11px;
		padding: var(--s3);
	}
	.specimen-body h3 {
		font-size: 28px;
	}
	.improvement-path {
		grid-template-columns: 1fr;
		margin-block: var(--s10);
	}
	.improvement-path li {
		border-top: 0;
		border-left: 1px solid var(--line);
		margin-left: var(--s5);
		padding: 0 0 var(--s8) var(--s10);
	}
	.improvement-path li:last-child {
		padding-bottom: 0;
		border-left-color: transparent;
	}
	.improvement-path li::before {
		position: absolute;
		top: 0;
		left: -21px;
	}
	.improvement-summary {
		gap: var(--s5);
	}
	.infrastructure-visual {
		padding: var(--s8) var(--s4);
		order: 2;
	}
	.worker-nodes {
		gap: var(--s2);
	}
	.worker-nodes > span {
		font-size: 11px;
	}
	.foundation > div {
		gap: var(--s2);
	}
	.foundation > div > span {
		padding-inline: var(--s2);
	}
	.founder {
		border-left: 0;
		border-top: 1px solid var(--line);
		padding: var(--s8) 0 0;
	}
	.founder > p:first-child {
		font-size: 20px;
	}
	.purpose-footer {
		flex-direction: column;
		gap: var(--s8);
		padding-block: var(--s10);
	}
	.purpose-footer nav {
		gap: var(--s2) var(--s4);
	}
	.thesis-article {
		padding-top: calc(var(--l-nav-h) + var(--s12));
	}
}
@media (max-width: 359px) {
	.stage-list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.purpose-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-top: var(--l-nav-h);
	background: var(--paper);
	text-align: center;
}
.hero-art {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
}
.purpose-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, #fbfaf788, #fbfaf700 70%);
}
.purpose .purpose-hero .l-shell {
	padding-block: clamp(80px, 8vw, 120px) 220px;
}
.purpose .purpose-hero h1 {
	max-width: 970px;
	margin: var(--s6) auto var(--s8);
	font-size: clamp(2.5rem, 5.7vw, 5.15rem);
	line-height: 1.05;
}
.purpose .purpose-hero h1 span {
	color: var(--ink);
}
.hero-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--s2);
}
.hero-copy {
	max-width: 570px;
	margin-inline: auto;
}
.hero-copy p {
	font-size: 17px;
	color: var(--ink);
	line-height: 1.65;
}
.purpose-hero .l-cta-wrap {
	justify-content: center;
}

#work .l-shell {
	padding-block: var(--s20);
}
#work .section-intro h2 {
	margin-bottom: var(--s4);
}
#work .section-intro {
	display: block;
	text-align: center;
	max-width: 700px;
	margin: 0 auto var(--s8);
}
#work .section-intro p {
	max-width: none;
}
.workspace {
	font-family: var(--font-sans);
}
.workspace-layout {
	display: block;
}
.workspace-note {
	text-align: center;
	color: var(--ink-faint);
	font-size: 11px !important;
	margin-top: var(--s6) !important;
}
.work-list {
	display: flex;
	justify-content: center;
	gap: var(--s8);
	border-bottom: 1px solid var(--line);
	margin: 0 auto var(--s8);
}
.work-list button {
	min-height: 52px;
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: var(--s3) 0;
	color: var(--ink-soft);
	font: 400 var(--small-size)/1.4 var(--font-sans);
	cursor: pointer;
}
.work-list button[aria-pressed="true"] {
	color: var(--ink);
	border-bottom-color: var(--ink);
}
.work-list button:hover {
	color: var(--ink);
}
.work-list-issue {
	display: none;
}
.work-detail {
	min-width: 0;
}
.case-art {
	position: relative;
	min-height: 390px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--s6);
	padding: var(--s10);
	background-color: var(--art-ground);
	background-image: radial-gradient(var(--art-grid) 0.7px, transparent 0.7px);
	background-size: 8px 8px;
	border: 1px solid var(--line);
	overflow: hidden;
}
.paper-specimen {
	position: relative;
	background: var(--surface);
	border: 1px solid var(--line);
	box-shadow: var(--shadow);
	padding: var(--s8);
	text-align: left;
}
.paper-kicker {
	display: flex;
	justify-content: space-between;
	gap: var(--s8);
	color: var(--ink-faint);
	font: 10px/1.5 var(--font-mono);
	letter-spacing: 0.06em;
	margin-bottom: var(--s6);
}
.paper-specimen h3 {
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.04em;
	margin: 0 0 var(--s2);
}
.paper-specimen p {
	font-size: 13px;
	color: var(--ink-soft);
	margin: 0;
}
.loss-paper {
	width: 350px;
	transform: rotate(-3deg);
	z-index: 1;
}
.policy-paper {
	width: 290px;
	transform: rotate(3deg) translateY(25px);
	margin-left: -10px;
}
.paper-rule {
	border-top: 1px solid var(--line);
	margin: var(--s5) 0;
}
.paper-field {
	display: flex;
	justify-content: space-between;
	gap: var(--s4);
	font-size: 12px;
	padding: var(--s2) 0;
}
.paper-field > span {
	color: var(--ink-soft);
}
.paper-field strong {
	font-weight: 400;
	white-space: nowrap;
}
.paper-field s {
	color: var(--ink-faint);
	margin-right: var(--s2);
}
.corrected {
	background: var(--verified-wash);
	color: var(--verified);
	padding: var(--s1);
}
.paper-signoff {
	border-top: 1px solid var(--line);
	margin-top: var(--s6);
	padding-top: var(--s4);
	color: var(--verified);
	font: 11px/1.5 var(--font-mono);
}
.policy-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--s2);
	padding: var(--s4);
	background: var(--verified-wash);
	color: var(--verified);
}
.policy-row strong {
	font-size: 15px;
	font-weight: 500;
}
.policy-row span {
	font-size: 11px;
	grid-row: 2;
}
.policy-row i {
	grid-column: 2;
	grid-row: 1 / 3;
	font-style: normal;
	align-self: center;
}
.muted-row {
	background: transparent;
	color: var(--ink-faint);
}
.paper-specimen .paper-note {
	font-size: 11px;
	border-top: 1px solid var(--line);
	padding-top: var(--s4);
}
.overview-copy {
	text-align: center;
	padding-top: var(--s6);
}
.overview-copy .overview-label {
	font: 10px/1.5 var(--font-mono);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--ink-faint);
	margin-bottom: var(--s3);
}
.overview-copy h3 {
	font-size: 26px;
	letter-spacing: -0.035em;
	margin: 0 0 var(--s3);
}
.overview-copy p {
	font-size: 15px;
	color: var(--ink-soft);
}
.story-toggle {
	display: block;
	min-height: 48px;
	margin: var(--s3) auto 0;
	padding: var(--s3) var(--s4);
	border: 0;
	background: transparent;
	color: var(--ink);
	font: 500 13px/1.5 var(--font-sans);
	cursor: pointer;
}
.story-toggle::after {
	content: " +" / "";
	margin-left: var(--s2);
}
.story-toggle[aria-expanded="true"]::after {
	content: " ×" / "";
}
.story-toggle:hover {
	text-decoration: underline;
	text-underline-offset: 5px;
}
[data-story] {
	max-width: 800px;
	margin: var(--s8) auto var(--s12);
	border-top: 1px solid var(--line);
	padding: var(--s8) var(--s6) 0;
}
.schedule-paper {
	width: 570px;
	transform: rotate(-1.5deg);
}
.schedule-paper h3 {
	margin-bottom: var(--s6);
}
.schedule-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s6);
	padding: var(--s4) 0;
	border-bottom: 1px solid var(--line);
	font-size: 13px;
}
.schedule-row small,
.schedule-row strong,
.schedule-row s {
	display: block;
}
.schedule-row small,
.schedule-row s {
	font-size: 11px;
	color: var(--ink-faint);
	margin-top: var(--s1);
}
.schedule-row strong {
	font-size: 12px;
	font-weight: 400;
	color: var(--verified);
	margin-top: var(--s1);
}
.table-head {
	color: var(--ink-faint);
	font-size: 10px;
	text-transform: uppercase;
}
.payment-trace {
	width: min(100%, 760px);
}
.trace-heading {
	display: flex;
	justify-content: space-between;
	font: 10px/1.5 var(--font-mono);
	color: var(--ink-soft);
	padding-bottom: var(--s12);
}
.trace-stations {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.trace-station {
	position: relative;
	text-align: center;
}
.trace-station::before {
	content: "";
	height: 1px;
	width: 100%;
	position: absolute;
	top: 23px;
	left: 50%;
	background: var(--verified);
}
.trace-station:nth-child(2)::before {
	background: repeating-linear-gradient(
		90deg,
		var(--ink-faint) 0 4px,
		transparent 4px 9px
	);
}
.trace-station:last-child::before {
	display: none;
}
.trace-node {
	position: relative;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0 auto var(--s5);
	border-radius: 50%;
	background: var(--surface);
	border: 1px solid var(--verified);
	color: var(--verified);
	font-size: 16px;
	z-index: 1;
}
.is-pending .trace-node {
	border: 1px dashed var(--ink-faint);
	color: var(--ink-soft);
}
.trace-station h3 {
	font-size: 15px;
	margin: 0 0 var(--s2);
}
.trace-station p {
	font-size: 12px;
	color: var(--ink-soft);
}
.trace-footer {
	margin-top: var(--s12);
	text-align: center;
	font: 11px/1.5 var(--font-mono);
	color: var(--ink-soft);
}
.recovery-paper {
	width: 365px;
	transform: rotate(-3deg);
}
.attachment-row {
	display: flex;
	align-items: center;
	gap: var(--s4);
	padding: var(--s4);
	margin-top: var(--s6);
	background: var(--surface-muted);
	font-size: 12px;
}
.attachment-row strong {
	font-weight: 400;
}
.attachment-row small {
	display: block;
	margin-top: var(--s1);
	color: var(--ink-soft);
	font-size: 10px;
}
.receipt-paper {
	width: 235px;
	text-align: center;
	transform: rotate(4deg) translateY(35px);
	margin-left: -10px;
}
.receipt-check {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--verified-wash);
	color: var(--verified);
	margin: 0 auto var(--s4);
}
.receipt-paper h3 {
	font-size: 19px;
}
.receipt-paper p {
	font-size: 11px;
}
.receipt-boundary {
	font-size: 11px;
	color: var(--ink-soft);
	border-top: 1px solid var(--line);
	padding-top: var(--s4);
	margin-top: var(--s5);
}
@media (max-width: 899px) {
	.work-list {
		gap: var(--s5);
	}
	.case-art {
		padding: var(--s12) var(--s6);
	}
	.paper-specimen {
		padding: var(--s6);
	}
}
@media (max-width: 599px) {
	.purpose .purpose-hero .l-shell {
		padding-block: var(--s16) 170px;
	}
	.purpose .purpose-hero h1 {
		font-size: clamp(2.4rem, 10vw, 3.3rem);
		margin-block: var(--s6);
	}
	.hero-copy p {
		font-size: 15px;
	}
	.hero-eyebrow {
		font-size: 9px !important;
		letter-spacing: 0.045em !important;
	}
	.hero-art {
		object-position: center bottom;
	}
	.work-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 var(--s3);
		margin-bottom: var(--s6);
	}
	.work-list button {
		min-height: 48px;
		font-size: 12px;
		padding: var(--s3) var(--s1);
	}
	.case-art {
		min-height: 340px;
		padding: var(--s6) var(--s4);
		flex-direction: column;
		gap: 0;
	}
	.paper-specimen {
		padding: var(--s4);
	}
	.loss-paper > p,
	.loss-paper .paper-signoff {
		display: none;
	}
	.loss-paper .paper-rule {
		margin: var(--s3) 0;
	}
	.loss-paper .paper-kicker {
		margin-bottom: var(--s2);
	}
	.loss-paper {
		width: min(100%, 280px);
		transform: rotate(-2deg);
		align-self: flex-start;
	}
	.policy-paper {
		width: 230px;
		transform: rotate(2deg);
		margin: -8px 0 0;
		align-self: flex-end;
	}
	.policy-paper .paper-kicker {
		margin-bottom: var(--s2);
	}
	.policy-row {
		padding: var(--s2);
	}
	.policy-paper .paper-note {
		display: none;
	}
	.paper-kicker {
		font-size: 8px;
		gap: var(--s3);
		margin-bottom: var(--s4);
	}
	.paper-specimen h3 {
		font-size: 21px;
	}
	.paper-signoff {
		font-size: 9px;
		margin-top: var(--s4);
		padding-top: var(--s3);
	}
	.paper-field {
		font-size: 10px;
	}
	.schedule-paper {
		width: 100%;
		transform: none;
	}
	.schedule-row {
		gap: var(--s3);
		font-size: 11px;
	}
	.schedule-row strong {
		font-size: 10px;
	}
	.schedule-row small,
	.schedule-row s {
		font-size: 9px;
	}
	.table-head {
		font-size: 9px;
	}
	.trace-heading {
		padding-bottom: var(--s8);
		font-size: 8px;
	}
	.trace-stations {
		display: block;
		padding-left: var(--s2);
	}
	.trace-station {
		display: grid;
		grid-template-columns: 40px 1fr;
		column-gap: var(--s4);
		text-align: left;
		padding-bottom: var(--s8);
	}
	.trace-node {
		width: 36px;
		height: 36px;
		margin: 0;
		grid-row: 1 / 3;
	}
	.trace-station::before {
		width: 1px;
		height: 100%;
		left: 18px;
		top: 0;
	}
	.trace-station:nth-child(2)::before {
		background: repeating-linear-gradient(
			180deg,
			var(--ink-faint) 0 4px,
			transparent 4px 9px
		);
	}
	.trace-station:last-child {
		padding-bottom: 0;
	}
	.trace-station h3 {
		font-size: 13px;
		margin-bottom: var(--s1);
	}
	.trace-station p {
		font-size: 11px;
		margin: 0;
	}
	.trace-footer {
		font-size: 9px;
		margin-top: var(--s8);
	}
	.recovery-paper {
		width: min(100%, 280px);
		transform: rotate(-2deg);
		align-self: flex-start;
	}
	.receipt-paper {
		width: 215px;
		margin: -12px 0 0;
		transform: rotate(3deg);
		align-self: flex-end;
	}
	.receipt-check {
		width: 25px;
		height: 25px;
		margin-bottom: var(--s2);
	}
	.receipt-paper h3 {
		font-size: 16px;
	}
	.receipt-boundary {
		margin-top: var(--s3);
		padding-top: var(--s3);
	}
	.attachment-row {
		padding: var(--s3);
		gap: var(--s2);
		font-size: 10px;
	}
	.attachment-row small {
		font-size: 8px;
	}
	.overview-copy h3 {
		font-size: 25px;
	}
	.overview-copy p {
		font-size: 14px;
	}
	[data-story] {
		padding-inline: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}
	.purpose *,
	.purpose *::before,
	.purpose *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}
