/* ==========================================================================
   Logistar · système de design
   Source des tokens : DESIGN.md (« Logistar, Corridor Bleu »)
   Les sections Elementor sont stylées par les classes posées dans « Classes CSS ».
   ========================================================================== */

@font-face {
	font-family: "Mona Sans";
	src: url("../fonts/mona-sans-latin.woff2") format("woff2");
	font-weight: 200 900;
	font-stretch: 75% 125%;
	font-style: normal;
	font-display: swap;
	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: "Mona Sans";
	src: url("../fonts/mona-sans-latin-ext.woff2") format("woff2");
	font-weight: 200 900;
	font-stretch: 75% 125%;
	font-style: normal;
	font-display: swap;
	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;
}

/* ---------- 1. Tokens ---------- */
body.lg-page {
	--lg-blue: #033efa;
	--lg-blue-deep: #0230c4;
	--lg-yellow: #ffd318;
	--lg-yellow-hover: #ffe066;
	--lg-ink: #14161f;
	--lg-ink-2: #4a5068;
	--lg-ink-3: #666c84;
	--lg-surface: #f4f6fb;
	--lg-surface-2: #e8edf8;
	--lg-night: #0b1640;
	--lg-night-2: #14245e;
	--lg-line: #e3e7f1;
	--lg-white: #fff;
	--lg-on-dark-2: rgb(255 255 255 / 0.72);
	--lg-on-dark-line: rgb(255 255 255 / 0.12);

	--lg-font: "Mona Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--lg-wide: 112%;
	--lg-fs-display: clamp(44px, 6.4vw, 96px);
	--lg-fs-h2: clamp(34px, 4.6vw, 68px);
	--lg-fs-h3: clamp(22px, 2.2vw, 30px);
	--lg-fs-lead: clamp(18px, 1.6vw, 22px);
	--lg-fs-text: 17px;
	--lg-fs-small: 14px;

	--lg-container: 1280px;
	--lg-gutter: clamp(16px, 4vw, 40px);
	--lg-section: clamp(72px, 9vw, 144px);
	--lg-bleed: max(var(--lg-gutter), calc((100vw - var(--lg-container)) / 2));

	--lg-r-sm: 14px;
	--lg-r-md: 20px;
	--lg-r-lg: 28px;
	--lg-r-pill: 999px;

	--lg-shadow-float: 0 40px 80px -40px rgb(11 22 64 / 0.35), 0 18px 36px -18px rgb(11 22 64 / 0.18);
	--lg-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--lg-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--lg-ease-card: cubic-bezier(0, 0, 0.5, 1);

	/* Neutralise les espacements par défaut d'Elementor : le rythme est porté par les classes */
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
	--kit-widget-spacing: 0px;
	--widgets-spacing: 0px;
	--widgets-spacing-row: 0px;
	--widgets-spacing-column: 0px;

	margin: 0;
	background: var(--lg-white);
	color: var(--lg-ink);
	font-family: var(--lg-font);
	font-size: var(--lg-fs-text);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "ss01" off;
}

.lg-page ::selection { background: var(--lg-yellow); color: var(--lg-ink); }
.lg-page a { color: inherit; }
.lg-page :focus-visible { outline: 2px solid var(--lg-blue); outline-offset: 3px; border-radius: 6px; }
.lg-page img { max-width: 100%; height: auto; }
.lg-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.lg-page h1, .lg-page h2, .lg-page h3, .lg-page h4 { font-family: var(--lg-font); margin: 0; }
.lg-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lg-skip { position: fixed; left: 16px; top: -60px; z-index: 1000; padding: 12px 18px; border-radius: var(--lg-r-pill); background: var(--lg-ink); color: #fff !important; font-weight: 600; text-decoration: none; transition: top 0.2s var(--lg-ease); }
.lg-skip:focus { top: 12px; }

/* ---------- 2. Mise en page ---------- */
.lg-page .lg-section {
	position: relative;
	flex-direction: column;
	padding-block: var(--lg-section);
	gap: clamp(40px, 5vw, 72px);
	overflow-x: clip;
}
.lg-page .lg-section--surface { background: var(--lg-surface); }
.lg-page .lg-section--night { background: var(--lg-night); color: var(--lg-white); }
.lg-page .lg-section--signal { background: var(--lg-yellow); }
.lg-page .lg-section--blue { background: var(--lg-blue); color: var(--lg-white); }

.lg-page .lg-wrap {
	width: 100%;
	max-width: calc(var(--lg-container) + 2 * var(--lg-gutter));
	margin-inline: auto;
	padding-inline: var(--lg-gutter);
}
.lg-page .lg-stack { flex-direction: column; gap: 20px; }
.lg-page .lg-head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 32px; }
.lg-page .lg-head__text { flex-direction: column; gap: 20px; max-width: 760px; }

/* ---------- 3. Typographie ---------- */
.lg-page .lg-display .elementor-heading-title,
.lg-page .lg-h2 .elementor-heading-title,
.lg-page .lg-h3 .elementor-heading-title,
.lg-page .lg-kicker .elementor-heading-title {
	font-family: var(--lg-font);
	font-stretch: var(--lg-wide);
	font-weight: 680;
	color: inherit;
	text-wrap: balance;
}
.lg-page .lg-display .elementor-heading-title { font-size: var(--lg-fs-display); line-height: 0.98; letter-spacing: -0.035em; color: var(--lg-blue); }
.lg-page .lg-h2 .elementor-heading-title { font-size: var(--lg-fs-h2); line-height: 1.02; letter-spacing: -0.03em; }
.lg-page .lg-h3 .elementor-heading-title { font-size: var(--lg-fs-h3); line-height: 1.12; letter-spacing: -0.015em; }
.lg-page .lg-kicker .elementor-heading-title { font-size: 17px; line-height: 1.25; letter-spacing: -0.005em; font-weight: 640; }
.lg-page .lg-eyebrow .elementor-heading-title {
	font: 600 13px/1.2 var(--lg-font);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lg-yellow);
}
.lg-page .lg-lead, .lg-page .lg-lead p { font-size: var(--lg-fs-lead); line-height: 1.45; letter-spacing: -0.011em; color: var(--lg-ink-2); text-wrap: pretty; max-width: 620px; }
.lg-page .lg-text, .lg-page .lg-text p { font-size: var(--lg-fs-text); line-height: 1.55; color: var(--lg-ink-2); text-wrap: pretty; max-width: 62ch; }
.lg-page .lg-section--night .lg-lead p, .lg-page .lg-section--night .lg-text p,
.lg-page .lg-section--blue .lg-lead p, .lg-page .lg-section--blue .lg-text p { color: var(--lg-on-dark-2); }
.lg-page .lg-section--signal .lg-lead p { color: var(--lg-ink); }
.lg-page .lg-section--blue .lg-lead p { color: rgb(255 255 255 / 0.9); }

/* Motif Apple : début en gras, suite en gris, dans le même paragraphe */
.lg-page .lg-card-lead p { margin: 0; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.3; letter-spacing: -0.012em; font-weight: 560; color: var(--lg-ink-3); text-wrap: pretty; }
.lg-page .lg-card-lead strong { color: var(--lg-ink); font-weight: 680; }

.lg-nowrap { white-space: nowrap; }

/* Bandeau jaune taillé en chevron derrière un mot bleu (hero) */
.lg-mark {
	position: relative;
	display: inline-grid;
	vertical-align: baseline;
	padding: 0 0.42em 0.13em 0.3em; /* marge basse : les jambages (g, j, p) restent dans le bandeau */
	margin-left: -0.06em;
	color: var(--lg-blue);
	background: var(--lg-yellow);
	clip-path: polygon(0 0, calc(100% - 0.3em) 0, 100% 50%, calc(100% - 0.3em) 100%, 0 100%, 0.2em 50%);
	transition: width 0.6s var(--lg-ease-out);
	overflow: hidden;
}
.lg-mark__word { grid-area: 1 / 1; justify-self: start; white-space: nowrap; transition: transform 0.6s var(--lg-ease-out), opacity 0.45s var(--lg-ease-out); }
.lg-mark__word.is-out { transform: translateY(-105%); opacity: 0; }
.lg-mark__word.is-next { transform: translateY(105%); opacity: 0; }

/* ---------- 4. Boutons ---------- */
.lg-cta,
.lg-page .lg-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	padding: 0 26px;
	border: 0;
	border-radius: var(--lg-r-pill);
	background: var(--lg-blue);
	color: var(--lg-white) !important;
	font: 600 16px/1 var(--lg-font);
	letter-spacing: -0.005em;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s var(--lg-ease), transform 0.15s var(--lg-ease), box-shadow 0.15s var(--lg-ease);
}
.lg-cta:hover, .lg-page .lg-btn .elementor-button:hover { background: var(--lg-blue-deep); }
.lg-cta:active, .lg-page .lg-btn .elementor-button:active { transform: scale(0.98); }
.lg-page .lg-btn .elementor-button-content-wrapper { gap: 10px; align-items: center; }

