/* =====================================================================
MATCHDAY — direction artistique 2026 (couche finale, chargée en dernier)
   Encre + vert pelouse + volt. Titres Barlow Condensed 800 capitales, corps Inter. Motifs : lignes de terrain à la craie, numéros géants, blocs de stats façon tableau d'affichage.
   Retirer cette couche = supprimer une ligne dans header.php.
   ===================================================================== */

:root {
    --mp-ink: #0b0f0d;
    --mp-ink-2: #151b18;
    --mp-pitch: #0f3d2b;
    --mp-pitch-2: #14513a;
    --mp-volt: #d8ff3c;
    --mp-volt-2: #c6f01f;
    --mp-chalk: #f4f2ec;
    --mp-paper: #ffffff;
    --mp-line: #e2ded3;
    --mp-muted: #5b635d;
    --mp-on-dark-muted: #a9b3ad;

    /* Jetons historiques remappés : tout le site suit sans réécriture */
    --green: var(--mp-pitch);
    --green-dark: #0a2a1e;
    --green-light: var(--mp-pitch-2);
    --yellow: var(--mp-volt);
    --yellow-dark: var(--mp-volt-2);
    --black: var(--mp-ink);
    --gray-800: #141816;
    --radius-sm: 2px;
    --radius-md: 3px;
    --radius-lg: 4px;
    --radius-xl: 6px;
    --display: MPDisplay, 'Arial Narrow', Impact, sans-serif;

    --mp-chalk-lines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800' fill='none' stroke='%23ffffff' stroke-opacity='.075' stroke-width='2'%3E%3Crect x='40' y='40' width='1120' height='720'/%3E%3Cline x1='600' y1='40' x2='600' y2='760'/%3E%3Ccircle cx='600' cy='400' r='110'/%3E%3Ccircle cx='600' cy='400' r='4' fill='%23ffffff' fill-opacity='.2'/%3E%3Crect x='40' y='220' width='170' height='360'/%3E%3Crect x='40' y='320' width='60' height='160'/%3E%3Crect x='990' y='220' width='170' height='360'/%3E%3Crect x='1100' y='320' width='60' height='160'/%3E%3Cpath d='M210 330a90 90 0 0 1 0 140M990 330a90 90 0 0 0 0 140'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body { background: var(--mp-paper); color: #141816; }
::selection { background: var(--mp-volt); color: var(--mp-ink); }
h1, h2 {
    font-family: var(--display);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -.01em;
    line-height: .95;
    color: inherit;
}
h3 { letter-spacing: -.01em; }
a:focus-visible, button:focus-visible, .btn:focus-visible, summary:focus-visible {
    outline: 3px solid var(--mp-volt);
    outline-offset: 3px;
    box-shadow: 0 0 0 6px var(--mp-ink);
}

/* ---------- Eyebrows & titres de section ---------- */
.sport-eyebrow, .index-page .sport-eyebrow, .section-eyebrow, .mp-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font: 700 11px/1.2 Inter, system-ui, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mp-muted);
    background: none;
    padding: 0;
    border-radius: 0;
}
.sport-eyebrow::before, .index-page .sport-eyebrow::before, .section-eyebrow::before {
    content: '';
    width: 22px;
    height: 3px;
    background: var(--mp-volt);
    box-shadow: 0 0 0 1px rgba(11, 15, 13, .08);
    flex: none;
}
.section-title, .mp-section-heading h2 {
    font-family: var(--display);
    font-weight: 800;
    text-transform: uppercase;
    font-size: clamp(38px, 4.6vw, 66px);
    line-height: .93;
    letter-spacing: -.01em;
    color: var(--mp-ink);
}
.section-title span, .mp-section-heading h2 span { color: var(--mp-pitch-2); }
.section-desc { color: var(--mp-muted); }

