/*
Theme Name: SebCoaching Child
Theme URI: https://sebcoaching.fr
Description: Thème enfant SebCoaching basé sur Twenty Twenty-Five. Injecte le design system SebCoaching (palette 60/30/10, typographie Montserrat + Inter, composants emblème, boutons, badges, cartes d'offre, etc.).
Author: Sébastian Orlowski
Author URI: https://sebcoaching.fr
Template: twentytwentyfive
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sebcoaching-child
*/

/* ─────────────────────────────────────────────────────────────
   SebCoaching — Charte graphique
   Palette 60/30/10 + type scale + composants
   ───────────────────────────────────────────────────────────── */

:root {
  /* Palette — un seul bleu (ink unifié sur navy depuis le 25/05/2026) */
  --navy: #1B3A6B;
  --ink: #1B3A6B;
  --cream: #F6F3EE;
  --cream-2: #EDE7DC;
  --coral: #EC6E4B;
  --coral-deep: #C7522F;
  --slate: #5C6B7A;
  --white: #FFFFFF;
  --hairline: rgba(19, 36, 59, 0.15);
  --hairline-strong: rgba(19, 36, 59, 0.35);
  --hairline-on-navy: rgba(246, 243, 238, 0.30);

  /* Type */
  --font-display: "Montserrat", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
}

/* ─── Emblem (filet fin + nom centré) ───────────────────────── */
.emblem {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 14px 22px 12px;
  border: 1.25px solid currentColor;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
  color: var(--navy);
  background: transparent;
}
.emblem__top {
  font-size: 10px;
  letter-spacing: 0.32em;
  opacity: 0.75;
  font-weight: 700;
  margin-bottom: 6px;
}
.emblem__name {
  display: flex;
  align-items: baseline;
  font-weight: 900;
  font-style: italic;
}
.emblem__seb { color: var(--coral); }
.emblem__coaching { color: inherit; margin-left: 0.12em; }
.emblem__rule {
  width: 100%;
  height: 0;
  border-top: 1px solid currentColor;
  margin: 7px 0;
  opacity: 0.5;
}
.emblem__baseline {
  font-size: 7.5px;
  letter-spacing: 0.34em;
  font-weight: 600;
  opacity: 0.85;
  white-space: nowrap;
}

.emblem--xl { padding: 22px 36px 20px; }
.emblem--xl .emblem__top { font-size: 13px; margin-bottom: 10px; }
.emblem--xl .emblem__name { font-size: 44px; }
.emblem--xl .emblem__rule { margin: 12px 0; }
.emblem--xl .emblem__baseline { font-size: 10.5px; }
.emblem--lg .emblem__name { font-size: 30px; }
.emblem--lg .emblem__baseline { font-size: 9px; }
.emblem--md .emblem__name { font-size: 22px; }
.emblem--md .emblem__top { font-size: 9px; }
.emblem--md .emblem__baseline { font-size: 7px; }
.emblem--sm { padding: 8px 14px 7px; }
.emblem--sm .emblem__name { font-size: 14px; }
.emblem--sm .emblem__top { font-size: 7px; letter-spacing: 0.3em; margin-bottom: 4px; }
.emblem--sm .emblem__rule { margin: 4px 0; }
.emblem--sm .emblem__baseline { font-size: 5.5px; letter-spacing: 0.28em; }

.on-navy { color: var(--cream); }
.on-navy .emblem__seb { color: var(--coral); }
.on-coral { color: var(--cream); }
.on-coral .emblem__seb { color: var(--ink); }

/* ─── Boutons ───────────────────────────────────────────────── */
.sc-btn {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform .12s ease, background .15s, color .15s;
}
.sc-btn--primary {
  background: var(--coral);
  color: var(--white);
  padding: 16px 28px;
  font-size: 13px;
  border-radius: 2px;
}
.sc-btn--primary:hover { background: var(--coral-deep); }
.sc-btn--secondary {
  background: transparent;
  color: var(--navy);
  border: 1.5px solid var(--navy);
  padding: 14.5px 26px;
  font-size: 13px;
  border-radius: 2px;
}
.sc-btn--secondary.on-navy { color: var(--cream); border-color: var(--cream); }
.sc-btn--ghost {
  background: transparent; color: var(--navy);
  padding: 12px 0;
  font-size: 12px;
  border-bottom: 1.5px solid var(--coral);
  border-radius: 0;
}

/* ─── Badges ────────────────────────────────────────────────── */
.sc-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 10px;
  padding: 6px 10px;
  border-radius: 2px;
}
.sc-badge--coral { background: var(--coral); color: var(--white); }
.sc-badge--navy { background: var(--navy); color: var(--cream); }
.sc-badge--outline { background: transparent; color: var(--navy); border: 1px solid var(--navy); }
.sc-badge--dot::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;
  display: inline-block;
}

/* ─── Typographie utilitaire ────────────────────────────────── */
.sc-t-display {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  line-height: 0.95;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.sc-t-h1 { font-family: var(--font-display); font-weight: 900; font-size: 56px; line-height: 1; letter-spacing: -0.01em; color: var(--ink); }
.sc-t-h2 { font-family: var(--font-display); font-weight: 800; font-size: 36px; line-height: 1.05; letter-spacing: -0.005em; color: var(--ink); }
.sc-t-h3 { font-family: var(--font-display); font-weight: 800; font-size: 22px; line-height: 1.15; color: var(--ink); }
.sc-t-eyebrow {
  font-family: var(--font-display); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.22em;
  font-size: 11px; color: var(--coral);
}
.sc-t-body { font-family: var(--font-body); font-size: 15px; line-height: 1.55; color: var(--ink); font-weight: 400; }
.sc-t-body--sm { font-size: 13px; }
.sc-t-meta { font-family: var(--font-body); font-size: 12px; color: var(--slate); }

/* ─── Surfaces ──────────────────────────────────────────────── */
.sc-surface-cream { background: var(--cream); color: var(--ink); }
.sc-surface-navy { background: var(--navy); color: var(--cream); }
.sc-surface-coral { background: var(--coral); color: var(--cream); }
.sc-surface-white { background: var(--white); color: var(--ink); }

/* ─── Application globale (override du parent neutre) ───────── */
html, body {
  overflow-x: hidden;
}
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--ink);
}

/* Helper inline pour mettre un mot en corail dans un titre + surlignage « tracé main » */
.sc-coral { color: var(--coral); position: relative; white-space: nowrap; }
.sc-coral::after {
  content: "";
  position: absolute;
  left: -0.04em;
  right: -0.04em;
  bottom: -0.14em;
  height: 0.13em;
  background: var(--coral);
  border-radius: 40% 60% 50% 45% / 100% 90% 100% 90%;
  transform: rotate(-0.6deg);
  opacity: 0.92;
}
/* pas de surlignage sur le logo du footer */
.sc-footer__brand .sc-coral::after { content: none; }

/* ─────────────────────────────────────────────────────────────
   Pattern : HERO (page d'accueil)
   ───────────────────────────────────────────────────────────── */

.sc-hero { position: relative; }

.sc-hero__title {
  /* Display extra-large pour le titre principal. Responsive : clamp pour mobile. */
  font-size: clamp(48px, 7vw, 96px) !important;
  line-height: 0.95 !important;
}

.sc-hero__lede {
  max-width: 460px;
  color: var(--slate);
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 0;
}

/* ════════════════════════════════════════════════════════════
   HERO V2 — Magazine éditorial, fond cream, 2 cols
   ════════════════════════════════════════════════════════════ */
.sc-hero-v2 {
  position: relative;
  background: var(--cream);
  overflow: hidden;
  padding: 80px 60px 120px;
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
}

/* Formes corail floues décoratives en background */
.sc-hero-v2__shape {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.sc-hero-v2__shape--top-right {
  top: -80px;
  right: -100px;
  width: 480px;
  height: 480px;
  background: rgba(236, 110, 75, 0.18);
}
.sc-hero-v2__shape--bottom-left {
  bottom: -120px;
  left: -80px;
  width: 360px;
  height: 360px;
  background: rgba(27, 58, 107, 0.10);
}

.sc-hero-v2__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 80px;
  align-items: center;
}

/* ──── COLONNE GAUCHE ──── */
.sc-hero-v2__left { }

.sc-hero-v2__eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}
.sc-hero-v2__eyebrow-bar {
  display: inline-block;
  width: 48px;
  height: 2px;
  background: var(--coral);
}
.sc-hero-v2__eyebrow-text {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--coral);
}

.sc-hero-v2__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(64px, 8vw, 128px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  color: var(--navy);
  margin: 0 0 32px;
}
.sc-hero-v2__title .sc-coral { color: var(--coral); }

.sc-hero-v2__divider {
  width: 80px;
  height: 4px;
  background: var(--coral);
  margin: 0 0 28px;
  border-radius: 2px;
}

.sc-hero-v2__ancrage {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0 0 40px;
  max-width: 540px;
}
.sc-hero-v2__ancrage strong {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: italic;
  color: var(--navy);
  font-size: 20px;
  display: block;
  margin-bottom: 8px;
}

/* Questions miroir "Tu te reconnais ?" dans le hero */
.sc-hero-v2__miroir {
  margin: 0 0 40px;
  max-width: 720px;
}
.sc-hero-v2__miroir-intro {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: italic;
  font-size: 18px;
  color: var(--coral);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.sc-hero-v2__miroir-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sc-hero-v2__miroir-list li {
  position: relative;
  padding-left: 28px;
  font-family: var(--font-display);
  font-weight: 600;
  font-style: italic;
  font-size: 18px;
  line-height: 1.45;
  color: var(--navy);
}
/* Desktop large : on évite le retour à la ligne sur les questions */
@media (min-width: 1100px) {
  .sc-hero-v2__miroir-list li { white-space: nowrap; }
}
.sc-hero-v2__miroir-list li::before {
  content: "›";
  position: absolute;
  left: 4px;
  top: -1px;
  color: var(--coral);
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 24px;
  line-height: 1;
}

/* CTAs */
.sc-hero-v2__ctas {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.sc-hero-v2__cta-primary {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 14px;
  padding: 20px 36px;
  background: var(--coral);
  color: var(--white);
  text-decoration: none;
  border-radius: 100px;
  transition: all 0.2s ease;
  box-shadow: 0 6px 20px -4px rgba(236, 110, 75, 0.4);
}
.sc-hero-v2__cta-primary:hover {
  background: var(--coral-deep);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -4px rgba(236, 110, 75, 0.5);
}
.sc-hero-v2__cta-tag {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0.05em;
  opacity: 0.9;
  margin-top: 4px;
}
.sc-hero-v2__cta-secondary {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
  text-decoration: none;
  border-bottom: 1.5px solid var(--coral);
  padding-bottom: 4px;
  transition: color 0.15s ease;
}
.sc-hero-v2__cta-secondary:hover { color: var(--coral); }

/* ──── COLONNE DROITE ──── */
.sc-hero-v2__right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
}

.sc-hero-v2__photo-frame {
  position: relative;
  width: 100%;
  max-width: 440px;
  aspect-ratio: 4 / 5;
  background: var(--white);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(27, 58, 107, 0.2);
  transform: rotate(-2deg);
  transition: transform 0.3s ease;
}
.sc-hero-v2__photo-frame:hover {
  transform: rotate(0deg);
}
.sc-hero-v2__photo-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.sc-hero-v2__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sc-hero-v2__photo-label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slate);
  background: rgba(255, 255, 255, 0.95);
  padding: 6px 10px;
  border-radius: 4px;
  text-align: center;
  font-weight: 600;
}

/* Badges sticker flottants */
.sc-hero-v2__badge {
  position: absolute;
  background: var(--white);
  padding: 14px 18px;
  border-radius: 100px;
  box-shadow: 0 8px 24px -6px rgba(27, 58, 107, 0.18);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  z-index: 2;
  transition: transform 0.3s ease;
}
.sc-hero-v2__badge:hover { transform: scale(1.05); }

.sc-hero-v2__badge--top {
  top: 0;
  right: -20px;
  background: var(--coral);
  color: var(--cream);
  transform: rotate(6deg);
}
.sc-hero-v2__badge--top:hover { transform: rotate(0deg) scale(1.05); }
.sc-hero-v2__badge--top .sc-hero-v2__badge-num,
.sc-hero-v2__badge--bottom .sc-hero-v2__badge-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -0.03em;
}
.sc-hero-v2__badge--top .sc-hero-v2__badge-text {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
}

.sc-hero-v2__badge--bottom {
  bottom: -12px;
  left: 80px;
  background: var(--navy);
  color: var(--cream);
  transform: rotate(-4deg);
}
.sc-hero-v2__badge--bottom:hover { transform: rotate(0deg) scale(1.05); }
.sc-hero-v2__badge--bottom .sc-hero-v2__badge-text {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
}
.sc-hero-v2__badge--bottom .sc-hero-v2__badge-num {
  color: var(--white);
}

/* ──── RESPONSIVE ──── */
@media (max-width: 1024px) {
  .sc-hero-v2__inner { grid-template-columns: 1fr; gap: 48px; }
  .sc-hero-v2__right { min-height: 360px; }
  .sc-hero-v2__photo-frame { max-width: 280px; }
}
@media (max-width: 781px) {
  .sc-hero-v2 { padding: 60px 24px 80px; min-height: auto; }
  .sc-hero-v2__title { font-size: clamp(48px, 12vw, 80px); }
  .sc-hero-v2__badge--top { right: -10px; }
  .sc-hero-v2__badge--bottom { left: -10px; }
}

/* Ancien hero — gardé pour compat mais inutilisé */
.sc-hero__ancrage {
  max-width: 580px;
  margin: 0;
  padding: 0;
}
.sc-hero__ancrage-text {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}
.sc-hero__ancrage-text strong {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: italic;
  color: var(--navy);
  font-size: 19px;
  display: block;
  margin-bottom: 6px;
}

/* Variante quand le hero a un fond photo navy */
.sc-hero__content .sc-hero__ancrage-text {
  color: rgba(246, 243, 238, 0.85) !important;
}
.sc-hero__content .sc-hero__ancrage-text strong {
  color: var(--cream) !important;
}

/* Badge prix hero : "-50% crédit d'impôt" — bandeau corail ramassé */
.sc-hero__price-badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(95deg, rgba(236, 110, 75, 0.12) 0%, rgba(236, 110, 75, 0.06) 100%);
  border-left: 3px solid var(--coral);
  padding: 12px 18px;
  border-radius: 2px;
  margin: 0 0 22px 0;
  max-width: 540px;
}
.sc-hero__price-badge-pct {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 28px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.sc-hero__price-badge-text {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.4;
  color: var(--navy);
}
.sc-hero__price-badge-text strong { font-weight: 700; }
.sc-hero__price-badge-text sup { font-size: 0.7em; vertical-align: super; }

/* Variante hero photo background (texte cream sur navy) */
.sc-hero__content .sc-hero__price-badge {
  background: rgba(236, 110, 75, 0.18);
  border-left-color: var(--coral);
}
.sc-hero__content .sc-hero__price-badge-text {
  color: rgba(246, 243, 238, 0.95) !important;
}

/* CTAs : on aligne les deux boutons + on style notre primaire/ghost */
.sc-hero__ctas {
  display: flex !important;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.sc-hero__ctas .wp-block-button__link {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 16px 28px;
  border-radius: 2px;
}
.sc-hero__ctas .sc-btn--ghost .wp-block-button__link {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  border-bottom: 1px solid rgba(92, 107, 122, 0.4) !important;
  border-radius: 0 !important;
  color: var(--slate) !important;
  text-transform: uppercase !important;
}
.sc-hero__ctas .sc-btn--ghost .wp-block-button__link:hover {
  color: var(--navy) !important;
  border-bottom-color: var(--coral) !important;
}

/* Badges row */
.sc-hero__badges {
  display: flex !important;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}
.sc-hero__badges p { margin: 0 !important; }

/* Photo column */
.sc-hero__photo {
  position: relative;
  width: 100%;
}

/* Placeholder photo (hachuré, en attendant la vraie image) */
.sc-photo {
  background: var(--cream-2);
  position: relative;
  overflow: hidden;
  border: 1px dashed var(--hairline-strong);
  width: 100%;
  aspect-ratio: 4 / 5;
}
.sc-photo::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(135deg, transparent 49%, var(--hairline) 49%, var(--hairline) 51%, transparent 51%),
    linear-gradient(45deg,  transparent 49%, var(--hairline) 49%, var(--hairline) 51%, transparent 51%);
}
.sc-photo__label {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  font-family: var(--font-display); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.2em;
  font-size: 10px; color: var(--slate);
  background: var(--cream); padding: 4px 10px;
  border: 1px solid var(--hairline);
}

/* Petit emblème en surimpression coin bas-gauche de la photo */
.sc-hero__photo-emblem {
  position: absolute;
  bottom: -24px; left: -24px;
  background: var(--navy);
  padding: 16px 22px;
  z-index: 2;
}
.sc-emblem-mini {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--cream);
}
.sc-emblem-mini__seb { color: var(--coral); }
.sc-emblem-mini__coaching { color: var(--cream); margin-left: 0.08em; }

/* Responsive — sur mobile, on passe la colonne photo après la colonne texte */
@media (max-width: 781px) {
  .sc-hero {
    padding: 48px 24px 64px !important;
  }
  .sc-hero__title { font-size: clamp(40px, 11vw, 64px) !important; }
  .sc-hero__photo-emblem {
    bottom: -18px; left: -18px;
    padding: 12px 16px;
  }
  .sc-emblem-mini { font-size: 14px; }
}

/* ─────────────────────────────────────────────────────────────
   Annotation pill (callout discret pour wireframes / mentions)
   ───────────────────────────────────────────────────────────── */
.sc-anno {
  font-family: ui-monospace, "SF Mono", Menlo, monospace !important;
  font-size: 10px !important;
  color: var(--slate) !important;
  background: rgba(255, 255, 255, 0.6);
  border: 1px dashed var(--hairline-strong);
  padding: 3px 7px !important;
  border-radius: 2px;
  letter-spacing: 0.02em;
  display: inline-block;
  margin: 0 !important;
  align-self: flex-start;
}

/* ─────────────────────────────────────────────────────────────
   Pattern : COMMENT ÇA MARCHE (3 étapes)
   ───────────────────────────────────────────────────────────── */

.sc-section--3etapes { position: relative; }

.sc-3etapes__title {
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1 !important;
  color: var(--navy);
}

/* Chaque étape : trait haut + numéro + titre + description */
.sc-step {
  border-top: 1.5px solid var(--navy);
  padding-top: 20px !important;
}

.sc-step__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 16px !important;
  width: 100%;
}

.sc-step__num {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: 48px !important;
  line-height: 0.9 !important;
  letter-spacing: -0.02em !important;
  color: var(--coral) !important;
  margin: 0 !important;
}

.sc-step__title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  color: var(--navy) !important;
  margin: 0 0 10px 0 !important;
}

.sc-step__desc {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--slate) !important;
  margin: 0 !important;
}

/* Responsive */
@media (max-width: 781px) {
  .sc-section--3etapes {
    padding: 64px 24px !important;
  }
  .sc-3etapes__title { font-size: clamp(36px, 9vw, 48px) !important; }
  .sc-step__num { font-size: 36px !important; }
}

/* ─────────────────────────────────────────────────────────────
   Pattern : OFFRES (3 cartes)
   ───────────────────────────────────────────────────────────── */

.sc-section--offres { position: relative; }

.sc-offres__header {
  display: flex !important;
  align-items: flex-end !important;
}

.sc-offres__title {
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1 !important;
  color: var(--navy);
  margin: 0 !important;
}

.sc-offres__intro {
  max-width: 340px;
  color: var(--slate) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Carte d'offre — base (non-featured) */
.sc-offre-card {
  background: var(--cream) !important;
  border: 1px solid var(--hairline) !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column;
  gap: 14px;
  position: relative;
  border-radius: 2px;
  height: 100%;
}

/* Carte d'offre — featured (Régulier) */
.sc-offre-card--featured {
  background: var(--white) !important;
  border: 1.5px solid var(--coral) !important;
}

/* Badge "Le plus choisi" en surimpression */
.sc-offre-card__badge {
  position: absolute !important;
  top: -10px !important;
  left: 18px !important;
  background: var(--coral) !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-size: 10px !important;
  padding: 6px 10px !important;
  border-radius: 2px;
  margin: 0 !important;
}

/* Kicker (FORFAIT) */
.sc-offre-card__kicker {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  font-size: 11px !important;
  color: var(--coral) !important;
  margin: 0 !important;
}

/* Titre carte (Essentiel / Régulier / Intensif) */
.sc-offre-card__title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  color: var(--navy) !important;
  margin: 6px 0 0 0 !important;
}

/* Liste de bullets avec checks corail */
.sc-offre-card__bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sc-offre-card__bullets li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--navy);
}
.sc-offre-card__bullets li svg {
  color: var(--coral);
  flex-shrink: 0;
  margin-top: 4px;
}

/* Footer carte : libellé + CTA */
.sc-offre-card__footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 12px !important;
  border-top: 1px dashed var(--hairline-strong);
  margin-top: auto;
}
.sc-offre-card__foot {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  color: var(--slate) !important;
  margin: 0 !important;
}
.sc-offre-card__cta {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 12px !important;
  color: var(--navy) !important;
  border-bottom: 1.5px solid var(--coral);
  padding-bottom: 2px;
  margin: 0 !important;
  cursor: pointer;
}

/* Note du bas */
.sc-offres__note {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  color: var(--slate) !important;
  margin-top: 40px !important;
}

/* Responsive */
@media (max-width: 781px) {
  .sc-section--offres {
    padding: 64px 24px !important;
  }
  .sc-offres__title { font-size: clamp(36px, 9vw, 48px) !important; }
  .sc-offres__header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 20px;
  }
  .sc-offres__intro { max-width: 100%; }
}

/* Bloc prix de la carte d'offre (Option C : brut barré → net) */
.sc-offre-card__price {
  padding: 12px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  margin: 0;
}
.sc-offre-card__price-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.sc-offre-card__price-brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
  text-decoration-thickness: 1.5px;
}
.sc-offre-card__price-arrow {
  color: var(--coral);
  font-weight: 700;
  font-size: 18px;
}
.sc-offre-card__price-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--navy);
  line-height: 1;
  letter-spacing: -0.01em;
}
.sc-offre-card__price-period {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  font-weight: 500;
  margin-left: -4px;
}
.sc-offre-card__price-note {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
  margin-top: 6px;
}
.sc-offre-card__price-session {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--navy);
  margin-top: 10px;
  line-height: 1.4;
}
.sc-offre-card__price-session strong {
  font-weight: 700;
  color: var(--coral);
}
.sc-offres__note strong { color: var(--navy); }