/* Jeton à chevron : remplace la flèche. Une pastille ronde à droite porte le chevron du logo ;
   au survol, le chevron sort par la droite et revient par la gauche, comme un camion qui repart. */
/* Couleurs par défaut du jeton (même poids que les variantes ci-dessous, qui l'emportent par l'ordre) */
.lg-cta, .lg-page .lg-btn .elementor-button { --lg-puck: var(--lg-yellow); --lg-chev: url("../img/chev-bleu.svg"); --lg-puck-size: 36px; }
.lg-cta,
.lg-page .lg-btn:not(.lg-btn--link) .elementor-button {
	gap: 14px;
	padding: 0 8px 0 24px;
}
.lg-cta::after,
.lg-page .lg-btn:not(.lg-btn--link) .elementor-button::after {
	content: "";
	flex: none;
	width: var(--lg-puck-size);
	height: var(--lg-puck-size);
	border-radius: 50%;
	background: var(--lg-chev) no-repeat 50% 50% / 11px 11px;
	background-color: var(--lg-puck);
	transition: transform 0.3s var(--lg-ease-card);
}
@media (hover: hover) {
	.lg-cta:hover::after,
	.lg-page .lg-btn:not(.lg-btn--link) .elementor-button:hover::after { transform: scale(1.06); animation: lg-go 0.55s var(--lg-ease-out); }
}
@keyframes lg-go {
	45% { background-position: 180% 50%; }
	46% { background-position: -80% 50%; }
	100% { background-position: 50% 50%; }
}
.lg-cta--signal, .lg-page .lg-btn--signal .elementor-button, .lg-quote__result .lg-cta { --lg-puck: var(--lg-blue); --lg-chev: url("../img/chev-jaune.svg"); }
.lg-page .lg-btn--quiet .elementor-button { --lg-puck: var(--lg-blue); --lg-chev: url("../img/chev-blanc.svg"); }
.lg-page .lg-btn--ghost .elementor-button { --lg-puck: var(--lg-white); --lg-chev: url("../img/chev-bleu.svg"); }

.lg-cta--signal, .lg-page .lg-btn--signal .elementor-button { background: var(--lg-yellow); color: var(--lg-ink) !important; }
.lg-cta--signal:hover, .lg-page .lg-btn--signal .elementor-button:hover { background: var(--lg-yellow-hover); }
/* Fond plein (et non translucide) : rien ne transparaît derrière, ni les bandes du hero ni les visuels */
.lg-page .lg-btn--quiet .elementor-button { background: #e6ecfe; color: var(--lg-blue) !important; }
.lg-page .lg-btn--quiet .elementor-button:hover { background: #d9e2fe; }
.lg-page .lg-btn--ghost .elementor-button { background: rgb(255 255 255 / 0.12); color: var(--lg-white) !important; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.3); }
.lg-page .lg-btn--ghost .elementor-button:hover { background: rgb(255 255 255 / 0.2); }
.lg-page .lg-btn--link .elementor-button { height: auto; padding: 0; background: none; color: var(--lg-blue) !important; border-radius: 0; }
.lg-page .lg-btn--link .elementor-button:hover { background: none; text-decoration: underline; text-underline-offset: 4px; }
.lg-cta--block { width: 100%; }

.lg-page .lg-actions { flex-direction: row; flex-wrap: wrap; gap: 12px; align-items: center; }

/* ---------- 5. En-tête : pilule flottante, fixe sur tout le site (choix imposé) ---------- */
body.lg-page {
	--lg-pill-h: 60px;
	--lg-pill-top: max(14px, env(safe-area-inset-top));
	--lg-header-h: calc(var(--lg-pill-top) + var(--lg-pill-h)); /* espace réservé sous la pilule */
}
.lg-header {
	position: fixed;
	top: var(--lg-pill-top);
	left: 0;
	right: 0;
	z-index: 100;
	padding-inline: max(var(--lg-gutter), env(safe-area-inset-left));
	pointer-events: none; /* seule la pilule capte les clics, pas la bande vide autour */
}
.admin-bar .lg-header { top: calc(var(--lg-pill-top) + 32px); }
@media (max-width: 782px) { .admin-bar .lg-header { top: calc(var(--lg-pill-top) + 46px); } }
/* Thème de la pilule : jaune par défaut, blanc quand elle passe au-dessus d'une section jaune
   (le JavaScript pose .is-on-yellow). Toutes les couleurs passent par ces variables, d'où une bascule fluide. */
.lg-header {
	--lg-pill-bg: rgb(255 211 24 / 0.94);
	--lg-pill-bg-solid: var(--lg-yellow);
	--lg-pill-ring: rgb(20 22 31 / 0.1);
	--lg-pill-hover: rgb(20 22 31 / 0.07);
	--lg-pill-current-bg: rgb(255 255 255 / 0.92);
	--lg-pill-track-hover: var(--lg-ink);
	--lg-logo-chev: var(--lg-white);
}
.lg-header.is-on-yellow {
	--lg-pill-bg: rgb(255 255 255 / 0.97);
	--lg-pill-bg-solid: var(--lg-white);
	--lg-pill-ring: rgb(20 22 31 / 0.08);
	--lg-pill-hover: rgb(20 22 31 / 0.05);
	--lg-pill-current-bg: #e6ecfe;
	--lg-pill-track-hover: var(--lg-blue);
	--lg-logo-chev: var(--lg-yellow);
}
.lg-header__bar {
	pointer-events: auto;
	display: flex;
	align-items: center;
	gap: 28px;
	height: var(--lg-pill-h);
	max-width: 1240px;
	margin-inline: auto;
	padding: 0 8px 0 24px;
	border-radius: var(--lg-r-pill);
	background-color: var(--lg-pill-bg);
	box-shadow: 0 0 0 1px var(--lg-pill-ring), 0 10px 30px -12px rgb(11 22 64 / 0.22);
	-webkit-backdrop-filter: saturate(1.6) blur(20px);
	backdrop-filter: saturate(1.6) blur(20px);
	transition: box-shadow 0.45s var(--lg-ease), background-color 0.5s var(--lg-ease), max-width 0.45s var(--lg-ease-out), height 0.35s var(--lg-ease-out);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.lg-header__bar { background-color: var(--lg-pill-bg-solid); }
}
/* Au défilement : pilule un peu plus compacte et plus détachée du contenu */
.lg-header.is-scrolled .lg-header__bar {
	height: calc(var(--lg-pill-h) - 4px);
	max-width: 1200px;
	box-shadow: 0 0 0 1px var(--lg-pill-ring), 0 18px 40px -16px rgb(11 22 64 / 0.32);
}
.lg-header__logo { display: block; flex: none; line-height: 0; border-radius: 8px; }
.lg-header__logo svg { height: 28px; width: auto; }
/* Le chevron du logo change de couleur avec la pilule : blanc sur jaune, jaune sur blanc */
.lg-header__logo svg > g > path:nth-child(3) { fill: var(--lg-logo-chev); transition: fill 0.5s var(--lg-ease); }
.lg-header__nav { flex: 1; display: flex; justify-content: center; position: relative; }
.lg-nav { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; position: relative; z-index: 1; }
.lg-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 13px;
	border-radius: var(--lg-r-pill);
	font-size: 15px;
	font-weight: 650;
	white-space: nowrap;
	color: var(--lg-ink);
	text-decoration: none;
	transition: background-color 0.2s var(--lg-ease), color 0.3s var(--lg-ease);
}
.lg-nav a:hover { background: var(--lg-pill-hover); }
.lg-nav a.is-current, .lg-nav .current-menu-item > a { color: var(--lg-blue); }
.lg-nav a.is-current:hover { background: transparent; }
/* Voyant de position : pastille qui glisse d'un lien à l'autre (posée par le JavaScript), sans point sous le lien */
.lg-nav__glider {
	position: absolute; top: 50%; left: 0; z-index: 0; width: 0; height: 40px;
	border-radius: var(--lg-r-pill);
	background: var(--lg-pill-current-bg);
	box-shadow: 0 1px 2px rgb(11 22 64 / 0.08);
	opacity: 0;
	transform: translate(0, -50%);
	transition: transform 0.5s var(--lg-ease-out), width 0.5s var(--lg-ease-out), opacity 0.3s var(--lg-ease), background-color 0.5s var(--lg-ease);
	pointer-events: none;
}
.lg-nav__glider.is-on { opacity: 1; }
.lg-nav__glider.is-instant { transition: opacity 0.3s var(--lg-ease); }
.lg-header__actions { display: flex; align-items: center; gap: 6px; }
.lg-header__track {
	display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px; border-radius: var(--lg-r-pill);
	font-size: 15px; font-weight: 650; color: var(--lg-ink); text-decoration: none; transition: background-color 0.2s var(--lg-ease), color 0.2s var(--lg-ease);
}
.lg-header__track:hover { background: var(--lg-pill-hover); color: var(--lg-pill-track-hover); }
.lg-header__track svg { width: 18px; height: 18px; flex: none; }
.lg-header__track-label { white-space: nowrap; }
/* Écran moyen : le lien de suivi garde son icône, son libellé reste lu par les lecteurs d'écran */
@media (max-width: 1279px) {
	.lg-header__track { width: 44px; padding: 0; justify-content: center; }
	.lg-header__track-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.lg-nav a { padding: 0 11px; }
	.lg-header__bar { gap: 18px; }
}
.lg-header .lg-header__actions > .lg-cta { --lg-puck-size: 32px; height: 44px; padding: 0 6px 0 18px; gap: 12px; font-size: 15px; font-weight: 700; }
.lg-header__toggle {
	display: none; width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: var(--lg-pill-hover); color: var(--lg-ink); cursor: pointer; transition: background-color 0.3s var(--lg-ease);
}
.lg-header__toggle:hover { background: rgb(20 22 31 / 0.12); }
.lg-burger { position: relative; display: block; width: 18px; height: 10px; margin: auto; }
.lg-burger i { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform 0.3s var(--lg-ease-out), top 0.3s var(--lg-ease-out); }
.lg-burger i:first-child { top: 0; }
.lg-burger i:last-child { top: 8px; }
.lg-header.is-open .lg-burger i:first-child { top: 4px; transform: rotate(45deg); }
.lg-header.is-open .lg-burger i:last-child { top: 4px; transform: rotate(-45deg); }

