/* ============================================================
   GunsBet Casino — render-modern.css
   TYPO-05 · SPACE-08 · CONT-03 · GEO-04 · MOTION-04 · NAME-06
   Western noir, dark. Cascade-ordered.
   ============================================================ */

/* ---- 1. Design tokens ---- */
:root {
	/* colors (final, ±2% shifted) */
	--site-brand-color: #000000;
	--site-secondary: #fccc02;
	--site-accent-dark: #d0b602;
	--site-canvas: #000000;
	--site-surface-2: #141414;
	--site-color-surface: #1c1c1c;
	--site-body-color: #ffffff;
	--site-muted: #bfbebe;
	--site-gradient-start: #fff07d;
	--site-gradient-mid: #4abd51;
	--site-notice-bg: #dc2626;
	--site-color-line: rgba(255,255,255,0.08);
	--site-color-line-strong: rgba(255,255,255,0.14);

	/* fonts */
	--site-heading-font: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
	--site-font-text: 'Inter', system-ui, -apple-system, sans-serif;

	/* typography TYPO-05 (desktop) */
	--site-type-h1: 72px;
	--site-fs-h2: 44px;
	--site-text-h3: 28px;
	--site-size-h4: 20px;
	--site-type-h5: 16px;
	--site-fs-h6: 14px;
	--site-size-body: 18px;
	--site-type-small: 15px;
	--site-size-xs: 12px;
	--site-line-tight: 1.05;
	--site-leading-normal: 1.5;
	--site-line-loose: 1.7;
	--site-letter-tight: -0.03em;
	--site-ls-normal: 0;
	--site-tracking-wide: 0.05em;
	--site-weight-regular: 400;
	--site-weight-medium: 500;
	--site-fw-semibold: 600;
	--site-font-bold: 700;

	/* spacing SPACE-08 */
	--site-gutter-2xs: 5px;
	--site-gutter-xs: 10px;
	--site-spacing-sm: 15px;
	--site-gutter-md: 25px;
	--site-gutter-lg: 40px;
	--site-spacing-xl: 60px;
	--site-gutter-2xl: 90px;
	--site-gutter-3xl: 140px;

	/* container CONT-03 */
	--site-shell-width: 1360px;
	--site-container-narrow: 640px;
	--site-container-default: 1080px;
	--site-container-wide: 1480px;
	--site-prose-width: 720px;
	--site-gutter-desktop: 24px;
	--site-container-padding-tablet: 32px;
	--site-inset-mobile: 16px;

	/* geometry GEO-04 */
	--site-round-xs: 2px;
	--site-rounded-sm: 6px;
	--site-round-md: 8px;
	--site-round-lg: 14px;
	--site-radius-pill: 9999px;
	--site-circle: 50%;
	--site-shadow-xs: 0 1px 2px rgba(0,0,0,0.05);
	--site-shadow-sm: 0 2px 4px rgba(0,0,0,0.08);
	--site-elevation-2: 0 4px 10px rgba(0,0,0,0.10);
	--site-elevation-3: 0 8px 20px rgba(0,0,0,0.14);
	--site-stroke-thin: 1px;
	--site-border-medium: 2px;
	--site-border-thick: 3px;

	/* motion MOTION-04 (sharp snappy) */
	--site-duration-fast: 80ms;
	--site-speed-base: 120ms;
	--site-speed-slow: 180ms;
	--site-ease: cubic-bezier(0.5, 0, 0.5, 1);

	--site-header-h-desktop: 140px;
	--site-header-h-mobile: 100px;
}

/* ---- 2. Reset / base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body {
	margin: 0;
	background: var(--site-canvas);
	color: var(--site-body-color);
	font-family: var(--site-font-text);
	font-size: var(--site-size-body);
	line-height: var(--site-leading-normal);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--site-secondary); text-decoration: none; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--site-heading-font); line-height: var(--site-line-tight); }
p { margin: 0 0 var(--site-gutter-md); }
ul, ol { margin: 0 0 var(--site-gutter-md); padding-left: 1.4em; }
strong { font-weight: var(--site-font-bold); color: var(--site-body-color); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; animation: none !important; }
}

/* ---- 3. a11y utilities ---- */
.skip-link {
	position: absolute; left: var(--site-gutter-md); z-index: 300;
	background: var(--site-secondary); color: var(--site-canvas);
	padding: var(--site-gutter-xs) var(--site-gutter-md); border-radius: var(--site-round-md);
	font-weight: var(--site-font-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--site-gutter-xs); }