/* ─────────────────────────────────────────────────────────────
   Pattern : TÉMOIGNAGES
   ───────────────────────────────────────────────────────────── */

.sc-section--temoignages { position: relative; }
.sc-temoignages__title {
  font-size: clamp(36px, 5vw, 56px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
}

.sc-temoignages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  width: 100%;
}

.sc-temoignage {
  background: var(--cream);
  border: 1px solid var(--hairline);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 2px;
}

/* Zone photo — placeholder avec initiales si pas d'image */
.sc-temoignage__photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--cream);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  letter-spacing: -0.02em;
  position: relative;
  overflow: hidden;
}
.sc-temoignage__photo::before {
  content: attr(data-initials);
}
.sc-temoignage__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
/* Quand une vraie image est présente, on cache les initiales */
.sc-temoignage__photo:has(img)::before { content: ""; }

/* Citation */
.sc-temoignage__quote {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: 15px;
  line-height: 1.45;
  color: var(--navy);
  position: relative;
  padding-left: 14px;
  border-left: 2px solid var(--coral);
}

/* Méta — nom + résultat */
.sc-temoignage__meta {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--hairline-strong);
}
.sc-temoignage__name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.sc-temoignage__result {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--slate);
  margin-top: 2px;
  font-style: italic;
}

@media (max-width: 781px) {
  .sc-section--temoignages { padding: 64px 24px !important; }
  .sc-temoignages__grid {
    grid-template-columns: 1fr;
  }
}

/* ═════════════════════════════════════════════════════════════
   V2 — REFONTE DENSE + DYNAMIQUE
   Densification, asymétries, animations, visual interest.
   ═════════════════════════════════════════════════════════════ */

/* ─── Animations scroll-reveal ─── */
.sc-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);
  will-change: opacity, transform;
}
.sc-revealed { opacity: 1; transform: none; }
.sc-reveal--delay-1 { transition-delay: .08s; }
.sc-reveal--delay-2 { transition-delay: .16s; }
.sc-reveal--delay-3 { transition-delay: .24s; }
.sc-reveal--delay-4 { transition-delay: .32s; }

@media (prefers-reduced-motion: reduce) {
  .sc-reveal { opacity: 1; transform: none; transition: none; }
}

/* ─── Impression / export PDF (pour le dossier DREETS) ─── */
@media print {
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .sc-reveal { opacity: 1 !important; transform: none !important; }
  #mysticky-nav, .sc-header { position: static !important; }
  .sc-hero-v2 { min-height: auto !important; padding-top: 24px !important; padding-bottom: 24px !important; }
  .sc-section { padding-top: 40px !important; padding-bottom: 40px !important; }
  .sc-offre-card, .sc-transfo, .sc-process__step, .sc-google-review, figure { break-inside: avoid; }
}

/* Pattern de lignes diagonales sur fonds crème — RETIRÉ (jugé pas esthétique). */

/* ─── Bande corail décorative entre sections ─── */
.sc-section + .sc-section::before {
  content: none; /* override on per-section need below */
}

/* ─── HERO V3 — Réduit + Photo full-bleed + overlay ─── */
.sc-hero {
  position: relative;
  overflow: hidden;
  min-height: 62vh;
  padding: 0 !important;
  display: flex;
  align-items: center;
}
.sc-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sc-hero__bg .sc-photo {
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: auto;
}
.sc-hero__bg .sc-photo__label { display: none; }
.sc-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(115deg, rgba(27,58,107,0.92) 0%, rgba(27,58,107,0.75) 45%, rgba(27,58,107,0.35) 100%),
    linear-gradient(180deg, transparent 50%, rgba(19,36,59,0.6) 100%);
}
.sc-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 60px;
  color: var(--cream);
}
.sc-hero__content .sc-t-eyebrow { color: var(--coral) !important; }
.sc-hero__content .sc-hero__title {
  color: var(--cream) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  max-width: 720px;
}
.sc-hero__content .sc-hero__title .sc-coral { color: var(--coral) !important; }
.sc-hero__content .sc-hero__lede {
  color: rgba(246, 243, 238, 0.85) !important;
  max-width: 540px;
}
.sc-hero__content .sc-btn--ghost .wp-block-button__link {
  color: var(--cream) !important;
  border-bottom-color: var(--coral) !important;
}
.sc-hero__content .sc-badge--outline {
  color: var(--cream) !important;
  border-color: rgba(246,243,238,0.4) !important;
}
.sc-hero__photo-emblem { display: none !important; }
.sc-hero__photo { display: contents; }

/* Petit indicateur "scroll" en bas du hero */
.sc-hero__scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  color: var(--cream);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.6;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  animation: scHeroScroll 2.4s ease-in-out infinite;
}
.sc-hero__scroll::after {
  content: "";
  width: 1px;
  height: 32px;
  background: currentColor;
}
@keyframes scHeroScroll {
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: .6; }
  50% { transform: translateX(-50%) translateY(6px); opacity: .9; }
}

/* ─── COMMENT ÇA MARCHE V2 — Zigzag avec numéros géants ─── */
.sc-section--3etapes {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  position: relative;
  overflow: hidden;
}
.sc-zig {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 40px 0;
  position: relative;
  border-bottom: 1px solid var(--hairline);
}
.sc-zig:last-child { border-bottom: none; }
.sc-zig--reverse { flex-direction: row-reverse; }

.sc-zig__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(120px, 18vw, 220px);
  line-height: 0.85;
  color: var(--coral);
  letter-spacing: -0.04em;
  flex-shrink: 0;
  min-width: 280px;
  text-align: center;
  position: relative;
}
.sc-zig__num::before {
  content: "étape";
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 10px;
  color: var(--slate);
  background: rgba(255,255,255,0.6);
  border: 1px dashed var(--hairline-strong);
  padding: 3px 7px;
  border-radius: 2px;
  letter-spacing: 0.02em;
  font-weight: 400;
  font-style: normal;
}
.sc-zig__content {
  flex: 1;
  max-width: 560px;
}
.sc-zig__title {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-style: italic;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  line-height: 1.05 !important;
  color: var(--navy) !important;
  margin: 0 0 12px 0 !important;
}
.sc-zig__desc {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: var(--slate) !important;
  margin: 0 !important;
}

/* ─── OFFRES V2 — Carte Régulier surélevée ─── */
.sc-offre-card {
  transition: transform .25s ease, box-shadow .25s ease;
}
.sc-offre-card--featured {
  transform: translateY(-12px) scale(1.03);
  box-shadow: 0 24px 50px -16px rgba(27,58,107,0.30), 0 4px 8px rgba(27,58,107,0.06);
  z-index: 2;
}
@media (max-width: 781px) {
  .sc-offre-card--featured {
    transform: none;
  }
}

/* ─── TÉMOIGNAGES V2 — Carrousel horizontal scroll-snap ─── */
.sc-temoignages__grid {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 60px;
  padding: 12px 60px 24px 60px;
  margin: 0 -60px;
  scrollbar-width: thin;
  scrollbar-color: var(--coral) transparent;
}
.sc-temoignages__grid::-webkit-scrollbar { height: 8px; }
.sc-temoignages__grid::-webkit-scrollbar-track { background: transparent; }
.sc-temoignages__grid::-webkit-scrollbar-thumb {
  background: var(--coral);
  border-radius: 4px;
}
.sc-temoignages__grid .sc-temoignage {
  flex: 0 0 320px;
  scroll-snap-align: start;
}
.sc-temoignages__hint {
  text-align: center;
  margin-top: 16px;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--slate);
  font-style: italic;
}
.sc-temoignages__hint::before { content: "← "; }
.sc-temoignages__hint::after { content: " →"; }

@media (max-width: 781px) {
  .sc-temoignages__grid {
    padding: 12px 24px 24px 24px;
    margin: 0 -24px;
  }
}

/* ─── FAQ V2 — 2 colonnes (CSS columns, garde l'accordéon natif) ─── */
.sc-section--faq {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.sc-faq__list {
  columns: 2;
  column-gap: 48px;
}
.sc-faq__item {
  break-inside: avoid;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

@media (max-width: 781px) {
  .sc-faq__list { columns: 1; }
}

/* ─── Densification globale des sections ─── */
.sc-section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  position: relative;
}
.sc-section--cta-final {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.sc-section--miroir { padding-top: 80px !important; padding-bottom: 80px !important; }

/* ─── Visual interest — séparateur corail entre sections ─── */
.sc-section + .sc-section {
  position: relative;
}
.sc-section + .sc-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 56px;
  height: 4px;
  background: var(--coral);
  z-index: 5;
}

/* ─── Footer custom SebCoaching ─── */
.sc-footer {
  background: var(--navy);
  color: var(--cream);
  padding: 32px 60px 16px;
  position: relative;
}
.sc-footer__grid {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: flex-start;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(246, 243, 238, 0.15);
}
.sc-footer__brand {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 28px;
  letter-spacing: -0.01em;
  line-height: 1;
  margin-bottom: 12px;
}
.sc-footer__brand .sc-coral { color: var(--coral); }
/* Footer : monogramme carré SC (tuile corail, cadre crème) — charte logo */
.sc-footer__mono {
  width: 132px; height: 132px;
  background: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.sc-footer__mono-frame {
  width: 108px; height: 108px;
  border: 1.5px solid var(--cream);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px;
}
.sc-footer__mono-tag {
  font-family: var(--font-display);
  font-weight: 700; text-transform: uppercase;
  font-size: 9px; letter-spacing: 0.28em; text-indent: 0.28em;
  color: var(--cream);
}
.sc-footer__mono-sc {
  font-family: var(--font-display);
  font-weight: 900; text-transform: uppercase;
  font-size: 52px; line-height: 1; letter-spacing: -0.06em;
}
.sc-footer__mono-sc .s { color: var(--cream); }
.sc-footer__mono-sc .c { color: var(--navy); }
.sc-footer__tagline {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(246, 243, 238, 0.7);
  line-height: 1.5;
}
.sc-footer__col-title {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 10px;
  color: var(--coral);
  margin: 0 0 8px 0;
}
.sc-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sc-footer__col a {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream);
  text-decoration: none;
  transition: color .15s;
}
.sc-footer__col a:hover { color: var(--coral); }

/* Liste contact uniformisée avec emojis à gauche */
.sc-footer__contact-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: center;
}
.sc-footer__contact-list li > span:not(.sc-footer__icon) {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(246, 243, 238, 0.85);
}
.sc-footer__icon {
  width: 17px;
  height: 17px;
  stroke: var(--coral);
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sc-footer__bottom {
  max-width: 1280px;
  margin: 24px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-body);
  font-size: 11px;
  color: rgba(246, 243, 238, 0.5);
}
@media (max-width: 781px) {
  .sc-footer { padding: 48px 24px 24px; }
  .sc-footer__grid { flex-direction: column; gap: 32px; }
  .sc-footer__bottom { flex-direction: column; gap: 12px; text-align: center; }
}

/* Footer : textes légèrement agrandis + bloc médiateur */
.sc-footer__tagline { font-size: 14px; }
.sc-footer__col-title { font-size: 11px; }
.sc-footer__col a,
.sc-footer__contact-list li > span:not(.sc-footer__icon) { font-size: 14px; }
.sc-footer__bottom { font-size: 12px; }
.sc-footer__mediateur {
  max-width: 1280px;
  margin: 14px auto 0;
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.5;
  color: rgba(246, 243, 238, 0.45);
  text-align: center;
}
.sc-footer__mediateur a { color: rgba(246, 243, 238, 0.62); text-decoration: underline; }
.sc-footer__mediateur a:hover { color: var(--coral); }

/* ─── Page légale (CGV / mentions) ─── */
.sc-legal {
  max-width: 820px;
  margin: 0 auto;
  padding: 56px 24px 80px;
  font-family: var(--font-body);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.65;
}
.sc-legal h1 { font-family: var(--font-display); font-weight: 900; font-size: 34px; line-height: 1.1; color: var(--navy); margin: 0 0 6px; }
.sc-legal h2 { font-family: var(--font-display); font-weight: 800; font-size: 21px; line-height: 1.2; color: var(--navy); margin: 38px 0 12px; padding-top: 18px; border-top: 1px solid rgba(27,58,107,0.12); }
.sc-legal h3 { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--coral); margin: 0 0 18px; }
.sc-legal p { margin: 0 0 12px; }
.sc-legal ul, .sc-legal ol { margin: 0 0 14px; padding-left: 22px; }
.sc-legal li { margin-bottom: 6px; }
.sc-legal hr { display: none; }
.sc-legal table { width: 100%; border-collapse: collapse; margin: 12px 0 18px; font-size: 14px; }
.sc-legal th, .sc-legal td { border: 1px solid rgba(27,58,107,0.18); padding: 8px 10px; text-align: left; }
.sc-legal th { background: var(--cream); font-weight: 700; }
.sc-legal blockquote { margin: 12px 0 18px; padding: 12px 16px; background: var(--cream); border-left: 3px solid var(--coral); }
.sc-legal blockquote p { margin: 0; }
.sc-legal a { color: var(--coral-deep); }

/* Footer : lockup horizontal (tuile SC + nom + tagline) */
.sc-footer__lockup { display: flex; align-items: center; gap: 20px; }
.sc-footer__lockup .sc-footer__mono { margin-bottom: 0; flex-shrink: 0; }
.sc-footer__brand-text { max-width: 300px; }
.sc-footer__brand-name {
  font-family: var(--font-display);
  font-weight: 900; font-style: italic;
  font-size: 24px; line-height: 1;
  color: var(--cream);
  margin-bottom: 8px;
}
.sc-footer__brand-name span { color: var(--coral); }

/* Zones desservies : villes en colonnes avec tiret */
.sc-radar-item__body { flex: 1 1 auto; min-width: 0; }
.sc-radar-item__cities {
  list-style: none; margin: 8px 0 0; padding: 0;
  column-count: 3; column-gap: 16px;
  font-family: var(--font-body); font-size: 15px; line-height: 1.7; color: var(--slate);
}
.sc-radar-item__cities li { break-inside: avoid; }
.sc-radar-item__cities li::before { content: "– "; color: var(--coral); }

/* Comment je travaille : intro 2 colonnes (texte à gauche + photo sur le côté) */
.sc-methode__intro {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 48px;
  align-items: center;
  margin-bottom: 64px;
}
.sc-methode__intro .sc-methode__head { text-align: left; margin-bottom: 0; }
.sc-methode__intro .sc-methode__head .has-text-align-center { text-align: left !important; }
.sc-methode__intro .sc-methode__lede { margin: 22px 0 0; max-width: none; }
/* Emplacement photo (placeholder, à remplacer par un <img>) */
.sc-methode__photo {
  position: relative;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: linear-gradient(150deg, var(--white) 0%, var(--cream) 100%);
  border-radius: 8px;
  box-shadow: 0 24px 48px -20px rgba(27, 58, 107, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.sc-methode__intro .sc-methode__photo { transform: rotate(2deg); }
.sc-methode__intro .sc-methode__photo:hover {
  transform: rotate(0deg);
  box-shadow: 0 30px 56px -20px rgba(27, 58, 107, 0.32);
}
@media (max-width: 900px) {
  .sc-methode__intro { grid-template-columns: 1fr; gap: 28px; margin-bottom: 48px; }
  .sc-methode__intro .sc-methode__head,
  .sc-methode__intro .sc-methode__head .has-text-align-center { text-align: center !important; }
  .sc-methode__intro .sc-methode__lede { margin: 22px auto 0; }
  .sc-methode__photo { aspect-ratio: 4 / 3; max-width: 280px; margin: 0 auto; }
}
.sc-methode__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sc-methode__photo-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 12px;
  color: var(--slate);
}
.sc-methode__photo-ph::before {
  content: "";
  width: 34px;
  height: 34px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EC6E4B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5h3l1.6-2h6.8l1.6 2H20v10H4z'/%3E%3Ccircle cx='12' cy='13' r='3.4'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: .92;
}

/* ─────────────────────────────────────────────────────────────
   Pattern : À PROPOS (photo portrait + texte + stats)
   ───────────────────────────────────────────────────────────── */

.sc-section--apropos { position: relative; }

.sc-apropos__photo {
  position: relative;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
}
.sc-apropos__photo .sc-photo {
  width: 100%;
  aspect-ratio: 1 / 1.1;
}
.sc-apropos__photo-badge {
  position: absolute;
  bottom: -16px;
  right: -16px;
  background: var(--coral);
  color: var(--cream);
  padding: 12px 18px;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  border-radius: 2px;
  box-shadow: 0 8px 20px -8px rgba(27,58,107,0.4);
}

.sc-apropos__title {
  font-size: clamp(40px, 5.6vw, 64px) !important;
  line-height: 1 !important;
  color: var(--navy);
}
.sc-apropos__body {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--navy) !important;
  margin: 0 !important;
}
.sc-apropos__body + .sc-apropos__body {
  color: var(--slate) !important;
}

.sc-apropos__stats {
  display: flex;
  gap: 32px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--hairline);
  flex-wrap: wrap;
}
.sc-stat__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.01em;
}
.sc-stat__label {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
}

@media (max-width: 781px) {
  .sc-section--apropos { padding: 64px 24px !important; }
  .sc-apropos__photo { max-width: 320px; }
  .sc-apropos__stats { gap: 20px; }
}

/* ─────────────────────────────────────────────────────────────
   Pattern : GALERIE (bande pleine largeur, 4 photos)
   ───────────────────────────────────────────────────────────── */

.sc-section--galerie {
  padding: 0 !important;
  overflow: hidden;
}
.sc-galerie {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  width: 100%;
}
.sc-galerie__cell {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  transition: transform .4s ease, filter .4s ease;
}
.sc-galerie__cell .sc-photo {
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: auto;
}
.sc-galerie__cell:hover {
  transform: scale(1.02);
  z-index: 2;
  filter: brightness(1.05);
}

/* Pas de séparateur corail au-dessus ni en-dessous de la galerie (la bande
   photo doit toucher les sections adjacentes pour un effet pleine largeur) */
.sc-section--galerie + .sc-section::after,
.sc-section + .sc-section--galerie::after {
  content: none !important;
}

@media (max-width: 1024px) {
  .sc-galerie { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .sc-galerie { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────
   Page 404
   ───────────────────────────────────────────────────────────── */

.sc-404 { text-align: center; }
.sc-404__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(140px, 22vw, 280px);
  line-height: 0.85;
  color: var(--coral);
  letter-spacing: -0.04em;
  margin-bottom: 24px;
}
.sc-404__eyebrow { color: var(--navy); }
.sc-404__title {
  font-size: clamp(40px, 6vw, 72px) !important;
  line-height: 1 !important;
  color: var(--navy);
  margin: 14px 0 24px;
}
.sc-404__lede {
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--slate);
  margin: 0 auto 40px;
  max-width: 480px;
  line-height: 1.55;
}
.sc-404__ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.sc-404__btn {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 16px 28px;
  text-decoration: none;
  border-radius: 2px;
  transition: transform .12s ease, background .15s, color .15s;
}
.sc-404__btn--primary {
  background: var(--coral);
  color: var(--white);
}
.sc-404__btn--primary:hover { background: var(--coral-deep); }
.sc-404__btn--secondary {
  color: var(--navy);
  border-bottom: 1.5px solid var(--coral);
  padding: 16px 0;
  border-radius: 0;
}

/* ─────────────────────────────────────────────────────────────
   Micro-animations supplémentaires (polish)
   ───────────────────────────────────────────────────────────── */

/* Sélection de texte custom */
::selection {
  background: var(--coral);
  color: var(--cream);
}

/* Liens du body : underline animé qui apparaît au hover */
.sc-section a:not(.wp-block-button__link):not(.sc-404__btn):not(.sc-pricing-xl__cta):not(.sc-btn-inline-cta):not(.sc-offre-card__cta-btn) {
  color: var(--navy);
  text-decoration: none;
  background-image: linear-gradient(var(--coral), var(--coral));
  background-size: 0% 1.5px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .25s ease;
  padding-bottom: 2px;
}
.sc-section a:not(.wp-block-button__link):not(.sc-404__btn):not(.sc-pricing-xl__cta):not(.sc-btn-inline-cta):not(.sc-offre-card__cta-btn):hover {
  background-size: 100% 1.5px;
}

/* Boutons primaires : très léger lift au hover */
.sc-btn--primary,
.sc-btn--cta-final {
  transition: transform .15s ease, background .15s, box-shadow .2s ease !important;
}
.sc-btn--primary:hover .wp-block-button__link,
.sc-btn--cta-final:hover .wp-block-button__link {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -8px rgba(236, 110, 75, 0.5);
}

/* Cartes d'offre : très léger lift au hover (sauf la featured qui est déjà soulevée) */
.sc-offre-card:not(.sc-offre-card--featured):hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -16px rgba(27, 58, 107, 0.18);
}

/* Témoignages : très léger scale au hover */
.sc-temoignage {
  transition: transform .2s ease, box-shadow .2s ease;
}
.sc-temoignage:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px -10px rgba(27, 58, 107, 0.15);
}

/* Scroll bar custom corail (sur les navigateurs qui supportent) */
html { scrollbar-color: var(--coral) var(--cream); }
html::-webkit-scrollbar { width: 10px; }
html::-webkit-scrollbar-track { background: var(--cream); }
html::-webkit-scrollbar-thumb {
  background: var(--coral);
  border: 2px solid var(--cream);
  border-radius: 6px;
}

/* ─────────────────────────────────────────────────────────────
   PAGES SECONDAIRES — Hero commun + composants spécifiques
   ───────────────────────────────────────────────────────────── */

/* Hero des pages secondaires (fond navy, petit, contenu cadré) */
.sc-section--page-hero { position: relative; }

/* ─── Page Méthode — Outils (3 cartes) ─── */
.sc-outil {
  background: var(--cream);
  border: 1px solid var(--hairline);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 2px;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sc-outil:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px -10px rgba(27, 58, 107, 0.15);
}
.sc-outil__pic {
  width: 100%;
}
.sc-outil__pic .sc-photo {
  width: 100%;
  aspect-ratio: 16/10;
}
.sc-outil__title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  color: var(--navy) !important;
  margin: 0 !important;
}
.sc-outil__desc {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--slate) !important;
  margin: 0 !important;
}