/* Menu mobile : panneau arrondi qui s'ouvre sous la pilule */
.lg-menu {
	pointer-events: auto;
	max-width: 1180px;
	margin: 10px auto 0;
	padding: 8px 20px 20px;
	border-radius: var(--lg-r-lg);
	background: var(--lg-white);
	box-shadow: 0 0 0 1px rgb(20 22 31 / 0.06), var(--lg-shadow-float);
	max-height: calc(100svh - var(--lg-header-h) - 28px);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform-origin: top center;
}
.lg-menu:not([hidden]) { animation: lg-menu-in 0.32s var(--lg-ease-out); }
@keyframes lg-menu-in { from { opacity: 0; transform: translateY(-8px) scale(0.98); } to { opacity: 1; transform: none; } }
.lg-menu__list { margin: 0; padding: 0; list-style: none; }
.lg-menu__list a { display: flex; align-items: center; min-height: 56px; border-bottom: 1px solid var(--lg-line); font-size: 22px; font-weight: 640; font-stretch: var(--lg-wide); letter-spacing: -0.02em; color: var(--lg-ink); text-decoration: none; }
.lg-menu__list li:last-child a { border-bottom: 0; }
.lg-menu__actions { display: grid; gap: 6px; margin-top: 16px; }
.lg-header .lg-menu__track { display: grid; place-items: center; min-height: 48px; font-weight: 600; color: var(--lg-blue); text-decoration: none; }
html.lg-menu-open { overflow: hidden; }
/* Voile derrière le menu mobile : un toucher dessus referme le menu */
.lg-header.is-open::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: auto;
	background: rgb(11 22 64 / 0.28);
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
	animation: lg-fade 0.25s var(--lg-ease) both;
}
@keyframes lg-fade { from { opacity: 0; } }

@media (max-width: 1100px) {
	.lg-header__nav, .lg-header__track { display: none; }
	.lg-header__toggle { display: block; }
	.lg-header__actions { margin-left: auto; }
	.lg-header__bar { gap: 12px; }
}
@media (max-width: 520px) {
	body.lg-page { --lg-pill-h: 56px; --lg-pill-top: max(10px, env(safe-area-inset-top)); }
	.lg-header { padding-inline: 10px; }
	.lg-header__bar { padding-left: 18px; }
	.lg-header .lg-header__actions > .lg-cta { --lg-puck-size: 28px; height: 40px; padding: 0 6px 0 14px; gap: 10px; font-size: 14px; }
	.lg-header__logo svg { height: 24px; }
}
@media (max-width: 380px) {
	.lg-header .lg-header__actions > .lg-cta { display: none; }
}

/* ---------- 6. Hero ---------- */
.lg-page .lg-hero {
	padding-top: calc(var(--lg-header-h) + clamp(40px, 6vw, 88px));
	padding-bottom: 0;
	justify-content: flex-start;
	background: var(--lg-white);
	overflow-x: clip;
	overflow-y: visible;
	z-index: 2; /* le camion passe au-dessus de la section suivante */
}
/* Titre pleine largeur sur deux lignes, puis texte à gauche et camion qui déborde à droite et sur la section suivante */
.lg-page .lg-hero__grid { flex-direction: column; gap: clamp(28px, 3.4vw, 48px); flex: 1; position: relative; z-index: 1; }
/* Deux bandes jaunes inclinées (livrée des remorques) : elles cassent le blanc et passent derrière le camion */
.lg-page .lg-hero::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(48vw, 700px);
	z-index: 0;
	pointer-events: none;
	background: url("../img/bandes-hero.svg") no-repeat right top / auto 100%;
}
@media (prefers-reduced-motion: no-preference) {
	.lg-page .lg-hero::after { animation: lg-bars 1.2s var(--lg-ease-out) 0.15s both; }
}
@keyframes lg-bars { from { opacity: 0; transform: translate(14%, -10%); } to { opacity: 1; transform: none; } }
.lg-page .lg-hero__row { flex-direction: row; align-items: flex-start; gap: clamp(24px, 3vw, 48px); }
.lg-page .lg-hero__copy { flex-direction: column; gap: 32px; flex: 0 0 min(40%, 500px); position: relative; z-index: 2; padding-top: 6px; }
.lg-page .lg-hero__copy .lg-lead p { max-width: 460px; }
.lg-page .lg-hero__visual {
	flex: 1 1 auto;
	position: relative;
	z-index: 3;
	margin-top: clamp(-80px, -5vw, -24px);
	margin-right: calc(-1 * var(--lg-bleed));
	margin-bottom: 0;
	/* Part de l'image située sous les pneus, en % de sa largeur (provisoire : 108 / 1600 px).
	   À recaler sur la vraie photo : les roues doivent se poser exactement sur la section jaune. */
	--lg-truck-ground: 6.75%;
}
/* Le camion « roule » sur la section jaune : la ligne des pneus coïncide avec le haut de la section,
   seule l'ombre portée déborde sur le jaune */
.lg-page .lg-hero__visual img { display: block; width: 100%; max-width: none; height: auto; margin-bottom: calc(-1 * var(--lg-truck-ground)); position: relative; z-index: 3; }
.lg-page .lg-hero + .lg-section { padding-top: calc(var(--lg-section) + clamp(16px, 3vw, 40px)); }

