@font-face {
	font-family: 'Rubik';
	src: url('/art/rubik-latin-700-normal.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Rubik';
	src: url('/art/rubik-latin-800-normal.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

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

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

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

:root {
	--k-main: #181147;
	--k-focus: #fdbf05;
	--k-press: #dca901;
	--k-surface: #19132f;
	--k-surface-2: #241c40;
	--k-copy: #FFFFFF;
	--k-muted: #c0c0c0;
	--k-divider: #322a52;
	--k-border-strong: #4a3f74;
	--k-gradient-light: #FFFFFF;
	--k-gradient-mid: #6dac20;
	--k-rg-banner: #d00000;

	--g-1: 8px;
	--g-2: 12px;
	--g-3: 16px;
	--g-4: 24px;
	--g-5: 32px;
	--g-6: 48px;
	--g-7: 72px;
	--g-8: 112px;

	--r-1: 2px;
	--r-2: 4px;
	--r-3: 6px;
	--r-4: 10px;
	--r-5: 16px;
	--r-6: 24px;
	--r-7: 32px;
	--r-8: 40px;
	--r-lozenge: 9999px;
	--r-dot: 50%;

	--f-display: 'Rubik', Helvetica, Arial, sans-serif;
	--f-copy: 'Inter', Helvetica, Arial, sans-serif;

	--z-display-1: clamp(30px, 5.2vw, 64px);
	--z-xl-2: clamp(24px, 3.1vw, 40px);
	--z-display-3: clamp(21px, 1.9vw, 28px);
	--z-h4: 22px;
	--z-h5: 18px;
	--z-xs-2: 16px;
	--z-base: 17px;
	--z-sm: 14px;
	--z-xs: 12px;

	--l-tight: 1.1;
	--l-default: 1.5;
	--l-relaxed: 1.75;

	--w-book: 400;
	--w-half: 500;
	--w-strong: 700;

	--e-close: -0.02em;
	--e-regular: 0;
	--e-loose: 0.04em;

	--d-1: none;
	--d-2: none;
	--d-3: 0 1px 3px rgba(0, 0, 0, 0.05);
	--d-4: 0 4px 12px rgba(0, 0, 0, 0.09);
	--d-5: 0 8px 24px rgba(0, 0, 0, 0.13);
	--d-6: 0 12px 34px rgba(0, 0, 0, 0.2);
	--d-7: 0 18px 44px rgba(0, 0, 0, 0.26);
	--d-8: 0 24px 56px rgba(0, 0, 0, 0.32);

	--t-brisk: 114ms;
	--t-regular: 200ms;
	--t-slow: 332ms;

	--x-settle: cubic-bezier(0.16, 0.89, 0.46, 0.98);
	--x-enter: cubic-bezier(0.58, 0.05, 0.39, 0.94);
	--x-both: cubic-bezier(0.58, 0.05, 0.39, 0.94);
	--x-bounce: cubic-bezier(0.22, 1.7, 0.72, 1.25);

	--v-main: 1380px;
	--v-prose: 1380px;
	--v-slim: 490px;
	--v-edge-wide: 48px;
	--v-edge-mid: 32px;
	--v-edge-narrow: 16px;

	--b-fine: 1px;
	--b-regular: 2px;
	--b-heavy: 3px;

	--h-size-desktop: 56px;
	--h-height-mobile: 56px;

	--sec-y: 44px;
	--rg-height: 34px;
	--h-pad: 76px;
	--shot-h: 560px;
}

@media (max-width: 720px) {
	:root {
		--z-h4: 18px;
		--z-h5: 16px;
		--z-xs-2: 14px;
		--z-base: 16px;
		--z-sm: 13px;
		--z-xs: 11px;
		--v-edge-wide: 16px;
		--sec-y: 34px;
		--shot-h: 380px;
	}
}

@media (min-width: 721px) and (max-width: 1040px) {
	:root {
		--v-edge-wide: 32px;
	}
}

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

html,
body {
	overflow-x: clip;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--k-surface);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-size: var(--z-base);
	font-weight: var(--w-book);
	line-height: var(--l-relaxed);
	padding-top: calc(var(--rg-height) + var(--h-pad));
	animation: pageArrive var(--t-slow) var(--x-settle) both;
}

body.has-shot {
	padding-top: var(--rg-height);
}

@keyframes pageArrive {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.page-core {
	flex: 1 0 auto;
	display: block;
}

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

h1,
h2 {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	letter-spacing: var(--e-close);
	line-height: var(--l-tight);
}

h1 {
	font-size: var(--z-display-1);
	text-transform: uppercase;
}

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

h3,
h4 {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	letter-spacing: var(--e-regular);
	line-height: var(--l-tight);
}

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

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

h5,
h6 {
	font-family: var(--f-copy);
	font-weight: var(--w-half);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
}

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

h6 {
	font-size: var(--z-xs-2);
}

p {
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

svg {
	fill: currentColor;
}

.skiplane {
	position: absolute;
	left: var(--g-3);
	z-index: 200;
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	padding: var(--g-2) var(--g-4);
	border-radius: var(--r-lozenge);
	text-decoration: none;
}

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

.skiplane:focus {
	top: var(--g-3);
}

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

:focus-visible {
	outline: var(--b-regular) solid var(--k-focus);
	outline-offset: 2px;
}

/* rg strip */

.rg-strip {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 101;
	display: block;
	text-align: center;
	background: var(--k-rg-banner);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-size: var(--z-xs);
	font-weight: var(--w-half);
	letter-spacing: var(--e-loose);
	line-height: var(--l-default);
	padding: var(--g-1) var(--g-3);
	animation: stripSlide var(--t-slow) var(--x-settle) both;
}

@keyframes stripSlide {
	from {
		transform: translateX(-18px);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.rg-strip-mark {
	display: inline-flex;
	align-items: center;
	gap: var(--g-1);
	font-weight: var(--w-strong);
}

.rg-strip-route {
	color: var(--k-copy);
	background: var(--k-rg-banner);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.rg-strip-route:hover {
	background: var(--k-copy);
	color: var(--k-rg-banner);
	text-decoration: none;
}

/* header — HEAD-OVER */

.prie-dieu-bas {
	position: fixed;
	top: var(--rg-height);
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(25, 19, 47, 0);
	transition: background var(--t-regular) var(--x-settle), box-shadow var(--t-regular) var(--x-settle);
}

.prie-dieu-bas.is-shrunk {
	background: var(--k-surface);
	box-shadow: var(--d-5);
}

.prie-dieu-bas-bar {
	min-height: 56px;
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--g-4);
	padding-block: var(--g-1);
	display: flex;
	align-items: center;
	gap: var(--g-4);
	flex-wrap: nowrap;
}

.prie-dieu-bas-crest {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	order: 1;
	text-decoration: none;
}

.prie-dieu-bas-crest img {
	height: 60px;
	width: auto;
	flex-shrink: 0;
	display: block;
	transition: height var(--t-regular) var(--x-settle);
}

.prie-dieu-bas.is-shrunk .prie-dieu-bas-crest img {
	height: 46px;
}

.prie-dieu-bas-menu-opener {
	order: 4;
	display: none;
	margin-left: auto !important;
	align-items: center;
	min-height: 44px;
	padding: var(--g-1) var(--g-3);
	border: 0;
	background: var(--k-surface-2);
	color: var(--k-copy);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	border-radius: var(--r-4);
	cursor: pointer;
}

.prie-dieu-bas-menu-opener:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

.prie-dieu-bas-guide {
	order: 2;
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
}

.prie-dieu-bas-stack {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--g-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.prie-dieu-bas-entry {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.prie-dieu-bas-entry[hidden] {
	display: none;
}

.prie-dieu-bas-entry + .prie-dieu-bas-entry::before {
	content: '';
	display: block;
	width: 1px;
	height: 14px;
	margin-right: var(--g-3);
	background: var(--k-border-strong);
}

.prie-dieu-bas-route {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--g-2);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-size: 14px;
	font-weight: 400;
	font-variant: small-caps;
	letter-spacing: var(--e-regular);
	white-space: nowrap;
	text-decoration: none;
	border-radius: var(--r-lozenge);
	transition: color var(--t-brisk) var(--x-settle);
}

.prie-dieu-bas-route:hover {
	color: var(--k-focus);
}

.prie-dieu-bas-here {
	background: var(--k-focus);
	color: var(--k-surface);
	padding-inline: var(--g-3);
	font-weight: var(--w-strong);
}

.prie-dieu-bas-here:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

.prie-dieu-bas-more-host {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.prie-dieu-bas-more-host[hidden] {
	display: none;
}

.prie-dieu-bas-more-opener {
	display: inline-flex;
	align-items: center;
	gap: var(--g-1);
	min-height: 44px;
	padding: 0 var(--g-3);
	border: var(--b-fine) solid var(--k-border-strong);
	background: var(--k-surface-2);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-size: 14px;
	font-variant: small-caps;
	border-radius: var(--r-lozenge);
	cursor: pointer;
	white-space: nowrap;
}

.prie-dieu-bas-more-opener:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

.prie-dieu-bas-more-menu {
	display: none;
	position: absolute;
	top: calc(100% + var(--g-1));
	right: 0;
	z-index: 30;
	min-width: 220px;
	max-height: 60vh;
	overflow-y: auto;
	margin: 0;
	padding: var(--g-1);
	list-style: none;
	background: var(--k-surface-2);
	color: var(--k-copy);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	box-shadow: var(--d-6);
}

.prie-dieu-bas-more-menu.is-open {
	display: block;
}

.prie-dieu-bas-more-menu .prie-dieu-bas-entry {
	display: block;
	width: 100%;
}

.prie-dieu-bas-more-menu .prie-dieu-bas-entry + .prie-dieu-bas-entry::before {
	display: none;
}

.prie-dieu-bas-more-menu .prie-dieu-bas-route {
	display: block;
	width: 100%;
	padding: var(--g-2) var(--g-3);
	border-radius: var(--r-3);
	line-height: var(--l-default);
}

.prie-dieu-bas-acts {
	order: 3;
	display: flex;
	align-items: center;
	gap: var(--g-3);
	flex-shrink: 0;
	margin-left: auto;
}

.prie-dieu-bas-call-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding-inline: var(--g-4);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	border-radius: var(--r-4);
}

.prie-dieu-bas-call-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

.prie-dieu-bas-pane {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	max-height: 72vh;
	overflow-y: auto;
	background: var(--k-surface);
	border-top: var(--b-fine) solid var(--k-divider);
	box-shadow: var(--d-6);
}

.prie-dieu-bas-pane.is-open {
	display: block;
}

.prie-dieu-bas-pane-stack {
	margin: 0;
	padding: var(--g-3);
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--g-1);
}

.prie-dieu-bas-pane-entry {
	display: block;
}

.prie-dieu-bas-pane-route {
	display: block;
	padding: var(--g-2) var(--g-3);
	color: var(--k-copy);
	background: var(--k-surface);
	font-size: var(--z-base);
	font-variant: small-caps;
	text-decoration: none;
	border-radius: var(--r-3);
}

.prie-dieu-bas-pane-route:hover {
	background: var(--k-surface-2);
	color: var(--k-focus);
}

.prie-dieu-bas-pane-here {
	background: var(--k-focus);
	color: var(--k-surface);
	font-weight: var(--w-strong);
}

.prie-dieu-bas-pane-here:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

@media (max-width: 900px) {
	.prie-dieu-bas-guide {
		display: none;
	}

	.prie-dieu-bas-menu-opener {
		display: inline-flex;
	}

	.prie-dieu-bas-acts {
		order: 3;
		margin-left: auto;
	}

	.prie-dieu-bas-menu-opener {
		margin-left: var(--g-3) !important;
	}
}

@media (max-width: 620px) {
	.prie-dieu-bas-bar {
		gap: var(--g-2);
		padding-inline: var(--g-3);
		flex-wrap: wrap;
	}

	.prie-dieu-bas-acts {
		display: contents;
	}

	.prie-dieu-bas-call-go {
		order: 5;
		flex-basis: 100%;
		margin-bottom: var(--g-1);
	}

	.prie-dieu-bas-crest img {
		height: 48px;
	}

	.prie-dieu-bas.is-shrunk .prie-dieu-bas-crest img {
		height: 40px;
	}

	.prie-dieu-bas-call-go {
		padding-inline: var(--g-3);
		font-size: var(--z-xs);
	}

	.prie-dieu-bas-menu-opener {
		padding-inline: var(--g-2);
		font-size: var(--z-xs);
	}
}

/* hero — HERO-04 */

.jube-vaste {
	position: relative;
	height: var(--shot-h);
	overflow: hidden;
	background: var(--k-main);
}

.jube-vaste-track {
	margin: 0;
	padding: 0;
	list-style: none;
	height: 100%;
}

.jube-vaste-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--t-slow) var(--x-settle);
}

.jube-vaste-slide.is-open {
	opacity: 1;
	visibility: visible;
}

.jube-vaste-shot {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jube-vaste-slide1 .jube-vaste-shot {
	object-position: center 32%;
}

.jube-vaste-slide2 .jube-vaste-shot {
	object-position: 22% 46%;
}

.jube-vaste-slide3 .jube-vaste-shot {
	object-position: 78% 40%;
}

.jube-vaste-veil {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, rgba(11, 8, 22, 0.86) 0%, rgba(11, 8, 22, 0.55) 45%, rgba(11, 8, 22, 0.9) 100%);
}

.jube-vaste-inside {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.jube-vaste-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
	padding-top: var(--h-pad);
	padding-bottom: 84px;
	background: rgba(11, 8, 22, 0);
	color: var(--k-copy);
}

.jube-vaste-tag {
	display: inline-block;
	font-family: var(--f-copy);
	font-size: var(--z-sm);
	font-weight: var(--w-half);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	color: var(--k-focus);
	background: rgba(11, 8, 22, 0);
	margin-bottom: var(--g-2);
}

.jube-vaste-lede {
	color: var(--k-copy);
	margin-bottom: var(--g-3);
}

.jube-vaste-deck {
	max-width: var(--v-slim);
	color: var(--k-copy);
	font-size: var(--z-h5);
	line-height: var(--l-default);
	margin-bottom: var(--g-4);
}

.jube-vaste-acts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--g-3);
	margin-bottom: var(--g-2);
}

.jube-vaste-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding-inline: var(--g-6);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xs-2);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--r-4);
	transition: transform var(--t-brisk) var(--x-settle), background var(--t-brisk) var(--x-settle);
}