.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;
}

/* ---- 4. Responsible-gaming banner (header not fixed → relative) ---- */
.rg-banner {
	margin: 0; padding: var(--site-gutter-2xs) var(--site-gutter-md);
	background: var(--site-notice-bg); color: #ffffff;
	text-align: center; font-size: var(--site-size-xs);
	font-weight: var(--site-fw-semibold); letter-spacing: var(--site-tracking-wide);
}

/* ---- 5. Layout: page-main + section inner width ---- */
.page-main { display: block; }
.crucifix-lourd-inner,
.berceau-profond-inner,
.niche-moderne-inner,
.piedestal-lourd-inner,
.tribune-robuste-inner,
.receptacle-robuste-inner,
.catafalque-dore-inner,
.monstrance-voile-inner,
.support-dense-inner,
.oriflamme-classique-inner,
.tribune-fluide-inner {
	max-width: calc(var(--site-shell-width) + 2 * var(--site-gutter-desktop));
	margin-inline: auto;
	padding-inline: var(--site-gutter-desktop);
	width: 100%;
}

/* shared section vertical rhythm (A-09 safe: 48px → pairs = 96px) */
.niche-moderne,
.piedestal-lourd,
.tribune-robuste,
.receptacle-robuste,
.catafalque-dore,
.monstrance-voile,
.support-dense,
.oriflamme-classique,
.tribune-fluide,
.tribune-vaste,
.verriere-dense {
	padding-block: 48px;
}

/* ============================================================
   HEADER — HEAD-14 Centered Hero-Logo (two rows)
   ============================================================ */
.crucifix-lourd {
	position: relative; z-index: 100;
	background: var(--site-canvas);
	border-bottom: 1px solid var(--site-color-line);
}
.crucifix-lourd-top {
	display: flex; align-items: center; justify-content: center;
	padding-top: var(--site-gutter-md); position: relative;
}
.crucifix-lourd-logo, .crucifix-lourd-logo-img { flex-shrink: 0; }
.crucifix-lourd-logo { display: inline-flex; }
.crucifix-lourd-logo-img { height: 88px; width: auto; }
.crucifix-lourd-toggle {
	display: none;
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	margin-left: auto !important;
	flex-direction: column; gap: 5px;
	background: transparent; border: 1px solid var(--site-color-line-strong);
	border-radius: var(--site-round-md); padding: 10px 12px; cursor: pointer;
}
.crucifix-lourd-toggle-bar { display: block; width: 24px; height: 2px; background: var(--site-body-color); }
.crucifix-lourd-bottom {
	display: flex; align-items: center; justify-content: center;
	position: relative; padding: var(--site-spacing-sm) var(--site-gutter-desktop);
	gap: var(--site-gutter-lg);
}
.crucifix-lourd-nav { display: flex; }
.crucifix-lourd-nav-list {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: var(--site-gutter-lg); align-items: center;
}
.crucifix-lourd-nav-item { margin: 0; }
.crucifix-lourd-nav-link {
	font-family: var(--site-heading-font); font-size: var(--site-fs-h6);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	color: var(--site-body-color); font-weight: var(--site-weight-medium);
	transition: color var(--site-duration-fast) var(--site-ease);
}
.crucifix-lourd-nav-link:hover, .crucifix-lourd-nav-link.is-active { color: var(--site-secondary); }
.crucifix-lourd-auth-btn {
	position: absolute; right: var(--site-gutter-desktop); top: 50%;
	transform: translateY(-50%);
	white-space: nowrap; flex-shrink: 0;
	padding-inline: var(--site-gutter-lg); padding-block: var(--site-gutter-xs);
	background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	border-radius: var(--site-round-md); font-size: var(--site-fs-h6);
	transition: background var(--site-duration-fast) var(--site-ease);
}
.crucifix-lourd-auth-btn:hover { background: var(--site-accent-dark); color: var(--site-canvas); }
/* mobile drawer (inside header) */
.crucifix-lourd-drawer {
	display: none;
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--site-surface-2);
	border-bottom: 1px solid var(--site-color-line);
	padding: var(--site-gutter-md) var(--site-inset-mobile);
	z-index: 200;
}
.crucifix-lourd-drawer.is-open { display: block; }
.crucifix-lourd-drawer-list { list-style: none; margin: 0 0 var(--site-gutter-md); padding: 0; }
.crucifix-lourd-drawer-item { margin: 0; border-bottom: 1px solid var(--site-color-line); }
.crucifix-lourd-drawer-link {
	display: block; padding: var(--site-spacing-sm) 0;
	font-family: var(--site-heading-font); text-transform: uppercase;
	letter-spacing: var(--site-tracking-wide); color: var(--site-body-color);
}
.crucifix-lourd-drawer-link:hover { color: var(--site-secondary); }
.crucifix-lourd-drawer-auth {
	display: block; text-align: center;
	padding: var(--site-spacing-sm); background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; border-radius: var(--site-round-md);
}
.crucifix-lourd-drawer-auth:hover { background: var(--site-accent-dark); color: var(--site-canvas); }

