@font-face {
	font-display: swap;
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	src: url('/typeset/dmsans-lat-400.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 600;
	src: url('/typeset/dmsans-lat-600.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 800;
	src: url('/typeset/dmsans-lat-800.woff2') format('woff2');
}

:root {
	--anchor: #0f151f;
	--punch: #3b4660;
	--press: #2c354c;
	--back: #131a26;
	--layer: #1b2433;
	--reading: #ffffff;
	--subtle: #bdbdbd;
	--line: #26304a;
	--edge-hard: #3d4a66;
	--blend-a: #7488aa;
	--ramp-end: #516083;
	--rg-banner: #9e2a2b;
	--beam: #8fa2c4;
	--invert-face: #e9edf4;
	--invert-ink: #0f151f;
	--plain-face: #1f2836;
	--sec-y: 46px;
	--sec-y-lg: 55px;
	--g-hair: 3px;
	--g-tiny: 8px;
	--g-snug: 13px;
	--g-base: 21px;
	--g-wide: 34px;
	--g-roomy: 55px;
	--g-vast: 89px;
	--g-huge: 144px;
	--pill: 9999px;
	--orb: 50%;
	--r-hair: 1px;
	--r-tiny: 2px;
	--r-snug: 8px;
	--r-base: 14px;
	--r-wide: 22px;
	--r-roomy: 26px;
	--r-vast: 30px;
	--r-huge: 36px;
	--banner: 'DM Sans', 'Segoe UI', system-ui, sans-serif;
	--base: 'DM Sans', 'Segoe UI', system-ui, sans-serif;
	--xxl: 60px;
	--xl-2: 34px;
	--display-3: 24px;
	--h4: 19px;
	--sm-2: 16px;
	--h6: 14px;
	--copy: 16px;
	--petite: 13px;
	--mini: 10px;
	--compact: 1.1;
	--default: 1.5;
	--roomy: 1.65;
	--book: 400;
	--mid: 600;
	--strong: 800;
	--close: -0.02em;
	--normal: 0;
	--loose: 0.06em;
	--d-hair: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
	--d-tiny: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
	--d-snug: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	--d-base: 0 8px 24px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
	--d-wide: 0 16px 48px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
	--d-roomy: 0 22px 60px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
	--d-vast: 0 28px 72px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
	--d-huge: 0 34px 88px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
	--snap: 163ms;
	--regular: 360ms;
	--calm: 748ms;
	--release: cubic-bezier(0.35, 0.88, 0.33, 0.99);
	--launch: cubic-bezier(0.56, 0.09, 0.57, 0.88);
	--smooth: cubic-bezier(0.56, 0.09, 0.57, 0.88);
	--bounce: cubic-bezier(0.37, 1, 0.71, 1.1);
	--narrow-hold: 490px;
	--full: 1140px;
	--inner: 1140px;
	--edge-wide: 56px;
	--padding-tablet: 24px;
	--padding-mobile: 16px;
	--hair: 1px;
	--even: 2px;
	--wide: 3px;
	--size-desktop: 86px;
	--size-mobile: 68px;
}

@media (max-width: 800px) {
	:root {
		--xxl: 36px;
		--xl-2: 26px;
		--display-3: 20px;
		--h4: 17px;
		--sm-2: 14px;
		--h6: 12px;
		--copy: 15px;
		--petite: 12px;
		--mini: 9px;
		--edge-wide: 24px;
		--padding-tablet: 20px;
		--sec-y: 36px;
		--sec-y-lg: 42px;
	}
}

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

html,
body {
	overflow-x: clip;
}

body {
	animation: page-enter var(--regular) var(--release) both;
	background: var(--back);
	color: var(--reading);
	display: flex;
	flex-direction: column;
	font-family: var(--base);
	font-size: var(--copy);
	font-weight: var(--book);
	line-height: var(--default);
	margin: 0;
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}

main {
	flex: 1 0 auto;
}

img {
	max-width: 100%;
}

a {
	color: var(--beam);
	text-decoration-thickness: var(--hair);
	text-underline-offset: 3px;
	transition: color var(--snap) var(--release), text-decoration-thickness var(--snap) var(--release);
}

a:hover {
	color: var(--reading);
	text-decoration-thickness: var(--wide);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: anywhere;
	margin: 0;
}

h1 {
	font-family: var(--banner);
	font-size: clamp(30px, 4.4vw, var(--xxl));
	font-weight: var(--strong);
	letter-spacing: var(--close);
	line-height: var(--compact);
	text-transform: uppercase;
}

h2 {
	font-family: var(--banner);
	font-size: clamp(24px, 3vw, var(--xl-2));
	font-weight: var(--mid);
	letter-spacing: var(--normal);
	line-height: 1.22;
}

h3 {
	font-family: var(--base);
	font-size: var(--display-3);
	font-weight: var(--mid);
	line-height: 1.3;
}

h4 {
	font-family: var(--base);
	font-size: var(--h4);
	font-weight: var(--mid);
	line-height: 1.35;
}

p {
	margin: 0 0 var(--g-base);
}

p:last-child {
	margin-bottom: 0;
}

ol,
ul {
	margin: 0 0 var(--g-base);
	padding-inline-start: var(--g-wide);
}

li {
	margin-bottom: var(--g-tiny);
}

strong {
	font-weight: var(--mid);
}

figure {
	margin: 0;
}

table {
	border-collapse: collapse;
}

@keyframes page-enter {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.skip-hop {
	background: var(--invert-face);
	border-radius: var(--r-snug);
	color: var(--invert-ink);
	font-weight: var(--mid);
	inset-inline-start: var(--g-snug);
	padding: var(--g-snug) var(--g-base);
	position: fixed;
	text-decoration: none;
	top: var(--g-snug);
	z-index: 400;
}

.skip-hop:not(:focus) {
	top: -200px;
}

.sr-lone {
	clip: rect(0, 0, 0, 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.antechamber-clean__guts,
.chambre-true__guts,
.cloche-fast__guts,
.column-signal__guts,
.medallion-plus__guts,
.pignon-refined__guts,
.plaque-grave__guts,
.retable-sleek__guts,
.rosace-refined__guts,
.trumeau-modern__guts,
.vitrail-fast__guts,
.vitrine-fluid__guts,
.arcade-fast__guts,
.pignon-refined__guts,
.seuil-classic__fill {
	margin-inline: auto;
	max-width: calc(var(--full) + var(--edge-wide) + var(--padding-tablet));
	padding-inline: var(--edge-wide) var(--padding-tablet);
	width: 100%;
}

@media (min-width: 1480px) {
	.antechamber-clean__guts,
	.chambre-true__guts,
	.cloche-fast__guts,
	.column-signal__guts,
	.medallion-plus__guts,
	.pignon-refined__guts,
	.plaque-grave__guts,
	.retable-sleek__guts,
	.rosace-refined__guts,
	.trumeau-modern__guts,
	.vitrail-fast__guts,
	.vitrine-fluid__guts,
	.arcade-fast__guts {
		margin-inline-end: auto;
		margin-inline-start: calc((100% - (var(--full) + var(--edge-wide) + var(--padding-tablet))) * 0.4);
	}
}

/* ── antechamber-clean — REV-04 Featured + List ───────────────────── */

.antechamber-clean {
	padding-block: var(--sec-y);
}

.antechamber-clean__top {
	margin-bottom: var(--g-wide);
}

.antechamber-clean__hero {
	background: var(--plain-face);
	border-radius: var(--r-wide);
	box-shadow: var(--d-snug);
	margin-bottom: var(--g-wide);
	padding: var(--g-roomy) var(--g-wide);
}

.antechamber-clean__quote {
	border: 0;
	color: var(--reading);
	font-size: var(--h4);
	font-style: italic;
	line-height: var(--default);
	margin: 0;
	padding: 0;
}

.antechamber-clean__stars {
	color: var(--beam);
	display: block;
	font-size: 28px;
	letter-spacing: 2px;
	line-height: 1;
	margin-bottom: var(--g-snug);
}

.antechamber-clean__cite {
	color: var(--subtle);
	display: block;
	font-size: var(--petite);
	font-style: normal;
	letter-spacing: var(--loose);
	margin-top: var(--g-base);
	text-transform: uppercase;
}

.antechamber-clean__roll {
	display: grid;
	gap: var(--g-base);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.antechamber-clean__node {
	border-block-start: var(--hair) solid var(--line);
	margin: 0;
	padding-block: var(--g-base);
}

.antechamber-clean__row {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-tiny);
	justify-content: space-between;
	margin-bottom: var(--g-tiny);
}

.antechamber-clean__byname {
	color: var(--reading);
	font-weight: var(--mid);
}

.antechamber-clean__score {
	color: var(--beam);
	font-size: var(--petite);
	letter-spacing: 1px;
	white-space: nowrap;
}

.antechamber-clean__words {
	color: var(--subtle);
	font-size: var(--petite);
	margin: 0;
}

@media (max-width: 800px) {
	.antechamber-clean__roll {
		grid-template-columns: minmax(0, 1fr);
	}

	.antechamber-clean__hero {
		padding: var(--g-wide) var(--g-base);
	}
}

/* ── arcade-fast — BYLINE-01 Compact Inline ───────────────────────── */

.arcade-fast {
	display: block;
	padding-block: var(--g-base);
}

.arcade-fast__guts {
	align-items: center;
	border-block-start: var(--hair) solid var(--line);
	display: flex;
	gap: var(--g-snug);
	padding-block-start: var(--g-base);
}

.vitrine-fluid__sheet {
	display: block;
}

.arcade-fast__face {
	border-radius: var(--orb);
	display: block;
	flex-shrink: 0;
	height: 48px;
	overflow: hidden;
	width: 48px;
}

.arcade-fast__pic {
	display: block;
	height: 48px;
	object-fit: cover;
	object-position: center top;
	width: 48px;
}

.arcade-fast__words {
	display: block;
}

.arcade-fast__credit {
	color: var(--subtle);
	font-size: var(--copy);
	margin: 0;
}

.arcade-fast__byname {
	color: var(--beam);
}

.arcade-fast__job {
	color: var(--subtle);
	font-size: var(--petite);
	font-style: italic;
	margin: var(--g-hair) 0 0;
}

/* ── chambre-true — CTA-08 Inverted Block ─────────────────────────── */

.chambre-true {
	background: var(--invert-face);
	color: var(--invert-ink);
	padding-block: var(--sec-y-lg);
}

.chambre-true__guts {
	text-align: center;
}

.chambre-true__top {
	background: var(--invert-face);
	color: var(--invert-ink);
	font-size: clamp(28px, 4vw, 48px);
	font-weight: var(--strong);
	letter-spacing: var(--close);
	text-transform: uppercase;
}

.chambre-true__words {
	background: var(--invert-face);
	color: #2f3746;
	font-size: var(--sm-2);
	line-height: var(--default);
	margin: var(--g-base) auto var(--g-wide);
	max-width: var(--narrow-hold);
}

.chambre-true__key {
	align-items: center;
	display: inline-flex;
	font-family: var(--banner);
	font-size: var(--sm-2);
	justify-content: center;
	min-height: 60px;
	text-decoration: none;
	text-transform: uppercase;
}

.chambre-true__fine {
	background: var(--invert-face);
	color: #414a5b;
	font-size: var(--petite);
	margin: var(--g-base) auto 0;
	max-width: var(--narrow-hold);
}

/* ── chapitre-pure — HEAD-BURGER ──────────────────────────────────── */

.chapitre-pure {
	background: var(--anchor);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.36);
	position: relative;
	z-index: 90;
}

.chapitre-pure__guts {
	align-items: center;
	display: flex;
	gap: var(--g-snug);
	height: 86px;
	margin-inline: auto;
	max-width: calc(var(--full) + var(--edge-wide) + var(--padding-tablet));
	padding-inline: var(--g-base);
	width: 100%;
}

.chapitre-pure__emblem {
	align-items: center;
	background: var(--plain-face);
	border-radius: var(--r-base);
	display: inline-flex;
	flex-shrink: 0;
	margin-inline-end: auto;
	padding: var(--g-tiny) var(--g-snug);
}

.chapitre-pure__emblem-pic {
	display: block;
	height: 56px;
	mix-blend-mode: screen;
	width: auto;
}

.chapitre-pure__flag {
	border: var(--hair) solid var(--edge-hard);
	border-radius: var(--pill);
	color: var(--subtle);
	flex-shrink: 0;
	font-size: var(--mini);
	font-weight: var(--mid);
	letter-spacing: var(--loose);
	padding: var(--g-hair) var(--g-tiny);
	text-transform: uppercase;
}

.chapitre-pure__menu-tap {
	align-items: center;
	background: var(--punch);
	border: 0;
	border-radius: var(--r-snug);
	color: var(--reading);
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--banner);
	font-size: var(--h6);
	font-weight: var(--mid);
	gap: var(--g-tiny);
	letter-spacing: var(--loose);
	min-height: 46px;
	padding-inline: var(--g-base);
	text-transform: uppercase;
	transition: background var(--snap) var(--release);
}

.chapitre-pure__menu-tap:hover {
	background: var(--press);
	color: var(--reading);
}

.chapitre-pure__lines {
	display: inline-block;
	height: 2px;
	position: relative;
	width: 16px;
	background: var(--reading);
}

.chapitre-pure__lines::before,
.chapitre-pure__lines::after {
	background: var(--reading);
	content: '';
	height: 2px;
	inset-inline-start: 0;
	position: absolute;
	width: 16px;
}

.chapitre-pure__lines::before {
	top: -5px;
}

.chapitre-pure__lines::after {
	top: 5px;
}

.chapitre-pure__dock {
	background: var(--anchor);
	border-block-start: var(--hair) solid var(--line);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.44);
	display: none;
	inset-inline: 0;
	max-height: 74vh;
	overflow-y: auto;
	position: absolute;
	top: 100%;
	z-index: 95;
}

.chapitre-pure__dock.is-open {
	display: block;
}

.chapitre-pure__map {
	margin-inline: auto;
	max-width: calc(var(--full) + var(--edge-wide) + var(--padding-tablet));
	padding: var(--g-snug) var(--g-base) var(--g-wide);
	width: 100%;
}

.chapitre-pure__roll {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

.chapitre-pure__node {
	margin: 0;
}

.chapitre-pure__jump {
	border-block-end: var(--hair) solid var(--line);
	color: var(--reading);
	display: block;
	font-size: var(--sm-2);
	font-weight: var(--book);
	padding: var(--g-snug) var(--g-tiny);
	text-decoration: none;
	transition: color var(--snap) var(--release), padding-inline-start var(--snap) var(--release);
	white-space: nowrap;
}

.chapitre-pure__jump:hover {
	color: var(--beam);
	padding-inline-start: var(--g-base);
}

.chapitre-pure__jump[aria-current='page'] {
	color: var(--beam);
	font-weight: var(--mid);
}

@media (max-width: 800px) {
	.chapitre-pure__guts {
		height: 68px;
		padding-inline: var(--g-snug);
	}

	.chapitre-pure__emblem-pic {
		height: 42px;
	}

	.chapitre-pure__menu-tap {
		font-size: var(--mini);
		padding-inline: var(--g-snug);
	}
}

@media (max-width: 500px) {
	.chapitre-pure__flag {
		display: none;
	}
}

/* ── cloche-fast — FOOT-06 Manifesto ──────────────────────────────── */

.cloche-fast {
	background: var(--back);
	border-block-start: var(--even) solid var(--line);
	padding-block: var(--sec-y-lg);
}

.cloche-fast__guard {
	border-block-end: var(--hair) solid var(--line);
	color: var(--subtle);
	font-size: var(--petite);
	margin: 0 0 var(--g-wide);
	padding-block-end: var(--g-base);
	text-align: center;
}

.cloche-fast__rg-mark {
	background: var(--rg-banner);
	border-radius: var(--r-tiny);
	color: #ffffff;
	display: inline-block;
	font-weight: var(--mid);
	margin-inline-end: var(--g-tiny);
	padding: 1px var(--g-tiny);
}

.cloche-fast__creed {
	margin-inline: auto;
	max-width: var(--narrow-hold);
	text-align: center;
}

.cloche-fast__top {
	color: var(--reading);
	font-family: var(--banner);
	font-size: var(--xl-2);
	font-weight: var(--strong);
}

.cloche-fast__homing {
	color: var(--beam);
	display: inline-block;
	font-family: var(--banner);
	font-size: var(--sm-2);
	letter-spacing: var(--loose);
	margin-top: var(--g-base);
	text-transform: uppercase;
}

.cloche-fast__rule {
	background: rgba(255, 255, 255, 0.1);
	height: 1px;
	margin-block: var(--g-roomy);
}

.cloche-fast__facts {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-wide);
	justify-content: space-between;
}

.cloche-fast__emblem {
	align-items: center;
	background: var(--plain-face);
	border-radius: var(--r-base);
	display: inline-flex;
	flex-shrink: 0;
	padding: var(--g-tiny) var(--g-snug);
}

.cloche-fast__emblem-pic {
	display: block;
	height: 52px;
	mix-blend-mode: screen;
	width: auto;
}

.cloche-fast__map,
.cloche-fast__lawful {
	display: block;
}

.cloche-fast__label {
	color: var(--subtle);
	font-size: var(--mini);
	font-weight: var(--mid);
	letter-spacing: var(--loose);
	margin-bottom: var(--g-snug);
	text-transform: uppercase;
}

.cloche-fast__roll {
	columns: 2;
	column-gap: var(--g-wide);
	list-style: none;
	margin: 0;
	padding: 0;
}

.cloche-fast__lawful .cloche-fast__roll {
	columns: 1;
}

.cloche-fast__node {
	margin-bottom: var(--g-tiny);
}

.cloche-fast__jump {
	color: var(--subtle);
	font-size: var(--petite);
	text-decoration: none;
}

.cloche-fast__jump:hover {
	color: var(--reading);
	text-decoration: underline;
}

.cloche-fast__mark {
	color: var(--subtle);
	display: block;
	flex-basis: 100%;
	font-size: var(--mini);
	letter-spacing: var(--loose);
	padding-block-start: var(--g-base);
	text-transform: uppercase;
}

@media (max-width: 800px) {
	.cloche-fast__facts {
		flex-direction: column;
		gap: var(--g-base);
	}

	.cloche-fast__roll {
		columns: 1;
	}
}

/* ── column-signal — TABLE-01 Striped Rows ────────────────────────── */

.column-signal {
	padding-block: var(--sec-y);
}

.column-signal__top {
	margin-bottom: var(--g-wide);
}

.column-signal__frame {
	border-radius: var(--r-base);
	overflow-x: auto;
	overflow-y: hidden;
}

.column-signal__grid {
	background: var(--layer);
	min-width: 520px;
	width: 100%;
}

.column-signal__grid thead {
	background: var(--anchor);
}

.column-signal__grid th {
	color: var(--beam);
	font-family: var(--base);
	font-size: var(--h6);
	font-weight: var(--mid);
	letter-spacing: var(--loose);
	padding: var(--g-base) var(--g-snug);
	text-align: left;
	text-transform: uppercase;
}

.column-signal__grid td {
	color: var(--subtle);
	font-size: var(--copy);
	padding: var(--g-base) var(--g-snug);
	text-align: left;
}

.column-signal__grid td:first-child {
	color: var(--reading);
	font-weight: var(--mid);
}

.column-signal__grid tbody tr:nth-child(even) {
	background: var(--plain-face);
}

.column-signal__grid tbody tr {
	transition: background var(--snap) var(--release);
}

.column-signal__grid tbody tr:hover {
	background: #253044;
}

.column-signal__note {
	color: var(--subtle);
	font-size: var(--petite);
	margin: var(--g-snug) 0 0;
}

@media (max-width: 500px) {
	.column-signal__grid th,
	.column-signal__grid td {
		font-size: var(--petite);
		padding: var(--g-snug) var(--g-tiny);
	}
}

/* ── crest-alt — INLINE-CTA-02 Centered Prompt Card ───────────────── */

.crest-alt {
	display: block;
	padding-block: var(--g-wide);
}

.crest-alt__box {
	background: var(--layer);
	border: var(--hair) solid rgba(255, 255, 255, 0.1);
	border-radius: var(--r-base);
	margin-inline: auto;
	max-width: var(--narrow-hold);
	padding: var(--g-wide) var(--g-base);
	text-align: center;
}

.crest-alt__top {
	color: var(--reading);
	font-family: var(--banner);
	font-size: var(--h4);
	font-weight: var(--strong);
}

.crest-alt__words {
	color: var(--subtle);
	font-size: var(--copy);
	margin: var(--g-snug) 0 var(--g-base);
}

.crest-alt__key {
	align-items: center;
	display: inline-flex;
	font-family: var(--banner);
	justify-content: center;
	min-height: 48px;
	text-decoration: none;
	text-transform: uppercase;
}

/* ── grille-light — COOK-06 Detailed with Preferences ─────────────── */

.grille-light {
	background: var(--anchor);
	border-block-start: var(--even) solid var(--punch);
	box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
	clip-path: inset(0 0 0 0);
	inset-block-end: 0;
	inset-inline: 0;
	position: fixed;
	transition: clip-path var(--regular) var(--release), opacity var(--regular) var(--release);
	z-index: 200;
}

.grille-light.is-gone {
	clip-path: inset(100% 0 0 0);
	opacity: 0;
	pointer-events: none;
}

.grille-light__guts {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-base);
	justify-content: space-between;
	margin-inline: auto;
	max-width: calc(var(--full) + var(--edge-wide) + var(--padding-tablet));
	padding: var(--g-base) var(--edge-wide);
	width: 100%;
}

.grille-light__blurb {
	color: var(--subtle);
	flex: 1 1 320px;
	font-size: var(--petite);
	margin: 0;
}

.grille-light__controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-snug);
}

