/*
Theme Name: Media84
Theme URI: https://www.media84.be
Author: Media84
Author URI: https://www.media84.be
Description: Thème blocs natif de Media84, agence web à Bruxelles. Réglages dans Apparence → Éditeur → Styles ; sections et compositions modifiables dans l'éditeur.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: media84
*/

/*
 * Mise en page fidèle à la maquette (maquettes/accueil-version-q.html).
 * Les blocs restent natifs ; chaque section porte une classe « m84-… » (Avancé → Classes CSS)
 * qui reçoit ici les valeurs exactes de la maquette.
 */

:root {
	--m84-header-h: 92px;
	--m84-ease: cubic-bezier(.76, 0, .24, 1);
	--m84-ease-out: cubic-bezier(.22, .61, .36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
body { -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ Bases */
.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-block: 0; }
main.wp-block-group > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block: 0; }
.wp-block-separator { width: 100% !important; max-width: none !important; border: 0; border-top: 1px solid currentColor; opacity: 1; margin: 0; }
mark.has-inline-color { background: none; }
.is-style-section-noire mark.has-text-3-color { color: var(--wp--preset--color--muted-dark) !important; }

/* Repère de section : le point du logo + un mot */
.is-style-repere { display: flex; align-items: center; gap: 12px; }
.is-style-repere::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.is-style-section-noire .is-style-repere::before { background: var(--wp--preset--color--dot-dark); }
.is-style-section-bleue .is-style-repere::before { background: var(--wp--preset--color--white); }
.is-style-section-noire .has-accent-color { color: var(--wp--preset--color--dot-dark) !important; }

/* Boutons */
.wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; transition: background .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-lien-fleche { font-size: 16px; line-height: 1.55; }
.wp-block-button.is-style-lien-fleche .wp-block-button__link { text-underline-offset: 5px; min-height: 0; }
.wp-block-button.is-style-contour .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.is-style-section-bleue .wp-block-button:not(.is-style-lien-fleche) .wp-block-button__link:hover { filter: brightness(.92); }

/* Liste sans puces */
.is-style-sans-puces { list-style: none; padding-left: 0; }

/* ------------------------------------------------------------ Header (fixe, transparent sur le hero) */
header.wp-block-template-part {
	position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 40;
	transition: transform .5s var(--m84-ease), background .3s, box-shadow .3s;
}
header.wp-block-template-part.is-scrolled {
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
	box-shadow: 0 1px 0 var(--wp--preset--color--line);
}
header.wp-block-template-part.is-hidden { transform: translateY(-100%); }
/* Header sur une section bleue ou noire : logo, menu et icônes en blanc */
header.wp-block-template-part.on-dark { color: #fff; }
header.wp-block-template-part.on-dark.is-scrolled { background: var(--m84-hdr-bg, #121212); box-shadow: none; }
header.on-dark .m84-header .wp-block-site-title a,
header.on-dark .m84-header .wp-block-navigation-item__content,
header.on-dark .m84-header .m84-nav-audit a,
header.on-dark .m84-header .icon-btn,
header.on-dark .m84-header .wp-block-navigation__responsive-container-open { color: #fff !important; }
header.on-dark .m84-nav-cta .wp-block-button__link { background: #fff !important; color: #121212 !important; }
header.on-dark .m84-nav-cta .wp-block-button__link:hover { background: #AFC0FF !important; }
header.on-dark .icon-btn:hover { background: rgba(255, 255, 255, .16); }
.m84-header .wp-block-site-title a, .m84-header .wp-block-navigation-item__content, .m84-nav-audit a, .icon-btn { transition: color .3s, background .2s; }
@media (max-width: 600px) { header.wp-block-template-part { top: 0; } }
.m84-header { height: var(--m84-header-h); display: flex; align-items: center; }
.m84-header > .m84-header-row { width: 100%; }
.m84-header .wp-block-navigation { gap: clamp(22px, 2.6vw, 40px); }
.m84-header .wp-block-navigation .wp-block-navigation-item__content {
	padding: 6px 0; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .3s var(--m84-ease-out);
}
.m84-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.m84-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 1.5px; }
.m84-hdr-right { gap: clamp(24px, 3vw, 44px) !important; }
.m84-hdr-right > * { margin: 0 !important; }
.m84-nav-audit a {
	display: inline-block; font-size: 16px; font-weight: 600; line-height: 1.55; color: var(--wp--preset--color--accent); text-decoration: none; padding: 6px 0;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .3s var(--m84-ease-out);
}
.m84-nav-audit a:hover { background-size: 100% 1.5px; color: var(--wp--preset--color--accent); }
.m84-nav-cta .wp-block-button__link { padding: 10px 20px; min-height: 0; font-size: 15px; line-height: normal; transition: background .25s; }
.m84-nav-cta .wp-block-button__link:hover { background: var(--wp--preset--color--accent); color: #fff; }
.m84-icons { display: flex; align-items: center; gap: clamp(24px, 3vw, 44px); }
.icon-btn { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 0; background: transparent; color: inherit; cursor: pointer; transition: background .2s; padding: 0; }
.icon-btn:hover { background: rgba(127, 127, 127, .14); }
.icon-btn svg { width: 20px; height: 20px; }
.lang { position: relative; }
.lang-menu {
	position: absolute; right: 0; top: calc(100% + 10px); min-width: 190px; padding: 8px; border-radius: 14px;
	background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .35);
	opacity: 0; visibility: hidden; translate: 0 -6px; transition: opacity .2s, translate .25s var(--m84-ease-out), visibility 0s linear .25s; z-index: 60;
}
.lang.open .lang-menu { opacity: 1; visibility: visible; translate: 0 0; transition: opacity .2s, translate .25s var(--m84-ease-out), visibility 0s; }
.lang-menu a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 12px; border-radius: 10px; font-size: 15px; text-decoration: none; color: var(--wp--preset--color--ink); }
.lang-menu a:hover { background: var(--wp--preset--color--section); color: var(--wp--preset--color--ink); }
.lang-menu a small { font-size: 12px; font-weight: 600; color: var(--wp--preset--color--text-3); }
.lang-menu a[aria-current] small { color: var(--wp--preset--color--accent); }
.theme-btn .sun { display: none; }
[data-theme="dark"] .theme-btn .moon { display: none; }
[data-theme="dark"] .theme-btn .sun { display: block; }
@media (max-width: 1100px) { .m84-nav-audit { display: none; } }
@media (max-width: 620px) { .m84-icons { display: none; } .m84-hdr-right { gap: 16px !important; } .m84-nav-cta .wp-block-button__link { padding: 8px 14px; font-size: 14px; } }

/* Menu mobile plein écran (bloc Navigation natif) */
/* Bouton du menu mobile : 3 traits comme la maquette (celui du milieu plus court) */
.m84-header .wp-block-navigation__responsive-container-open { width: 38px; height: 20px; padding: 0; position: relative; }
.m84-header .wp-block-navigation__responsive-container-open svg { display: none; }
.m84-header .wp-block-navigation__responsive-container-open::before,
.m84-header .wp-block-navigation__responsive-container-open::after { content: ""; position: absolute; right: 0; height: 2px; background: currentColor; }
.m84-header .wp-block-navigation__responsive-container-open::before { top: 1px; width: 100%; box-shadow: 0 16px 0 currentColor; }
.m84-header .wp-block-navigation__responsive-container-open::after { top: 9px; width: 62%; transition: width .35s var(--m84-ease-out); }
.m84-header .wp-block-navigation__responsive-container-open:hover::after { width: 100%; }
@media (max-width: 1100px) {
	.m84-header .wp-block-navigation__responsive-container-open { display: flex !important; }
	.m84-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.m84-header-row > .wp-block-navigation { order: 3; }
}
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--white) !important; padding: 28px clamp(20px, 4vw, 56px); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(44px, 10vw, 84px); font-weight: 700; letter-spacing: -.04em; line-height: 1.08; background: none !important; }

/* ------------------------------------------------------------ Hero */
.m84-hero { position: relative; overflow: clip; }
.m84-hero > * { position: relative; z-index: 1; }
.m84-hero > .hero-visual { position: absolute; inset: 0; pointer-events: none; z-index: 0; margin: 0 !important; max-width: none !important; }
.blob { position: absolute; will-change: transform; transition: translate 1.2s var(--m84-ease-out); }
.blob i { display: block; width: 100%; height: 100%; filter: blur(42px); animation: m84-blob 18s ease-in-out infinite alternate, m84-blob-in 1.6s var(--m84-ease-out) both; }
.blob-main { width: min(52vw, 760px); aspect-ratio: 1; right: -11vw; top: calc(var(--m84-header-h) - 10px); }
.blob-main i { border-radius: 43% 57% 62% 38% / 44% 41% 59% 56%; background: radial-gradient(circle at 30% 70%, #7CC8FF 0, rgba(124, 200, 255, 0) 45%), radial-gradient(circle at 75% 35%, #5B4BFF 0, rgba(91, 75, 255, 0) 42%), radial-gradient(circle at 55% 55%, #1F3FBF 0, #2D5BFF 40%, rgba(45, 91, 255, 0) 72%); }
.blob-tail { width: min(56vw, 820px); height: min(20vw, 290px); right: 18vw; top: calc(var(--m84-header-h) + min(38vw, 560px)); rotate: -18deg; opacity: .8; }
.blob-tail i { border-radius: 50%; filter: blur(50px); background: linear-gradient(90deg, rgba(124, 200, 255, 0) 0, #8FD0FF 35%, #3D6BFF 85%); animation-duration: 24s, 1.6s; }
.blob-soft { width: min(34vw, 480px); aspect-ratio: 1; left: -10vw; top: -12vw; opacity: .55; }
.blob-soft i { border-radius: 50%; background: radial-gradient(circle, #9DB4FF 0, rgba(157, 180, 255, 0) 68%); animation-duration: 22s, 1.6s; }
@keyframes m84-blob {
	0% { border-radius: 43% 57% 62% 38% / 44% 41% 59% 56%; rotate: 0deg; scale: 1; }
	50% { border-radius: 58% 42% 40% 60% / 56% 60% 40% 44%; rotate: 12deg; scale: 1.06; }
	100% { border-radius: 38% 62% 55% 45% / 40% 52% 48% 60%; rotate: -8deg; scale: .97; }
}
@keyframes m84-blob-in { from { opacity: 0; scale: .8; } }
.cursor-glow { position: absolute; left: 0; top: 0; width: 520px; height: 520px; margin: -260px 0 0 -260px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(45, 91, 255, .55) 0, rgba(91, 140, 255, .3) 35%, rgba(124, 200, 255, 0) 70%); filter: blur(16px); opacity: 0; transition: opacity .6s; will-change: transform; }
.m84-hero.has-cursor .cursor-glow { opacity: 1; }
@media (max-width: 760px) { .blob-main { width: 100vw; right: -50vw; top: var(--m84-header-h); opacity: .8; } .blob-tail { display: none; } }
.m84-hero-inner { margin-top: 0 !important; }
.m84-hero-inner > * { margin-block: 0 !important; }
.m84-hero .is-style-surtitre { margin-bottom: clamp(24px, 3vw, 40px) !important; }
.m84-hero h1 .ln { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.m84-hero h1 .ln > span { display: inline-block; animation: m84-ln-up 1.1s var(--m84-ease) both; }
.m84-hero h1 .ln:nth-of-type(2) > span { animation-delay: .12s; }
.m84-hero h1 .ln:nth-of-type(3) > span { animation-delay: .24s; }
@keyframes m84-ln-up { from { transform: translateY(105%); } }
.m84-hero-foot { margin-top: calc(clamp(40px, 5vw, 72px) + clamp(36px, 4vw, 56px)) !important; padding-top: 28px; border-top: 1px solid rgba(18, 18, 18, .12); gap: 20px 40px !important; }
.m84-hero-foot > p { max-width: 46ch; margin: 0; }
.m84-hero-foot .wp-block-buttons { gap: 12px 28px; }
.m84-page-hero h1 { font-size: var(--wp--preset--font-size--titre-page); }

/* ------------------------------------------------------------ Titres de section */
.m84-section-head { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 24px 48px !important; margin-top: 0 !important; margin-bottom: clamp(48px, 6vw, 80px) !important; }
.m84-section-head > .wp-block-column { flex-basis: auto !important; }
.m84-section-head .is-style-repere { margin: 0; }
.m84-section-head-main { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.m84-section-head-main > * { margin: 0 !important; }
.has-titre-xl-font-size { line-height: .98 !important; letter-spacing: -.05em !important; }
.has-titre-cta-font-size, .has-titre-page-font-size { line-height: .98 !important; letter-spacing: -.05em !important; }

/* ------------------------------------------------------------ Ce qui a changé */
.m84-change-head { display: flex; flex-direction: column; gap: 28px; margin-bottom: clamp(48px, 6vw, 80px) !important; }
.m84-change-head > * { margin: 0 !important; }
.m84-change-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px !important; margin-block: 0 !important; }
.m84-change-item { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--wp--preset--color--ink); padding-top: 20px; flex-basis: auto !important; }
.m84-change-item > * { margin: 0 !important; }
.m84-change-item > p:last-child { line-height: 1.35; letter-spacing: -.01em; max-width: 24ch; }
.m84-change-link { margin-top: 48px !important; }

/* ------------------------------------------------------------ Promesses */
.m84-pillars { border-bottom: 1px solid var(--wp--preset--color--ink); margin-block: 0 !important; }
.m84-pillars > * { margin: 0 !important; }
.m84-pillar { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1.4fr) 52px; gap: 16px 48px !important; align-items: start !important; padding: 32px 0; border-top: 1px solid var(--wp--preset--color--ink); margin: 0 !important; }
.m84-pillar > .wp-block-column { flex-basis: auto !important; }
.m84-pillar > .wp-block-column > * { margin: 0 !important; }
.m84-pillar-num p { font-size: 15px; font-weight: 600; padding-top: .7em; transition: color .2s; }
.m84-pillar h3 { line-height: 1.05; letter-spacing: -.035em; transition: transform .4s var(--m84-ease-out); }
.m84-pillar h3 a { text-decoration: none; }
.m84-pillar-body { padding-top: 9px; }
.m84-pillar-body p { font-size: 17px; color: var(--wp--preset--color--text-2); max-width: 42ch; }
.m84-pillar-body .wp-block-buttons { gap: 8px; margin-top: 14px !important; }
.wp-block-button.is-style-pastille .wp-block-button__link { min-height: 0; transition: background .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-pastille .wp-block-button__link:hover { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.m84-pillar-arrow { justify-self: end; }
.wp-block-button.is-style-rond .wp-block-button__link { width: 52px; height: 52px; min-height: 0; justify-content: center; transition: background .3s, border-color .3s, color .3s; }
.m84-pillar:hover h3 { transform: translateX(10px); }
.m84-pillar:hover .m84-pillar-num p { color: var(--wp--preset--color--accent); }
.m84-pillar:hover .is-style-rond .wp-block-button__link { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: #fff; }
.m84-stack { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 24px 48px !important; margin-top: clamp(56px, 6vw, 88px) !important; margin-bottom: 0 !important; }
.m84-stack > .wp-block-column { flex-basis: auto !important; }
.m84-stack > .wp-block-column > * { margin: 0 !important; }
.m84-stack-list { font-weight: 700; line-height: 1.142 !important; letter-spacing: -.045em; overflow-wrap: normal; word-break: normal; }
.m84-stack-list mark.has-line-strong-color { font-weight: 300; margin: 0 .3em; }

/* Visuel d'écran au survol d'une promesse (suit la souris) */
.m84-pillar { position: relative; }
.pillar-visual{position:absolute;z-index:5;left:var(--vx,62%);top:50%;width:250px;pointer-events:none;opacity:0;
  transform:translate(28px,-50%) rotate(-4deg) scale(.85);transition:opacity .3s,transform .45s var(--m84-ease-out),left .25s var(--m84-ease-out)}
.m84-pillar:hover .pillar-visual{opacity:1;transform:translate(28px,-50%) rotate(-4deg) scale(1)}
.art-card{height:290px;box-shadow:0 40px 80px -30px rgba(18,18,18,.45)}
.art-card{background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--line-strong);border-radius:16px;height:300px;padding:16px;display:flex;flex-direction:column;gap:10px;overflow:hidden;font-size:13px;line-height:1.35;transition:transform .5s var(--m84-ease-out)}
.ui-muted{color:var(--wp--preset--color--text-3)}
.ui-bar{height:8px;border-radius:4px;background:var(--wp--preset--color--section)}
.ui-pill{align-self:flex-start;border-radius:999px;padding:7px 12px;font-weight:600;font-size:12px}
.ui-blue{background:var(--wp--preset--color--accent);color:#fff}
.ui-browser{padding:0}
.ui-top{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--wp--preset--color--line)}
.ui-top i{width:8px;height:8px;border-radius:50%;background:var(--wp--preset--color--line-strong)}
.ui-url{margin-left:8px;flex:1;background:var(--wp--preset--color--section);border-radius:999px;padding:3px 10px;font-size:11px;color:var(--wp--preset--color--text-3)}
.ui-page{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.ui-page strong{font-size:22px;line-height:1.05;letter-spacing:-.04em}
.ui-img{flex:1;border-radius:10px;background:var(--wp--preset--color--section);position:relative;overflow:hidden}
.ui-img::after{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--wp--preset--color--accent);right:-18%;bottom:-40%}
.ui-search{border:1px solid var(--wp--preset--color--line-strong);border-radius:999px;padding:7px 12px;color:var(--wp--preset--color--text-2)}
.ui-result strong{display:block;font-size:15px;color:var(--wp--preset--color--accent)}
.ui-stars{color:var(--wp--preset--color--ink);letter-spacing:1px}
.ui-map{height:56px;border-radius:10px;background:repeating-linear-gradient(135deg,var(--wp--preset--color--section) 0 10px,#EEECE6 10px 20px);position:relative}
.ui-map::after{content:"";position:absolute;left:46%;top:30%;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--wp--preset--color--accent)}
.ui-ai{margin-top:auto;background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white);border-radius:12px 12px 12px 4px;padding:10px 12px}
.ui-ai span{display:block;font-size:11px;color:var(--wp--preset--color--muted-dark);margin-bottom:2px}
.ui-ai b{color:#AFC0FF;font-weight:600}
.ui-ad-head{display:flex;align-items:center;gap:8px}
.ui-ad-head i{width:26px;height:26px;border-radius:50%;background:var(--wp--preset--color--ink)}
.ui-ad-head small{display:block;color:var(--wp--preset--color--text-3);font-size:11px}
.ui-ad-img{flex:1;border-radius:10px;background:var(--wp--preset--color--accent);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;font-weight:700;font-size:26px;line-height:1;letter-spacing:-.04em}
.ui-ad-img small{font-size:12px;font-weight:500;letter-spacing:0;opacity:.8;margin-top:6px}
.ui-ad-foot{display:flex;justify-content:space-between;align-items:center}
.ui-flow{display:flex;flex-direction:column;gap:0;margin-top:4px}
.ui-step{display:grid;grid-template-columns:22px 1fr;gap:10px;padding-bottom:16px;position:relative}
.ui-step::before{content:"✓";width:22px;height:22px;border-radius:50%;background:var(--wp--preset--color--accent);color:var(--wp--preset--color--white);display:grid;place-items:center;font-size:11px;font-weight:700}
.ui-step:not(:last-child)::after{content:"";position:absolute;left:10.5px;top:24px;bottom:2px;width:1px;background:var(--wp--preset--color--line-strong)}
.ui-step small{display:block;color:var(--wp--preset--color--text-3);font-size:11px}
.ui-step.wait::before{content:"";background:var(--wp--preset--color--white);border:1px dashed var(--wp--preset--color--line-strong)}
.ui-status{display:flex;align-items:center;gap:8px;font-weight:600}
.ui-status i{width:8px;height:8px;border-radius:50%;background:var(--wp--preset--color--accent);box-shadow:0 0 0 4px rgba(31,63,191,.15)}
.ui-big{font-weight:700;font-size:44px;line-height:1;letter-spacing:-.05em;margin-top:6px}
.ui-bars{display:flex;align-items:flex-end;gap:3px;height:54px;margin-top:auto}
.ui-bars i{flex:1;height:100%;border-radius:2px;background:var(--wp--preset--color--accent);opacity:.85}
.ui-bars i:nth-child(9){height:82%;opacity:.5}
.pillar-visual .art-card { display: flex; flex-direction: column; gap: 10px; overflow: hidden; font-size: 13px; line-height: 1.35; }
@media (hover: none), (max-width: 960px) { .pillar-visual { display: none; } }

/* ------------------------------------------------------------ Engagements */
.m84-engage { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px) !important; align-items: start !important; margin-block: 0 !important; }
.m84-engage > .wp-block-column { flex-basis: auto !important; }
.m84-engage-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 28px; }
.m84-engage-side > * { margin: 0 !important; }
.m84-engage-facts { display: flex !important; gap: clamp(28px, 4vw, 56px) !important; margin-top: 12px !important; }
.m84-engage-facts > .wp-block-group { display: flex; flex-direction: column; gap: 8px; }
.m84-engage-facts > .wp-block-group > * { margin: 0 !important; }
.m84-fact { font-weight: 700; font-size: clamp(56px, 6vw, 96px) !important; line-height: .9 !important; letter-spacing: -.055em; }
.m84-fact mark { font-weight: 500; font-size: .32em; letter-spacing: -.01em; margin-left: 10px; }
.m84-fact-label { font-size: 15px !important; max-width: 18ch; }
.m84-engage-list { border-bottom: 1px solid var(--wp--preset--color--line-dark); }
.m84-engage-list > * { margin: 0 !important; }
.m84-engage-row { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 10px 32px; padding: 32px 0; border-top: 1px solid var(--wp--preset--color--line-dark); }
.m84-engage-row > * { margin: 0 !important; }
.m84-engage-row h3 { line-height: 1.15; letter-spacing: -.03em; }
.m84-engage-row p { font-size: 16px; padding-top: 4px; }

/* ------------------------------------------------------------ Audit (section bleue) */
.m84-audit { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px !important; align-items: center !important; margin-block: 0 !important; }
.m84-audit > .wp-block-column { flex-basis: auto !important; }
.m84-audit-text { display: flex; flex-direction: column; gap: 22px; }
.m84-audit-text > * { margin: 0 !important; }
.m84-audit-text > .audit-form { margin-top: 12px !important; }
.m84-audit-text > p:not(.is-style-repere) { max-width: 44ch; opacity: .85; }
.audit-form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.audit-form label { font-size: 14px; opacity: .75; }
.audit-field { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-bottom: 1px solid #fff; padding-bottom: 10px; transition: border-color .2s; }
.audit-form [hidden] { display: none !important; }
.audit-form.is-sent .audit-note { font-size: clamp(20px, 2vw, 26px); letter-spacing: -.01em; opacity: 1; }
.audit-field:focus-within { border-bottom-color: #AFC0FF; }
.audit-field input { flex: 1 1 240px; min-width: 0; border: none; padding: 10px 0; font: 300 clamp(22px, 2.4vw, 32px)/1.2 var(--wp--preset--font-family--hanken); letter-spacing: -.02em; background: transparent; color: #fff; }
.audit-field input::placeholder { color: #fff; opacity: .55; }
.audit-field input:focus { outline: none; }
.audit-field button { display: inline-flex; align-items: center; border-radius: 999px; padding: 14px 24px; min-height: 48px; font: 500 16px/1 var(--wp--preset--font-family--hanken); border: 0; background: #fff; color: #121212; cursor: pointer; }
.audit-field button:hover { filter: brightness(.92); }
.audit-note { font-size: 14px; opacity: .75; }
.report { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line-strong); padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 24px; font-size: 15px; transform: rotate(.6deg); box-shadow: 0 40px 80px -40px rgba(18, 18, 18, .55); margin: 0; }
.report-head { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--wp--preset--color--text-3); padding-bottom: 14px; border-bottom: 1px solid var(--wp--preset--color--line-strong); }
.report-head strong { color: var(--wp--preset--color--ink); font-weight: 500; }
.report-score { display: flex; align-items: baseline; gap: 12px; }
.report-score .n { font-weight: 700; font-size: clamp(72px, 7vw, 104px); line-height: .85; letter-spacing: -.06em; }
.report-score .of { color: var(--wp--preset--color--text-3); }
.report-score .verdict { margin-left: auto; font-size: 17px; color: var(--wp--preset--color--text-2); }
.report-rows { display: flex; flex-direction: column; gap: 12px; }
.report-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr) 3ch; gap: 14px; align-items: center; }
.report-row .bar { height: 2px; background: var(--wp--preset--color--line-strong); position: relative; }
.report-row .bar i { position: absolute; left: 0; top: -1px; height: 4px; background: var(--wp--preset--color--ink); width: var(--w); }
.report-row.low .bar i { background: var(--wp--preset--color--accent); }
.report-row .v { text-align: right; font-weight: 500; }
.report-todo { border-top: 1px solid var(--wp--preset--color--line-strong); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.report-todo .t { color: var(--wp--preset--color--text-3); }
.report-todo ol { display: flex; flex-direction: column; gap: 6px; counter-reset: r; list-style: none; margin: 0; padding: 0; }
.report-todo li { display: flex; gap: 12px; }
.report-todo li::before { counter-increment: r; content: counter(r); font-weight: 600; min-width: 1ch; }
.report-foot { font-size: 13px; color: var(--wp--preset--color--muted-dark); }
.m84-tools { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 12px 48px !important; margin-top: clamp(56px, 6vw, 88px) !important; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .3); }
.m84-tools > * { margin: 0 !important; }
.m84-tools > p:first-child { font-size: 16px; opacity: .8; flex: 1 1 260px; }
.m84-tools-link a { display: inline-flex; align-items: baseline; gap: 10px; text-decoration: none; font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -.035em; color: #fff; }
.m84-tools-link mark { font-size: 14px; font-weight: 500; letter-spacing: 0; opacity: .75; }
.m84-tools-link a::after { content: "→"; font-weight: 400; transition: transform .3s var(--m84-ease-out); }
.m84-tools-link a:hover::after { transform: translateX(5px); }

/* ------------------------------------------------------------ Blog */
.m84-posts .wp-block-post-template { gap: 40px 32px !important; }
.m84-post { display: flex; flex-direction: column; gap: 16px; }
.m84-post > * { margin: 0 !important; }
.m84-cover { aspect-ratio: 4 / 3; padding: 22px !important; display: flex !important; flex-direction: column; justify-content: space-between; overflow: hidden; transition: transform .5s var(--m84-ease-out); background: var(--wp--preset--color--ink); color: #fff; text-decoration: none; }
.m84-cover > * { margin: 0 !important; }
.wp-block-post:nth-child(3n+2) .m84-cover { background: var(--wp--preset--color--accent); color: #fff; }
.wp-block-post:nth-child(3n+3) .m84-cover { background: #DCDAD2; color: #121212; }
.wp-block-post:hover .m84-cover { transform: translateY(-6px); }
.m84-cover-top { display: flex !important; justify-content: space-between; font-size: 14px; }
.m84-cover-top > * { opacity: .7; margin: 0 !important; font-size: 14px; }
.m84-cover-top a { text-decoration: none; color: inherit; pointer-events: none; }
.m84-cover-words { font-weight: 700; font-size: clamp(32px, 3vw, 44px) !important; line-height: 1 !important; letter-spacing: -.045em; }
.m84-cover-words span { display: block; opacity: .6; }
.m84-post-meta { display: flex !important; gap: 4px; font-size: 14px; color: var(--wp--preset--color--text-3); }
.m84-post-meta > * { margin: 0 !important; font-size: 14px !important; }
.m84-post .wp-block-post-title { max-width: 30ch; }
.m84-post .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.m84-post .wp-block-read-more { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--accent); text-decoration: none; display: inline-flex; gap: 8px; }

.m84-post { position: relative; }
.m84-post .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ------------------------------------------------------------ Media84 vous accompagne */
.m84-cta { position: relative; overflow: hidden; }
.m84-cta-inner { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center !important; gap: 40px !important; min-height: clamp(400px, 34vw, 480px); margin-block: 0 !important; }
.m84-cta-inner > .wp-block-column { flex-basis: auto !important; align-self: stretch; }
.m84-cta-text { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 22px; padding-block: 80px; }
.m84-cta-text > * { margin: 0 !important; }
.m84-cta-text .wp-block-site-title { font-size: clamp(45.6px, 4.31vw, 60.8px); color: var(--wp--preset--color--accent); }
.m84-cta-text > p:not(.wp-block-site-title) { max-width: 40ch; }
.m84-cta-text .wp-block-buttons { gap: 12px 24px; margin-top: 6px !important; }
.cta-visual { position: relative; min-height: 340px; height: 100%; }
.cta-shape { position: absolute; right: -6%; bottom: -18%; width: min(520px, 100%); aspect-ratio: 1.1; background: #C9D1F2; border-radius: 58% 42% 46% 54% / 52% 44% 56% 48%; animation: m84-blob 20s ease-in-out infinite alternate; }
.cta-card { position: absolute; right: 16%; top: 22%; width: min(300px, 70%); background: #fff; border-radius: 16px; padding: 20px; box-shadow: 0 30px 60px -30px rgba(31, 63, 191, .45); font-size: 13px; color: var(--wp--preset--color--text-3); rotate: -3deg; }
.cta-card strong { display: block; font-size: 15px; color: var(--wp--preset--color--ink); font-weight: 600; }
.cta-card .n { display: flex; align-items: baseline; gap: 8px; margin: 12px 0 10px; }
.cta-card .n b { font-size: 44px; line-height: 1; font-weight: 700; letter-spacing: -.05em; color: var(--wp--preset--color--ink); }
.cta-card .n em { font-style: normal; padding: 2px 8px; border-radius: 999px; background: #E6EAFA; color: var(--wp--preset--color--accent); font-weight: 600; }
.cta-card .rows { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.cta-card .row { display: grid; grid-template-columns: 90px 1fr 24px; align-items: center; gap: 10px; }
.cta-card .bar { height: 4px; border-radius: 2px; background: var(--wp--preset--color--line); }
.cta-card .bar i { display: block; height: 100%; border-radius: 2px; background: var(--wp--preset--color--ink); }
.cta-card .row.low .bar i { background: var(--wp--preset--color--accent); }

/* ------------------------------------------------------------ Footer */
.m84-footer { padding-top: clamp(88px, 9vw, 128px) !important; padding-bottom: 40px !important; }
.m84-fgrid { display: grid !important; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 56px 48px !important; margin-block: 0 !important; }
.m84-fgrid > .wp-block-column { flex-basis: auto !important; }
.m84-fgrid > .wp-block-column > * { margin: 0 !important; }
.m84-fbrand { display: flex; flex-direction: column; gap: 36px; }
.m84-fbrand .wp-block-site-title { font-size: 45.6px; }
.m84-fbrand > p:not(.wp-block-site-title) { font-size: 17px; line-height: 1.6; max-width: 28ch; }
.m84-fcontact { display: flex !important; flex-direction: column; gap: 6px; font-size: 15px; }
.m84-fcontact > * { margin: 0 !important; color: var(--wp--preset--color--muted-dark); font-size: 15px; }
.m84-fcontact a { color: var(--wp--preset--color--muted-dark) !important; text-decoration: none; }
.m84-fcontact a:hover { color: #fff !important; }
.m84-socials { gap: 14px !important; }
.m84-socials .wp-social-link { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .28); display: grid; place-items: center; color: #fff; transition: background .25s, border-color .25s, translate .25s; }
.m84-socials .wp-social-link a { padding: 0 !important; display: grid; place-items: center; width: 100%; height: 100%; }
.m84-socials .wp-social-link svg { width: 18px; height: 18px; }
.m84-socials .wp-social-link:hover { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); translate: 0 -2px; transform: none; }
.m84-fgrid .m84-fcol h2 { font-size: 20px !important; font-weight: 600; line-height: 1.25; letter-spacing: -.015em; margin-bottom: 32px !important; min-height: 2.5em; }
.m84-fcol ul { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.m84-fcol ul li { margin: 0; }
.m84-fcol a { font-size: 16px; color: var(--wp--preset--color--muted-dark) !important; text-decoration: none; transition: color .2s; }
.m84-fcol a:hover { color: #fff !important; }
.m84-fbottom { margin-top: clamp(80px, 9vw, 120px) !important; gap: 16px 32px !important; align-items: center !important; font-size: 14px; color: var(--wp--preset--color--muted-dark); }
.m84-fbottom > * { margin: 0 !important; font-size: 14px; }
.m84-flegal { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 0 !important; }
.m84-flegal > * { margin: 0 !important; }
.m84-flegal a { text-decoration: none; color: var(--wp--preset--color--muted-dark) !important; }
.m84-flegal a:hover { color: #fff !important; }
.m84-flegal a + a::before { content: "|"; margin: 0 12px; color: var(--wp--preset--color--line-dark); }
.f-lang { appearance: none; -webkit-appearance: none; margin-left: 28px; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center; color: #fff; border: 1px solid var(--wp--preset--color--line-dark); border-radius: 8px; padding: 7px 30px 7px 12px; font: 500 13px var(--wp--preset--font-family--hanken); cursor: pointer; }
.f-lang option { color: #121212; }
.m84-flegal > .f-lang { margin-left: 28px !important; }
.legal-maj { margin-top: 20px !important; }

/* ============================================================ Pages internes (maquettes services, solutions, agence, contact, blog) */
:root{--ink:var(--wp--preset--color--ink);--white:var(--wp--preset--color--white);--section:var(--wp--preset--color--section);--paper:var(--wp--preset--color--paper);
--line:var(--wp--preset--color--line);--line-strong:var(--wp--preset--color--line-strong);--text-2:var(--wp--preset--color--text-2);--text-3:var(--wp--preset--color--text-3);
--muted-dark:var(--wp--preset--color--muted-dark);--text-on-dark:var(--wp--preset--color--on-dark);--line-dark:var(--wp--preset--color--line-dark);--accent:var(--wp--preset--color--accent);
--on-accent:#fff;--dot:var(--wp--preset--color--accent);--dot-dark:var(--wp--preset--color--dot-dark);--font:var(--wp--preset--font-family--hanken);--ease:var(--m84-ease);--ease-out:var(--m84-ease-out);--header-h:var(--m84-header-h)}
.is-style-section-noire{--dot:var(--wp--preset--color--dot-dark)}
/* Colonnes natives utilisées comme grilles de la maquette */
.wp-block-columns.svc-grid,.wp-block-columns.sol-grid,.wp-block-columns.story,.wp-block-columns.contact-wrap,.wp-block-columns.nl-inner,.wp-block-columns.featured{display:grid!important;margin-block:0!important}
.wp-block-columns.svc-grid>.wp-block-column,.wp-block-columns.sol-grid>.wp-block-column,.wp-block-columns.story>.wp-block-column,.wp-block-columns.contact-wrap>.wp-block-column,.wp-block-columns.nl-inner>.wp-block-column,.wp-block-columns.featured>.wp-block-column{flex-basis:auto!important;min-width:0}
.svc-grid>.wp-block-column>*,.sol-grid>.wp-block-column>*,.story-text>*,.contact-side>*,.featured-text>*,.step>*,.why-grid>div>*,.timeline>div>*{margin:0!important}
.steps>*,.why-grid>*,.timeline>*{margin-block-start:0!important}
.wp-block-columns.svc-grid>.wp-block-column>h2{margin:14px 0 18px!important}.wp-block-columns.svc-grid>.wp-block-column>.svc-list{margin-top:36px!important}.wp-block-columns.svc-grid>.wp-block-column>.svc-tags{margin-top:24px!important}.wp-block-columns.svc-grid>.wp-block-column>.svc-actions{margin-top:32px!important}
.sol-grid>.wp-block-column>h2{margin:16px 0 18px!important}.sol-grid>.wp-block-column>.sol-points{margin-top:32px!important}.sol-grid>.wp-block-column>.svc-actions{margin-top:32px!important}.story-text h2{margin-bottom:8px!important}
.timeline h3{margin:12px 0 6px!important}.why-grid h3{margin-bottom:8px!important}.step-title{margin-top:8px!important}
.m84-page-hero .is-style-surtitre{margin-bottom:clamp(24px,3vw,40px)!important}.m84-page-hero .blog-intro{margin-top:clamp(24px,3vw,36px)!important}
.featured-tag{color:#fff!important;align-self:flex-start}
.blog-grid .wp-block-post:nth-child(3n+1) .m84-cover{background:var(--wp--preset--color--accent);color:#fff}.blog-grid .wp-block-post:nth-child(3n+2) .m84-cover{background:var(--wp--preset--color--ink);color:#fff}.blog-grid .wp-block-post:nth-child(3n+3) .m84-cover{background:#DCDAD2;color:#121212}

.steps,.why-grid,.timeline{margin-block:0!important}
.svc,.sol{margin-block:0!important}
/* ===== Pages Services / Solutions / Agence ===== */
.page-hero{padding-top:calc(var(--header-h) + clamp(40px,6vw,96px));padding-bottom:clamp(40px,5vw,72px)}
.page-hero .display-o{font-size:clamp(44px,6vw,96px);max-width:none}
.page-hero .display-o em{display:block}
.subnav{position:sticky;top:0;z-index:30;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subnav{padding-inline:var(--wp--style--root--padding-left) var(--wp--style--root--padding-right)}
.subnav .subnav-links{display:flex;gap:8px;overflow-x:auto;padding-block:14px;scrollbar-width:none;max-width:var(--wp--style--global--wide-size);margin-inline:auto!important}
.subnav .subnav-links::-webkit-scrollbar{display:none}
.subnav a{flex:none;font:500 15px var(--font);padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);text-decoration:none;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.subnav a:hover,.subnav a.on{background:var(--ink);border-color:var(--ink);color:var(--white)}
.svc{padding-block:clamp(72px,9vw,128px);border-bottom:1px solid var(--line);scroll-margin-top:70px}
.svc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px);align-items:start}
.svc-num{font-size:15px;font-weight:600;color:var(--dot)}
.svc-num span{font-weight:400;color:var(--text-3);margin-left:8px}
.svc h2{margin:14px 0 18px;font-weight:700;font-size:clamp(36px,4.4vw,68px);line-height:1;letter-spacing:-.045em}
.svc-lead{font-size:clamp(18px,1.5vw,20px);color:var(--text-2);max-width:48ch}
.svc-list{margin-top:36px;border-bottom:1px solid var(--line-strong)}
.svc-list li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px 28px;padding:20px 0;border-top:1px solid var(--line-strong)}
.svc-list strong{font-size:19px;letter-spacing:-.02em}
.svc-list span{color:var(--text-2);font-size:16px}
.svc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.svc-tags span{padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px}
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:32px}
.svc-visual{position:sticky;top:110px}
.svc-visual .art-card{height:340px;box-shadow:0 40px 80px -40px rgba(18,18,18,.35);rotate:-2deg}
.svc:nth-of-type(even) .svc-visual .art-card{rotate:2deg}
@media (max-width:960px){.svc-grid{grid-template-columns:1fr}.svc-visual{position:static;max-width:380px}}
@media (max-width:620px){.svc-list li{grid-template-columns:1fr}}

.sol{padding-block:clamp(72px,9vw,128px);scroll-margin-top:20px}
.sol-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.sol-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:#E6EAFA;color:var(--accent);font-size:13px;font-weight:600}
.sol h2{margin:16px 0 18px;font-weight:700;font-size:clamp(48px,6vw,96px);line-height:.95;letter-spacing:-.055em}
.sol-points{display:grid;gap:0;margin-top:32px;border-bottom:1px solid var(--line-strong)}
.sol-points li{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line-strong)}

.sol-points strong{display:block;font-size:18px;letter-spacing:-.02em}

.phone{width:min(300px,80%);margin:0 auto;aspect-ratio:9/18;border-radius:40px;background:var(--ink);padding:12px;box-shadow:0 50px 90px -40px rgba(18,18,18,.45);rotate:3deg}
.phone-in{height:100%;border-radius:30px;background:var(--white);display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 18px;text-align:center}
.phone-in .av{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#AFC0FF,var(--accent))}
.phone-in strong{font-size:18px;color:var(--ink)}
.phone-in small{font-size:12px;color:var(--text-3);margin-bottom:8px}
.phone-in span{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line-strong);font-size:13px;font-weight:500;color:var(--ink)}
.phone-in span:first-of-type{background:var(--ink);color:var(--white);border-color:var(--ink)}
.why{background:var(--section)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.why-grid div{border-top:1px solid var(--ink);padding-top:20px}
.why-grid h3{display:block;font-size:22px;letter-spacing:-.025em;margin-bottom:8px}
.why-grid p{color:var(--text-2)}
@media (max-width:860px){.sol-grid,.why-grid{grid-template-columns:1fr}}

.story{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px);align-items:start}
.story-photo-img{margin:0}.story-photo-img img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:24px}
.story-photo{aspect-ratio:4/5;border-radius:24px;background:radial-gradient(circle at 30% 25%,#AFC0FF,var(--accent) 70%);display:grid;place-items:center;color:var(--white);position:relative;overflow:hidden}
.story-photo b{font-size:clamp(80px,10vw,160px);letter-spacing:-.06em}
.story-photo small{position:absolute;bottom:16px;left:16px;right:16px;font-size:13px;opacity:.85}
.story-text{display:flex;flex-direction:column;gap:20px;font-size:clamp(18px,1.5vw,20px);color:var(--text-2);max-width:60ch}
.story-text h2{color:var(--ink);margin-bottom:8px}
.story-text strong{color:var(--ink)}
.draft-note{font-size:14px;padding:12px 16px;border-radius:12px;background:#FFF6D6;color:#5A4A00}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.timeline div{border-top:1px solid var(--ink);padding-top:18px}
.timeline .tl-big{display:block;font-size:clamp(32px,3vw,48px);letter-spacing:-.05em;color:var(--dot);line-height:1}
.timeline h3{display:block;margin:12px 0 6px;font-size:18px}
.timeline p{color:var(--text-2);font-size:15px}
@media (max-width:860px){.story,.timeline{grid-template-columns:1fr}.story-photo,.story-photo-img{max-width:360px}}
[data-theme="dark"] .sol-tag{background:#1D2550;color:#AFC0FF}
[data-theme="dark"] .draft-note{background:#3A3310;color:#F5E7A8}
[data-theme="dark"] .why-grid div,[data-theme="dark"] .timeline div{border-color:var(--line-strong)}

.trend{background:var(--white);border:1px solid var(--line-strong);border-radius:20px;padding:clamp(22px,3vw,32px);box-shadow:0 40px 80px -50px rgba(31,63,191,.45)}
.trend-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--text-3)}
.trend-head strong{color:var(--ink)}
.trend-head .up{color:var(--dot);font-weight:600}
.trend-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end;height:220px;margin:28px 0 18px;border-bottom:1px solid var(--line-strong)}
.trend-bars div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
.trend-bars i{width:100%;border-radius:8px 8px 0 0;background:var(--line-strong)}
.trend-bars div:last-child i{background:var(--accent)}
.trend-bars span{font-size:12px;color:var(--text-3);margin-bottom:-26px}
.trend-foot{display:flex;align-items:baseline;gap:8px;margin-top:30px}
.trend-foot b{font-size:56px;letter-spacing:-.05em;line-height:1}
.trend-foot span{color:var(--text-3)}


/* ===== Page Contact ===== */
/* Formulaire guidé en 3 étapes */
.wz-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.wz-count{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.wz-bars{display:flex;gap:6px}.wz-bars i{width:44px;height:4px;border-radius:2px;background:var(--line);transition:background .4s}.wz-bars i.on{background:var(--accent)}
.wz-step{border:0;margin:0;padding:0;min-width:0;display:none;flex-direction:column;gap:22px}
.wz-step.is-active{display:flex;animation:wz-in .5s var(--ease-out)}
@keyframes wz-in{from{opacity:0;translate:24px 0}}
.wz-title{padding:0;margin-bottom:6px;font-weight:700;font-size:clamp(28px,2.8vw,40px);line-height:1.05;letter-spacing:-.04em}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:20px;border:1px solid var(--line-strong);border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s,translate .25s}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice b{font-size:18px;letter-spacing:-.02em}
.choice span{grid-column:1;font-size:14px;color:var(--text-2)}
.choice i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:var(--accent);opacity:0;transition:opacity .2s,translate .25s}
.choice:hover{border-color:var(--ink);translate:0 -2px}.choice:hover i{opacity:1;translate:4px 0}
.choice:has(input:checked){border-color:var(--accent);background:#E6EAFA}
.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.wz-chosen{font-size:15px;color:var(--text-2)}
.wz-link{background:none;border:0;padding:0;font:500 15px var(--font);color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.wz-hint{padding:14px 16px;border-radius:12px;background:#E6EAFA;font-size:15px}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:4px}
.wz-error{color:#B3261E;font-size:14px}
@media (max-width:560px){.choices{grid-template-columns:1fr}}

.contact-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start;padding-bottom:clamp(72px,9vw,120px)}
.contact-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:28px;padding-top:8px}
.c-label{display:block;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.c-big{font-weight:700;font-size:clamp(24px,2.4vw,36px);letter-spacing:-.03em;line-height:1.1;text-decoration:none;white-space:nowrap}
.c-big:hover{color:var(--accent)}
.c-mid{font-size:18px}
.contact-side .socials a{color:var(--ink)}
.c-shortcuts{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.c-short{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}
.c-short b{font-size:17px}.c-short span{grid-column:1;color:var(--text-2);font-size:15px}
.c-short i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:22px;color:var(--accent);transition:transform .3s var(--ease-out)}
.c-short:hover{color:var(--ink)}.c-short:hover i{transform:translateX(6px)}
.contact-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,4vw,48px);box-shadow:0 40px 80px -60px rgba(18,18,18,.35)}
.contact-form{display:flex;flex-direction:column;gap:22px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text-2);cursor:pointer}
.consent input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px}
.contact-done{display:none;flex-direction:column;gap:12px;padding:40px 0}
.contact-done strong{font-size:clamp(32px,3vw,44px);letter-spacing:-.04em}
.contact-card.sent form,.contact-card.sent .wz-progress{display:none}.contact-card.sent .contact-done{display:flex}
.faq{border-bottom:1px solid var(--line-strong)}
.faq details{border-top:1px solid var(--line-strong)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font-weight:600;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.pm{position:relative;flex:none;width:18px;height:18px}
.pm::before,.pm::after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;background:currentColor;transition:rotate .3s var(--ease-out)}
.pm::after{rotate:90deg}
.faq details[open] .pm::after{rotate:0deg}
.faq details p{padding:0 0 26px;max-width:62ch;color:var(--text-2);font-size:17px}
@media (max-width:960px){.contact-wrap{grid-template-columns:1fr}.contact-side{position:static}}
@media (max-width:420px){.c-big{white-space:normal}}

/* Bouton Contact du header, visible sur toutes les pages */
.nav-cta{display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:var(--ink);color:var(--white);font:500 15px var(--font);text-decoration:none;transition:background .25s}
.nav-cta:hover,.nav-cta.is-current{background:var(--accent);color:var(--white)}
@media (max-width:520px){.nav-cta{padding:8px 14px;font-size:14px}.site-header .hdr-right{gap:16px}.site-header #menu-open.menu-btn{font-size:0;gap:0}}

/* ===== Langue (globe) + mode sombre ===== */
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:0;background:transparent;color:inherit;cursor:pointer;transition:background .2s}
.icon-btn:hover{background:rgba(127,127,127,.14)}
.icon-btn svg{width:20px;height:20px}
.lang{position:relative}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(0,0,0,.35);
  opacity:0;visibility:hidden;translate:0 -6px;transition:opacity .2s,translate .25s var(--ease-out),visibility 0s linear .25s;z-index:60}
.lang.open .lang-menu{opacity:1;visibility:visible;translate:0 0;transition:opacity .2s,translate .25s var(--ease-out),visibility 0s}
.lang-menu a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-radius:10px;font-size:15px;text-decoration:none;color:var(--ink)}
.lang-menu a:hover{background:var(--section)}
.lang-menu a small{font-size:12px;font-weight:600;color:var(--text-3)}
.lang-menu a[aria-current] small{color:var(--dot)}
.theme-btn .moon{display:block}.theme-btn .sun{display:none}
[data-theme="dark"] .theme-btn .moon{display:none}[data-theme="dark"] .theme-btn .sun{display:block}
.menu-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-top:24px;border-top:1px solid var(--line-dark)}
.menu-prefs a{color:var(--muted-dark);text-decoration:none;font-size:16px}
.menu-prefs a[aria-current]{color:var(--white);font-weight:600}
.menu-prefs .theme-btn{margin-left:auto;color:var(--white);border:1px solid var(--line-dark)}
@media (max-width:620px){.site-header .lang,.site-header .theme-btn{display:none}}

/* Mode sombre : on inverse les couleurs de base, les sections déjà sombres gardent les leurs */
[data-theme="dark"]{--ink:#F2F0EB;--white:#0E0E10;--section:#17171A;--paper:#1B1B1E;--line:#2A2A2E;--line-strong:#36363B;--text-2:#B9B7B1;--text-3:#8E8C85;--dot:#7D95FF;color-scheme:dark}
[data-theme="dark"] body{background:var(--white);color:var(--ink)}
[data-theme="dark"] .bg-dark,[data-theme="dark"] .site-footer,[data-theme="dark"] .menu{--ink:#0E0E10;--white:#F2F0EB;background:#18181B;color:#F2F0EB}
[data-theme="dark"] .site-header-wrap.is-scrolled{background:rgba(14,14,16,.86);box-shadow:0 1px 0 var(--line)}
[data-theme="dark"] .cta-band,[data-theme="dark"] .newsletter{background:#121831}
[data-theme="dark"] .cta-shape{background:#1D2550}
[data-theme="dark"] .cta-text .logo,[data-theme="dark"] .cta-title{color:#AFC0FF}
[data-theme="dark"] .cta-card{background:#1B1B1E}
[data-theme="dark"] .cover-light{background:#2A2A2E}
[data-theme="dark"] .cover-dark{background:#1F1F23;color:#F2F0EB}
[data-theme="dark"] .choice:has(input:checked),[data-theme="dark"] .wz-hint,[data-theme="dark"] .featured-tag{background:#1D2550}
[data-theme="dark"] .chip.is-on{color:#0E0E10}
[data-theme="dark"] .nav-cta{background:#F2F0EB;color:#0E0E10}
[data-theme="dark"] .nav-cta:hover,[data-theme="dark"] .nav-cta.is-current{background:var(--accent);color:#fff}
[data-theme="dark"] .hero-o-foot,[data-theme="dark"] .doors3{border-color:var(--line)}
[data-theme="dark"] .report{background:#1B1B1E;color:#F2F0EB}
[data-theme="dark"] .contact-card{box-shadow:none}
[data-theme="dark"] .stack-list{color:#4A4946}
[data-theme="dark"] .stack-list .key{color:var(--ink)}


/* ===== Page Blog ===== */
.nav-line a.is-current{background-size:100% 1.5px}
.blog-hero{padding-top:calc(var(--header-h) + clamp(40px,6vw,96px));padding-bottom:clamp(32px,4vw,56px)}
.display-o.blog-title{max-width:none;font-size:clamp(44px,6vw,96px)}
.blog-title em{display:block}
.wp-block-query-title.m84-dot-end::after{content:".";color:var(--wp--preset--color--accent)}
.blog-intro p{margin:0}
.blog-intro{max-width:52ch;font-size:clamp(18px,1.5vw,20px);color:var(--text-2);margin-top:clamp(24px,3vw,36px)}
.blog-filters{display:flex;flex-wrap:wrap;gap:8px;padding-block:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chip{font:500 15px var(--font);padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--ink)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--white)}
.featured-wrap{padding-top:clamp(40px,5vw,64px)}
.featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;text-decoration:none}
.featured-cover{aspect-ratio:16/10}
.featured-cover .words{font-size:clamp(44px,5vw,76px)}
.featured-text{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.featured-tag{font-size:13px;font-weight:600;color:var(--white);background:var(--accent);padding:4px 12px;border-radius:999px}
.featured-title{font-weight:700;font-size:clamp(30px,3.2vw,48px);line-height:1.05;letter-spacing:-.04em}
.featured-text p{color:var(--text-2);font-size:17px;max-width:46ch}
.featured:hover{color:var(--ink)}
.featured:hover .featured-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.featured:hover .featured-cover{transform:translateY(-6px)}
.section-sm{padding-block:clamp(56px,7vw,96px)}
.post-excerpt{font-size:15px;color:var(--text-2);max-width:40ch}
.post[hidden],.featured-wrap[hidden]{display:none}
.blog-empty{padding:40px 0;color:var(--text-3)}
.blog-more{display:flex;justify-content:center;margin-top:clamp(40px,5vw,64px)}
.newsletter{background:#E6EAFA;padding-block:clamp(72px,9vw,120px)}
.nl-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end}
.nl-inner .h2{margin:22px 0 14px;max-width:16ch}
.nl-form{display:flex;flex-direction:column;gap:10px}
@media (max-width:860px){.featured,.nl-inner{grid-template-columns:1fr}}

/* Bouton Contact du header, visible sur toutes les pages */
.nav-cta{display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:var(--ink);color:var(--white);font:500 15px var(--font);text-decoration:none;transition:background .25s}
.nav-cta:hover,.nav-cta.is-current{background:var(--accent);color:var(--white)}
@media (max-width:520px){.nav-cta{padding:8px 14px;font-size:14px}.site-header .hdr-right{gap:16px}.site-header #menu-open.menu-btn{font-size:0;gap:0}}

/* ===== Langue (globe) + mode sombre ===== */
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:0;background:transparent;color:inherit;cursor:pointer;transition:background .2s}
.icon-btn:hover{background:rgba(127,127,127,.14)}
.icon-btn svg{width:20px;height:20px}
.lang{position:relative}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(0,0,0,.35);
  opacity:0;visibility:hidden;translate:0 -6px;transition:opacity .2s,translate .25s var(--ease-out),visibility 0s linear .25s;z-index:60}
.lang.open .lang-menu{opacity:1;visibility:visible;translate:0 0;transition:opacity .2s,translate .25s var(--ease-out),visibility 0s}
.lang-menu a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-radius:10px;font-size:15px;text-decoration:none;color:var(--ink)}
.lang-menu a:hover{background:var(--section)}
.lang-menu a small{font-size:12px;font-weight:600;color:var(--text-3)}
.lang-menu a[aria-current] small{color:var(--dot)}
.theme-btn .moon{display:block}.theme-btn .sun{display:none}
[data-theme="dark"] .theme-btn .moon{display:none}[data-theme="dark"] .theme-btn .sun{display:block}
.menu-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-top:24px;border-top:1px solid var(--line-dark)}
.menu-prefs a{color:var(--muted-dark);text-decoration:none;font-size:16px}
.menu-prefs a[aria-current]{color:var(--white);font-weight:600}
.menu-prefs .theme-btn{margin-left:auto;color:var(--white);border:1px solid var(--line-dark)}
@media (max-width:620px){.site-header .lang,.site-header .theme-btn{display:none}}

/* Mode sombre : on inverse les couleurs de base, les sections déjà sombres gardent les leurs */
[data-theme="dark"]{--ink:#F2F0EB;--white:#0E0E10;--section:#17171A;--paper:#1B1B1E;--line:#2A2A2E;--line-strong:#36363B;--text-2:#B9B7B1;--text-3:#8E8C85;--dot:#7D95FF;color-scheme:dark}
[data-theme="dark"] body{background:var(--white);color:var(--ink)}
[data-theme="dark"] .bg-dark,[data-theme="dark"] .site-footer,[data-theme="dark"] .menu{--ink:#0E0E10;--white:#F2F0EB;background:#18181B;color:#F2F0EB}
[data-theme="dark"] .site-header-wrap.is-scrolled{background:rgba(14,14,16,.86);box-shadow:0 1px 0 var(--line)}
[data-theme="dark"] .cta-band,[data-theme="dark"] .newsletter{background:#121831}
[data-theme="dark"] .cta-shape{background:#1D2550}
[data-theme="dark"] .cta-text .logo,[data-theme="dark"] .cta-title{color:#AFC0FF}
[data-theme="dark"] .cta-card{background:#1B1B1E}
[data-theme="dark"] .cover-light{background:#2A2A2E}
[data-theme="dark"] .cover-dark{background:#1F1F23;color:#F2F0EB}
[data-theme="dark"] .choice:has(input:checked),[data-theme="dark"] .wz-hint,[data-theme="dark"] .featured-tag{background:#1D2550}
[data-theme="dark"] .chip.is-on{color:#0E0E10}
[data-theme="dark"] .nav-cta{background:#F2F0EB;color:#0E0E10}
[data-theme="dark"] .nav-cta:hover,[data-theme="dark"] .nav-cta.is-current{background:var(--accent);color:#fff}
[data-theme="dark"] .hero-o-foot,[data-theme="dark"] .doors3{border-color:var(--line)}
[data-theme="dark"] .report{background:#1B1B1E;color:#F2F0EB}
[data-theme="dark"] .contact-card{box-shadow:none}
[data-theme="dark"] .stack-list{color:#4A4946}
[data-theme="dark"] .stack-list .key{color:var(--ink)}


/* Éléments communs repris de la maquette */
.link{font-size:16px;font-weight:500;text-underline-offset:5px;display:inline-flex;gap:8px;align-items:center}
.link .arr{transition:transform .25s var(--ease-out)}
.link:hover .arr{transform:translateX(4px)}
.btn{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:14px 24px;font:500 16px/1 var(--font);text-decoration:none;cursor:pointer;border:1px solid transparent;min-height:48px;transition:background .2s,color .2s,border-color .2s}
.btn-dark{background:var(--ink);color:var(--white)}
.btn-dark:hover{background:#333;color:var(--white)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);color:var(--white)}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.btn-accent:hover{filter:brightness(.92);color:var(--on-accent)}
.btn-light{background:var(--white);color:var(--ink)}
.btn-light:hover{color:var(--ink);background:var(--section)}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cm-field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-3)}
.cm-field input,.cm-field textarea{font:400 17px/1.4 var(--font);color:var(--ink);border:0;border-bottom:1px solid var(--line-strong);padding:8px 0;background:transparent;resize:vertical}
.cm-field input:focus,.cm-field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.cm-needs{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.cm-needs label{cursor:pointer}
.cm-needs input{position:absolute;opacity:0;pointer-events:none}
.cm-needs span{display:inline-block;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.cm-needs input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--white)}
.cm-needs input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;counter-reset:s}
.step{display:flex;flex-direction:column;gap:14px;border-top:1px solid #4A4944;padding-top:22px}
.step-num{font-weight:700;font-size:clamp(56px,5vw,80px);line-height:.9;letter-spacing:-.05em;color:var(--white)}
.step-num::after{content:".";color:var(--dot-dark)}
.step-title{font-size:23px;letter-spacing:-.02em;margin-top:8px}
.step p:not(.step-num):not(.step-title){font-size:16px;color:var(--text-on-dark);max-width:30ch}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
@media (max-width:820px){.cm-row{grid-template-columns:1fr}}
/* Points numérotés des solutions (liste native) */
.sol-points{counter-reset:n;list-style:none;padding-left:0}
.sol-points li{align-items:baseline}
.sol-points li::before{counter-increment:n;content:counter(n,decimal-leading-zero);grid-row:span 2;font-size:22px;font-weight:700;color:var(--dot);letter-spacing:-.03em}
.sol-points strong{grid-column:2;display:block;font-size:18px;letter-spacing:-.02em}
.sol-points span{grid-column:2;color:var(--text-2);font-size:15px}
.svc-list{list-style:none;padding-left:0}
.svc-tags span{display:inline-block;margin:0 8px 8px 0}


/* Compléments des pages internes */
.faq details{padding:0}
.faq summary{list-style:none}
.faq summary::after{content:"+";font-weight:300;font-size:28px;line-height:1;transition:rotate .3s var(--m84-ease-out)}
.faq details[open] summary::after{rotate:45deg}
.faq details > p{margin:0!important}
.c-shortcut{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0!important;font-size:15px;color:var(--text-2)}
.c-shortcut a{text-decoration:none;color:inherit;display:block}
.c-shortcut strong{font-size:17px;color:var(--ink)}
.c-shortcut a:hover strong{color:var(--accent)}
.contact-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:28px}
.c-label{margin-bottom:8px!important}
.c-big a{text-decoration:none}
.wizard input,.wizard textarea{font-family:inherit}
/* Blog : à la une et grille */
.featured-wrap .wp-block-post-template,.featured-wrap li{margin:0;padding:0;list-style:none}
.featured-cover{aspect-ratio:16/10!important}
.featured-cover .m84-cover-words{font-size:clamp(44px,5vw,76px)!important}
.featured-text .wp-block-post-title{font-size:clamp(30px,3.2vw,48px);font-weight:700;line-height:1.05;letter-spacing:-.04em}
.featured-text .wp-block-post-excerpt{color:var(--text-2);font-size:17px;max-width:46ch}
.featured-text .wp-block-post-excerpt__excerpt{margin:0}
.featured-text .wp-block-read-more{font-size:15px;font-weight:600;color:var(--accent);text-decoration:none}
.featured-text{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.blog-grid .post-excerpt{font-size:15px;color:var(--text-2);max-width:40ch}
.blog-grid .post-excerpt p{margin:0}
.blog-grid .wp-block-post[hidden],.featured-wrap[hidden]{display:none}
.nl-field{border-bottom-color:var(--ink)!important}
.nl-field input{color:var(--ink)!important}
.nl-field input::placeholder{color:var(--muted-dark)!important;opacity:1!important}
.nl-field button{background:var(--ink)!important;color:var(--white)!important}
.nl-form label,.nl-form .audit-note{color:var(--text-3);opacity:1}
/* Article */
.article-head .wp-block-post-title{max-width:20ch;margin-bottom:24px!important}
.article-cover{aspect-ratio:21/9!important;padding:clamp(22px,3vw,40px)!important}
.article-cover .m84-cover-words{font-size:clamp(48px,7vw,112px)!important}
.m84-article{font-size:19px;line-height:1.7}
.m84-article > *{margin-block:0 0}
.m84-article > * + *{margin-top:1.1em!important}
.m84-article h2{font-size:clamp(28px,3vw,40px);line-height:1.1;margin-top:2em!important}
.m84-article h3{font-size:clamp(22px,2.2vw,28px);margin-top:1.6em!important}
.m84-article ul,.m84-article ol{padding-left:1.2em}
.m84-article li + li{margin-top:.4em}
.m84-article a{text-underline-offset:4px;color:var(--accent)}
.m84-article blockquote{border-left:3px solid var(--accent);margin-left:0;padding:4px 0 4px 24px;font-size:22px;line-height:1.45;letter-spacing:-.01em}
.m84-article blockquote p{margin:0}
.m84-article .is-style-encadre,.m84-article .wp-block-group.is-style-section-bleu-clair{padding:24px 28px;border-radius:16px}
.author-box{border-top:1px solid var(--line);margin-top:clamp(48px,6vw,72px)!important;padding-top:28px;display:flex;flex-direction:column;gap:20px}
.author-box > *{margin:0!important}
.author-box p{color:var(--text-2);font-size:17px}
@media (max-width:860px){.contact-side{position:static}.steps-3{grid-template-columns:1fr!important}.article-cover{aspect-ratio:4/3!important}}

/* ------------------------------------------------------------ Apparitions au défilement */
.js .m84-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--m84-ease-out), transform .9s var(--m84-ease-out); }
.js .m84-reveal.in { opacity: 1; transform: none; }

/* ------------------------------------------------------------ Mobile */
@media (max-width: 960px) {
	.m84-pillar { grid-template-columns: minmax(0, 1fr) 52px; }
	.m84-pillar-num, .m84-pillar-body { grid-column: 1 / -1; }
	.m84-pillar-arrow { grid-row: 2; grid-column: 2; }
	.m84-audit, .m84-engage { grid-template-columns: 1fr; }
	.m84-engage-side { position: static; }
	.m84-fgrid { grid-template-columns: 1fr 1fr; }
	.m84-fbrand { grid-column: 1 / -1; }
	.report { transform: none; }
}
@media (max-width: 860px) {
	.m84-section-head, .m84-stack, .m84-change-list, .m84-cta-inner { grid-template-columns: 1fr; }
	.m84-cta-text { padding-bottom: 0; }
	.cta-visual { min-height: 280px; }
	.cta-card { right: auto; left: 8%; }
}
@media (max-width: 760px) {
	.m84-fgrid .m84-fcol h2 { min-height: 0; margin-bottom: 18px !important; }
	.m84-fcol ul { gap: 12px; }
}
@media (max-width: 620px) { .m84-engage-row { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .m84-hero { padding-top: calc(var(--m84-header-h) + 24px) !important; } }
@media (max-width: 520px) {
	.m84-fgrid { gap: 40px 24px !important; }
	.m84-fgrid > .wp-block-column:nth-child(2) { grid-column: 1 / -1; }
	.m84-flegal > .f-lang { margin-left: 0 !important; }
}

/* ------------------------------------------------------------ Mode sombre (bouton lune) */
html[data-theme="dark"], html[data-theme="dark"] body {
	--wp--preset--color--ink: #F2F0EB; --wp--preset--color--white: #0E0E10; --wp--preset--color--section: #17171A; --wp--preset--color--paper: #1B1B1E;
	--wp--preset--color--line: #2A2A2E; --wp--preset--color--line-strong: #36363B; --wp--preset--color--text-2: #B9B7B1; --wp--preset--color--text-3: #8E8C85;
	--wp--preset--color--accent-soft: #121831; color-scheme: dark;
}
html[data-theme="dark"] body { background: #0E0E10; color: #F2F0EB; }
html[data-theme="dark"] .is-style-section-noire { --wp--preset--color--ink: #0E0E10; --wp--preset--color--white: #F2F0EB; background: #18181B !important; color: #F2F0EB; }
html[data-theme="dark"] header.wp-block-template-part.is-scrolled { background: rgba(14, 14, 16, .86); }
html[data-theme="dark"] .m84-hero-foot { border-color: var(--wp--preset--color--line); }
html[data-theme="dark"] .m84-stack-list { color: #4A4946 !important; }
html[data-theme="dark"] .wp-block-post:nth-child(3n+1) .m84-cover { background: #1F1F23; }
html[data-theme="dark"] .wp-block-post:nth-child(3n+3) .m84-cover { background: #2A2A2E; color: #F2F0EB; }
html[data-theme="dark"] .report { background: #1B1B1E; color: #F2F0EB; }
html[data-theme="dark"] .cta-shape { background: #1D2550; }
html[data-theme="dark"] .cta-card { background: #1B1B1E; }
html[data-theme="dark"] .m84-cta-text .wp-block-site-title, html[data-theme="dark"] .m84-cta .has-accent-color { color: #AFC0FF !important; }
html[data-theme="dark"] .m84-nav-cta .wp-block-button__link { background: #F2F0EB; color: #0E0E10; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.js .m84-reveal { opacity: 1; transform: none; }
}

.m84-heart{color:#F0452B;font-size:1.15em;line-height:1;margin:0 2px;display:inline-block;transition:transform .3s}
.m84-fbottom p:hover .m84-heart{transform:scale(1.25)}

/* WordPress force « align-items: normal » sur les colonnes : on remet l'alignement de la maquette */
.wp-block-columns.sol-grid,.wp-block-columns.featured{align-items:center!important}
.wp-block-columns.nl-inner{align-items:end!important}
.wp-block-columns.svc-grid,.wp-block-columns.story,.wp-block-columns.contact-wrap{align-items:start!important}
.sol-points li{row-gap:0!important}
.sol-points span{display:block}
.timeline + .wp-block-group{margin-top:32px!important}
.timeline + .wp-block-group .draft-note{display:inline-block}
.m84-section-head-main > p{max-width:38ch;font-size:17px}

.article-head .wp-block-post-title{font-weight:700;line-height:.98;letter-spacing:-.05em}

/* Couverture : la photo de l'article s'affiche si elle existe, sinon le gabarit Media84 */
.m84-cover{position:relative}
.m84-cover > .m84-cover-img{position:absolute!important;inset:0;margin:0!important;z-index:0;overflow:hidden}
.m84-cover > .m84-cover-img img{width:100%;height:100%;object-fit:cover;display:block}
.m84-cover > .m84-cover-top,.m84-cover > .m84-cover-words{position:relative;z-index:1}
.m84-cover:has(> .m84-cover-img) .m84-cover-words,.m84-cover:has(> .m84-cover-img) .m84-cover-top > p{visibility:hidden}
.m84-cover:has(> .m84-cover-img) .m84-cover-top .wp-block-post-terms{opacity:1!important;background:rgba(18,18,18,.72);color:#fff;padding:5px 10px;border-radius:999px;font-size:12px;backdrop-filter:blur(6px)}

/* Encadré d’appel en fin d’article */
.m84-article .m84-article-cta{margin-top:2.4em!important;padding:24px 28px;border-radius:16px;background:var(--wp--preset--color--accent-soft);font-size:17px;line-height:1.6}
.m84-article .m84-article-cta a{color:var(--wp--preset--color--accent)}
/* CTA de fin d'article en blocs (JoyWriter, mode « Blocs natifs ») : titre, texte, bouton */
.m84-article .wp-block-group.m84-article-cta > *{margin:0!important}
.m84-article .wp-block-group.m84-article-cta > * + *{margin-top:6px!important}
.m84-article .wp-block-group.m84-article-cta > .wp-block-buttons{margin-top:18px!important}
.m84-article .wp-block-group.m84-article-cta .wp-block-button__link{color:#fff}
html[data-theme="dark"] .m84-article .wp-block-group.m84-article-cta .wp-block-button__link{color:var(--wp--preset--color--ink)}
.m84-article .faq{margin-top:1.2em!important}