.jube-vaste-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
	transform: translateY(-5px);
}

.jube-vaste-terms {
	display: block;
	max-width: var(--v-slim);
	color: var(--k-muted);
	background: rgba(11, 8, 22, 0);
	font-size: var(--z-xs);
	line-height: var(--l-default);
}

.jube-vaste-controls {
	position: absolute;
	inset-block-end: var(--g-4);
	inset-inline: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--g-3);
	z-index: 3;
}

.jube-vaste-prev,
.jube-vaste-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: var(--b-fine) solid var(--k-border-strong);
	background: var(--k-surface);
	color: var(--k-copy);
	font-size: var(--z-h5);
	border-radius: var(--r-dot);
	cursor: pointer;
}

.jube-vaste-prev:hover,
.jube-vaste-next:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

.jube-vaste-dots {
	display: flex;
	align-items: center;
	gap: var(--g-1);
}

.jube-vaste-dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: var(--b-fine) solid var(--k-copy);
	background: rgba(11, 8, 22, 0);
	border-radius: var(--r-dot);
	cursor: pointer;
}

.jube-vaste-dot[aria-current='true'] {
	background: var(--k-focus);
	border-color: var(--k-focus);
}

@media (max-width: 780px) {
	.jube-vaste {
		height: auto;
	}

	.jube-vaste-slide {
		position: relative;
		display: none;
		opacity: 1;
		visibility: visible;
	}

	.jube-vaste-slide.is-open {
		display: block;
	}

	.jube-vaste-shot {
		position: absolute;
	}

	.jube-vaste-inside {
		position: relative;
		min-height: var(--shot-h);
		padding-block: var(--g-5);
	}

	.jube-vaste-shell {
		padding-top: var(--h-pad);
		padding-bottom: 0;
	}

	.jube-vaste-controls {
		position: relative;
		inset-block-end: auto;
		padding-block: var(--g-3);
	}

	.jube-vaste-prev,
	.jube-vaste-next {
		display: none;
	}
}

