@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('/letterset/mont-600.woff2') format('woff2');
}

@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/letterset/mont-700.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/letterset/inter-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('/letterset/inter-500.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/letterset/inter-700.woff2') format('woff2');
}

:root {
	--c-core: #d94929;
	--c-focus: #fcfcfc;
	--c-accent-pressed: #eeeeee;
	--c-surface: #131415;
	--c-above: #1b1d1f;
	--c-text: #FFFFFF;
	--c-soft-text: #bfbfbf;
	--c-border: #2b2e31;
	--c-line-strong: #454a4e;
	--c-ramp-start: #ffffff;
	--c-gradient-mid: #fdfdfd;
	--c-advisory: #ad2831;
	--c-flame: #ef6a45;
	--c-ember: #8f2d18;
	--c-veil: rgba(0, 0, 0, 0.55);

	--f-lead: 'Montserrat', 'Trebuchet MS', sans-serif;
	--f-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;

	--z-title: 26px;
	--z-xl-2: 22px;
	--z-h3: 18px;
	--z-sub-2: 16px;
	--z-h5: 13px;
	--z-micro-head: 11px;
	--z-base: 14px;
	--z-fine: 12px;
	--z-tiny: 10px;

	--l-dense: 1.15;
	--l-base: 1.45;
	--l-airy: 1.6;

	--w-regular: 400;
	--w-mid: 500;
	--w-bold: 700;

	--e-packed: -0.01em;
	--e-normal: 0;
	--e-wide: 0.06em;

	--g-hair: 4px;
	--g-tiny: 8px;
	--g-snug: 12px;
	--g-base: 16px;
	--g-wide: 24px;
	--g-roomy: 40px;
	--g-vast: 64px;
	--g-huge: 96px;

	--r-hair: 1px 1px 0 0;
	--r-tiny: 2px 2px 0 0;
	--r-snug: 6px 6px 0 0;
	--r-base: 12px 12px 0 0;
	--r-wide: 20px 20px 0 0;
	--r-roomy: 28px 28px 0 0;
	--r-vast: 36px 36px 0 0;
	--r-huge: 48px 48px 0 0;
	--r-lozenge: 9999px 9999px 0 0;
	--r-round-full: 50%;

	--d-hair: 0 1px 0 rgba(0, 0, 0, 0.25);
	--d-tiny: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
	--d-snug: 0 2px 4px rgba(0, 0, 0, 0.28);
	--d-base: 0 4px 12px rgba(0, 0, 0, 0.34);
	--d-wide: 0 10px 28px rgba(0, 0, 0, 0.42);
	--d-roomy: 0 16px 38px rgba(0, 0, 0, 0.48);
	--d-vast: 0 22px 48px rgba(0, 0, 0, 0.54);
	--d-huge: 0 30px 64px rgba(0, 0, 0, 0.6);

	--t-swift: 118ms;
	--t-steady: 260ms;
	--t-calm: 432ms;

	--x-out: cubic-bezier(0.14,0.85,0.49,0.97);
	--x-enter: cubic-bezier(0.45,0,1,1);
	--x-swing: cubic-bezier(0.45,0,0.47,1);
	--x-spring: cubic-bezier(0.43,1.45,0.51,1.35);

	--v-main: 1160px;
	--v-inner: 1160px;
	--v-slim: 640px;
	--v-inset-desktop: 48px;
	--v-edge-mid: 24px;
	--v-edge-narrow: 16px;
	--v-pad: 16px;

	--b-fine: 1px;
	--b-even: 2px;
	--b-bold: 3px;
	--b-rule: 4px;

	--h-tall: 40px;
	--h-short: 40px;
}

@media (min-width: 832px) {
	:root {
		--z-title: 36px;
		--z-xl-2: 26px;
		--z-h3: 20px;
		--z-sub-2: 17px;
		--z-h5: 14px;
		--z-micro-head: 12px;
		--z-base: 14px;
		--z-fine: 12px;
		--z-tiny: 11px;
		--v-pad: 24px;
	}
}

@media (min-width: 1136px) {
	:root {
		--v-pad: 48px;
	}
}

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

html,
body {
	overflow-x: clip;
}

body {
	margin: 0;
	background: var(--c-surface);
	color: var(--c-text);
	font-family: var(--f-body);
	font-size: var(--z-base);
	font-weight: var(--w-regular);
	line-height: var(--l-base);
	-webkit-font-smoothing: antialiased;
}

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

h1,
h2 {
	font-family: var(--f-lead);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-packed);
	line-height: var(--l-dense);
}

h1 {
	font-size: var(--z-title);
}

h2 {
	font-size: var(--z-xl-2);
}

h3,
h4 {
	font-family: var(--f-body);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-normal);
	line-height: var(--l-dense);
}

h3 {
	font-size: var(--z-h3);
}

h4 {
	font-size: var(--z-sub-2);
}