/* ============================================================
   HERO — HERO-06 Asymmetric Tilted Image
   ============================================================ */
.niche-moderne { position: relative; overflow: hidden; }
.niche-moderne-inner { position: relative; min-height: 560px; display: flex; align-items: center; }
.niche-moderne-content { position: relative; z-index: 2; width: 54%; padding-block: var(--site-spacing-xl); }
.niche-moderne-title { font-size: var(--site-type-h1); color: var(--site-body-color); letter-spacing: var(--site-letter-tight); }
.niche-moderne-subtitle {
	font-size: var(--site-type-h5); color: var(--site-muted);
	line-height: var(--site-leading-normal); margin: var(--site-gutter-md) 0 var(--site-gutter-lg); max-width: 480px;
}
.niche-moderne-cta {
	display: inline-block;
	background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	padding: var(--site-gutter-md) var(--site-gutter-2xl); border-radius: var(--site-round-md);
	transition: background var(--site-duration-fast) var(--site-ease);
}
.niche-moderne-cta:hover { background: var(--site-accent-dark); color: var(--site-canvas); }
.niche-moderne-figure {
	position: absolute; right: 0; top: -40px; width: 52%;
	height: calc(100% + 80px); margin: 0; overflow: hidden;
	transform: rotate(2deg); box-shadow: var(--site-elevation-3);
	border-radius: var(--site-round-lg);
	transition: transform var(--site-speed-slow) var(--site-ease);
}
.niche-moderne-figure:hover { transform: rotate(0deg) scale(1.02); }
.niche-moderne-img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================
   PAGE-HEADER — PHEAD-08 Tag Cluster + Title
   ============================================================ */
.piedestal-lourd-tags { list-style: none; display: flex; flex-wrap: wrap; gap: var(--site-gutter-xs); margin: 0 0 var(--site-gutter-md); padding: 0; }
.piedestal-lourd-tag {
	background: var(--site-color-surface); color: var(--site-body-color);
	border: 1px solid var(--site-color-line-strong);
	border-radius: var(--site-radius-pill); padding: var(--site-gutter-2xs) var(--site-spacing-sm);
	font-size: var(--site-size-xs); text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
}
.piedestal-lourd-title { font-size: var(--site-type-h1); color: var(--site-body-color); letter-spacing: var(--site-letter-tight); margin-bottom: var(--site-spacing-sm); }
.piedestal-lourd-desc { font-size: var(--site-type-h5); color: var(--site-muted); max-width: var(--site-prose-width); }

/* ============================================================
   INLINE-CTA — INLINE-CTA-07 Icon-Headlined Centered
   also reused for team/support cta blocks
   ============================================================ */
.tribune-vaste { text-align: center; }
.tribune-vaste-box {
	max-width: 560px; margin-inline: auto;
	display: flex; flex-direction: column; align-items: center;
	background: var(--site-surface-2); border: 1px solid var(--site-color-line);
	border-radius: var(--site-round-lg); padding: var(--site-spacing-xl) var(--site-gutter-md);
}
.tribune-vaste-icon { font-size: var(--site-type-h1); color: var(--site-secondary); line-height: 1; margin-bottom: var(--site-gutter-md); }
.tribune-vaste-heading { font-size: var(--site-text-h3); color: var(--site-body-color); margin-bottom: var(--site-spacing-sm); }
.tribune-vaste-subtext { font-size: var(--site-size-body); color: var(--site-muted); margin-bottom: var(--site-gutter-lg); }
.tribune-vaste-btn {
	display: inline-block; background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	padding: var(--site-gutter-md) var(--site-gutter-2xl); border-radius: var(--site-round-md);
	transition: background var(--site-duration-fast) var(--site-ease);
}
.tribune-vaste-btn:hover { background: var(--site-accent-dark); color: var(--site-canvas); }