/* page-header — PHEAD-02 */

.dais-robuste {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
	text-align: center;
}

.dais-robuste-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.dais-robuste-tag {
	display: inline-block;
	font-size: var(--z-sm);
	font-weight: var(--w-half);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	color: var(--k-focus);
	background: var(--k-surface);
	margin-bottom: var(--g-2);
}

.dais-robuste-lede {
	color: var(--k-copy);
}

.dais-robuste-rule {
	width: 88px;
	height: var(--b-heavy);
	margin: var(--g-3) auto;
	background: var(--k-focus);
	border: 0;
}

.dais-robuste-deck {
	color: var(--k-muted);
	font-size: var(--z-h5);
	line-height: var(--l-default);
}

.dais-robuste-extra {
	color: var(--k-muted);
	background: var(--k-surface);
	font-size: var(--z-sm);
	margin-top: var(--g-2);
}

.dais-robuste-acts {
	display: flex;
	justify-content: center;
	margin-top: var(--g-4);
}

.dais-robuste-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding-inline: var(--g-5);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--r-4);
}

.dais-robuste-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

/* prose — PROSE-22 «красная строка» */

.cellule-classique {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.cellule-classique-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.cellule-classique-part {
	margin-bottom: var(--g-4);
}

.cellule-classique-part:last-child {
	margin-bottom: 0;
}

.cellule-classique-hdr {
	font-size: var(--z-display-3);
	font-weight: var(--w-book);
	color: var(--k-focus);
	margin-bottom: var(--g-2);
}

.cellule-classique-part p {
	margin: 0;
	text-indent: 2.4em;
	color: var(--k-copy);
	line-height: var(--l-default);
}

.cellule-classique-part p:first-of-type,
.cellule-classique-hdr + p {
	text-indent: 0;
}

.cellule-classique-part p a {
	color: var(--k-focus);
	background: var(--k-surface);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: background var(--t-brisk) var(--x-settle), color var(--t-brisk) var(--x-settle);
}

.cellule-classique-part p a:hover {
	background: var(--k-focus);
	color: var(--k-surface);
	text-decoration: none;
}

.cellule-classique-part strong {
	font-weight: var(--w-strong);
	color: var(--k-copy);
}

.cellule-classique-stack {
	margin: var(--g-2) 0 0;
	padding-left: var(--g-4);
	color: var(--k-copy);
}

.cellule-classique-stack li {
	margin-bottom: var(--g-1);
	line-height: var(--l-default);
}

.cellule-classique-stack li a {
	color: var(--k-focus);
	background: var(--k-surface);
}

.cellule-classique-stack li a:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

/* items-grid — GRID-08 */

.parterre-large {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.parterre-large-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.parterre-large-hdr {
	margin-bottom: var(--g-5);
	color: var(--k-copy);
}

.parterre-large-stack {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--g-5);
}

.parterre-large-plate {
	border-top: 4px solid var(--k-focus);
	border-radius: 0 0 var(--r-4) var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
	box-shadow: var(--d-3);
	padding: var(--g-5);
	transition: box-shadow var(--t-regular) var(--x-settle);
}

.parterre-large-plate:hover {
	box-shadow: var(--d-5);
}

.parterre-large-glyph {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: var(--g-3);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	background: var(--k-main);
	color: var(--k-focus);
}

.parterre-large-glyph svg {
	width: 21px;
	height: 21px;
}

.parterre-large-lede {
	margin-bottom: var(--g-2);
	color: var(--k-copy);
}

.parterre-large-words {
	color: var(--k-muted);
	background: var(--k-surface-2);
	line-height: var(--l-default);
}

@media (max-width: 1040px) {
	.parterre-large-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.parterre-large-stack {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--g-4);
	}

	.parterre-large-plate {
		padding: var(--g-4);
	}
}