.grille-light__tune {
	align-items: center;
	color: var(--beam);
	display: inline-flex;
	font-size: var(--petite);
	min-height: 40px;
	padding-inline: var(--g-tiny);
}

.grille-light__later {
	align-items: center;
	background: transparent;
	border: var(--hair) solid var(--edge-hard);
	border-radius: var(--r-snug);
	color: var(--reading);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--base);
	font-size: var(--petite);
	justify-content: center;
	min-height: 40px;
	padding-inline: var(--g-base);
	transition: background var(--snap) var(--release), color var(--snap) var(--release);
}

.grille-light__later:hover {
	background: var(--press);
	color: var(--reading);
}

.grille-light__grant {
	align-items: center;
	background: var(--punch);
	border: 0;
	border-radius: var(--r-snug);
	color: var(--reading);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--base);
	font-size: var(--petite);
	font-weight: var(--mid);
	justify-content: center;
	min-height: 40px;
	padding-inline: var(--g-base);
	transition: background var(--snap) var(--release), color var(--snap) var(--release);
}

.grille-light__grant:hover {
	background: var(--press);
	color: var(--reading);
}

@media (max-width: 720px) {
	.grille-light__guts {
		gap: var(--g-snug);
		padding: 12px 14px;
	}

	.grille-light__blurb {
		font-size: 12px;
		line-height: 1.35;
	}

	.grille-light__controls {
		width: 100%;
	}

	.grille-light__later,
	.grille-light__grant {
		flex: 1 1 auto;
		font-size: 12px;
		min-height: 38px;
		padding-inline: 14px;
	}
}