/* ---------- 7. Galerie des modes de transport ---------- */
.lg-page .lg-gallery {
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 20px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--lg-bleed);
	padding-inline: var(--lg-bleed);
	padding-bottom: 8px;
	scrollbar-width: none;
}
.lg-page .lg-gallery::-webkit-scrollbar { display: none; }
.lg-page .lg-mode {
	position: relative;
	flex: 0 0 clamp(280px, 30vw, 380px);
	height: clamp(460px, 44vw, 580px);
	flex-direction: column;
	gap: 10px;
	padding: clamp(24px, 2.6vw, 34px);
	border-radius: var(--lg-r-lg);
	background: var(--lg-white);
	overflow: hidden;
	scroll-snap-align: start;
	isolation: isolate;
}
.lg-page .lg-mode .lg-kicker .elementor-heading-title { color: var(--lg-blue); }
.lg-page .lg-mode__media { position: absolute; inset: auto 0 0 0; height: 64%; z-index: -1; }
.lg-page .lg-mode__media img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.lg-gallery-nav { display: flex; gap: 10px; }
.lg-gallery-nav button {
	display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: rgb(20 22 31 / 0.07); color: var(--lg-ink); cursor: pointer;
	transition: background-color 0.15s var(--lg-ease), opacity 0.15s var(--lg-ease);
}
.lg-gallery-nav button:hover { background: rgb(20 22 31 / 0.12); }
/* Sélecteur de mode (coin supérieur droit de la section Transport) */
.lg-page .lg-modes .lg-head { align-items: flex-end; }
.lg-page .lg-modes__pick {
	position: relative;
	flex: 0 0 min(440px, 42%);
	flex-direction: column;
	gap: 14px;
	padding: 24px 22px 20px;
	border-radius: var(--lg-r-md);
	background: var(--lg-white);
	box-shadow: var(--lg-shadow-float);
}
.lg-page .lg-modes__visual {
	position: absolute !important;
	width: 210px !important; /* Elementor impose une largeur aux widgets enfants */
	right: -18px;
	top: -142px;
	z-index: 1;
	pointer-events: none;
	filter: drop-shadow(0 18px 24px rgb(11 22 64 / 0.18));
}
@media (prefers-reduced-motion: no-preference) {
	.lg-page .lg-modes__visual { animation: lg-float 6s ease-in-out infinite; }
}
@keyframes lg-float { 50% { transform: translateY(-6px); } }
.lg-page .lg-modes__pick > :not(.lg-modes__visual) { position: relative; z-index: 2; }
.lg-page .lg-modes__label .elementor-heading-title { font: 640 15px/1.3 var(--lg-font); color: var(--lg-ink); max-width: 55%; }
.lg-page .lg-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.lg-page .lg-chips .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; inset: auto !important; }
.lg-page .lg-chips .elementor-icon-list-item::after { display: none; }
.lg-page .lg-chips .elementor-icon-list-item > a {
	display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px 0 12px;
	border-radius: var(--lg-r-pill); background: var(--lg-surface); color: var(--lg-ink);
	font: 560 14px var(--lg-font); text-decoration: none;
	transition: background-color 0.25s var(--lg-ease), color 0.25s var(--lg-ease), transform 0.15s var(--lg-ease);
}
.lg-page .lg-chips .elementor-icon-list-icon { padding: 0 !important; display: inline-flex; }
.lg-page .lg-chips .elementor-icon-list-icon svg { width: 14px; height: 14px; fill: var(--lg-blue); transition: fill 0.25s var(--lg-ease); }
.lg-page .lg-chips .elementor-icon-list-text { color: inherit !important; padding: 0 !important; }
.lg-page .lg-chips .elementor-icon-list-item > a:hover { background: var(--lg-surface-2); }
.lg-page .lg-chips .elementor-icon-list-item > a:active { transform: scale(0.97); }
.lg-page .lg-chips .elementor-icon-list-item.is-current > a { background: var(--lg-blue); color: var(--lg-white); }
.lg-page .lg-chips .elementor-icon-list-item.is-current .elementor-icon-list-icon svg { fill: var(--lg-yellow); }
.lg-page .lg-modes__pick .lg-gallery-nav { justify-content: flex-end; padding-top: 4px; border-top: 1px solid var(--lg-line); }
.lg-page .lg-modes__pick .lg-gallery-nav button { background: var(--lg-surface); }
.lg-page .lg-modes__pick .lg-gallery-nav button:hover { background: var(--lg-surface-2); }
/* Carte visée par une pastille : éclairage bref */
.lg-page .lg-mode { transition: box-shadow 0.5s var(--lg-ease); }
.lg-page .lg-mode.is-flash { box-shadow: 0 0 0 3px var(--lg-blue), var(--lg-shadow-float); }

/* Sur fond jaune : boutons de galerie blancs, plus lisibles qu'un voile sombre */
.lg-page .lg-section--signal .lg-gallery-nav button { background: rgb(255 255 255 / 0.75); }
.lg-page .lg-section--signal .lg-gallery-nav button:hover { background: var(--lg-white); }
.lg-page .lg-section--signal .lg-h2 .elementor-heading-title { color: var(--lg-ink); }
.lg-gallery-nav button:disabled { opacity: 0.35; cursor: default; }
.lg-gallery-nav svg { width: 18px; height: 18px; }

/* ---------- 8. Bento entreposage et douane (référence imposée par Yanis) ----------
   Rangée 1 : trois cartes égales. Rangée 2 : carte étroite, grande carte de synthèse, carte étroite.
   Carte : fond gris très clair, photo en haut, titre et description calés en bas à gauche. */
.lg-page .lg-head--center { flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.lg-page .lg-head--center .lg-h2 .elementor-heading-title { text-align: center; }
.lg-page .lg-head--center .lg-lead p { margin-inline: auto; text-align: center; }
.lg-page .lg-bento2 {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: minmax(500px, auto);
	gap: 24px;
}
.lg-page .lg-bento2 > :nth-child(1), .lg-page .lg-bento2 > :nth-child(2), .lg-page .lg-bento2 > :nth-child(3) { grid-column: span 4; }
.lg-page .lg-bento2 > :nth-child(4), .lg-page .lg-bento2 > :nth-child(6) { grid-column: span 3; }
.lg-page .lg-bento2 > :nth-child(5) { grid-column: span 6; }
.lg-page .lg-card {
	flex-direction: column;
	justify-content: flex-start;
	gap: 28px;
	padding: 28px 28px clamp(28px, 3.2vw, 46px);
	border-radius: var(--lg-r-lg);
	background: var(--lg-surface);
	overflow: hidden;
}
/* Format fixe : dans une même rangée, tous les titres tombent à la même hauteur */
.lg-page .lg-card__visual { flex: none; position: relative; aspect-ratio: 4 / 3; border-radius: var(--lg-r-md); overflow: hidden; background: var(--lg-surface-2); }
.lg-page .lg-card__visual .lg-card__media { position: absolute; inset: 0; }
.lg-page .lg-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--lg-ease-out); }
@media (hover: hover) { .lg-page .lg-card:hover .lg-card__visual img { transform: scale(1.04); } }
.lg-page .lg-card__text { flex-direction: column; gap: 8px; padding-inline: clamp(4px, 1.2vw, 18px); }
.lg-page .lg-card__title .elementor-heading-title { font: 640 clamp(20px, 1.6vw, 23px)/1.25 var(--lg-font); letter-spacing: -0.012em; color: var(--lg-ink); }
.lg-page .lg-card__desc p { margin: 0; font-size: clamp(17px, 1.35vw, 19px); line-height: 1.55; color: var(--lg-ink-3); text-wrap: pretty; }

/* Grande carte de synthèse : dégradé bleu clair, texte centré, pastilles flottantes floutées en profondeur */
.lg-page .lg-feature {
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: clamp(36px, 4vw, 64px) clamp(24px, 4vw, 72px);
	border-radius: var(--lg-r-lg);
	text-align: center;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(60% 70% at 72% 62%, rgb(3 62 250 / 0.22), transparent 70%),
		radial-gradient(50% 60% at 18% 20%, rgb(255 255 255 / 0.9), transparent 70%),
		linear-gradient(135deg, #eef3ff 0%, #d6e2ff 100%);
}
.lg-page .lg-feature__kicker p { margin: 0 auto; max-width: 32ch; font-size: 16px; line-height: 1.45; color: var(--lg-ink-2); }
.lg-page .lg-feature__title .elementor-heading-title { font: 680 clamp(26px, 2.6vw, 38px)/1.12 var(--lg-font); font-stretch: var(--lg-wide); letter-spacing: -0.025em; color: var(--lg-ink); max-width: 18ch; margin-inline: auto; text-wrap: balance; }
.lg-page .lg-floaters { margin-top: 14px; width: 100%; }
.lg-page .lg-floaters .elementor-icon-list-items { display: grid; justify-items: center; gap: 22px; }
.lg-page .lg-floaters .elementor-icon-list-item {
	display: inline-flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 12px 20px !important;
	border-radius: var(--lg-r-sm); background: rgb(255 255 255 / 0.72); box-shadow: 0 10px 30px -14px rgb(11 22 64 / 0.35);
	font: 600 17px var(--lg-font); color: var(--lg-ink);
}
.lg-page .lg-floaters .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--lg-blue); }
.lg-page .lg-floaters .elementor-icon-list-text { color: inherit !important; padding: 0 !important; }
/* Décalages et profondeur : la 2e pastille un peu floue, la 3e davantage (comme la référence) */
.lg-page .lg-floaters .elementor-icon-list-item:nth-child(1) { transform: translateX(-12%); }
.lg-page .lg-floaters .elementor-icon-list-item:nth-child(2) { transform: translateX(16%); filter: blur(0.6px); opacity: 0.88; }
.lg-page .lg-floaters .elementor-icon-list-item:nth-child(3) { transform: translateX(-18%); filter: blur(1.6px); opacity: 0.7; }
@media (prefers-reduced-motion: no-preference) {
	.lg-page .lg-floaters .elementor-icon-list-item { animation: lg-drift 7s ease-in-out infinite; }
	.lg-page .lg-floaters .elementor-icon-list-item:nth-child(2) { animation-delay: -2.3s; }
	.lg-page .lg-floaters .elementor-icon-list-item:nth-child(3) { animation-delay: -4.6s; }
}
@keyframes lg-drift { 50% { translate: 0 -6px; } }