/* data-table — TABLE-04 */

.niche-noble {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.niche-noble-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.niche-noble-hdr {
	margin-bottom: var(--g-5);
	color: var(--k-copy);
}

.niche-noble-scroll {
	overflow-x: auto;
	border-radius: var(--r-4);
	border: var(--b-fine) solid var(--k-divider);
}

.niche-noble-grid {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--z-sm);
	background: var(--k-surface-2);
	color: var(--k-muted);
}

.niche-noble-grid th {
	background: var(--k-main);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-weight: var(--w-strong);
	text-align: left;
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	padding: var(--g-3) var(--g-4);
	white-space: nowrap;
}

.niche-noble-grid th:first-child {
	background: var(--k-main);
	color: var(--k-copy);
	border-right: 4px solid var(--k-focus);
}

.niche-noble-grid td {
	background: var(--k-surface-2);
	color: var(--k-muted);
	padding: var(--g-3) var(--g-4);
	border-top: var(--b-fine) solid var(--k-divider);
	line-height: var(--l-default);
}

.niche-noble-grid td:first-child {
	background: var(--k-main);
	color: var(--k-copy);
	font-weight: var(--w-strong);
	border-right: 4px solid var(--k-focus);
	padding: var(--g-4);
}

/* reviews — REV-07 */