p {
	margin: 0;
}

img {
	max-width: 100%;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
}

[hidden] {
	display: none !important;
}

.skip-jump {
	position: absolute;
	left: var(--g-base);
	z-index: 200;
	padding: var(--g-snug) var(--g-base);
	background: var(--c-focus);
	color: var(--c-surface);
	border-radius: var(--r-snug);
	font-weight: var(--w-bold);
	text-decoration: none;
}

.skip-jump:not(:focus) {
	top: -200px !important;
}

.skip-jump:focus {
	top: var(--g-base);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

[data-emerge] {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity var(--t-steady) var(--x-out), transform var(--t-steady) var(--x-out);
}

[data-emerge].is-visible {
	opacity: 1;
	transform: none;
}

/* ---- shared shell -------------------------------------------------- */
.vignette-sharp-tier-guts,
.vignette-sharp-base-guts,
.imposte-solid-guts,
.cahier-grand-guts,
.strip-core-guts,
.trellis-fresh-guts,
.socle-signal-guts,
.rosace-classic-guts,
.column-zone-guts,
.module-swift-guts,
.quai-fresh-guts,
.piedestal-edge-guts,
.quayside-apex-guts,
.mosaique-crisp-guts,
.court-premium-guts,
.secteur-apex-guts,
.brochure-noble-guts {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-inset-desktop));
	margin-inline: auto;
	padding-inline: var(--v-pad);
}

/* ---- header (HEAD-TIER) -------------------------------------------- */
.vignette-sharp {
	position: relative;
	z-index: 40;
	background: var(--c-surface);
	box-shadow: var(--d-snug);
}

.vignette-sharp-tier {
	height: 40px;
	background: var(--c-above);
	border-block-end: var(--b-fine) solid var(--c-border);
}

.vignette-sharp-tier-guts {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--g-snug);
	height: 100%;
}