/* ============================================================
   PROSE — PROSE-05 Wide Tech Documentation
   ============================================================ */
.monstrance-voile-body { max-width: var(--site-prose-width); }
.monstrance-voile-h {
	position: relative; font-family: var(--site-font-text); font-weight: var(--site-font-bold);
	font-size: var(--site-text-h3); text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	color: var(--site-body-color); margin-top: var(--site-spacing-xl); margin-bottom: var(--site-gutter-md);
	padding-top: var(--site-spacing-sm);
}
.monstrance-voile-h::before {
	content: ''; position: absolute; top: 0; left: 0;
	width: 40px; height: 2px; background: var(--site-secondary);
}
.monstrance-voile-body p { color: var(--site-muted); line-height: var(--site-leading-normal); }
.monstrance-voile-body ol, .monstrance-voile-body ul { color: var(--site-muted); }
.monstrance-voile-body li { margin-bottom: var(--site-gutter-xs); }
.monstrance-voile-body a { color: var(--site-secondary); text-decoration: underline; }
.monstrance-voile-body a:hover { color: var(--site-accent-dark); }

/* ============================================================
   ITEMS-GRID — GRID-04 Icon-Decorated Cards
   ============================================================ */
.tribune-robuste-title { font-size: var(--site-fs-h2); color: var(--site-body-color); margin-bottom: var(--site-gutter-lg); text-align: center; }
.tribune-robuste-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--site-gutter-md); }
.tribune-robuste-card {
	background: var(--site-surface-2); border: 1px solid var(--site-color-line);
	border-radius: var(--site-round-md); padding: var(--site-gutter-lg);
	transition: border-color var(--site-duration-fast) var(--site-ease);
}
.tribune-robuste-card:hover { border-color: var(--site-secondary); }
.tribune-robuste-badge {
	width: 56px; height: 56px; border-radius: var(--site-circle);
	background: var(--site-secondary); color: var(--site-brand-color);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	font-size: var(--site-size-h4); margin-bottom: var(--site-gutter-md);
}
.tribune-robuste-card-title { font-size: var(--site-size-h4); font-weight: var(--site-font-bold); color: var(--site-body-color); margin-bottom: var(--site-spacing-sm); }
.tribune-robuste-card-text { font-size: var(--site-size-body); color: var(--site-muted); line-height: var(--site-leading-normal); margin: 0; }

/* ============================================================
   REVIEWS — REV-08 Avatar-Initials Cards
   ============================================================ */
.catafalque-dore-title { font-size: var(--site-fs-h2); color: var(--site-body-color); margin-bottom: var(--site-gutter-lg); text-align: center; }
.catafalque-dore-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--site-gutter-md); }
.catafalque-dore-card {
	background: var(--site-surface-2); border: 1px solid var(--site-color-line);
	border-radius: var(--site-round-md); padding: var(--site-gutter-lg);
}
.catafalque-dore-head { display: flex; align-items: center; gap: var(--site-spacing-sm); margin-bottom: var(--site-spacing-sm); }
.catafalque-dore-avatar {
	width: 48px; height: 48px; border-radius: var(--site-circle);
	background: var(--site-secondary); color: var(--site-canvas);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold); font-size: var(--site-type-h5);
	flex-shrink: 0;
}
.catafalque-dore-id { display: flex; flex-direction: column; }
.catafalque-dore-author { font-family: var(--site-heading-font); font-weight: var(--site-fw-semibold); color: var(--site-body-color); }
.catafalque-dore-date { font-size: var(--site-size-xs); color: var(--site-muted); }
.catafalque-dore-rating { margin-bottom: var(--site-spacing-sm); }
.catafalque-dore-rating .star { color: var(--site-color-line-strong); font-size: var(--site-type-h5); }
.catafalque-dore-rating .star.is-full, .catafalque-dore-rating .star.is-half { color: var(--site-secondary); }
.catafalque-dore-text { font-size: var(--site-size-body); color: var(--site-muted); line-height: var(--site-leading-normal); margin: 0; }

/* ============================================================
   FAQ — FAQ-06 Anchored Linked List
   ============================================================ */