.sanctuaire-calme {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.sanctuaire-calme-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.sanctuaire-calme-hdr {
	margin-bottom: var(--g-5);
	color: var(--k-copy);
}

.sanctuaire-calme-stack {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--g-5);
}

.sanctuaire-calme-plate {
	padding: var(--g-5);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
	box-shadow: var(--d-3);
	transition: box-shadow var(--t-regular) var(--x-settle);
}

.sanctuaire-calme-plate:hover {
	box-shadow: var(--d-5);
}

.sanctuaire-calme-plateHot {
	background: #33280f;
	color: var(--k-copy);
}

.sanctuaire-calme-plateMid {
	background: var(--k-surface-2);
	color: var(--k-copy);
}

.sanctuaire-calme-plateLow {
	background: #1d1738;
	color: var(--k-copy);
}

.sanctuaire-calme-bar {
	display: flex;
	align-items: center;
	gap: var(--g-3);
	margin-bottom: var(--g-3);
}

.sanctuaire-calme-score {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xl-2);
	line-height: var(--l-tight);
	color: var(--k-focus);
}

.sanctuaire-calme-stars {
	color: var(--k-focus);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
}

.sanctuaire-calme-quote {
	margin: 0 0 var(--g-3);
	color: var(--k-copy);
	line-height: var(--l-default);
	font-size: var(--z-sm);
}

.sanctuaire-calme-person {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	color: var(--k-copy);
}

.sanctuaire-calme-when {
	color: var(--k-muted);
	font-size: var(--z-xs);
}

@media (max-width: 720px) {
	.sanctuaire-calme-stack {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--g-4);
	}

	.sanctuaire-calme-plate {
		padding: var(--g-4);
	}
}

/* faq — FAQ-07 */

.pavois-grand {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.pavois-grand-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.pavois-grand-hdr {
	margin-bottom: var(--g-4);
	color: var(--k-copy);
}

.pavois-grand-stack {
	display: flex;
	flex-direction: column;
	gap: var(--g-3);
}

.pavois-grand-entry {
	border-bottom: var(--b-fine) solid var(--k-divider);
}

.pavois-grand-ask {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--g-3);
	padding-block: var(--g-2);
	cursor: pointer;
	list-style: none;
	color: var(--k-copy);
	background: var(--k-surface);
}

.pavois-grand-ask::-webkit-details-marker {
	display: none;
}

.pavois-grand-ask:hover {
	color: var(--k-focus);
	background: var(--k-surface);
}

.pavois-grand-lede {
	font-family: var(--f-copy);
	font-size: var(--z-sm);
	font-weight: var(--w-half);
	line-height: var(--l-default);
	letter-spacing: var(--e-regular);
	text-transform: none;
}

.pavois-grand-sign {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--k-focus);
	background: var(--k-surface);
	font-family: var(--f-display);
	font-size: var(--z-xs-2);
	transition: transform var(--t-regular) var(--x-both);
}

.pavois-grand-entry[open] .pavois-grand-sign {
	transform: rotate(45deg);
}

.pavois-grand-inside {
	display: grid;
	grid-template-rows: 1fr;
}

.pavois-grand-entry[open] .pavois-grand-inside {
	animation: askDrop var(--t-regular) var(--x-both);
}

@keyframes askDrop {
	from {
		grid-template-rows: 0fr;
	}

	to {
		grid-template-rows: 1fr;
	}
}

.pavois-grand-words {
	overflow: hidden;
	padding-block: var(--g-2);
	color: var(--k-muted);
	background: var(--k-surface);
	font-size: var(--z-sm);
	line-height: var(--l-default);
}

/* cta-block — CTA-07 */

.preau-fin {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.preau-fin-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.preau-fin-plate {
	padding: var(--g-6) var(--g-5);
	border: 2px solid var(--k-focus);
	border-radius: var(--r-5);
	background: var(--k-main);
	color: var(--k-copy);
	text-align: center;
}

.preau-fin-figure {
	display: block;
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-display-1);
	line-height: var(--l-tight);
	color: var(--k-focus);
	background: var(--k-main);
	margin-bottom: var(--g-3);
}

.preau-fin-lede {
	margin-bottom: var(--g-3);
	color: var(--k-copy);
}

.preau-fin-words {
	max-width: var(--v-slim);
	margin-inline: auto;
	margin-bottom: var(--g-4);
	color: var(--k-muted);
	background: var(--k-main);
	line-height: var(--l-default);
}

.preau-fin-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding-inline: var(--g-6);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xs-2);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--r-4);
	transition: transform var(--t-brisk) var(--x-settle), background var(--t-brisk) var(--x-settle);
}

.preau-fin-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
	transform: translateY(-5px);
}

