/* ==========================================================================
   Speak You — feuille de styles principale
   Charte : bleu #104196 · bleu ciel #2F9FDA · Open Sans
   Mobile first · contrastes AA · cibles tactiles ≥ 44 px
   ========================================================================== */

@font-face {
	font-family: "Open Sans";
	src: url("../fonts/open-sans.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Open Sans";
	src: url("../fonts/open-sans-italic.woff2") format("woff2");
	font-weight: 300 800;
	font-style: italic;
	font-display: swap;
}

:root {
	--sy-blue: #104196;
	--sy-blue-hover: #0C3478;
	--sy-navy: #0A2A63;
	--sy-sky: #2F9FDA;
	--sy-sky-light: #75C9EB;
	--sy-pale: #EEF3FA;
	--sy-pale-2: #E1EAF6;
	--sy-ink: #1D2433;
	--sy-muted: #4D566B;
	--sy-line: #D8E0EC;
	--sy-white: #FFFFFF;

	--sy-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--sy-radius: 18px;
	--sy-radius-lg: 28px;
	--sy-shadow: 0 10px 30px rgba(16, 65, 150, .10);
	--sy-shadow-lg: 0 24px 60px rgba(10, 42, 99, .22);
	--sy-gutter: clamp(16px, 4vw, 32px);
	--sy-section: clamp(56px, 8vw, 104px);
	--sy-header-h: 76px;
}

/* --- Base ---------------------------------------------------------------- */

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--sy-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body {
	margin: 0;
	font-family: var(--sy-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--sy-ink);
	background: var(--sy-white);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; display: block; }
figure { margin: 0; }

a { color: var(--sy-blue); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--sy-navy); text-decoration-thickness: 2px; }

:focus-visible { outline: 3px solid var(--sy-sky); outline-offset: 3px; border-radius: 4px; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; line-height: 1.2; font-weight: 700; color: inherit; letter-spacing: -.01em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); }
h3 { font-size: clamp(1.15rem, 1.8vw, 1.35rem); }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.3em; }

.sy-sr {
	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 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.sy-skip {
	position: absolute; left: 16px; top: -100px; z-index: 1000;
	background: var(--sy-white); color: var(--sy-blue); padding: 12px 18px; border-radius: 10px; font-weight: 700;
}
.sy-skip:focus { top: 12px; }

.sy-main:focus { outline: none; }

.sy-container { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: var(--sy-gutter); }
.sy-container--narrow { max-width: 860px; }
.sy-center { text-align: center; }
.sy-rounded { border-radius: var(--sy-radius-lg); }

/* --- Typo utilitaires ---------------------------------------------------- */

.sy-kicker {
	display: inline-block; margin: 0 0 .75rem;
	font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--sy-blue);
}
.sy-kicker a { color: inherit; text-decoration: none; }
.sy-kicker a:hover { text-decoration: underline; }
.sy-kicker--light { color: var(--sy-sky-light); }
.sy-h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); font-weight: 800; color: var(--sy-navy); margin-bottom: .6em; }
.sy-section--blue .sy-h2, .sy-cta .sy-h2 { color: var(--sy-white); }
.sy-h3 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight: 700; color: var(--sy-navy); }
.sy-lead { font-size: clamp(1.1rem, 1.6vw, 1.25rem); line-height: 1.6; color: var(--sy-muted); }
.sy-note { font-weight: 600; color: var(--sy-navy); }
.sy-caption { font-size: .92rem; color: var(--sy-muted); margin-top: .75rem; }

/* --- Boutons ------------------------------------------------------------- */

.sy-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sy-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: 12px 24px; border-radius: 999px; border: 2px solid var(--sy-blue);
	background: var(--sy-blue); color: var(--sy-white);
	font: inherit; font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; text-align: center;
	cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.sy-btn:hover { background: var(--sy-blue-hover); border-color: var(--sy-blue-hover); color: var(--sy-white); text-decoration: none; transform: translateY(-1px); }
.sy-btn--outline { background: transparent; color: var(--sy-blue); }
.sy-btn--outline:hover { background: var(--sy-blue); color: var(--sy-white); }
.sy-btn--light { background: var(--sy-white); border-color: var(--sy-white); color: var(--sy-blue); }
.sy-btn--light:hover { background: var(--sy-pale); border-color: var(--sy-pale); color: var(--sy-navy); }
.sy-btn--ghost { background: transparent; border-color: rgba(255,255,255,.55); color: var(--sy-white); }
.sy-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: var(--sy-white); color: var(--sy-white); }
.sy-btn--dark { background: var(--sy-navy); border-color: var(--sy-navy); }
.sy-btn--lg { min-height: 56px; padding: 14px 30px; font-size: 1.05rem; }
.sy-btn--sm { min-height: 44px; padding: 10px 18px; font-size: .95rem; }

.sy-link-arrow { display: inline-flex; align-items: center; gap: .4em; min-height: 44px; font-weight: 700; text-decoration: none; }
.sy-link-arrow:hover { text-decoration: underline; }
.sy-link-light { color: var(--sy-white); font-weight: 600; display: inline-flex; gap: .4em; align-items: center; }
.sy-link-light:hover { color: var(--sy-sky-light); }

/* --- Barre supérieure & en-tête --------------------------------------- */

.sy-topbar { background: var(--sy-navy); color: #C9D6EE; font-size: .88rem; }
.sy-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; }
.sy-topbar__msg { margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.sy-topbar__msg .sy-icon { color: var(--sy-sky-light); }
.sy-topbar__right { display: flex; align-items: center; gap: 18px; }
.sy-topbar__link { color: var(--sy-white); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.sy-topbar__link:hover { color: var(--sy-sky-light); }
.sy-topbar__follow { font-weight: 600; color: var(--sy-white); }
@media (max-width: 899px) { .sy-topbar__msg, .sy-topbar__link { display: none; } .sy-topbar__right { margin-inline: auto; } }

.sy-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--sy-blue); color: var(--sy-white);
	box-shadow: 0 2px 18px rgba(10, 42, 99, .18); transition: box-shadow .2s;
}
.admin-bar .sy-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sy-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sy-header { top: 0; } }
.sy-header.is-scrolled { box-shadow: 0 6px 24px rgba(10, 42, 99, .35); }

.sy-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: var(--sy-header-h); }
.sy-header__logo { display: flex; align-items: center; flex: none; }
.sy-header__logo img { width: auto; height: 50px; }

.sy-header__toggle {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-width: 48px; height: 48px; padding: 0 14px; border: 0; border-radius: 12px;
	background: rgba(255,255,255,.12); color: var(--sy-white); cursor: pointer; font: inherit; font-weight: 700; font-size: .95rem;
}
.sy-header__toggle-close { display: none; }
.sy-header__toggle[aria-expanded="true"] .sy-header__toggle-open { display: none; }
.sy-header__toggle[aria-expanded="true"] .sy-header__toggle-close { display: inline-flex; }