.receptacle-robuste-title { font-size: var(--site-fs-h2); color: var(--site-body-color); margin-bottom: var(--site-gutter-lg); }
.receptacle-robuste-toc {
	background: rgba(255,255,255,0.05); border-radius: var(--site-round-md);
	padding: var(--site-gutter-lg); margin-bottom: var(--site-gutter-2xl);
}
.receptacle-robuste-toc-list { margin: 0; padding-left: 1.4em; }
.receptacle-robuste-toc-list li { margin-bottom: var(--site-gutter-2xs); }
.receptacle-robuste-toc-link { color: var(--site-muted); }
.receptacle-robuste-toc-link:hover { color: var(--site-body-color); }
.receptacle-robuste-list { margin: 0; }
.receptacle-robuste-q {
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	font-size: var(--site-size-h4); color: var(--site-body-color);
	margin-top: var(--site-gutter-lg); scroll-margin-top: var(--site-gutter-2xl);
}
.receptacle-robuste-a { margin: var(--site-spacing-sm) 0 0; }
.receptacle-robuste-a p { color: var(--site-muted); margin: 0; }

/* ============================================================
   DATA-TABLE — TABLE-04 Highlighted First Column
   ============================================================ */
.support-dense-scroll { overflow-x: auto; }
.support-dense-table { width: 100%; border-collapse: collapse; }
.support-dense-table thead { background: var(--site-brand-color); }
.support-dense-table th, .support-dense-table td {
	padding: var(--site-gutter-md); text-align: left; border-bottom: 1px solid var(--site-color-line);
}
.support-dense-table thead th { color: var(--site-body-color); font-family: var(--site-heading-font); text-transform: uppercase; letter-spacing: var(--site-tracking-wide); font-size: var(--site-fs-h6); }
.support-dense-table tbody th {
	background: var(--site-color-surface); color: var(--site-body-color); font-weight: var(--site-font-bold);
	border-right: 4px solid var(--site-secondary);
}
.support-dense-table td { color: var(--site-muted); }

/* ============================================================
   LEGAL — LEGAL-04 Bordered Article Box
   ============================================================ */
.oriflamme-classique-box {
	position: relative; background: var(--site-surface-2);
	border: 1px solid var(--site-color-line); border-radius: var(--site-round-lg);
	padding: var(--site-gutter-2xl) var(--site-gutter-lg) var(--site-gutter-lg);
	box-shadow: var(--site-shadow-sm); max-width: 900px; margin-inline: auto;
}
.oriflamme-classique-updated {
	position: absolute; top: var(--site-gutter-md); right: var(--site-gutter-md);
	font-size: var(--site-size-xs); color: var(--site-muted);
}
.oriflamme-classique-intro { font-size: var(--site-type-h5); color: var(--site-body-color); margin-bottom: var(--site-gutter-lg); }
.oriflamme-classique-h { font-size: var(--site-size-h4); color: var(--site-body-color); margin: var(--site-gutter-lg) 0 var(--site-spacing-sm); }
.oriflamme-classique-p { color: var(--site-muted); }
.oriflamme-classique-contacts { color: var(--site-muted); }
.oriflamme-classique-contact-item { margin-bottom: var(--site-gutter-xs); }
.oriflamme-classique-disclaimer { font-size: var(--site-type-small); color: var(--site-muted); font-style: italic; margin-top: var(--site-gutter-lg); border-top: 1px solid var(--site-color-line); padding-top: var(--site-gutter-md); }

/* ============================================================
   CONTACT-FORM — FORM-01 Stacked Standard
   ============================================================ */
