:root{
	--container-site:1220px;
	--container-readable:720px;
	--container-padding-desktop:24px;
	--container-padding-mobile:16px;

	--color-primary:#082042;
	--color-accent:#92d154;
	--color-accent-pressed:#79c436;
	--color-bg:#08203c;
	--color-bg-elevated:#0c2a4d;
	--color-bg-card:#0e2f55;
	--color-border:rgba(255,255,255,0.08);
	--color-border-strong:rgba(255,255,255,0.18);
	--color-gradient-light:#ffdc35;
	--color-gradient-mid:#fe8100;
	--color-text:#FFFFFF;
	--color-text-muted:#bebebe;
	--color-rg-banner:#dc2626;

	--font-display:'Montserrat',system-ui,-apple-system,sans-serif;
	--font-body:'Montserrat',system-ui,-apple-system,sans-serif;

	--fs-h1:clamp(32px,4.4vw,56px);
	--fs-h2:clamp(26px,3.1vw,40px);
	--fs-h3:clamp(20px,2.1vw,26px);
	--fs-body:17px;
	--fs-small:14px;

	--lh-tight:1.18;
	--lh-prose:1.62;

	--space-xs:6px;
	--space-sm:12px;
	--space-md:20px;
	--space-lg:32px;
	--space-xl:56px;
	--space-2xl:88px;

	--radius-sm:4px;
	--radius-md:10px;
	--radius-lg:18px;
	--radius-pill:999px;

	--header-height-desktop:84px;
	--header-height-mobile:64px;
	--rg-height:32px;

	--motion-fast:160ms;
	--motion-base:260ms;
	--ease:cubic-bezier(.4,.0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{
	margin:0;
	background:var(--color-bg);
	color:var(--color-text);
	font-family:var(--font-body);
	font-size:var(--fs-body);
	line-height:var(--lh-prose);
	-webkit-font-smoothing:antialiased;
	padding-top:calc(var(--header-height-desktop) + var(--rg-height));
}
@media (max-width:720px){
	body{padding-top:calc(var(--header-height-mobile) + var(--rg-height));}
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);margin:0;font-weight:700;letter-spacing:-0.01em}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0 0 1em}
a{color:var(--color-accent);text-decoration:none;transition:color var(--motion-fast) var(--ease)}
a:hover{color:var(--color-accent-pressed)}

.skip-link:not(:focus){position:absolute;top:-200px !important;left:0;background:#000;color:#fff;padding:8px 16px;z-index:9999}
.skip-link:focus{position:absolute;top:8px;left:8px;background:#000;color:#fff;padding:8px 16px;z-index:9999}
.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}

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

/* === RG banner === */
.rg-banner{
	position:fixed;top:0;left:0;right:0;
	z-index:101;
	background:var(--color-rg-banner);
	color:#fff;
	min-height:var(--rg-height);
	display:flex;align-items:center;justify-content:center;
	font-size:13px;font-weight:600;
	padding:6px 16px;text-align:center;
}

/* === Header (HEAD-09 — "horizon strip" — single row with right-aligned auth) === */
.carnet{
	position:fixed;
	top:var(--rg-height);left:0;right:0;
	z-index:100;
	background:rgba(7,30,62,0.96);
	backdrop-filter:blur(10px);
	border-bottom:1px solid var(--color-border);
	transition:background var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease);
}
.carnet.is-shrunk{
	background:rgba(7,30,62,0.98);
	box-shadow:0 4px 20px rgba(0,0,0,0.35);
}
.carnet-inner{
	max-width:1440px;
	margin:0 auto;
	padding:0 var(--container-padding-desktop);
	display:flex;align-items:center;gap:var(--space-lg);
	height:var(--header-height-desktop);
}
.carnet-logo{flex-shrink:0;display:inline-flex;align-items:center}
.carnet-logo img{flex-shrink:0;height:88px;width:auto;display:block}
.carnet.is-shrunk .carnet-logo img{height:72px}
.carnet-nav{flex:1;display:flex;align-items:center}
.carnet-nav-list{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:nowrap}
.carnet-nav-link{
	color:var(--color-text);
	font-size:15px;font-weight:500;
	padding:8px 12px;
	border-radius:var(--radius-sm);
	transition:color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease);
	white-space:nowrap;
}
.carnet-nav-link:hover{color:var(--color-accent);background:rgba(255,255,255,0.05)}
.carnet-nav-link[aria-current='page']{color:var(--color-accent)}
.carnet-more{position:relative}
.carnet-more-toggle{
	background:transparent;color:var(--color-text);
	border:none;cursor:pointer;
	font:inherit;font-size:15px;font-weight:500;
	padding:8px 12px;border-radius:var(--radius-sm);
	display:inline-flex;align-items:center;gap:6px;
	transition:color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease);
}
.carnet-more-toggle::after{content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;transition:transform var(--motion-fast) var(--ease)}
.carnet-more-toggle[aria-expanded='true']::after{transform:rotate(180deg)}
.carnet-more-toggle:hover{color:var(--color-accent);background:rgba(255,255,255,0.05)}
.carnet-more-menu{
	position:absolute;top:calc(100% + 8px);right:0;
	background:var(--color-bg-elevated);
	border:1px solid var(--color-border);
	border-radius:var(--radius-md);
	min-width:200px;padding:8px;
	list-style:none;margin:0;
	box-shadow:0 12px 32px rgba(0,0,0,0.4);
	display:none;
}
.carnet-more-menu.is-open{display:block}
.carnet-more-menu li{margin:0}
.carnet-more-menu .carnet-nav-link{display:block;padding:10px 14px}

