@charset "UTF-8";
/*
Theme Name: Camp Evo
Version: 1.6.9
Text Domain: campevo
*/

@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/bxyb99a3d3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/kpuuczd4v7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/g4kxj9etew.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/2xb5t9cnhh.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(jbmmbne/upevjs/r7pp8xwxyp.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(jbmmbne/upevjs/szkrks6eed.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url(jbmmbne/upevjs/tdjwgmsfsu.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Karla';
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url(jbmmbne/upevjs/kwmq4yjvsf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(jbmmbne/upevjs/37mjbxgxn7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(jbmmbne/upevjs/exkhsbu7kz.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/xun3ze87mf.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(jbmmbne/upevjs/v322kgqpt4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(jbmmbne/upevjs/xun3ze87mf.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(jbmmbne/upevjs/v322kgqpt4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--kuko-bg: #F7F6F3;
	--kuko-sable: #F2EDE2;
	--kuko-blanc: #FFFFFF;
	--kuko-ink: #1C1F21;
	--kuko-doux: #3A3E40;
	--kuko-muted: #5E6265;
	--kuko-line: #D7D5D0;
	--kuko-line-fort: #B9B6AF;
	--kuko-photo: #E7E5E0;
	--kuko-rouge: #A8351F;
	--kuko-rouge-fonce: #86281A;
	--kuko-vert: #2F6B4F;
	--kuko-bleu: #1D4E68;
	--kuko-bleu-filet: #5B8099;
	--kuko-bleu-texte: #E4E8E4;
	--kuko-bleu-doux: #BFD2DC;
	--kuko-ocre: #E8A23B;
	--kuko-ocre-clair: #F0B85E;
	--kuko-teinte-rouge: #F8EBE6;
	--kuko-teinte-vert: #E9F1EC;
	--kuko-teinte-bleu: #E6EEF2;
	--kuko-trace: var(--kuko-rouge);
	--kuko-trace-style: solid;
	--kuko-trace-w: 2px;
	--kuko-teinte: var(--kuko-teinte-rouge);
	--kuko-f-titre: "Libre Caslon Text", Georgia, "Times New Roman", serif;
	--kuko-f-texte: "Karla", "Helvetica Neue", Arial, sans-serif;
	--kuko-f-mono: "JetBrains Mono", Menlo, Consolas, monospace;
	--kuko-s1: 4px;
	--kuko-s2: 8px;
	--kuko-s3: 12px;
	--kuko-s4: 16px;
	--kuko-s5: 24px;
	--kuko-s6: 32px;
	--kuko-s7: 48px;
	--kuko-s8: 64px;
	--kuko-s9: 96px;
	--kuko-max: 1340px;
	--kuko-pad: 50px;
	--kuko-lecture: 672px;
	--kuko-marge: 112px;
	--kuko-rayon: 0;
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: 96px;
}

body {
	margin: 0;
	background: var(--kuko-bg);
	color: var(--kuko-ink);
	font-family: var(--kuko-f-texte);
	font-size: 17px;
	line-height: 1.65;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
a { color: inherit; }
p { margin: 0; }
ul, ol { margin: 0; }

h1, h2, h3, h4 {
	margin: 0;
	font-family: var(--kuko-f-titre);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -0.01em;
	color: var(--kuko-ink);
}

button { font: inherit; }

:focus-visible {
	outline: 2px solid var(--kuko-rouge);
	outline-offset: 3px;
}

.kuko-main { display: block; }

.kuko-cadre {
	width: 100%;
	max-width: calc(var(--kuko-max) + 2 * var(--kuko-pad));
	margin-inline: auto;
	padding-inline: var(--kuko-pad);
}

.kuko-trace-route { --kuko-trace: var(--kuko-rouge); --kuko-trace-style: solid; --kuko-trace-w: 2px; --kuko-teinte: var(--kuko-teinte-rouge); }
.kuko-trace-chemin { --kuko-trace: var(--kuko-vert); --kuko-trace-style: dashed; --kuko-trace-w: 2px; --kuko-teinte: var(--kuko-teinte-vert); }
.kuko-trace-sentier { --kuko-trace: var(--kuko-bleu); --kuko-trace-style: dotted; --kuko-trace-w: 2px; --kuko-teinte: var(--kuko-teinte-bleu); }

/* Borne kilométrique */
.kuko-borne {
	position: relative;
	display: inline-block;
	flex: none;
	width: 12px;
	height: 20px;
	color: var(--kuko-trace);
}
.kuko-borne::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 11px;
	background: currentColor;
	border-radius: 6px 6px 0 0;
}
.kuko-borne::after {
	content: "";
	position: absolute;
	top: 11px; left: 0; right: 0; bottom: 0;
	border: 1px solid currentColor;
	border-top: 0;
}
.kuko-borne--petite { width: 8px; height: 14px; }
.kuko-borne--petite::before { height: 8px; border-radius: 4px 4px 0 0; }
.kuko-borne--petite::after { top: 8px; }

/* Libellés */
.kuko-surtitre,
.kuko-compteur,
.kuko-rub,
.kuko-duree,
.kuko-repere-texte,
.kuko-repere-ligne,
.kuko-troncon-titre,
.kuko-pied-titre {
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.6;
}
.kuko-surtitre { color: var(--kuko-rouge); letter-spacing: 0.2em; }
.kuko-compteur { color: var(--kuko-rouge); }
.kuko-compteur--neutre { color: var(--kuko-muted); }
.kuko-rub {
	display: inline-block;
	color: var(--kuko-trace);
	text-decoration: none;
	letter-spacing: 0.2em;
	padding-block: 4px;
}
.kuko-rub:hover { text-decoration: underline; text-underline-offset: 4px; }
.kuko-duree { color: var(--kuko-muted); letter-spacing: 0.12em; text-transform: none; }

/* Boutons */
.kuko-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 28px;
	background: var(--kuko-rouge);
	color: var(--kuko-blanc);
	border: 0;
	border-radius: var(--kuko-rayon);
	font-family: var(--kuko-f-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.kuko-bouton:hover { background: var(--kuko-rouge-fonce); color: var(--kuko-blanc); }
.kuko-bouton svg { width: 16px; height: 16px; }
.kuko-bouton--ocre { background: var(--kuko-ocre); color: var(--kuko-ink); }
.kuko-bouton--ocre:hover { background: var(--kuko-ocre-clair); color: var(--kuko-ink); }

/* Fil d'Ariane */
.kuko-ariane ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 10px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--kuko-muted);
}
.kuko-ariane li { display: inline-flex; align-items: center; gap: 10px; }
.kuko-ariane li + li::before { content: "/"; color: var(--kuko-line-fort); }
.kuko-ariane a { text-decoration: none; display: inline-block; padding-block: 8px; }
.kuko-ariane a:hover { color: var(--kuko-rouge); text-decoration: underline; text-underline-offset: 4px; }
.kuko-ariane [aria-current] { color: var(--kuko-ink); }

/* En-tête : bande de jalons */
.kuko-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--kuko-bg);
	border-top: 3px solid var(--kuko-rouge);
	border-bottom: 1px solid var(--kuko-line);
	transition: border-color .3s ease;
}
.admin-bar .kuko-header { top: 32px; }
.kuko-header.kuko-scrolled { border-bottom-color: var(--kuko-line-fort); }
.kuko-header-in {
	display: flex;
	align-items: center;
	gap: 36px;
	min-height: 72px;
}
.kuko-marque {
	flex: none;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--kuko-f-titre);
	font-size: 21px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--kuko-ink);
}
.kuko-marque:hover { color: var(--kuko-rouge); }
.kuko-raccourci { display: none; }
.kuko-nav-toggle { display: none; }
.kuko-croix { display: none; }
.kuko-tiroir { flex: 1 1 auto; min-width: 0; }
.kuko-parcours {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 16px;
}
.kuko-arret {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1 1 auto;
	min-width: 0;
}
.kuko-arret:first-child { flex: 0 0 auto; }
.kuko-filet {
	flex: 1 1 24px;
	min-width: 24px;
	height: 0;
	border-top: var(--kuko-trace-w) var(--kuko-trace-style) var(--kuko-trace);
}
.kuko-arret > a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	flex: none;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--kuko-trace);
}
.kuko-arret--accueil > a { color: var(--kuko-ink); }
.kuko-arret-nom { text-decoration: underline transparent 1px; text-underline-offset: 6px; transition: text-decoration-color .2s ease; }
.kuko-arret > a:hover .kuko-arret-nom,
.kuko-arret > a[aria-current] .kuko-arret-nom { text-decoration-color: currentColor; }
.kuko-arret--contact .kuko-filet { border-top: 1px solid var(--kuko-line); }
.kuko-arret--contact > a {
	background: var(--kuko-rouge);
	color: var(--kuko-blanc);
	padding: 0 20px;
	transition: background-color .2s ease;
}
.kuko-arret--contact > a:hover { background: var(--kuko-rouge-fonce); }

/* Ouverture */
.kuko-ouverture { background: var(--kuko-sable); }
.kuko-ouverture-photo {
	background: var(--kuko-photo);
	border-bottom: 3px solid var(--kuko-rouge);
}
.kuko-ouverture-photo img {
	width: 100%;
	height: clamp(300px, 32vw, 480px);
	object-fit: cover;
	object-position: center 60%;
}
.kuko-ouverture-titre { border-bottom: 1px solid var(--kuko-line); }
.kuko-ouverture-grille {
	display: grid;
	grid-template-columns: minmax(0, 740px) minmax(0, 1fr);
	gap: 60px;
	padding-block: 44px 48px;
}
.kuko-ouverture h1 {
	margin-top: 18px;
	font-size: 48px;
	line-height: 1.14;
	letter-spacing: -0.015em;
}
.kuko-ouverture h1:first-child { margin-top: 0; }
.kuko-ouverture h1 em,
.kuko-seo h2 em {
	font-style: italic;
	color: var(--kuko-rouge);
}
.kuko-ouverture-cote {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
}
.kuko-chapo {
	max-width: 470px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--kuko-doux);
}
.kuko-ouverture-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
}
.kuko-echelle { width: 240px; }
.kuko-echelle-barre {
	display: flex;
	height: 9px;
	transform-origin: left center;
	transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
@starting-style {
	.kuko-echelle-barre { transform: scaleX(0); }
}
.kuko-echelle-barre span { flex: 1; background: var(--kuko-rouge); }
.kuko-echelle-barre span:nth-child(even) { background: var(--kuko-blanc); border: 1px solid var(--kuko-rouge); }
.kuko-echelle-chiffres {
	display: flex;
	justify-content: space-between;
	width: 254px;
	margin: 8px 0 0 -4px;
	font-family: var(--kuko-f-mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	color: var(--kuko-muted);
}

/* Sections : en-têtes */
.kuko-entete-section {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	padding-bottom: 26px;
}
.kuko-entete-section h2 { font-size: 28px; }
.kuko-note { margin-top: 6px; font-size: 15px; color: var(--kuko-muted); }

/* Flux */
.kuko-flux { padding-top: 56px; }

.kuko-repere { display: flex; flex-direction: column; gap: 10px; }
.kuko-repere-texte {
	display: flex;
	flex-direction: column;
	margin: 0;
	letter-spacing: 0.12em;
	line-height: 1.9;
	color: var(--kuko-muted);
}
.kuko-repere-num { color: var(--kuko-trace); }
.kuko-repere-ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	letter-spacing: 0.12em;
	color: var(--kuko-muted);
}

.kuko-une {
	border-top: 2px solid var(--kuko-rouge);
	padding-block: 28px 36px;
}
.kuko-une-photo { display: block; background: var(--kuko-photo); }
.kuko-une-photo img {
	width: 100%;
	aspect-ratio: 1340 / 400;
	object-fit: cover;
	border: 1px solid var(--kuko-line);
}
.kuko-une-corps {
	display: grid;
	grid-template-columns: var(--kuko-marge) minmax(0, 1fr) 160px;
	gap: 60px;
	margin-top: 26px;
}
.kuko-kicker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--kuko-muted);
}
.kuko-une h3 {
	max-width: 780px;
	margin-top: 10px;
	font-size: 32px;
	line-height: 1.2;
	letter-spacing: -0.012em;
}
.kuko-une h3 a,
.kuko-etape h3 a,
.kuko-case-titre a,
.kuko-ligne h3 a,
.kuko-rub-ligne h3 a {
	text-decoration: none;
	transition: color .2s ease;
}
.kuko-une h3 a:hover,
.kuko-etape h3 a:hover,
.kuko-case-titre a:hover,
.kuko-ligne h3 a:hover,
.kuko-rub-ligne h3 a:hover { color: var(--kuko-rouge); }
.kuko-extrait {
	max-width: 760px;
	margin-top: 14px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--kuko-doux);
}
.kuko-lire {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 8px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--kuko-rouge);
	text-decoration: none;
}
.kuko-lire svg { width: 14px; height: 14px; }
.kuko-lire:hover { text-decoration: underline; text-underline-offset: 5px; }
.kuko-une .kuko-duree { text-align: right; }