.tribune-fluide-box {
	background: var(--site-surface-2); border: 1px solid var(--site-color-line);
	border-radius: var(--site-round-md); padding: var(--site-gutter-lg);
	box-shadow: var(--site-shadow-sm); max-width: 720px; margin-inline: auto;
}
.tribune-fluide-intro { color: var(--site-muted); line-height: var(--site-line-loose); margin-bottom: var(--site-gutter-lg); }
.tribune-fluide-success {
	display: none; padding: var(--site-gutter-md); margin-bottom: var(--site-gutter-md);
	background: rgba(74,189,81,0.12); border: 1px solid rgba(74,189,81,0.35);
	border-radius: var(--site-round-md); color: var(--site-body-color);
}
.tribune-fluide-success.is-visible { display: block; }
.tribune-fluide-form { display: flex; flex-direction: column; gap: var(--site-gutter-md); }
.tribune-fluide-field { display: flex; flex-direction: column; gap: var(--site-gutter-xs); }
.tribune-fluide-label { font-weight: var(--site-weight-medium); font-size: var(--site-type-small); text-transform: uppercase; letter-spacing: var(--site-tracking-wide); color: var(--site-body-color); }
.tribune-fluide-input, .tribune-fluide-textarea {
	font-family: var(--site-font-text); font-size: var(--site-size-body); color: var(--site-body-color);
	background: var(--site-canvas); border: 1px solid var(--site-color-line-strong);
	border-radius: var(--site-round-md); padding: var(--site-spacing-sm) var(--site-gutter-md);
}
.tribune-fluide-input { height: 48px; }
.tribune-fluide-textarea { min-height: 120px; resize: vertical; }
.tribune-fluide-input:focus, .tribune-fluide-textarea:focus { outline: none; border-color: var(--site-secondary); }
.tribune-fluide-submit {
	align-self: flex-start; height: 48px; padding-inline: var(--site-spacing-xl);
	background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	border: none; border-radius: var(--site-round-md); cursor: pointer;
	transition: background var(--site-duration-fast) var(--site-ease);
}
.tribune-fluide-submit:hover { background: var(--site-accent-dark); color: var(--site-canvas); }

/* ============================================================
   AUTHOR-CARD — AUTH-06 Full-Hero Style
   ============================================================ */
.verriere-dense { background: linear-gradient(135deg, #101010, var(--site-canvas)); }
.verriere-dense-inner { display: grid; grid-template-columns: 280px 1fr; gap: var(--site-gutter-2xl); align-items: center; }
.verriere-dense-portrait-wrap { margin: 0; }
.verriere-dense-portrait { width: 280px; height: 350px; object-fit: cover; border-radius: var(--site-round-lg); box-shadow: var(--site-elevation-3); }
.verriere-dense-body { display: block; }
.verriere-dense-eyebrow { font-size: var(--site-type-small); text-transform: uppercase; letter-spacing: var(--site-tracking-wide); color: var(--site-secondary); margin-bottom: var(--site-spacing-sm); }
.verriere-dense-name { font-size: clamp(40px, 6vw, 64px); color: var(--site-body-color); margin-bottom: var(--site-gutter-md); }
.verriere-dense-bio { font-size: var(--site-type-h5); color: var(--site-body-color); line-height: var(--site-leading-normal); max-width: 560px; margin-bottom: var(--site-gutter-md); }
.verriere-dense-exp { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--site-gutter-xs); }
.verriere-dense-exp-item {
	background: var(--site-color-surface); border: 1px solid var(--site-color-line-strong);
	border-radius: var(--site-radius-pill); padding: var(--site-gutter-2xs) var(--site-spacing-sm);
	font-size: var(--site-type-small); color: var(--site-muted);
}

/* ============================================================
   AUTHOR-BYLINE — BYLINE-03 Thin Strip
   ============================================================ */
.enceinte-raffine { border-top: 1px solid var(--site-color-line); border-bottom: 1px solid var(--site-color-line); }
.enceinte-raffine-shell {
	max-width: calc(var(--site-shell-width) + 2 * var(--site-gutter-desktop));
	margin-inline: auto; padding: var(--site-spacing-sm) var(--site-gutter-desktop);
	display: flex; align-items: center; gap: var(--site-spacing-sm);
}
.enceinte-raffine-portrait { width: 36px; height: 36px; border-radius: var(--site-circle); object-fit: cover; }
.enceinte-raffine-meta { font-size: var(--site-type-small); color: var(--site-muted); }
.enceinte-raffine-name { color: var(--site-secondary); }
.enceinte-raffine-name:hover { color: var(--site-accent-dark); text-decoration: underline; }
.enceinte-raffine-role { color: var(--site-muted); }
.enceinte-raffine-time { color: var(--site-muted); }

/* ============================================================
   CTA-06 — Sticky Bottom Banner (home)
   ============================================================ */
.amphitheatre-prime {
	position: sticky; bottom: 0; z-index: 90;
	background: var(--site-secondary); box-shadow: var(--site-elevation-3);
}
.amphitheatre-prime.is-dismissed { display: none; }
.amphitheatre-prime-shell {
	max-width: calc(var(--site-shell-width) + 2 * var(--site-gutter-desktop));
	margin-inline: auto; padding: var(--site-spacing-sm) var(--site-gutter-desktop);
	display: flex; align-items: center; justify-content: center; gap: var(--site-gutter-md);
	min-height: 72px;
}
.amphitheatre-prime-title { margin: 0; font-weight: var(--site-font-bold); color: var(--site-brand-color); font-size: var(--site-size-body); }
.amphitheatre-prime-btn {
	background: var(--site-brand-color); color: var(--site-body-color);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	padding: var(--site-gutter-xs) var(--site-gutter-lg); border-radius: var(--site-radius-pill);
	transition: opacity var(--site-duration-fast) var(--site-ease);
}
.amphitheatre-prime-btn:hover { background: var(--site-brand-color); color: var(--site-secondary); }
.amphitheatre-prime-close {
	background: transparent; border: none; color: var(--site-brand-color);
	font-size: var(--site-size-h4); line-height: 1; cursor: pointer; padding: 0 var(--site-gutter-2xs);
}

/* ============================================================
   ERROR-BLOCK — ERR-04 Full-Bleed Atmospheric
   ============================================================ */
.baptistere-voile {
	position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center;
	background: url('/cache/spotlight.webp') center/cover no-repeat, var(--site-canvas);
	padding: var(--site-spacing-xl) var(--site-gutter-desktop);
}
.baptistere-voile-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.85)); }
.baptistere-voile-box { position: relative; z-index: 2; text-align: center; max-width: 640px; }
.baptistere-voile-code { font-family: var(--site-heading-font); font-size: clamp(80px, 16vw, 160px); color: var(--site-secondary); line-height: 1; margin: 0; }
.baptistere-voile-title { font-size: var(--site-fs-h2); color: var(--site-body-color); margin-bottom: var(--site-gutter-md); }
.baptistere-voile-text { color: var(--site-muted); margin-bottom: var(--site-gutter-lg); }
.baptistere-voile-btn {
	display: inline-block; background: var(--site-secondary); color: var(--site-canvas);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold);
	text-transform: uppercase; letter-spacing: var(--site-tracking-wide);
	padding: var(--site-gutter-md) var(--site-gutter-2xl); border-radius: var(--site-round-md);
	transition: background var(--site-duration-fast) var(--site-ease);
}
.baptistere-voile-btn:hover { background: var(--site-accent-dark); color: var(--site-canvas); }