/* ── medallion-plus — PHEAD-03 Big Block Header ───────────────────── */

.medallion-plus {
	background: var(--anchor);
	padding-block: var(--sec-y-lg);
}

.medallion-plus__top {
	color: var(--reading);
	font-size: clamp(30px, 6vw, 64px);
}

.medallion-plus__words {
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--sm-2);
	margin: var(--g-base) 0 0;
	max-width: var(--narrow-hold);
}

/* ── pignon-refined — LEGAL-02 Numbered Sections ──────────────────── */

.pignon-refined {
	padding-block: var(--sec-y);
}

.pignon-refined__lede {
	color: var(--reading);
	font-size: var(--h4);
	line-height: var(--default);
	margin-bottom: var(--g-wide);
}

.pignon-refined__body {
	counter-reset: pignon-step;
}

.pignon-refined__part {
	counter-increment: pignon-step;
	display: block;
	margin-bottom: var(--g-wide);
}

.pignon-refined__top {
	color: var(--reading);
	font-family: var(--banner);
	font-size: var(--display-3);
	margin-bottom: var(--g-snug);
}

.pignon-refined__top::before {
	color: var(--beam);
	content: counter(pignon-step) '. ';
	font-family: var(--banner);
	font-weight: var(--strong);
	margin-inline-end: var(--g-tiny);
}