/* ─── Page Méthode — Leviers (3 cartes avec emoji) ─── */
.sc-levier {
  background: var(--white);
  border: 1px solid var(--hairline);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-radius: 2px;
  height: 100%;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sc-levier:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px -10px rgba(27, 58, 107, 0.15);
}
.sc-levier__icon {
  font-size: 40px;
  line-height: 1;
}
.sc-levier__title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  color: var(--navy) !important;
  margin: 0 !important;
}
.sc-levier__desc {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--slate) !important;
  margin: 0 !important;
}

/* ─── Page Offres — Cartes secondaires (Entretien / À la carte) ─── */
.sc-offre-secondaire {
  background: var(--cream);
  border: 1px solid var(--hairline);
  padding: 32px;
  border-radius: 2px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sc-offre-secondaire__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 11px;
  color: var(--coral);
}
.sc-offre-secondaire__title {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  color: var(--navy) !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.sc-offre-secondaire__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
}
.sc-offre-secondaire__brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
}
.sc-offre-secondaire__arrow { color: var(--coral); font-weight: 700; }
.sc-offre-secondaire__net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--navy);
  line-height: 1;
}
.sc-offre-secondaire__period {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
}
.sc-offre-secondaire__sub {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
  margin-top: -8px;
}
.sc-offre-secondaire__desc {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--navy) !important;
  margin: 0 !important;
}
.sc-offre-secondaire__hint {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  color: var(--coral);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding-top: 12px;
  border-top: 1px dashed var(--hairline-strong);
  margin-top: auto;
}

/* Tableau tarif à la carte */
.sc-tarif-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 13px;
}
.sc-tarif-table tr { border-bottom: 1px solid var(--hairline); }
.sc-tarif-table tr:last-child { border-bottom: none; }
.sc-tarif-table td {
  padding: 12px 0;
  vertical-align: middle;
}
.sc-tarif-table td:first-child {
  color: var(--navy);
  font-weight: 600;
}
.sc-tarif-table td:last-child { text-align: right; }
.sc-tarif-brut {
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
  margin-right: 8px;
}
.sc-tarif-net {
  color: var(--navy);
  font-weight: 700;
}

/* ─── Page Offres — Zones de déplacement (3 colonnes) ─── */
.sc-zones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.sc-zone {
  background: var(--white);
  border: 1px solid var(--hairline);
  border-top: 4px solid var(--coral);
  padding: 24px;
  text-align: center;
  border-radius: 2px;
}
.sc-zone__label {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 28px;
  color: var(--coral);
  letter-spacing: -0.01em;
  line-height: 1;
}
.sc-zone__name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 12px 0 8px;
}
.sc-zone__price {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  line-height: 1.4;
}
@media (max-width: 781px) {
  .sc-zones { grid-template-columns: 1fr; }
}

/* ─── Page Réserver — Checklist ─── */
.sc-reserver-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.sc-reserver-checklist li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--navy);
  background: var(--white);
  padding: 18px 22px;
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--coral);
}
.sc-reserver-checklist__check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: var(--coral);
  color: var(--white);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 14px;
  margin-top: 2px;
}
.sc-reserver-checklist li strong {
  color: var(--navy);
  font-weight: 700;
}

/* ─── Page Réserver — Calendly placeholder ─── */
.sc-calendly-wrap { width: 100%; }
.sc-calendly-placeholder {
  background: var(--cream-2);
  border: 2px dashed var(--coral);
  border-radius: 2px;
  padding: 60px 24px;
  text-align: center;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-calendly-placeholder__icon { font-size: 48px; margin-bottom: 16px; }
.sc-calendly-placeholder__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 32px;
  color: var(--coral);
  margin-bottom: 16px;
}
.sc-calendly-placeholder__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--navy);
  max-width: 480px;
  margin: 0 auto;
}
.sc-calendly-placeholder__desc strong { color: var(--coral); }

/* ─── Page Réserver — Contact cards fallback ─── */
.sc-contact-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
.sc-contact-card {
  background: var(--white);
  border: 1px solid var(--hairline);
  padding: 28px 24px;
  text-align: center;
  text-decoration: none !important;
  color: inherit;
  background-image: none !important;
  border-radius: 2px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sc-contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px -10px rgba(27, 58, 107, 0.15);
  border-color: var(--coral);
}
.sc-contact-card__icon { font-size: 32px; margin-bottom: 8px; }
.sc-contact-card__label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-contact-card__value {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--navy);
  font-weight: 600;
  word-break: break-word;
}
@media (max-width: 540px) {
  .sc-contact-cards { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────
   Page Méthode V2 — Narratif + Séance type + Liste domicile
   ───────────────────────────────────────────────────────────── */

.sc-section--methode-narratif { position: relative; }
.sc-methode-narratif__body {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--navy) !important;
  margin: 0 !important;
}
.sc-methode-narratif__body strong {
  color: var(--coral);
  font-weight: 700;
}
.sc-methode-narratif__body em {
  font-style: italic;
  color: var(--navy);
}

/* Déroulé séance type — liste ordonnée custom */
.sc-seance-type {
  list-style: none;
  counter-reset: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sc-seance-type li {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  background: var(--cream);
  padding: 24px 28px;
  border-left: 3px solid var(--coral);
  border-radius: 2px;
}
.sc-seance-type__num {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
}
.sc-seance-type__body { flex: 1; }
.sc-seance-type__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--navy);
  margin-bottom: 6px;
}
.sc-seance-type__desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--slate);
}

/* Liste "pourquoi à domicile" */
.sc-domicile-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sc-domicile-list li {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--navy);
  padding: 16px 20px 16px 48px;
  background: var(--cream);
  position: relative;
  border-radius: 2px;
}
.sc-domicile-list li::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 16px;
  width: 22px;
  height: 22px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 13px;
}
.sc-domicile-list li strong {
  color: var(--navy);
  font-weight: 700;
}

@media (max-width: 781px) {
  .sc-seance-type li { padding: 20px; gap: 18px; }
  .sc-seance-type__num { width: 40px; height: 40px; font-size: 18px; }
}

/* ─────────────────────────────────────────────────────────────
   Page Offres V2 — Tableau comparatif détaillé
   ───────────────────────────────────────────────────────────── */

.sc-compare { width: 100%; overflow-x: auto; }
.sc-compare__table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 14px;
  background: var(--white);
  border: 1px solid var(--hairline);
}
.sc-compare__table thead th {
  padding: 20px 16px;
  text-align: center;
  background: var(--cream-2);
  border-bottom: 2px solid var(--navy);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  position: relative;
  text-transform: none;
  letter-spacing: 0;
}
.sc-compare__th-label { background: var(--cream) !important; min-width: 240px; }
.sc-compare__th--featured {
  background: var(--coral) !important;
  color: var(--cream) !important;
  position: relative;
}
.sc-compare__featured-tag {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--navy);
  color: var(--cream);
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 9px;
  padding: 4px 10px;
  border-radius: 2px;
  white-space: nowrap;
}
.sc-compare__table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--hairline);
  text-align: center;
  vertical-align: middle;
  color: var(--navy);
}
.sc-compare__label {
  text-align: left !important;
  font-weight: 600;
  background: var(--cream);
}
.sc-compare__featured-cell {
  background: rgba(236, 110, 75, 0.05);
  font-weight: 600;
}
.sc-compare__section-row td {
  background: var(--navy) !important;
  color: var(--cream) !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  text-align: left !important;
  padding: 12px 16px !important;
}
.sc-compare__highlight-row td {
  background: rgba(27, 58, 107, 0.05);
}
.sc-compare__highlight-row .sc-compare__featured-cell {
  background: rgba(236, 110, 75, 0.12) !important;
}
.sc-compare__highlight-row td strong {
  font-size: 18px;
  color: var(--navy);
}
.sc-compare__table tbody td s { color: var(--slate); }

@media (max-width: 781px) {
  .sc-compare__table { font-size: 12px; }
  .sc-compare__th-label { min-width: 140px; }
  .sc-compare__table thead th { font-size: 13px; padding: 12px 8px; }
  .sc-compare__table tbody td { padding: 10px 8px; }
}

/* ─────────────────────────────────────────────────────────────
   Page Réserver V2 — Calendly embed (overrides du placeholder)
   ───────────────────────────────────────────────────────────── */

.calendly-inline-widget {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 30px -12px rgba(27, 58, 107, 0.15);
}

/* ═════════════════════════════════════════════════════════════
   HOME V3 — Refonte resserrée (5 sections au lieu de 9)
   ═════════════════════════════════════════════════════════════ */

/* ─── Bandeau de réassurance sous le hero ─── */
.sc-bandeau-reassurance {
  padding: 28px 60px;
  position: relative;
  z-index: 4;
  /* Transition douce hero → bandeau via un trait corail discret */
  border-top: 3px solid var(--coral);
  box-shadow: 0 -1px 0 rgba(27, 58, 107, 0.04);
}
.sc-bandeau-reassurance__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
}
.sc-bandeau-reassurance__item {
  display: flex;
  gap: 12px;
  align-items: center;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.35;
  color: var(--cream);
}
.sc-bandeau-reassurance__item strong { font-weight: 700; color: var(--cream); }
.sc-bandeau-reassurance__check {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 12px;
}
@media (max-width: 1024px) {
  .sc-bandeau-reassurance__inner { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  .sc-bandeau-reassurance { padding: 16px 20px; }
  .sc-bandeau-reassurance__inner { grid-template-columns: 1fr; gap: 12px; }
}

/* ─── Composition 2 colonnes générique (Miroir + Étapes) ─── */
.sc-section--2col { position: relative; }
.sc-2col__grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 60px;
  align-items: start;
}
.sc-2col__col { min-width: 0; }
.sc-2col__sep {
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--coral) 20%, var(--coral) 80%, transparent);
  align-self: stretch;
}
.sc-2col__title {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1 !important;
  color: var(--navy);
  margin: 14px 0 32px 0 !important;
}

/* Miroir compact (colonne gauche) */
.sc-2col__col--miroir .sc-miroir__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 28px;
  width: 100%;
}
.sc-2col__col--miroir .sc-miroir__line {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-style: italic !important;
  font-size: clamp(17px, 1.6vw, 21px) !important;
  line-height: 1.35 !important;
  color: var(--navy) !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 8px 0 8px 36px !important;
  position: relative !important;
  border-bottom: 1px solid rgba(27, 58, 107, 0.08);
}
.sc-2col__col--miroir .sc-miroir__line:last-child { border-bottom: none; }
/* Petit chevron corail au lieu de l'em-dash typographique */
.sc-2col__col--miroir .sc-miroir__line::before {
  content: "›";
  position: absolute;
  left: 6px;
  top: 8px;
  color: var(--coral);
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 28px;
  line-height: 1;
}

.sc-2col__col--miroir .sc-miroir__transition {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.45;
  color: var(--navy);
  margin: 32px 0 24px 0;
  /* Plus de border-top corail flottant qui ressemblait à un cut */
}
.sc-btn-inline-cta {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 12px;
  justify-content: center;
  padding: 18px 28px 14px;
  line-height: 1;
  background: var(--coral);
  color: var(--white);
  text-decoration: none !important;
  border-radius: 100px;
  background-image: none !important;
  transition: background .15s, transform .15s, box-shadow .15s;
  box-shadow: 0 4px 12px -2px rgba(236, 110, 75, 0.35);
}
.sc-btn-inline-cta:hover {
  background: var(--coral-deep);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -4px rgba(236, 110, 75, 0.45);
}

/* Étapes compactes (colonne droite) */
.sc-etapes-compact {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sc-etapes-compact li {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--hairline);
}
.sc-etapes-compact li:last-child { border-bottom: none; padding-bottom: 0; }
.sc-etapes-compact__num {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 36px;
  color: var(--coral);
  letter-spacing: -0.02em;
  line-height: 0.9;
  min-width: 56px;
}
.sc-etapes-compact__body { flex: 1; }
.sc-etapes-compact__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--navy);
  margin-bottom: 6px;
}
.sc-etapes-compact__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
}

@media (max-width: 1024px) {
  .sc-2col__grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .sc-2col__sep {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--coral) 20%, var(--coral) 80%, transparent);
  }
}

/* ─── Témoignages + Galerie compactés ─── */
.sc-section--temoignages-galerie .sc-temoignages__grid {
  margin-bottom: 0;
}
.sc-section--temoignages-galerie .sc-galerie {
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.sc-section--temoignages-galerie .sc-galerie__cell {
  aspect-ratio: 16 / 11;
}
@media (max-width: 781px) {
  .sc-section--temoignages-galerie .sc-galerie { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Section 5 — À propos + CTA en 2 colonnes ─── */
.sc-section--apropos-cta { padding: 0 !important; }
.sc-apropos-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
}
.sc-apropos-cta__about {
  background: var(--cream);
  padding: 80px 60px;
  display: flex;
  align-items: center;
}
.sc-apropos-cta__about-inner {
  max-width: 600px;
  margin-left: auto;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: center;
}
.sc-apropos-cta__about .sc-apropos__photo { max-width: 220px; }
.sc-apropos-cta__about .sc-apropos__photo .sc-photo { aspect-ratio: 1/1; }
.sc-apropos-cta__about .sc-apropos__photo-badge {
  bottom: -12px;
  right: -12px;
  padding: 8px 12px;
  font-size: 10px;
}
.sc-apropos-cta__text .sc-t-eyebrow { color: var(--coral); }
.sc-apropos-cta__text .sc-apropos__title {
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1 !important;
  margin: 14px 0 16px !important;
  color: var(--navy);
}
.sc-apropos-cta__text .sc-apropos__body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}

.sc-apropos-cta__cta {
  background: var(--coral);
  color: var(--cream);
  padding: 80px 60px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.sc-apropos-cta__cta::before {
  content: "→";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 320px;
  color: rgba(246, 243, 238, 0.06);
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}
.sc-apropos-cta__cta-inner {
  max-width: 480px;
  position: relative;
  z-index: 1;
}
.sc-apropos-cta__cta .sc-cta-final__eyebrow {
  color: var(--cream) !important;
  opacity: 0.85;
}
.sc-apropos-cta__cta .sc-cta-final__title {
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 0.95 !important;
  color: var(--cream) !important;
  margin: 16px 0 20px !important;
}
.sc-apropos-cta__cta .sc-cta-final__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: rgba(246, 243, 238, 0.9);
  margin: 0 0 32px 0;
}
.sc-apropos-cta__btn {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  padding: 20px 32px;
  background: var(--navy);
  color: var(--cream);
  text-decoration: none !important;
  border-radius: 2px;
  background-image: none !important;
  transition: background .15s, transform .15s;
}
.sc-apropos-cta__btn:hover { background: var(--ink); transform: translateY(-2px); }

@media (max-width: 1024px) {
  .sc-apropos-cta { grid-template-columns: 1fr; }
  .sc-apropos-cta__about, .sc-apropos-cta__cta { padding: 60px 32px; }
  .sc-apropos-cta__about-inner { grid-template-columns: 1fr; margin: 0 auto; max-width: 380px; }
  .sc-apropos-cta__about .sc-apropos__photo { max-width: 200px; margin: 0 auto; }
}

/* ═════════════════════════════════════════════════════════════
   HEADER CUSTOM — Vrai bandeau navigation
   ═════════════════════════════════════════════════════════════ */

/* Cache la navigation Twenty Twenty-Five par défaut pour éviter le doublon */
body > .wp-site-blocks > header.wp-block-template-part > .wp-block-group:not(.sc-header__inner) {
  display: none;
}

.sc-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--cream);
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: saturate(180%) blur(8px);
  -webkit-backdrop-filter: saturate(180%) blur(8px);
}
.sc-header__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 10px 60px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.sc-header__logo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--navy);
  text-decoration: none !important;
  background-image: none !important;
}
.sc-header__mark { width: 36px; height: 36px; flex-shrink: 0; display: block; }
.sc-header__logo .sc-coral { white-space: nowrap; }
.sc-header__logo .sc-coral::after { content: none; }
.sc-header__wordmark {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-size: 21px;
  line-height: 1;
  color: var(--navy);
}
.sc-header__wordmark .s { color: var(--coral); }
/* Logo encadré (système charte — variante A) dans le header */
.sc-logo {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; line-height: 1;
  border: 1.5px solid var(--navy);
  padding: 6px 16px 7px;
}
.sc-logo__tagtop, .sc-logo__tagbot {
  font-family: var(--font-display);
  font-weight: 700; text-transform: uppercase;
  font-size: 7.5px; letter-spacing: 0.26em; text-indent: 0.26em;
  white-space: nowrap;
}
.sc-logo__tagtop { color: var(--coral); }
.sc-logo__tagbot { color: var(--navy); }
.sc-logo__word {
  display: flex; align-items: baseline; justify-content: center;
  font-family: var(--font-display);
  font-weight: 800; text-transform: uppercase;
  font-size: 22px; letter-spacing: -0.01em; line-height: 1;
  margin: 4px 0;
}
.sc-logo__word .s { color: var(--coral); }
.sc-logo__word .c { color: var(--navy); margin-left: -0.02em; }
.sc-logo__rule { width: 100%; height: 1.5px; background: var(--navy); margin-bottom: 4px; }
@media (max-width: 600px) {
  .sc-logo { padding: 5px 12px 6px; }
  .sc-logo__word { font-size: 18px; }
  .sc-logo__tagtop, .sc-logo__tagbot { font-size: 6.5px; letter-spacing: 0.2em; }
}
.sc-header__nav {
  display: flex;
  gap: 28px;
  margin-left: auto;
}
.sc-header__link {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  color: var(--navy);
  text-decoration: none !important;
  padding: 8px 0;
  position: relative;
  background-image: none !important;
  transition: color .15s;
}
.sc-header__link:hover { color: var(--coral); }
.sc-header__nav-reserve { display: none; }
.sc-header__cta {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
  padding: 12px 20px;
  background: var(--coral);
  color: var(--cream) !important;
  text-decoration: none !important;
  border-radius: 2px;
  background-image: none !important;
  transition: background .15s, transform .15s;
  white-space: nowrap;
}
.sc-header__cta:hover { background: var(--coral-deep); transform: translateY(-1px); }
.sc-header__burger {
  display: none;
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}
.sc-header__burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--navy);
  transition: transform .2s, opacity .2s;
}

@media (max-width: 781px) {
  .sc-header__inner { padding: 14px 20px; gap: 12px; }
  .sc-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--cream);
    flex-direction: column;
    gap: 0;
    padding: 16px 20px;
    border-bottom: 1px solid var(--hairline);
    margin-left: 0;
  }
  .sc-header__nav--open { display: flex; }
  .sc-header__nav .sc-header__link { padding: 12px 0; border-bottom: 1px solid var(--hairline); }
  .sc-header__nav .sc-header__link:last-child { border-bottom: none; }
  .sc-header__cta { display: none; }
  .sc-header__nav .sc-header__nav-reserve { display: block; color: var(--coral); }
  .sc-header__burger { display: flex; order: 999; margin-left: auto; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE RÉSERVER — Layout 2 colonnes
   ═════════════════════════════════════════════════════════════ */

.sc-section--reserver-main { position: relative; }
.sc-reserver-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 60px;
  align-items: start;
}
.sc-reserver-grid__title {
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 12px 0 32px 0 !important;
}
.sc-section--reserver-main .sc-reserver-checklist {
  gap: 14px;
}
.sc-section--reserver-main .sc-reserver-checklist li {
  font-size: 14px;
  padding: 14px 18px;
}
.sc-reserver-grid__contact {
  margin-top: 40px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--coral);
  border-radius: 2px;
}
.sc-reserver-grid__contact-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  margin-bottom: 4px;
}
.sc-reserver-grid__contact-sub {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  margin-bottom: 16px;
}
.sc-reserver-grid__contact-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sc-reserver-grid__contact-link {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--navy) !important;
  text-decoration: none !important;
  background-image: none !important;
  padding: 8px 0;
  font-weight: 600;
}
.sc-reserver-grid__contact-link:hover { color: var(--coral) !important; }
.sc-reserver-grid__contact-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 12px;
}
.sc-reserver-grid__right .sc-calendly-wrap {
  background: var(--white);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 30px -12px rgba(27, 58, 107, 0.15);
}

@media (max-width: 1024px) {
  .sc-reserver-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES — "Comment je travaille" en 3 colonnes
   ═════════════════════════════════════════════════════════════ */

.sc-methode-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.sc-methode-3col__cell {
  background: var(--cream);
  padding: 32px 28px;
  border-radius: 2px;
  border-top: 4px solid var(--coral);
  position: relative;
}
.sc-methode-3col__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 64px;
  color: var(--coral);
  line-height: 0.9;
  letter-spacing: -0.03em;
  margin-bottom: 16px;
  opacity: 0.35;
}
.sc-methode-3col__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 12px;
}
.sc-methode-3col__body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-methode-3col__body strong { color: var(--navy); font-weight: 700; }
.sc-methode-3col__body em { color: var(--coral); font-style: italic; }