/* ---------- Boutons ---------- */
.btn {
    border-radius: 2px;
    font: 700 13px/1 Inter, system-ui, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-lg { min-height: 56px; padding: 18px 28px; }
.btn-primary {
    background: var(--mp-ink);
    border-color: var(--mp-ink);
    color: #fff;
}
.btn-primary:hover {
    background: var(--mp-volt);
    border-color: var(--mp-volt);
    color: var(--mp-ink);
}
.btn-yellow, .btn-volt {
    background: var(--mp-volt);
    border-color: var(--mp-volt);
    color: var(--mp-ink);
}
.btn-yellow:hover, .btn-volt:hover {
    background: var(--mp-ink);
    border-color: var(--mp-ink);
    color: var(--mp-volt);
}
.btn-outline {
    background: transparent;
    color: var(--mp-ink);
    border: 2px solid var(--mp-ink);
}
.btn-outline:hover { background: var(--mp-ink); color: #fff; }
.mp-text-link, .campaign-secondary, .index-page .campaign-secondary {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
    text-decoration-color: var(--mp-volt);
}

/* ---------- Topbar & header ---------- */
.topbar {
    background: var(--mp-ink);
    color: #e9ece9;
    font: 600 11px/1.4 Inter, system-ui, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 9px 0;
}
.topbar a { color: var(--mp-volt); }
.site-header {
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid var(--mp-line);
    backdrop-filter: saturate(1.4) blur(8px);
}
.nav-link { font-weight: 600; font-size: 13px; color: var(--mp-ink); }
.nav-link:hover { color: var(--mp-pitch-2); }
.header-actions .btn { font-size: 12px; min-height: 42px; }
.mega-cta-box { background: var(--mp-ink); border-radius: 2px; }
.logo-text { color: var(--mp-ink); font-weight: 800; letter-spacing: -.02em; }

/* ---------- Hero home ---------- */
.campaign, .index-page .campaign {
    background:
        var(--mp-chalk-lines) center / cover no-repeat,
        radial-gradient(90% 70% at 72% 40%, rgba(216, 255, 60, .10), transparent 60%),
        linear-gradient(160deg, var(--mp-pitch) 0%, #0b2a1e 55%, var(--mp-ink) 100%);
    color: #fff;
    min-height: 0;
    height: auto;
    max-height: none;
    padding: 0;
    overflow: hidden;
    position: relative;
    isolation: isolate;
}
.campaign::after, .index-page .campaign::after {
    content: '10';
    position: absolute;
    right: -2vw;
    bottom: -9vw;
    z-index: -1;
    font: 800 clamp(260px, 38vw, 560px)/.8 var(--display);
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, .06);
    pointer-events: none;
}
.campaign-grid, .index-page .campaign-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 56px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 80px;
}
.campaign-content, .index-page .campaign-content { padding: 0; }
.campaign .sport-eyebrow, .index-page .campaign .sport-eyebrow { color: var(--mp-on-dark-muted); }
.campaign .sport-eyebrow::before, .index-page .campaign .sport-eyebrow::before { box-shadow: none; }
.campaign h1, .index-page .campaign h1 {
    font: 800 clamp(58px, 7.4vw, 118px)/.86 var(--display);
    letter-spacing: -.015em;
    text-transform: uppercase;
    color: #fff;
    margin: 22px 0 24px;
    max-width: 12ch;
}
.campaign h1 em, .index-page .campaign h1 em { font-style: normal; color: var(--mp-volt); }
.campaign p, .index-page .campaign p { color: #d3dbd6; font-size: 17px; line-height: 1.65; max-width: 46ch; }
.campaign-actions, .index-page .campaign-actions { gap: 24px; margin: 30px 0 28px; }
.campaign .btn-primary, .index-page .campaign .btn-primary {
    background: var(--mp-volt);
    border-color: var(--mp-volt);
    color: var(--mp-ink);
    box-shadow: 0 10px 30px -10px rgba(216, 255, 60, .55);
}
.campaign .btn-primary:hover, .index-page .campaign .btn-primary:hover { background: #fff; border-color: #fff; color: var(--mp-ink); }
.campaign-secondary, .index-page .campaign-secondary { color: #fff; font-size: 14px; }
.campaign-meta, .index-page .campaign-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font: 600 12px/1 Inter, system-ui, sans-serif;
    letter-spacing: .02em;
    color: #e9ece9;
}
.campaign-meta span, .index-page .campaign-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .04);
    border-radius: 2px;
}
.campaign-meta span::before, .index-page .campaign-meta span::before { content: '✓'; color: var(--mp-volt); font-weight: 800; }

/* Carte studio 3D posée sur la pelouse */
.home-showcase, .index-page .home-showcase {
    background: var(--mp-chalk);
    border-radius: 4px;
    border: 0;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .06);
    color: var(--mp-ink);
}
.showcase-watermark, .index-page .showcase-watermark { font-family: var(--display); text-transform: uppercase; }
.showcase-tag, .index-page .showcase-tag { background: var(--mp-ink); color: var(--mp-volt); border-radius: 2px; }