.pignon-refined__part p {
	color: var(--subtle);
	padding-inline-start: var(--g-base);
}

.pignon-refined__aid {
	background: var(--layer);
	border-radius: var(--r-base);
	color: var(--subtle);
	margin-block: var(--g-wide);
	padding: var(--g-wide) var(--g-base);
}

.pignon-refined__aid-top {
	color: var(--reading);
	font-size: var(--h4);
	margin-bottom: var(--g-snug);
}

.pignon-refined__roll {
	list-style: disc;
	margin: 0;
	padding-inline-start: var(--g-base);
}

.pignon-refined__caveat {
	border-block-start: var(--hair) solid var(--line);
	color: var(--subtle);
	font-size: var(--petite);
	margin: 0;
	padding-block-start: var(--g-base);
}

@media (max-width: 800px) {
	.pignon-refined__part p {
		padding-inline-start: 0;
	}
}

/* ── plaque-grave — AUTH-01 Horizontal Card ───────────────────────── */

.plaque-grave {
	padding-block: var(--sec-y);
}

.plaque-grave__box {
	background: var(--layer);
	border-radius: var(--r-wide);
	box-shadow: var(--d-snug);
	display: grid;
	gap: var(--g-roomy);
	grid-template-columns: 160px minmax(0, 1fr);
	padding: var(--g-roomy) var(--g-wide);
}