.vignette-sharp-note {
	display: none;
	color: var(--c-soft-text);
	font-size: var(--z-tiny);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vignette-sharp-side {
	display: inline-flex;
	margin-inline-start: auto;
	align-items: center;
	gap: var(--g-tiny);
	flex-shrink: 0;
}

.vignette-sharp-mark {
	padding: 2px var(--g-tiny);
	border: var(--b-fine) solid var(--c-line-strong);
	border-radius: var(--r-tiny);
	color: var(--c-soft-text);
	font-size: var(--z-tiny);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
}

.rg-banner {
	background: var(--c-advisory);
	color: #ffffff;
}

.vignette-sharp-adult {
	display: inline-flex;
	align-items: center;
	padding: 2px var(--g-tiny);
	border-radius: var(--r-tiny);
	font-size: var(--z-tiny);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
}

.vignette-sharp-base {
	min-height: 62px;
}

.vignette-sharp-base-guts {
	display: flex;
	align-items: center;
	gap: var(--g-base);
	min-height: 62px;
	padding-block: var(--g-tiny);
}

.vignette-sharp-brand {
	order: 1;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	padding: 5px 16px;
	background: var(--c-ramp-start);
	border-radius: var(--r-round-full);
	text-decoration: none;
}

.vignette-sharp-art {
	display: block;
	width: auto;
	height: 46px;
	flex-shrink: 0;
}

.vignette-sharp-navlever {
	order: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-left: auto;
	padding: 0;
	background: transparent;
	border: var(--b-fine) solid var(--c-line-strong);
	border-radius: var(--r-snug);
	color: var(--c-text);
	cursor: pointer;
}

.vignette-sharp-dots {
	position: relative;
	display: block;
	width: 4px;
	height: 4px;
	background: currentColor;
	border-radius: var(--r-round-full);
}

.vignette-sharp-dots::before,
.vignette-sharp-dots::after {
	content: '';
	position: absolute;
	width: 4px;
	height: 4px;
	background: currentColor;
	border-radius: var(--r-round-full);
}

.vignette-sharp-dots::before {
	top: -7px;
}

.vignette-sharp-dots::after {
	top: 7px;
}

.vignette-sharp-menu {
	order: 3;
	display: none;
	flex: 0 0 auto;
	margin-left: auto;
}

.vignette-sharp-stack {
	display: flex;
	align-items: center;
	gap: var(--g-wide);
	list-style: none;
}

.vignette-sharp-piece {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.vignette-sharp-stack > .vignette-sharp-piece + .vignette-sharp-piece::before {
	content: '|';
	margin-inline-end: var(--g-wide);
	color: var(--c-line-strong);
}

.vignette-sharp-href {
	display: inline-block;
	padding-block: 4px;
	border-block-end: var(--b-even) solid transparent;
	color: var(--c-text);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: var(--e-wide);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color var(--t-swift) var(--x-out);
}

.vignette-sharp-href:hover,
.vignette-sharp-href:focus-visible {
	color: var(--c-flame);
}

.vignette-sharp-href[aria-current='page'] {
	border-block-end-color: var(--c-flame);
	color: var(--c-flame);
}

.vignette-sharp-more {
	display: inline-flex;
	align-items: center;
	gap: var(--g-hair);
	padding: 4px var(--g-tiny);
	background: transparent;
	border: 0;
	color: var(--c-text);
	cursor: pointer;
	font-family: var(--f-body);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.vignette-sharp-more:hover,
.vignette-sharp-more:focus-visible {
	color: var(--c-flame);
}

.vignette-sharp-grip {
	display: block;
	width: 8px;
	height: 8px;
	border-inline-end: var(--b-even) solid currentColor;
	border-block-end: var(--b-even) solid currentColor;
	transform: rotate(45deg) translate(-2px, -2px);
}

.vignette-sharp-pane {
	position: absolute;
	top: calc(100% + var(--g-snug));
	right: 0;
	z-index: 60;
	display: none;
	min-width: 220px;
	max-height: 70vh;
	overflow-y: auto;
	padding: var(--g-snug);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-snug);
	box-shadow: var(--d-wide);
}

.vignette-sharp-pane.is-open {
	display: block;
}

.vignette-sharp-substack {
	display: flex;
	flex-direction: column;
	gap: var(--g-tiny);
	list-style: none;
}

.vignette-sharp-substack .vignette-sharp-href {
	white-space: normal;
}

.vignette-sharp-sheet {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 50;
	display: none;
	max-height: 74vh;
	overflow-y: auto;
	padding: var(--g-base) 0 var(--g-wide);
	background: var(--c-above);
	border-block-start: var(--b-fine) solid var(--c-border);
	box-shadow: var(--d-wide);
}

.vignette-sharp-sheet.is-open {
	display: block;
}

.vignette-sharp-sheet-stack {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding-inline: var(--v-pad);
}

.vignette-sharp-sheet-piece {
	display: block;
}

.vignette-sharp-sheet-href {
	display: block;
	padding-block: var(--g-snug);
	border-block-end: var(--b-fine) solid var(--c-border);
	color: var(--c-text);
	font-size: var(--z-sub-2);
	font-weight: var(--w-mid);
	letter-spacing: var(--e-wide);
	text-decoration: none;
	text-transform: uppercase;
}

.vignette-sharp-sheet-href:hover,
.vignette-sharp-sheet-href:focus-visible {
	color: var(--c-flame);
}

.vignette-sharp-sheet-href[aria-current='page'] {
	color: var(--c-flame);
}

@media (min-width: 832px) {
	.vignette-sharp-base-guts {
		position: relative;
	}

	.vignette-sharp-menu {
		display: block;
	}

	.vignette-sharp-navlever {
		display: none;
	}

	.vignette-sharp-art {
		height: 60px;
	}

	.vignette-sharp-note {
		display: block;
	}
}

/* ---- breadcrumbs (BREAD-02) ---------------------------------------- */
.mosaique-crisp {
	padding-block: var(--g-base);
	background: var(--c-surface);
}

.mosaique-crisp-stack {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--g-tiny);
	list-style: none;
}

.mosaique-crisp-piece {
	padding: var(--g-hair) var(--g-snug);
	background: var(--c-above);
	border-radius: var(--r-lozenge);
	color: var(--c-soft-text);
	font-size: var(--z-micro-head);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.mosaique-crisp-href {
	color: var(--c-soft-text);
	text-decoration: none;
}

.mosaique-crisp-piece:hover {
	background: var(--c-focus);
	color: var(--c-surface);
}

.mosaique-crisp-piece:hover .mosaique-crisp-href {
	color: var(--c-surface);
}

.mosaique-crisp-here {
	background: #3a1f19;
	color: var(--c-text);
}

/* ---- hero (HERO-08 Magazine Cover) --------------------------------- */
.cartouche-core {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 600px;
	padding-block: var(--g-vast);
	background-color: var(--c-surface);
	background-image: url('/panel/panorama-76.webp');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.cartouche-core-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.45));
	pointer-events: none;
}

.cartouche-core-cover {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-inset-desktop));
	margin-inline: auto;
	padding-inline: var(--v-pad);
	text-align: center;
}

.cartouche-core-issue {
	display: block;
	margin-block-end: var(--g-base);
	color: #e4e4e4;
	font-size: var(--z-micro-head);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.cartouche-core h1 {
	margin-inline: auto;
	max-width: 900px;
	color: #ffffff;
	font-size: clamp(28px, 5vw, 52px);
}

.cartouche-core-deck {
	margin-block-start: var(--g-base);
	margin-inline: auto;
	max-width: var(--v-slim);
	color: #e8e8e8;
	font-size: var(--z-sub-2);
	line-height: var(--l-base);
}

.cartouche-core-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--g-snug);
	margin-block-start: var(--g-wide);
	color: #d6d6d6;
	font-size: var(--z-fine);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.cartouche-core-meta span + span::before {
	content: '';
	display: inline-block;
	width: var(--b-fine);
	height: 12px;
	margin-inline-end: var(--g-snug);
	background: var(--c-line-strong);
	vertical-align: -2px;
}