.preau-fin-terms {
	display: block;
	max-width: var(--v-slim);
	margin-inline: auto;
	margin-top: var(--g-3);
	color: var(--k-muted);
	background: var(--k-main);
	font-size: var(--z-xs);
	line-height: var(--l-default);
}

/* inline offer band */

.tribune-vif {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.tribune-vif-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.tribune-vif-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--g-4);
	padding: var(--g-4) var(--g-5);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
	border-left: 4px solid var(--k-focus);
}

.tribune-vif-words {
	flex: 1 1 320px;
	color: var(--k-copy);
	background: var(--k-surface-2);
	font-size: var(--z-h5);
	font-weight: var(--w-half);
	line-height: var(--l-default);
}

.tribune-vif-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding-inline: var(--g-5);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--r-4);
	transition: transform var(--t-brisk) var(--x-settle), background var(--t-brisk) var(--x-settle);
}

.tribune-vif-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
	transform: translateY(-5px);
}

.tribune-vif-terms {
	flex: 1 1 100%;
	color: var(--k-muted);
	background: var(--k-surface-2);
	font-size: var(--z-xs);
	line-height: var(--l-default);
}

/* legal-section — LEGAL-02 */

.credence-sombre {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.credence-sombre-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.credence-sombre-body {
	counter-reset: legal-part;
}

.credence-sombre-part {
	counter-increment: legal-part;
	margin-bottom: var(--g-5);
}

.credence-sombre-hdr {
	margin-bottom: var(--g-2);
	color: var(--k-copy);
}

.credence-sombre-hdr::before {
	content: counter(legal-part) '. ';
	color: var(--k-focus);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	margin-right: var(--g-2);
}

.credence-sombre-words {
	padding-left: var(--g-4);
	margin-bottom: var(--g-2);
	color: var(--k-copy);
	line-height: var(--l-default);
}

.credence-sombre-stack {
	padding-left: var(--g-6);
	color: var(--k-muted);
}

.credence-sombre-stack li {
	margin-bottom: var(--g-1);
	line-height: var(--l-default);
}

.credence-sombre-note {
	padding: var(--g-4);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-muted);
	font-size: var(--z-sm);
	line-height: var(--l-default);
}

.credence-sombre-route {
	color: var(--k-focus);
	background: var(--k-surface-2);
}

.credence-sombre-route:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

@media (max-width: 720px) {
	.credence-sombre-words {
		padding-left: 0;
	}

	.credence-sombre-stack {
		padding-left: var(--g-4);
	}
}

/* contact-form — FORM-08 */

.presbytere-calme {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.presbytere-calme-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.presbytere-calme-hdr {
	margin-bottom: var(--g-4);
	color: var(--k-copy);
}

.presbytere-calme-plate {
	padding: var(--g-6);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
}

.presbytere-calme-control {
	display: flex;
	flex-direction: column;
	gap: var(--g-1);
	margin-bottom: var(--g-4);
}

.presbytere-calme-cue {
	font-size: var(--z-sm);
	font-weight: var(--w-half);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	color: var(--k-muted);
	background: var(--k-surface-2);
}

.presbytere-calme-control input,
.presbytere-calme-control textarea {
	width: 100%;
	padding: var(--g-2) var(--g-4);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	background: var(--k-surface);
	color: var(--k-copy);
	font-family: var(--f-copy);
	font-size: var(--z-base);
	line-height: var(--l-default);
	min-height: 48px;
}

.presbytere-calme-control textarea {
	min-height: 160px;
	resize: vertical;
}

.presbytere-calme-send {
	width: 100%;
	height: 72px;
	border: 0;
	border-radius: var(--r-4);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-h4);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--t-brisk) var(--x-settle);
}

.presbytere-calme-send:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

.presbytere-calme-done {
	display: none;
	padding: var(--g-4);
	border-radius: var(--r-4);
	background: var(--k-gradient-mid);
	color: var(--k-surface);
	font-weight: var(--w-half);
	line-height: var(--l-default);
}

.presbytere-calme-done.is-open {
	display: block;
}

.presbytere-calme-stack {
	margin: var(--g-4) 0 0;
	padding-left: var(--g-4);
	color: var(--k-muted);
}

.presbytere-calme-stack li {
	margin-bottom: var(--g-1);
	line-height: var(--l-default);
}

@media (max-width: 720px) {
	.presbytere-calme-plate {
		padding: var(--g-4);
	}

	.presbytere-calme-send {
		height: 64px;
		font-size: var(--z-h5);
	}
}

/* author-card — AUTH-01 */

.peristyle-dense {
	padding-block: var(--sec-y);
	background: var(--k-surface);
	color: var(--k-copy);
}

.peristyle-dense-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.peristyle-dense-plate {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: var(--g-6);
	padding: var(--g-6) var(--g-5);
	border-radius: var(--r-5);
	background: var(--k-surface-2);
	color: var(--k-copy);
	box-shadow: var(--d-3);
}

.peristyle-dense-pic {
	width: 160px;
	height: 160px;
	border-radius: var(--r-dot);
	overflow: hidden;
	align-self: start;
	background: var(--k-main);
}

.peristyle-dense-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.peristyle-dense-inside {
	display: flex;
	flex-direction: column;
	gap: var(--g-4);
}

.peristyle-dense-duty {
	font-family: var(--f-copy);
	font-weight: var(--w-half);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	color: var(--k-focus);
	background: var(--k-surface-2);
}