.kuko-etape {
	position: relative;
	border-top: 1px solid var(--kuko-line);
}
.kuko-etape::before,
.kuko-case::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	height: 2px;
	background: var(--kuko-trace);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .45s ease;
}
.kuko-etape:hover::before,
.kuko-etape:focus-within::before,
.kuko-case:hover::before,
.kuko-case:focus-within::before { transform: scaleX(1); }
.kuko-etape-in {
	display: grid;
	grid-template-columns: var(--kuko-marge) clamp(260px, 30vw, 420px) minmax(0, 1fr);
	gap: 40px;
	padding-block: 28px;
}
.kuko-etape-photo { display: block; background: var(--kuko-photo); }
.kuko-etape-photo img,
.kuko-case-photo img,
.kuko-ligne-photo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid var(--kuko-line);
}
.kuko-sans-image { aspect-ratio: 1; border: 1px solid var(--kuko-line); background: var(--kuko-sable); }
.kuko-etape-texte { display: flex; flex-direction: column; min-width: 0; }
.kuko-etape h3 {
	max-width: 600px;
	margin-top: 10px;
	font-size: 27px;
	line-height: 1.24;
}
.kuko-etape .kuko-extrait { max-width: 600px; }
.kuko-etape .kuko-duree { margin-top: auto; padding-top: 18px; }