@media (max-width: 1024px) {
  .sc-methode-3col { grid-template-columns: 1fr; gap: 16px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES — Séance type en grille 4 colonnes
   ═════════════════════════════════════════════════════════════ */

.sc-seance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.sc-seance-grid__cell {
  background: var(--white);
  padding: 28px 24px;
  border-radius: 2px;
  border-left: 3px solid var(--coral);
  position: relative;
}
.sc-seance-grid__num {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 32px;
  height: 32px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 16px;
}
.sc-seance-grid__time {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-seance-grid__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  line-height: 1.25;
  margin-bottom: 10px;
}
.sc-seance-grid__desc {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--slate);
}

@media (max-width: 1024px) {
  .sc-seance-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .sc-seance-grid { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════════
   HOME — À PROPOS COMPACT (sans CTA, pleine largeur 2-col)
   ═════════════════════════════════════════════════════════════ */

.sc-apropos-compact {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 56px;
  align-items: center;
}
.sc-apropos-compact__photo {
  position: relative;
  max-width: 280px;
}
.sc-apropos-compact__photo .sc-photo {
  width: 100%;
  aspect-ratio: 1/1;
}

/* Nouveau placeholder photo stylisé : silhouette géométrique + label discret.
   Remplacer par <img> quand Seb aura sa photo pro. */
.sc-apropos-compact__photo-frame {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 5 / 6;
  background: var(--white);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(27, 58, 107, 0.14);
  transition: transform .3s ease, box-shadow .3s ease;
}
/* Survol : la photo se soulève et s'incline légèrement (comme .sc-methode__photo) */
.sc-apropos-compact__photo:hover .sc-apropos-compact__photo-frame {
  transform: translateY(-4px) rotate(-1.5deg);
  box-shadow: 0 22px 48px -16px rgba(27, 58, 107, 0.30);
}
/* Cadre design : bloc navy décalé derrière la photo (profondeur, à la charte) */
.sc-apropos-compact__photo::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(14px, 14px);
  border-radius: 10px;
  background: var(--navy);
  z-index: 0;
}
.sc-apropos-compact__avatar-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.sc-apropos-compact__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.sc-apropos-compact__photo-label {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slate);
  background: rgba(255, 255, 255, 0.92);
  padding: 6px 10px;
  border-radius: 2px;
  text-align: center;
  font-weight: 600;
}
.sc-apropos-compact__badge {
  position: absolute;
  bottom: -12px;
  right: -12px;
  background: var(--coral);
  color: var(--cream);
  padding: 10px 14px;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10px;
  border-radius: 2px;
  box-shadow: 0 6px 16px -6px rgba(27,58,107,0.4);
}
.sc-apropos-compact__title {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1 !important;
  color: var(--navy);
  margin: 14px 0 16px !important;
}
.sc-apropos-compact__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--slate);
  margin: 0 0 24px 0;
}
.sc-apropos-compact__stats {
  display: flex;
  gap: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
  flex-wrap: wrap;
}
.sc-apropos-compact__stat-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  color: var(--coral);
  line-height: 1;
}
.sc-apropos-compact__stat-label {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
}
@media (max-width: 781px) {
  .sc-apropos-compact { grid-template-columns: 1fr; gap: 32px; }
  .sc-apropos-compact__photo { max-width: 220px; margin: 0 auto; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE RÉSERVER V3 — Full screen 2 colonnes
   ═════════════════════════════════════════════════════════════ */

.sc-section--reserver-fullscreen { min-height: calc(100vh - 80px); }
.sc-reserver-fullscreen {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: start;
}
.sc-reserver-fullscreen__title {
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1 !important;
  color: var(--cream) !important;
  margin: 14px 0 20px !important;
}
.sc-reserver-fullscreen__lede {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: rgba(246,243,238,0.85);
  margin: 0 0 32px 0;
}
.sc-reserver-fullscreen__checklist-block {
  background: rgba(255,255,255,0.05);
  border-left: 3px solid var(--coral);
  padding: 24px;
  border-radius: 2px;
}
.sc-reserver-fullscreen__checklist-title {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 16px;
}
.sc-reserver-fullscreen__checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sc-reserver-fullscreen__checklist li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--cream);
}
.sc-reserver-fullscreen__checklist li strong { color: var(--cream); font-weight: 700; }
.sc-reserver-fullscreen__check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 11px;
  margin-top: 2px;
}
.sc-reserver-fullscreen__contact {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(246,243,238,0.2);
}
.sc-reserver-fullscreen__contact-label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 10px;
  color: rgba(246,243,238,0.6);
  margin-bottom: 10px;
}
.sc-reserver-fullscreen__contact-links {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream);
}
.sc-reserver-fullscreen__contact-links a {
  color: var(--cream) !important;
  font-weight: 600;
  background-image: none !important;
  text-decoration: none !important;
}
.sc-reserver-fullscreen__contact-links a:hover { color: var(--coral) !important; }
.sc-reserver-fullscreen__contact-sep {
  margin: 0 10px;
  color: rgba(246,243,238,0.4);
}
.sc-calendly-wrap-clean {
  background: var(--white);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 18px 40px -16px rgba(0,0,0,0.4);
}

@media (max-width: 1024px) {
  .sc-reserver-fullscreen { grid-template-columns: 1fr; gap: 32px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V4 — Hero compact 2 colonnes
   ═════════════════════════════════════════════════════════════ */

.sc-page-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: end;
}
.sc-page-hero-grid__title {
  font-size: clamp(36px, 5vw, 64px) !important;
  line-height: 1 !important;
  color: var(--cream) !important;
  margin: 14px 0 0 !important;
}
.sc-page-hero-grid__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: rgba(246,243,238,0.85);
  margin: 0 0 20px;
}
.sc-page-hero-grid__cta {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  color: var(--coral) !important;
  text-decoration: none !important;
  background-image: none !important;
}
@media (max-width: 781px) {
  .sc-page-hero-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V4 — Header tableau comparatif en 2 col
   ═════════════════════════════════════════════════════════════ */

.sc-compare-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: end;
}
.sc-compare-header__note {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
@media (max-width: 781px) {
  .sc-compare-header { grid-template-columns: 1fr; gap: 16px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V4 — Sections fusionnées 2-col (Méthode+Séance / Outils+Zones)
   ═════════════════════════════════════════════════════════════ */

.sc-fusion-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
.sc-fusion-2col__cell {
  min-width: 0;
}
.sc-fusion-2col__title {
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1 !important;
  color: var(--navy);
  margin: 14px 0 28px !important;
}
.sc-fusion-2col__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sc-fusion-2col__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
}
.sc-fusion-2col__item-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 32px;
  color: var(--coral);
  line-height: 0.9;
  letter-spacing: -0.02em;
}
.sc-fusion-2col__item-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 6px;
}
.sc-fusion-2col__item p {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--slate) !important;
  margin: 0 !important;
}
.sc-fusion-2col__item p strong { color: var(--navy); font-weight: 700; }
.sc-fusion-2col__item p em { color: var(--coral); font-style: italic; }

/* Séance type compact (col droite) */
.sc-fusion-2col__seance {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sc-fusion-2col__seance-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--hairline);
}
.sc-fusion-2col__seance-item:last-child { border-bottom: none; padding-bottom: 0; }
.sc-fusion-2col__seance-time {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  color: var(--coral);
  padding-top: 4px;
}
.sc-fusion-2col__seance-body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
}
.sc-fusion-2col__seance-body strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  margin-bottom: 4px;
}

/* Outils list (col gauche outils+zones) */
.sc-outils-list, .sc-zones-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sc-outils-list__item, .sc-zones-list__item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  padding: 16px;
  background: var(--white);
  border-left: 3px solid var(--coral);
  border-radius: 2px;
}
.sc-outils-list__icon {
  font-size: 28px;
  line-height: 1;
}
.sc-outils-list__item > div:last-child,
.sc-zones-list__item .sc-zones-list__body {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--slate);
}
.sc-outils-list__item strong,
.sc-zones-list__body strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  color: var(--navy);
  margin-bottom: 4px;
}
.sc-zones-list__time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 18px;
  color: var(--coral);
  line-height: 1;
  padding-top: 4px;
}
.sc-zones-list__body span {
  font-size: 13px;
  color: var(--slate);
}
.sc-zones-list__note {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--slate);
  font-style: italic;
  margin-top: 16px;
  text-align: center;
}

@media (max-width: 1024px) {
  .sc-fusion-2col { grid-template-columns: 1fr; gap: 48px; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES — BENTO 2x2 (Méthode/Séance/Outils/Zones)
   ═════════════════════════════════════════════════════════════ */

.sc-bento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.sc-bento__card {
  padding: 28px 28px 32px;
  border-radius: 4px;
  border: 1px solid var(--hairline);
  position: relative;
  transition: transform .2s, box-shadow .2s;
}
.sc-bento__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px -12px rgba(27,58,107,0.15);
}
.sc-bento__card--methode { background: var(--cream); border-top: 4px solid var(--coral); }
.sc-bento__card--seance { background: var(--navy); color: var(--cream); border-top: 4px solid var(--coral); border-color: transparent; }
.sc-bento__card--outils { background: var(--navy); color: var(--cream); border-top: 4px solid var(--coral); border-color: transparent; }
.sc-bento__card--zones { background: var(--cream); border-top: 4px solid var(--coral); }

.sc-bento__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-bento__card--seance .sc-bento__kicker,
.sc-bento__card--outils .sc-bento__kicker { color: var(--coral); }

.sc-bento__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 24px;
  line-height: 1.05;
  color: var(--navy);
  margin: 0 0 20px 0;
}
.sc-bento__card--seance .sc-bento__title,
.sc-bento__card--outils .sc-bento__title { color: var(--cream); }

.sc-bento__list,
.sc-bento__seance,
.sc-bento__outils,
.sc-bento__zones {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sc-bento__list li,
.sc-bento__seance li,
.sc-bento__outils li,
.sc-bento__zones li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  align-items: start;
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--slate);
}
.sc-bento__card--seance li,
.sc-bento__card--outils li { color: rgba(246,243,238,0.85); }

.sc-bento__list li strong,
.sc-bento__seance li strong,
.sc-bento__outils li strong,
.sc-bento__zones li strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--navy);
}
.sc-bento__card--seance li strong,
.sc-bento__card--outils li strong { color: var(--cream); }

.sc-bento__list li em { color: var(--coral); font-style: italic; }

.sc-bento__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  flex-shrink: 0;
}
.sc-bento__time,
.sc-bento__zone-time {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
  color: var(--coral);
  padding-top: 4px;
}
.sc-bento__outil-icon {
  font-size: 22px;
  line-height: 1;
  padding-top: 0;
  text-align: center;
}

.sc-bento__note {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  font-style: italic;
  margin-top: 16px;
  text-align: center;
}

@media (max-width: 781px) {
  .sc-bento { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES — "Hors forfait" en composition magazine asymétrique
   ═════════════════════════════════════════════════════════════ */

.sc-hors-forfait { width: 100%; }
.sc-hors-forfait__header { max-width: 760px; margin-bottom: 40px; }
.sc-hors-forfait__title {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 14px 0 0 !important;
}

/* Grille asymétrique — Entretien plus large, À la carte centre, Zones plus étroite */
.sc-hors-forfait__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.9fr;
  gap: 24px;
  align-items: stretch;
}

.sc-hors-forfait__card {
  padding: 32px;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .2s, box-shadow .2s;
}
.sc-hors-forfait__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -14px rgba(27,58,107,0.18);
}

/* Carte 1 — Entretien (navy, full plein) */
.sc-hors-forfait__card--entretien {
  background: var(--navy);
  color: var(--cream);
}
.sc-hors-forfait__card--entretien .sc-hors-forfait__card-title { color: var(--cream); }

/* Carte 2 — À la carte (cream, sobre) */
.sc-hors-forfait__card--carte {
  background: var(--cream);
  border: 1px solid var(--hairline);
}

/* Carte 3 — Zones (corail léger, visuel) */
.sc-hors-forfait__card--zones {
  background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
  color: var(--cream);
}
.sc-hors-forfait__card--zones .sc-hors-forfait__card-title { color: var(--cream); }

.sc-hors-forfait__card-kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 12px;
}
.sc-hors-forfait__card--zones .sc-hors-forfait__card-kicker { color: var(--cream); opacity: 0.85; }

.sc-hors-forfait__card-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 28px;
  line-height: 1;
  color: var(--navy);
  margin: 0 0 20px 0;
}

/* Bloc prix Entretien */
.sc-hors-forfait__card-price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  padding: 16px 0;
  border-top: 1px solid rgba(246,243,238,0.2);
  border-bottom: 1px solid rgba(246,243,238,0.2);
  margin-bottom: 20px;
}
.sc-hors-forfait__card-brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: rgba(246,243,238,0.6);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
}
.sc-hors-forfait__card-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 42px;
  color: var(--cream);
  line-height: 1;
  letter-spacing: -0.01em;
}
.sc-hors-forfait__card-period {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246,243,238,0.7);
  flex-basis: 100%;
  margin-top: 4px;
}

.sc-hors-forfait__card-desc {
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(246,243,238,0.85);
  margin: 0 !important;
  flex: 1;
}
.sc-hors-forfait__card--carte .sc-hors-forfait__card-desc { color: var(--slate); }
.sc-hors-forfait__card--entretien .sc-hors-forfait__card-desc strong { color: var(--cream); }
.sc-hors-forfait__card--carte .sc-hors-forfait__card-desc strong { color: var(--navy); }

.sc-hors-forfait__card-hint {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed rgba(246,243,238,0.2);
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--coral);
}

/* À la carte — tableau */
.sc-hors-forfait__carte-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 13px;
  margin-bottom: 16px;
}
.sc-hors-forfait__carte-table tr { border-bottom: 1px solid var(--hairline); }
.sc-hors-forfait__carte-table tr:last-child { border-bottom: none; }
.sc-hors-forfait__carte-table td {
  padding: 12px 0;
  vertical-align: middle;
  color: var(--navy);
}
.sc-hors-forfait__carte-table td:first-child { font-weight: 600; }
.sc-hors-forfait__carte-table td:last-child { text-align: right; font-size: 13px; }
.sc-hors-forfait__carte-table strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--coral);
  font-size: 14px;
}
.sc-hors-forfait__carte-brut {
  display: inline-block;
  font-size: 11px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
  margin-right: 6px;
}

/* Zones */
.sc-hors-forfait__zones {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
  flex: 1;
}
.sc-hors-forfait__zone {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  background: rgba(246,243,238,0.15);
  border-radius: 2px;
}
.sc-hors-forfait__zone-badge {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  color: var(--cream);
  text-align: center;
  padding: 4px;
  background: rgba(19,36,59,0.4);
  border-radius: 2px;
}
.sc-hors-forfait__zone-detail {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream);
  line-height: 1.35;
}
.sc-hors-forfait__zone-detail strong { font-family: var(--font-display); font-weight: 800; display: block; }
.sc-hors-forfait__zones-note {
  font-family: var(--font-body);
  font-size: 11px;
  color: rgba(246,243,238,0.75);
  font-style: italic;
  margin: 0;
  text-align: center;
}

@media (max-width: 1024px) {
  .sc-hors-forfait__grid { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V6 — VRAIE EXPLOITATION DE LA LARGEUR
   wideSize passé à 1700px dans theme.json
   ═════════════════════════════════════════════════════════════ */

/* ─── HERO SPLIT 50/50 pleine largeur ─── */
.sc-section--hero-split { padding: 0 !important; }
.sc-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 64vh;
}
.sc-hero-split__left {
  background: var(--navy);
  color: var(--cream);
  padding: 100px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sc-hero-split__title {
  font-size: clamp(48px, 6vw, 88px) !important;
  line-height: 0.95 !important;
  color: var(--cream) !important;
  margin: 18px 0 0 !important;
}
.sc-hero-split__right {
  background: var(--cream);
  padding: 100px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}
.sc-hero-split__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--hairline);
}
.sc-hero-split__stat-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 38px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.02em;
}
.sc-hero-split__stat-label {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--slate);
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
  line-height: 1.35;
}
.sc-hero-split__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--navy);
  margin: 0;
}
.sc-hero-split__cta {
  display: inline-flex;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  color: var(--coral);
  text-decoration: none !important;
  background-image: none !important;
  align-self: flex-start;
}
@media (max-width: 1024px) {
  .sc-hero-split { grid-template-columns: 1fr; }
  .sc-hero-split__left, .sc-hero-split__right { padding: 60px 32px; }
}

/* ─── MÉTHODE WIDE — 3 cards asymétriques (grosse + 2 normales) ─── */
.sc-methode-wide-header {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 48px;
}
.sc-methode-wide-header__title {
  font-size: clamp(32px, 3.6vw, 48px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 0 !important;
}
.sc-methode-wide-header__lede {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-methode-wide-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 24px;
}
.sc-methode-wide-grid__card {
  background: var(--cream);
  padding: 36px 32px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  transition: transform .2s, box-shadow .2s;
}
.sc-methode-wide-grid__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -14px rgba(27,58,107,0.18);
}
.sc-methode-wide-grid__card--big {
  background: var(--navy);
  color: var(--cream);
}
.sc-methode-wide-grid__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 72px;
  color: var(--coral);
  line-height: 0.9;
  letter-spacing: -0.04em;
  margin-bottom: 20px;
  opacity: 0.6;
}
.sc-methode-wide-grid__card--big .sc-methode-wide-grid__num { opacity: 1; }
.sc-methode-wide-grid__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  line-height: 1.15;
  color: var(--navy);
  margin: 0 0 16px 0;
}
.sc-methode-wide-grid__card--big .sc-methode-wide-grid__title { color: var(--cream); }
.sc-methode-wide-grid__card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}
.sc-methode-wide-grid__card--big p { color: rgba(246,243,238,0.85); }
.sc-methode-wide-grid__card p strong { color: var(--navy); font-weight: 700; }
.sc-methode-wide-grid__card--big p strong { color: var(--cream); }
.sc-methode-wide-grid__card p em { color: var(--coral); font-style: italic; }
@media (max-width: 1024px) {
  .sc-methode-wide-header { grid-template-columns: 1fr; gap: 16px; }
  .sc-methode-wide-grid { grid-template-columns: 1fr; }
}

/* ─── SÉANCE TIMELINE — 4 colonnes pleine largeur sur fond navy ─── */
.sc-seance-timeline-header { margin-bottom: 56px; max-width: 760px; }
.sc-seance-timeline-header__title {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1 !important;
  color: var(--cream) !important;
  margin: 14px 0 0 !important;
}
.sc-seance-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.sc-seance-timeline__step {
  display: flex;
  flex-direction: column;
}
.sc-seance-timeline__bar {
  height: 4px;
  background: rgba(246,243,238,0.15);
  border-radius: 2px;
  margin-bottom: 16px;
  overflow: hidden;
}
.sc-seance-timeline__progress {
  height: 100%;
  background: var(--coral);
  border-radius: 2px;
}
.sc-seance-timeline__time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 36px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.sc-seance-timeline__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--cream);
  line-height: 1.2;
  margin: 0 0 10px 0;
}
.sc-seance-timeline__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(246,243,238,0.8);
  margin: 0;
}
@media (max-width: 1024px) {
  .sc-seance-timeline { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .sc-seance-timeline { grid-template-columns: 1fr; }
}

/* ─── OUTILS WIDE — 3 cartes pleine largeur avec photos ─── */
.sc-outils-wide-header {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 48px;
}
.sc-outils-wide-header__title {
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 14px 0 0 !important;
}
.sc-outils-wide-header__lede {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-outils-wide-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.sc-outils-wide-grid__card {
  background: var(--white);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--hairline);
  transition: transform .2s, box-shadow .2s;
}
.sc-outils-wide-grid__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -14px rgba(27,58,107,0.18);
}
.sc-outils-wide-grid__pic .sc-photo {
  width: 100%;
  aspect-ratio: 16/10;
  border: none;
}
.sc-outils-wide-grid__body { padding: 28px; }
.sc-outils-wide-grid__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-outils-wide-grid__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--navy);
  margin: 0 0 12px 0;
}
.sc-outils-wide-grid__card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
@media (max-width: 1024px) {
  .sc-outils-wide-header { grid-template-columns: 1fr; gap: 16px; }
  .sc-outils-wide-grid { grid-template-columns: 1fr; }
}

/* ─── HORS FORFAIT WIDE — Magazine 60/40 (Entretien grande G, 2 cards empilées D) ─── */
.sc-hors-wide-header { margin-bottom: 40px; max-width: 760px; }
.sc-hors-wide-header__title {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 14px 0 0 !important;
}
.sc-hors-wide-magazine {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
}
.sc-hors-wide-magazine__main {
  background: var(--navy);
  color: var(--cream);
  padding: 48px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sc-hors-wide-magazine__main-kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 14px;
}
.sc-hors-wide-magazine__main-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 44px;
  color: var(--cream);
  line-height: 1;
  margin: 0 0 28px 0;
}
.sc-hors-wide-magazine__main-price {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid rgba(246,243,238,0.2);
  border-bottom: 1px solid rgba(246,243,238,0.2);
  margin-bottom: 24px;
}
.sc-hors-wide-magazine__main-brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: rgba(246,243,238,0.5);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
}
.sc-hors-wide-magazine__main-arrow { color: var(--coral); font-weight: 700; font-size: 22px; }
.sc-hors-wide-magazine__main-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 56px;
  color: var(--cream);
  line-height: 1;
  letter-spacing: -0.02em;
}
.sc-hors-wide-magazine__main-period {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(246,243,238,0.7);
  flex-basis: 100%;
}
.sc-hors-wide-magazine__main-desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(246,243,238,0.9);
  margin: 0 0 20px 0;
}
.sc-hors-wide-magazine__main-desc strong { color: var(--cream); font-weight: 700; }
.sc-hors-wide-magazine__main-hint {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--coral);
  padding-top: 16px;
  border-top: 1px dashed rgba(246,243,238,0.2);
}

.sc-hors-wide-magazine__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 24px;
}
.sc-hors-wide-magazine__sub {
  padding: 28px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
}
.sc-hors-wide-magazine__sub--carte {
  background: var(--cream);
  border: 1px solid var(--hairline);
}
.sc-hors-wide-magazine__sub--zones {
  background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
  color: var(--cream);
  border-color: transparent;
}
.sc-hors-wide-magazine__sub-kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-hors-wide-magazine__sub--zones .sc-hors-wide-magazine__sub-kicker { color: var(--cream); opacity: 0.9; }
.sc-hors-wide-magazine__sub-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  color: var(--navy);
  margin: 0 0 16px 0;
  line-height: 1;
}
.sc-hors-wide-magazine__sub--zones .sc-hors-wide-magazine__sub-title { color: var(--cream); }

.sc-hors-wide-magazine__carte-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 13px;
}
.sc-hors-wide-magazine__carte-table tr { border-bottom: 1px solid var(--hairline); }
.sc-hors-wide-magazine__carte-table tr:last-child { border-bottom: none; }
.sc-hors-wide-magazine__carte-table td { padding: 10px 0; color: var(--navy); }
.sc-hors-wide-magazine__carte-table td:first-child { font-weight: 600; }
.sc-hors-wide-magazine__carte-table td:last-child { text-align: right; }
.sc-hors-wide-magazine__carte-table strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--coral);
  font-size: 14px;
}
.sc-hors-wide-magazine__brut {
  display: inline-block;
  font-size: 11px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
  margin-right: 6px;
}

.sc-hors-wide-magazine__zones {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sc-hors-wide-magazine__zone {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
  background: rgba(246,243,238,0.15);
  border-radius: 2px;
}
.sc-hors-wide-magazine__zone-time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 13px;
  color: var(--cream);
  text-align: center;
  padding: 4px;
  background: rgba(19,36,59,0.4);
  border-radius: 2px;
}
.sc-hors-wide-magazine__zone span:last-child {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream);
  line-height: 1.35;
}
.sc-hors-wide-magazine__zone span:last-child strong {
  font-family: var(--font-display);
  font-weight: 800;
  display: inline;
}
@media (max-width: 1024px) {
  .sc-hors-wide-magazine { grid-template-columns: 1fr; }
}

