@font-face {
	font-family: 'Atkinson';
	src: url('/assets/fonts/atkinson-regular.woff') format('woff');
	font-display: swap;
	font-style: normal;
	font-weight: 400;
}

@font-face {
	font-family: 'Atkinson';
	src: url('/assets/fonts/atkinson-bold.woff') format('woff');
	font-display: swap;
	font-style: normal;
	font-weight: 700;
}

:root {
	--ink: #080b0f;
	--ink-soft: #0d1117;
	--panel: #11171d;
	--panel-raised: #171e25;
	--line: rgba(224, 234, 230, 0.14);
	--line-strong: rgba(224, 234, 230, 0.3);
	--paper: #edf2ef;
	--paper-dim: #a5b0ab;
	--paper-faint: #87938e;
	--mint: #8ef0c9;
	--mint-dark: #1f624d;
	--amber: #e5b962;
	--red: #ff726d;
	--blue: #83aee8;
	--violet: #b2a3ee;
	--max: 1320px;
	--gutter: clamp(1.2rem, 4vw, 4rem);
	--mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
	--sans: 'Atkinson', 'Arial Narrow', sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	background: var(--ink);
}

body {
	margin: 0;
	min-width: 320px;
	background:
		linear-gradient(rgba(255, 255, 255, 0.017) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.017) 1px, transparent 1px),
		var(--ink);
	background-size: 48px 48px;
	color: var(--paper);
	font-family: var(--sans);
	line-height: 1.5;
	text-rendering: optimizeLegibility;
}

body::before {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 100;
	content: '';
	opacity: 0.12;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
}

a {
	color: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

button {
	font: inherit;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--mint);
	outline-offset: 4px;
}

.skip-link {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 1000;
	padding: 0.7rem 1rem;
	background: var(--paper);
	color: var(--ink);
	transform: translateY(-160%);
}

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

.site-header {
	position: sticky;
	top: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, calc(var(--max) + var(--gutter) * 2));
	margin: 0 auto;
	padding: 1.05rem var(--gutter);
	background: rgba(8, 11, 15, 0.86);
	border-bottom: 1px solid var(--line);
	backdrop-filter: blur(18px);
}

.wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	font-family: var(--mono);
	font-size: 0.78rem;
	letter-spacing: 0.13em;
	text-decoration: none;
}

.wordmark b {
	color: var(--mint);
	font-weight: 400;
}

.wordmark-mark {
	position: relative;
	display: block;
	width: 1.05rem;
	height: 1.05rem;
	border: 1px solid var(--mint);
	border-radius: 50%;
}

.wordmark-mark::after {
	position: absolute;
	inset: 3px;
	content: '';
	background: var(--mint);
	border-radius: 50%;
}

.site-header nav,
.site-footer nav {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.4vw, 2.4rem);
}

.site-header nav a,
.site-footer nav a {
	color: var(--paper-dim);
	font-family: var(--mono);
	font-size: 0.69rem;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.site-header nav a:hover,
.site-footer nav a:hover {
	color: var(--paper);
}

.site-header .nav-contact {
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--line-strong);
	color: var(--paper);
}

.section,
.hero,
.proof-strip,
.site-footer {
	width: min(100%, calc(var(--max) + var(--gutter) * 2));
	margin: 0 auto;
	padding-inline: var(--gutter);
}

.section {
	padding-block: clamp(5.5rem, 10vw, 9rem);
	border-top: 1px solid var(--line);
}

.section-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(470px, 0.92fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 7rem);
}

.hero {
	min-height: min(860px, calc(100vh - 66px));
	padding-block: clamp(5rem, 8vw, 8rem);
}