.carnet-auth{display:flex;align-items:center;gap:10px;flex-shrink:0}
.carnet-auth-btn{
	display:inline-flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));
	color:#1a1208;font-weight:700;
	padding:11px 22px;
	border-radius:var(--radius-pill);
	font-size:14px;letter-spacing:0.02em;
	white-space:nowrap;flex-shrink:0;
	transition:transform var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease);
	box-shadow:0 4px 14px rgba(254,129,0,0.32);
}
.carnet-auth-btn:hover{color:#1a1208;background:linear-gradient(135deg,var(--color-gradient-light),var(--color-gradient-mid));transform:translateY(-1px);box-shadow:0 6px 20px rgba(254,129,0,0.42)}

.carnet-toggle{
	display:none;
	background:transparent;border:none;
	color:var(--color-text);cursor:pointer;
	padding:8px;margin-left:auto !important;
	width:44px;height:44px;
	border-radius:var(--radius-sm);
}
.carnet-toggle-bar{display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:transform var(--motion-fast) var(--ease),opacity var(--motion-fast) var(--ease)}

.carnet-mobile{
	display:none;
	position:fixed;
	top:calc(var(--header-height-mobile) + var(--rg-height));
	left:0;right:0;bottom:0;
	background:var(--color-bg);
	z-index:99;
	padding:24px 20px 40px;
	overflow-y:auto;
}
.carnet-mobile.is-open{display:block}
.carnet-mobile-list{list-style:none;padding:0;margin:0 0 20px}
.carnet-mobile-list li{border-bottom:1px solid var(--color-border)}
.carnet-mobile-list .carnet-nav-link{display:block;padding:14px 4px;font-size:17px}
.carnet-mobile-auth{margin-top:24px}

@media (max-width:1100px){
	.carnet-nav,.carnet-auth{display:none}
	.carnet-toggle{display:block}
	.carnet-inner{height:var(--header-height-mobile);padding:0 var(--container-padding-mobile)}
	.carnet-logo img{height:60px}
	.carnet.is-shrunk .carnet-logo img{height:60px}
}

/* === Hero (HERO-11 — split layout with gradient framework) === */
.galerie{
	position:relative;
	padding:var(--space-2xl) 0 var(--space-2xl);
	background:
		radial-gradient(circle at 80% 30%,rgba(254,129,0,0.18) 0%,transparent 55%),
		radial-gradient(circle at 15% 80%,rgba(146,209,84,0.14) 0%,transparent 60%),
		linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-elevated) 100%);
	overflow:hidden;
}
.galerie-inner{
	max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin:0 auto;
	padding:0 var(--container-padding-desktop);
	display:grid;
	grid-template-columns:1.2fr 1fr;
	gap:var(--space-xl);
	align-items:center;
}
.galerie-eyebrow{
	display:inline-flex;align-items:center;gap:8px;
	color:var(--color-gradient-light);
	font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
	margin-bottom:var(--space-md);
}
.galerie-eyebrow::before{content:'';width:24px;height:2px;background:currentColor;display:inline-block}
.galerie-title{
	background:linear-gradient(120deg,#ffffff 0%,#ffdc35 80%);
	-webkit-background-clip:text;background-clip:text;color:transparent;
	margin-bottom:var(--space-md);
}
.galerie-subtitle{
	color:var(--color-text-muted);
	font-size:18px;line-height:var(--lh-prose);
	max-width:480px;margin:0 0 var(--space-lg);
}
.galerie-cta{
	display:inline-flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));
	color:#1a1208;font-weight:700;
	padding:16px 32px;
	border-radius:var(--radius-pill);
	font-size:16px;letter-spacing:0.02em;
	box-shadow:0 6px 24px rgba(254,129,0,0.45);
	transition:transform var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease);
}
.galerie-cta:hover{color:#1a1208;background:linear-gradient(135deg,var(--color-gradient-light),var(--color-gradient-mid));transform:translateY(-2px);box-shadow:0 10px 30px rgba(254,129,0,0.55)}
.galerie-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.4)}
.galerie-media img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.galerie-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-lg)}
.galerie-badge{
	display:inline-flex;align-items:center;gap:6px;
	background:rgba(255,255,255,0.06);
	border:1px solid var(--color-border-strong);
	color:var(--color-text);
	padding:8px 14px;border-radius:var(--radius-pill);
	font-size:13px;font-weight:600;
}
@media (max-width:900px){
	.galerie{padding:var(--space-xl) 0}
	.galerie-inner{grid-template-columns:1fr;gap:var(--space-lg)}
	.galerie-media{order:-1}
}