.peristyle-dense-person {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xl-2);
	line-height: var(--l-tight);
	color: var(--k-copy);
}

.peristyle-dense-bio {
	color: var(--k-muted);
	background: var(--k-surface-2);
	line-height: var(--l-relaxed);
}

.peristyle-dense-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--g-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.peristyle-dense-chip {
	display: inline-block;
	padding: var(--g-1) var(--g-3);
	border-radius: var(--r-lozenge);
	background: var(--k-main);
	color: var(--k-copy);
	font-size: var(--z-xs);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
}

@media (max-width: 720px) {
	.peristyle-dense-plate {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--g-4);
		justify-items: center;
		text-align: center;
	}

	.peristyle-dense-pic {
		width: 120px;
		height: 120px;
	}

	.peristyle-dense-tags {
		justify-content: center;
	}
}

/* author-byline — BYLINE-02 */

.enceinte-dense {
	padding-block: var(--g-5);
	background: var(--k-surface);
	color: var(--k-copy);
}

.enceinte-dense-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
}

.enceinte-dense-plate {
	display: flex;
	gap: var(--g-4);
	max-width: var(--v-slim);
	margin-inline: auto;
	padding: var(--g-5);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
}

.enceinte-dense-pic {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: var(--r-dot);
	overflow: hidden;
	display: block;
	background: var(--k-main);
}

.enceinte-dense-pic img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.enceinte-dense-inside {
	display: flex;
	flex-direction: column;
	gap: var(--g-1);
}

.enceinte-dense-cue {
	font-size: var(--z-xs);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	color: var(--k-muted);
	background: var(--k-surface-2);
}

.enceinte-dense-person {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-h4);
	line-height: var(--l-tight);
	color: var(--k-copy);
}

.enceinte-dense-person a {
	color: var(--k-copy);
	background: var(--k-surface-2);
	text-decoration: none;
}

.enceinte-dense-person a:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

.enceinte-dense-duty {
	font-size: var(--z-sm);
	color: var(--k-muted);
	background: var(--k-surface-2);
}

.enceinte-dense-bio {
	color: var(--k-copy);
	background: var(--k-surface-2);
	line-height: var(--l-default);
}

.enceinte-dense-when {
	font-size: var(--z-xs);
	color: var(--k-muted);
	background: var(--k-surface-2);
}

.enceinte-dense-route {
	align-self: start;
	color: var(--k-focus);
	background: var(--k-surface-2);
	font-size: var(--z-sm);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
}

.enceinte-dense-route:hover {
	background: var(--k-focus);
	color: var(--k-surface);
}

@media (max-width: 720px) {
	.enceinte-dense-plate {
		flex-direction: column;
	}
}

/* error-block — ERR-01 */

.catafalque-dore {
	padding-block: var(--g-6);
	background: var(--k-surface);
	color: var(--k-copy);
	text-align: center;
	flex: 1 0 auto;
}

.catafalque-dore-shell {
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--g-5);
}

.catafalque-dore-figure {
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: clamp(80px, 16vw, 200px);
	line-height: var(--l-tight);
	color: var(--k-focus);
	background: var(--k-surface);
}

.catafalque-dore-lede {
	max-width: var(--v-slim);
	color: var(--k-copy);
}

.catafalque-dore-words {
	max-width: var(--v-slim);
	color: var(--k-muted);
	background: var(--k-surface);
	font-size: var(--z-h5);
	line-height: var(--l-default);
}

.catafalque-dore-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding-inline: var(--g-6);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xs-2);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--r-4);
}

.catafalque-dore-go:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

/* footer — FOOT-04 Sticky Mini */

.jube-lumineux {
	position: relative;
	flex-shrink: 0;
	background: var(--k-main);
	color: var(--k-muted);
	border-top: var(--b-fine) solid var(--k-divider);
}

.jube-lumineux-bar {
	min-height: 64px;
	width: 100%;
	max-width: calc(var(--v-main) + 2 * var(--v-edge-wide));
	margin-inline: auto;
	padding-inline: var(--v-edge-wide);
	padding-block: var(--g-2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--g-4);
	flex-wrap: wrap;
}

.jube-lumineux-note {
	color: var(--k-muted);
	background: var(--k-main);
	font-size: var(--z-xs);
	line-height: var(--l-default);
}

.jube-lumineux-guide {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--g-3);
	justify-content: flex-end;
}

.jube-lumineux-route {
	color: var(--k-muted);
	background: var(--k-main);
	font-size: var(--z-xs);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	text-decoration: none;
	padding-left: var(--g-3);
	border-left: var(--b-fine) solid var(--k-border-strong);
}

.jube-lumineux-route:first-child {
	padding-left: 0;
	border-left: 0;
}

.jube-lumineux-route:hover {
	color: var(--k-copy);
	background: var(--k-main);
}

@media (max-width: 900px) {
	.jube-lumineux-bar {
		min-height: 80px;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--g-2);
	}

	.jube-lumineux-guide {
		justify-content: flex-start;
	}
}

/* cookie-banner — COOK-01 Bottom Floating Pill */

.gradin-calme {
	display: none;
	position: fixed;
	inset-block-end: var(--g-4);
	inset-inline: var(--g-4);
	max-width: var(--v-slim);
	margin-inline: auto;
	z-index: 90;
}