.kicker {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.35rem;
	color: var(--mint);
	font-family: var(--mono);
	font-size: 0.68rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.live-dot {
	width: 0.48rem;
	height: 0.48rem;
	background: var(--mint);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(142, 240, 201, 0.09);
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1,
h2,
h3 {
	line-height: 0.97;
	letter-spacing: -0.035em;
}

h1 {
	margin-bottom: 1.8rem;
	font-size: clamp(3.5rem, 5.2vw, 5.6rem);
	font-weight: 400;
}

h1 span,
h1 em {
	display: block;
}

h1 em {
	color: var(--mint);
	font-style: normal;
}

h2 {
	font-size: clamp(2.45rem, 4.7vw, 5rem);
	font-weight: 400;
}

h3 {
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 400;
}

.hero-lede {
	max-width: 52ch;
	margin-bottom: 2rem;
	color: var(--paper-dim);
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
}

.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-width: 11rem;
	gap: 1.3rem;
	padding: 0.9rem 1.05rem;
	border: 1px solid var(--line-strong);
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.button:hover {
	transform: translateY(-2px);
}

.button-primary {
	border-color: var(--mint);
	background: var(--mint);
	color: var(--ink);
}

.button-secondary:hover {
	background: var(--paper);
	color: var(--ink);
}

.provenance-line {
	max-width: 60ch;
	margin: 1.35rem 0 0;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.61rem;
	letter-spacing: 0.03em;
}

.provenance-line span {
	color: var(--paper-dim);
}

.activity-instrument {
	position: relative;
	border: 1px solid var(--line-strong);
	background: rgba(13, 17, 23, 0.85);
	box-shadow: 0 32px 100px rgba(0, 0, 0, 0.38);
}

.activity-instrument::before,
.activity-instrument::after {
	position: absolute;
	width: 12px;
	height: 12px;
	content: '';
}

.activity-instrument::before {
	top: -1px;
	left: -1px;
	border-top: 2px solid var(--mint);
	border-left: 2px solid var(--mint);
}

.activity-instrument::after {
	right: -1px;
	bottom: -1px;
	border-right: 2px solid var(--mint);
	border-bottom: 2px solid var(--mint);
}

.instrument-topline,
.instrument-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.8rem 1rem;
	border-bottom: 1px solid var(--line);
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.58rem;
	letter-spacing: 0.09em;
}

.instrument-status,
.instrument-footer b {
	color: var(--mint);
	font-weight: 400;
}

.instrument-stage {
	position: relative;
	min-height: 500px;
	overflow: hidden;
	background:
		radial-gradient(circle at center, rgba(142, 240, 201, 0.06), transparent 37%),
		linear-gradient(var(--line) 1px, transparent 1px),
		linear-gradient(90deg, var(--line) 1px, transparent 1px);
	background-size: auto, 52px 52px, 52px 52px;
}

.instrument-footer {
	border-top: 1px solid var(--line);
	border-bottom: 0;
}

.instrument-footer span {
	display: flex;
	gap: 0.6rem;
}

.orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 1px solid rgba(142, 240, 201, 0.18);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.orbit-one {
	width: 250px;
	height: 250px;
}

.orbit-two {
	width: 380px;
	height: 380px;
	border-style: dashed;
	animation: orbit-spin 36s linear infinite;
}

.activity-core {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 152px;
	height: 152px;
	border: 1px solid var(--mint);
	background: var(--ink-soft);
	border-radius: 50%;
	box-shadow: 0 0 45px rgba(142, 240, 201, 0.09);
	transform: translate(-50%, -50%);
}

.core-glyph {
	width: 23px;
	height: 23px;
	margin-bottom: 0.75rem;
	border: 1px solid var(--mint);
	border-radius: 50%;
	box-shadow: inset 0 0 0 6px var(--ink-soft), inset 0 0 0 12px var(--mint);
}

.activity-core strong,
.model-node span,
.authority-node span {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
}

.activity-core small,
.model-node small,
.authority-node b {
	margin-top: 0.3rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.54rem;
	font-weight: 400;
}

.authority-node,
.model-node {
	position: absolute;
	z-index: 4;
	display: flex;
	flex-direction: column;
	min-width: 92px;
	padding: 0.75rem;
	border: 1px solid var(--line-strong);
	background: rgba(8, 11, 15, 0.92);
}

.authority-node::after,
.model-node::after {
	position: absolute;
	content: '';
	background: var(--line-strong);
}

.node-memory {
	top: 12%;
	left: 7%;
}

.node-memory::after {
	top: 100%;
	left: 100%;
	width: 90px;
	height: 1px;
	transform: rotate(34deg);
	transform-origin: left;
}

.node-runtime {
	top: 10%;
	right: 8%;
}

.node-runtime::after {
	top: 100%;
	right: 100%;
	width: 80px;
	height: 1px;
	transform: rotate(-37deg);
	transform-origin: right;
}

.node-effects {
	right: 8%;
	bottom: 11%;
}

.node-effects::after {
	right: 100%;
	bottom: 100%;
	width: 85px;
	height: 1px;
	transform: rotate(34deg);
	transform-origin: right;
}

.model-node {
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.1rem 0.55rem;
	min-width: 120px;
}

.model-node i,
.worker i {
	display: block;
	width: 0.52rem;
	height: 0.52rem;
	border: 1px solid currentColor;
	border-radius: 50%;
}

.model-node small {
	width: 100%;
	padding-left: 1.1rem;
}

.model-qwen {
	bottom: 12%;
	left: 7%;
	color: var(--paper-faint);
	animation: model-detach 7s ease-in-out infinite;
}

.model-qwen::after {
	bottom: 100%;
	left: 100%;
	width: 80px;
	height: 1px;
	background: rgba(255, 114, 109, 0.45);
	transform: rotate(-35deg);
	transform-origin: left;
}

.model-llama {
	right: 4%;
	bottom: 46%;
	color: var(--mint);
	animation: model-attach 7s ease-in-out infinite;
}

.model-llama::after {
	top: 50%;
	right: 100%;
	width: 55px;
	height: 1px;
	background: var(--mint);
}

@keyframes orbit-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes model-detach {
	0%, 30% { opacity: 1; transform: translate(0); }
	48%, 80% { opacity: 0.28; transform: translate(-18px, 12px); }
	100% { opacity: 1; transform: translate(0); }
}

@keyframes model-attach {
	0%, 30% { opacity: 0.28; transform: translate(18px, -10px); }
	50%, 80% { opacity: 1; transform: translate(0); }
	100% { opacity: 0.28; transform: translate(18px, -10px); }
}

.proof-strip {
	display: grid;
	grid-template-columns: 2fr 0.75fr auto 0.75fr 1.25fr;
	align-items: stretch;
	padding-block: 0;
	border-block: 1px solid var(--line-strong);
	background: var(--ink-soft);
}

.proof-strip > * {
	padding: 1.5rem;
	border-left: 1px solid var(--line);
}

.proof-strip > :first-child {
	border-left: 0;
}

.proof-label span,
.proof-state small,
.proof-result small {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.58rem;
	letter-spacing: 0.1em;
}

.proof-label h2 {
	max-width: 35ch;
	margin: 0.55rem 0 0;
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	line-height: 1.08;
}

.proof-state,
.proof-result {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.proof-state strong {
	font-family: var(--mono);
	font-size: 1.6rem;
	font-weight: 400;
}

.proof-state span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.6rem;
	text-transform: uppercase;
}

.human-state strong {
	color: var(--mint);
}

.proof-operator {
	display: grid;
	place-items: center;
	color: var(--mint);
	font-family: var(--mono);
	font-size: 1.3rem;
}

.proof-result {
	background: rgba(255, 114, 109, 0.08);
}

.proof-result strong {
	margin-top: 0.2rem;
	color: var(--red);
	font-family: var(--mono);
	font-size: 0.71rem;
}

.proof-result b {
	font-family: var(--mono);
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
	align-items: end;
	gap: 3rem;
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
}

.section-heading .kicker {
	margin-bottom: 1.1rem;
}

.section-heading h2 {
	max-width: 15ch;
}

.section-heading > p,
.interaction-copy > p:last-child {
	max-width: 40ch;
	margin: 0;
	color: var(--paper-dim);
	font-size: 1.05rem;
}

.runtime-section {
	width: 100%;
	max-width: none;
	padding-inline: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
	background: #090d12;
}

.runtime-shell {
	border: 1px solid var(--line-strong);
	background: var(--ink-soft);
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
}

.runtime-toolbar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 0.75rem;
	border-bottom: 1px solid var(--line);
}