.plaque-grave__face {
	border-radius: var(--orb);
	height: 160px;
	overflow: hidden;
	width: 160px;
}

.plaque-grave__pic {
	display: block;
	height: 160px;
	object-fit: cover;
	object-position: center top;
	width: 160px;
}

.plaque-grave__fill {
	display: flex;
	flex-direction: column;
	gap: var(--g-base);
}

.plaque-grave__job {
	color: var(--beam);
	font-family: var(--base);
	font-size: var(--petite);
	font-weight: var(--mid);
	letter-spacing: var(--loose);
	text-transform: uppercase;
}

.plaque-grave__byname {
	font-family: var(--banner);
	font-size: var(--xl-2);
	font-weight: var(--strong);
}

.plaque-grave__words {
	color: var(--subtle);
	line-height: var(--roomy);
	margin: 0;
}

.plaque-grave__roll {
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-tiny);
	list-style: none;
	margin: 0;
	padding: 0;
}

.plaque-grave__node {
	background: var(--punch);
	border-radius: var(--pill);
	color: var(--reading);
	font-size: var(--mini);
	letter-spacing: var(--loose);
	margin: 0;
	padding: var(--g-hair) var(--g-snug);
	text-transform: uppercase;
}

@media (max-width: 800px) {
	.plaque-grave__box {
		gap: var(--g-base);
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		padding: var(--g-wide) var(--g-base);
		text-align: center;
	}

	.plaque-grave__face,
	.plaque-grave__pic {
		height: 120px;
		width: 120px;
	}

	.plaque-grave__roll {
		justify-content: center;
	}
}