.kuko-troncon { padding-top: 48px; }
.kuko-troncon-titre { color: var(--kuko-rouge); padding-bottom: 18px; }
.kuko-cases {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--kuko-line);
	border-left: 1px solid var(--kuko-line);
}
.kuko-case {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px;
	border-right: 1px solid var(--kuko-line);
	border-bottom: 1px solid var(--kuko-line);
	min-width: 0;
}
.kuko-case-photo { display: block; background: var(--kuko-photo); }
.kuko-case-texte { display: flex; flex-direction: column; flex: 1; margin-top: 18px; }
.kuko-case .kuko-rub { margin-top: 10px; }
.kuko-case-titre {
	margin-top: 6px;
	font-size: 22px;
	line-height: 1.26;
}
.kuko-case .kuko-duree { margin-top: auto; padding-top: 14px; }

.kuko-lignes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 60px;
}
.kuko-lignes > li { border-top: 1px solid var(--kuko-line); }
.kuko-ligne {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 24px;
	padding-block: 20px;
}
.kuko-ligne-photo { display: block; background: var(--kuko-photo); }
.kuko-ligne .kuko-rub { margin-top: 6px; }
.kuko-ligne h3 {
	margin-top: 4px;
	font-size: 19px;
	line-height: 1.3;
}
.kuko-flux-fin { height: 64px; }

/* Persona */
.kuko-persona {
	--kuko-trace: var(--kuko-ocre);
	--kuko-puce: var(--kuko-ocre);
	background: var(--kuko-bleu);
	color: #F4F2EC;
}
.kuko-persona :focus-visible { outline-color: var(--kuko-ocre); }
.kuko-persona-in {
	display: grid;
	grid-template-columns: var(--kuko-marge) 340px minmax(0, 700px);
	gap: 40px;
	padding-block: 56px;
}
.kuko-persona-in--seul { grid-template-columns: var(--kuko-marge) minmax(0, 760px); }
.kuko-persona .kuko-repere-texte { color: var(--kuko-bleu-doux); }
.kuko-persona .kuko-repere-num { color: var(--kuko-bleu-doux); }
.kuko-persona-cadre {
	width: 100%;
	max-width: 340px;
	aspect-ratio: 1;
	padding: 9px;
	border: 1px solid var(--kuko-bleu-filet);
}
.kuko-persona-cadre img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
.kuko-persona h2 { font-size: 30px; color: var(--kuko-blanc); }
.kuko-persona-role {
	margin-top: 8px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--kuko-ocre-clair);
}
.kuko-persona-bio { margin-top: 18px; color: var(--kuko-bleu-texte); line-height: 1.7; }
.kuko-persona-bio p { margin: 0 0 1em; }
.kuko-persona-bio a { color: var(--kuko-ocre-clair); text-decoration: underline; text-underline-offset: 3px; }
.kuko-persona .kuko-puces { margin-top: 6px; display: grid; gap: 8px; font-size: 16px; color: var(--kuko-bleu-texte); }
.kuko-persona .kuko-puces strong { color: var(--kuko-blanc); font-weight: 700; }
.kuko-persona .kuko-bouton { margin-top: 26px; }