/* ─── Compare table — élargir un peu pour exploiter le wide ─── */
.sc-compare__table { font-size: 14px; }
.sc-section--offres-compare { max-width: 100%; }

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V7 — LAYOUT DASHBOARD (sidebar sticky + main)
   ═════════════════════════════════════════════════════════════ */

.sc-offres-layout-wrap { padding: 0 !important; }
.sc-offres-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 0;
  align-items: start;
  min-height: 100vh;
}

/* ─── SIDEBAR STICKY ─── */
.sc-offres-sidebar {
  background: var(--navy);
  color: var(--cream);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 0;
}
.sc-offres-sidebar__inner {
  padding: 48px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-height: 100%;
}
.sc-offres-sidebar__head { display: flex; flex-direction: column; gap: 14px; }
.sc-offres-sidebar__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 32px;
  line-height: 1;
  color: var(--cream);
  margin: 0;
  letter-spacing: -0.01em;
}
.sc-offres-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 8px;
  border-top: 1px solid rgba(246,243,238,0.15);
  flex: 1;
}
.sc-offres-nav__link {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 14px;
  padding: 16px 0;
  color: var(--cream) !important;
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(246,243,238,0.08);
  transition: padding-left .2s, color .2s;
}
.sc-offres-nav__link:hover {
  padding-left: 12px;
  color: var(--coral) !important;
}
.sc-offres-nav__link:hover .sc-offres-nav__num { color: var(--cream); }
.sc-offres-nav__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 18px;
  color: var(--coral);
  letter-spacing: -0.01em;
  line-height: 1;
  transition: color .2s;
}
.sc-offres-nav__txt {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 12px;
  line-height: 1.2;
}
.sc-offres-sidebar__cta-block {
  padding: 24px;
  background: var(--coral);
  border-radius: 4px;
  margin-top: auto;
}
.sc-offres-sidebar__cta-label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10px;
  color: rgba(246,243,238,0.85);
  margin-bottom: 10px;
}
.sc-offres-sidebar__cta {
  display: block;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 18px;
  color: var(--cream) !important;
  text-decoration: none !important;
  background-image: none !important;
  line-height: 1.15;
  padding: 0;
}
.sc-offres-sidebar__cta-sub {
  font-family: var(--font-body);
  font-size: 11px;
  color: rgba(246,243,238,0.85);
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}

/* ─── MAIN CONTENT ─── */
.sc-offres-main {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.sc-offres-block {
  padding: 80px 64px;
  scroll-margin-top: 80px;
  background: var(--cream);
}
.sc-offres-block--alt { background: var(--white); }
.sc-offres-block--dark { background: var(--navy); color: var(--cream); }

.sc-offres-block__head {
  display: grid;
  grid-template-columns: 72px 1fr 320px;
  gap: 32px;
  align-items: end;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--navy);
}
.sc-offres-block__head--dark { border-bottom-color: rgba(246,243,238,0.2); }
.sc-offres-block__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 56px;
  color: var(--coral);
  line-height: 0.9;
  letter-spacing: -0.03em;
}
.sc-offres-block__num--alt { color: var(--coral); }
.sc-offres-block__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 36px;
  color: var(--navy);
  line-height: 1.05;
  margin: 0;
}
.sc-offres-block__title--dark { color: var(--cream); }
.sc-offres-block__intro {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
  align-self: end;
  padding-bottom: 4px;
}
.sc-offres-block--dark .sc-offres-block__intro { color: rgba(246,243,238,0.7); }

/* Override de la grille méthode dans le contexte dashboard (3 cards plus serrées) */
.sc-offres-block .sc-methode-wide-grid { grid-template-columns: 1.5fr 1fr 1fr; }
.sc-offres-block .sc-seance-timeline { grid-template-columns: repeat(4, 1fr); }
.sc-offres-block .sc-outils-wide-grid { grid-template-columns: repeat(3, 1fr); }
.sc-offres-block .sc-hors-wide-magazine { grid-template-columns: 1.4fr 1fr; }
.sc-offres-block .sc-faq__list { columns: 2; column-gap: 40px; }

/* Override tableau dans le dashboard */
.sc-offres-block .sc-compare__table { font-size: 13.5px; }

@media (max-width: 1200px) {
  .sc-offres-layout { grid-template-columns: 240px 1fr; }
  .sc-offres-sidebar__inner { padding: 32px 24px; gap: 24px; }
  .sc-offres-sidebar__title { font-size: 24px; }
  .sc-offres-block { padding: 64px 40px; }
  .sc-offres-block .sc-methode-wide-grid { grid-template-columns: 1fr; }
  .sc-offres-block .sc-outils-wide-grid { grid-template-columns: 1fr; }
  .sc-offres-block .sc-seance-timeline { grid-template-columns: repeat(2, 1fr); }
  .sc-offres-block .sc-hors-wide-magazine { grid-template-columns: 1fr; }
  .sc-offres-block__head { grid-template-columns: 56px 1fr; }
  .sc-offres-block__intro { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
  .sc-offres-layout { grid-template-columns: 1fr; }
  .sc-offres-sidebar {
    position: relative;
    height: auto;
    overflow: visible;
  }
  .sc-offres-nav { display: none; }
  .sc-offres-sidebar__cta-block { margin-top: 16px; }
  .sc-offres-block { padding: 48px 24px; }
  .sc-offres-block .sc-seance-timeline { grid-template-columns: 1fr; }
  .sc-offres-block .sc-faq__list { columns: 1; }
}

/* ═════════════════════════════════════════════════════════════
   PAGE RÉSERVER V4 — FULL-SCREEN SPLIT
   ═════════════════════════════════════════════════════════════ */

.sc-section--reserver-split {
  padding: 60px 60px !important;
  background: var(--cream);
}
/* Layout "navy plein-largeur + Calendly absolute par-dessus" :
   - .sc-reserver-split est le navy lui-même (plus de grid)
   - .sc-reserver-split__left occupe ~60% du navy, padding interne
   - .sc-reserver-split__right est position:absolute à droite, par-dessus le navy */
.sc-reserver-split {
  position: relative;
  background: var(--navy);
  color: var(--cream);
  min-height: calc(100vh - 100px);
  max-width: 1700px;
  margin: 0 auto;
  border-radius: 6px;
  box-shadow: 0 24px 60px -20px rgba(27, 58, 107, 0.25);
}
.sc-reserver-split__left {
  padding: 60px 64px;
  /* Le contenu navy s'arrête avant l'emplacement du Calendly à droite */
  max-width: 55%;
  display: flex;
  align-items: center;
  min-height: calc(100vh - 200px);
}
.sc-reserver-split__left-inner {
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sc-reserver-split__title {
  font-size: clamp(36px, 4.5vw, 64px) !important;
  line-height: 1 !important;
  color: var(--cream) !important;
  margin: 12px 0 0 !important;
}
.sc-reserver-split__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: rgba(246,243,238,0.85);
  margin: 0;
}
.sc-reserver-split__price-badge {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(236, 110, 75, 0.16);
  border-left: 3px solid var(--coral);
  padding: 14px 18px;
  border-radius: 2px;
  margin: 18px 0 0 0;
}
.sc-reserver-split__price-badge-pct {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 32px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.sc-reserver-split__price-badge-text {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: rgba(246, 243, 238, 0.95);
}
.sc-reserver-split__price-badge-text strong { color: var(--cream); font-weight: 700; }
.sc-reserver-split__price-badge-text sup { font-size: 0.7em; vertical-align: super; }
.sc-reserver-split__checklist {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sc-reserver-split__checklist li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--cream);
  padding: 12px 0;
  border-bottom: 1px solid rgba(246,243,238,0.1);
}
.sc-reserver-split__checklist li:last-child { border-bottom: none; }
.sc-reserver-split__checklist li strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--cream);
  margin-right: 6px;
}
.sc-reserver-split__text {
  display: block;
  min-width: 0; /* permet au texte long de wrapper correctement dans le grid 1fr */
}

/* Bloc "Informations importantes avant de réserver" */
.sc-reserver-split__notice {
  margin-top: 32px;
  padding: 24px 28px;
  background: rgba(236, 110, 75, 0.08);
  border-left: 3px solid var(--coral);
  border-radius: 2px;
}
.sc-reserver-split__notice-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: italic;
  font-size: 16px;
  color: var(--cream);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.sc-reserver-split__notice-text {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(246, 243, 238, 0.88);
  margin: 0 0 10px;
}
.sc-reserver-split__notice-text:last-child { margin-bottom: 0; }
.sc-reserver-split__notice-text strong { color: var(--cream); font-weight: 700; }
.sc-reserver-split__notice-arrow {
  color: var(--coral);
  font-weight: 900;
  margin-right: 4px;
}
.sc-reserver-split__notice-highlight {
  margin-top: 14px !important;
  padding-top: 12px;
  border-top: 1px solid rgba(246, 243, 238, 0.15);
  color: var(--coral) !important;
  font-size: 13px !important;
}
.sc-reserver-split__notice-highlight strong { color: var(--coral); }

/* ════════════════════════════════════════════════════════════
   TITRES DE PAGE XL — design éditorial
   ════════════════════════════════════════════════════════════
   Le titre WP est enrichi via filter (cf. functions.php) :
     <span class="sc-page-title__eyebrow">EYEBROW</span>
     <span class="sc-page-title__main">Titre avec <span coral>mot</span>.</span>
   Layout : eyebrow corail + ligne décorative + gros titre italic accent.
*/
.page-id-304 .wp-block-post-title,
.page-id-306 .wp-block-post-title {
  display: block !important;
  text-align: left !important;
  margin: 16px auto 8px !important;
  max-width: 1500px !important;
  padding: 0 60px !important;
  position: relative;
  /* Reset toutes les règles de typo héritées */
  font: inherit !important;
  color: inherit !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
}

.sc-page-title__eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--coral);
  margin-bottom: 16px;
  line-height: 1;
}
/* Petite ligne décorative corail avant l'eyebrow */
.sc-page-title__eyebrow::before {
  content: '';
  display: inline-block;
  width: 48px;
  height: 2px;
  background: var(--coral);
  flex-shrink: 0;
}

.sc-page-title__main {
  display: block;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(56px, 7.5vw, 104px);
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--navy);
}
.sc-page-title__main .sc-coral { color: var(--coral); }

.sc-page-title__sub {
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55;
  color: var(--slate);
  margin-top: 30px;
  max-width: 820px;
}

@media (max-width: 781px) {
  .page-id-304 .wp-block-post-title,
  .page-id-306 .wp-block-post-title {
    margin: 48px auto 32px !important;
    padding: 0 24px !important;
  }
  .sc-page-title__eyebrow {
    font-size: 11px;
    letter-spacing: 0.16em;
    gap: 12px;
    margin-bottom: 16px;
  }
  .sc-page-title__eyebrow::before { width: 32px; }
  .sc-page-title__main { font-size: clamp(40px, 9vw, 64px); }
}

/* Variante : on garde le hack body:has() pour les pages futures qui auront
   .sc-section--reserver-split ou .sc-section--pricing-xl mais pas le filter */
body:has(.sc-section--reserver-split) .wp-block-post-title:not(:has(.sc-page-title__main)),
body:has(.sc-section--pricing-xl) .wp-block-post-title:not(:has(.sc-page-title__main)) {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: clamp(56px, 7vw, 96px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  color: var(--navy) !important;
  text-align: left !important;
  margin: 80px auto 24px !important;
  max-width: 1500px !important;
  padding: 0 60px !important;
  display: block !important;
}
.sc-reserver-split__check {
  width: 22px;
  height: 22px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 12px;
  margin-top: 2px;
}
.sc-reserver-split__contact {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(246,243,238,0.2);
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(246,243,238,0.7);
}
.sc-reserver-split__contact-label {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 10px;
  color: rgba(246,243,238,0.6);
  margin-bottom: 8px;
}
.sc-reserver-split__contact a {
  color: var(--cream) !important;
  font-weight: 600;
  background-image: none !important;
  text-decoration: none !important;
}
.sc-reserver-split__contact a:hover { color: var(--coral) !important; }
.sc-reserver-split__contact-sep { margin: 0 8px; color: rgba(246,243,238,0.3); }

/* Carte flottante Calendly : position:absolute par-dessus le navy
   - Ancrée à droite, dépasse légèrement à droite du navy (-30px)
   - Centrée verticalement (top: 50% + translateY)
   - Hauteur élevée mais inférieure à celle du navy → effet "carte qui flotte"
   - Largeur élargie pour remplir l'espace vide à droite du contenu navy */
.sc-reserver-split__right {
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
  width: 50%;
  max-width: 780px;
  height: 820px;
  max-height: calc(100vh - 180px);
  background: var(--white);
  border-radius: 6px;
  box-shadow:
    0 30px 70px -10px rgba(27, 58, 107, 0.55),
    0 0 0 1px rgba(27, 58, 107, 0.08);
  overflow: hidden;
  z-index: 2;
}
.sc-reserver-split__right .calendly-inline-widget {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  inset: 0;
}

/* Responsive — sur tablette/mobile, on bascule en stack vertical.
   Le navy devient pleine largeur sans contenu limité, Calendly dessous. */
@media (max-width: 1024px) {
  .sc-reserver-split {
    min-height: auto;
  }
  .sc-reserver-split__left {
    max-width: none;
    min-height: auto;
    padding: 48px 32px;
  }
  .sc-reserver-split__right {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: calc(100% - 32px);
    max-width: none;
    margin: -20px 16px 16px;
    height: 640px;
    max-height: none;
  }
}

/* ────────────────────────────────────────────────────────────
   Skeleton de chargement Calendly
   Visible avant le chargement du widget externe (et en cas
   d'échec : local dev, blocage pub, CSP). Écrasé par Calendly
   en production. Garantit zéro layout shift (CLS = 0).
   ──────────────────────────────────────────────────────────── */
.sc-calendly-skeleton {
  width: 100%;
  height: 100%;
  min-height: 680px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 32px;
  background:
    linear-gradient(135deg,
      rgba(246, 243, 238, 0) 0%,
      rgba(27, 58, 107, 0.02) 50%,
      rgba(246, 243, 238, 0) 100%);
  background-size: 200% 200%;
  animation: sc-skeleton-shimmer 3s ease-in-out infinite;
}
.sc-calendly-skeleton__inner {
  max-width: 380px;
  text-align: center;
}
.sc-calendly-skeleton__spinner {
  width: 32px;
  height: 32px;
  margin: 0 auto 24px;
  border: 3px solid rgba(27, 58, 107, 0.12);
  border-top-color: var(--coral);
  border-radius: 50%;
  animation: sc-spinner 0.9s linear infinite;
}
.sc-calendly-skeleton__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--navy);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.sc-calendly-skeleton__note {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-calendly-skeleton__note a {
  color: var(--coral);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.sc-calendly-skeleton__note a:hover { color: var(--coral-deep); }

@keyframes sc-skeleton-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes sc-spinner {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .sc-calendly-skeleton,
  .sc-calendly-skeleton__spinner { animation: none; }
}

@media (max-width: 1024px) {
  .sc-reserver-split { grid-template-columns: 1fr; min-height: auto; }
  .sc-reserver-split__left { padding: 48px 24px; }
  .sc-reserver-split__right { min-height: 720px; position: relative; }
}

/* ═════════════════════════════════════════════════════════════
   FORCE FULL VIEWPORT WIDTH
   Casse les containers WordPress (is-layout-constrained + has-global-padding)
   pour que les sections layout dashboard et split prennent vraiment
   toute la largeur du viewport
   ═════════════════════════════════════════════════════════════ */

/* ═══ FORCE FULL-VIEWPORT — Pages Mes offres + Réserver ═══ */

/* Retire le global padding quand la page contient un layout pleine largeur */
.wp-block-post-content.has-global-padding:has(.sc-section--offres-hero-c),
.wp-block-post-content.has-global-padding:has(.sc-section--reserver-split),
.wp-block-post-content.has-global-padding:has(.sc-section--pricing-xl),
.wp-block-post-content.has-global-padding:has(.sc-section--methode),
.wp-block-post-content.has-global-padding:has(.sc-section--bento-master) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Casse les wrappers WP — force 100vw sur TOUTES les sections de ces pages */
.wp-block-post-content .sc-section--offres-hero-c,
.wp-block-post-content .sc-section--pricing-xl,
.wp-block-post-content .sc-section--methode,
.wp-block-post-content .sc-section--bento-master,
.wp-block-post-content .sc-section--faq,
.wp-block-post-content .sc-section--reserver-split,
.wp-site-blocks .sc-section--offres-hero-c,
.wp-site-blocks .sc-section--pricing-xl,
.wp-site-blocks .sc-section--methode,
.wp-site-blocks .sc-section--bento-master,
.wp-site-blocks .sc-section--faq,
.wp-site-blocks .sc-section--reserver-split {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Pour les sections qui doivent rester contenues (page Réserver = max 1500px centered) */
.sc-section--reserver-split { display: flex; justify-content: center; }
.sc-reserver-split { width: 100%; max-width: 1700px !important; }
.sc-hero-split { width: 100%; max-width: 100% !important; }

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V8 — DIRECTION C (COACH HUMAIN)
   Layout éditorial pleine largeur, photos grandes, ton chaleureux
   ═════════════════════════════════════════════════════════════ */

/* Force full-viewport pour la nouvelle hero coach humain */
.wp-block-post-content.has-global-padding:has(.sc-section--offres-hero-c) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.wp-block-post-content .sc-section--offres-hero-c,
.wp-site-blocks .sc-section--offres-hero-c {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* ─── HERO coach humain : photo gauche + texte droite ─── */
.sc-offres-hero-c {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 68vh;
  align-items: stretch;
}
.sc-offres-hero-c__photo {
  position: relative;
  background: var(--cream-2);
}
.sc-offres-hero-c__photo .sc-photo {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: none;
}
.sc-offres-hero-c__photo-badge {
  position: absolute;
  bottom: 32px;
  left: 32px;
  background: var(--coral);
  color: var(--cream);
  padding: 12px 18px;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  border-radius: 2px;
  box-shadow: 0 8px 20px -8px rgba(27,58,107,0.4);
}
.sc-offres-hero-c__text {
  background: var(--cream);
  padding: 80px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}
.sc-offres-hero-c__title {
  font-size: clamp(40px, 4.5vw, 64px) !important;
  line-height: 1 !important;
  color: var(--navy) !important;
  margin: 14px 0 !important;
  max-width: 580px;
}
.sc-offres-hero-c__lede {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
  max-width: 540px;
}
.sc-offres-hero-c__ctas {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 12px;
}
.sc-offres-hero-c__cta-primary {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 16px 28px;
  background: var(--coral);
  color: var(--cream) !important;
  text-decoration: none !important;
  background-image: none !important;
  border-radius: 2px;
  transition: background .15s, transform .15s;
}
.sc-offres-hero-c__cta-primary:hover { background: var(--coral-deep); transform: translateY(-1px); }
.sc-offres-hero-c__cta-secondary {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  color: var(--navy) !important;
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: 1.5px solid var(--coral);
  padding-bottom: 2px;
}
.sc-offres-hero-c__cta-secondary:hover { color: var(--coral) !important; }

@media (max-width: 1024px) {
  .sc-offres-hero-c { grid-template-columns: 1fr; min-height: auto; }
  .sc-offres-hero-c__photo { min-height: 380px; }
  .sc-offres-hero-c__text { padding: 48px 32px; }
}

/* ─── Headers de sections (centrés ou alignés) ─── */
.sc-offres-c-header {
  max-width: 760px;
  margin-bottom: 40px;
}
.sc-offres-c-header--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.sc-offres-c-header__title {
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
  margin: 14px 0 16px !important;
}
.sc-offres-c-header--center .sc-offres-c-header__title { color: var(--navy); }
.sc-section--seance-c .sc-offres-c-header__title { color: var(--cream) !important; }
.sc-offres-c-header__lede {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-offres-c-header--center .sc-offres-c-header__lede {
  margin-left: auto;
  margin-right: auto;
  max-width: 580px;
}

/* ─── Méthode 3 cards ─── */
.sc-methode-c-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.sc-methode-c-card {
  background: var(--cream);
  padding: 36px 32px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  transition: transform .2s, box-shadow .2s;
}
.sc-methode-c-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -16px rgba(27,58,107,0.18);
}
.sc-methode-c-card__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 56px;
  color: var(--coral);
  line-height: 0.9;
  letter-spacing: -0.03em;
  margin-bottom: 16px;
  opacity: 0.6;
}
.sc-methode-c-card__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 20px;
  color: var(--navy);
  margin: 0 0 12px 0;
  line-height: 1.2;
}
.sc-methode-c-card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}
.sc-methode-c-card p strong { color: var(--navy); font-weight: 700; }
.sc-methode-c-card p em { color: var(--coral); font-style: italic; }
@media (max-width: 1024px) { .sc-methode-c-grid { grid-template-columns: 1fr; } }

/* ─── Séance timeline ─── */
.sc-seance-c-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.sc-seance-c-step { display: flex; flex-direction: column; }
.sc-seance-c-step__bar {
  height: 4px;
  background: rgba(246,243,238,0.15);
  border-radius: 2px;
  margin-bottom: 16px;
  overflow: hidden;
}
.sc-seance-c-step__progress { height: 100%; background: var(--coral); border-radius: 2px; }
.sc-seance-c-step__time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 32px;
  color: var(--coral);
  line-height: 1;
  margin-bottom: 12px;
}
.sc-seance-c-step__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--cream);
  margin: 0 0 10px 0;
}
.sc-seance-c-step__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(246,243,238,0.8);
  margin: 0;
}
@media (max-width: 1024px) { .sc-seance-c-timeline { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .sc-seance-c-timeline { grid-template-columns: 1fr; } }

/* ─── Outils 3 cards avec photos ─── */
.sc-outils-c-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.sc-outils-c-card {
  background: var(--white);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--hairline);
  transition: transform .2s, box-shadow .2s;
}
.sc-outils-c-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -16px rgba(27,58,107,0.18);
}
.sc-outils-c-card__pic .sc-photo {
  width: 100%;
  aspect-ratio: 16/10;
  border: none;
}
.sc-outils-c-card__body { padding: 28px; }
.sc-outils-c-card__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-outils-c-card__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--navy);
  margin: 0 0 12px 0;
}
.sc-outils-c-card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
@media (max-width: 1024px) { .sc-outils-c-grid { grid-template-columns: 1fr; } }