.cartouche-core-hint {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--g-tiny);
	margin-block-start: var(--g-roomy);
	color: #d6d6d6;
	font-size: var(--z-tiny);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.cartouche-core-arrow {
	display: block;
	width: 8px;
	height: 8px;
	border-inline-end: var(--b-even) solid currentColor;
	border-block-end: var(--b-even) solid currentColor;
	transform: rotate(45deg);
	animation: nudge 1600ms var(--x-swing) infinite;
}

@keyframes nudge {
	0%,
	100% {
		transform: rotate(45deg) translate(0, 0);
	}

	50% {
		transform: rotate(45deg) translate(3px, 3px);
	}
}

@media (min-width: 832px) {
	.cartouche-core {
		min-height: 100vh;
	}
}

/* ---- page header (PHEAD-08) ---------------------------------------- */
.quayside-apex {
	padding-block: var(--g-roomy);
	background: var(--c-surface);
	border-block-end: var(--b-fine) solid var(--c-border);
}

.quayside-apex-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-tiny);
	margin-block-end: var(--g-base);
}

.quayside-apex-badge {
	padding: var(--g-hair) var(--g-snug);
	background: var(--c-ember);
	border-radius: var(--r-lozenge);
	color: var(--c-text);
	font-size: var(--z-micro-head);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.quayside-apex-text {
	margin-block-start: var(--g-base);
	color: var(--c-soft-text);
	font-size: var(--z-sub-2);
	line-height: var(--l-airy);
}

.quayside-apex-meta {
	margin-block-start: var(--g-snug);
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

/* ---- prose (PROSE-24) ---------------------------------------------- */
.cahier-grand {
	padding-block: var(--g-roomy);
}

.cahier-grand-part + .cahier-grand-part {
	margin-block-start: var(--g-roomy);
}

.cahier-grand h2 {
	margin-block-start: var(--g-wide);
	margin-block-end: var(--g-base);
}

.cahier-grand-part:first-child h2 {
	margin-block-start: 0;
}

.cahier-grand-lead {
	color: var(--c-flame);
}

.cahier-grand-text {
	margin-block-end: var(--g-base);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

.cahier-grand-href {
	color: var(--c-flame);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cahier-grand-href:hover,
.cahier-grand-href:focus-visible {
	color: var(--c-text);
}

.cahier-grand-bullets,
.cahier-grand-steps {
	margin-block-end: var(--g-base);
	padding-inline-start: var(--g-wide);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

.cahier-grand-bullets li,
.cahier-grand-steps li {
	margin-block-end: var(--g-tiny);
}

.cahier-grand-frame {
	margin: var(--g-wide) auto;
	max-width: 520px;
	text-align: center;
}

.cahier-grand-frame-tall {
	max-width: 330px;
}

.cahier-grand-art {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: var(--r-base);
	border: var(--b-fine) solid var(--c-border);
}

/* ---- offer plate ---------------------------------------------------- */
.parapet-lite {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--g-snug);
	margin-block: var(--g-wide);
	padding: var(--g-wide);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-base);
}

.parapet-lite-text {
	color: var(--c-text);
	font-family: var(--f-lead);
	font-size: var(--z-h3);
	font-weight: var(--w-bold);
	line-height: var(--l-dense);
}

.parapet-lite-cond {
	display: block;
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	line-height: var(--l-base);
}

.parapet-lite-cell {
	grid-column: 1 / -1;
	margin-block: 0;
}

/* ---- items grid (GRID-04) ------------------------------------------ */
.strip-core {
	padding-block: var(--g-roomy);
	background: var(--c-surface);
}

.strip-core-banner {
	margin-block-end: var(--g-wide);
}

.strip-core-stack {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--g-base);
}

.strip-core-card {
	padding: var(--g-wide);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-base);
	transition: background var(--t-steady) var(--x-out);
}

.strip-core-card:hover {
	background: #23262a;
}

.strip-core-disc {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-block-end: var(--g-base);
	padding: var(--g-snug);
	background: var(--c-focus);
	border-radius: var(--r-round-full);
	color: var(--c-surface);
}

.strip-core-disc svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.strip-core-disc-num {
	font-family: var(--f-lead);
	font-size: var(--z-sub-2);
	font-weight: var(--w-bold);
}

.strip-core-headline {
	margin-block-end: var(--g-snug);
}

.strip-core-text {
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

@media (min-width: 720px) {
	.strip-core-stack {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1136px) {
	.strip-core-stack {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ---- reviews (REV-09) ---------------------------------------------- */
.socle-signal {
	padding-block: var(--g-roomy);
}

.socle-signal-banner {
	margin-block-end: var(--g-wide);
	text-align: center;
}

.socle-signal-piece {
	margin: 0;
	padding-block: var(--g-roomy);
	text-align: center;
}

.socle-signal-quote {
	margin: 0 auto;
	max-width: var(--v-slim);
	color: var(--c-text);
	font-family: var(--f-lead);
	font-size: var(--z-h3);
	font-style: italic;
	font-weight: var(--w-mid);
	line-height: var(--l-dense);
}

.socle-signal-cite {
	display: block;
	margin-block-start: var(--g-base);
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.socle-signal-score {
	display: inline-block;
	margin-inline-start: var(--g-snug);
	color: var(--c-flame);
	font-weight: var(--w-bold);
}

.socle-signal-rule {
	width: 80px;
	margin: 0 auto;
	border: 0;
	border-block-start: var(--b-fine) solid var(--c-line-strong);
}

/* ---- faq (FAQ-05) --------------------------------------------------- */
.trellis-fresh {
	padding-block: var(--g-roomy);
	background: var(--c-surface);
}

.trellis-fresh-banner {
	margin-block-end: var(--g-wide);
}

.trellis-fresh-stack {
	list-style: none;
}

.trellis-fresh-piece {
	border-block-end: var(--b-fine) solid var(--c-border);
}

.trellis-fresh-piece-plug {
	border-block-end: 0;
}

.trellis-fresh-fold {
	padding-block: var(--g-base);
}

.trellis-fresh-ask {
	position: relative;
	display: block;
	padding-inline-end: var(--g-roomy);
	cursor: pointer;
	list-style: none;
}

.trellis-fresh-ask::-webkit-details-marker {
	display: none;
}

.trellis-fresh-ask h3 {
	display: inline;
	color: var(--c-text);
	font-size: var(--z-sub-2);
	font-weight: var(--w-bold);
}

.trellis-fresh-ask:hover h3 {
	color: var(--c-flame);
}

.trellis-fresh-ask::after {
	content: '';
	position: absolute;
	top: 4px;
	right: var(--g-tiny);
	width: 9px;
	height: 9px;
	border-inline-end: var(--b-even) solid var(--c-flame);
	border-block-end: var(--b-even) solid var(--c-flame);
	transform: rotate(45deg);
	transition: transform var(--t-swift) var(--x-out);
}

.trellis-fresh-fold[open] .trellis-fresh-ask::after {
	transform: rotate(225deg);
}

.trellis-fresh-answer {
	padding-block-start: var(--g-snug);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

/* ---- data table (TABLE-04) ------------------------------------------ */
.column-zone {
	padding-block: var(--g-roomy);
}

.column-zone-banner {
	margin-block-end: var(--g-wide);
}

.column-zone-frame {
	overflow-x: auto;
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-base);
}

.column-zone table {
	width: 100%;
	min-width: 620px;
	font-size: var(--z-fine);
}

.column-zone thead {
	background: var(--c-ember);
}

.column-zone th,
.column-zone td {
	padding: var(--g-snug) var(--g-base);
	border-block-end: var(--b-fine) solid var(--c-border);
	text-align: left;
	vertical-align: top;
}

.column-zone thead th {
	color: var(--c-text);
	font-size: var(--z-micro-head);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.column-zone-key {
	background: var(--c-ember);
	border-inline-end: var(--b-rule) solid var(--c-focus);
	color: var(--c-text);
	font-weight: var(--w-bold);
	white-space: nowrap;
}

.column-zone td {
	color: var(--c-soft-text);
}

.column-zone-note {
	margin-block-start: var(--g-snug);
	color: var(--c-soft-text);
	font-size: var(--z-fine);
}

/* ---- cta block (CTA-01) --------------------------------------------- */
.rosace-classic {
	padding-block: var(--g-vast);
	background: var(--c-focus);
}

.rosace-classic-guts {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--g-wide);
}

.rosace-classic-banner {
	max-width: var(--v-slim);
	color: var(--c-surface);
	letter-spacing: var(--e-packed);
	text-transform: uppercase;
}

.rosace-classic-deck {
	margin-block-start: var(--g-snug);
	max-width: var(--v-slim);
	color: #3a3d40;
	line-height: var(--l-base);
}

/* ---- inline cta (INLINE-CTA-04) ------------------------------------- */
.court-premium {
	display: block;
	padding-block: var(--g-wide);
}

.court-premium-guts {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--g-base);
	padding: var(--g-wide);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-base);
}

.court-premium-block {
	flex: 1;
}

.court-premium-lede {
	font-family: var(--f-lead);
	font-size: var(--z-sub-2);
	color: var(--c-text);
}

.court-premium-subtext {
	margin-block-start: var(--g-hair);
	color: var(--c-soft-text);
}

@media (min-width: 832px) {
	.court-premium-guts {
		flex-direction: row;
		align-items: center;
		gap: var(--g-roomy);
	}

	.rosace-classic-guts {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ---- author byline (BYLINE-04) -------------------------------------- */
.gallery-bold {
	display: block;
	padding-block: var(--g-roomy);
}

.gallery-bold-quote {
	position: relative;
	margin: 0 auto;
	max-width: var(--v-slim);
	padding-block-start: var(--g-roomy);
	text-align: center;
}

.gallery-bold-quote::before {
	content: '“';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--c-flame);
	font-family: var(--f-lead);
	font-size: 52px;
	line-height: 1;
}

.gallery-bold-quote p {
	color: var(--c-text);
	font-family: var(--f-lead);
	font-size: var(--z-sub-2);
	font-style: italic;
	line-height: var(--l-base);
}

.gallery-bold-attrib {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--g-tiny);
	margin-block-start: var(--g-base);
}

.gallery-bold-headshot {
	display: block;
	width: 32px;
	height: 32px;
	border-radius: var(--r-round-full);
	object-fit: cover;
	flex-shrink: 0;
}

.gallery-bold-byname {
	font-style: normal;
	font-weight: var(--w-bold);
}

.gallery-bold-href {
	color: var(--c-flame);
	text-decoration: none;
}

.gallery-bold-href:hover,
.gallery-bold-href:focus-visible {
	text-decoration: underline;
}

.gallery-bold-duty,
.gallery-bold-meta {
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	font-style: italic;
}

/* ---- author card (AUTH-05) ------------------------------------------ */
.piedestal-edge {
	padding-block: var(--g-roomy);
}

.piedestal-edge-card {
	display: flex;
	align-items: flex-start;
	gap: var(--g-snug);
	max-width: 480px;
	padding: var(--g-base);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
	border-radius: var(--r-base);
}

.piedestal-edge-headshot {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: var(--r-round-full);
	object-fit: cover;
	flex-shrink: 0;
}

.piedestal-edge-body {
	display: flex;
	flex-direction: column;
	gap: var(--g-hair);
	min-width: 0;
}

.piedestal-edge-duty {
	color: var(--c-flame);
	font-size: var(--z-micro-head);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.piedestal-edge-byname {
	font-size: var(--z-base);
	font-weight: var(--w-bold);
}

.piedestal-edge-bio {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--c-soft-text);
	font-size: var(--z-fine);
}

.piedestal-edge-lede {
	margin-block: var(--g-wide) var(--g-snug);
	font-family: var(--f-lead);
	font-size: var(--z-h3);
}

.piedestal-edge-stack {
	padding-inline-start: var(--g-wide);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

/* ---- legal (LEGAL-08) ----------------------------------------------- */
.module-swift {
	padding-block: var(--g-roomy);
	background: var(--c-surface);
}

.module-swift-part + .module-swift-part {
	margin-block-start: var(--g-wide);
}

.module-swift-lede {
	margin-block-end: var(--g-snug);
	color: var(--c-text);
	font-family: var(--f-body);
	font-size: var(--z-h3);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-normal);
}

.module-swift-text {
	margin-block-end: var(--g-snug);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

.module-swift-stack {
	padding-inline-start: var(--g-wide);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

.module-swift-note {
	display: block;
	margin-block-start: var(--g-wide);
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	line-height: var(--l-airy);
}

/* ---- contact form (FORM-07) ----------------------------------------- */
.quai-fresh {
	padding-block: var(--g-roomy);
}

.quai-fresh-card {
	overflow: hidden;
	border-radius: var(--r-wide);
	background: var(--c-above);
	border: var(--b-fine) solid var(--c-border);
}

.quai-fresh-crest {
	height: 8px;
	background: var(--c-focus);
}

.quai-fresh-body {
	display: flex;
	flex-direction: column;
	gap: var(--g-base);
	padding: var(--g-wide);
}

.quai-fresh-box {
	display: flex;
	flex-direction: column;
	gap: var(--g-hair);
}

.quai-fresh-badge {
	color: var(--c-text);
	font-size: var(--z-micro-head);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.quai-fresh-box input,
.quai-fresh-box textarea {
	padding: var(--g-snug);
	background: var(--c-surface);
	border: var(--b-fine) solid var(--c-line-strong);
	border-radius: var(--r-snug);
	color: var(--c-text);
	font-family: var(--f-body);
	font-size: var(--z-base);
}

.quai-fresh-box input:focus-visible,
.quai-fresh-box textarea:focus-visible {
	outline: var(--b-even) solid var(--c-flame);
}

.quai-fresh-send {
	align-self: center;
	min-height: 48px;
	padding: var(--g-snug) var(--g-roomy);
	background: var(--c-focus);
	border: 0;
	border-radius: var(--r-snug);
	color: var(--c-surface);
	cursor: pointer;
	font-family: var(--f-body);
	font-size: var(--z-base);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.quai-fresh-send:hover,
.quai-fresh-send:focus-visible {
	background: var(--c-accent-pressed);
	color: var(--c-surface);
}

.quai-fresh-message {
	padding: var(--g-snug);
	background: #17301f;
	border-radius: var(--r-snug);
	color: #b8f0cd;
}

/* ---- error (ERR-04) -------------------------------------------------- */
.brochure-noble {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 82vh;
	padding-block: var(--g-vast);
	background-color: var(--c-surface);
	background-image: url('/panel/panorama-76.webp');
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

.brochure-noble-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.85));
	pointer-events: none;
}

.brochure-noble-guts {
	position: relative;
	z-index: 2;
	text-align: center;
}

.brochure-noble-code {
	display: block;
	color: var(--c-flame);
	font-family: var(--f-lead);
	font-size: clamp(56px, 14vw, 120px);
	font-weight: var(--w-bold);
	line-height: 1;
}

.brochure-noble-banner {
	margin-block-start: var(--g-base);
	margin-inline: auto;
	max-width: var(--v-slim);
	color: #ffffff;
}

.brochure-noble-text {
	margin-block-start: var(--g-base);
	margin-inline: auto;
	max-width: var(--v-slim);
	color: #e4e4e4;
	line-height: var(--l-airy);
}

.brochure-noble-goto {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-block-start: var(--g-wide);
	padding-inline: var(--g-roomy);
	background: var(--c-focus);
	border-radius: var(--r-snug);
	color: var(--c-surface);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-decoration: none;
	text-transform: uppercase;
}

.brochure-noble-goto:hover,
.brochure-noble-goto:focus-visible {
	background: var(--c-accent-pressed);
	color: var(--c-surface);
}

/* ---- footer (FOOT-08 Newspaper Masthead) ----------------------------- */
.imposte-solid {
	padding-block: var(--g-roomy);
	background: var(--c-surface);
	border-block-start: var(--b-fine) solid var(--c-border);
}

.imposte-solid-masthead {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--g-snug);
	padding-block: var(--g-base);
	border-block: var(--b-rule) double var(--c-line-strong);
	text-align: center;
}

.imposte-solid-brand {
	display: inline-flex;
	padding: 5px 16px;
	background: var(--c-ramp-start);
	border-radius: var(--r-round-full);
}

.imposte-solid-art {
	display: block;
	width: auto;
	height: 52px;
}

.imposte-solid-issue {
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.imposte-solid-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--g-wide);
	margin-block-start: var(--g-wide);
}

.imposte-solid-lede {
	margin-block-end: var(--g-snug);
	font-family: var(--f-lead);
	font-size: var(--z-sub-2);
	color: var(--c-text);
}

.imposte-solid-stack {
	display: flex;
	flex-direction: column;
	gap: var(--g-tiny);
	list-style: none;
}

.imposte-solid-href {
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	text-decoration: none;
}

.imposte-solid-href:hover,
.imposte-solid-href:focus-visible {
	color: var(--c-flame);
}

.imposte-solid-top {
	display: inline-block;
	margin-block-start: var(--g-snug);
	color: var(--c-flame);
	font-size: var(--z-fine);
	text-decoration: none;
}

.imposte-solid-top:hover {
	color: var(--c-text);
}

.imposte-solid-bottom {
	margin-block-start: var(--g-wide);
	color: var(--c-soft-text);
	font-size: var(--z-fine);
	text-align: center;
}

.rg-banner-sign {
	display: inline-block;
	margin-inline-end: var(--g-tiny);
	padding-inline: var(--g-hair);
	border: var(--b-fine) solid #ffffff;
	border-radius: var(--r-tiny);
	font-weight: var(--w-bold);
}

.rg-banner-help {
	color: #ffffff;
	font-weight: var(--w-bold);
}

.imposte-solid .rg-banner {
	margin-block-start: var(--g-wide);
	padding: var(--g-snug) var(--g-base);
	border-radius: var(--r-snug);
	font-size: var(--z-fine);
	line-height: var(--l-base);
	text-align: center;
}

@media (min-width: 832px) {
	.imposte-solid-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--g-roomy);
	}

	.imposte-solid-grid > .imposte-solid-strip:first-child .imposte-solid-stack {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--g-tiny) var(--g-base);
	}
}

/* ---- cookie banner (COOK-04) ----------------------------------------- */
.secteur-apex-scrim {
	position: fixed;
	inset: 0;
	z-index: 89;
	display: none;
	background: var(--c-veil);
}

.secteur-apex-scrim.is-visible {
	display: block;
}

.secteur-apex {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	transform: translateY(105%);
	visibility: hidden;
	padding-block: var(--g-wide);
	background: var(--c-surface);
	border-block-start: var(--b-rule) solid var(--c-focus);
	box-shadow: var(--d-huge);
}

.secteur-apex.is-visible {
	transform: translateY(0);
	visibility: visible;
}

.secteur-apex-guts {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--g-base);
	text-align: center;
}