/* Puces borne */
.kuko-puces { list-style: none; padding: 0; margin: 0; }
.kuko-puces > li,
.entry-content ul > li { position: relative; padding-left: 1.4em; }
.kuko-puces > li::before,
.entry-content ul > li::before {
	content: "";
	position: absolute;
	left: 0.2em;
	top: 0.6em;
	width: 5px;
	height: 5px;
	background: var(--kuko-puce, var(--kuko-rouge));
	border-radius: 2.5px 2.5px 0 0;
}
.kuko-puces > li::after,
.entry-content ul > li::after {
	content: "";
	position: absolute;
	left: 0.2em;
	top: calc(0.6em + 5px);
	width: 5px;
	height: 4px;
	border: 1px solid var(--kuko-puce, var(--kuko-rouge));
	border-top: 0;
}

/* Rubriques : tableau kilométrique */
.kuko-rubriques { padding-block: 56px 72px; }
.kuko-table-rub { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.kuko-rub-ligne {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) auto;
	gap: 40px;
	align-items: center;
	padding: 26px 30px;
	background: var(--kuko-teinte);
	border-top: 3px var(--kuko-trace-style) var(--kuko-trace);
}
.kuko-rub-ligne--seule { grid-template-columns: minmax(0, 1fr) auto; }
.kuko-rub-photo { display: block; }
.kuko-rub-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.kuko-rub-filet {
	display: block;
	width: 112px;
	height: 0;
	border-top: 3px var(--kuko-trace-style) var(--kuko-trace);
}
.kuko-rub-ligne h3 { margin-top: 18px; font-size: 26px; }
.kuko-rub-ligne p { margin-top: 10px; max-width: 620px; font-size: 16px; color: var(--kuko-doux); }
.kuko-rub-cote { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.kuko-rub-compte {
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kuko-trace);
	white-space: nowrap;
}

/* Article */
.kuko-lecture { position: relative; }
.kuko-article-tete { padding-block: 28px 40px; }
.kuko-article-tete-in { max-width: 880px; margin-inline: auto; }
.kuko-article-tete .kuko-rub { margin-top: 28px; }
.kuko-article-tete h1 {
	margin-top: 10px;
	font-size: 48px;
	line-height: 1.14;
	letter-spacing: -0.015em;
}
.kuko-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
	margin-top: 22px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: var(--kuko-muted);
}
.kuko-article-meta > * { display: inline-flex; align-items: center; gap: 6px; }
.kuko-article-meta svg { width: 14px; height: 14px; }
.kuko-article-photo img {
	width: 100%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
	border-bottom: 3px solid var(--kuko-rouge);
	background: var(--kuko-photo);
}
.kuko-colonne {
	width: min(calc(100% - 2 * var(--kuko-pad)), var(--kuko-lecture));
	margin: 48px auto 0;
}
.kuko-marge {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	margin: 0 0 32px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--kuko-line);
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--kuko-muted);
}
.kuko-marge p { margin: 0; }
.kuko-marge a { color: var(--kuko-trace); text-decoration: none; }
.kuko-marge a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1240px) {
	@supports (anchor-name: --kuko-x) {
		.kuko-colonne { anchor-name: --kuko-colonne; }
		.kuko-marge {
			position: absolute;
			position-anchor: --kuko-colonne;
			top: anchor(top);
			right: anchor(left);
			width: 176px;
			margin: 0 56px 0 0;
			padding: 16px 0 0;
			border-bottom: 0;
			border-top: 2px var(--kuko-trace-style) var(--kuko-trace);
			flex-direction: column;
			align-items: flex-start;
			gap: 10px;
		}
	}
}
.kuko-resume {
	margin-bottom: 36px;
	padding: 22px 26px;
	background: var(--kuko-sable);
	border-top: 2px solid var(--kuko-rouge);
	font-size: 16px;
	line-height: 1.65;
}
.kuko-resume p { margin: 0 0 .8em; }
.kuko-resume p:last-child { margin-bottom: 0; }
.kuko-resume h2, .kuko-resume h3 { font-size: 20px; margin-bottom: 10px; }
.kuko-etiquettes {
	list-style: none;
	margin: 44px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--kuko-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.kuko-etiquettes a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--kuko-line-fort);
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color .2s ease, color .2s ease;
}
.kuko-etiquettes a:hover { border-color: var(--kuko-rouge); color: var(--kuko-rouge); }
.kuko-auteur {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 24px;
	margin-top: 48px;
	padding-top: 28px;
	border-top: 2px solid var(--kuko-rouge);
}
.kuko-auteur-photo { padding: 5px; border: 1px solid var(--kuko-line); }
.kuko-auteur-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center 20%; }
.kuko-auteur-label {
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--kuko-rouge);
}
.kuko-auteur-nom { margin-top: 6px; font-family: var(--kuko-f-titre); font-size: 22px; line-height: 1.2; }
.kuko-auteur-role { margin-top: 4px; font-size: 14px; color: var(--kuko-muted); }
.kuko-auteur-bio { margin-top: 12px; font-size: 16px; line-height: 1.65; color: var(--kuko-doux); }
.kuko-auteur-bio p { margin: 0 0 .8em; }
.kuko-auteur-bio a { color: var(--kuko-rouge); }
.kuko-proches {
	margin-top: 80px;
	padding-block: 56px 72px;
	background: var(--kuko-sable);
	border-top: 3px solid var(--kuko-rouge);
}
.kuko-proches .kuko-case { background: var(--kuko-sable); }