/* ─── Hors forfait magazine 2/3 - 1/3 ─── */
.sc-hors-c-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 28px;
  align-items: stretch;
}
.sc-hors-c-main {
  background: var(--navy);
  color: var(--cream);
  padding: 48px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sc-hors-c-main__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 14px;
}
.sc-hors-c-main__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 44px;
  color: var(--cream);
  line-height: 1;
  margin: 0 0 28px 0;
}
.sc-hors-c-main__price {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid rgba(246,243,238,0.2);
  border-bottom: 1px solid rgba(246,243,238,0.2);
  margin-bottom: 24px;
}
.sc-hors-c-main__brut { font-family: var(--font-display); font-weight: 700; font-size: 22px; color: rgba(246,243,238,0.5); text-decoration: line-through; text-decoration-color: var(--coral); }
.sc-hors-c-main__arrow { color: var(--coral); font-weight: 700; font-size: 22px; }
.sc-hors-c-main__net { font-family: var(--font-display); font-weight: 900; font-size: 56px; color: var(--cream); line-height: 1; }
.sc-hors-c-main__period { font-family: var(--font-body); font-size: 13px; color: rgba(246,243,238,0.7); flex-basis: 100%; }
.sc-hors-c-main__desc { font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: rgba(246,243,238,0.9); margin: 0 0 20px 0; }
.sc-hors-c-main__desc strong { color: var(--cream); font-weight: 700; }
.sc-hors-c-main__hint {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--coral);
  padding-top: 16px;
  border-top: 1px dashed rgba(246,243,238,0.2);
}
.sc-hors-c-side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 24px;
}
.sc-hors-c-sub {
  padding: 28px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  background: var(--cream);
  border: 1px solid var(--hairline);
}
.sc-hors-c-sub--zones {
  background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
  color: var(--cream);
  border-color: transparent;
}
.sc-hors-c-sub__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--coral);
  margin-bottom: 8px;
}
.sc-hors-c-sub--zones .sc-hors-c-sub__kicker { color: var(--cream); opacity: 0.9; }
.sc-hors-c-sub__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  color: var(--navy);
  margin: 0 0 16px 0;
}
.sc-hors-c-sub--zones .sc-hors-c-sub__title { color: var(--cream); }
.sc-hors-c-carte-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 13px;
}
.sc-hors-c-carte-table tr { border-bottom: 1px solid var(--hairline); }
.sc-hors-c-carte-table tr:last-child { border-bottom: none; }
.sc-hors-c-carte-table td { padding: 10px 0; color: var(--navy); }
.sc-hors-c-carte-table td:first-child { font-weight: 600; }
.sc-hors-c-carte-table td:last-child { text-align: right; }
.sc-hors-c-carte-table strong { font-family: var(--font-display); font-weight: 800; color: var(--coral); font-size: 14px; }
.sc-hors-c-brut { display: inline-block; font-size: 11px; color: var(--slate); text-decoration: line-through; text-decoration-color: var(--coral); margin-right: 6px; }

.sc-hors-c-zones { display: flex; flex-direction: column; gap: 10px; }
.sc-hors-c-zone {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
  background: rgba(246,243,238,0.15);
  border-radius: 2px;
}
.sc-hors-c-zone-time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 13px;
  color: var(--cream);
  text-align: center;
  padding: 4px;
  background: rgba(19,36,59,0.4);
  border-radius: 2px;
}
.sc-hors-c-zone span:last-child {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream);
  line-height: 1.35;
}
.sc-hors-c-zone strong { font-family: var(--font-display); font-weight: 800; }

@media (max-width: 1024px) { .sc-hors-c-grid { grid-template-columns: 1fr; } }

/* ═════════════════════════════════════════════════════════════
   PAGE OFFRES V9 — 3 CARDS PRICING XL (remplace le tableau)
   ═════════════════════════════════════════════════════════════ */

.sc-pricing-xl {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.sc-pricing-xl__card {
  background: var(--white);
  border: 1px solid var(--hairline);
  padding: 40px 32px;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  transition: transform .2s, box-shadow .2s;
}
.sc-pricing-xl__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px -18px rgba(27,58,107,0.2);
}
.sc-pricing-xl__card--featured {
  background: var(--navy);
  color: var(--cream);
  border-color: var(--coral);
  border-width: 2px;
  transform: translateY(-12px);
  box-shadow: 0 24px 48px -16px rgba(27,58,107,0.3);
}
.sc-pricing-xl__card--featured:hover {
  transform: translateY(-16px);
}
@media (max-width: 1024px) {
  .sc-pricing-xl__card--featured { transform: none; }
  .sc-pricing-xl__card--featured:hover { transform: translateY(-4px); }
}

.sc-pricing-xl__badge {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--coral);
  color: var(--cream);
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11px;
  padding: 9px 20px;
  border-radius: 100px;
  white-space: nowrap;
  box-shadow: 0 4px 12px -2px rgba(236, 110, 75, 0.45);
  z-index: 2;
}
.sc-pricing-xl__kicker {
  display: none;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 11px;
  color: var(--coral);
}
.sc-pricing-xl__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 36px;
  color: var(--navy);
  margin: 0;
  line-height: 1;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__title { color: var(--cream); }
.sc-pricing-xl__subtitle {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--coral);
  margin-top: 10px;
  font-weight: 800;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__subtitle { color: #F0997B; }

.sc-pricing-xl__price {
  padding: 0;
  margin: 22px 0 0;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__price {
  border-color: rgba(246,243,238,0.2);
}
.sc-pricing-xl__price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.sc-pricing-xl__price-brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
}
.sc-pricing-xl__card--featured .sc-pricing-xl__price-brut { color: rgba(246,243,238,0.5); }
.sc-pricing-xl__price-arrow {
  color: var(--coral);
  font-weight: 700;
  font-size: 22px;
}
.sc-pricing-xl__price-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 56px;
  color: var(--navy);
  line-height: 1;
  letter-spacing: -0.02em;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__price-net { color: var(--cream); }
.sc-pricing-xl__price-period {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  color: var(--slate);
  margin-top: 6px;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__price-period { color: rgba(246,243,238,0.7); }
.sc-pricing-xl__price-session {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--navy);
  margin-top: 12px;
  line-height: 1.4;
}
.sc-pricing-xl__price-session strong { color: var(--coral); font-weight: 700; }
.sc-pricing-xl__card--featured .sc-pricing-xl__price-session { color: var(--cream); }
.sc-pricing-xl__durations {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--slate);
  margin-top: 8px;
  line-height: 1.45;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__durations { color: rgba(246, 243, 238, 0.8); }
/* Plus de hack padding-top : l'inline est maintenant à 80/80 (grille harmonisée) */

.sc-pricing-xl__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.sc-pricing-xl__bullets li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.45;
  color: var(--navy);
}
.sc-pricing-xl__card--featured .sc-pricing-xl__bullets li { color: rgba(246,243,238,0.9); }
.sc-pricing-xl__bullet--off { opacity: 0.5; }
.sc-pricing-xl__check--off { background: var(--slate) !important; }
.sc-socle-commun { max-width: 1000px; margin: 28px auto 0; text-align: center; }
.sc-socle-commun__label { font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; color: var(--slate); margin-bottom: 14px; }
.sc-socle-commun__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.sc-socle-chip { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-body); font-size: 14px; color: var(--navy); background: #fff; border: 1px solid rgba(27,58,107,0.10); border-radius: 100px; padding: 8px 16px; }
.sc-socle-chip svg { color: var(--coral); flex-shrink: 0; }
.sc-pricing-xl__sameness {
  display: none; /* cadre paresseux retiré — redesign en cours */
  text-align: center;
  max-width: 820px;
  margin: 0 auto 36px;
  padding: 16px 24px;
  background: #fff;
  border: 1px solid rgba(27,58,107,0.12);
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--navy);
}
.sc-pricing-xl__check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 10px;
  margin-top: 2px;
}

.sc-pricing-xl__profile {
  padding: 0;
  margin-top: 16px;
  background: none;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__profile {
  background: none;
  border-top-color: rgba(246,243,238,0.2);
}
.sc-pricing-xl__profile-label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  color: var(--slate);
  margin-bottom: 6px;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__profile-label { color: rgba(246,243,238,0.55); }
.sc-pricing-xl__profile-text {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--navy);
  line-height: 1.45;
}
.sc-pricing-xl__card--featured .sc-pricing-xl__profile-text { color: var(--cream); }
.sc-pricing-xl__durations { display: none; }
.sc-pricing-xl__profile-label { display: none; }
.sc-pricing-xl__profile-text { font-style: italic; }

.sc-pricing-xl__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 19px 24px 15px;
  line-height: 1;
  background: var(--navy);
  color: var(--cream) !important;
  text-decoration: none !important;
  background-image: none !important;
  border-radius: 2px;
  transition: background .15s, transform .15s;
  margin-top: 8px;
}
.sc-pricing-xl__cta:hover { background: var(--ink); transform: translateY(-1px); }
.sc-pricing-xl__cta--featured {
  background: var(--coral);
}
.sc-pricing-xl__cta--featured:hover { background: var(--coral-deep); }

/* ===== Style 1 — cartes tarifs epurees (tout en sans, featured allegee) ===== */
.sc-pricing-xl__title {
  font-family: var(--font-body);
  font-weight: 800;
  font-style: normal;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -0.025em;
  position: relative;
  padding-bottom: 16px;
}
.sc-pricing-xl__title::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 3px;
  background: var(--coral);
  border-radius: 2px;
}
.sc-pricing-xl__price-row { gap: 8px; }
.sc-pricing-xl__price-net { font-family: var(--font-body); font-weight: 700; font-size: 44px; order: 0; }
.sc-pricing-xl__price-brut { font-family: var(--font-body); font-weight: 500; font-size: 15px; text-decoration-color: currentColor; order: 1; }
.sc-pricing-xl__price-arrow { display: none; }
.sc-pricing-xl__price-session { font-size: 12px; color: var(--slate); margin-top: 6px; }
.sc-pricing-xl__price-session strong { color: var(--navy); font-weight: 600; }
.sc-pricing-xl__card--featured {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 20px 44px -18px rgba(27,58,107,0.18);
}
.sc-pricing-xl__card--featured .sc-pricing-xl__title,
.sc-pricing-xl__card--featured .sc-pricing-xl__price-net,
.sc-pricing-xl__card--featured .sc-pricing-xl__bullets li { color: var(--navy); }
.sc-pricing-xl__card--featured .sc-pricing-xl__subtitle { color: var(--coral); }
.sc-pricing-xl__card--featured .sc-pricing-xl__price-brut,
.sc-pricing-xl__card--featured .sc-pricing-xl__price-period,
.sc-pricing-xl__card--featured .sc-pricing-xl__price-session,
.sc-pricing-xl__card--featured .sc-pricing-xl__profile-text { color: var(--slate); }

/* ===== Épure A v2 — hiérarchie spatiale ===== */
/* On reprend le contrôle du gap uniforme du card pour pouvoir
   différencier les zones (titre+séances · prix · bénéfices · action). */
.sc-pricing-xl__card { gap: 0 !important; padding: 44px 36px !important; }

.sc-pricing-xl__title { margin-top: 0; }

.sc-pricing-xl__seances {
  font-family: var(--font-body);
  font-size: 19px;
  font-weight: 700;
  color: var(--coral);
  line-height: 1.2;
  margin-top: 14px;            /* serré sous le titre — duo */
}
.sc-pricing-xl__card--featured .sc-pricing-xl__seances { color: var(--coral); }

.sc-pricing-xl__price { margin: 36px 0 0 !important; }   /* respiration AVANT le prix */
.sc-pricing-xl__price-net { font-size: 50px !important; letter-spacing: -0.025em; }
.sc-pricing-xl__price-period {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
  color: var(--slate);
  margin-top: 10px;
}

.sc-pricing-xl__bullets {
  gap: 14px !important;
  margin-top: 44px !important; /* ← LE GROS BOND prix → bénéfices */
}
.sc-pricing-xl__bullets li { font-size: 14px; line-height: 1.5; }

.sc-pricing-xl__cta { margin-top: 36px !important; }     /* respiration AVANT l'action */

/* Per-session : argument économique majeur, remonté DANS la zone prix.
   Aligné à gauche (suit le prix), coral gras, taille décente. */
.sc-pricing-xl__per-session {
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 600;
  color: var(--coral);
  text-align: left;
  margin-top: 14px;
  line-height: 1.3;
}

/* Mise en avant featured : surélévation douce, le badge suit. */
.sc-pricing-xl__card--featured { transform: translateY(-10px); }

/* Bandeau scarcité (places limitées) entre cartes et bandeau dépliable */
.sc-pricing-xl__places-limit {
  text-align: center;
  max-width: 720px;
  margin: 28px auto 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--slate);
}
.sc-pricing-xl__places-limit strong { color: var(--coral); font-weight: 700; }

/* ===== Bandeau dépliable : détail des prix par durée ===== */
.sc-tarifs-detail {
  max-width: 920px;
  margin: 36px auto 0;
  border: 1px solid var(--hairline);
  border-radius: 8px;
  background: var(--white);
  overflow: hidden;
}
.sc-tarifs-detail__summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 5px 18px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--navy);
  transition: background .15s;
}
.sc-tarifs-detail__summary::-webkit-details-marker { display: none; }
.sc-tarifs-detail__summary:hover { background: var(--cream); }
.sc-tarifs-detail__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--coral);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: transform .2s;
}
.sc-tarifs-detail[open] .sc-tarifs-detail__chevron { transform: rotate(45deg); }
.sc-tarifs-detail__body {
  padding: 8px 24px 24px;
  overflow-x: auto;
}
.sc-tarifs-detail__table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
}
.sc-tarifs-detail__table th,
.sc-tarifs-detail__table td {
  padding: 14px 12px;
  text-align: center;
  font-size: 14px;
  color: var(--navy);
  vertical-align: middle;
}
.sc-tarifs-detail__table thead th {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  border-bottom: 2px solid var(--navy);
  padding-top: 16px;
  padding-bottom: 14px;
}
.sc-tarifs-detail__table thead th span {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--slate);
  margin-top: 4px;
  letter-spacing: 0;
}
.sc-tarifs-detail__corner { background: transparent !important; border: none !important; }
.sc-tarifs-detail__table tbody th {
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  padding-left: 4px;
}
.sc-tarifs-detail__table tbody th em {
  display: block;
  font-style: normal;
  font-weight: 400;
  color: var(--slate);
  font-size: 11px;
  margin-top: 2px;
}
.sc-tarifs-detail__table tbody td strong {
  font-weight: 700;
  font-size: 17px;
  color: var(--navy);
}
.sc-tarifs-detail__table tbody td span {
  display: block;
  font-size: 12px;
  color: var(--coral);
  font-weight: 600;
  margin-top: 4px;
}
.sc-tarifs-detail__table tbody tr {
  border-bottom: 1px solid var(--hairline);
}
.sc-tarifs-detail__table tbody tr:last-child { border-bottom: none; }
.sc-tarifs-detail__row--featured td strong { color: var(--coral); }
.sc-tarifs-detail__row--featured th em { color: var(--coral); font-weight: 600; }
.sc-tarifs-detail__legend {
  font-size: 12px;
  color: var(--slate);
  text-align: center;
  margin: 18px 0 0;
  font-style: italic;
}

@media (max-width: 640px) {
  .sc-tarifs-detail__table th,
  .sc-tarifs-detail__table td { padding: 10px 6px; font-size: 13px; }
  .sc-tarifs-detail__table tbody td strong { font-size: 15px; }
}

@media (max-width: 1024px) {
  .sc-pricing-xl { grid-template-columns: 1fr; }
}

/* Accordéon tableau détaillé */
.sc-pricing-xl__details {
  border-top: 1px solid var(--hairline);
  padding-top: 24px;
}
.sc-pricing-xl__details-summary {
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  color: var(--coral);
  text-align: center;
  padding: 12px;
  list-style: none;
}
.sc-pricing-xl__details-summary::-webkit-details-marker { display: none; }
.sc-pricing-xl__details-summary:hover { color: var(--coral-deep); }
.sc-pricing-xl__details[open] .sc-pricing-xl__details-summary {
  color: var(--navy);
}

/* ═════════════════════════════════════════════════════════════
   BENTO MASTER — Grille 2D fusionne Méthode + Outils + Hors forfait
   Layout 12 col grid, 2 lignes, tuiles de tailles variées
   ═════════════════════════════════════════════════════════════ */

.sc-bento-master {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto auto;
  gap: 20px;
}

/* Ligne 1 : Méthode (8 col) + Outils (4 col) */
.sc-bento-master__tile--methode { grid-column: span 8; }
.sc-bento-master__tile--outils  { grid-column: span 4; }

/* Ligne 2 : Entretien (6 col) + Carte (4 col) + Zones (2 col?... non, 6/3/3) */
.sc-bento-master__tile--entretien { grid-column: span 6; }
.sc-bento-master__tile--carte     { grid-column: span 3; }
.sc-bento-master__tile--zones     { grid-column: span 3; }

@media (max-width: 1100px) {
  .sc-bento-master__tile--methode,
  .sc-bento-master__tile--outils { grid-column: span 12; }
  .sc-bento-master__tile--entretien { grid-column: span 12; }
  .sc-bento-master__tile--carte { grid-column: span 6; }
  .sc-bento-master__tile--zones { grid-column: span 6; }
}
@media (max-width: 640px) {
  .sc-bento-master__tile--carte,
  .sc-bento-master__tile--zones { grid-column: span 12; }
}

/* Tuile générique */
.sc-bento-master__tile {
  background: var(--cream);
  padding: 32px;
  border-radius: 4px;
  border-top: 4px solid var(--coral);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .2s, box-shadow .2s;
}
.sc-bento-master__tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -14px rgba(27,58,107,0.18);
}

/* Variations couleur par tuile */
.sc-bento-master__tile--outils {
  background: var(--navy);
  color: var(--cream);
}
.sc-bento-master__tile--entretien {
  background: var(--navy);
  color: var(--cream);
}
.sc-bento-master__tile--zones {
  background: var(--cream-2);
  color: var(--navy);
  border-top: 4px solid var(--coral);
}
/* Override : sur la tuile Zones (fond clair), le titre passe en navy. */
.sc-bento-master__tile--zones .sc-bento-master__title--light { color: var(--navy); }

/* Header tuile */
.sc-bento-master__kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 10px;
  color: var(--coral);
  line-height: 1.4;
}
.sc-bento-master__tile--outils .sc-bento-master__kicker,
.sc-bento-master__tile--entretien .sc-bento-master__kicker { color: var(--coral); }
.sc-bento-master__tile--zones .sc-bento-master__kicker { color: var(--cream); opacity: 0.9; }

.sc-bento-master__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  color: var(--navy);
  margin: 0;
  line-height: 1;
}
.sc-bento-master__title--light { color: var(--cream); }
.sc-bento-master__tile--outils .sc-bento-master__title { color: var(--cream); }

/* Listes méthode */
.sc-bento-master__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sc-bento-master__list li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: start;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--slate);
}
.sc-bento-master__list li strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--navy);
}
.sc-bento-master__list li em { color: var(--coral); font-style: italic; }
.sc-bento-master__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--coral);
  color: var(--cream);
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  flex-shrink: 0;
}

/* Liste outils avec icônes */
.sc-bento-master__list-icons {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sc-bento-master__list-icons li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.4;
  color: rgba(246,243,238,0.85);
}
.sc-bento-master__list-icons li strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--cream);
}
.sc-bento-master__icon { font-size: 22px; line-height: 1; text-align: center; }

/* Entretien : prix */
.sc-bento-master__tile--entretien .sc-bento-master__title {
  font-size: 32px;
  margin-bottom: 8px;
}
.sc-bento-master__price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px 0;
  border-top: 1px solid rgba(246,243,238,0.2);
  border-bottom: 1px solid rgba(246,243,238,0.2);
}
.sc-bento-master__brut {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: rgba(246,243,238,0.5);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
}
.sc-bento-master__arrow { color: var(--coral); font-weight: 700; font-size: 18px; }
.sc-bento-master__net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 44px;
  color: var(--cream);
  line-height: 1;
}
.sc-bento-master__period {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246,243,238,0.7);
  flex-basis: 100%;
}
.sc-bento-master__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(246,243,238,0.9);
  margin: 0;
}
.sc-bento-master__desc strong { color: var(--cream); font-weight: 700; }
.sc-bento-master__hint {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 10px;
  color: var(--coral);
  padding-top: 12px;
  border-top: 1px dashed rgba(246,243,238,0.2);
  line-height: 1.4;
}

/* Carte tableau */
.sc-bento-master__carte-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 12px;
}
.sc-bento-master__carte-table tr { border-bottom: 1px solid var(--hairline); }
.sc-bento-master__carte-table tr:last-child { border-bottom: none; }
.sc-bento-master__carte-table td {
  padding: 10px 0;
  color: var(--navy);
  vertical-align: middle;
}
.sc-bento-master__carte-table td:first-child { font-weight: 600; }
.sc-bento-master__carte-table td:last-child { text-align: right; }
.sc-bento-master__carte-table strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--coral);
  font-size: 13px;
}
.sc-bento-master__carte-brut {
  display: inline-block;
  font-size: 10px;
  color: var(--slate);
  text-decoration: line-through;
  text-decoration-color: var(--coral);
  margin-right: 4px;
}

/* Zones */
.sc-bento-master__zones {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sc-bento-master__zone {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 10px;
  align-items: center;
  padding: 6px 10px;
  background: rgba(27, 58, 107, 0.06);
  border-radius: 2px;
  color: var(--navy);
}
.sc-bento-master__zone-time {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 11px;
  color: var(--cream);
  text-align: center;
  padding: 4px;
  background: var(--coral);
  border-radius: 2px;
}
.sc-bento-master__zone span:last-child {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--cream);
}
.sc-bento-master__zone strong { font-family: var(--font-display); font-weight: 800; }

/* ═════════════════════════════════════════════════════════════
   FAQ déjà en 2 colonnes (CSS columns), mais ajustement pour gap
   ═════════════════════════════════════════════════════════════ */
/* Layout flex column géré dans le bloc design FAQ ci-dessous */

/* ─────────────────────────────────────────────────────────────
   Pattern : CRÉDIT D'IMPÔT 50%
   ───────────────────────────────────────────────────────────── */

.sc-section--credit { position: relative; }
.sc-section--credit .sc-credit__eyebrow { color: var(--coral) !important; }
.sc-credit__title {
  font-size: clamp(48px, 6vw, 72px) !important;
  line-height: 1 !important;
  color: var(--cream) !important;
}
.sc-credit__lede {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: rgba(246, 243, 238, 0.85) !important;
  max-width: 480px;
  margin: 0 !important;
}