.gradin-calme.is-visible {
	display: flex;
	animation: gradinGlide var(--t-slow) var(--x-settle) both;
}

@keyframes gradinGlide {
	from {
		transform: translateX(-28px);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.gradin-calme-plate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--g-4);
	width: 100%;
	padding: var(--g-4);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	background: var(--k-surface-2);
	color: var(--k-copy);
	box-shadow: var(--d-4);
}

.gradin-calme-note {
	flex: 1 1 280px;
	font-family: var(--f-copy);
	font-size: var(--z-sm);
	line-height: var(--l-default);
	color: var(--k-muted);
	background: var(--k-surface-2);
}

.gradin-calme-acts {
	display: flex;
	gap: var(--g-3);
	flex-wrap: wrap;
}

.gradin-calme-approve {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding-inline: var(--g-4);
	border: 0;
	border-radius: var(--r-4);
	background: var(--k-focus);
	color: var(--k-surface);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xs);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
}

.gradin-calme-approve:hover {
	background: var(--k-press);
	color: var(--k-surface);
}

.gradin-calme-refuse {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding-inline: var(--g-4);
	border: var(--b-fine) solid var(--k-border-strong);
	border-radius: var(--r-4);
	background: var(--k-surface);
	color: var(--k-copy);
	font-family: var(--f-display);
	font-weight: var(--w-strong);
	font-size: var(--z-xs);
	letter-spacing: var(--e-loose);
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
}

.gradin-calme-refuse:hover {
	background: var(--k-main);
	color: var(--k-copy);
}

@media (max-width: 720px) {
	.gradin-calme,
	.gradin-calme-plate {
		padding: 12px 14px !important;
		gap: 8px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	.gradin-calme {
		padding: 0 !important;
		inset-inline: var(--g-3);
		inset-block-end: var(--g-3);
	}

	.gradin-calme-note {
		flex: 1 1 100%;
	}

	.gradin-calme-approve,
	.gradin-calme-refuse {
		padding: 8px 14px !important;
		font-size: 12px !important;
		min-height: 36px !important;
	}
}

@media (max-width: 430px) {
	.gradin-calme-acts {
		flex-direction: column;
		width: 100%;
	}

	.gradin-calme-approve,
	.gradin-calme-refuse {
		width: 100%;
		white-space: normal;
	}
}

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

/* Offer CTA — scripts/cta-style.mjs (colore magenta sostituito: la spec vieta i toni rosa/magenta) */
@property --shine-rvvc {
	syntax: '<percentage>';
	initial-value: -40%;
	inherits: false;
}

.rvvc-act{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 32px;border:1px solid #19132F;border-radius:2px;
  background:#06B6D4;color:#19132F;text-decoration:none;
  font-size:15px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
  box-shadow:0 5px 15px rgba(0,0,0,.22);transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}
.rvvc-act:hover{background:#0891B2;color:#19132F;box-shadow:0 3px 10px rgba(0,0,0,.28);animation:none}
.rvvc-act:hover::after{animation:none}
.rvvc-act:active{background:#0E7490;color:#FFFFFF}
.rvvc-act:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
.rvvc-act{overflow:hidden}
.rvvc-act::after{content:"";position:absolute;inset:0;width:100%;transform:none;pointer-events:none;
  background:linear-gradient(100deg,transparent calc(var(--shine-rvvc) - 24%),rgba(255,255,255,.42) var(--shine-rvvc),transparent calc(var(--shine-rvvc) + 24%));
  animation:shine_rvvc 4.8s ease-in-out infinite}
@keyframes shine_rvvc{0%{--shine-rvvc:-40%}45.833%,100%{--shine-rvvc:140%}}
@media (prefers-reduced-motion:reduce){.rvvc-act,.rvvc-act::after{animation:none!important;transition:none!important}}

/* adattamento del pulsante alla riga della testata */
.prie-dieu-bas-acts .rvvc-act {
	min-height: 44px;
	padding-inline: var(--g-4);
	font-size: var(--z-sm);
	letter-spacing: 0.6px;
}

@media (max-width: 620px) {
	.prie-dieu-bas-acts .rvvc-act {
		padding-inline: var(--g-3);
		font-size: var(--z-xs);
	}
}

/* scheda senza tema: slot vuoto, i titoli restano allineati nella riga */
.parterre-large-glyphVoid {
	border-color: transparent;
	background: transparent;
}

.presbytere-calme-lead {
	margin-bottom: var(--g-4);
	color: var(--k-muted);
	background: var(--k-surface);
	font-size: var(--z-h5);
	line-height: var(--l-default);
}

.sanctuaire-calme-page-figure {
	margin-block: var(--z-display-3);
}

.sanctuaire-calme-page-figure img {
	display: block;
	max-width: 100%;
	max-height: 56vh;
	width: auto;
	height: auto;
	margin-inline: auto;
}

.cellule-classique-page-figure {
	margin-block: var(--z-display-3);
}

.cellule-classique-page-figure img {
	display: block;
	max-width: 100%;
	max-height: 56vh;
	width: auto;
	height: auto;
	margin-inline: auto;
}

.parterre-large-page-figure {
	margin-block: var(--z-display-3);
}

.parterre-large-page-figure img {
	display: block;
	max-width: 100%;
	max-height: 56vh;
	width: auto;
	height: auto;
	margin-inline: auto;
}