/* Contenu éditorial */
.entry-content {
	font-size: 17px;
	line-height: 1.72;
	color: var(--kuko-ink);
}
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.25em; }
.entry-content h2 {
	margin: 2em 0 .65em;
	padding-top: .7em;
	border-top: 1px solid var(--kuko-line);
	font-size: 28px;
	line-height: 1.18;
}
.entry-content h3 { margin: 1.7em 0 .5em; font-size: 22px; line-height: 1.24; }
.entry-content h4 { margin: 1.5em 0 .4em; font-family: var(--kuko-f-texte); font-size: 17px; font-weight: 700; letter-spacing: 0; }
.entry-content a {
	color: var(--kuko-rouge);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color .2s ease;
}
.entry-content a:hover { color: var(--kuko-ink); text-decoration-thickness: 2px; }
.entry-content strong { font-weight: 700; }
.entry-content ul,
.entry-content ol { margin: 0 0 1.4em; }
.entry-content ul { list-style: none; padding-left: 0; }
.entry-content ol { list-style: decimal; padding-left: 1.4em; }
.entry-content li { margin: .45em 0; }
.entry-content ol > li::marker { color: var(--kuko-rouge); font-family: var(--kuko-f-mono); font-size: .85em; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content figure { margin: 2em 0; }
.entry-content figcaption,
.wp-caption-text {
	margin-top: 8px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--kuko-muted);
}
.entry-content blockquote {
	margin: 2em 0;
	padding: 18px 0 0;
	border-top: 2px solid var(--kuko-rouge);
	font-family: var(--kuko-f-titre);
	font-size: 22px;
	font-style: italic;
	line-height: 1.45;
}
.entry-content blockquote p { margin: 0 0 .6em; }
.entry-content blockquote cite {
	display: block;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	font-style: normal;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--kuko-muted);
}
.entry-content table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content th {
	padding: 12px 14px;
	text-align: left;
	background: var(--kuko-sable);
	border-bottom: 2px solid var(--kuko-rouge);
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.entry-content td { padding: 12px 14px; border-bottom: 1px solid var(--kuko-line); vertical-align: top; }
.entry-content hr { border: 0; border-top: 1px solid var(--kuko-line); margin: 2.5em 0; }
.entry-content code { font-family: var(--kuko-f-mono); font-size: .88em; background: var(--kuko-sable); padding: .1em .35em; }
.entry-content div#ez-toc-container {
	width: 100%;
	margin: 0 0 2em;
	padding: 18px 22px 10px;
	background: var(--kuko-sable);
	border: 0;
	border-top: 2px solid var(--kuko-rouge);
	border-radius: 0;
	box-shadow: none;
}
.entry-content div#ez-toc-container p.ez-toc-title {
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--kuko-rouge);
}
.entry-content div#ez-toc-container ul li a {
	font-family: var(--kuko-f-texte);
	font-size: 15px;
	color: var(--kuko-ink);
	text-decoration: none;
}
.entry-content div#ez-toc-container ul li a:hover { color: var(--kuko-rouge); text-decoration: underline; }
.entry-content div#ez-toc-container .ez-toc-btn,
.entry-content div#ez-toc-container a.ez-toc-toggle {
	background: transparent;
	border: 1px solid var(--kuko-line-fort);
	border-radius: 0;
	box-shadow: none;
}

/* Archive */
.kuko-archive-tete { background: var(--kuko-sable); border-bottom: 3px solid var(--kuko-rouge); }
.kuko-archive-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 60px;
	align-items: center;
	padding-block: 28px 48px;
}
.kuko-archive-grille--seule { grid-template-columns: minmax(0, 860px); }
.kuko-archive-tete .kuko-surtitre { margin-top: 32px; }
.kuko-archive-tete h1 { margin-top: 12px; font-size: 48px; letter-spacing: -0.015em; }
.kuko-archive-desc { max-width: 640px; margin-top: 18px; font-size: 18px; color: var(--kuko-doux); }
.kuko-archive-desc p { margin: 0 0 .8em; }
.kuko-archive-tete .kuko-compteur { margin-top: 18px; }
.kuko-archive-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--kuko-line); }
.kuko-archive-flux { padding-block: 56px 72px; }
.kuko-vide-texte { color: var(--kuko-muted); }
.kuko-pagination { margin-top: 48px; }
.kuko-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.kuko-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--kuko-line);
	font-family: var(--kuko-f-mono);
	font-size: 12px;
	text-decoration: none;
	color: var(--kuko-ink);
}
.kuko-pagination a.page-numbers:hover { border-color: var(--kuko-rouge); color: var(--kuko-rouge); }
.kuko-pagination .page-numbers.current { background: var(--kuko-rouge); border-color: var(--kuko-rouge); color: var(--kuko-blanc); }

.kuko-seo { padding-block: 64px 80px; border-top: 1px solid var(--kuko-line); }
.kuko-seo-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 64px;
	align-items: start;
}
.kuko-seo-grille--seule { grid-template-columns: minmax(0, 760px); }
.kuko-seo h2 { font-size: 32px; line-height: 1.18; }
.kuko-seo-intro { margin-top: 18px; color: var(--kuko-doux); }
.kuko-seo .kuko-puces { margin-top: 24px; display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--kuko-line); }
.kuko-seo-close { margin-top: 24px; font-family: var(--kuko-f-titre); font-size: 20px; line-height: 1.45; }
.kuko-seo-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--kuko-line); }

/* Pages */
.kuko-page-tete { background: var(--kuko-sable); border-bottom: 3px solid var(--kuko-rouge); }
.kuko-page-tete-in { padding-block: 28px 48px; }
.kuko-page-tete h1 { margin-top: 28px; font-size: 48px; letter-spacing: -0.015em; }
.kuko-page-tete-in--portrait {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 60px;
	align-items: end;
}
.kuko-page-portrait { padding: 9px; border: 1px solid var(--kuko-line-fort); background: var(--kuko-bg); }
.kuko-page-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.kuko-page-bande img { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border-bottom: 3px solid var(--kuko-rouge); }

.kuko-mini-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
	padding: 64px var(--kuko-pad);
	background: var(--kuko-ink);
	color: var(--kuko-blanc);
	text-align: center;
	border-bottom: 3px solid var(--kuko-rouge);
}
.kuko-mini-hero-img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.kuko-mini-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(0, 0, 0, .62);
}
.kuko-mini-hero-in { max-width: 860px; }
.kuko-mini-hero h1 { margin-top: 14px; font-size: 48px; color: var(--kuko-blanc); letter-spacing: -0.015em; }
.kuko-mini-hero .kuko-ariane ol { justify-content: center; color: var(--kuko-blanc); }
.kuko-mini-hero .kuko-ariane a,
.kuko-mini-hero .kuko-ariane [aria-current] { color: var(--kuko-blanc); }
.kuko-mini-hero .kuko-ariane li + li::before { color: rgba(255, 255, 255, .7); }
.kuko-mini-hero :focus-visible { outline-color: var(--kuko-blanc); }