.secteur-apex-lede {
	font-size: var(--z-sub-2);
}

.secteur-apex-text {
	margin-inline: auto;
	max-width: var(--v-slim);
	color: var(--c-soft-text);
	line-height: var(--l-airy);
}

.secteur-apex-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--g-base);
}

.secteur-apex-allow,
.secteur-apex-later {
	min-height: 48px;
	padding-inline: var(--g-wide);
	border-radius: var(--r-snug);
	cursor: pointer;
	font-family: var(--f-body);
	font-size: var(--z-base);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-transform: uppercase;
}

.secteur-apex-allow {
	background: var(--c-focus);
	border: 0;
	color: var(--c-surface);
}

.secteur-apex-allow:hover,
.secteur-apex-allow:focus-visible {
	background: var(--c-accent-pressed);
	color: var(--c-surface);
}

.secteur-apex-later {
	background: transparent;
	border: var(--b-fine) solid var(--c-line-strong);
	color: var(--c-text);
}

.secteur-apex-later:hover,
.secteur-apex-later:focus-visible {
	background: var(--c-above);
	color: var(--c-text);
}

@media (max-width: 720px) {
	.secteur-apex,
	.secteur-apex-guts {
		padding-block: var(--g-snug);
		gap: var(--g-tiny);
		font-size: 13px;
		line-height: 1.35;
	}

	.secteur-apex-lede {
		display: none;
	}

	.secteur-apex-allow,
	.secteur-apex-later {
		min-height: 40px;
		padding-inline: var(--g-base);
		font-size: var(--z-fine);
	}
}