.mode-switch,
.runtime-controls {
	display: flex;
	gap: 0.35rem;
}

.mode-switch button,
.runtime-controls button,
.text-button {
	border: 1px solid var(--line);
	background: transparent;
	color: var(--paper-dim);
	cursor: pointer;
	font-family: var(--mono);
	font-size: 0.62rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mode-switch button,
.runtime-controls button {
	padding: 0.65rem 0.8rem;
}

.mode-switch button.is-active {
	border-color: var(--paper);
	background: var(--paper);
	color: var(--ink);
}

.runtime-controls {
	justify-content: center;
}

.runtime-controls .control-primary {
	border-color: var(--mint);
	color: var(--mint);
}

.runtime-controls button:hover,
.text-button:hover:not(:disabled) {
	border-color: var(--paper-dim);
	color: var(--paper);
}

.runtime-clock {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--mono);
}

.runtime-clock span {
	color: var(--mint);
	font-size: 0.78rem;
}

.runtime-clock b {
	color: var(--paper-faint);
	font-size: 0.6rem;
	font-weight: 400;
}

.guided-callout {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.1rem;
	min-height: 62px;
	padding: 0.9rem 1rem;
	border-bottom: 1px solid var(--line);
	background: rgba(142, 240, 201, 0.045);
}

.guided-callout > span {
	padding: 0.25rem 0.45rem;
	border: 1px solid var(--mint-dark);
	color: var(--mint);
	font-family: var(--mono);
	font-size: 0.56rem;
	letter-spacing: 0.08em;
}

.guided-callout strong {
	font-size: 1rem;
	font-weight: 400;
}

.guided-callout p {
	margin: 0;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.58rem;
}

.runtime-authority {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid var(--line);
}

.runtime-authority > div {
	min-width: 0;
	padding: 0.8rem 1rem;
	border-left: 1px solid var(--line);
}

.runtime-authority > div:first-child {
	border-left: 0;
}

.runtime-authority span,
.runtime-authority b {
	display: block;
	overflow: hidden;
	font-family: var(--mono);
	font-size: 0.55rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.runtime-authority span {
	margin-bottom: 0.28rem;
	color: var(--paper-faint);
	letter-spacing: 0.07em;
}

.runtime-authority b {
	color: var(--paper);
	font-weight: 400;
}

.lane-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(160px, 1fr));
	min-height: 530px;
	overflow-x: auto;
}

.lane {
	min-width: 0;
	border-left: 1px solid var(--line);
}

.lane:first-child {
	border-left: 0;
}

.lane h3 {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 48px;
	margin: 0;
	padding: 0.75rem;
	border-bottom: 1px solid var(--line);
	background: var(--panel);
	font-family: var(--mono);
	font-size: 0.57rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lane h3 i {
	display: block;
	width: 5px;
	height: 5px;
	background: var(--paper-faint);
	border-radius: 50%;
}

.lane ol {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 0;
	padding: 0.75rem;
	list-style: none;
}

.event-card {
	position: relative;
	padding: 0.75rem;
	border: 1px solid var(--line);
	background: rgba(255, 255, 255, 0.018);
	animation: event-enter 300ms ease both;
}

.event-card.is-current {
	border-color: var(--paper-dim);
	background: rgba(255, 255, 255, 0.045);
}

.event-card[data-status='canonical'],
.event-card[data-status='authorized'] {
	border-left: 2px solid var(--mint);
}

.event-card[data-status='rejected'] {
	border-left: 2px solid var(--red);
	background: rgba(255, 114, 109, 0.045);
}

.event-card[data-status='uncertain'] {
	border-left: 2px solid var(--amber);
	background: rgba(229, 185, 98, 0.045);
}

.event-card[data-status='recovery'] {
	border-left: 2px solid var(--blue);
}

.event-card[data-status='candidate'],
.event-card[data-status='derived'] {
	border-left: 2px solid var(--violet);
}

.event-card header {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.5rem;
}

.event-card strong {
	display: block;
	font-size: 0.81rem;
	font-weight: 400;
	line-height: 1.17;
}

.event-card p {
	margin: 0.45rem 0 0;
	color: var(--paper-faint);
	font-size: 0.67rem;
	line-height: 1.35;
}

.event-technical {
	display: none;
	margin-top: 0.6rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--line);
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.5rem;
	line-height: 1.5;
	word-break: break-word;
}