/* === Page header (PHEAD-05 — minimal centered with eyebrow strip) === */
.aile{padding:var(--space-2xl) 0 var(--space-xl);background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg) 100%);text-align:center}
.aile-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.aile-eyebrow{
	display:inline-block;
	font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
	color:var(--color-accent);
	margin-bottom:var(--space-md);
}
.aile-title{margin-bottom:var(--space-md)}
.aile-lead{color:var(--color-text-muted);font-size:18px;max-width:680px;margin:0 auto}
@media (max-width:720px){.aile{padding:var(--space-xl) 0 var(--space-lg)}}

/* === Breadcrumbs (BREAD-03 — slim line with chevron separators) === */
.dossier{padding:var(--space-md) 0 0;background:transparent}
.dossier-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.dossier-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;padding:0;margin:0;font-size:13px;color:var(--color-text-muted)}
.dossier-list li{display:inline-flex;align-items:center;gap:8px}
.dossier-list li+li::before{content:'›';color:var(--color-border-strong)}
.dossier-list a{color:var(--color-text-muted)}
.dossier-list a:hover{color:var(--color-accent)}
.dossier-list [aria-current='page']{color:var(--color-text)}

/* === Items grid (GRID-11 — 3-col cards with accent ribbon) === */
.pupitre{padding:var(--space-2xl) 0;background:var(--color-bg)}
.pupitre-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.pupitre-header{text-align:center;margin-bottom:var(--space-xl)}
.pupitre-title{margin-bottom:var(--space-sm)}
.pupitre-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);list-style:none;padding:0;margin:0}
.pupitre-card{
	background:var(--color-bg-card);
	border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
	padding:var(--space-lg);
	position:relative;
	transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease);
}
.pupitre-card::before{
	content:'';position:absolute;top:0;left:24px;width:48px;height:3px;
	background:linear-gradient(90deg,var(--color-gradient-mid),var(--color-gradient-light));
	border-radius:0 0 var(--radius-sm) var(--radius-sm);
}
.pupitre-card:hover{transform:translateY(-4px);border-color:var(--color-border-strong)}
.pupitre-card-title{font-size:19px;margin-bottom:10px;color:var(--color-text)}
.pupitre-card-text{color:var(--color-text-muted);font-size:15px;line-height:1.6;margin:0}
@media (max-width:900px){.pupitre-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.pupitre-list{grid-template-columns:1fr;gap:var(--space-md)}.pupitre{padding:var(--space-xl) 0}}