.quayside-apex-banner {
	color: var(--c-text);
}

.vignette-sharp-more-word {
	display: inline-block;
}

.imposte-solid-strip {
	min-width: 0;
}

.vignette-sharp-spill {
	position: relative;
}

.vignette-sharp-piece[hidden] {
	display: none !important;
}

.imposte-solid-piece {
	display: block;
}

.rosace-classic-text {
	min-width: 0;
}

/* ---- offer buttons (anchor stubs until the referral link is wired) ---- */
.rosace-classic-offer,
.parapet-lite-offer,
.court-premium-offer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 48px;
	min-width: 220px;
	padding: var(--g-snug) var(--g-wide);
	border-radius: var(--r-snug);
	background: var(--c-core);
	color: #ffffff;
	font-family: var(--f-body);
	font-size: var(--z-base);
	font-weight: var(--w-bold);
	letter-spacing: var(--e-wide);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.rosace-classic-offer:hover,
.parapet-lite-offer:hover,
.court-premium-offer:hover,
.rosace-classic-offer:focus-visible,
.parapet-lite-offer:focus-visible,
.court-premium-offer:focus-visible {
	background: var(--c-ember);
	color: #ffffff;
}

@media (max-width: 479px) {
	.rosace-classic-offer,
	.parapet-lite-offer,
	.court-premium-offer {
		min-width: 0;
		width: 100%;
	}
}

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

	[data-emerge] {
		opacity: 1;
		transform: none;
	}
}
.feuille-cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--g-snug) var(--g-wide);min-height:48px;border-radius:var(--r-snug);font-size:var(--z-base);font-weight:var(--w-bold);letter-spacing:var(--e-wide)}
.feuille-cta{position:relative;
  background:#4F46E5;color:#FFFFFF;text-decoration:none;text-transform:uppercase;
  transition:background 0.18s ease-out;}
.feuille-cta.feuille-cta{color:#FFFFFF;text-decoration:none;}
.feuille-cta:hover{background:#4338CA;color:#FFFFFF;animation:none}
.feuille-cta.feuille-cta:hover{color:#FFFFFF;text-decoration:none}
.feuille-cta:hover::after{animation:none}
.feuille-cta:active{background:#3730A3;color:#FFFFFF}
.feuille-cta:focus-visible{outline:3px solid #131415;outline-offset:3px}
@keyframes feuille-beat{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.feuille-cta::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:2px;background:currentColor;opacity:.5;transform-origin:left;animation:feuille-beat 2.1s linear infinite}
@media (prefers-reduced-motion:reduce){.feuille-cta,.feuille-cta::after{animation:none!important;transition:none!important}}

@media (max-width: 871px) {
  .vignette-sharp-menu,
  .vignette-sharp-stack,
  .vignette-sharp-href { display: none !important; }
  .vignette-sharp-navlever { display: flex !important; }
}

/* nojs guard 28.09.2026: без JS контент виден */
html.no-js [data-emerge]{opacity:1!important;transform:none!important;visibility:visible!important;clip-path:none!important}