.sc-credit__frame {
  border: 1.5px solid var(--cream);
  padding: 48px;
  position: relative;
}
.sc-credit__big {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(140px, 16vw, 220px);
  line-height: 0.9;
  color: var(--coral);
  text-align: center;
  letter-spacing: -0.04em;
}
.sc-credit__big-pct { font-size: 0.55em; }
.sc-credit__sub {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246, 243, 238, 0.7);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 700;
  margin-top: 16px;
}

@media (max-width: 781px) {
  .sc-section--credit { padding: 64px 24px !important; }
  .sc-credit__frame { padding: 28px; }
}

/* ─────────────────────────────────────────────────────────────
   Pattern : MIROIR "Tu te reconnais ?"
   ───────────────────────────────────────────────────────────── */

.sc-section--miroir { position: relative; }

.sc-miroir__list { width: 100%; }

.sc-miroir__line {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-style: italic !important;
  font-size: clamp(22px, 2.6vw, 30px) !important;
  line-height: 1.25 !important;
  color: var(--navy) !important;
  text-align: center !important;
  margin: 0 !important;
  letter-spacing: -0.005em;
  position: relative;
  padding-left: 24px;
  padding-right: 24px;
}

/* Petit point corail discret à gauche de chaque ligne */
.sc-miroir__line::before {
  content: "—";
  color: var(--coral);
  font-weight: 900;
  margin-right: 10px;
  font-style: normal;
  display: inline;
}

.sc-miroir__sep {
  width: 48px !important;
  border: none !important;
  height: 2px !important;
  background-color: var(--coral) !important;
  margin: 56px auto 32px auto !important;
  opacity: 1 !important;
}

.sc-miroir__transition {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: var(--navy) !important;
  margin: 0 !important;
}

@media (max-width: 781px) {
  .sc-section--miroir { padding: 64px 24px !important; }
  .sc-miroir__line { font-size: 20px !important; padding-left: 0; padding-right: 0; }
}

/* ─────────────────────────────────────────────────────────────
   Pattern : FAQ (accordéon natif <details>)
   ───────────────────────────────────────────────────────────── */

.sc-section--faq { position: relative; }
.sc-faq__title {
  font-size: clamp(36px, 5vw, 56px) !important;
  line-height: 1.05 !important;
  color: var(--navy);
}

.sc-faq__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.sc-faq__item {
  background: transparent;
  border: none;
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  transition: background .2s ease;
}
.sc-faq__item:first-of-type { border-top: none; }
.sc-faq__item:hover { background: rgba(236, 110, 75, 0.04); }
.sc-faq__item[open] { background: var(--cream); }

.sc-faq__q {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 17px;
  color: var(--navy);
  cursor: pointer;
  padding: 22px 68px 22px 24px;
  position: relative;
  list-style: none;
  line-height: 1.4;
  transition: color .2s ease;
}
.sc-faq__q:hover { color: var(--coral); }
.sc-faq__q::-webkit-details-marker { display: none; }
.sc-faq__q::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--coral);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  transition: transform .35s cubic-bezier(0.65, 0, 0.35, 1);
}
.sc-faq__item[open] .sc-faq__q::after {
  transform: translateY(-50%) rotate(45deg);
}
.sc-faq__item[open] .sc-faq__q {
  color: var(--coral);
}

@keyframes sc-faq-trait-grow {
  from { width: 0; }
  to { width: 36px; }
}

/* Grid trick : wrapper toujours dans le flow, hauteur animée via grid-template-rows.
   Évite le layout shift natif du <details> (display none/block instantané). */
.sc-faq__a-wrap {
  display: grid !important;
  grid-template-rows: 0fr;
  transition: grid-template-rows .42s cubic-bezier(0.4, 0, 0.2, 1);
}
.sc-faq__item[open] .sc-faq__a-wrap {
  grid-template-rows: 1fr;
}
.sc-faq__a-wrap > .sc-faq__a {
  overflow: hidden;
  min-height: 0;
}

.sc-faq__a {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--slate);
  padding: 0 24px 24px 24px;
  position: relative;
}
.sc-faq__a::before {
  content: '';
  display: block;
  width: 36px;
  height: 2px;
  background: var(--coral);
  margin-bottom: 16px;
  border-radius: 2px;
}
.sc-faq__item[open] .sc-faq__a::before {
  animation: sc-faq-trait-grow .45s .15s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.sc-faq__a strong { color: var(--navy); }

@media (max-width: 781px) {
  .sc-section--faq { padding: 64px 24px !important; }
  .sc-faq__q { font-size: 16px; padding: 20px 56px 20px 18px; }
  .sc-faq__q::after { right: 16px; }
  .sc-faq__a { padding: 0 18px 20px 18px; }
}

/* ─────────────────────────────────────────────────────────────
   Pattern : CTA FINAL (fond corail)
   ───────────────────────────────────────────────────────────── */

.sc-section--cta-final { position: relative; text-align: center; }
.sc-cta-final__eyebrow {
  color: var(--cream) !important;
  opacity: 0.85;
}
.sc-cta-final__title {
  font-size: clamp(48px, 7vw, 88px) !important;
  line-height: 0.95 !important;
  color: var(--cream) !important;
}
.sc-cta-final__under {
  position: relative;
  display: inline-block;
}
.sc-cta-final__under::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0.08em;
  height: 0.18em;
  background: var(--navy);
  z-index: -1;
}
.sc-cta-final__lede {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: rgba(246, 243, 238, 0.9) !important;
  max-width: 580px;
  margin: 0 auto !important;
}
.sc-btn--cta-final .wp-block-button__link {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 14px !important;
  padding: 20px 36px !important;
  border-radius: 2px !important;
}

@media (max-width: 781px) {
  .sc-section--cta-final { padding: 80px 24px !important; }
  .sc-cta-final__title { font-size: clamp(40px, 10vw, 56px) !important; }
}

/* ════════════════════════════════════════════════════════════
   AVIS GOOGLE — section dynamique sur la home
   ════════════════════════════════════════════════════════════ */
.sc-section--google-reviews { background: var(--cream); }

.sc-google-reviews__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
  margin-bottom: 48px;
}

.sc-google-reviews__topline {
  display: none; /* badge + note Google déplacés SOUS le carousel (footer) */
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}
.sc-google-reviews__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  padding: 10px 18px;
  border-radius: 100px;
  box-shadow: 0 2px 8px rgba(27, 58, 107, 0.08);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
}
.sc-google-reviews__g { flex-shrink: 0; }

.sc-google-reviews__rating-block {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.sc-google-reviews__rating-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 48px;
  line-height: 1;
  color: var(--navy);
  letter-spacing: -0.02em;
}
.sc-google-reviews__total {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--slate);
}

.sc-google-reviews__title {
  font-size: clamp(32px, 4.2vw, 48px) !important;
  line-height: 1.05 !important;
  color: var(--navy) !important;
  margin: 12px 0 0 !important;
}

/* Étoiles */
.sc-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #F0B400; /* jaune Google */
}
.sc-stars .sc-star { display: block; }
.sc-stars .sc-star--filled { fill: #F0B400; }

/* Marquee : carrousel droite → gauche en boucle infinie
   Astuce : on duplique les cards dans le track (2× dans le HTML),
   on translate de -50% → on revient à la position de départ visuelle.
   `mask-image` ajoute un fondu sur les bords pour un effet pro. */
.sc-google-reviews__marquee {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  margin: 0 -60px; /* compense le padding de la section pour aller bord-à-bord */
  padding: 8px 0; /* espace pour la shadow des cards */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}
.sc-google-reviews__track {
  display: flex;
  gap: 24px;
  width: max-content;
}
.sc-google-reviews__marquee::-webkit-scrollbar { display: none; }
.sc-google-reviews__marquee { cursor: grab; }
.sc-google-reviews__marquee.is-grabbing { cursor: grabbing; user-select: none; }
@keyframes sc-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 12px)); } /* -50% + moitié du gap (24/2) */
}
/* Respect des préférences utilisateur (motion sensitivity) */
@media (prefers-reduced-motion: reduce) {
  .sc-google-reviews__track { animation: none; }
  .sc-google-reviews__marquee { overflow-x: auto; }
}

.sc-google-review {
  background: #fff;
  border-radius: 6px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(27, 58, 107, 0.06);
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 3px solid var(--coral);
  width: 340px;
  flex-shrink: 0;
}
.sc-google-review__header {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 12px;
}
.sc-google-review__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--cream-2);
}
.sc-google-review__avatar--initial {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--navy);
  background: var(--cream-2);
}
.sc-google-review__author {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.sc-google-review__date {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 400;
  color: var(--slate);
  margin-top: 4px;
  opacity: 0.7;
  letter-spacing: 0.02em;
}
.sc-google-review__text {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--navy);
  margin: 0;
  font-weight: 400;
  /* Limite à 6 lignes pour homogénéiser la hauteur des cards */
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sc-google-reviews__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 40px;
}
.sc-google-reviews__cta {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 14px 28px;
  background: var(--coral);
  color: #fff !important;
  border-radius: 2px;
  text-decoration: none;
  transition: background 0.15s ease;
}
.sc-google-reviews__cta:hover { background: var(--coral-deep); }
.sc-google-reviews__cta-secondary {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sc-google-reviews__verified {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 13px;
  color: var(--slate);
}
.sc-google-reviews__footer .sc-star { width: 22px; height: 22px; }

@media (max-width: 781px) {
  .sc-section--google-reviews { padding: 60px 24px !important; }
  .sc-google-reviews__rating-num { font-size: 36px; }
  .sc-google-reviews__title { font-size: clamp(28px, 7vw, 36px) !important; }
}

/* ════════════════════════════════════════════════════════════
   SECTION PROCESS — "Comment ça se passe" (timeline horizontale)
   3 étapes du funnel avec flèches connectrices entre chaque card.
   Pleine largeur (max 1500px), fond blanc, cards cream pour le contraste.
   ════════════════════════════════════════════════════════════ */
.sc-section--process { background: var(--white); }
.sc-section--process > .sc-section-head,
.sc-section--process > .sc-process,
.sc-section--process > .sc-process__cta {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
.sc-section--process .sc-section-head {
  margin-bottom: 56px;
}
.sc-section--process .sc-section-head__lede {
  margin-left: auto;
  margin-right: auto;
}

.sc-process {
  display: grid;
  grid-template-columns: 1fr 56px 1fr 56px 1fr;
  align-items: stretch;
  gap: 8px;
}
.sc-process__step {
  background: var(--cream);
  border-radius: 6px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  border-top: 3px solid var(--coral);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 1px 0 0 rgba(27, 58, 107, 0.04);
}
.sc-process__step:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px -8px rgba(27, 58, 107, 0.15);
}
.sc-process__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 56px;
  line-height: 1;
  color: var(--coral);
  letter-spacing: -0.04em;
  margin-bottom: 14px;
  opacity: 0.85;
}
.sc-process__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.05;
  color: var(--navy);
  margin: 0 0 6px;
  letter-spacing: -0.02em;
}
.sc-process__tag {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--coral);
  background: rgba(236, 110, 75, 0.10);
  padding: 4px 10px;
  border-radius: 100px;
  margin-bottom: 14px;
}
.sc-process__desc {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}

/* Flèche connectrice entre les steps */
.sc-process__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--coral);
  opacity: 0.5;
}

/* CTA sous la timeline */
.sc-process__cta {
  text-align: center;
  margin-top: 48px;
}

@media (max-width: 1024px) {
  .sc-process {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .sc-process__arrow {
    transform: rotate(90deg);
    height: 32px;
  }
}
@media (max-width: 781px) {
  .sc-section--process { padding: 60px 24px !important; }
  .sc-process__step { padding: 28px 24px; }
  .sc-process__num { font-size: 44px; }
}

/* ════════════════════════════════════════════════════════════
   CHARTE UNIFIÉE — HEADERS DE SECTION
   ════════════════════════════════════════════════════════════
   Pattern unique pour tous les headers de section : eyebrow corail
   uppercase + gros titre italic navy + lede slate, alignés gauche
   en colonne. Évite les variations (centré / split / etc.) qui
   cassaient la cohérence visuelle du site.

   Exceptions : FAQ et Avis Google restent centrés (cas particuliers).
   ════════════════════════════════════════════════════════════ */
.sc-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin-bottom: 56px;
  max-width: 900px;
}
.sc-section-head--center {
  align-items: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.sc-section-head__eyebrow {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--coral);
  margin: 0 0 14px;
  line-height: 1.3;
}
.sc-section-head__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin: 0;
}
.sc-section-head__title .sc-coral { color: var(--coral); }
.sc-section-head__lede {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--slate);
  margin: 22px 0 0;
  max-width: 820px;
}

/* ════════════════════════════════════════════════════════════
   SECTION ESSENTIEL — "Tout en un coup d'œil"
   Largeur intermédiaire : pas bord-à-bord (100vw), pas étouffé (1500px).
   On vise ~1800px max avec un peu de respiration cream sur les côtés.
   ════════════════════════════════════════════════════════════ */
.sc-section--essentiel {
  background: var(--white);
  max-width: 1800px !important;
  margin: 0 auto !important;
  border-radius: 4px;
}

/* ───── HEADER ───── */
.sc-essentiel__header {
  text-align: center;
  margin-bottom: 80px;
}
.sc-essentiel__title {
  font-size: clamp(56px, 7.5vw, 104px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.03em !important;
  margin: 20px 0 0 !important;
  color: var(--navy) !important;
}
.sc-essentiel__title .sc-coral { color: var(--coral) !important; }

/* ───── ZONE 1 — MÉTHODE TRIPTYQUE ───── */
.sc-essentiel__methode {
  margin-bottom: 100px;
  position: relative;
}
.sc-essentiel__methode-intro {
  display: flex;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 48px;
  padding-bottom: 24px;
  border-bottom: 2px solid rgba(27, 58, 107, 0.08);
}
.sc-essentiel__methode-kicker {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  color: var(--coral);
  flex-shrink: 0;
}
.sc-essentiel__methode-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.02;
  color: var(--navy);
  margin: 0;
  letter-spacing: -0.02em;
}
.sc-essentiel__methode-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  position: relative;
}
/* Ligne corail décorative entre les piliers (desktop) */
.sc-essentiel__methode-grid::before {
  content: '';
  position: absolute;
  top: 26px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(to right,
    transparent 0%,
    rgba(236, 110, 75, 0.3) 15%,
    rgba(236, 110, 75, 0.3) 85%,
    transparent 100%);
  z-index: 0;
}
.sc-essentiel__pillar {
  position: relative;
  z-index: 1;
}
.sc-essentiel__pillar-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  color: var(--coral);
  background: var(--white);
  border: 2px solid var(--coral);
  border-radius: 50%;
  margin-bottom: 24px;
  letter-spacing: -0.04em;
}
.sc-essentiel__pillar-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 24px;
  line-height: 1.1;
  color: var(--navy);
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.sc-essentiel__pillar-desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}
.sc-essentiel__pillar-desc em { color: var(--coral); font-style: italic; font-weight: 600; }

/* ───── ZONE 2 — ONGLETS INTERACTIFS ─────
   3 onglets : Outils / Zones / Forfaits supplémentaires
   1 seul panneau visible à la fois (cliquable + clavier ARIA tabs) */
.sc-tabs {
  width: 100%;
  margin-top: 16px;
}

/* Nav onglets — bar segmentée avec pill corail sur actif */
.sc-tabs__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-bottom: 0;
  background: var(--cream-2);
  padding: 6px;
  border-radius: 4px 4px 0 0;
}
.sc-tab {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-family: var(--font-display);
  color: var(--slate);
  text-align: left;
  transition: all 0.2s ease;
  position: relative;
}
.sc-tab:hover {
  color: var(--navy);
  background: rgba(255, 255, 255, 0.5);
}
.sc-tab.is-active {
  color: var(--cream);
  background: var(--navy);
  box-shadow: 0 4px 12px -2px rgba(27, 58, 107, 0.25);
}
.sc-tab:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 2px;
}
.sc-tab__num {
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
  color: var(--coral);
  letter-spacing: -0.04em;
  line-height: 1;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.sc-tab.is-active .sc-tab__num {
  opacity: 1;
  color: var(--coral);
}
.sc-tab__label {
  font-weight: 800;
  font-size: 16px;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

/* Panneaux */
.sc-tabs__panels {
  background: var(--cream);
  border-radius: 0 0 4px 4px;
  padding: 48px 56px;
  position: relative;
  /* PAS de min-height — le panneau s'adapte à son contenu pour éviter les vides */
}
.sc-tab-panel {
  display: grid;
  grid-template-columns: minmax(260px, 26%) 1fr;
  gap: 48px;
  align-items: stretch;
  animation: sc-panel-fade 0.25s ease-out;
}
.sc-tab-panel[hidden] { display: none; }
@keyframes sc-panel-fade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Head du panneau (colonne gauche) */
.sc-panel-head { }
.sc-panel-eyebrow {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 14px;
  line-height: 1.3;
}
.sc-panel-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 0.98;
  color: var(--navy);
  margin: 0 0 20px;
  letter-spacing: -0.02em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
.sc-panel-title .sc-coral { color: var(--coral); }
.sc-panel-lede {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
  max-width: 320px;
}

/* Grille des items à droite */
.sc-panel-grid {
  display: grid;
  gap: 24px;
}
.sc-panel-grid--3 { grid-template-columns: repeat(3, 1fr); }
.sc-panel-grid--forfaits { grid-template-columns: 1fr 1fr; gap: 28px; }

/* ─── PANEL OUTILS — cards outils ─── */
.sc-tool {
  background: var(--white);
  padding: 36px 32px 32px;
  border-radius: 6px;
  border-top: 3px solid var(--coral);
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 240px;
  box-shadow:
    0 1px 0 0 rgba(27, 58, 107, 0.05),
    0 4px 16px -4px rgba(27, 58, 107, 0.10);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.sc-tool:hover {
  transform: translateY(-3px);
  box-shadow:
    0 1px 0 0 rgba(27, 58, 107, 0.05),
    0 12px 28px -8px rgba(27, 58, 107, 0.18);
}
.sc-tool__num {
  position: absolute;
  top: 20px;
  right: 24px;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 42px;
  color: rgba(236, 110, 75, 0.16);
  line-height: 1;
  letter-spacing: -0.04em;
}
.sc-tool__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  color: var(--navy);
  margin: 0 0 16px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  position: relative;
}
.sc-tool__desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}

/* ─── PANEL ZONES — cards zones ─── */
.sc-zone {
  background: var(--white);
  padding: 36px 32px;
  border-radius: 6px;
  border-top: 3px solid var(--coral);
  display: flex;
  flex-direction: column;
  min-height: 240px;
  box-shadow:
    0 1px 0 0 rgba(27, 58, 107, 0.05),
    0 4px 16px -4px rgba(27, 58, 107, 0.10);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}
.sc-zone:hover {
  transform: translateY(-3px);
  box-shadow:
    0 1px 0 0 rgba(27, 58, 107, 0.05),
    0 12px 28px -8px rgba(27, 58, 107, 0.18);
}
.sc-zone__badge {
  align-self: flex-start;
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  color: var(--cream);
  background: var(--coral);
  padding: 7px 14px;
  border-radius: 100px;
  margin-bottom: 18px;
  letter-spacing: -0.01em;
}
.sc-zone__badge--ext { background: var(--coral); opacity: 0.7; }
.sc-zone__badge--far {
  background: transparent;
  color: var(--coral);
  border: 1.5px dashed var(--coral);
}
.sc-zone__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  color: var(--navy);
  margin: 0 0 8px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.sc-zone__price {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 15px;
  color: var(--coral);
  margin: 0 0 16px;
}
.sc-zone__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}

/* ─── PANEL FORFAITS SUPPLÉMENTAIRES ─── */
.sc-forfait-extra {
  padding: 32px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sc-forfait-extra--entretien {
  background: var(--navy);
  color: var(--cream);
}
.sc-forfait-extra--entretien::after {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(236, 110, 75, 0.18) 0%, transparent 70%);
  pointer-events: none;
}
.sc-forfait-extra--carte {
  background: var(--white);
  border-top: 3px solid var(--coral);
}
.sc-forfait-extra__badge {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 10px;
  color: var(--coral);
  padding: 5px 10px;
  background: rgba(236, 110, 75, 0.14);
  border-radius: 100px;
  position: relative;
}
.sc-forfait-extra__badge--cream {
  background: rgba(236, 110, 75, 0.10);
}
.sc-forfait-extra__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(28px, 2.8vw, 40px);
  line-height: 1;
  color: var(--cream);
  margin: 0;
  letter-spacing: -0.02em;
  position: relative;
}
.sc-forfait-extra__title--dark { color: var(--navy); }
.sc-forfait-extra__price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
}
.sc-forfait-extra__brut {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: rgba(246, 243, 238, 0.5);
  text-decoration: line-through;
}
.sc-forfait-extra__arrow { color: var(--coral); font-weight: 900; font-size: 18px; }
.sc-forfait-extra__net {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 56px;
  line-height: 1;
  color: var(--coral);
  letter-spacing: -0.03em;
}
.sc-forfait-extra__period {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246, 243, 238, 0.7);
  width: 100%;
  margin-top: 4px;
}
.sc-forfait-extra__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(246, 243, 238, 0.92);
  margin: 0;
  position: relative;
}
.sc-forfait-extra__desc--dark { color: var(--slate); }
.sc-forfait-extra__desc strong { color: var(--cream); }
.sc-forfait-extra__desc--dark strong { color: var(--navy); }
.sc-forfait-extra__hint {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246, 243, 238, 0.6);
  padding-top: 12px;
  border-top: 1px solid rgba(246, 243, 238, 0.15);
  margin: 0;
  position: relative;
}
/* Variantes --dark : mêmes éléments sur carte claire (Cycle Initiation Boxe) */
.sc-forfait-extra__brut--dark { color: rgba(27, 58, 107, 0.45); }
.sc-forfait-extra__period--dark { color: var(--slate); }
.sc-forfait-extra__hint--dark {
  color: var(--slate);
  border-top-color: rgba(27, 58, 107, 0.12);
}