/* === Reviews (REV-03 — grid of cards with rating badge) === */
.planche{padding:var(--space-2xl) 0;background:var(--color-bg-elevated)}
.planche-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.planche-header{text-align:center;margin-bottom:var(--space-xl)}
.planche-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);list-style:none;padding:0;margin:0}
.planche-card{
	background:var(--color-bg-card);
	border:1px solid var(--color-border);
	border-radius:var(--radius-md);
	padding:var(--space-md) var(--space-lg);
}
.planche-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:10px}
.planche-card-author{font-weight:700;color:var(--color-text);font-size:15px}
.planche-card-rating{
	display:inline-flex;align-items:center;gap:4px;
	background:rgba(146,209,84,0.14);
	color:var(--color-accent);
	padding:3px 10px;border-radius:var(--radius-pill);
	font-size:13px;font-weight:700;
}
.planche-card-rating::before{content:'★';color:var(--color-gradient-light)}
.planche-card-text{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin:0}
@media (max-width:720px){.planche-list{grid-template-columns:1fr}.planche{padding:var(--space-xl) 0}}

/* === FAQ (FAQ-04 — accordion with plus/minus toggle) === */
.rubrique{padding:var(--space-2xl) 0;background:var(--color-bg)}
.rubrique-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.rubrique-header{text-align:center;margin-bottom:var(--space-xl)}
.rubrique-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.rubrique-item{
	background:var(--color-bg-card);
	border:1px solid var(--color-border);
	border-radius:var(--radius-md);
	overflow:hidden;
}
.rubrique-q{
	width:100%;
	background:transparent;border:none;
	color:var(--color-text);font:inherit;
	text-align:left;cursor:pointer;
	padding:18px 24px;
	display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
	font-size:16px;font-weight:600;
	transition:background var(--motion-fast) var(--ease);
}
.rubrique-q:hover{background:rgba(255,255,255,0.03)}
.rubrique-q-icon{
	flex-shrink:0;
	width:28px;height:28px;
	position:relative;
}
.rubrique-q-icon::before,.rubrique-q-icon::after{
	content:'';position:absolute;
	background:var(--color-accent);
	transition:transform var(--motion-base) var(--ease);
}
.rubrique-q-icon::before{top:13px;left:6px;width:16px;height:2px}
.rubrique-q-icon::after{top:6px;left:13px;width:2px;height:16px}
.rubrique-q[aria-expanded='true'] .rubrique-q-icon::after{transform:rotate(90deg)}
.rubrique-a{
	max-height:0;overflow:hidden;
	transition:max-height var(--motion-base) var(--ease);
}
.rubrique-q[aria-expanded='true'] + .rubrique-a{max-height:800px}
.rubrique-a-inner{padding:0 24px 22px;color:var(--color-text-muted);font-size:15px;line-height:1.6}