/* ---------- 9. Corridors ---------- */
.lg-page .lg-corridors__grid { flex-direction: row; align-items: center; gap: clamp(32px, 5vw, 80px); }
.lg-page .lg-corridors__map { flex: 1 1 56%; min-width: 0; }
.lg-page .lg-corridors__copy { flex: 1 1 44%; flex-direction: column; gap: 20px; min-width: 0; }
.lg-page .lg-corridors__list { flex-direction: column; margin-top: 16px; border-bottom: 1px solid var(--lg-on-dark-line); }
.lg-page .lg-corridor {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "country km" "route route";
	column-gap: 16px;
	row-gap: 2px;
	padding: 16px 0 16px 28px;
	border-top: 1px solid var(--lg-on-dark-line);
	cursor: pointer;
	position: relative;
	transition: opacity 0.25s var(--lg-ease);
}
.lg-page .lg-corridor::after {
	content: ""; position: absolute; left: 0; top: 22px; width: 14px; height: 14px;
	background: var(--lg-yellow);
	clip-path: polygon(0 0, 45% 0, 100% 50%, 45% 100%, 0 100%, 55% 50%);
	opacity: 0.35;
	transition: opacity 0.25s var(--lg-ease), transform 0.25s var(--lg-ease-out);
}
.lg-page .lg-corridor > :nth-child(1) { grid-area: country; }
.lg-page .lg-corridor > :nth-child(2) { grid-area: route; }
.lg-page .lg-corridor > :nth-child(3) { grid-area: km; align-self: center; }
.lg-page .lg-corridor .lg-h3 .elementor-heading-title { font-size: clamp(20px, 1.7vw, 24px); color: var(--lg-white); }
.lg-page .lg-corridor__route p { font-size: 15px; color: var(--lg-on-dark-2); margin: 0; }
.lg-page .lg-corridor__km p { font-size: 15px; font-weight: 600; color: var(--lg-yellow); margin: 0; white-space: nowrap; }
.lg-page .lg-corridors__list.is-focus .lg-corridor:not(.is-active) { opacity: 0.6; }
.lg-page .lg-corridor.is-active::after { opacity: 1; transform: translateX(4px); }

.lg-map-wrap { margin: 0; }
/* Carte rognée à son cadre, bords fondus dans le fond nuit */
.lg-map {
	display: block; width: 100%; height: auto; overflow: hidden;
	-webkit-mask-image: radial-gradient(115% 105% at 46% 58%, #fff 62%, transparent 98%);
	mask-image: radial-gradient(115% 105% at 46% 58%, #fff 62%, transparent 98%);
}
.lg-map__country { stroke-linejoin: round; stroke-width: 1; vector-effect: non-scaling-stroke; transition: fill 0.4s var(--lg-ease); }
.lg-map__country.is-ctx { fill: rgb(255 255 255 / 0.035); stroke: rgb(255 255 255 / 0.09); }
.lg-map__country.is-dest { fill: rgb(255 255 255 / 0.085); stroke: rgb(255 255 255 / 0.22); }
.lg-map__country.is-hub { fill: rgb(3 62 250 / 0.55); stroke: rgb(255 255 255 / 0.4); }
.lg-map__route {
	fill: none; stroke: var(--lg-yellow); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round;
	stroke-dasharray: 1; stroke-dashoffset: 0;
	transition: opacity 0.3s var(--lg-ease), stroke-width 0.3s var(--lg-ease);
}
.lg-map__stop { fill: rgb(255 255 255 / 0.75); }
.lg-map__city { fill: var(--lg-night); stroke: var(--lg-yellow); stroke-width: 3; transition: r 0.3s var(--lg-ease-out); }
.lg-map__hubdot { fill: var(--lg-yellow); }
.lg-map__pulse { fill: none; stroke: var(--lg-yellow); stroke-width: 2; transform-box: fill-box; transform-origin: center; opacity: 0; }
.lg-map__label { font: 600 16px var(--lg-font); fill: var(--lg-white); letter-spacing: -0.01em; transition: opacity 0.3s var(--lg-ease); }
.lg-map__label--hub { font-size: 18px; font-weight: 700; fill: var(--lg-yellow); }
.lg-map.is-focus .lg-map__route:not(.is-active),
.lg-map.is-focus .lg-map__city:not(.is-active),
.lg-map.is-focus .lg-map__label:not(.is-active):not(.lg-map__label--hub) { opacity: 0.2; }
.lg-map.is-focus .lg-map__route.is-active { stroke-width: 4; }

/* Tracé des routes à l'entrée dans l'écran (JS ajoute .is-armed puis .is-drawn) */
.lg-map.is-armed .lg-map__route { stroke-dashoffset: 1; }
.lg-map.is-armed .lg-map__city, .lg-map.is-armed .lg-map__label:not(.lg-map__label--hub) { opacity: 0; }
.lg-map.is-drawn .lg-map__route { stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--lg-ease-out) calc(var(--i, 0) * 180ms), opacity 0.3s var(--lg-ease), stroke-width 0.3s var(--lg-ease); }
.lg-map.is-drawn .lg-map__city, .lg-map.is-drawn .lg-map__label:not(.lg-map__label--hub) { opacity: 1; transition: opacity 0.5s var(--lg-ease) calc(1.1s + var(--i, 0) * 180ms); }
.lg-map.is-drawn .lg-map__pulse { animation: lg-pulse 2.4s var(--lg-ease-out) 1.2s infinite; }
@keyframes lg-pulse { 0% { opacity: 0.9; transform: scale(1); } 100% { opacity: 0; transform: scale(3.2); } }

/* ---------- 10. Devis instantané ---------- */
/* Disposition empilée : titre et arguments, puis l'outil en pleine largeur */
.lg-page .lg-quote-sec__head { flex-direction: column; gap: 22px; }
.lg-page .lg-quote-sec__head .lg-h2 .elementor-heading-title { color: var(--lg-ink); }
.lg-page .lg-quote-sec__panel { min-width: 0; }
.lg-page .lg-checks--inline .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 36px; margin: 0 !important; }
.lg-page .lg-checks--inline .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; inset: auto !important; }
.lg-page .lg-checks--inline .elementor-icon-list-item::after { display: none; }
.lg-page .lg-checks .elementor-icon-list-item { font-size: 16px; font-weight: 560; color: var(--lg-ink); }
.lg-page .lg-checks .elementor-icon-list-items { display: grid; gap: 10px; }
.lg-page .lg-checks .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--lg-blue); }
.lg-page .lg-checks .elementor-icon-list-icon { padding-right: 10px; }

.lg-quote {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
	gap: 8px;
	padding: 8px;
	border-radius: var(--lg-r-lg);
	background: var(--lg-white);
	box-shadow: var(--lg-shadow-float);
}
.lg-quote__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas: "dest goods" "mode speed" "pallets pallets";
	gap: 28px 32px;
	align-content: center;
	padding: clamp(24px, 3vw, 44px);
	margin: 0;
}
.lg-quote__form .lg-field--dest { grid-area: dest; }
.lg-quote__form .lg-seg--goods { grid-area: goods; }
.lg-quote__form .lg-seg--mode { grid-area: mode; }
.lg-quote__form .lg-seg--speed { grid-area: speed; }
.lg-quote__form .lg-field--range { grid-area: pallets; }
.lg-field { display: grid; gap: 8px; }
.lg-field label, .lg-seg__label { font-size: 14px; font-weight: 600; color: var(--lg-ink); }
.lg-select { position: relative; }
.lg-select::after {
	content: ""; position: absolute; right: 18px; top: 50%; width: 9px; height: 9px; margin-top: -7px;
	border-right: 2px solid var(--lg-ink-2); border-bottom: 2px solid var(--lg-ink-2); transform: rotate(45deg); pointer-events: none;
}
.lg-quote select {
	width: 100%; height: 52px; padding: 0 44px 0 16px; border: 1px solid var(--lg-line); border-radius: var(--lg-r-sm);
	background: var(--lg-surface); color: var(--lg-ink); font: 520 16px var(--lg-font); appearance: none; cursor: pointer;
}
.lg-quote select:focus-visible { outline: 2px solid var(--lg-blue); outline-offset: 1px; }
.lg-seg { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.lg-seg__opts { display: flex; gap: 4px; padding: 4px; border-radius: var(--lg-r-pill); background: var(--lg-surface); }
.lg-seg label { position: relative; flex: 1 1 0; min-width: 0; }
.lg-seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.lg-seg label span {
	display: grid; place-items: center; min-height: 40px; padding: 0 10px; border-radius: var(--lg-r-pill);
	color: var(--lg-ink-2); font-size: 14.5px; font-weight: 580; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	transition: background-color 0.15s var(--lg-ease), color 0.15s var(--lg-ease), box-shadow 0.15s var(--lg-ease);
}
.lg-seg input:hover + span { color: var(--lg-ink); }
.lg-seg input:checked + span { background: var(--lg-blue); color: var(--lg-white); box-shadow: 0 4px 12px -4px rgb(3 62 250 / 0.5); }
.lg-seg input:focus-visible + span { outline: 2px solid var(--lg-blue); outline-offset: 2px; }
.lg-field--range label { display: flex; justify-content: space-between; }
.lg-field--range output { font-weight: 700; color: var(--lg-blue); font-variant-numeric: tabular-nums; }
.lg-field--range[hidden] { display: none; }
.lg-quote input[type="range"] { width: 100%; height: 28px; margin: 0; background: none; appearance: none; cursor: pointer; --p: 10%; }
.lg-quote input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--lg-blue) var(--p), var(--lg-surface-2) var(--p)); }
.lg-quote input[type="range"]::-moz-range-track { height: 6px; border-radius: 6px; background: var(--lg-surface-2); }
.lg-quote input[type="range"]::-moz-range-progress { height: 6px; border-radius: 6px; background: var(--lg-blue); }
.lg-quote input[type="range"]::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; margin-top: -10px; border-radius: 50%; background: var(--lg-white); box-shadow: 0 0 0 2px var(--lg-blue), 0 4px 10px rgb(3 62 250 / 0.3); }
.lg-quote input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border: 2px solid var(--lg-blue); border-radius: 50%; background: var(--lg-white); }