[data-detail-mode='technical'] .event-technical {
	display: block;
}

@keyframes event-enter {
	from { opacity: 0; transform: translateY(7px); }
	to { opacity: 1; transform: none; }
}

.runtime-footer {
	display: flex;
	align-items: center;
	gap: 1.1rem;
	padding: 0.75rem 1rem;
	border-top: 1px solid var(--line);
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.54rem;
	text-transform: uppercase;
}

.legend-dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 0.25rem;
	border-radius: 50%;
}

.legend-dot.canonical { background: var(--mint); }
.legend-dot.candidate { background: var(--violet); }
.legend-dot.rejected { background: var(--red); }
.legend-dot.recovery { background: var(--blue); }

.runtime-footer .text-button {
	margin-left: auto;
	padding: 0;
	border: 0;
}

.text-button:disabled {
	opacity: 0.35;
	cursor: default;
}

.architecture-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}

.layer-stack {
	position: relative;
	padding: 1rem;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.architecture-layer,
.layer-triad > div {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	align-items: center;
	gap: 1rem;
	min-height: 78px;
	padding: 1rem 1.2rem;
	border: 1px solid var(--line);
	background: var(--panel);
}

.architecture-layer > span,
.layer-triad span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.58rem;
}

.architecture-layer strong,
.layer-triad strong {
	font-size: 1.1rem;
	font-weight: 400;
}

.architecture-layer small,
.layer-triad small {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.56rem;
}

.layer-runtime {
	border-color: var(--mint-dark);
	background: rgba(142, 240, 201, 0.055);
}

.layer-connector {
	width: 1px;
	height: 20px;
	margin: 0 auto;
	background: var(--line-strong);
}

.layer-triad {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
}

.layer-triad > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
}

.layer-workers {
	background: #0f141a;
}

.architecture-base {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	padding-top: 1rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
	letter-spacing: 0.08em;
}

.architecture-base i {
	width: 60px;
	height: 1px;
	background: var(--line-strong);
}

.architecture-annotation {
	padding: 2rem;
	border-left: 1px solid var(--mint-dark);
}

.annotation-index {
	color: var(--mint);
	font-family: var(--mono);
	font-size: 0.62rem;
	letter-spacing: 0.11em;
}

.architecture-annotation h3 {
	margin-bottom: 1rem;
	font-size: clamp(2rem, 3vw, 3.1rem);
}

.architecture-annotation > p:not(.annotation-index) {
	color: var(--paper-dim);
}

.boundary-equation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 2rem 0;
	padding-block: 1rem;
	border-block: 1px solid var(--line);
	font-family: var(--mono);
	font-size: 0.7rem;
	text-transform: uppercase;
}

.boundary-equation b {
	color: var(--red);
	font-size: 1.5rem;
}

.text-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--line-strong);
	font-family: var(--mono);
	font-size: 0.62rem;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.change-matrix {
	display: grid;
	grid-template-columns: 1fr 110px 1fr;
	align-items: center;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.change-column {
	padding: clamp(1.4rem, 4vw, 3rem);
}

.change-column header {
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--line);
}

.change-column header span,
.topology > span,
.model-portability > div span,
.phase-eight-slot > span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.56rem;
	letter-spacing: 0.1em;
}

.change-column h3 {
	margin-top: 0.4rem;
	font-size: 2.25rem;
}

.change-column ul {
	margin: 0;
	padding: 1rem 0 0;
	list-style: none;
}

.change-column li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--line);
	color: var(--paper-dim);
	font-size: 0.9rem;
}

.change-column li b {
	color: var(--paper);
	font-family: var(--mono);
	font-size: 0.62rem;
	font-weight: 400;
	text-transform: uppercase;
}

.stable-column {
	background: rgba(142, 240, 201, 0.035);
}

.stable-column header span,
.stable-column li b {
	color: var(--mint);
}

.change-axis {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
	text-transform: uppercase;
}

.change-axis i {
	width: 1px;
	height: 52px;
	background: var(--line-strong);
}

.change-axis b {
	color: var(--mint);
	font-size: 1.8rem;
}

.interaction-section {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	align-items: center;
	gap: clamp(3rem, 8vw, 8rem);
}

.interaction-copy h2 {
	margin-bottom: 1.5rem;
}

.interaction-sequence {
	position: relative;
	padding: 1rem;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.sequence-row {
	display: grid;
	grid-template-columns: 80px 1fr;
	align-items: center;
	min-height: 135px;
	border-bottom: 1px solid var(--line);
}

.sequence-row > span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.56rem;
	letter-spacing: 0.08em;
}