/* ── retable-sleek — GRID-11 Mixed Block Sizes ────────────────────── */

.retable-sleek {
	padding-block: var(--sec-y);
}

.retable-sleek__top {
	margin-bottom: var(--g-wide);
}

.retable-sleek__roll {
	display: grid;
	gap: var(--g-base);
	grid-auto-rows: minmax(150px, auto);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.retable-sleek__node {
	background: var(--layer);
	border: var(--hair) solid rgba(255, 255, 255, 0.08);
	border-radius: var(--r-base);
	display: flex;
	flex-direction: column;
	gap: var(--g-snug);
	margin: 0;
	padding: var(--g-wide) var(--g-base);
	transition: transform var(--snap) var(--release), border-color var(--snap) var(--release);
}

.retable-sleek__node:hover {
	border-color: var(--edge-hard);
	transform: translateY(-5px);
}

.retable-sleek__node-tall {
	border-top: var(--wide) solid var(--beam);
	grid-column: span 2;
	padding: var(--g-roomy) var(--g-wide);
}

.retable-sleek__node-wide {
	grid-column: span 2;
}

.retable-sleek__mark {
	align-items: center;
	background: var(--punch);
	border-radius: var(--r-snug);
	color: var(--reading);
	display: inline-flex;
	flex-shrink: 0;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.retable-sleek__mark svg {
	fill: none;
	height: 21px;
	width: 21px;
}

.retable-sleek__label {
	color: var(--reading);
	font-family: var(--base);
	font-size: var(--display-3);
	font-weight: var(--mid);
}

.retable-sleek__node-tall .retable-sleek__label {
	font-size: clamp(22px, 2.4vw, 30px);
}

.retable-sleek__words {
	color: var(--subtle);
	font-size: var(--petite);
	margin: 0;
}

.retable-sleek__node-tall .retable-sleek__words {
	font-size: var(--copy);
}

@media (max-width: 1100px) {
	.retable-sleek__roll {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.retable-sleek__node-tall {
		padding: var(--g-wide) var(--g-base);
	}
}

@media (max-width: 800px) {
	.retable-sleek__roll {
		grid-auto-rows: auto;
		grid-template-columns: minmax(0, 1fr);
	}

	.retable-sleek__node-tall,
	.retable-sleek__node-wide {
		grid-column: span 1;
	}
}

/* ── rosace-refined — FAQ-07 Compact Mini-FAQ ─────────────────────── */

.rosace-refined {
	padding-block: var(--sec-y);
}

.rosace-refined__top {
	margin-bottom: var(--g-base);
}

.rosace-refined__roll {
	display: flex;
	flex-direction: column;
	gap: var(--g-snug);
}

.rosace-refined__node {
	border-block-end: var(--hair) solid rgba(255, 255, 255, 0.05);
}

.rosace-refined__tap {
	align-items: flex-start;
	color: var(--reading);
	cursor: pointer;
	display: flex;
	gap: var(--g-snug);
	list-style: none;
	padding-block: var(--g-tiny);
}

.rosace-refined__tap::-webkit-details-marker {
	display: none;
}

.rosace-refined__tap::after {
	color: var(--beam);
	content: '+';
	font-size: var(--h4);
	line-height: 1.2;
	margin-inline-start: auto;
	transition: transform var(--snap) var(--release);
}

.rosace-refined__node[open] .rosace-refined__tap::after {
	transform: rotate(45deg);
}

.rosace-refined__ask {
	color: var(--reading);
	font-family: var(--base);
	font-size: var(--petite);
	font-weight: var(--mid);
	line-height: var(--default);
	margin: 0;
}

.rosace-refined__fill {
	color: var(--subtle);
	font-size: var(--petite);
	line-height: var(--default);
	padding-block: var(--g-tiny) var(--g-snug);
}

.rosace-refined__fill p {
	margin: 0;
}

/* ── seuil-classic — ERR-04 Full-Bleed Atmospheric ────────────────── */

.seuil-classic {
	align-items: center;
	background-image: linear-gradient(180deg, rgba(10, 14, 22, 0.55), rgba(0, 0, 0, 0.8)), url('/source-alt/masthead-13.webp');
	background-position: center;
	background-size: cover;
	display: flex;
	flex: 1 0 auto;
	justify-content: center;
	min-height: clamp(460px, 74vh, 720px);
	padding-block: var(--sec-y-lg);
}

.seuil-classic__fill {
	margin-inline: auto;
	max-width: var(--narrow-hold);
	text-align: center;
}

.seuil-classic__top {
	color: #ffffff;
	font-size: clamp(28px, 5vw, 52px);
}

.seuil-classic__words {
	color: #e4e8f0;
	font-size: var(--sm-2);
	margin: var(--g-base) 0 var(--g-wide);
}

.seuil-classic__key {
	align-items: center;
	background: var(--punch);
	border-radius: var(--r-base);
	color: #ffffff;
	display: inline-flex;
	font-family: var(--banner);
	font-weight: var(--strong);
	justify-content: center;
	letter-spacing: var(--loose);
	min-height: 52px;
	padding-inline: var(--g-roomy);
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--snap) var(--release), color var(--snap) var(--release);
}

.seuil-classic__key:hover {
	background: var(--press);
	color: #ffffff;
}

/* ── trumeau-modern — PROSE-25 Plated Heading ─────────────────────── */

.trumeau-modern {
	padding-block: var(--sec-y);
}

.trumeau-modern__top {
	background: var(--punch);
	border-radius: var(--r-snug);
	border-top: var(--wide) solid var(--beam);
	color: var(--reading);
	display: block;
	margin-block: 0 var(--g-wide);
	padding: var(--g-base) var(--g-wide);
	text-align: center;
}

.trumeau-modern__fill {
	color: var(--subtle);
	font-size: var(--copy);
	line-height: var(--roomy);
}

.trumeau-modern__fill p {
	color: var(--subtle);
}

.trumeau-modern__fill strong {
	color: var(--reading);
}

.trumeau-modern__fill ol,
.trumeau-modern__fill ul {
	color: var(--subtle);
}

.trumeau-modern__pic-hold {
	display: block;
	margin-block: var(--g-wide);
}

.trumeau-modern__pic {
	border-radius: var(--r-base);
	display: block;
	height: auto;
	margin-inline: auto;
	max-height: 54vh;
	object-fit: cover;
	width: 100%;
}

.trumeau-modern__cap {
	color: var(--subtle);
	display: block;
	font-size: var(--petite);
	margin-top: var(--g-tiny);
	text-align: center;
}

/* ── vitrail-fast — HERO-02 Split Photo Right ─────────────────────── */

.vitrail-fast {
	background: linear-gradient(160deg, var(--anchor), var(--back) 62%);
}

.vitrail-fast__guts {
	align-items: center;
	display: grid;
	gap: var(--g-roomy);
	grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
	min-height: 480px;
	padding-block: var(--sec-y-lg);
}

.vitrail-fast__words {
	display: block;
}

.vitrail-fast__kicker {
	color: var(--beam);
	display: block;
	font-family: var(--base);
	font-size: var(--petite);
	font-weight: var(--mid);
	letter-spacing: var(--loose);
	margin-bottom: var(--g-snug);
	text-transform: uppercase;
}

.vitrail-fast__deck {
	color: var(--subtle);
	font-size: var(--sm-2);
	line-height: var(--default);
	margin-block: var(--g-base) 0;
	max-width: var(--narrow-hold);
}

.vitrail-fast__controls {
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-base);
	margin-top: var(--g-wide);
}

.vitrail-fast__key {
	align-items: center;
	display: inline-flex;
	font-family: var(--banner);
	justify-content: center;
	min-height: 52px;
	text-decoration: none;
	text-transform: uppercase;
}

.vitrail-fast__quiet {
	align-items: center;
	background: var(--back);
	border: var(--hair) solid var(--subtle);
	border-radius: var(--r-base);
	color: var(--reading);
	display: inline-flex;
	font-family: var(--banner);
	font-weight: var(--mid);
	justify-content: center;
	letter-spacing: var(--loose);
	min-height: 52px;
	padding-inline: var(--g-wide);
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--snap) var(--release), border-color var(--snap) var(--release), color var(--snap) var(--release);
}