.kuko-page-corps { padding-block: 56px 88px; }
.kuko-texte,
.kuko-legal { max-width: var(--kuko-lecture); margin-inline: auto; }
.kuko-legal h2 { font-size: 22px; }

.kuko-qui {
	display: grid;
	grid-template-columns: minmax(0, 320px) minmax(0, var(--kuko-lecture));
	gap: 64px;
	justify-content: center;
	align-items: start;
}
.kuko-qui .kuko-texte { margin-inline: 0; }
.kuko-page--portrait .kuko-qui { grid-template-columns: minmax(0, var(--kuko-lecture)); }
.kuko-page--portrait .kuko-qui .kuko-auteur-img { display: none; }
.kuko-auteur-img { padding: 9px; border: 1px solid var(--kuko-line); }
.kuko-auteur-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.kuko-bloc + .kuko-bloc { margin-top: 8px; }
.entry-content .kuko-rubriques-liens,
.entry-content .kuko-indicateurs { padding-left: 0; }
.entry-content .kuko-rubriques-liens > li,
.entry-content .kuko-indicateurs > li { padding-left: 0; margin: 0; }
.entry-content .kuko-rubriques-liens > li::before,
.entry-content .kuko-rubriques-liens > li::after,
.entry-content .kuko-indicateurs > li::before,
.entry-content .kuko-indicateurs > li::after { content: none; }
.kuko-rubriques-liens { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 1.5em 0; }
.kuko-rubriques-liens a,
.entry-content .kuko-rubriques-liens a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--kuko-line-fort);
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--kuko-ink);
}
.kuko-rubriques-liens a:hover { border-color: var(--kuko-rouge); color: var(--kuko-rouge); }
.kuko-indicateurs {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 2em 0;
	border-top: 2px solid var(--kuko-rouge);
}
.kuko-jalon { padding: 18px 18px 6px 0; }
.kuko-jalon + .kuko-jalon { padding-left: 18px; border-left: 1px solid var(--kuko-line); }
.kuko-jalon strong {
	display: block;
	font-family: var(--kuko-f-titre);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.1;
	color: var(--kuko-rouge);
}
.kuko-jalon span {
	display: block;
	margin-top: 6px;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--kuko-muted);
}
.kuko-action,
.entry-content a.kuko-action {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	margin-top: 1em;
	padding: 0 28px;
	background: var(--kuko-rouge);
	color: var(--kuko-blanc);
	font-family: var(--kuko-f-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
}
.kuko-action:hover,
.entry-content a.kuko-action:hover { background: var(--kuko-rouge-fonce); color: var(--kuko-blanc); }

.kuko-index {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 48px;
}
.kuko-groupe { border-top: 2px solid var(--kuko-rouge); padding-top: 18px; }
.kuko-groupe h2 { font-size: 22px; }
.kuko-groupe h2 a { text-decoration: none; }
.kuko-groupe h2 a:hover { color: var(--kuko-rouge); }
.kuko-groupe ul { list-style: none; margin: 12px 0 0; padding: 0; }
.kuko-groupe li { border-bottom: 1px solid var(--kuko-line); }
.kuko-groupe li a { display: block; padding-block: 10px; font-size: 15px; line-height: 1.45; text-decoration: none; }
.kuko-groupe li a:hover { color: var(--kuko-rouge); text-decoration: underline; text-underline-offset: 3px; }

/* Contact */
.kuko-formulaire {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 64px;
	align-items: start;
}
.kuko-mot { font-size: 18px; line-height: 1.7; color: var(--kuko-doux); }
.kuko-mot p { margin: 0 0 1em; }
.kuko-mot a { color: var(--kuko-rouge); text-decoration: underline; text-underline-offset: 3px; }
.kuko-saisie {
	padding: 36px;
	background: var(--kuko-blanc);
	border: 1px solid var(--kuko-line);
	border-top: 3px solid var(--kuko-rouge);
}
.kuko-saisie .wpcf7-form p { margin: 0 0 20px; }
.kuko-saisie br { display: none; }
.kuko-saisie label {
	display: block;
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kuko-doux);
}
.kuko-saisie .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.kuko-saisie input[type="text"],
.kuko-saisie input[type="email"],
.kuko-saisie input[type="tel"],
.kuko-saisie input[type="url"],
.kuko-saisie input[type="number"],
.kuko-saisie select,
.kuko-saisie textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	background: var(--kuko-bg);
	border: 1px solid var(--kuko-line-fort);
	border-radius: var(--kuko-rayon);
	font-family: var(--kuko-f-texte);
	font-size: 17px;
	color: var(--kuko-ink);
	text-transform: none;
	letter-spacing: 0;
}
.kuko-saisie textarea { min-height: 180px; resize: vertical; }
.kuko-saisie input:focus,
.kuko-saisie textarea:focus,
.kuko-saisie select:focus {
	outline: 2px solid var(--kuko-rouge);
	outline-offset: 0;
	border-color: var(--kuko-rouge);
	background: var(--kuko-blanc);
}
.kuko-saisie .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 0 32px;
	background: var(--kuko-rouge);
	color: var(--kuko-blanc);
	border: 0;
	border-radius: var(--kuko-rayon);
	font-family: var(--kuko-f-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
}
.kuko-saisie .wpcf7-submit:hover { background: var(--kuko-rouge-fonce); }
.kuko-saisie .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; color: var(--kuko-rouge); text-transform: none; letter-spacing: 0; font-family: var(--kuko-f-texte); }
.kuko-saisie .wpcf7-response-output {
	margin: 20px 0 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--kuko-line-fort) !important;
	font-size: 15px;
}
.kuko-saisie .wpcf7-spinner { margin: 0 0 0 12px; }