.lg-quote__result {
	display: flex; flex-direction: column; gap: 16px;
	padding: clamp(24px, 2.6vw, 36px);
	border-radius: calc(var(--lg-r-lg) - 8px);
	background: var(--lg-night);
	color: var(--lg-white);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.lg-quote__result::before {
	content: ""; position: absolute; right: -60px; bottom: -40px; width: 240px; height: 220px; z-index: -1;
	background: url("../img/chevron.svg") no-repeat center / contain; opacity: 0.08;
}
.lg-quote__label { margin: 0; font-size: 14px; font-weight: 600; color: var(--lg-yellow); }
.lg-quote__route { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 17px; font-weight: 600; font-stretch: var(--lg-wide); letter-spacing: -0.01em; }
.lg-quote__route svg { width: 12px; height: 12px; flex: none; fill: var(--lg-yellow); }
.lg-quote__price { display: grid; gap: 4px; margin: 0; }
.lg-quote__price span { font-size: clamp(30px, 3vw, 42px); font-weight: 680; font-stretch: var(--lg-wide); letter-spacing: -0.03em; line-height: 1.05; }
.lg-quote__price small { font-size: 14px; color: var(--lg-on-dark-2); font-weight: 500; }
.lg-quote__price.is-updating span { animation: lg-tick 0.4s var(--lg-ease-out); }
@keyframes lg-tick { from { opacity: 0.35; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.lg-quote__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 16px 0; border-block: 1px solid var(--lg-on-dark-line); }
.lg-quote__facts dt { font-size: 13px; color: var(--lg-on-dark-2); }
.lg-quote__facts dd { margin: 2px 0 0; font-size: 17px; font-weight: 640; }
.lg-quote__hint { margin: 0; padding: 12px 14px; border-radius: var(--lg-r-sm); background: rgb(255 211 24 / 0.12); color: var(--lg-yellow); font-size: 14px; line-height: 1.4; }
.lg-quote__result .lg-cta { margin-top: auto; background: var(--lg-yellow); color: var(--lg-ink) !important; }
.lg-quote__result .lg-cta:hover { background: var(--lg-yellow-hover); }
.lg-quote__note { margin: 0; font-size: 13px; line-height: 1.4; color: var(--lg-on-dark-2); }

/* ---------- 11. Suivi : étapes et visuel collant ---------- */
.lg-page .lg-track__grid { flex-direction: row; align-items: flex-start; gap: clamp(32px, 6vw, 96px); }
.lg-page .lg-track__visual {
	position: sticky;
	top: calc(var(--lg-header-h) + 32px);
	flex: 1 1 52%;
	aspect-ratio: 4 / 5;
	max-height: calc(100svh - var(--lg-header-h) - 64px);
	border-radius: var(--lg-r-lg);
	background: var(--lg-surface);
	overflow: hidden;
}
.lg-page .lg-track__visual > .elementor-widget-image { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s var(--lg-ease); }
.lg-page .lg-track__visual > .elementor-widget-image:first-child,
.lg-page .lg-track__visual > .elementor-widget-image.is-active { opacity: 1; }
.lg-page .lg-track__visual.has-active > .elementor-widget-image:not(.is-active) { opacity: 0; }
.lg-page .lg-track__visual img { width: 100%; height: 100%; object-fit: cover; }
.lg-page .lg-track__steps { flex: 1 1 48%; flex-direction: column; gap: 0; }
.lg-page .lg-track__steps > .lg-h2 { margin-bottom: clamp(32px, 4vw, 56px); }
.lg-page .lg-step {
	position: relative;
	flex-direction: column;
	gap: 10px;
	min-height: 34svh;
	padding: 4px 0 40px 36px;
	border-left: 2px solid var(--lg-line);
	transition: opacity 0.3s var(--lg-ease);
}
.lg-page .lg-step::after {
	content: ""; position: absolute; left: -9px; top: 6px; width: 16px; height: 16px;
	background: var(--lg-line);
	clip-path: polygon(0 0, 45% 0, 100% 50%, 45% 100%, 0 100%, 55% 50%);
	transition: background-color 0.3s var(--lg-ease);
}
.lg-page .lg-step .lg-h3 .elementor-heading-title { color: var(--lg-ink); transition: color 0.3s var(--lg-ease); }
.lg-page .lg-step .lg-text p { transition: color 0.3s var(--lg-ease); }
/* Étapes inactives atténuées par la couleur (5,2:1), pas par l'opacité : elles restent lisibles */
.lg-page .lg-track__steps.is-live .lg-step:not(.is-active) .lg-h3 .elementor-heading-title,
.lg-page .lg-track__steps.is-live .lg-step:not(.is-active) .lg-text p { color: var(--lg-ink-3); }
.lg-page .lg-track__steps.is-live .lg-step.is-active { border-left-color: var(--lg-blue); }
.lg-page .lg-step.is-active::after { background: var(--lg-blue); }
.lg-page .lg-track__steps .lg-btn { margin-top: 8px; }

/* ---------- 12. Pour qui : onglets natifs ---------- */
.lg-page .lg-audience .e-n-tabs {
	--n-tabs-heading-justify-content: flex-start; --n-tabs-title-gap: 6px; --n-tabs-gap: 40px;
	--n-tabs-title-background-color: transparent; --n-tabs-title-background-color-hover: var(--lg-surface);
	--n-tabs-title-background-color-active: var(--lg-blue);
	--n-tabs-title-color: var(--lg-ink-2); --n-tabs-title-color-hover: var(--lg-ink); --n-tabs-title-color-active: var(--lg-white);
	--n-tabs-title-border-width: 0; --n-tabs-title-padding-top: 12px; --n-tabs-title-padding-bottom: 12px;
	--n-tabs-title-padding-left: 22px; --n-tabs-title-padding-right: 22px; --n-tabs-title-border-radius: 999px;
}
.lg-page .lg-audience .e-n-tabs-heading { display: inline-flex; gap: 6px; padding: 6px; border-radius: var(--lg-r-pill); background: var(--lg-white); width: max-content; max-width: 100%; overflow-x: auto; }
.lg-page .lg-audience .e-n-tab-title {
	border: 0 !important; border-radius: var(--lg-r-pill); padding: 12px 22px; background: transparent;
	font: 600 16px var(--lg-font); color: var(--lg-ink-2); cursor: pointer; transition: background-color 0.2s var(--lg-ease), color 0.2s var(--lg-ease);
}
.lg-page .lg-audience .e-n-tab-title:hover { background: var(--lg-surface); color: var(--lg-ink); }
.lg-page .lg-audience .e-n-tab-title[aria-selected="true"] { background: var(--lg-blue); color: var(--lg-white); }
.lg-page .lg-audience .e-n-tab-title-text { font: inherit; color: inherit; }
.lg-page .lg-audience .e-n-tabs-content > .e-con { padding: 0; border: 0; }
.lg-page .lg-panel { flex-direction: row; align-items: stretch; gap: 20px; }
.lg-page .lg-panel__media { flex: 1 1 55%; min-height: 460px; border-radius: var(--lg-r-lg); overflow: hidden; background: var(--lg-surface-2); position: relative; }
.lg-page .lg-panel__media .elementor-widget-image, .lg-page .lg-panel__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lg-page .lg-panel__body { flex: 1 1 45%; flex-direction: column; justify-content: center; gap: 22px; padding: clamp(28px, 3.4vw, 48px); border-radius: var(--lg-r-lg); background: var(--lg-white); }
.lg-page .lg-panel__body .lg-text p { font-size: 19px; line-height: 1.5; color: var(--lg-ink); }

/* ---------- 13. FAQ : accordéon natif ---------- */
.lg-page .lg-faq__grid { flex-direction: row; align-items: flex-start; gap: clamp(32px, 6vw, 96px); }
.lg-page .lg-faq__intro { flex: 0 1 38%; flex-direction: column; gap: 22px; position: sticky; top: calc(var(--lg-header-h) + 32px); }
.lg-page .lg-faq__list { flex: 1 1 62%; min-width: 0; }
.lg-page .lg-faq .e-n-accordion { gap: 0; }
.lg-page .lg-faq .e-n-accordion-item { border-top: 1px solid var(--lg-line); }
.lg-page .lg-faq .e-n-accordion-item:last-child { border-bottom: 1px solid var(--lg-line); }
.lg-page .lg-faq .e-n-accordion-item-title {
	padding: 24px 0; border: 0 !important; background: none !important; gap: 24px;
	flex-direction: row !important; justify-content: space-between; cursor: pointer; list-style: none;
}
.lg-page .lg-faq .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.lg-page .lg-faq .e-n-accordion-item-title-header { flex: 1; justify-content: flex-start; text-align: left; }
.lg-page .lg-faq .e-n-accordion-item-title-text { font: 620 clamp(18px, 1.5vw, 21px)/1.3 var(--lg-font); letter-spacing: -0.012em; color: var(--lg-ink); }
.lg-page .lg-faq .e-n-accordion-item-title-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--lg-surface); color: var(--lg-blue); }
.lg-page .lg-faq .e-n-accordion-item-title-icon svg { width: 14px; height: 14px; fill: var(--lg-blue); }
.lg-page .lg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--lg-blue); }
.lg-page .lg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { fill: var(--lg-white); }
.lg-page .lg-faq .e-n-accordion-item > .e-con { padding: 0 64px 28px 0; border: 0; }
.lg-page .lg-faq .e-n-accordion-item .lg-text p { max-width: 64ch; }