/* === CTA (CTA-01 — banner with gradient, centered) === */
.vitrine{padding:var(--space-2xl) 0}
.vitrine-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.vitrine-card{
	background:linear-gradient(135deg,#0a2750 0%,#0e3a72 100%);
	border:1px solid var(--color-border-strong);
	border-radius:var(--radius-lg);
	padding:var(--space-xl);
	text-align:center;
	position:relative;overflow:hidden;
}
.vitrine-card::before{
	content:'';position:absolute;top:-50%;right:-10%;width:60%;height:200%;
	background:radial-gradient(ellipse,rgba(254,129,0,0.22) 0%,transparent 65%);
	pointer-events:none;
}
.vitrine-title{margin-bottom:var(--space-sm);position:relative}
.vitrine-text{color:var(--color-text-muted);max-width:680px;margin:0 auto var(--space-lg);position:relative}
.vitrine-btn{
	display:inline-flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));
	color:#1a1208;font-weight:700;
	padding:16px 36px;
	border-radius:var(--radius-pill);
	font-size:16px;
	box-shadow:0 6px 24px rgba(254,129,0,0.45);
	transition:transform var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease);
	position:relative;
}
.vitrine-btn:hover{color:#1a1208;background:linear-gradient(135deg,var(--color-gradient-light),var(--color-gradient-mid));transform:translateY(-2px);box-shadow:0 10px 30px rgba(254,129,0,0.55)}

/* === Prose (PROSE-03 — sectioned long-form text, full width) === */
.pignon{padding:var(--space-xl) 0;background:var(--color-bg)}
.pignon-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.pignon-section{margin-bottom:var(--space-xl)}
.pignon-section:last-child{margin-bottom:0}
.pignon-section h2{margin-bottom:var(--space-md);padding-left:var(--space-md);border-left:4px solid var(--color-accent)}
.pignon-section p{color:var(--color-text-muted);font-size:17px;line-height:var(--lh-prose);margin-bottom:1em}
.pignon-section p:last-child{margin-bottom:0}
.pignon-section a{color:var(--color-accent);font-weight:600;border-bottom:1px dotted var(--color-accent)}
.pignon-section a:hover{color:var(--color-accent-pressed);border-bottom-color:var(--color-accent-pressed)}

/* === Page images === */
.pignon-image{margin:var(--space-lg) 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}
.pignon-image img{width:100%;height:auto;display:block}
.pignon-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin:var(--space-lg) 0}
.pignon-image-grid figure{margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}
@media (max-width:720px){.pignon-image-grid{grid-template-columns:1fr}}

/* === Data table (TABLE-06 — striped, full-width, sticky head) === */
.alcove{padding:var(--space-lg) 0}
.alcove-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.alcove-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}
.alcove-table{width:100%;border-collapse:collapse;font-size:15px}
.alcove-table th,.alcove-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--color-border)}
.alcove-table th{background:var(--color-bg-elevated);color:var(--color-text);font-weight:700;font-size:14px;letter-spacing:0.04em;text-transform:uppercase}
.alcove-table tr:nth-child(even) td{background:rgba(255,255,255,0.02)}
.alcove-table tr:last-child td{border-bottom:none}
.alcove-table td{color:var(--color-text-muted)}

/* === Legal section (LEGAL-02 — numbered headings, compact) === */
.etiquette{padding:var(--space-xl) 0}
.etiquette-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.etiquette-meta{color:var(--color-text-muted);font-size:14px;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}
.etiquette-intro{font-size:18px;color:var(--color-text);margin-bottom:var(--space-xl);max-width:820px}
.etiquette-section{margin-bottom:var(--space-xl);counter-increment:legal}
.etiquette-section h2{font-size:24px;margin-bottom:var(--space-md);display:flex;align-items:baseline;gap:var(--space-sm)}
.etiquette-section h2::before{content:counter(legal,decimal-leading-zero);color:var(--color-accent);font-size:18px;font-weight:700}
.etiquette-section p{color:var(--color-text-muted);margin-bottom:1em}
.etiquette-list{counter-reset:legal}
.etiquette-disclaimer{margin-top:var(--space-xl);padding:var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-muted);border-left:3px solid var(--color-accent)}
.etiquette-contacts{margin-top:var(--space-lg)}
.etiquette-contacts dt{font-weight:700;color:var(--color-text);margin-top:10px}
.etiquette-contacts dd{margin-left:0;color:var(--color-text-muted)}