/* Packs séance à la carte — 3 mini-cards horizontales (plus généreuses) */
.sc-forfait-extra__packs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: auto;
}
.sc-pack {
  background: var(--cream);
  border-radius: 6px;
  padding: 20px 14px 22px;
  text-align: center;
  border-top: 3px solid var(--coral);
  transition: transform 0.15s ease;
}
.sc-pack:hover { transform: translateY(-2px); }
.sc-pack__label {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.2;
}
.sc-pack__brut {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  opacity: 0.55;
  margin-bottom: 4px;
}
.sc-pack__net {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 32px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.03em;
}
.sc-pack__net small {
  display: block;
  font-size: 10px;
  font-weight: 600;
  font-style: normal;
  color: var(--slate);
  margin-top: 6px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.sc-essentiel__row {
  display: grid;
  grid-template-columns: minmax(220px, 20%) 1fr;
  gap: 56px;
  align-items: center;
  background: var(--cream);
  border-left: 4px solid var(--coral);
  border-radius: 4px;
  padding: 40px 56px;
  min-height: 160px;
}
.sc-essentiel__row--outils    { background: var(--cream); }
.sc-essentiel__row--zones     { background: var(--cream-2); }
.sc-essentiel__row--entretien {
  background: var(--navy);
  color: var(--cream);
  border-left-color: var(--coral);
  position: relative;
  overflow: hidden;
}
.sc-essentiel__row--entretien::after {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(236, 110, 75, 0.16) 0%, transparent 70%);
  pointer-events: none;
}
.sc-essentiel__row--carte { background: var(--cream); }

/* Tête de rangée (titre à gauche) */
.sc-essentiel__row-head { position: relative; }
.sc-essentiel__row-kicker {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 11px;
  color: var(--coral);
  margin-bottom: 10px;
  line-height: 1.3;
}
.sc-essentiel__row-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 0.98;
  color: var(--navy);
  margin: 0;
  letter-spacing: -0.02em;
}
.sc-essentiel__row--entretien .sc-essentiel__row-title { color: var(--cream); }

/* Conteneur des items (droite) */
.sc-essentiel__row-items {
  display: grid;
  gap: 40px;
  position: relative;
}
.sc-essentiel__row-items--3col { grid-template-columns: repeat(3, 1fr); }
.sc-essentiel__row-items--entretien { grid-template-columns: auto 1fr; align-items: center; gap: 56px; }

/* Items génériques (Mes outils) */
.sc-essentiel__row-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
}
.sc-essentiel__row-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  color: var(--coral);
  background: var(--white);
  border-radius: 50%;
  letter-spacing: -0.04em;
  border: 1.5px solid rgba(236, 110, 75, 0.2);
}
.sc-essentiel__row-item strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 2px;
  letter-spacing: -0.01em;
}
.sc-essentiel__row-item span {
  display: block;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  line-height: 1.4;
}

/* Items Zones (chiffres XL) */
.sc-essentiel__row-item--zone {
  grid-template-columns: 90px 1fr;
}
.sc-essentiel__zone-time-big {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 26px;
  line-height: 1;
  color: var(--coral);
  letter-spacing: -0.03em;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  white-space: nowrap;
}
.sc-essentiel__zone-time-big small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--slate);
  margin-top: 4px;
  text-transform: uppercase;
}

/* Items Séance à la carte (3 packs en colonnes horizontales) */
.sc-essentiel__carte-item {
  text-align: center;
  padding: 16px 12px;
  background: var(--white);
  border-radius: 4px;
  border-top: 3px solid var(--coral);
}
.sc-essentiel__carte-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
  margin-bottom: 8px;
}
.sc-essentiel__carte-price {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  opacity: 0.7;
  margin-bottom: 4px;
}
.sc-essentiel__carte-price s { color: var(--slate); }
.sc-essentiel__carte-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 28px;
  color: var(--coral);
  line-height: 1;
  letter-spacing: -0.02em;
}
.sc-essentiel__carte-net small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  font-style: normal;
  color: var(--slate);
  margin-top: 4px;
  letter-spacing: 0.04em;
}

/* Forfait Entretien — prix + texte horizontal */
.sc-essentiel__entretien-text { position: relative; }
.sc-essentiel__entretien-text p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(246, 243, 238, 0.9);
  margin: 0 0 10px;
}
.sc-essentiel__entretien-text strong { color: var(--cream); }
.sc-essentiel__entretien-hint {
  font-size: 12px !important;
  color: rgba(246, 243, 238, 0.6) !important;
  padding-top: 10px;
  border-top: 1px solid rgba(246, 243, 238, 0.15);
  margin-bottom: 0 !important;
}
/* Forfait Entretien — prix layout horizontal */
.sc-essentiel__entretien-price {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: baseline;
  gap: 10px;
  position: relative;
  min-width: 240px;
}
.sc-essentiel__entretien-brut {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: rgba(246, 243, 238, 0.5);
  text-decoration: line-through;
}
.sc-essentiel__entretien-arrow { color: var(--coral); font-weight: 900; font-size: 20px; }
.sc-essentiel__entretien-net {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 56px;
  line-height: 1;
  color: var(--coral);
  letter-spacing: -0.03em;
  font-style: italic;
}
.sc-essentiel__entretien-period {
  grid-column: 1 / -1;
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(246, 243, 238, 0.7);
  margin-top: 6px;
  line-height: 1.4;
}


/* ───── RESPONSIVE ───── */
@media (max-width: 1024px) {
  .sc-tabs__panels { padding: 40px 32px; }
  .sc-tab-panel { grid-template-columns: 1fr; gap: 32px; }
  .sc-panel-lede { max-width: none; }
  .sc-panel-grid--3 { grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
  .sc-panel-grid--forfaits { grid-template-columns: 1fr; }
}
@media (max-width: 781px) {
  .sc-section--essentiel { padding: 60px 24px !important; }
  .sc-essentiel__methode-intro {
    flex-direction: column;
    gap: 8px;
  }
  .sc-essentiel__methode-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sc-essentiel__methode-grid::before { display: none; }

  /* Tabs en stack vertical */
  .sc-tabs__nav { grid-template-columns: 1fr; border-bottom: none; }
  .sc-tab { border-bottom: 1px solid rgba(27, 58, 107, 0.08); padding: 16px 20px; }
  .sc-tab.is-active { background: rgba(236, 110, 75, 0.06); border-bottom-color: var(--coral); }
  .sc-tabs__panels { padding: 32px 20px; }
  .sc-panel-grid--3 { grid-template-columns: 1fr; gap: 12px; }
  .sc-forfait-extra__net { font-size: 44px; }
  .sc-forfait-extra__packs { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════
   SCROLLYTELLING — « Comment je travaille » (design A)
   Aside collant (titre + rail de progression) + étapes qui défilent.
   Réutilise les cartes existantes : .sc-tool / .sc-zone / .sc-forfait-extra.
   ═══════════════════════════════════════════════════════════════ */
.sc-sca {
  display: grid;
  grid-template-columns: minmax(280px, 340px) 1fr;
  gap: 64px;
  align-items: start;
  margin-top: 8px;
}
.sc-sca__aside {
  position: sticky;
  top: 90px;
  align-self: start;
}
.sc-sca__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(34px, 3.6vw, 56px);
  line-height: .95;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin: 0 0 26px;
}
.sc-sca__title .sc-coral { color: var(--coral); }

/* Rail de progression (flex column, ligne en absolu derrière les nodes) */
.sc-sca__rail {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.sc-sca__line {
  position: absolute;
  left: 16px;
  top: 17px;
  bottom: 17px;
  width: 2px;
  background: rgba(27, 58, 107, .14);
  border-radius: 2px;
  z-index: 0;
}
.sc-sca__line-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: var(--coral);
  border-radius: 2px;
  transition: height .5s cubic-bezier(.4, 0, .2, 1);
}
.sc-sca__row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
  padding: 0;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.sc-sca__node {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 2px solid rgba(27, 58, 107, .2);
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 14px;
  letter-spacing: -.04em;
  color: var(--slate);
  transition: background .3s, border-color .3s, color .3s, transform .3s, box-shadow .3s;
}
.sc-sca__txt { padding-top: 4px; }
.sc-sca__lab {
  display: block;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: var(--slate);
  letter-spacing: -.01em;
  line-height: 1.15;
  transition: color .3s;
}
.sc-sca__sub {
  display: block;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--slate);
  margin-top: 3px;
  transition: color .3s;
}
.sc-sca__node.is-active {
  border-color: var(--coral);
  background: var(--coral);
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 6px 16px -4px rgba(236, 110, 75, .5);
}
.sc-sca__node.is-done { border-color: var(--coral); color: var(--coral); }
.sc-sca__row.is-active .sc-sca__lab { color: var(--navy); }
.sc-sca__row.is-active .sc-sca__sub { color: var(--slate); }
.sc-sca__row:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Colonne des étapes qui défilent */
.sc-sca__main { min-width: 0; }
.sc-sca__step { padding: 8px 0 64px; }
.sc-sca__step:last-child { padding-bottom: 8px; }
.sc-sca__lede { max-width: 620px; }

@media (max-width: 900px) {
  .sc-sca { grid-template-columns: 1fr; gap: 28px; }
  .sc-sca__aside { position: static; }
  .sc-sca__title { margin-bottom: 24px; }
  .sc-sca__step { padding-bottom: 56px; }
}


/* ═══════════════════════════════════════════════════════════════
   UNIFORMISATION GLOBALE — espacements + échelle de titres
   (placé en dernier : gagne sur les anciennes règles à spécificité égale)
   Objectif : espacements ≈80px, gros titres plafonnés, hiérarchie nette.
   ═══════════════════════════════════════════════════════════════ */

/* — 1. Espacement vertical uniforme des sections (resserré 80 → 64px) — */
.sc-section,
.sc-section--cta-final {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
@media (max-width: 781px) {
  .sc-section,
  .sc-section--cta-final {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* — Pas de vide entre le header et le 1er bloc, NI entre les sections — */
/* WordPress applique un block-gap de 1.2rem entre blocs de niveau supérieur ;
   on le neutralise pour <main> et pour les sections qu'il contient. */
.wp-site-blocks > main,
.wp-site-blocks > main > * { margin-block-start: 0 !important; }

/* — 2. En-têtes de section : moins d'air sous le titre — */
.sc-section-head { margin-bottom: 40px !important; }
.sc-section-head__lede { margin-top: 28px !important; }

/* — 3. Échelle de titres unifiée (3 niveaux) — */

/* Niveau 1 — titre de page / héros (le plus grand) */
.sc-hero-v2__title,
.sc-page-title__main {
  font-size: clamp(40px, 6vw, 64px) !important;
  line-height: 1.0 !important;
}

/* Niveau 2 — titres de section */
.sc-section-head__title,
.sc-apropos-compact__title,
.sc-google-reviews__title,
.sc-faq__title,
.sc-reserver-split__title,
.sc-sca__title,
.sc-methode__title,
.sc-transfos__title {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.05 !important;
}

/* ════════════════════════════════════════════════════════════
   SECTION TRANSFORMATIONS CLIENTS (home, sous les avis)
   Emplacements photos avant/après — placeholders en attendant
   les vraies images de Seb.
   ════════════════════════════════════════════════════════════ */
.sc-transfos { max-width: 1200px; margin: 0 auto; }

.sc-transfos__head { text-align: center; margin-bottom: 40px; }
.sc-transfos__title { margin: 8px 0 0; }
.sc-transfos__lede {
  margin: 14px auto 0;
  max-width: 560px;
  color: var(--slate);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.5;
}

.sc-transfos__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.sc-transfo {
  margin: 0;
  background: var(--cream);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(19, 36, 59, 0.06);
  transition: transform .35s ease, box-shadow .35s ease;
}
/* Survol carte transfo : léger soulèvement + ombre */
.sc-transfo:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(19, 36, 59, 0.16);
}

/* Emplacement image (placeholder) — ratio carré, bord pointillé */
.sc-transfo__ph {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    repeating-linear-gradient(45deg, rgba(30,58,95,0.04) 0 12px, rgba(30,58,95,0.07) 12px 24px);
  border-bottom: 2px dashed rgba(30, 58, 95, 0.25);
}
.sc-transfo__ph-label {
  text-align: center;
  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(30, 58, 95, 0.45);
  line-height: 1.5;
}

.sc-transfo__cap {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sc-transfo__name {
  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 800;
  font-size: 17px;
  color: var(--ink);
}
.sc-transfo__result {
  font-size: 20px;
  font-weight: 700;
  color: var(--coral-deep);
}

/* Variante avant/après : deux vraies photos côte à côte dans l'emplacement */
.sc-transfo__ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
  aspect-ratio: 1 / 1;
}
.sc-transfo__ba-item {
  position: relative;
  overflow: hidden;
}
.sc-transfo__ba-item + .sc-transfo__ba-item {
  border-left: 3px solid #fff;
}
.sc-transfo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
/* Survol : zoom léger des photos avant/après dans leur cadre */
.sc-transfo:hover .sc-transfo__img {
  transform: scale(1.06);
}
.sc-transfo__ba-tag {
  position: absolute;
  left: 8px;
  bottom: 8px;
  padding: 3px 10px;
  border-radius: 999px;
  font-family: var(--font-display, "Montserrat", sans-serif);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(19, 36, 59, 0.78);
}
.sc-transfo__ba-tag--after {
  background: var(--coral-deep);
}

@media (max-width: 900px) {
  .sc-transfos__grid { grid-template-columns: 1fr; max-width: 380px; margin-left: auto; margin-right: auto; }
}

/* Niveau 3 — sous-titres / panneaux (sous un titre de section) */
.sc-panel-title {
  font-size: clamp(24px, 2.6vw, 36px) !important;
  line-height: 1.1 !important;
}

/* ════════════════════════════════════════════════════════════
   COMMENT JE TRAVAILLE — méthode (2 sous-blocs : outils + zones)
   Remplace l'ancien scrollytelling .sc-sca (rail collant + JS).
   En-tête centré, puis 2 sous-blocs empilés ; chacun a sa propre
   tête centrée + une grille de 3 cartes (réutilise .sc-tool /
   .sc-zone et .sc-panel-grid--3 existants).
   ════════════════════════════════════════════════════════════ */
/* La section blanche doit sortir de la largeur de contenu étroite du thème
   (layout « constrained » → sinon ~620px). Comme .sc-section--essentiel :
   ~1800px centré, avec du cream qui respire sur les côtés (PAS bord-à-bord). */
.sc-section--methode {
  background: var(--white);
}
.sc-methode { max-width: 1600px; margin: 0 auto; }

.sc-methode__head { text-align: center; margin-bottom: 48px; }
.sc-methode__title { margin: 8px 0 0; }
.sc-methode__title .sc-coral { color: var(--coral); }
.sc-methode__lede {
  margin: 22px auto 0;
  max-width: 620px;
  color: var(--slate);
  font-family: var(--font-body);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.6;
}

.sc-methode__block + .sc-methode__block { margin-top: 52px; }
.sc-methode__block-head { text-align: center; margin-bottom: 28px; }
.sc-methode__block-head .sc-panel-title { margin-bottom: 12px; }
.sc-methode__block-head .sc-panel-lede {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .sc-methode__head { margin-bottom: 40px; }
  .sc-methode__block + .sc-methode__block { margin-top: 48px; }
  .sc-methode .sc-panel-grid--3 { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════
   MÉTHODE · DESIGN RADAR
   Outils = ligne épurée numérotée (filets fins). Zones = anneaux
   concentriques autour de Dijon + légende détaillée à droite.
   ════════════════════════════════════════════════════════════ */
/* Outils : ligne numérotée */
.sc-methode__tools {
  display: flex;
  align-items: stretch;
  margin: 0 0 76px;
}
.sc-methode__tool { flex: 1; padding: 0 36px; }
.sc-methode__tool:first-child { padding-left: 0; }
.sc-methode__tool:last-child { padding-right: 0; }
.sc-methode__tool + .sc-methode__tool { border-left: 1px solid rgba(27, 58, 107, 0.12); }
.sc-methode__tool-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 40px;
  color: var(--coral);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: -0.04em;
}
.sc-methode__tool-name {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 23px;
  color: var(--navy);
  margin: 0 0 10px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.sc-methode__tool-desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--slate);
  margin: 0;
}

/* Zones : radar concentrique + légende */
.sc-methode__zones {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.sc-radar { position: relative; width: 380px; height: 380px; margin: 0 auto; }
.sc-radar__ring {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.sc-radar__ring--far {
  width: 440px;
  height: 440px;
  border: 2px dashed rgba(236, 110, 75, 0.5);
  background: rgba(236, 110, 75, 0.04);
}
.sc-radar__ring--ext {
  width: 380px;
  height: 380px;
  border: 2px solid rgba(236, 110, 75, 0.55);
  background: rgba(236, 110, 75, 0.10);
}
.sc-radar__ring--core {
  width: 170px;
  height: 170px;
  background: var(--coral);
  align-items: center;
  box-shadow: 0 12px 32px -8px rgba(236, 110, 75, 0.5);
}
.sc-radar__tag {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 12px;
  color: var(--coral);
  background: var(--white);
  padding: 3px 11px;
  border-radius: 100px;
  margin-top: 10px;
  box-shadow: 0 2px 8px -2px rgba(27, 58, 107, 0.2);
}
.sc-radar__dijon {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 24px;
  color: var(--white);
  text-align: center;
  line-height: 1;
}
.sc-radar__dijon small {
  display: block;
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  opacity: 0.9;
  margin-top: 5px;
  letter-spacing: 0.04em;
}
.sc-radar-legend { display: flex; flex-direction: column; gap: 22px; }
.sc-radar-item { display: flex; gap: 16px; align-items: flex-start; }
.sc-radar-item__dot {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  margin-top: 4px;
}
.sc-radar-item__dot--core { background: var(--coral); }
.sc-radar-item__dot--ext { background: rgba(236, 110, 75, 0.45); }
.sc-radar-item__dot--far { background: transparent; border: 2px dashed var(--coral); }
.sc-radar-item__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 20px;
  color: var(--navy);
  margin: 0;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.sc-radar-item__price {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13px;
  color: var(--coral);
  margin: 3px 0 5px;
}
.sc-radar-item__desc {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.sc-radar-note {
  font-family: var(--font-body);
  font-size: 12.5px;
  font-style: italic;
  color: var(--slate);
  margin: 18px 0 0;
  opacity: 0.85;
}
@media (max-width: 900px) {
  .sc-methode__tools { flex-direction: column; gap: 28px; margin-bottom: 52px; }
  .sc-methode__tool { padding: 0; }
  .sc-methode__tool + .sc-methode__tool {
    border-left: 0;
    border-top: 1px solid rgba(27, 58, 107, 0.12);
    padding-top: 24px;
  }
  .sc-methode__zones { grid-template-columns: 1fr; gap: 40px; }
  .sc-radar, .sc-radar__ring--ext { width: 300px; height: 300px; }
  .sc-radar__ring--core { width: 130px; height: 130px; }
}

/* ════════════════════════════════════════════════════════════
   FORFAITS SUPPLÉMENTAIRES — déplacés dans le bloc « Mes offres »
   (section tarifs), entre la note formules et le tableau comparatif.
   Réutilise les cartes .sc-forfait-extra / .sc-pack existantes.
   ════════════════════════════════════════════════════════════ */
.sc-forfaits-extra { max-width: 1040px; margin: 56px auto 0; }
.sc-forfaits-extra__head { text-align: center; margin-bottom: 32px; }
.sc-forfaits-extra__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin: 0;
}
.sc-forfaits-extra__title .sc-coral { color: var(--coral); }
.sc-forfaits-extra__lede {
  max-width: 640px;
  margin: 12px auto 0;
  color: var(--slate);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
}


/* ═════════════════════════════════════════════════════════════
   HOME — Bloc OFFRES refonte Épure A (calé sur /mes-offres/)
   Override les anciennes règles .sc-offre-card* (lignes ~848+).
   ═════════════════════════════════════════════════════════════ */

.sc-offres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  align-items: start;
  max-width: 1320px;
  margin: 0 auto;
}

.sc-offre-card {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: 8px !important;
  padding: 44px 36px !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
  height: auto;
}

.sc-offre-card--featured {
  border: 2px solid var(--coral) !important;
}

.sc-offre-card__badge {
  position: absolute !important;
  top: -11px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--coral) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: 10px !important;
  padding: 4px 14px !important;
  border-radius: 999px !important;
  white-space: nowrap;
  margin: 0 !important;
}

.sc-offre-card__title {
  font-family: var(--font-body) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  font-size: 40px !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  color: var(--navy) !important;
  margin: 0 !important;
  position: relative;
  padding-bottom: 16px;
}
.sc-offre-card__title::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 3px;
  background: var(--coral);
  border-radius: 2px;
}

.sc-offre-card__seances {
  font-family: var(--font-body);
  font-size: 19px;
  font-weight: 700;
  color: var(--coral);
  line-height: 1.2;
  margin-top: 14px;
}

.sc-offre-card__price {
  margin: 36px 0 0 !important;
  padding: 0 !important;
  border: none !important;
}

.sc-offre-card__price-line {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: nowrap;
}

.sc-offre-card__price-brut {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: var(--slate) !important;
  text-decoration: line-through;
  text-decoration-color: currentColor;
  order: 1;
}

.sc-offre-card__price-net {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 50px !important;
  color: var(--navy) !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  order: 0;
}

.sc-offre-card__price-period {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--slate) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 10px 0 0 !important;
}

.sc-offre-card__price-session {
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--coral) !important;
  text-align: left !important;
  margin-top: 14px !important;
  line-height: 1.3 !important;
}

.sc-offre-card__bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: 44px 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.sc-offre-card__bullets li {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--navy) !important;
}

.sc-offre-card__check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: var(--coral);
  color: var(--white);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 10px;
  margin-top: 2px;
}

.sc-offre-card__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
  /* padding asymétrique : +4px en bas pour compenser l'absence de descenders
     dans les capitales — sinon le texte paraît "flotter" trop bas. */
  padding: 14px 22px 18px;
  line-height: 1;
  background: var(--navy);
  color: var(--cream) !important;
  text-decoration: none !important;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 4px;
  transition: background .15s, transform .15s;
}
.sc-offre-card__cta-btn:hover {
  background: var(--ink, #142847);
  transform: translateY(-1px);
}
.sc-offre-card__cta-btn--featured {
  background: var(--coral);
}
.sc-offre-card__cta-btn--featured:hover {
  background: var(--coral-deep, #b3492a);
}

.sc-offres-more {
  text-align: center;
  margin: 36px 0 0;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--slate);
}
.sc-offres-more a {
  color: var(--coral);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1.5px solid var(--coral);
  padding-bottom: 2px;
  transition: color .15s, border-color .15s;
}
.sc-offres-more a:hover {
  color: var(--coral-deep, #b3492a);
  border-color: var(--coral-deep, #b3492a);
}

@media (max-width: 1024px) {
  .sc-offres-grid { grid-template-columns: 1fr; max-width: 520px; }
  .sc-offre-card { padding: 36px 28px !important; }
}