/* ---------- Ticker volt animé ---------- */
.sport-ticker, .index-page .sport-ticker {
    background: var(--mp-volt);
    color: var(--mp-ink);
    font: 800 24px/1 var(--display);
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: 16px 0;
    justify-content: center;
    gap: 22px;
    border-top: 1px solid rgba(11, 15, 13, .1);
    border-bottom: 1px solid rgba(11, 15, 13, .1);
}
.sport-ticker a, .index-page .sport-ticker a { color: inherit; text-decoration: none; }
.sport-ticker a:hover, .index-page .sport-ticker a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Bandeau data (nouveau) ---------- */
.mp-data-band, .index-page .mp-data-band {
    background: var(--mp-ink);
    color: #fff;
    padding: 84px 0;
    position: relative;
    overflow: hidden;
}
.mp-data-band::before, .index-page .mp-data-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--mp-chalk-lines) center / cover no-repeat;
    opacity: .7;
    pointer-events: none;
}
.mp-data-band .container, .index-page .mp-data-band .container { position: relative; }
.mp-data-head, .index-page .mp-data-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; flex-wrap: wrap; margin-bottom: 40px; }
.mp-data-head h2, .index-page .mp-data-head h2 { font-size: clamp(38px, 4.6vw, 66px); line-height: .93; margin: 14px 0 0; max-width: 16ch; }
.mp-data-head h2 em, .index-page .mp-data-head h2 em { font-style: normal; color: var(--mp-volt); }
.mp-data-head p, .index-page .mp-data-head p { color: var(--mp-on-dark-muted); max-width: 42ch; font-size: 15px; line-height: 1.7; margin: 0; }
.mp-data-band .sport-eyebrow, .index-page .mp-data-band .sport-eyebrow { color: var(--mp-on-dark-muted); }
.mp-data-band .sport-eyebrow::before, .index-page .mp-data-band .sport-eyebrow::before { box-shadow: none; }
.mp-scoreboard, .index-page .mp-scoreboard {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .1);
}
.mp-score, .index-page .mp-score {
    background: var(--mp-ink-2);
    padding: 28px 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 190px;
}
.mp-score-value, .index-page .mp-score-value {
    font: 800 clamp(40px, 4.4vw, 60px)/1 Inter, system-ui, sans-serif;
    letter-spacing: -.04em;
    color: #fff;
}
.mp-score-value small, .index-page .mp-score-value small { font-size: .45em; letter-spacing: -.01em; color: var(--mp-on-dark-muted); margin-left: 4px; }
.mp-score-label, .index-page .mp-score-label { font-size: 14px; line-height: 1.5; color: #d3dbd6; }
.mp-score-label strong, .index-page .mp-score-label strong { color: #fff; }
.mp-score-tag, .index-page .mp-score-tag {
    margin-top: auto;
    align-self: flex-start;
    font: 700 10px/1 Inter, system-ui, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mp-ink);
    background: var(--mp-volt);
    padding: 6px 8px;
}
.mp-score--lead, .index-page .mp-score--lead { background: var(--mp-pitch); }
.mp-data-foot, .index-page .mp-data-foot { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; margin-top: 26px; }
.mp-data-foot small, .index-page .mp-data-foot small { color: var(--mp-on-dark-muted); font-size: 12px; }
.mp-data-band .mp-text-link, .index-page .mp-data-band .mp-text-link { color: #fff; }

/* ---------- Sections home ---------- */
.mp-inspirations, .index-page .mp-inspirations { background: var(--mp-paper); padding: 96px 0 84px; }
.mp-design-card, .index-page .mp-design-card { border-radius: 0; }
.mp-design-image, .index-page .mp-design-image { border-radius: 2px; background: var(--mp-chalk); }
.mp-design-image > span, .index-page .mp-design-image > span {
    background: var(--mp-ink);
    color: var(--mp-volt);
    border-radius: 2px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 11px;
}
.sport-manifesto, .index-page .sport-manifesto { padding: 72px 25px 64px; background: var(--mp-chalk); }
.sport-manifesto h2, .index-page .sport-manifesto h2 { font: 800 clamp(48px, 7vw, 110px)/.88 var(--display); text-transform: uppercase; color: var(--mp-ink); }
.sport-manifesto h2 span, .index-page .sport-manifesto h2 span { color: var(--mp-pitch-2); }
.sport-manifesto p, .index-page .sport-manifesto p { color: var(--mp-muted); font-size: 16px; }
.sport-audiences, .index-page .sport-audiences { padding-top: 84px; background: transparent; }
.sport-audience, .index-page .sport-audience { border-radius: 2px; }
.sport-audience h3, .index-page .sport-audience h3 { font: 800 clamp(36px, 3.4vw, 48px)/.92 var(--display); text-transform: uppercase; }
.sport-audience p, .index-page .sport-audience p { font-size: 13px; color: #e2e7e4; }
.sport-circle, .index-page .sport-circle { background: var(--mp-volt) !important; color: var(--mp-ink) !important; border-color: var(--mp-volt) !important; }
.sport-studio-promo, .index-page .sport-studio-promo {
    background: var(--mp-chalk-lines) center / cover no-repeat, var(--mp-ink);
    color: #fff;
}
.sport-studio-promo h2, .index-page .sport-studio-promo h2 { font: 800 clamp(52px, 6.4vw, 96px)/.88 var(--display); text-transform: uppercase; }
.sport-studio-promo h2 em, .index-page .sport-studio-promo h2 em { font-style: normal; color: var(--mp-volt); }
.sport-studio-promo p, .index-page .sport-studio-promo p { color: var(--mp-on-dark-muted); font-size: 15px; }
.sport-studio-promo .sport-eyebrow, .index-page .sport-studio-promo .sport-eyebrow { color: var(--mp-on-dark-muted); }
.sport-studio-promo .sport-eyebrow::before, .index-page .sport-studio-promo .sport-eyebrow::before { box-shadow: none; }
.sport-process li, .index-page .sport-process li { border-bottom-color: rgba(255, 255, 255, .12); }
.sport-process li > span, .index-page .sport-process li > span { color: var(--mp-volt); font: 800 46px/1 var(--display); }
.sport-process h3, .index-page .sport-process h3 { color: #fff; font-size: 18px; }
.sport-process p, .index-page .sport-process p { color: var(--mp-on-dark-muted); font-size: 14px; line-height: 1.7; }
.sport-guide-grid article, .index-page .sport-guide-grid article { border-top: 3px solid var(--mp-ink); }
.sport-guide-grid h3, .index-page .sport-guide-grid h3 { font-size: 22px; }
.sport-guide-grid p, .index-page .sport-guide-grid p { font-size: 15px; color: var(--mp-muted); }
.sport-faq, .index-page .sport-faq { background: var(--mp-chalk); }
.sport-faq h2, .index-page .sport-faq h2 { font: 800 clamp(48px, 5.6vw, 80px)/.9 var(--display); text-transform: uppercase; }
.sport-faq summary, .index-page .sport-faq summary { font-size: 16px; }
.sport-faq details p, .index-page .sport-faq details p { font-size: 15px; }
.sport-faq details[open] summary > span, .index-page .sport-faq details[open] summary > span { color: var(--mp-pitch-2); }
.sport-last-call, .index-page .sport-last-call {
    background: var(--mp-chalk-lines) center / cover no-repeat, linear-gradient(160deg, var(--mp-pitch), var(--mp-ink));
    color: #fff;
    max-width: none;
    padding: 110px 24px 120px;
}
.sport-last-call h2, .index-page .sport-last-call h2 { font: 800 clamp(72px, 12vw, 190px)/.82 var(--display); text-transform: uppercase; letter-spacing: -.02em; color: #fff; }
.sport-last-call h2 em, .index-page .sport-last-call h2 em { font-style: normal; color: var(--mp-volt); }
.sport-last-call .sport-eyebrow, .index-page .sport-last-call .sport-eyebrow { color: var(--mp-on-dark-muted); }
.sport-last-call .sport-eyebrow::before, .index-page .sport-last-call .sport-eyebrow::before { box-shadow: none; }
.sport-last-call .btn-primary, .index-page .sport-last-call .btn-primary { background: var(--mp-volt); border-color: var(--mp-volt); color: var(--mp-ink); }
.sport-last-call .btn-primary:hover, .index-page .sport-last-call .btn-primary:hover { background: #fff; border-color: #fff; }
.sport-last-call p, .index-page .sport-last-call p { color: var(--mp-on-dark-muted); font-size: 13px; letter-spacing: .04em; }
.matchday h2, .index-page .matchday h2 { text-transform: uppercase; }
.matchday h2 em, .index-page .matchday h2 em { font-style: normal; color: var(--mp-pitch-2); }

/* ---------- Pages intérieures : hero ---------- */
.page-hero {
    background:
        var(--mp-chalk-lines) center / cover no-repeat,
        linear-gradient(160deg, var(--mp-pitch) 0%, #0b2a1e 60%, var(--mp-ink) 100%) !important;
    color: #fff;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
.page-hero h1 {
    font: 800 clamp(46px, 6vw, 92px)/.9 var(--display);
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: #fff;
}
.page-hero .hero-highlight, .page-hero h1 span { color: var(--mp-volt); }
.page-hero p, .page-hero .hero-sub { color: #d3dbd6; }
.page-hero .breadcrumb, .page-hero .breadcrumb a { color: var(--mp-on-dark-muted); }
.page-hero .btn-primary, .page-hero .btn-yellow {
    background: var(--mp-volt);
    border-color: var(--mp-volt);
    color: var(--mp-ink);
}
.page-hero .btn-primary:hover, .page-hero .btn-yellow:hover { background: #fff; border-color: #fff; color: var(--mp-ink); }
.page-hero .btn-outline { color: #fff; border-color: rgba(255, 255, 255, .55); }
.page-hero .btn-outline:hover { background: #fff; color: var(--mp-ink); border-color: #fff; }

/* ---------- Cartes & blocs génériques ---------- */
.feature-card, .segment-card, .pillar-card, .blog-card, .seo-blog-link-card, .option-card, .path-card {
    border-radius: 2px;
    border: 1px solid var(--mp-line);
    box-shadow: none;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.feature-card:hover, .segment-card:hover, .pillar-card:hover, .blog-card:hover, .seo-blog-link-card:hover {
    border-color: var(--mp-ink);
    transform: translateY(-3px);
    box-shadow: 6px 6px 0 var(--mp-volt);
}
.content-section.alt { background: var(--mp-chalk); }
.internal-link-grid a { border-radius: 2px; }
.internal-link-grid a:hover { border-color: var(--mp-ink); box-shadow: 4px 4px 0 var(--mp-volt); }

/* ---------- CTA bannière, sticky mobile, footer ---------- */
.cta-banner { background: var(--mp-chalk-lines) center / cover no-repeat, var(--mp-ink); }
.cta-banner h2 { color: #fff; }
.mobile-sticky-cta {
    background: var(--mp-volt);
    color: var(--mp-ink);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-radius: 2px;
}
.site-footer-main, .site-footer { background: var(--mp-ink); }
.footer-col-title { color: var(--mp-volt); opacity: .9; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
.campaign-grid, .index-page .campaign-grid { grid-template-columns: 1fr; gap: 36px; padding-top: 48px; padding-bottom: 56px; }
.campaign h1, .index-page .campaign h1 { font-size: clamp(54px, 14vw, 88px); max-width: none; }
.campaign p, .index-page .campaign p { font-size: 16px; }
.mp-scoreboard, .index-page .mp-scoreboard { grid-template-columns: repeat(2, 1fr); }
.sport-ticker, .index-page .sport-ticker { font-size: 18px; justify-content: flex-start; padding: 14px 18px; }
}
@media (max-width: 560px) {
.mp-scoreboard, .index-page .mp-scoreboard { grid-template-columns: 1fr; }
.mp-score, .index-page .mp-score { min-height: 0; }
.mp-data-band, .index-page .mp-data-band { padding: 60px 0; }
.sport-last-call, .index-page .sport-last-call { padding: 72px 20px 84px; }
.campaign-meta span, .index-page .campaign-meta span { font-size: 11px; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
.btn, .feature-card, .segment-card, .pillar-card, .blog-card { transition: none; }
.btn:hover, .feature-card:hover, .segment-card:hover, .pillar-card:hover, .blog-card:hover { transform: none; }
}

/* ---------- Correctifs de spécificité (home) ---------- */
.index-page .campaign .sport-eyebrow::before, .index-page .campaign .sport-eyebrow:before,
.index-page .mp-data-band .sport-eyebrow::before {
    width: 22px; height: 3px; background: var(--mp-volt);
}
.index-page .campaign h1 { max-width: 11ch; font-size: clamp(60px, 8.2vw, 128px); }
.index-page .campaign-actions .btn { border-radius: 2px; }
.logo-icon.mp-monogram {
    background: var(--mp-ink); color: var(--mp-volt);
    width: 46px; height: 46px; justify-content: center; border-radius: 2px;
    font-size: 26px; letter-spacing: -1px;
}
.mp-monogram > span { font-size: 16px; line-height: 1.2; color: #fff; }
.site-footer-main .logo-icon.mp-monogram { background: var(--mp-volt); color: var(--mp-ink) !important; }
.site-footer-main .mp-monogram > span { color: var(--mp-ink); }

/* ---------- Une seule voix typographique pour les titres ---------- */
h1 em, h2 em, h1 span, h2 span, .section-title em {
    font-family: var(--display) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}
h2 em { color: var(--mp-pitch-2); }
.mp-data-band h2 em, .sport-studio-promo h2 em, .sport-last-call h2 em, .campaign h1 em,
.page-hero h1 em, .page-hero h1 span { color: var(--mp-volt); }
.mp-explainer h2, .mp-techniques h2, .expert-guide h2, .matchday-intro h2, .index-page .matchday-intro h2 {
    font: 800 clamp(38px, 4.4vw, 62px)/.93 var(--display);
    text-transform: uppercase;
    letter-spacing: -.01em;
    color: var(--mp-ink);
}
.expert-guide h2 { font-size: clamp(32px, 3.4vw, 46px); }

/* ---------- Bloc baromètre des pages départements ---------- */
.mp-dept-baro { padding: 72px 0; background: #fbfaf6; border-top: 1px solid var(--mp-line); border-bottom: 1px solid var(--mp-line); }
.mp-dept-baro-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; flex-wrap: wrap; margin-bottom: 32px; }
.mp-dept-baro-head h2 { font-size: clamp(38px, 4.4vw, 62px); line-height: .93; margin: 14px 0 0; color: var(--mp-ink); }
.mp-dept-baro-head h2 span { color: var(--mp-pitch-2); }
.mp-dept-baro-head p { max-width: 50ch; color: var(--mp-muted); font-size: 16px; line-height: 1.7; margin: 0; }
.mp-dept-baro-head p strong { color: var(--mp-ink); }
.mp-dept-baro-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; }
.mp-dept-baro-compare { display: grid; gap: 16px; background: #fff; border: 1px solid var(--mp-line); padding: 26px; }
.mp-dept-baro-compare > div { display: grid; grid-template-columns: minmax(90px, 150px) 1fr 56px; gap: 14px; align-items: center; font-weight: 600; color: var(--mp-ink); }
.mp-dept-baro-compare .t { height: 22px; background: #eeebe3; position: relative; }
.mp-dept-baro-compare .t i { position: absolute; inset: 0 auto 0 0; background: var(--mp-pitch); border-radius: 0 4px 4px 0; }
.mp-dept-baro-compare .is-muted .t i { background: #9aa39c; }
.mp-dept-baro-compare strong { text-align: right; font-variant-numeric: tabular-nums; }
.mp-dept-baro-compare small { color: var(--mp-muted); font-size: 12px; }
.mp-dept-baro-stats { margin: 0; display: grid; gap: 2px; background: var(--mp-line); border: 1px solid var(--mp-line); }
.mp-dept-baro-stats > div { background: #fff; padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: baseline; }
.mp-dept-baro-stats dt { font-size: 14px; color: var(--mp-muted); font-weight: 600; }
.mp-dept-baro-stats dd { margin: 0; font: 800 28px/1 Inter, system-ui, sans-serif; letter-spacing: -.03em; color: var(--mp-ink); grid-row: span 2; align-self: center; }
.mp-dept-baro-stats small { font-size: 12px; color: var(--mp-muted); }
.mp-dept-baro-foot { margin-top: 22px; display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.mp-dept-baro-foot small { color: var(--mp-muted); font-size: 12px; }
@media (max-width: 860px) { .mp-dept-baro-grid { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Blocs GEO : l'essentiel, tableaux, FAQ ---------- */
.mp-essentiel {
    border: 2px solid var(--mp-ink); background: #fff; padding: 26px 28px 20px; margin: 0 0 36px;
    box-shadow: 8px 8px 0 var(--mp-volt); max-width: 880px;
}
.mp-essentiel-title { font: 800 26px/1 var(--display); text-transform: uppercase; color: var(--mp-ink); margin: 0 0 14px; }
.mp-essentiel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mp-essentiel li { font-size: 15px; line-height: 1.6; color: #2a302c; padding-left: 22px; position: relative; }
.mp-essentiel li::before { content: ''; position: absolute; left: 0; top: .6em; width: 10px; height: 10px; background: var(--mp-volt); box-shadow: 0 0 0 1px rgba(11,15,13,.25); }
.mp-essentiel li strong { color: var(--mp-ink); }
.mp-essentiel-maj { margin: 14px 0 0; font-size: 12px; color: var(--mp-muted); }
.mp-table-wrap { margin: 0 0 28px; overflow-x: auto; }
.mp-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; border: 1px solid var(--mp-line); }
.mp-table caption { caption-side: top; text-align: left; font: 800 22px/1.1 var(--display); text-transform: uppercase; color: var(--mp-ink); padding: 0 0 12px; }
.mp-table thead th { background: var(--mp-ink); color: #fff; text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 12px 14px; }
.mp-table tbody th, .mp-table td { padding: 12px 14px; border-bottom: 1px solid #efece4; text-align: left; vertical-align: top; line-height: 1.5; color: #2a302c; }
.mp-table tbody th { font-weight: 700; color: var(--mp-ink); white-space: nowrap; }
.mp-table tbody tr:hover { background: #f8f6f0; }
.mp-table-wrap figcaption { font-size: 12px; color: var(--mp-muted); margin-top: 10px; line-height: 1.6; }
.mp-faq details { border-bottom: 1px solid var(--mp-line); padding: 18px 0; }
.mp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; font-size: 16px; font-weight: 700; color: var(--mp-ink); }
.mp-faq summary::-webkit-details-marker { display: none; }
.mp-faq summary span { font-size: 22px; line-height: 1; transition: transform .2s ease; }
.mp-faq details[open] summary span { transform: rotate(45deg); }
.mp-faq-a { margin-top: 12px; font-size: 15px; line-height: 1.75; color: #3b423d; }
.mp-faq-a a { color: var(--mp-ink); text-decoration-color: var(--mp-volt); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mp-geo-section { padding: 72px 0; }
.mp-geo-section.alt { background: var(--mp-chalk); }
.mp-geo-section h2 { font-size: clamp(34px, 4vw, 56px); line-height: .95; margin: 12px 0 26px; color: var(--mp-ink); }
.mp-geo-section h2 span { color: var(--mp-pitch-2); }
@media (max-width: 700px) { .mp-essentiel { padding: 20px; box-shadow: 5px 5px 0 var(--mp-volt); } .mp-table { font-size: 13px; } .mp-table tbody th { white-space: normal; } }