/* === Contact form (FORM-07 — two-column with sidebar info) === */
.balise{padding:var(--space-xl) 0}
.balise-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.balise-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-xl);align-items:start}
.balise-form{display:flex;flex-direction:column;gap:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}
.balise-field{display:flex;flex-direction:column;gap:6px}
.balise-field label{font-size:14px;font-weight:600;color:var(--color-text)}
.balise-field input,.balise-field textarea{
	background:var(--color-bg-elevated);
	border:1px solid var(--color-border-strong);
	color:var(--color-text);
	border-radius:var(--radius-sm);
	padding:12px 14px;font:inherit;font-size:15px;
	transition:border-color var(--motion-fast) var(--ease);
}
.balise-field input:focus,.balise-field textarea:focus{outline:none;border-color:var(--color-accent)}
.balise-field textarea{resize:vertical;min-height:140px}
.balise-submit{
	display:inline-flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));
	color:#1a1208;font-weight:700;
	padding:14px 28px;border-radius:var(--radius-pill);
	border:none;cursor:pointer;font:inherit;font-size:15px;
	transition:transform var(--motion-fast) var(--ease);align-self:flex-start;
}
.balise-submit:hover{transform:translateY(-1px)}
.balise-success{display:none;background:rgba(146,209,84,0.12);border:1px solid var(--color-accent);color:var(--color-text);padding:var(--space-md);border-radius:var(--radius-md)}
.balise-success.is-visible{display:block}
.balise-sidebar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}
.balise-sidebar h2{font-size:20px;margin-bottom:var(--space-md)}
.balise-sidebar dl{margin:0}
.balise-sidebar dt{font-weight:700;color:var(--color-text);margin-top:14px}
.balise-sidebar dd{margin:4px 0 0;color:var(--color-text-muted);font-size:15px}
.balise-sidebar dd a{color:var(--color-accent)}
@media (max-width:900px){.balise-grid{grid-template-columns:1fr}}

/* === Author byline (BYLINE-01 — horizontal compact) === */
.imposte{
	display:flex;align-items:center;gap:var(--space-md);
	padding:var(--space-md) var(--space-lg);
	background:var(--color-bg-card);
	border:1px solid var(--color-border);
	border-radius:var(--radius-md);
	margin:var(--space-xl) auto 0;
	max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop) - var(--container-padding-desktop)*2);
}
.imposte-portrait{
	width:56px;height:56px;
	border-radius:50%;overflow:hidden;
	flex-shrink:0;
	border:2px solid var(--color-accent);
}
.imposte-portrait img{width:100%;height:100%;object-fit:cover}
.imposte-body{flex:1;font-size:14px}
.imposte-eyebrow{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:2px}
.imposte-name{color:var(--color-text);font-weight:700;font-size:15px}
.imposte-name a{color:var(--color-text)}
.imposte-name a:hover{color:var(--color-accent)}
.imposte-role{color:var(--color-text-muted);font-size:13px}