.vitrail-fast__quiet:hover {
	background: var(--anchor);
	border-color: var(--reading);
	color: var(--reading);
}

.vitrail-fast__fine {
	color: var(--subtle);
	display: block;
	font-size: var(--petite);
	margin-top: var(--g-base);
}

.vitrail-fast__frame {
	border-radius: var(--r-wide);
	box-shadow: var(--d-wide);
	display: block;
	overflow: hidden;
}

.vitrail-fast__pic {
	aspect-ratio: 4 / 5;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform var(--calm) var(--release);
	width: 100%;
}

.vitrail-fast__frame:hover .vitrail-fast__pic {
	transform: scale(1.04);
}

@media (max-width: 1100px) {
	.vitrail-fast__guts {
		gap: var(--g-wide);
	}

	.vitrail-fast__pic {
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 800px) {
	.vitrail-fast__guts {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.vitrail-fast__pic {
		aspect-ratio: 16 / 9;
	}
}

/* ── vitrine-fluid — FORM-05 Bordered Editorial ───────────────────── */

.vitrine-fluid {
	padding-block: var(--sec-y);
}

.vitrine-fluid__box {
	border: var(--even) solid var(--punch);
	border-radius: var(--r-base);
	padding: var(--g-roomy) var(--g-wide);
}

.vitrine-fluid__top {
	margin-bottom: var(--g-base);
}

.vitrine-fluid__cell {
	display: block;
	margin-bottom: var(--g-wide);
}

.vitrine-fluid__note {
	color: var(--beam);
	display: block;
	font-size: var(--petite);
	letter-spacing: var(--loose);
	margin-bottom: var(--g-tiny);
	text-transform: uppercase;
}

.vitrine-fluid__slot {
	background: transparent;
	border: 0;
	border-block-end: var(--hair) solid rgba(255, 255, 255, 0.12);
	color: var(--reading);
	font-family: var(--base);
	font-size: var(--h4);
	padding: var(--g-tiny) 0;
	width: 100%;
}

.vitrine-fluid__slot:focus {
	border-block-end-color: var(--beam);
	outline: none;
}

.vitrine-fluid__key {
	align-items: center;
	background: var(--punch);
	border: 0;
	border-radius: var(--r-base);
	color: var(--reading);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--banner);
	font-size: var(--sm-2);
	font-weight: var(--strong);
	justify-content: center;
	letter-spacing: var(--loose);
	min-height: 52px;
	padding-inline: var(--g-roomy);
	text-transform: uppercase;
	transition: background var(--snap) var(--release), color var(--snap) var(--release);
}

.vitrine-fluid__key:hover {
	background: var(--press);
	color: var(--reading);
}

.vitrine-fluid__done {
	background: var(--layer);
	border-radius: var(--r-snug);
	color: var(--reading);
	margin-top: var(--g-base);
	padding: var(--g-base);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
	}
}