/* ============================================================
   PAGE FIGURES (per-page images)
   ============================================================ */
.page-figure { margin: 0 auto var(--site-gutter-lg); max-width: var(--site-prose-width); }
.page-figure--context { max-width: calc(var(--site-shell-width) + 2 * var(--site-gutter-desktop)); padding-inline: var(--site-gutter-desktop); }
.page-figure--detail { max-width: var(--site-prose-width); }
.page-figure-img { width: 100%; height: auto; border-radius: var(--site-round-lg); }

/* ============================================================
   FOOTER — FOOT-06 Manifesto Footer
   ============================================================ */
.berceau-profond { background: var(--site-canvas); border-top: 1px solid var(--site-color-line); padding-block: var(--site-gutter-3xl); }
.berceau-profond-manifesto { text-align: center; }
.berceau-profond-statement { font-size: var(--site-fs-h2); font-weight: var(--site-font-bold); color: var(--site-body-color); max-width: var(--site-container-narrow); margin: 0 auto var(--site-gutter-md); }
.berceau-profond-cta { font-family: var(--site-heading-font); font-size: var(--site-type-h5); text-transform: uppercase; letter-spacing: var(--site-tracking-wide); color: var(--site-secondary); text-decoration: underline; }
.berceau-profond-cta:hover { color: var(--site-accent-dark); }
.berceau-profond-divider { height: 1px; background: rgba(255,255,255,0.1); margin-block: var(--site-spacing-xl); }
.berceau-profond-meta { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--site-gutter-lg); }
.berceau-profond-logo { display: inline-flex; flex-shrink: 0; }
.berceau-profond-logo-img { height: 72px; width: auto; }
.berceau-profond-col { display: flex; flex-direction: column; gap: var(--site-spacing-sm); }
.berceau-profond-heading { font-size: var(--site-fs-h6); text-transform: uppercase; letter-spacing: var(--site-tracking-wide); color: var(--site-body-color); }
.berceau-profond-nav, .berceau-profond-legal { display: block; }
.berceau-profond-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--site-gutter-2xs); }
.berceau-profond-nav-item { margin: 0; }
.berceau-profond-link { color: var(--site-muted); font-size: var(--site-type-small); }
.berceau-profond-link:hover { color: var(--site-secondary); }
.berceau-profond-copy { display: block; color: var(--site-muted); font-size: var(--site-type-small); flex-basis: 100%; margin-top: var(--site-gutter-md); }