/* Panneau mobile */
.sy-header__nav {
	position: fixed; inset: var(--sy-header-h) 0 0 0; top: var(--sy-header-h); z-index: 99;
	background: var(--sy-blue); padding: 8px var(--sy-gutter) 120px;
	display: flex; flex-direction: column; gap: 24px; overflow-y: auto; overscroll-behavior: contain;
	transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility 0s .3s;
}
.sy-nav-open .sy-header__nav { transform: none; visibility: visible; transition: transform .3s ease; }
.sy-nav-open { overflow: hidden; }
.sy-header__actions { display: none; }
.sy-header__mobile-extra { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.sy-header__mobile-follow { margin: 8px 0 0; font-weight: 700; }

.sy-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sy-menu > li { border-bottom: 1px solid rgba(255,255,255,.14); }
.sy-menu a { color: var(--sy-white); text-decoration: none; }
.sy-menu > li > a, .sy-menu__link { display: flex; align-items: center; min-height: 56px; padding: 8px 4px; font-weight: 700; font-size: 1.15rem; flex: 1; }
.sy-menu__top { display: flex; align-items: center; }
.sy-menu__toggle {
	flex: none; width: 48px; height: 48px; border: 0; border-radius: 10px; background: rgba(255,255,255,.1); color: var(--sy-white);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s, background .2s;
}
.sy-menu__toggle[aria-expanded="true"] { transform: rotate(180deg); background: rgba(255,255,255,.2); }
.sy-menu__item.is-current > .sy-menu__top .sy-menu__link, .sy-menu .current-menu-item > a { color: var(--sy-sky-light); }

.sy-sub { display: none; padding: 0 0 16px; }
.sy-sub.is-open { display: block; }
.sy-sub__intro { display: none; }
.sy-sub__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sy-sub__list a { display: flex; gap: 14px; align-items: center; padding: 10px 8px; border-radius: 12px; min-height: 52px; }
.sy-sub__list a:hover { background: rgba(255,255,255,.08); }
.sy-sub__list strong { display: block; font-weight: 700; }
.sy-sub__list small { display: block; font-size: .85rem; color: #C9D6EE; line-height: 1.35; }
.sy-sub__icon { flex: none; width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; color: var(--sy-sky-light); }

@media (min-width: 1280px) {
	.sy-header__toggle, .sy-header__mobile-extra { display: none; }
	.sy-header__nav {
		position: static; transform: none; visibility: visible; padding: 0; background: none; overflow: visible;
		flex-direction: row; align-items: center; gap: 24px; flex: 1; justify-content: flex-end;
	}
	.sy-header__actions { display: flex; align-items: center; gap: 10px; }
	.sy-menu { flex-direction: row; gap: 2px; }
	.sy-menu > li { border: 0; position: relative; }
	.sy-menu > li > a, .sy-menu__link { min-height: 48px; padding: 8px 4px 8px 12px; font-size: .98rem; white-space: nowrap; flex: none; position: relative; }
	.sy-menu > li > a { padding-right: 12px; }
	.sy-menu__toggle { width: 28px; height: 32px; background: none; border-radius: 6px; margin-right: 4px; }
	.sy-menu__toggle[aria-expanded="true"] { background: rgba(255,255,255,.12); }
	.sy-menu__item.is-current > .sy-menu__top .sy-menu__link::after {
		content: ""; position: absolute; left: 12px; right: 4px; bottom: 4px; height: 2px; background: var(--sy-sky-light); border-radius: 2px;
	}

	.sy-sub {
		display: block; position: absolute; top: calc(100% + 14px); left: 50%; translate: -50% 8px; width: 620px; padding: 0;
		opacity: 0; visibility: hidden; transition: opacity .2s, translate .2s, visibility 0s .2s;
	}
	.sy-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
	.sy-menu__item:last-child .sy-sub { left: auto; right: 0; translate: 0 8px; }
	.sy-menu__item:hover > .sy-sub, .sy-menu__item:focus-within > .sy-sub, .sy-sub.is-open {
		opacity: 1; visibility: visible; translate: -50% 0; transition: opacity .2s, translate .2s;
	}
	.sy-menu__item:last-child:hover > .sy-sub, .sy-menu__item:last-child:focus-within > .sy-sub, .sy-menu__item:last-child .sy-sub.is-open { translate: 0 0; }
	.sy-sub.is-closed { opacity: 0 !important; visibility: hidden !important; }
	.sy-sub__inner {
		display: grid; grid-template-columns: 220px 1fr; background: var(--sy-white); color: var(--sy-ink);
		border-radius: 20px; box-shadow: 0 24px 60px rgba(10, 42, 99, .28); overflow: hidden;
	}
	.sy-sub__intro { display: flex; flex-direction: column; gap: 8px; background: var(--sy-pale); padding: 24px; }
	.sy-sub__intro p { margin: 0; font-size: .92rem; color: var(--sy-muted); line-height: 1.5; }
	.sy-sub__intro .sy-sub__title { font-size: 1.1rem; font-weight: 800; color: var(--sy-navy); }
	.sy-sub__cta { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .92rem; color: var(--sy-blue) !important; min-height: 44px; }
	.sy-sub__cta:hover { text-decoration: underline !important; }
	.sy-sub__list { padding: 14px; }
	.sy-sub__list a { color: var(--sy-ink); }
	.sy-sub__list a:hover { background: var(--sy-pale); }
	.sy-sub__list a:hover strong { color: var(--sy-blue); }
	.sy-sub__list strong { color: var(--sy-navy); font-size: .97rem; }
	.sy-sub__list small { color: var(--sy-muted); }
	.sy-sub__icon { background: var(--sy-pale); color: var(--sy-blue); }

	/* Menu WordPress classique (si choisi dans le Customizer) */
	.sy-menu .sub-menu { list-style: none; position: absolute; top: 100%; left: 0; min-width: 230px; padding: 8px; background: var(--sy-white); border-radius: 14px; box-shadow: var(--sy-shadow-lg); opacity: 0; visibility: hidden; transition: opacity .2s; }
	.sy-menu .sub-menu a { color: var(--sy-navy); display: block; padding: 10px 12px; border-radius: 8px; }
	.sy-menu li:hover > .sub-menu, .sy-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
	.sy-header__cta { min-height: 46px; padding: 10px 22px; font-size: .97rem; white-space: nowrap; }
}
@media (min-width: 1280px) and (max-width: 1399px) {
	.sy-header__logo img { height: 44px; }
	.sy-header__nav { gap: 14px; }
	.sy-menu > li > a, .sy-menu__link { padding-left: 8px; font-size: .94rem; }
}

/* Réseaux sociaux */
.sy-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sy-social__link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.sy-social--icons .sy-social__link { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.12); color: var(--sy-white); }
.sy-social--icons .sy-social__link:hover { background: var(--sy-white); color: var(--sy-blue); transform: translateY(-1px); }
.sy-topbar .sy-social--icons .sy-social__link { width: 32px; height: 32px; }
.sy-social--buttons .sy-social__link { min-height: 44px; padding: 0 16px; border-radius: 999px; font-weight: 700; font-size: .95rem; background: var(--sy-pale); color: var(--sy-blue); }
.sy-header .sy-social--buttons .sy-social__link { background: rgba(255,255,255,.12); color: var(--sy-white); }
.sy-social--buttons .sy-social__link:hover { background: var(--sy-blue); color: var(--sy-white); }
.sy-social--cards { display: grid; gap: 14px; }
@media (min-width: 640px) { .sy-social--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sy-social--cards .sy-social__link {
	justify-content: flex-start; gap: 16px; padding: 18px 20px; border-radius: 20px; background: var(--sy-white); color: var(--sy-ink);
	box-shadow: 0 10px 30px rgba(0,0,0,.18); height: 100%; text-align: left;
}
.sy-social--cards .sy-social__link:hover { transform: translateY(-3px); }
.sy-social__icon { flex: none; width: 54px; height: 54px; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: var(--sy-white); background: var(--sy-blue); }
.sy-social__link--facebook .sy-social__icon { background: #1877F2; }
.sy-social__link--youtube .sy-social__icon { background: #E00000; }
.sy-social__link--instagram .sy-social__icon { background: #C13584; }
.sy-social__link--linkedin .sy-social__icon { background: #0A66C2; }
.sy-social__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sy-social--cards .sy-social__name { font-weight: 800; font-size: 1.1rem; color: var(--sy-navy); }
.sy-social__hint { font-size: .9rem; color: var(--sy-muted); line-height: 1.4; }
.sy-social__cta { flex: none; padding: 8px 14px; border-radius: 999px; background: var(--sy-pale); color: var(--sy-blue); font-weight: 700; font-size: .88rem; }
.sy-social--cards .sy-social__link:hover .sy-social__cta { background: var(--sy-blue); color: var(--sy-white); }

.sy-community { background: var(--sy-blue); color: var(--sy-white); padding-block: clamp(48px, 7vw, 88px); position: relative; overflow: hidden; }
.sy-community::before { content: ""; position: absolute; left: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; border: 70px solid rgba(255,255,255,.05); }
.sy-community__inner { display: grid; gap: 32px; align-items: center; position: relative; }
@media (min-width: 960px) { .sy-community__inner { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.sy-community__title { font-size: clamp(1.7rem, 3.4vw, 2.5rem); font-weight: 800; color: var(--sy-white); }
.sy-community__text p:last-child { color: #DCE6F7; margin: 0; max-width: 46ch; }

/* Partage */
.sy-share { margin-top: 40px; padding: 22px 24px; border-radius: var(--sy-radius); border: 1px solid var(--sy-line); display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.sy-share__title { margin: 0; font-weight: 700; color: var(--sy-navy); }
.sy-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sy-share__list a, .sy-share__list button {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px;
	background: var(--sy-pale); color: var(--sy-blue); border: 0; font: inherit; font-weight: 700; font-size: .92rem; text-decoration: none; cursor: pointer;
}
.sy-share__list a:hover, .sy-share__list button:hover { background: var(--sy-blue); color: var(--sy-white); }

.sy-inline-cta { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 26px 28px; border-radius: var(--sy-radius); background: var(--sy-pale); }
.sy-inline-cta p { margin: 0; color: var(--sy-muted); }
.sy-inline-cta .sy-inline-cta__title { font-weight: 800; font-size: 1.2rem; color: var(--sy-navy); margin-bottom: 4px; }
.sy-inline-cta > div { flex: 1 1 320px; }

/* Barre d'action mobile & retour en haut */
.sy-actionbar {
	position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 90; display: flex; gap: 8px; padding: 8px;
	background: var(--sy-white); border-radius: 18px; box-shadow: 0 10px 40px rgba(10, 42, 99, .3);
	transform: translateY(140%); transition: transform .3s ease;
}
.sy-actionbar.is-visible { transform: none; }
.sy-actionbar a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 12px; font-weight: 700; text-decoration: none; font-size: .97rem; }
.sy-actionbar__main { flex: 1.6; background: var(--sy-blue); color: var(--sy-white); }
.sy-actionbar__main:hover { color: var(--sy-white); background: var(--sy-blue-hover); }
.sy-actionbar__alt { flex: 1; background: var(--sy-pale); color: var(--sy-blue); }
@media (min-width: 900px) { .sy-actionbar { display: none; } }
@media (max-width: 899px) { body { padding-bottom: 0; } .sy-footer__bottom { padding-bottom: 80px; } }
.sy-nav-open .sy-actionbar { transform: translateY(140%); }

.sy-totop {
	position: fixed; right: 20px; bottom: 20px; z-index: 89; width: 48px; height: 48px; border-radius: 50%;
	background: var(--sy-blue); color: var(--sy-white); display: none; align-items: center; justify-content: center;
	box-shadow: var(--sy-shadow-lg); opacity: 0; transition: opacity .3s;
}
.sy-totop.is-visible { opacity: 1; }
@media (min-width: 900px) { .sy-totop { display: flex; pointer-events: none; } .sy-totop.is-visible { pointer-events: auto; } }
.sy-totop:hover { background: var(--sy-navy); color: var(--sy-white); }

/* --- Sections ------------------------------------------------------------ */

.sy-section { padding-block: var(--sy-section); }
.sy-section--tight { padding-block: clamp(32px, 5vw, 64px); }
.sy-section--pale { background: var(--sy-pale); }
.sy-section--blue { background: var(--sy-blue); color: var(--sy-white); }
.sy-section--blue a:not(.sy-btn) { color: var(--sy-white); }
.sy-section--overlap { padding-top: 0; margin-top: clamp(-80px, -6vw, -40px); position: relative; z-index: 2; }
.sy-section--article { padding-top: clamp(32px, 5vw, 56px); }

.sy-section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: clamp(28px, 4vw, 48px); }
.sy-section__head .sy-h2, .sy-section__head .sy-h3 { margin-bottom: 0; }
.sy-section__head--center { justify-content: center; text-align: center; flex-direction: column; align-items: center; }

.sy-split { display: grid; gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (min-width: 900px) {
	.sy-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.sy-split--reverse > .sy-split__text { order: 2; }
}
.sy-split__media { position: relative; }
.sy-split__media img { width: 100%; }
.sy-split__media--tall img { aspect-ratio: 4 / 5; object-fit: cover; }

.sy-grid { display: grid; gap: clamp(18px, 2.5vw, 28px); }
@media (min-width: 640px) { .sy-grid--2, .sy-grid--3, .sy-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
	.sy-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sy-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* --- Héros d'accueil ----------------------------------------------------- */

.sy-hero { position: relative; isolation: isolate; color: var(--sy-white); background: var(--sy-blue); overflow: hidden; }
.sy-hero__bg { position: absolute; inset: 0; z-index: -1; }
.sy-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .22; mix-blend-mode: luminosity; }
.sy-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(16,65,150,.96) 35%, rgba(16,65,150,.7)); }
.sy-hero__inner { display: grid; gap: 48px; align-items: center; padding-block: clamp(48px, 8vw, 112px); }
@media (min-width: 960px) { .sy-hero__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.sy-hero__title { font-size: clamp(2.2rem, 5.2vw, 3.9rem); line-height: 1.08; margin-bottom: .4em; }
.sy-hero__lead { font-size: clamp(1.15rem, 2vw, 1.4rem); color: #DCE6F7; margin-bottom: 2rem; max-width: 34ch; }
.sy-hero__visual { position: relative; display: flex; justify-content: center; padding-bottom: 40px; }

/* Carte-menu illustrée (reprise de l'effet 3D du site actuel, en accessible) */
.sy-menucard { perspective: 1100px; width: min(300px, 78vw); }
.sy-menucard__cover {
	position: relative; aspect-ratio: 3 / 4; border-radius: 16px 22px 22px 16px;
	background: linear-gradient(160deg, #1A56BF, var(--sy-navy));
	box-shadow: var(--sy-shadow-lg), inset 10px 0 0 rgba(0,0,0,.18), inset 12px 0 0 rgba(255,255,255,.08);
	display: flex; flex-direction: column; align-items: center; justify-content: space-between;
	padding: 34px 26px 34px 36px; transform: rotateY(-14deg) rotateX(6deg); transform-style: preserve-3d;
	transition: transform .4s ease;
}
.sy-menucard__cover img { width: 78%; height: auto; }
.sy-menucard__play {
	position: relative; width: 92px; height: 92px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--sy-white); color: var(--sy-blue); display: flex; align-items: center; justify-content: center;
	box-shadow: 0 0 0 10px rgba(255,255,255,.14), 0 10px 26px rgba(0,0,0,.3); transition: transform .2s;
}
.sy-menucard__play:hover { transform: scale(1.05); }
.sy-menucard__play .sy-menucard__pause-icon { display: none; }
.sy-menucard__play[aria-pressed="true"] .sy-menucard__play-icon { display: none; }
.sy-menucard__play[aria-pressed="true"] .sy-menucard__pause-icon { display: inline-flex; }
.sy-menucard__waves { position: absolute; right: -54px; top: 50%; translate: 0 -50%; display: flex; gap: 6px; opacity: .0; transition: opacity .3s; }
.sy-menucard__waves i { width: 6px; border-radius: 3px; background: var(--sy-sky-light); height: 30px; animation: sy-wave 1s ease-in-out infinite; }
.sy-menucard__waves i:nth-child(2) { height: 50px; animation-delay: .15s; }
.sy-menucard__waves i:nth-child(3) { height: 30px; animation-delay: .3s; }
.sy-menucard.is-playing .sy-menucard__waves { opacity: 1; }
@keyframes sy-wave { 50% { transform: scaleY(.45); } }
.sy-menucard--static .sy-menucard__cover { transform: rotateY(-10deg) rotateX(4deg); }

.sy-bubble {
	position: relative; width: min(340px, 100%); margin: -28px auto 0;
	background: var(--sy-white); color: var(--sy-navy); border-radius: 20px; padding: 18px 22px; box-shadow: var(--sy-shadow-lg);
	min-height: 104px; z-index: 2;
}
.sy-hero__visual { flex-direction: column; align-items: center; padding-bottom: 0; }
@media (min-width: 960px) {
	.sy-hero__visual { display: block; padding: 0 0 0 40px; }
	.sy-menucard { margin-left: auto; margin-right: 40px; }
	.sy-bubble { position: absolute; left: 0; top: 54%; margin: 0; width: 290px; }
}
.sy-bubble__item { display: none; margin: 0; flex-direction: column; gap: 8px; }
.sy-bubble__item.is-active { display: flex; animation: sy-fade .5s ease; }
.sy-bubble__title { font-size: 1.25rem; font-weight: 700; line-height: 1.25; }
.sy-bubble__title strong { color: var(--sy-blue); font-weight: 800; }
.sy-bubble__tag { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sy-blue); text-decoration: none; min-height: 32px; }
a.sy-bubble__tag:hover { text-decoration: underline; }
@keyframes sy-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* --- Bandeau de page ----------------------------------------------------- */

.sy-pagehero { background: var(--sy-blue); color: var(--sy-white); position: relative; overflow: hidden; }
.sy-pagehero::before {
	content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%;
	border: 60px solid rgba(255,255,255,.05); pointer-events: none;
}
.sy-pagehero__inner { display: grid; gap: 40px; align-items: center; padding-block: clamp(48px, 7vw, 96px); position: relative; }
.sy-pagehero--image .sy-pagehero__inner { padding-bottom: clamp(48px, 7vw, 96px); }
@media (min-width: 900px) { .sy-pagehero--image .sy-pagehero__inner, .sy-pagehero--book .sy-pagehero__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); } }
.sy-pagehero__title { font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 800; line-height: 1.1; margin: 0 0 .4em; color: var(--sy-white); }
.sy-pagehero__title--article { font-size: clamp(1.8rem, 4vw, 2.9rem); }
.sy-pagehero__pre { display: block; color: var(--sy-sky-light); }
.sy-pagehero__lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: #DCE6F7; max-width: 60ch; margin-bottom: 1.5rem; }
.sy-pagehero__media img { width: 100%; border-radius: var(--sy-radius-lg); aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--sy-shadow-lg); }
.sy-pagehero__media--book img { aspect-ratio: auto; object-fit: contain; max-height: 460px; width: auto; margin-inline: auto; box-shadow: none; filter: drop-shadow(0 24px 40px rgba(0,0,0,.35)); border-radius: 0; }
.sy-pagehero--article .sy-container { padding-block: clamp(40px, 6vw, 80px); position: relative; }
.sy-pagehero a { color: var(--sy-white); }

.sy-breadcrumb { font-size: .9rem; margin-bottom: 1rem; color: #C9D6EE; }
.sy-breadcrumb p { margin: 0; }
.sy-breadcrumb a { color: var(--sy-white); }
.sy-crumbs-only { padding-top: 20px; }
.sy-crumbs-only .sy-breadcrumb, .sy-crumbs-only .sy-breadcrumb a { color: var(--sy-muted); }

/* Sous-navigation (pages longues) */
.sy-subnav { background: var(--sy-white); border-bottom: 1px solid var(--sy-line); position: sticky; top: var(--sy-header-h); z-index: 50; }
.admin-bar .sy-subnav { top: calc(var(--sy-header-h) + 32px); }
.sy-subnav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; }
.sy-subnav a { display: flex; align-items: center; min-height: 52px; padding: 0 14px; white-space: nowrap; font-weight: 600; font-size: .95rem; text-decoration: none; color: var(--sy-navy); border-bottom: 3px solid transparent; }
.sy-subnav a:hover, .sy-subnav a.is-active { border-color: var(--sy-blue); color: var(--sy-blue); }

/* --- Composants ---------------------------------------------------------- */

.sy-stat {
	position: absolute; left: clamp(-8px, -2vw, -24px); bottom: -24px; max-width: 260px;
	background: var(--sy-white); border-radius: 18px; padding: 18px 22px; box-shadow: var(--sy-shadow-lg);
}
.sy-stat strong { display: block; font-size: 2rem; line-height: 1; color: var(--sy-blue); font-weight: 800; }
.sy-stat span { font-size: .95rem; color: var(--sy-muted); }
@media (max-width: 899px) { .sy-stat { position: relative; left: 0; bottom: 0; margin: -40px 16px 0; } }

.sy-steps { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: 18px; }
.sy-steps__item { display: flex; gap: 18px; align-items: flex-start; }
.sy-steps__item h3 { margin-bottom: .2em; color: var(--sy-navy); }
.sy-steps__item p { margin: 0; color: var(--sy-muted); }
.sy-steps__icon {
	flex: none; width: 52px; height: 52px; border-radius: 16px; background: var(--sy-pale); color: var(--sy-blue);
	display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.2rem;
}

.sy-features { display: grid; gap: 22px; margin-bottom: 40px; }
@media (min-width: 900px) { .sy-features { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sy-feature { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: var(--sy-radius); padding: 30px; }
.sy-feature h3 { color: var(--sy-white); }
.sy-feature p { color: #DCE6F7; margin: 0; }
.sy-feature__num {
	display: inline-flex; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center;
	border: 2px solid var(--sy-sky-light); color: var(--sy-sky-light); font-weight: 800; margin-bottom: 18px;
}

.sy-tile { background: var(--sy-blue); color: var(--sy-white); border-radius: var(--sy-radius); padding: clamp(24px, 3vw, 32px); display: flex; flex-direction: column; }
.sy-tile ul { padding-left: 1.1em; margin: 0 0 1em; }
.sy-tile li { margin-bottom: .35em; }
.sy-tile__title { font-size: 1.3rem; margin-bottom: .4em; }
.sy-tile__note { font-size: .88rem; opacity: .85; margin-bottom: .6em; }
.sy-tile__more { margin-top: auto; margin-bottom: 0; }
.sy-tile__more a:not(.sy-btn) { color: inherit; font-weight: 700; display: inline-flex; gap: .4em; align-items: center; min-height: 44px; }
.sy-section--blue .sy-tile { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
.sy-tile--light { background: var(--sy-white); color: var(--sy-ink); border: 1px solid var(--sy-line); }
.sy-section--pale .sy-tile--light { border-color: transparent; box-shadow: var(--sy-shadow); }
.sy-tile--light .sy-tile__title { color: var(--sy-navy); }
.sy-tile--light .sy-tile__more a:not(.sy-btn) { color: var(--sy-blue); }
.sy-tile--blue { background: var(--sy-blue); }
.sy-tile__icon { width: 54px; height: 54px; border-radius: 16px; background: var(--sy-pale); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.sy-tile__big { font-size: 2.2rem; font-weight: 800; line-height: 1; margin-bottom: .4em; color: var(--sy-sky-light); }

.sy-checklist { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; gap: 12px; }
.sy-checklist li { position: relative; padding-left: 36px; }
.sy-checklist li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 24px; height: 24px; border-radius: 50%;
	background: var(--sy-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104196' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.sy-section--pale .sy-checklist li::before { background-color: var(--sy-white); }

.sy-gallery { display: grid; gap: 16px; }
.sy-gallery--2 { grid-template-columns: 1fr 1fr; align-items: center; }
.sy-gallery img { width: 100%; object-fit: cover; }
.sy-gallery--1 img { aspect-ratio: 3 / 2; }

/* Avant / après */
.sy-ba { position: relative; border-radius: var(--sy-radius-lg); overflow: hidden; aspect-ratio: 1; box-shadow: var(--sy-shadow); --pos: 50%; }
.sy-ba__img { position: absolute; inset: 0; }
.sy-ba__img img { width: 100%; height: 100%; object-fit: cover; }
.sy-ba__img--before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.sy-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 4px; margin-left: -2px; background: var(--sy-white); pointer-events: none; }
.sy-ba__handle::after {
	content: "⟷"; position: absolute; top: 50%; left: 50%; translate: -50% -50%; width: 48px; height: 48px; border-radius: 50%;
	background: var(--sy-white); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: var(--sy-shadow);
}
.sy-ba__label { position: absolute; top: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(10,42,99,.85); color: var(--sy-white); font-size: .82rem; font-weight: 700; pointer-events: none; }
.sy-ba__label--before { left: 14px; }
.sy-ba__label--after { right: 14px; }
.sy-ba__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.sy-ba__range:focus-visible + .sy-ba__handle, .sy-ba:focus-within .sy-ba__handle::after { outline: 3px solid var(--sy-sky); }

.sy-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sy-compare figcaption { font-size: .9rem; text-align: center; margin-top: 6px; color: var(--sy-muted); }

/* Cartes d'articles */
.sy-cards { display: grid; gap: clamp(20px, 2.5vw, 32px); }
@media (min-width: 680px) { .sy-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .sy-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sy-card { display: flex; flex-direction: column; background: var(--sy-white); border-radius: var(--sy-radius); overflow: hidden; border: 1px solid var(--sy-line); transition: box-shadow .2s, transform .2s; position: relative; }
.sy-section--pale .sy-card { border-color: transparent; }
.sy-card:hover { box-shadow: var(--sy-shadow-lg); transform: translateY(-3px); }
.sy-card__media { display: block; aspect-ratio: 16 / 10; background: var(--sy-pale); overflow: hidden; }
.sy-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sy-card:hover .sy-card__media img { transform: scale(1.04); }
.sy-card__placeholder { display: flex; height: 100%; align-items: center; justify-content: center; color: var(--sy-blue); }
.sy-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.sy-card__meta { font-size: .88rem; color: var(--sy-muted); margin-bottom: .5em; }
.sy-card__title { font-size: 1.2rem; line-height: 1.3; margin-bottom: .6em; }
.sy-card__title a { color: var(--sy-navy); text-decoration: none; }
.sy-card__title a::after { content: ""; position: absolute; inset: 0; }
.sy-card__title a:hover { color: var(--sy-blue); }
.sy-card__excerpt { color: var(--sy-muted); font-size: .97rem; }
.sy-card__more { margin: auto 0 0; }
.sy-card__more a { position: relative; z-index: 1; font-weight: 700; display: inline-flex; gap: .35em; align-items: center; text-decoration: none; min-height: 44px; }

/* Vidéos */
.sy-videos { display: grid; gap: 24px; }
@media (min-width: 760px) { .sy-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .sy-videos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sy-videos--3 > :nth-child(4), .sy-videos--3 > :nth-child(5) { grid-column: span 1; } }
.sy-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--sy-radius); overflow: hidden; background: var(--sy-navy); box-shadow: var(--sy-shadow); }
.sy-video iframe, .sy-video video, .sy-video > a { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sy-video video { object-fit: cover; background: #000; }
.sy-yt { display: block; color: var(--sy-white); text-decoration: none; }
.sy-yt img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s, opacity .3s; opacity: .85; }
.sy-yt:hover img { transform: scale(1.03); opacity: 1; }
.sy-yt__play {
	position: absolute; top: 50%; left: 50%; translate: -50% -50%; width: 72px; height: 72px; border-radius: 50%;
	background: var(--sy-white); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.sy-yt__title {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 16px 14px; font-weight: 600; font-size: .95rem; line-height: 1.35;
	background: linear-gradient(transparent, rgba(5, 20, 50, .9));
}

/* Logos */
.sy-logos-block + .sy-logos-block { margin-top: clamp(40px, 6vw, 72px); }
.sy-logos { list-style: none; margin: 0; padding: 0; display: grid; justify-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 640px) { .sy-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .sy-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); } .sy-logos--grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.sy-logos li { background: var(--sy-white); border: 1px solid var(--sy-line); border-radius: 16px; display: flex; align-items: center; justify-content: center; padding: 18px; min-height: 110px; }
.sy-logos img { max-height: 72px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
.sy-logos li:hover img { filter: none; opacity: 1; }
.sy-logos-block h2 { margin-bottom: 24px; }

/* Citations */
.sy-quote { background: var(--sy-white); border-radius: var(--sy-radius); padding: clamp(24px, 3vw, 36px); box-shadow: var(--sy-shadow); display: flex; flex-direction: column; gap: 20px; position: relative; }
.sy-quote::before { content: "“"; position: absolute; top: 4px; right: 22px; font-size: 6rem; line-height: 1; color: var(--sy-pale-2); font-family: Georgia, serif; }
.sy-quote blockquote, .sy-prose .sy-quote blockquote { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; font-size: 1.1rem; line-height: 1.6; color: var(--sy-ink); position: relative; }
.sy-quote blockquote p:last-child { margin-bottom: 0; }
.sy-quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: auto; color: var(--sy-muted); font-size: .95rem; }
.sy-quote figcaption img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.sy-quote figcaption strong { color: var(--sy-navy); }

.sy-pullquote { margin: 1.5em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--sy-sky); font-size: 1.25rem; font-weight: 600; color: var(--sy-navy); font-style: italic; }

.sy-portrait figcaption { margin-top: 14px; color: var(--sy-muted); font-size: .95rem; }
.sy-portrait img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.sy-portrait--small { max-width: 380px; margin-inline: auto; }
.sy-portrait--small img { aspect-ratio: 1; }

.sy-people { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sy-people li { padding: 12px 16px; background: var(--sy-pale); border-radius: 12px; }

.sy-audio-card { display: flex; gap: 22px; align-items: flex-start; background: var(--sy-pale); border-radius: var(--sy-radius-lg); padding: clamp(24px, 4vw, 40px); }
.sy-audio-card__icon { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--sy-blue); color: var(--sy-white); display: flex; align-items: center; justify-content: center; }
.sy-audio-card__body { flex: 1; min-width: 0; }
.sy-audio-card audio, .sy-audio-card .wp-audio-shortcode { width: 100%; margin-top: 8px; }
@media (max-width: 560px) { .sy-audio-card { flex-direction: column; } }

/* Appel à l'action */
.sy-cta { background: var(--sy-blue); color: var(--sy-white); border-radius: var(--sy-radius-lg); padding: clamp(32px, 5vw, 64px); display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; position: relative; overflow: hidden; }
.sy-cta::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 300px; height: 300px; border-radius: 50%; border: 50px solid rgba(255,255,255,.06); pointer-events: none; }
.sy-cta__text { flex: 1 1 380px; position: relative; z-index: 1; }
.sy-cta__text p { color: #DCE6F7; margin: 0; }
.sy-cta .sy-btns { position: relative; z-index: 1; }

/* Contact */
.sy-contact { display: grid; gap: 40px; }
@media (min-width: 960px) { .sy-contact { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; } }
.sy-contact__aside { display: grid; gap: 20px; }
.sy-contact__form { background: var(--sy-white); border: 1px solid var(--sy-line); border-radius: var(--sy-radius-lg); padding: clamp(24px, 4vw, 44px); }

/* Formulaires (Contact Form 7, MailerLite, recherche) */
.sy-label, .sy-form label { display: block; font-weight: 600; margin-bottom: 6px; color: var(--sy-navy); }
.sy-input,
.sy-form input[type="text"], .sy-form input[type="email"], .sy-form input[type="tel"], .sy-form input[type="url"], .sy-form input[type="number"], .sy-form select, .sy-form textarea,
.search-form input[type="search"] {
	width: 100%; min-height: 50px; padding: 12px 16px; font: inherit; font-size: 1rem; color: var(--sy-ink);
	background: var(--sy-white); border: 2px solid #B9C5D9; border-radius: 12px; transition: border-color .2s, box-shadow .2s;
}
.sy-form textarea { min-height: 160px; resize: vertical; }
.sy-input:focus, .sy-form input:focus, .sy-form select:focus, .sy-form textarea:focus, .search-form input[type="search"]:focus { border-color: var(--sy-blue); box-shadow: 0 0 0 4px rgba(47,159,218,.25); outline: none; }
.sy-form p { margin-bottom: 18px; }
.sy-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.sy-form input[type="submit"], .sy-form button[type="submit"], .search-form .search-submit {
	min-height: 50px; padding: 12px 28px; border-radius: 999px; border: 0; background: var(--sy-blue); color: var(--sy-white);
	font: inherit; font-weight: 700; cursor: pointer;
}
.sy-form input[type="submit"]:hover, .search-form .search-submit:hover { background: var(--sy-blue-hover); }
.sy-form .wpcf7-not-valid-tip { color: #B3261E; font-size: .9rem; margin-top: 4px; }
.sy-form .wpcf7-response-output { border-radius: 12px; margin: 16px 0 0 !important; padding: 12px 16px !important; }
.sy-form .wpcf7-list-item { margin: 0 16px 0 0; }
.search-form { display: flex; gap: 10px; flex-wrap: wrap; }
.search-form label { flex: 1 1 240px; }
.sy-searchbar { margin-bottom: 32px; max-width: 640px; }
.sy-hp { position: absolute; left: -9999px; }

/* Newsletter */
.sy-newsletter { background: var(--sy-pale); }
.sy-newsletter__inner { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .sy-newsletter__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.sy-newsletter h2 { color: var(--sy-navy); font-size: clamp(1.6rem, 3vw, 2.2rem); }
.sy-newsletter__icon { display: inline-flex; width: 60px; height: 60px; border-radius: 18px; background: var(--sy-blue); color: var(--sy-white); align-items: center; justify-content: center; margin-bottom: 16px; }
.sy-newsletter__text p { color: var(--sy-muted); }
.sy-newsletter__archive a { font-weight: 700; }
.sy-newsletter__form { background: var(--sy-white); border-radius: var(--sy-radius-lg); padding: clamp(22px, 3vw, 36px); box-shadow: var(--sy-shadow); }
.sy-newsletter__row { display: flex; flex-wrap: wrap; gap: 10px; }
.sy-newsletter__row .sy-input { flex: 1 1 220px; }
.sy-newsletter__status { margin: 12px 0 0; font-weight: 600; color: var(--sy-navy); min-height: 1.5em; }

/* Carte interactive */
.sy-map { position: relative; border-radius: var(--sy-radius-lg); overflow: hidden; box-shadow: var(--sy-shadow); background: var(--sy-pale); height: clamp(480px, 75vh, 760px); margin-top: 24px; }
.sy-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sy-grid--info { margin-bottom: 32px; }
.sy-info { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: var(--sy-radius); background: var(--sy-pale); color: var(--sy-blue); }
.sy-info .sy-icon { flex: none; }
.sy-info p { margin: 0; color: var(--sy-ink); }

/* Pagination */
.sy-pagination { margin-top: 48px; }
.sy-pagination ul, .sy-pagination .nav-links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.sy-pagination a, .sy-pagination span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0 16px; border-radius: 999px;
	border: 2px solid var(--sy-line); text-decoration: none; font-weight: 700; color: var(--sy-navy);
}
.sy-pagination a:hover { border-color: var(--sy-blue); color: var(--sy-blue); }
.sy-pagination .current { background: var(--sy-blue); border-color: var(--sy-blue) !important; color: var(--sy-white) !important; }

/* Articles */
.sy-article__cover { margin-top: clamp(-8px, -1vw, 0px); padding-top: clamp(24px, 4vw, 40px); }
.sy-article__cover img { width: 100%; border-radius: var(--sy-radius-lg); max-height: 560px; object-fit: cover; }
.sy-article__footer { margin-top: 48px; border-top: 1px solid var(--sy-line); padding-top: 32px; }
.sy-postnav .nav-links { display: grid; gap: 16px; }
@media (min-width: 640px) { .sy-postnav .nav-links { grid-template-columns: 1fr 1fr; } .sy-postnav .nav-next { text-align: right; grid-column: 2; } }
.sy-postnav a { display: block; padding: 18px 20px; border-radius: var(--sy-radius); background: var(--sy-pale); text-decoration: none; height: 100%; }
.sy-postnav a:hover { background: var(--sy-pale-2); }
.sy-postnav__label { display: block; font-size: .85rem; color: var(--sy-muted); font-weight: 600; }
.sy-postnav__title { display: block; font-weight: 700; color: var(--sy-navy); line-height: 1.35; margin-top: 4px; }

/* Contenu rédactionnel */
.sy-prose { font-size: 1.07rem; }
.sy-prose > :first-child { margin-top: 0; }
.sy-prose h2 { color: var(--sy-navy); margin-top: 1.6em; font-size: clamp(1.45rem, 2.6vw, 1.9rem); }
.sy-prose h3 { color: var(--sy-navy); margin-top: 1.4em; }
.sy-prose h4 { color: var(--sy-navy); margin-top: 1.2em; font-size: 1.1rem; }
.sy-prose img { border-radius: 14px; }
.sy-prose blockquote:not(.sy-pullquote) { margin: 1.5em 0; padding: 16px 22px; background: var(--sy-pale); border-radius: 14px; border-left: 4px solid var(--sy-blue); }
.sy-prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .95rem; display: block; overflow-x: auto; }
.sy-prose th, .sy-prose td { border: 1px solid var(--sy-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.sy-prose th { background: var(--sy-pale); }
.sy-prose .alignwide { max-width: 1100px; }
.sy-prose .wp-block-image figcaption, .sy-prose .wp-caption-text { font-size: .9rem; color: var(--sy-muted); }
.sy-prose .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.sy-prose .gallery-item { margin: 0; }
.sy-prose .gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }

.sy-details { border: 1px solid var(--sy-line); border-radius: 14px; margin-bottom: 12px; background: var(--sy-white); }
.sy-details summary { cursor: pointer; padding: 16px 20px; font-weight: 700; color: var(--sy-navy); min-height: 52px; }
.sy-details > div { padding: 0 20px 16px; }

/* Pages dont le H1 est dans le contenu (ancienne mise en page Divi) */
.sy-page--h1-in-content { padding-top: clamp(24px, 4vw, 40px); }
.sy-page--h1-in-content .sy-entry h1 { color: var(--sy-navy); font-size: clamp(2rem, 4.4vw, 3.2rem); margin-bottom: .6em; }

/* --- Rendu des anciens contenus Divi (compatibilité) --------------------- */

.sy-dv { max-width: 1100px; }
.sy-dv-section { margin-bottom: clamp(24px, 4vw, 48px); }
.sy-dv-section:last-child { margin-bottom: 0; }
.sy-dv-row { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 40px); margin-bottom: clamp(16px, 3vw, 32px); align-items: flex-start; }
.sy-dv-row:last-child { margin-bottom: 0; }
.sy-dv-col { flex: 1 1 100%; min-width: 0; }
.sy-dv-col > * + * { margin-top: 1.2em; }
@media (min-width: 768px) {
	.sy-dv-col--1_2 { flex: 1 1 calc(50% - 40px); }
	.sy-dv-col--1_3 { flex: 1 1 calc(33.333% - 40px); }
	.sy-dv-col--2_3 { flex: 2 1 calc(66.666% - 40px); }
	.sy-dv-col--1_4 { flex: 1 1 calc(25% - 40px); }
	.sy-dv-col--3_4 { flex: 3 1 calc(75% - 40px); }
	.sy-dv-col--1_5, .sy-dv-col--1_6 { flex: 1 1 calc(20% - 40px); }
	.sy-dv-col--2_5 { flex: 2 1 calc(40% - 40px); }
	.sy-dv-col--3_5 { flex: 3 1 calc(60% - 40px); }
	.sy-dv-col--5_6 { flex: 5 1 calc(80% - 40px); }
}
.sy-dv-col--empty { display: none; }
@media (min-width: 768px) { .sy-dv-col--empty { display: block; } }
.sy-dv-text > :last-child { margin-bottom: 0; }
.sy-dv-text--center { text-align: center; }
.sy-dv-text--right { text-align: right; }
.sy-dv-image img { width: 100%; border-radius: 14px; }
.sy-dv-image--center img { margin-inline: auto; width: auto; max-width: 100%; }
.sy-dv-btnwrap--center { text-align: center; }
.sy-dv-btnwrap--right { text-align: right; }
.sy-dv-divider { border: 0; border-top: 1px solid var(--sy-line); margin: 2em 0; }
.sy-dv-grid { display: grid; gap: 20px; }
@media (min-width: 760px) { .sy-dv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sy-dv-slides { display: grid; gap: 20px; }
.sy-dv-slide { position: relative; background: var(--sy-blue); color: var(--sy-white); border-radius: var(--sy-radius); overflow: hidden; padding: clamp(24px, 4vw, 48px); }
.sy-dv-slide h2, .sy-dv-slide a:not(.sy-btn) { color: var(--sy-white); }
.sy-dv-slide__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .25; border-radius: 0 !important; }
.sy-dv-slide__body { position: relative; }
.sy-dv-slide .sy-btn { background: var(--sy-white); color: var(--sy-blue); border-color: var(--sy-white); }
.sy-dv-code iframe { width: 100%; border: 0; border-radius: 14px; }
.sy-dv-code iframe[src*="youtube"], .sy-dv-code iframe[src*="vimeo"] { aspect-ratio: 16 / 9; height: auto; }
.sy-dv-audio h2 { font-size: 1.3rem; }
.sy-dv-signup { background: var(--sy-pale); border-radius: var(--sy-radius); padding: 28px; }
.sy-dv-blurb img { width: 72px; margin-bottom: 12px; }
.sy-dv-cta { background: var(--sy-blue); color: var(--sy-white); border-radius: var(--sy-radius); padding: 32px; }
.sy-dv-cta h2 { color: var(--sy-white); }
.sy-dv-counter strong { font-size: 2rem; color: var(--sy-blue); display: block; }
.sy-dv-social { list-style: none; padding: 0; display: flex; gap: 12px; flex-wrap: wrap; }
.sy-dv-header { background: var(--sy-blue); color: var(--sy-white); border-radius: var(--sy-radius); padding: clamp(28px, 5vw, 56px); }
.sy-dv-header h1, .sy-dv-header p { color: var(--sy-white); }
.sy-entry .sy-quote { margin: 0; }

/* Liens multimédias WordPress */
.wp-video, .wp-audio-shortcode { max-width: 100% !important; }
.mejs-container { border-radius: 10px; }

/* --- Pied de page -------------------------------------------------------- */

.sy-footer { background: var(--sy-navy); color: #C9D6EE; font-size: .97rem; }
.sy-footer a:not(.sy-btn) { color: var(--sy-white); }
.sy-footer a:not(.sy-btn):hover { color: var(--sy-sky-light); }
.sy-footer__top { display: grid; gap: 40px; padding-block: clamp(48px, 7vw, 80px); }
@media (min-width: 760px) { .sy-footer__top { grid-template-columns: 1.4fr 1fr 1fr; } }
.sy-footer__brand img { width: 170px; height: auto; margin-bottom: 18px; }
.sy-footer__brand p { max-width: 36ch; }
.sy-footer__title { color: var(--sy-white); font-weight: 700; font-size: 1.05rem; margin-bottom: 14px; }
.sy-footer__menu, .sy-footer__nav .sy-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.sy-footer__menu a, .sy-footer__nav .sy-menu a { display: inline-flex; align-items: center; min-height: 40px; text-decoration: none; font-weight: 400; font-size: .97rem; border: 0; padding: 0; color: #DCE6F7; }
.sy-footer__menu a:hover, .sy-footer__nav .sy-menu a:hover { color: var(--sy-white); text-decoration: underline; }
.sy-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); }
.sy-footer__bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 32px; padding-block: 20px; font-size: .9rem; }
.sy-footer__bottom p { margin: 0; }
.sy-footer__legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.sy-footer__legal a { display: inline-flex; min-height: 44px; align-items: center; color: #DCE6F7; }

/* Widgets */
.sy-widget { margin-bottom: 32px; }
.sy-widget__title { font-size: 1.1rem; color: var(--sy-navy); }

/* Impression */
@media print {
	.sy-header, .sy-footer, .sy-newsletter, .sy-subnav, .sy-btn, .sy-hero__visual { display: none !important; }
	.sy-pagehero, .sy-hero, .sy-section--blue { background: none !important; color: #000 !important; }
	.sy-pagehero__title, .sy-hero__title { color: #000 !important; }
	a { color: #000; text-decoration: underline; }
}

/* --- Conversion : accueil ------------------------------------------------ */

.sy-hero__proof { margin: 22px 0 0; display: inline-flex; align-items: center; gap: 8px; font-size: .95rem; color: #DCE6F7; }
.sy-hero__proof .sy-icon { color: var(--sy-sky-light); flex: none; }
.sy-menucard__hint { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sy-sky-light); }
.sy-menucard__cover { padding-bottom: 46px; }

.sy-proof { position: relative; z-index: 3; margin-top: -40px; }
.sy-proof__list { list-style: none; margin: 0; padding: 8px; display: grid; gap: 4px; background: var(--sy-white); border-radius: 22px; box-shadow: var(--sy-shadow-lg); }
.sy-proof__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1040px) { .sy-proof__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sy-proof__list li { padding: 18px 20px; border-radius: 16px; display: flex; flex-direction: column; gap: 2px; }
.sy-proof__list li { border-left: 1px solid var(--sy-line); }
.sy-proof__list li:nth-child(2n+1) { border-left: 0; }
.sy-proof__list li:nth-child(n+3) { border-top: 1px solid var(--sy-line); }
@media (max-width: 639px) { .sy-proof__list li { padding: 14px 12px; } .sy-proof__list strong { font-size: 1.05rem; } .sy-proof__list span { font-size: .84rem; } }
@media (min-width: 1040px) { .sy-proof__list li:nth-child(2n+1) { border-left: 1px solid var(--sy-line); } .sy-proof__list li:first-child { border-left: 0; } .sy-proof__list li:nth-child(n+3) { border-top: 0; } }
.sy-proof__list strong { font-size: 1.3rem; font-weight: 800; color: var(--sy-blue); line-height: 1.2; }
.sy-proof__list span { font-size: .93rem; color: var(--sy-muted); line-height: 1.45; }

.sy-section__sub { max-width: 640px; margin: 0 auto; }
.sy-section__head--center .sy-h2 { margin-bottom: .3em; }

.sy-audiences { display: grid; gap: 18px; }
@media (min-width: 640px) { .sy-audiences { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .sy-audiences { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sy-audience {
	display: flex; flex-direction: column; gap: 10px; padding: 28px 26px; border-radius: var(--sy-radius); border: 2px solid var(--sy-line);
	background: var(--sy-white); color: var(--sy-ink); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.sy-audience:hover { border-color: var(--sy-blue); box-shadow: var(--sy-shadow-lg); transform: translateY(-4px); color: var(--sy-ink); text-decoration: none; }
.sy-audience__icon { width: 58px; height: 58px; border-radius: 18px; background: var(--sy-pale); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; transition: background .2s, color .2s; }
.sy-audience:hover .sy-audience__icon { background: var(--sy-blue); color: var(--sy-white); }
.sy-audience__title { font-weight: 800; font-size: 1.2rem; color: var(--sy-navy); line-height: 1.25; }
.sy-audience__text { color: var(--sy-muted); font-size: .97rem; }
.sy-audience__more { margin-top: auto; padding-top: 8px; font-weight: 700; color: var(--sy-blue); display: inline-flex; align-items: center; gap: 6px; }

.sy-process { list-style: none; margin: 0 0 40px; padding: 0; display: grid; gap: 20px; counter-reset: none; }
@media (min-width: 900px) { .sy-process { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; } }
.sy-process__step { position: relative; padding: 30px 28px; border-radius: var(--sy-radius); background: var(--sy-pale); }
.sy-process__step h3 { color: var(--sy-navy); }
.sy-process__step p { margin: 0; color: var(--sy-muted); }
.sy-process__num { display: inline-flex; width: 52px; height: 52px; border-radius: 50%; background: var(--sy-blue); color: var(--sy-white); font-weight: 800; font-size: 1.3rem; align-items: center; justify-content: center; margin-bottom: 18px; box-shadow: 0 0 0 8px var(--sy-white); }
@media (min-width: 900px) {
	.sy-process__step:not(:last-child)::after { content: ""; position: absolute; top: 56px; right: -28px; width: 28px; height: 2px; background: var(--sy-sky); }
}

.sy-btns--center { justify-content: center; }
.sy-quote__avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--sy-pale); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; flex: none; }
.sy-grid--3 .sy-quote blockquote { font-size: 1.02rem; }

.sy-btn--youtube { background: #E00000; border-color: #E00000; }
.sy-btn--youtube:hover { background: #B80000; border-color: #B80000; }

.sy-faq { display: grid; gap: 32px; }
@media (min-width: 960px) { .sy-faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; } .sy-faq__head { position: sticky; top: calc(var(--sy-header-h) + 24px); } }
.sy-faq .sy-details { border: 0; box-shadow: var(--sy-shadow); }
.sy-details summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sy-details summary::-webkit-details-marker { display: none; }
.sy-details summary::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--sy-pale); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 600; transition: transform .2s; }
.sy-details[open] summary::after { transform: rotate(45deg); background: var(--sy-blue); color: var(--sy-white); }
.sy-details > div p:last-child { margin-bottom: 0; }

.sy-cta--big { align-items: flex-end; }
.sy-cta__points { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; color: #DCE6F7; }
.sy-cta__points li { display: inline-flex; align-items: center; gap: 8px; }
.sy-cta__points .sy-icon { color: var(--sy-sky-light); }
.sy-ctaband { padding-bottom: clamp(48px, 6vw, 80px); }

.sy-mini-steps { margin: 0; padding-left: 1.2em; display: grid; gap: 10px; color: var(--sy-muted); }
.sy-mini-steps strong { color: var(--sy-navy); }
.sy-footer__top { grid-template-columns: 1fr; }
@media (min-width: 640px) { .sy-footer__top { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .sy-footer__top { grid-template-columns: 1.4fr 1fr 1fr 1.1fr; } }
.sy-footer__brand .sy-social { margin-top: 18px; }
.sy-header__mobile-link { color: var(--sy-white); font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.sy-community .sy-social--cards { grid-template-columns: 1fr; }
@media (min-width: 640px) and (max-width: 959px) { .sy-community .sy-social--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --- v1.2 : logo, logos partenaires, articles, cohérence ------------------ */

@media (min-width: 1280px) {
	:root { --sy-header-h: 92px; }
	.sy-header__logo img { height: 66px; }
}
@media (min-width: 1280px) and (max-width: 1399px) { .sy-header__logo img { height: 58px; } }
@media (max-width: 1279px) { .sy-header__logo img { height: 52px; } }

.sy-logos li { padding: 16px 14px 12px; min-height: 140px; }
.sy-logos figure { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 10px; height: 100%; width: 100%; }
.sy-logos figure img { max-height: 70px; max-width: 100%; margin: auto; }
.sy-logos figcaption { font-size: .78rem; line-height: 1.3; text-align: center; color: var(--sy-muted); font-weight: 600; }
@media (min-width: 1000px) { .sy-logos--grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.sy-logos--clients { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; }
.sy-logos-sub { margin: 48px 0 20px; }
.sy-section__note { margin: 4px 0 0; color: var(--sy-muted); }

/* Article */
.sy-article__head { max-width: 860px; }
.sy-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 16px; color: #DCE6F7; font-size: .95rem; }
.sy-article__meta span { display: inline-flex; align-items: center; gap: 6px; }
.sy-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.14); color: var(--sy-white) !important; font-weight: 700; font-size: .85rem; text-decoration: none; letter-spacing: .02em; }
.sy-chip:hover { background: rgba(255,255,255,.24); }
.sy-article__layout { display: grid; gap: 40px; align-items: start; }
@media (min-width: 1040px) { .sy-article__layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 56px; } }
.sy-article__main { min-width: 0; max-width: 820px; }
.sy-article__cover { margin: 0 0 32px; }
.sy-article__cover img { width: 100%; border-radius: var(--sy-radius-lg); max-height: 520px; object-fit: cover; }
.sy-article__aside { display: grid; gap: 20px; }
@media (min-width: 1040px) { .sy-article__aside { position: sticky; top: calc(var(--sy-header-h) + 24px); } }
.sy-side-card { background: var(--sy-white); border: 1px solid var(--sy-line); border-radius: var(--sy-radius); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.sy-side-card p { margin: 0; }
.sy-side-card__title { font-weight: 800; font-size: 1.1rem; color: var(--sy-navy); }
.sy-side-card--blue { background: var(--sy-blue); border-color: var(--sy-blue); color: #DCE6F7; }
.sy-side-card--blue .sy-side-card__title { color: var(--sy-white); }
.sy-side-card--blue .sy-btn { align-self: flex-start; }
.sy-side-card__link { color: var(--sy-white) !important; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.sy-side-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sy-side-posts a { display: flex; gap: 12px; align-items: center; padding: 8px; margin: 0 -8px; border-radius: 12px; text-decoration: none; }
.sy-side-posts a:hover { background: var(--sy-pale); }
.sy-side-posts__img { flex: none; width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--sy-pale); color: var(--sy-blue); display: flex; align-items: center; justify-content: center; }
.sy-side-posts__img img { width: 100%; height: 100%; object-fit: cover; }
.sy-side-posts strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .93rem; line-height: 1.35; color: var(--sy-navy); }
.sy-side-posts small { display: block; color: var(--sy-muted); font-size: .82rem; margin-top: 2px; }
.sy-postnav { margin-top: 40px; }

/* Contenu des articles : mise en forme homogène */
.sy-article__body { font-size: 1.08rem; line-height: 1.75; }
.sy-article__body > .sy-dv-section:first-child .sy-dv-text:first-child p:first-child { font-size: 1.2rem; line-height: 1.65; color: var(--sy-ink); }
.sy-article__body h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin: 1.6em 0 .6em; }
.sy-article__body h2:empty, .sy-article__body h3:empty, .sy-article__body p:empty { display: none; }
.sy-article__body .sy-dv-row { gap: 24px; margin-bottom: 24px; align-items: stretch; }
.sy-article__body .sy-dv-image { margin: 0; height: 100%; }
.sy-article__body .sy-dv-image img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; border-radius: 16px; }
.sy-article__body .sy-dv-col--1_2 .sy-dv-image img, .sy-article__body .sy-dv-col--1_3 .sy-dv-image img, .sy-article__body .sy-dv-col--1_4 .sy-dv-image img { aspect-ratio: 4 / 3; height: auto; }
.sy-article__body .sy-dv-col > .sy-dv-text:only-child { align-self: center; }
.sy-article__body .sy-dv-col { display: flex; flex-direction: column; justify-content: center; }
.sy-article__body .sy-dv-col > * + * { margin-top: 16px; }
.sy-article__body .sy-video { margin: 8px 0; }
.sy-article__body ul li::marker { color: var(--sy-blue); }

/* Cartes d'actualités : hauteurs alignées */
.sy-card__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sy-card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 960px) { .sy-bubble { top: 44%; bottom: auto; } }

/* =====================================================================
   Carte sonore — rendu « produit réel » (cuir, coins dorés, logo à chaud)
   ===================================================================== */
.sy-menucard--leather { width: min(360px, 66vw); perspective: 1400px; position: relative; }
.sy-menucard--leather::after { /* ombre portée au sol */
	content: ""; position: absolute; left: 8%; right: -2%; bottom: -26px; height: 40px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(3, 14, 40, .55), transparent); filter: blur(6px); z-index: -1;
}
.sy-menucard--leather .sy-menucard__cover {
	display: block; padding: 0; aspect-ratio: 800 / 1132; background: #9a6532; overflow: visible;
	border-radius: 5px 9px 9px 5px;
	box-shadow:
		1px 0 0 #6d4220, 3px 1px 0 #f4efe4, 5px 2px 0 #e2d9c6, 7px 3px 0 #efe8d9, 8px 4px 0 #5b3719,
		0 34px 60px -22px rgba(2, 12, 38, .75), 0 60px 110px -40px rgba(2, 12, 38, .7);
}
.sy-menucard--leather .sy-menucard__leather,
.sy-menucard--leather picture { display: block; width: 100%; height: 100%; }
.sy-menucard--leather .sy-menucard__leather { object-fit: cover; border-radius: inherit; }
.sy-menucard--leather picture { border-radius: inherit; }
.sy-menucard__spine {
	position: absolute; inset: 0 auto 0 0; width: 7%; border-radius: 5px 0 0 5px; pointer-events: none;
	background: linear-gradient(90deg, rgba(40, 20, 5, .55), rgba(40, 20, 5, .18) 45%, rgba(255, 230, 190, .14) 70%, rgba(40, 20, 5, .12) 85%, transparent);
}
.sy-menucard__corner {
	position: absolute; right: -1px; width: 13%; aspect-ratio: 1; pointer-events: none;
	background: linear-gradient(135deg, #7a5a22 0%, #f6e3a4 28%, #c89b45 48%, #fff4cc 62%, #a77b2f 82%, #6e5019 100%);
	filter: drop-shadow(-1px 1px 1px rgba(0, 0, 0, .45));
}
.sy-menucard__corner--tr { top: -1px; clip-path: polygon(8% 0, 100% 0, 100% 92%); border-radius: 0 9px 0 0; }
.sy-menucard__corner--br { bottom: -1px; clip-path: polygon(100% 8%, 100% 100%, 8% 100%); border-radius: 0 0 9px 0;
	background: linear-gradient(45deg, #6e5019 0%, #a77b2f 20%, #fff4cc 40%, #c89b45 55%, #f6e3a4 72%, #7a5a22 100%); }
.sy-menucard__logo {
	position: absolute; left: 53%; top: 13%; width: 52%; aspect-ratio: 440 / 219; translate: -50% 0; pointer-events: none;
	-webkit-mask: var(--sy-logo) center / contain no-repeat; mask: var(--sy-logo) center / contain no-repeat;
	background: linear-gradient(115deg, #8c6a2a 0%, #f7e6a8 22%, #c9a04c 40%, #fff6d2 52%, #b8913f 68%, #e9d08a 84%, #8c6a2a 100%);
	background-size: 220% 100%; animation: sy-foil 7s ease-in-out infinite;
	filter: drop-shadow(0 1px 0 rgba(255, 240, 200, .35)) drop-shadow(0 -1px 0 rgba(60, 30, 5, .55));
}
@keyframes sy-foil { 0%, 100% { background-position: 0 0; } 50% { background-position: 100% 0; } }
.sy-menucard__sheen {
	position: absolute; inset: 0; border-radius: inherit; pointer-events: none; mix-blend-mode: soft-light;
	background: linear-gradient(118deg, rgba(255, 255, 255, .38) 0%, rgba(255, 255, 255, 0) 38%, rgba(0, 0, 0, .0) 60%, rgba(0, 0, 0, .35) 100%);
}
/* Haut-parleur : ondes qui partent de la grille */
.sy-menucard__speaker { position: absolute; left: 49.7%; top: 49.1%; width: 0; height: 0; pointer-events: none; }
.sy-menucard__speaker i {
	position: absolute; left: 0; top: 0; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%;
	border: 2px solid rgba(255, 236, 190, .85); opacity: 0; transform: scale(.4);
}
.sy-menucard.is-playing .sy-menucard__speaker i { animation: sy-ring 1.8s cubic-bezier(.2, .6, .3, 1) infinite; }
.sy-menucard.is-playing .sy-menucard__speaker i:nth-child(2) { animation-delay: .6s; }
.sy-menucard.is-playing .sy-menucard__speaker i:nth-child(3) { animation-delay: 1.2s; }
@keyframes sy-ring { 0% { opacity: .9; transform: scale(.35); } 100% { opacity: 0; transform: scale(2.6); } }
/* Bouton d'écoute posé sur le bouton central de la carte */
.sy-menucard--leather .sy-menucard__play {
	position: absolute; left: 77.9%; top: 54.9%; translate: -50% -50%; width: 15%; min-width: 48px; height: auto; aspect-ratio: 1;
	border-radius: 50%; background: radial-gradient(circle, rgba(32, 20, 14, .0) 0 52%, transparent 53%); color: #F6E3A4;
	box-shadow: none; display: flex; align-items: center; justify-content: center; padding: 0;
}
.sy-menucard--leather .sy-menucard__play::before {
	content: ""; position: absolute; inset: 14%; border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(246, 227, 164, .9), 0 0 18px 2px rgba(246, 227, 164, .45);
	animation: sy-halo 2.2s ease-in-out infinite;
}
.sy-menucard--leather .sy-menucard__play:hover { transform: none; }
.sy-menucard--leather .sy-menucard__play:hover::before { box-shadow: 0 0 0 3px #fff4cc, 0 0 24px 4px rgba(246, 227, 164, .6); }
.sy-menucard--leather .sy-menucard__play:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.sy-menucard--leather .sy-menucard__play > span:not(.sy-sr) { position: relative; display: inline-flex; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .6)); }
.sy-menucard--leather .sy-menucard__play-icon { margin-left: 2px; }
.sy-menucard--leather .sy-menucard__play[aria-pressed="true"]::before { animation-duration: .9s; }
@keyframes sy-halo { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.12); } }
/* Étiquette « Appuyez pour écouter » reliée au bouton */
.sy-menucard--leather .sy-menucard__hint {
	position: absolute; left: auto; right: 30%; top: 54.9%; bottom: auto; translate: 0 -50%;
	display: inline-flex; align-items: center; padding: 7px 12px; border-radius: 999px; white-space: nowrap;
	background: rgba(255, 255, 255, .94); color: var(--sy-navy); font-size: .72rem; letter-spacing: .05em;
	box-shadow: 0 6px 16px rgba(30, 15, 5, .35); pointer-events: none;
}
.sy-menucard--leather .sy-menucard__hint::after {
	content: ""; position: absolute; right: -5px; top: 50%; width: 10px; height: 10px; translate: 0 -50%; rotate: 45deg;
	background: inherit; border-radius: 2px;
}
.sy-menucard__hint-on { display: none; }
.sy-menucard.is-playing .sy-menucard__hint-play { display: none; }
.sy-menucard.is-playing .sy-menucard__hint-on { display: inline; }
@media (min-width: 960px) {
	.sy-menucard--leather { margin-right: 24px; }
	.sy-hero__visual .sy-bubble { top: 74%; }
}
@media (prefers-reduced-motion: reduce) {
	.sy-menucard__logo, .sy-menucard--leather .sy-menucard__play::before, .sy-menucard.is-playing .sy-menucard__speaker i { animation: none; }
}
h2.sy-side-card__title { line-height: 1.3; margin: 0 0 .6rem; }