/* ── offer button (scripts/cta-style.mjs — yellow #EAB308, приём shine) ── */

.node-hit {
	align-items: center;
	background: #EAB308;
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, 0.42) 50%, rgba(255, 255, 255, 0) 62%);
	background-position: 150% 0;
	background-repeat: no-repeat;
	background-size: 260% 100%;
	border-radius: var(--r-base);
	color: #0F151F;
	display: inline-flex;
	font-weight: var(--strong);
	justify-content: center;
	letter-spacing: var(--loose);
	min-height: 48px;
	padding: 0 var(--g-roomy);
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--snap) linear, box-shadow var(--snap) linear;
	animation: node-wake 1.5s ease-in-out infinite;
}

.node-hit.node-hit {
	color: #0F151F;
	text-decoration: none;
}

.node-hit:hover {
	animation: none;
	background: #A16207;
	color: #FFFFFF;
}

.node-hit.node-hit:hover {
	color: #FFFFFF;
	text-decoration: none;
}

.node-hit:active {
	background: #854D0E;
	color: #FFFFFF;
}

.node-hit:focus-visible {
	outline: 3px solid #0F151F;
	outline-offset: 3px;
}

@keyframes node-wake {
	0% {
		background-position: 150% 0;
	}

	76.667%,
	100% {
		background-position: -70% 0;
	}
}

.chambre-true .node-hit {
	font-size: var(--sm-2);
	min-height: 60px;
}

.vitrail-fast .node-hit {
	min-height: 52px;
	padding-inline: var(--g-wide);
}

@media (prefers-reduced-motion: reduce) {
	.node-hit {
		animation: none !important;
		transition: none !important;
	}
}