/* 404 */
.kuko-perdu { padding-block: 96px 112px; }
.kuko-perdu-in { max-width: 720px; }
.kuko-perdu .kuko-surtitre { margin-top: 18px; }
.kuko-perdu h1 { margin-top: 12px; font-size: 48px; letter-spacing: -0.015em; }
.kuko-perdu-in > p:not(.kuko-surtitre) { margin-top: 18px; font-size: 18px; color: var(--kuko-doux); }
.kuko-perdu .kuko-bouton { margin-top: 28px; }
.kuko-perdu .kuko-rubriques-liens { margin-top: 28px; padding: 0; }

/* Pied de page : colophon */
.kuko-pied {
	background: var(--kuko-sable);
	border-top: 3px solid var(--kuko-rouge);
	padding-block: 44px 28px;
}
.kuko-pied-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kuko-pied-col { padding-inline: 30px; border-left: 1px solid var(--kuko-line); min-width: 0; }
.kuko-pied-col:first-child { padding-left: 0; border-left: 0; }
.kuko-pied-col:last-child { padding-right: 0; }
.kuko-pied .kuko-marque { font-size: 19px; }
.kuko-pied-desc { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--kuko-doux); }
.kuko-pied-titre { color: var(--kuko-muted); letter-spacing: 0.2em; }
.kuko-pied ul { list-style: none; margin: 10px 0 0; padding: 0; font-size: 15px; }
.kuko-pied ul a {
	display: inline-block;
	padding-block: 11px;
	line-height: 1.5;
	text-decoration: none;
	color: var(--kuko-ink);
}
.kuko-pied ul .kuko-pied-rub { color: var(--kuko-trace); }
.kuko-pied ul a:hover { color: var(--kuko-rouge); text-decoration: underline; text-underline-offset: 3px; }
.kuko-pied .kuko-puces > li::before { top: 18px; }
.kuko-pied .kuko-puces > li::after { top: 23px; }
.kuko-pied-bas {
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid var(--kuko-line);
	font-family: var(--kuko-f-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: var(--kuko-muted);
}

/* Classes WordPress */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 2000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 14px 20px;
	clip: auto;
	white-space: normal;
	background: var(--kuko-ink);
	color: var(--kuko-blanc);
	font-size: 15px;
	text-decoration: none;
}
.aligncenter { display: block; margin-inline: auto; }
.alignleft { float: left; margin: .3em 1.6em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.6em; }
.wp-caption { max-width: 100%; margin-bottom: 1.6em; }
.wp-caption img { display: block; }