/* ============================================================
   COOKIE — COOK-06 Detailed with Preferences Link
   ============================================================ */
.piazzetta-moderne {
	position: fixed; left: var(--site-gutter-md); right: var(--site-gutter-md); bottom: var(--site-gutter-md);
	z-index: 250; background: var(--site-surface-2);
	border: 1px solid var(--site-color-line-strong); border-radius: var(--site-round-lg);
	box-shadow: var(--site-elevation-3);
}
.piazzetta-moderne[hidden] { display: none; }
.piazzetta-moderne-shell { display: flex; align-items: center; gap: var(--site-gutter-md); padding: var(--site-gutter-md) var(--site-gutter-lg); flex-wrap: wrap; }
.piazzetta-moderne-msg { margin: 0; flex: 1 1 320px; color: var(--site-muted); font-size: var(--site-type-small); }
.piazzetta-moderne-actions { display: flex; align-items: center; gap: var(--site-spacing-sm); flex-wrap: wrap; }
.piazzetta-moderne-prefs { color: var(--site-secondary); font-size: var(--site-type-small); text-decoration: underline; }
.piazzetta-moderne-prefs:hover { color: var(--site-accent-dark); }
.piazzetta-moderne-decline {
	background: var(--site-color-surface); color: var(--site-body-color);
	border: 1px solid var(--site-color-line-strong); border-radius: var(--site-round-md);
	padding: var(--site-gutter-xs) var(--site-gutter-md); cursor: pointer; font-size: var(--site-type-small);
}
.piazzetta-moderne-decline:hover { border-color: var(--site-secondary); }
.piazzetta-moderne-accept {
	background: var(--site-secondary); color: var(--site-canvas); border: none;
	border-radius: var(--site-round-md); padding: var(--site-gutter-xs) var(--site-gutter-lg);
	font-family: var(--site-heading-font); font-weight: var(--site-font-bold); text-transform: uppercase;
	letter-spacing: var(--site-tracking-wide); cursor: pointer; font-size: var(--site-type-small);
}
.piazzetta-moderne-accept:hover { background: var(--site-accent-dark); color: var(--site-canvas); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
	.tribune-robuste-list, .catafalque-dore-list { grid-template-columns: repeat(2, 1fr); }
	.verriere-dense-inner { grid-template-columns: 220px 1fr; gap: var(--site-gutter-lg); }
	.verriere-dense-portrait { width: 220px; height: 280px; }
}

@media (max-width: 900px) {
	.niche-moderne-content { width: 100%; }
	.niche-moderne-inner { flex-direction: column; min-height: 0; }
	.niche-moderne-figure { position: relative; top: 0; right: auto; width: 100%; height: 260px; transform: none; margin-top: var(--site-gutter-lg); }
}

@media (max-width: 768px) {
	:root {
		--site-type-h1: 40px; --site-fs-h2: 30px; --site-text-h3: 22px; --site-size-h4: 18px;
		--site-type-h5: 14px; --site-fs-h6: 12px; --site-size-body: 17px; --site-type-small: 14px; --site-size-xs: 11px;
	}
	.crucifix-lourd-inner { padding-inline: var(--site-inset-mobile); }
	.crucifix-lourd-top { padding-top: var(--site-spacing-sm); }
	.crucifix-lourd-logo-img { height: 60px; }
	.crucifix-lourd-toggle { display: flex; }
	.crucifix-lourd-bottom { display: none; }
	.tribune-robuste-list, .catafalque-dore-list { grid-template-columns: 1fr; }
	.verriere-dense-inner { grid-template-columns: 1fr; text-align: center; }
	.verriere-dense-portrait-wrap { justify-self: center; }
	.verriere-dense-exp { justify-content: center; }
	.berceau-profond-meta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 720px) {
	.piazzetta-moderne { left: 0; right: 0; bottom: 0; border-radius: 0; }
	.piazzetta-moderne-shell { padding: 12px 14px; gap: 8px; font-size: 13px; }
	.piazzetta-moderne-actions { width: 100%; }
	.piazzetta-moderne-decline, .piazzetta-moderne-accept { flex: 1 1 auto; }
	.amphitheatre-prime-shell { flex-wrap: wrap; min-height: 0; padding: var(--site-spacing-sm); }
	.amphitheatre-prime-title { flex-basis: 100%; text-align: center; }
}