/* === Author card (AUTH-07 — large with portrait + expertise pills) === */
.manchette{padding:var(--space-xl) 0}
.manchette-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.manchette-card{
	display:grid;grid-template-columns:220px 1fr;gap:var(--space-xl);
	background:var(--color-bg-card);border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
	padding:var(--space-xl);
	align-items:start;
}
.manchette-portrait{width:220px;height:220px;border-radius:var(--radius-lg);overflow:hidden;border:3px solid var(--color-accent)}
.manchette-portrait img{width:100%;height:100%;object-fit:cover}
.manchette-name{font-size:28px;margin-bottom:6px}
.manchette-role{color:var(--color-accent);font-weight:600;margin-bottom:var(--space-md)}
.manchette-bio{color:var(--color-text-muted);font-size:16px;margin-bottom:var(--space-md)}
.manchette-expertise{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.manchette-expertise li{
	background:rgba(146,209,84,0.14);
	color:var(--color-accent);
	padding:6px 14px;
	border-radius:var(--radius-pill);
	font-size:13px;font-weight:600;
}
@media (max-width:720px){.manchette-card{grid-template-columns:1fr;text-align:center;padding:var(--space-lg)}.manchette-portrait{margin:0 auto;width:180px;height:180px}.manchette-expertise{justify-content:center}}

/* === Footer (FOOT-02 — three-column with brand block left) === */
.grille{background:#06182f;border-top:1px solid var(--color-border);padding:var(--space-2xl) 0 var(--space-lg)}
.grille-inner{max-width:calc(var(--container-site) + 2 * var(--container-padding-desktop));margin:0 auto;padding:0 var(--container-padding-desktop)}
.grille-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}
.grille-brand-logo{margin-bottom:var(--space-md)}
.grille-brand-logo img{height:84px;width:auto}
.grille-brand-text{color:var(--color-text-muted);font-size:14px;max-width:380px;margin:0 0 var(--space-md)}
.grille-rg{display:inline-flex;align-items:center;gap:10px;background:rgba(220,38,38,0.12);border:1px solid rgba(220,38,38,0.4);padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;color:#fca5a5}
.grille-col h3{font-size:14px;color:var(--color-text);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:var(--space-md)}
.grille-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.grille-col a{color:var(--color-text-muted);font-size:14px}
.grille-col a:hover{color:var(--color-accent)}
.grille-bottom{padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);color:var(--color-text-muted);font-size:13px}
.grille-license{display:flex;align-items:center;gap:10px}
.grille-license-badge{display:inline-flex;align-items:center;padding:6px 12px;background:rgba(255,255,255,0.06);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:12px;font-weight:700;letter-spacing:0.05em}
@media (max-width:900px){.grille-cols{grid-template-columns:1fr 1fr;gap:var(--space-lg)}.grille-brand{grid-column:1/-1}}
@media (max-width:600px){.grille-cols{grid-template-columns:1fr}.grille-bottom{flex-direction:column;align-items:flex-start;gap:10px}}

/* === Cookie banner (COOK-06 — bottom pill, centered) === */
.socle{
	position:fixed;
	left:50%;transform:translateX(-50%);
	bottom:20px;
	z-index:200;
	width:min(680px,calc(100% - 32px));
	background:var(--color-bg-elevated);
	border:1px solid var(--color-border-strong);
	border-radius:var(--radius-lg);
	box-shadow:0 16px 40px rgba(0,0,0,0.5);
	display:none;
}
.socle.is-visible{display:block}
.socle-inner{display:flex;align-items:center;gap:var(--space-md);padding:18px 24px}
.socle-message{flex:1;font-size:14px;color:var(--color-text-muted);margin:0}
.socle-actions{display:flex;gap:10px;flex-shrink:0}
.socle-btn{
	border:none;cursor:pointer;font:inherit;
	padding:10px 20px;border-radius:var(--radius-pill);
	font-size:13px;font-weight:700;
	transition:transform var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease);
}
.socle-btn-accept{background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));color:#1a1208}
.socle-btn-decline{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-strong)}
.socle-btn:hover{transform:translateY(-1px)}
.socle-btn-decline:hover{color:var(--color-text)}
@media (max-width:720px){
	.socle{bottom:12px;width:calc(100% - 24px)}
	.socle,.socle-inner{padding:12px 14px !important;gap:8px !important;font-size:13px !important;line-height:1.35 !important}
	.socle-title,.socle-heading{display:none !important}
	.socle-button,.socle-btn{padding:8px 14px !important;font-size:12px !important;min-height:36px !important}
	.socle-inner{flex-wrap:wrap}
	.socle-actions{width:100%;justify-content:flex-end}
}

/* === Error block (ERR-04 — centered with illustration) === */
.chevet{padding:var(--space-2xl) 0;text-align:center;min-height:60vh;display:flex;align-items:center}
.chevet-inner{max-width:680px;margin:0 auto;padding:0 var(--container-padding-desktop)}
.chevet-code{font-size:120px;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-md)}
.chevet-title{margin-bottom:var(--space-md)}
.chevet-text{color:var(--color-text-muted);font-size:17px;margin-bottom:var(--space-lg)}
.chevet-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-gradient-mid),var(--color-gradient-light));color:#1a1208;font-weight:700;padding:14px 28px;border-radius:var(--radius-pill)}
.chevet-btn:hover{color:#1a1208;background:linear-gradient(135deg,var(--color-gradient-light),var(--color-gradient-mid))}