/* Tablette */
@media (max-width: 1023px) {
	:root { --kuko-pad: 32px; }
	.kuko-header-in { min-height: 60px; gap: 12px; }
	.kuko-marque { margin-right: auto; font-size: 19px; }
	.kuko-raccourci {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 0 16px;
		background: var(--kuko-rouge);
		color: var(--kuko-blanc);
		font-family: var(--kuko-f-mono);
		font-size: 11px;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		text-decoration: none;
	}
	.kuko-raccourci:hover { background: var(--kuko-rouge-fonce); }
	.kuko-nav-toggle {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		background: transparent;
		border: 1px solid var(--kuko-line-fort);
		border-radius: var(--kuko-rayon);
		cursor: pointer;
		color: var(--kuko-ink);
	}
	.kuko-trois { display: flex; flex-direction: column; gap: 5px; width: 20px; }
	.kuko-trois span { display: block; height: 0; border-top: 2px solid var(--kuko-rouge); }
	.kuko-trois span:nth-child(2) { border-top-style: dashed; border-top-color: var(--kuko-vert); }
	.kuko-trois span:nth-child(3) { border-top-style: dotted; border-top-color: var(--kuko-bleu); }
	.kuko-tiroir {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 1000;
		overflow-y: auto;
		padding: 88px 28px 48px;
		background: var(--kuko-bg);
		border-top: 3px solid var(--kuko-rouge);
	}
	.kuko-menu-ouvert .kuko-tiroir { display: block; }
	.kuko-menu-ouvert body { overflow: hidden; }
	.kuko-croix {
		display: inline-flex;
		position: absolute;
		top: 14px;
		right: 18px;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		background: var(--kuko-bg);
		border: 1px solid var(--kuko-line-fort);
		border-radius: var(--kuko-rayon);
		color: var(--kuko-ink);
		cursor: pointer;
	}
	.kuko-croix svg { width: 20px; height: 20px; }
	.kuko-parcours { flex-direction: column; align-items: stretch; gap: 0; max-width: 520px; }
	.kuko-arret { flex-direction: column; align-items: flex-start; gap: 0; width: 100%; }
	.kuko-filet {
		flex: none;
		width: 0;
		min-width: 0;
		height: 34px;
		margin-left: 5px;
		border-top: 0;
		border-left: var(--kuko-trace-w) var(--kuko-trace-style) var(--kuko-trace);
	}
	.kuko-arret > a {
		gap: 18px;
		min-height: 52px;
		font-family: var(--kuko-f-titre);
		font-size: 26px;
		letter-spacing: 0;
		text-transform: none;
		white-space: normal;
	}
	.kuko-arret--contact .kuko-filet { border-left: 1px solid var(--kuko-line-fort); }
	.kuko-arret--contact > a {
		width: 100%;
		justify-content: center;
		margin-top: 12px;
		font-family: var(--kuko-f-mono);
		font-size: 12px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}
	.kuko-ouverture-grille { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.kuko-une-corps { grid-template-columns: var(--kuko-marge) minmax(0, 1fr); gap: 32px; }
	.kuko-une .kuko-duree { grid-column: 2; text-align: left; }
	.kuko-etape-in { grid-template-columns: 88px minmax(220px, 300px) minmax(0, 1fr); gap: 28px; }
	.kuko-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kuko-lignes { grid-template-columns: minmax(0, 1fr); }
	.kuko-persona-in { grid-template-columns: 88px 280px minmax(0, 1fr); gap: 28px; }
	.kuko-persona-in--seul { grid-template-columns: 88px minmax(0, 1fr); }
	.kuko-rub-ligne { grid-template-columns: 180px minmax(0, 1fr); gap: 28px; }
	.kuko-rub-ligne--seule { grid-template-columns: minmax(0, 1fr); }
	.kuko-rub-cote { grid-column: -2 / -1; align-items: flex-start; text-align: left; }
	.kuko-archive-grille { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
	.kuko-seo-grille { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; }
	.kuko-page-tete-in--portrait { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
	.kuko-qui { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 40px; }
	.kuko-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kuko-formulaire { gap: 40px; }
	.kuko-pied-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
	.kuko-pied-col:nth-child(3) { padding-left: 0; border-left: 0; }
	.kuko-pied-col:nth-child(2) { padding-right: 0; }
}

@media screen and (max-width: 782px) {
	.admin-bar .kuko-header { top: 46px; }
}
@media screen and (max-width: 600px) {
	.admin-bar .kuko-header { top: 0; }
}

/* Mobile */
@media (max-width: 720px) {
	:root { --kuko-pad: 22px; }
	body { font-size: 17px; }
	.kuko-header-in { gap: 10px; }
	.kuko-marque { font-size: 17px; letter-spacing: 0.12em; }
	.kuko-raccourci { padding: 0 12px; font-size: 10px; letter-spacing: 0.1em; }
	.kuko-ouverture-photo img { height: 300px; }
	.kuko-ouverture-grille { padding-block: 30px 32px; }
	.kuko-ouverture h1,
	.kuko-article-tete h1,
	.kuko-archive-tete h1,
	.kuko-page-tete h1,
	.kuko-mini-hero h1,
	.kuko-perdu h1 { font-size: 34px; line-height: 1.18; }
	.kuko-chapo { font-size: 16px; }
	.kuko-ouverture-actions { flex-direction: column; align-items: flex-start; }
	.kuko-flux { padding-top: 36px; }
	.kuko-entete-section h2 { font-size: 24px; }
	.kuko-une { padding-block: 22px 28px; }
	.kuko-une-photo img { aspect-ratio: 6 / 5; }
	.kuko-une-corps { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 18px; }
	.kuko-une .kuko-duree { grid-column: auto; }
	.kuko-une h3 { font-size: 25px; line-height: 1.24; }
	.kuko-repere { flex-direction: row; align-items: center; gap: 12px; }
	.kuko-repere-texte { flex-direction: row; flex-wrap: wrap; gap: 0 10px; }
	.kuko-repere-texte > span + span::before { content: "·"; margin-right: 10px; }
	.kuko-etape-in { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-block: 22px; }
	.kuko-etape h3 { font-size: 22px; line-height: 1.26; }
	.kuko-etape .kuko-duree { padding-top: 12px; }
	.kuko-troncon { padding-top: 36px; }
	.kuko-cases { grid-template-columns: minmax(0, 1fr); border-left: 0; }
	.kuko-case {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 16px;
		padding: 18px 0;
		border-right: 0;
	}
	.kuko-case-texte { margin-top: 0; }
	.kuko-case-titre { font-size: 19px; line-height: 1.3; }
	.kuko-sans-image { aspect-ratio: 1; }
	.kuko-ligne { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding-block: 18px; }
	.kuko-ligne h3 { font-size: 18px; }
	.kuko-persona-in,
	.kuko-persona-in--seul { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-block: 34px 40px; }
	.kuko-persona-cadre { max-width: 100%; }
	.kuko-persona h2 { font-size: 26px; }
	.kuko-rubriques { padding-block: 36px 48px; }
	.kuko-rub-ligne,
	.kuko-rub-ligne--seule { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 22px 20px; }
	.kuko-rub-cote { grid-column: auto; }
	.kuko-rub-photo img { aspect-ratio: 3 / 2; }
	.kuko-rub-ligne h3 { font-size: 22px; margin-top: 14px; }
	.kuko-article-photo { padding-inline: 0; }
	.kuko-article-photo img { aspect-ratio: 4 / 3; }
	.kuko-colonne { margin-top: 32px; }
	.kuko-article-tete .kuko-ariane li:last-child { display: none; }
	.entry-content h2 { font-size: 24px; }
	.entry-content h3 { font-size: 20px; }
	.entry-content blockquote { font-size: 19px; padding-left: 18px; }
	.entry-content table { display: block; overflow-x: auto; }
	.alignleft, .alignright { float: none; margin: 1em 0; }
	.kuko-auteur { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; }
	.kuko-proches { margin-top: 56px; padding-block: 40px 48px; }
	.kuko-archive-grille,
	.kuko-seo-grille,
	.kuko-page-tete-in--portrait { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.kuko-archive-photo img { aspect-ratio: 3 / 2; }
	.kuko-page-portrait { max-width: 300px; }
	.kuko-seo { padding-block: 44px 56px; }
	.kuko-seo h2 { font-size: 26px; }
	.kuko-mini-hero { min-height: 260px; padding-block: 48px; }
	.kuko-page-corps { padding-block: 40px 64px; }
	.kuko-qui,
	.kuko-formulaire,
	.kuko-index { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.kuko-qui .kuko-auteur-img { max-width: 300px; }
	.kuko-saisie { padding: 24px 18px; }
	.kuko-indicateurs { grid-template-columns: minmax(0, 1fr); }
	.kuko-jalon + .kuko-jalon { padding-left: 0; border-left: 0; border-top: 1px solid var(--kuko-line); }
	.kuko-perdu { padding-block: 56px 72px; }
	.kuko-pied { padding-block: 32px 24px; }
	.kuko-pied-grille { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.kuko-pied-col,
	.kuko-pied-col:nth-child(2),
	.kuko-pied-col:nth-child(3) { padding: 20px 0 0; margin-top: 20px; border-left: 0; border-top: 1px solid var(--kuko-line); }
	.kuko-pied-col:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}
	.kuko-echelle-barre { transform: none; }
}