.sequence-row ol {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sequence-row li {
	position: relative;
	flex: 1;
	padding: 0.8rem 0.65rem;
	border: 1px solid var(--line);
	color: var(--paper-dim);
	font-family: var(--mono);
	font-size: 0.55rem;
	text-align: center;
}

.sequence-row li::after {
	position: absolute;
	top: 50%;
	left: 100%;
	width: 0.55rem;
	height: 1px;
	content: '';
	background: var(--line-strong);
}

.sequence-row li:last-child::after {
	display: none;
}

.sequence-human .hot {
	border-color: var(--mint-dark);
	color: var(--mint);
}

.sequence-model {
	border-bottom: 0;
}

.sequence-model .thinking {
	grid-column: span 2;
}

.sequence-model .thinking i {
	display: inline-block;
	width: 30px;
	height: 2px;
	margin-left: 0.5rem;
	background: linear-gradient(90deg, var(--violet), transparent);
	animation: think-scan 1.5s ease-in-out infinite;
}

.sequence-model .rejected {
	border-color: rgba(255, 114, 109, 0.55);
	color: var(--red);
}

@keyframes think-scan {
	50% { transform: scaleX(0.3); opacity: 0.4; }
}

.sequence-fence {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.7rem 0.8rem;
	border-top: 1px dashed var(--mint-dark);
	color: var(--mint);
	font-family: var(--mono);
	font-size: 0.55rem;
	text-transform: uppercase;
}

.authority-cards {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: stretch;
}

.authority-cards article {
	display: flex;
	flex-direction: column;
	min-height: 285px;
	padding: 1.7rem;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.authority-cards article > span,
.effect-counter > p,
.evidence-dashboard button > span,
.evidence-provenance span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.55rem;
	letter-spacing: 0.08em;
}

.authority-cards h3 {
	margin: auto 0 1rem;
	font-size: 2.3rem;
}

.authority-cards p {
	color: var(--paper-dim);
	font-size: 0.9rem;
}

.authority-cards article > b {
	margin-top: 1.2rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.56rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}

.authority-cards .authority-card-runtime {
	border-color: var(--mint-dark);
	background: rgba(142, 240, 201, 0.05);
}

.authority-card-runtime > b {
	color: var(--mint) !important;
}

.authority-arrow {
	display: grid;
	place-items: center;
	width: 60px;
	color: var(--paper-faint);
	font-family: var(--mono);
}

.approval-proof {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid var(--line);
}

.approval-proof > div:not(.approval-change) {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 0.8rem;
	background: var(--panel);
}

.approval-proof span,
.approval-proof b,
.approval-proof code,
.approval-change {
	font-family: var(--mono);
	font-size: 0.55rem;
}

.approval-proof span,
.approval-proof b {
	color: var(--mint);
	font-weight: 400;
}

.approval-change {
	color: var(--paper-faint);
}

.approval-denied span,
.approval-denied b {
	color: var(--red);
}

.effect-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.6fr;
	gap: 1rem;
}

.effect-timeline {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	margin: 0;
	padding: 0;
	border: 1px solid var(--line);
	list-style: none;
}

.effect-timeline li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 260px;
	padding: 1rem 0.7rem;
	border-left: 1px solid var(--line);
	background: var(--ink-soft);
}

.effect-timeline li:first-child {
	border-left: 0;
}

.effect-timeline li::after {
	position: absolute;
	top: 50%;
	right: -4px;
	z-index: 2;
	width: 7px;
	height: 7px;
	content: '';
	background: var(--paper-faint);
	border-radius: 50%;
}

.effect-timeline li:last-child::after {
	display: none;
}

.effect-timeline span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
}

.effect-timeline b {
	font-family: var(--mono);
	font-size: 0.58rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.effect-timeline .uncertain {
	background: rgba(229, 185, 98, 0.07);
	color: var(--amber);
}

.effect-timeline .dead {
	background: rgba(255, 114, 109, 0.08);
	color: var(--red);
}

.effect-timeline .recover {
	background: rgba(131, 174, 232, 0.08);
	color: var(--blue);
}

.effect-timeline .committed {
	background: rgba(142, 240, 201, 0.08);
	color: var(--mint);
}

.effect-counter {
	display: flex;
	flex-direction: column;
	padding: 1.4rem;
	border: 1px solid var(--line);
	background: var(--panel);
}

.effect-counter > p {
	margin-bottom: auto;
}

.effect-counter > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--line);
	color: var(--paper-dim);
	font-size: 0.78rem;
}

.effect-counter > div b {
	color: var(--paper);
	font-family: var(--mono);
	font-size: 2rem;
	font-weight: 400;
}

.effect-counter .zero b {
	color: var(--mint);
}

.effect-counter small {
	margin-top: 1rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
}