/* ---------- 14. Appel final ---------- */
.lg-page .lg-cta-sec { overflow: clip; isolation: isolate; }
.lg-page .lg-cta-sec::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.1;
	background: url("../img/trame-chevrons.svg") repeat 0 0 / 88px 80px;
	-webkit-mask-image: linear-gradient(110deg, transparent 30%, #fff 85%);
	mask-image: linear-gradient(110deg, transparent 30%, #fff 85%);
}
.lg-page .lg-cta-sec__grid { flex-direction: row; align-items: center; gap: clamp(32px, 5vw, 80px); }
.lg-page .lg-cta-sec__copy { flex: 1 1 56%; flex-direction: column; gap: 24px; }
.lg-page .lg-cta-sec__copy .lg-h2 .elementor-heading-title { color: var(--lg-white); font-size: clamp(38px, 5.4vw, 80px); line-height: 1; }
.lg-page .lg-cta-sec__visual { flex: 1 1 44%; margin-block: calc(-1 * var(--lg-section)); align-self: stretch; position: relative; min-height: 460px; margin-right: calc(-1 * var(--lg-bleed)); }
.lg-page .lg-cta-sec__visual .elementor-widget-image { position: absolute; inset: 0; }
.lg-page .lg-cta-sec__visual img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }

/* ---------- 15. Pied de page ---------- */
.lg-footer { position: relative; overflow: hidden; background: var(--lg-night); color: var(--lg-on-dark-2); font-size: 15px; isolation: isolate; }
.lg-footer__inner {
	display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 2.4fr); gap: clamp(40px, 6vw, 96px);
	max-width: calc(var(--lg-container) + 2 * var(--lg-gutter)); margin-inline: auto;
	padding: clamp(64px, 8vw, 112px) var(--lg-gutter) 56px;
}
.lg-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.lg-footer__logo svg { height: 34px; width: auto; }
.lg-footer__brand p { margin: 0; max-width: 32ch; line-height: 1.5; color: var(--lg-white); font-size: 17px; }
.lg-footer__contact { display: grid; gap: 4px; font-style: normal; }
.lg-footer__contact a { color: var(--lg-white); text-decoration: none; }
.lg-footer__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.lg-footer__col h2 { margin: 0 0 16px; font: 600 14px var(--lg-font); color: var(--lg-white); letter-spacing: 0; }
.lg-footer__links, .lg-footer__legal { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.lg-footer a { color: var(--lg-on-dark-2); text-decoration: none; transition: color 0.15s var(--lg-ease); }
.lg-footer a:hover { color: var(--lg-white); }
.lg-footer__base {
	display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	max-width: calc(var(--lg-container) + 2 * var(--lg-gutter)); margin-inline: auto;
	padding: 24px var(--lg-gutter) 32px; border-top: 1px solid var(--lg-on-dark-line); font-size: 13px;
}
.lg-footer__base p { margin: 0; }
.lg-footer__legal { display: flex; gap: 24px; }
.lg-footer__mark { position: absolute; right: -4%; bottom: -18%; width: min(46vw, 620px); z-index: -1; opacity: 0.045; pointer-events: none; }
.lg-footer__mark svg { width: 100%; height: auto; }
.lg-footer .lg-footer__credit { color: var(--lg-white); font-weight: 600; }

/* ---------- 15 bis. Avertissement « Projet de démonstration » (une fois par session) ---------- */
.lg-demo {
	position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px;
	background: rgb(11 22 64 / 0.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	opacity: 0; transition: opacity 0.35s var(--lg-ease);
}
.lg-demo[hidden] { display: none; }
.lg-demo.is-on { opacity: 1; }
.lg-demo__card {
	position: relative; isolation: isolate; overflow: hidden auto; width: min(568px, 100%); max-height: calc(100dvh - 32px);
	padding: 40px 36px 30px; border-radius: var(--lg-r-lg); background: var(--lg-white); color: var(--lg-ink);
	box-shadow: var(--lg-shadow-float); font: 420 var(--lg-fs-text)/1.55 var(--lg-font);
	transform: translateY(28px) scale(0.97); transition: transform 0.6s var(--lg-ease-out);
	scrollbar-width: thin; scrollbar-color: rgb(11 22 64 / 0.2) transparent;
}
.lg-demo.is-on .lg-demo__card { transform: none; }
/* Chevron du logo en jaune, coupé par le coin : la seule touche décorative */
.lg-demo__card::before {
	content: ""; position: absolute; z-index: -1; top: -18px; right: -40px; width: 132px; height: 127px;
	background: var(--lg-yellow); -webkit-mask: url("../img/chevron.svg") center / contain no-repeat; mask: url("../img/chevron.svg") center / contain no-repeat;
}
.lg-demo__close {
	position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
	border: 0; border-radius: 50%; background: var(--lg-white); color: var(--lg-blue); cursor: pointer;
	box-shadow: 0 6px 18px -8px rgb(11 22 64 / 0.45); transition: background-color 0.15s var(--lg-ease), color 0.15s var(--lg-ease);
}
.lg-demo__close:hover { background: var(--lg-blue); color: var(--lg-white); }
.lg-demo__head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 22px; padding-right: 64px; }
.lg-demo__logo { display: block; flex: none; }
.lg-demo__logo svg { display: block; width: 138px; height: auto; }
.lg-demo__badge { margin: 0; padding: 7px 12px; border-radius: var(--lg-r-pill); background: #e6ecfe; color: var(--lg-blue); font: 650 13px/1 var(--lg-font); }
.lg-demo__title { margin: 0; font: 680 clamp(28px, 4.6vw, 38px)/1.05 var(--lg-font); font-stretch: var(--lg-wide); letter-spacing: -0.025em; color: var(--lg-ink); text-wrap: balance; }
.lg-demo__sub { margin: 10px 0 0; font: 680 clamp(20px, 3vw, 24px)/1.2 var(--lg-font); font-stretch: var(--lg-wide); letter-spacing: -0.015em; color: var(--lg-blue); }
.lg-demo__sub span { background: linear-gradient(transparent 62%, var(--lg-yellow) 62%, var(--lg-yellow) 92%, transparent 92%); padding: 0 2px; }
.lg-demo__text { margin: 18px 0 0; color: var(--lg-ink-2); }
.lg-demo__text strong { color: var(--lg-ink); font-weight: 650; }
.lg-demo__list { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.lg-demo__list li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.45; color: var(--lg-ink-2); }
.lg-demo__list li::before {
	content: ""; position: absolute; left: 0; top: 0.2em; width: 14px; height: 14px;
	background: var(--lg-blue); -webkit-mask: url("../img/chevron.svg") center / contain no-repeat; mask: url("../img/chevron.svg") center / contain no-repeat;
}
.lg-demo__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.lg-cta--quiet { --lg-puck: var(--lg-blue); --lg-chev: url("../img/chev-blanc.svg"); background: #e6ecfe; color: var(--lg-blue) !important; }
.lg-cta--quiet:hover { background: #d9e2fe; }
.lg-demo__sign { margin: 22px 0 0; font-size: 13px; color: var(--lg-ink-3); }
.lg-demo__sign a { color: var(--lg-blue); font-weight: 650; text-decoration: none; }
.lg-demo__sign a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) {
	.lg-demo__card { padding: 28px 22px 22px; border-radius: 24px; }
	.lg-demo__card::before { width: 104px; height: 100px; top: -14px; right: -34px; }
	.lg-demo__close { top: 12px; right: 12px; width: 40px; height: 40px; }
	.lg-demo__head { margin-bottom: 16px; padding-right: 48px; }
	.lg-demo__logo svg { width: 118px; }
	.lg-demo__actions .lg-cta { width: 100%; justify-content: space-between; }
}
/* Écrans peu hauts : tout tient sans barre de défilement */
@media (max-height: 760px) {
	.lg-demo__card { padding-top: 28px; padding-bottom: 22px; }
	.lg-demo__head { margin-bottom: 14px; }
	.lg-demo__text { margin-top: 12px; font-size: 15px; line-height: 1.5; }
	.lg-demo__list { margin-top: 10px; gap: 6px; }
	.lg-demo__list li { font-size: 14px; }
	.lg-demo__actions { margin-top: 18px; }
	.lg-demo__sign { margin-top: 14px; }
}
@media (max-height: 640px) {
	.lg-demo__list li:nth-child(n + 2), .lg-demo__sign { display: none; }
	.lg-demo__title { font-size: 26px; }
	.lg-demo__sub { margin-top: 6px; font-size: 19px; }
	.lg-demo__text { font-size: 14px; line-height: 1.45; }
	.lg-demo__list li { font-size: 13px; }
	.lg-demo__actions { margin-top: 14px; gap: 8px; }
	.lg-demo .lg-cta { --lg-puck-size: 30px; height: 46px; font-size: 15px; }
}

/* ---------- 16. Apparitions ---------- */
@media (prefers-reduced-motion: no-preference) {
	.lg-js .lg-page .lg-reveal:not(.is-in), .lg-js.lg-page .lg-reveal:not(.is-in) { opacity: 0; transform: translateY(24px); }
	.lg-page .lg-reveal { transition: opacity 0.7s var(--lg-ease-out), transform 0.7s var(--lg-ease-out); transition-delay: calc(var(--d, 0) * 80ms); }
	.lg-page .lg-hero .lg-display, .lg-page .lg-hero .lg-lead, .lg-page .lg-hero .lg-actions, .lg-page .lg-hero__visual { animation: lg-rise 0.9s var(--lg-ease-out) both; }
	.lg-page .lg-hero .lg-lead { animation-delay: 0.08s; }
	.lg-page .lg-hero .lg-actions { animation-delay: 0.16s; }
	.lg-page .lg-hero__visual { animation: lg-drive 1.3s var(--lg-ease-out) 0.1s both; }
}
@keyframes lg-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes lg-drive { from { opacity: 0; transform: translateX(8%); } to { opacity: 1; transform: none; } }
html.is-capture .lg-page .lg-reveal, html.is-capture.lg-js .lg-page .lg-reveal { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
	.lg-page *, .lg-page *::before, .lg-page *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
html:has(body.lg-page) { scroll-behavior: smooth; scroll-padding-top: calc(var(--lg-header-h, 72px) + 16px); }

/* ---------- 17. Tablette (≤ 1024px, point de rupture Elementor) ---------- */
@media (max-width: 1024px) {
	.lg-page .lg-hero__row { flex-direction: column; align-items: stretch; }
	.lg-page .lg-hero__copy { flex: none; }
	.lg-page .lg-hero__visual { margin-top: 0; margin-left: 10%; }
	.lg-page .lg-hero::after { top: auto; height: 46%; width: min(70vw, 520px); }
	.lg-page .lg-head { flex-direction: column; align-items: flex-start; }
	.lg-page .lg-modes .lg-head { align-items: stretch; }
	.lg-page .lg-modes__pick { flex: none; width: 100%; }
	.lg-page .lg-modes__visual { width: 150px !important; top: -96px; right: -6px; }
	.lg-page .lg-modes .lg-head__text .lg-lead p { max-width: min(620px, calc(100% - 180px)); } /* place de la pile de palettes */
	.lg-page .lg-modes__label .elementor-heading-title { max-width: 60%; }
	.lg-page .lg-bento2 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(440px, auto); gap: 20px; }
	.lg-page .lg-bento2 > * { grid-column: span 1 !important; }
	.lg-page .lg-bento2 > :nth-child(5) { grid-column: 1 / -1 !important; order: 6; min-height: 420px; }
	.lg-page .lg-bento2 > :nth-child(6) { grid-column: 1 / -1 !important; } /* évite une case vide sur la 3e ligne */
	.lg-page .lg-corridors__grid, .lg-page .lg-cta-sec__grid, .lg-page .lg-faq__grid { flex-direction: column; align-items: stretch; }
	.lg-quote { grid-template-columns: 1fr; }
	.lg-page .lg-faq__intro { position: static; }
	.lg-page .lg-track__grid { flex-direction: column; align-items: stretch; }
	.lg-page .lg-track__visual { position: relative; top: auto; width: 100%; aspect-ratio: 16 / 10; max-height: none; flex: none; }
	.lg-page .lg-step { min-height: 0; padding-bottom: 32px; }
	.lg-page .lg-panel { flex-direction: column; }
	.lg-page .lg-panel__media { min-height: 320px; }
	/* Elementor impose width: 100% aux conteneurs enfants : la largeur pleine page est donc explicite */
	.lg-page .lg-cta-sec__visual { flex: none; width: calc(100% + 2 * var(--lg-bleed)); max-width: none; margin: 0 calc(-1 * var(--lg-bleed)) calc(-1 * var(--lg-section)); min-height: 340px; }
	.lg-footer__inner { grid-template-columns: 1fr; }
	.lg-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 18. Mobile (≤ 767px) ---------- */
@media (max-width: 767px) {
	body.lg-page { --lg-fs-text: 16px; }
	.lg-page .lg-hero { min-height: 0; }
	.lg-page .lg-hero__visual { margin-left: 4%; }
	.lg-page .lg-hero::after { height: 27%; width: 70vw; }
	.lg-page .lg-actions .lg-btn, .lg-page .lg-actions .lg-btn .elementor-button { width: 100%; }
	.lg-page .lg-bento2 { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.lg-page .lg-bento2 > * { grid-column: 1 / -1 !important; }
	.lg-page .lg-card { padding: 18px 18px 28px; min-height: 420px; }
	.lg-page .lg-floaters .elementor-icon-list-item { font-size: 15px; padding: 10px 16px !important; }
	/* Décalages réduits : les pastilles restent dans la carte sur petit écran */
	.lg-page .lg-floaters .elementor-icon-list-item:nth-child(1) { transform: translateX(-5%); }
	.lg-page .lg-floaters .elementor-icon-list-item:nth-child(2) { transform: translateX(5%); }
	.lg-page .lg-floaters .elementor-icon-list-item:nth-child(3) { transform: none; }
	.lg-quote__form { grid-template-columns: minmax(0, 1fr); grid-template-areas: "dest" "goods" "mode" "pallets" "speed"; gap: 22px; padding: 22px 18px; }
	.lg-seg label span { padding: 0 6px; font-size: 14px; }
	.lg-page .lg-mode { flex-basis: 82vw; height: 500px; }
	.lg-page .lg-modes__visual { display: none; }
	.lg-page .lg-modes .lg-head__text .lg-lead p { max-width: none; }
	.lg-page .lg-modes__label .elementor-heading-title { max-width: none; }
	.lg-page .lg-audience .e-n-tabs-heading { width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.lg-page .lg-audience .e-n-tabs-heading::-webkit-scrollbar { display: none; }
	.lg-page .lg-audience .e-n-tab-title { flex: 1 0 auto; padding: 12px 16px; font-size: 15px; white-space: nowrap; }
	.lg-page .lg-faq .e-n-accordion-item > .e-con { padding-right: 0; }
	.lg-footer__cols { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.lg-footer__base { flex-direction: column; }
}