.topology-comparison {
	display: grid;
	grid-template-columns: 0.7fr 100px 1.3fr;
	align-items: stretch;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.topology {
	padding: clamp(1.5rem, 4vw, 3rem);
}

.topology-hard {
	border-left: 1px solid var(--line);
}

.worker {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.9rem;
	border: 1px solid var(--line);
	background: var(--panel);
}

.worker b,
.worker small {
	font-family: var(--mono);
	font-size: 0.59rem;
	font-weight: 400;
}

.worker small {
	margin-left: auto;
	color: var(--paper-faint);
}

.topology .executive {
	margin-top: 2rem;
	border-color: var(--mint-dark);
	color: var(--mint);
}

.topology > p {
	margin: 2rem 0 0;
	color: var(--paper-faint);
	font-size: 0.77rem;
}

.topology-divider {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.5rem;
	text-align: center;
	text-transform: uppercase;
}

.topology-divider i {
	width: 1px;
	height: 80px;
	background: var(--line-strong);
}

.topology-divider b {
	color: var(--mint);
	font-size: 1.5rem;
}

.topology-tree .executive {
	width: 50%;
	margin-inline: auto;
}

.worker-row {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.55rem;
	padding-top: 42px;
}

.worker-row::before {
	position: absolute;
	top: 20px;
	left: 16.66%;
	width: 66.66%;
	height: 22px;
	content: '';
	border-top: 1px solid var(--line-strong);
	border-inline: 1px solid var(--line-strong);
}

.worker-row::after {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 42px;
	content: '';
	background: var(--line-strong);
}

.model-portability {
	display: grid;
	grid-template-columns: 1fr auto 1fr 1.3fr;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid var(--line);
}

.model-portability > div {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	background: var(--panel);
}

.model-portability strong {
	font-family: var(--mono);
	font-size: 1.4rem;
	font-weight: 400;
}

.model-portability small,
.model-portability > i {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
}

.model-portability > i {
	font-style: normal;
	text-transform: uppercase;
}

.model-portability > p {
	margin: 0;
	color: var(--paper-dim);
	font-size: 0.77rem;
}

.phase-eight-slot {
	position: relative;
	margin-top: 4rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	overflow: hidden;
	border: 1px dashed var(--line-strong);
}

.phase-eight-slot::after {
	position: absolute;
	top: 25%;
	right: -4%;
	width: 40%;
	height: 80%;
	content: '';
	background: linear-gradient(135deg, transparent 48%, var(--line) 49%, transparent 50%);
	background-size: 24px 24px;
	opacity: 0.55;
	transform: skewY(-8deg);
}

.phase-eight-slot h3,
.phase-eight-slot p {
	position: relative;
	z-index: 1;
	max-width: 28ch;
}

.phase-eight-slot h3 {
	margin: 0.7rem 0 1rem;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.phase-eight-slot p {
	color: var(--paper-dim);
}

.phase-eight-slot > b {
	position: relative;
	z-index: 1;
	color: var(--amber);
	font-family: var(--mono);
	font-size: 0.57rem;
	font-weight: 400;
}

.evolution-pipeline {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1.35fr;
	align-items: center;
	padding: 1rem;
	border: 1px solid var(--line);
	background: var(--ink-soft);
}

.evolution-pipeline > div {
	display: flex;
	flex-direction: column;
	min-height: 150px;
	padding: 1rem;
	border: 1px solid var(--line);
	background: var(--panel);
}

.evolution-pipeline > div span,
.evolution-pipeline > div small {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.52rem;
	text-transform: uppercase;
}

.evolution-pipeline > div b {
	margin: auto 0;
	font-family: var(--mono);
	font-size: 0.62rem;
	font-weight: 400;
}

.evolution-pipeline > i {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-style: normal;
}

.evolution-pipeline .evolution-decision {
	border-color: var(--mint-dark);
	background: rgba(142, 240, 201, 0.05);
	color: var(--mint);
}

.evolution-result {
	display: grid;
	grid-template-columns: 1fr auto 1fr 1.2fr;
	align-items: stretch;
	margin-top: 1rem;
	border: 1px solid var(--line);
}

.evolution-result > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.2rem;
	background: var(--panel);
}

.evolution-result small,
.evolution-result span {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.53rem;
}

.evolution-result strong {
	font-family: var(--mono);
	font-size: 3rem;
	font-weight: 400;
}

.evolution-result .post-change strong {
	color: var(--mint);
}

.evolution-result .evolution-drop {
	align-items: center;
	background: transparent;
}

.evolution-drop b {
	color: var(--mint);
	font-family: var(--mono);
	font-size: 1.5rem;
}

.evolution-result > p {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 1.2rem;
	border-left: 1px solid var(--line);
	color: var(--paper-dim);
	font-size: 0.78rem;
}

.evidence-dashboard {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
}

.evidence-dashboard button {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 210px;
	padding: 1.4rem;
	border: 0;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: var(--ink-soft);
	color: var(--paper);
	cursor: pointer;
	text-align: left;
	transition: background 180ms ease;
}

.evidence-dashboard button:hover {
	background: var(--panel-raised);
}

.evidence-dashboard button strong {
	margin: auto 0 0;
	font-family: var(--mono);
	font-size: clamp(2.6rem, 5vw, 5rem);
	font-weight: 400;
	line-height: 1;
}

.evidence-dashboard button small {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.55rem;
}

.evidence-provenance {
	display: grid;
	grid-template-columns: 0.8fr 0.8fr 1.6fr auto;
	align-items: center;
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid var(--line);
}

.evidence-provenance div {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.evidence-provenance b,
.evidence-provenance code {
	overflow: hidden;
	color: var(--paper-dim);
	font-family: var(--mono);
	font-size: 0.56rem;
	font-weight: 400;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.evidence-provenance a {
	font-family: var(--mono);
	font-size: 0.56rem;
	text-transform: uppercase;
}

.technical-note {
	padding: clamp(1.5rem, 5vw, 5rem);
	border: 1px solid var(--line);
	background: var(--paper);
	color: var(--ink);
}

.technical-note .kicker {
	color: var(--mint-dark);
}

.technical-note h2 {
	max-width: 14ch;
	margin-bottom: 3rem;
}

.note-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 6vw, 6rem);
}

.note-columns h3 {
	font-size: 1.4rem;
}

.note-columns p {
	color: #46504c;
}

.technical-note details {
	margin-top: 2rem;
	border-top: 1px solid rgba(8, 11, 15, 0.2);
}

.technical-note summary {
	padding: 1rem 0;
	cursor: pointer;
	font-family: var(--mono);
	font-size: 0.66rem;
	text-transform: uppercase;
}

.technical-note pre {
	padding: 1rem;
	overflow: auto;
	background: var(--ink);
	color: var(--mint);
	font-size: 0.72rem;
}

.limitations-grid {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: clamp(3rem, 8vw, 8rem);
}

.limitations-grid ul {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--line);
	list-style: none;
}

.limitations-grid li {
	padding: 1rem 0;
	border-bottom: 1px solid var(--line);
	color: var(--paper-dim);
}

.limitations-grid li::before {
	margin-right: 0.7rem;
	color: var(--red);
	content: '×';
	font-family: var(--mono);
}

.consciousness-boundary {
	grid-column: 2;
	margin: 0;
	padding: 1rem;
	border-left: 2px solid var(--paper-faint);
	color: var(--paper-dim);
	font-family: var(--mono);
	font-size: 0.68rem;
}

.founder-card {
	display: grid;
	grid-template-columns: 0.55fr 1.45fr;
	border: 1px solid var(--line-strong);
	background: var(--ink-soft);
}

.founder-index {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 440px;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-right: 1px solid var(--line);
	background: rgba(142, 240, 201, 0.04);
}

.founder-index span,
.founder-index small {
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.56rem;
	letter-spacing: 0.08em;
}

.founder-index strong {
	color: var(--mint);
	font-family: var(--mono);
	font-size: clamp(2.5rem, 5vw, 5rem);
	font-weight: 400;
	line-height: 0.88;
}

.founder-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 6vw, 6rem);
}

.founder-copy h2 {
	max-width: 18ch;
	margin-bottom: 1.4rem;
	font-size: clamp(2rem, 4vw, 4rem);
}

.founder-copy > p:not(.kicker) {
	max-width: 55ch;
	color: var(--paper-dim);
}

.founder-copy .button-row {
	margin-top: 2rem;
}

.site-footer {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: end;
	gap: 2rem;
	padding-block: 2.5rem;
	border-top: 1px solid var(--line);
}

.site-footer > div p,
.site-footer > p {
	margin: 0.6rem 0 0;
	color: var(--paper-faint);
	font-family: var(--mono);
	font-size: 0.55rem;
}

.site-footer > p {
	text-align: right;
}

.evidence-dialog {
	width: min(620px, calc(100% - 2rem));
	padding: clamp(1.3rem, 4vw, 3rem);
	border: 1px solid var(--line-strong);
	background: var(--panel-raised);
	color: var(--paper);
	box-shadow: 0 40px 120px #000;
}

.evidence-dialog::backdrop {
	background: rgba(2, 4, 6, 0.82);
	backdrop-filter: blur(7px);
}

.dialog-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--line);
	background: transparent;
	color: var(--paper);
	cursor: pointer;
	font-family: var(--mono);
}

.evidence-dialog h2 {
	margin-bottom: 1rem;
	font-size: clamp(2rem, 5vw, 3.2rem);
}

.evidence-dialog > p:not(.kicker):not(.dialog-provenance) {
	color: var(--paper-dim);
}

.evidence-dialog dl {
	margin: 2rem 0;
	border-top: 1px solid var(--line);
}

.evidence-dialog dl div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 1rem;
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--line);
}

.evidence-dialog dt,
.evidence-dialog dd,
.dialog-provenance {
	margin: 0;
	font-family: var(--mono);
	font-size: 0.58rem;
}

.evidence-dialog dt {
	color: var(--paper-faint);
	text-transform: uppercase;
}

.dialog-provenance {
	color: var(--paper-faint);
}

.review-overlay {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 200;
	display: flex;
	gap: 0.8rem;
	padding: 0.6rem 0.8rem;
	border: 1px solid var(--amber);
	background: var(--ink);
	color: var(--amber);
	font-family: var(--mono);
	font-size: 0.55rem;
}

.review-overlay[hidden] {
	display: none;
}

.reveal {
	opacity: 1;
	transform: none;
}

.reveal.is-visible {
	opacity: 1;
	transform: none;
}

[data-entry-highlight='true'] {
	animation: entry-highlight 1.4s ease 2;
}

@keyframes entry-highlight {
	50% { box-shadow: inset 3px 0 var(--mint); }
}

@media (max-width: 1100px) {
	.section-grid {
		grid-template-columns: 1fr 1fr;
		gap: 3rem;
	}

	.instrument-stage {
		min-height: 440px;
	}

	.proof-strip {
		grid-template-columns: 1.6fr 0.7fr auto 0.7fr 1.1fr;
	}

	.proof-strip > * {
		padding: 1rem;
	}

	.lane-grid {
		grid-template-columns: repeat(6, 180px);
	}

	.effect-grid {
		grid-template-columns: 1fr;
	}

	.effect-counter {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}

	.effect-counter > p,
	.effect-counter small {
		grid-column: 1 / -1;
	}

	.model-portability {
		grid-template-columns: 1fr auto 1fr;
	}

	.model-portability > p {
		grid-column: 1 / -1;
	}
}

@media (max-width: 820px) {
	.site-header nav a:not(.nav-contact) {
		display: none;
	}

	.section-grid,
	.section-heading,
	.architecture-grid,
	.interaction-section,
	.limitations-grid {
		grid-template-columns: 1fr;
	}

	.hero {
		min-height: auto;
	}

	.activity-instrument {
		max-width: 650px;
	}

	.proof-strip {
		grid-template-columns: 1fr 1fr auto 1fr;
	}

	.proof-label,
	.proof-result {
		grid-column: 1 / -1;
	}

	.proof-result {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.section-heading {
		align-items: start;
		gap: 1.5rem;
	}

	.section-heading > p {
		max-width: 55ch;
	}

	.runtime-toolbar {
		grid-template-columns: 1fr auto;
	}

	.runtime-controls {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: stretch;
	}

	.runtime-controls button {
		flex: 1;
	}

	.guided-callout {
		grid-template-columns: auto 1fr;
	}

	.guided-callout p {
		grid-column: 2;
	}

	.runtime-authority {
		grid-template-columns: 1fr 1fr;
	}

	.runtime-authority > div:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--line);
	}

	.runtime-authority > div:nth-child(4) {
		border-top: 1px solid var(--line);
	}

	.layer-triad {
		grid-template-columns: 1fr;
	}

	.change-matrix {
		grid-template-columns: 1fr;
	}

	.change-axis {
		flex-direction: row;
		padding: 1rem;
	}

	.change-axis i {
		width: 52px;
		height: 1px;
	}

	.authority-cards {
		grid-template-columns: 1fr;
	}

	.authority-arrow {
		width: auto;
		height: 50px;
		transform: rotate(90deg);
	}

	.approval-proof {
		grid-template-columns: 1fr;
	}

	.approval-change {
		text-align: center;
	}

	.topology-comparison {
		grid-template-columns: 1fr;
	}

	.topology-divider {
		flex-direction: row;
		padding: 1rem;
	}

	.topology-divider i {
		width: 80px;
		height: 1px;
	}

	.topology-hard {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.evolution-pipeline {
		grid-template-columns: 1fr;
	}

	.evolution-pipeline > div {
		min-height: 95px;
	}

	.evolution-pipeline > i {
		padding: 0.35rem;
		text-align: center;
		transform: rotate(90deg);
	}

	.evolution-result {
		grid-template-columns: 1fr auto 1fr;
	}

	.evolution-result > p {
		grid-column: 1 / -1;
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.evidence-dashboard {
		grid-template-columns: 1fr 1fr;
	}

	.evidence-provenance {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.note-columns,
	.founder-card {
		grid-template-columns: 1fr;
	}

	.consciousness-boundary {
		grid-column: 1;
	}

	.founder-index {
		min-height: 260px;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.site-footer {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.site-footer > p {
		text-align: left;
	}
}

@media (max-width: 560px) {
	:root {
		--gutter: 1rem;
	}

	.site-header {
		padding-block: 0.85rem;
	}

	.site-header .nav-contact {
		padding: 0.45rem 0.55rem;
		font-size: 0.56rem;
	}

	.hero {
		padding-top: 4rem;
	}

	h1 {
		font-size: clamp(3.1rem, 15vw, 5rem);
	}

	.instrument-stage {
		min-height: 390px;
	}

	.orbit-one { width: 190px; height: 190px; }
	.orbit-two { width: 300px; height: 300px; }
	.activity-core { width: 128px; height: 128px; }
	.authority-node { min-width: 75px; padding: 0.55rem; }
	.node-memory { left: 3%; }
	.node-runtime { right: 3%; }
	.node-effects { right: 3%; }
	.model-qwen { left: 3%; }
	.model-llama { right: 2%; }

	.proof-strip {
		grid-template-columns: 1fr auto 1fr;
	}

	.proof-label,
	.proof-result {
		grid-column: 1 / -1;
	}

	.proof-state {
		padding: 0.9rem 0.5rem;
	}

	.proof-operator {
		padding-inline: 0.4rem;
	}

	.mode-switch {
		align-self: stretch;
	}

	.mode-switch button {
		flex: 1;
	}

	.runtime-clock {
		flex-direction: column;
		align-items: flex-end;
		gap: 0;
	}

	.runtime-footer {
		flex-wrap: wrap;
	}

	.runtime-footer .text-button {
		width: 100%;
		margin: 0.5rem 0 0;
		text-align: left;
	}

	.architecture-layer {
		grid-template-columns: 35px 1fr;
	}

	.architecture-layer small {
		grid-column: 2;
	}

	.architecture-annotation {
		padding: 1.4rem;
	}

	.sequence-row {
		grid-template-columns: 1fr;
		gap: 0.7rem;
		padding: 1rem 0;
	}

	.sequence-row ol {
		flex-wrap: wrap;
	}

	.sequence-row li {
		min-width: 29%;
	}

	.sequence-row li::after {
		display: none;
	}

	.approval-proof > div:not(.approval-change) {
		grid-template-columns: 1fr;
	}

	.effect-timeline {
		grid-template-columns: repeat(4, 1fr);
	}

	.effect-timeline li {
		min-height: 155px;
		border-bottom: 1px solid var(--line);
	}

	.effect-counter {
		grid-template-columns: 1fr;
	}

	.effect-counter > p,
	.effect-counter small {
		grid-column: auto;
	}

	.worker-row {
		grid-template-columns: 1fr;
		padding-top: 1rem;
	}

	.worker-row::before,
	.worker-row::after {
		display: none;
	}

	.topology-tree .executive {
		width: 100%;
	}

	.model-portability {
		grid-template-columns: 1fr;
	}

	.model-portability > i {
		text-align: center;
	}

	.evolution-result,
	.evidence-dashboard,
	.evidence-provenance {
		grid-template-columns: 1fr;
	}

	.evolution-result .evolution-drop {
		flex-direction: row;
		gap: 1rem;
	}

	.evolution-result > p {
		grid-column: 1;
	}

	.evidence-dashboard button {
		min-height: 150px;
	}

	.site-footer nav {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.65rem;
	}

	.evidence-dialog dl div {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.reveal {
		opacity: 1;
		transform: none;
	}
}
