/*
Theme Name: Hub Child
Theme URI: http://hub.liquid-themes.com/
Author: Liquid Themes
Author URI: https://themeforest.net/user/liquidthemes
Template: hub
Description: Smart, Powerful and Unlimited Customizable WordPress Theme.
Version: 1.0
License: GNU General Public License
License URI: license.txt
Text Domain: hub-child
Tags: responsive, retina, rtl-language-support, blog, portfolio, custom-colors, live-editor
*/


#lqd-contents-wrap{
 width: 100%;
 padding: 0;
}

/*
 * ══════════════════════════════════════════════════════════
 *  CoupleVisio — Styles communs des wireframes
 *  therapie-couple-enligne.fr
 *  Palette : #FAF8F4 crème · #A65B50 terracotta · #2D1810 brun foncé
 *  Typo    : Cormorant Garamond (titres) · Inter (corps)
 *
 *  Échelle typographique (base 16px) :
 *   0.65rem =  ~10px  labels discrets
 *   0.75rem =  12px   petits textes
 *   0.875rem = 14px   texte secondaire
 *   1rem     = 16px   corps principal
 *   1.125rem = 18px   sous-titres légers
 *   1.5rem   = 24px   titres de section
 *   1.875rem = 30px   sec-title
 *   2.25rem  = 36px   hero title
 *   2.75rem  = 44px   grande citation
 * ══════════════════════════════════════════════════════════
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');

/* ══════════════════════════════════════
   RESET & BASE
══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; }

body {
  font-family: 'Inter', 'Segoe UI', sans-serif;
  background: #ddd;
  color: #2D1810;
  font-size: 1rem;
  line-height: 1.6;
}

/* ══════════════════════════════════════
   CONTENEUR PAGE
══════════════════════════════════════ */
/* .page { max-width: 1140px; margin: 1.5rem auto; background: #fff; box-shadow: 0 0 60px rgba(0,0,0,0.25); } */

.page-title {
  background: #A65B50; color: #FFFFF4; text-align: center;
  padding: 0.75rem 1.25rem;
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
}

/* ══════════════════════════════════════
   ANNOTATIONS POST-IT
══════════════════════════════════════ */
.note {
  position: absolute; background: #FFD700; color: #333;
  font-size: 0.65rem;
  padding: 0.2em 0.5em; border-radius: 3px; font-weight: 600; z-index: 20;
  white-space: nowrap; box-shadow: 1px 2px 5px rgba(0,0,0,0.2); pointer-events: none;
}
.note::before { content: '▶ '; font-size: 0.5rem; }

/* ══════════════════════════════════════
   LABELS DE SECTION & SÉPARATEUR
══════════════════════════════════════ */
.section-label {
  font-size: 0.625rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
  color: #aaa; text-align: center; padding: 0.375rem 0 0.2rem;
  background: #f2f2f2; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0;
}
.sep { height: 4px; background: linear-gradient(to right, #2D1810, #A65B50, #FAF8F4); }

/* ══════════════════════════════════════
   LÉGENDE
══════════════════════════════════════ */
.legend {
  background: #fafafa; padding: 0.625rem 1.5rem; display: flex; gap: 1.25rem;
  align-items: center; border-bottom: 1px solid #e8e8e8; flex-wrap: wrap;
}
.legend-item    { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: #666; }
.legend-note    { background: #FFD700; padding: 0.1em 0.4em; border-radius: 2px; color: #333; font-weight: 700; font-size: 0.75rem; }
.legend-img     { display: inline-block; width: 18px; height: 12px; background: #eef4f2; border: 1px dashed #A65B50; border-radius: 2px; vertical-align: middle; }
.legend-brand   { margin-left: auto; font-size: 0.75rem; color: #2D1810; font-weight: 700; }
.swatch         { display: inline-block; width: 12px; height: 12px; border-radius: 2px; vertical-align: middle; margin-right: 0.2rem; }
.leg-dot        { width: 10px; height: 10px; border-radius: 2px; }

/* ══════════════════════════════════════
   NAVIGATION
══════════════════════════════════════ */
.nav {
  position: relative; background: #fff; height: 4rem;
  display: flex; align-items: center; padding: 0 2rem; gap: 0.625rem;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.nav-logo {
  width: 9.25rem; height: 2.375rem; background: #f5f5f5; border: 2px dashed #ccc;
  border-radius: 6px; display: flex; align-items: center; justify-content: center;
  color: #2D1810; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.03em;
}
.nav-links { display: flex; gap: 0.25rem; margin-left: 1.25rem; }
.nav-lnk {
  height: 1.75rem; background: #f5f5f5; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  color: #2D1810; font-size: 0.875rem; font-weight: 500; padding: 0 0.875rem; white-space: nowrap;
}
.nav-lnk.active { background: rgba(166,91,80,0.1); color: #A65B50; font-weight: 700; }
.nav-right { margin-left: auto; display: flex; gap: 0.625rem; align-items: center; }
.nav-phone { font-size: 0.8125rem; color: #A65B50; font-weight: 600; }
.nav-cta {
  background: #A65B50; color: #fff; font-size: 0.8125rem; font-weight: 700;
  padding: 0.4375rem 1rem; border-radius: 5px; white-space: nowrap;
}

/* ══════════════════════════════════════
   COMPOSANTS SECTION COMMUNS
══════════════════════════════════════ */
.sec-badge {
  display: inline-block; background: rgba(166,91,80,0.1); color: #A65B50;
  font-size: 0.6875rem; font-weight: 700; padding: 0.25em 0.75em; border-radius: 3px;
  margin-bottom: 0; letter-spacing: 0.08em; text-transform: uppercase;
  border: 1px solid rgba(166,91,80,0.18);
}
.sec-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.875rem; font-weight: 700; color: #2D1810;
  line-height: 1.2; margin-bottom: 0.875rem; letter-spacing: 0;
  margin-top: 0;
}
.sec-title em { font-style: normal; color: #A65B50; }

.body-text { font-size: 0.9375rem; color: #555; line-height: 1.75; margin-bottom: 0.875rem; }
.body-text strong { color: #2D1810; font-weight: 700; }

.sec-header-center { text-align: center; margin-bottom: 2.25rem; }
.sec-header-center .sec-badge  { margin-bottom: 0.625rem; }
.sec-header-center .sec-title  { margin-bottom: 0.5rem; }
.sec-header-center .body-text  { max-width: 30rem; margin: 0 auto; color: #777; }

.highlight-box {
  background: #FAF8F4; border-left: 3px solid #A65B50;
  padding: 0.75rem 1rem; border-radius: 0 8px 8px 0; margin-bottom: 1rem;
}
.hl-text { font-size: 0.9375rem; font-weight: 600; color: #333; line-height: 1.5; }
.hl-sub  { font-size: 0.8125rem; color: #A65B50; font-weight: 700; margin-top: 0.3rem; }

/* ══════════════════════════════════════
   BOUTONS
══════════════════════════════════════ */
.btn-primary, .btn-primary-blue {
  background: #A65B50; color: #fff;
  font-size: 0.875rem; font-weight: 700;
  padding: 0.6875rem 1.375rem; border-radius: 6px; white-space: nowrap; letter-spacing: 0.01em;
  display: inline-flex; align-items: center; gap: 0.4375rem;
}
.btn-outline, .btn-dark-outline {
  background: #fff; color: #2D1810;
  font-size: 0.8125rem; font-weight: 600;
  padding: 0.625rem 1.125rem; border-radius: 6px;
  border: 1.5px solid #2D1810; white-space: nowrap;
}

/* ══════════════════════════════════════
   PLACEHOLDERS IMAGE
══════════════════════════════════════ */
.img-ph {
  border-radius: 18px; border: 2px dashed #A65B50;
  background: rgba(166,91,80,0.06); display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.625rem;
  text-align: center; padding: 1.25rem; width: 100%; color: #A65B50;
}
.img-ph-icon  { font-size: 1.75rem; opacity: 0.6; }
.img-ph-label {
  background: #2D1810; color: #fff;
  font-size: 0.625rem; font-weight: 700;
  padding: 0.2em 0.625em; border-radius: 3px; letter-spacing: 0.07em;
}
.img-ph-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; }
.img-ph-info  { font-size: 0.75rem; color: #7aaa97; line-height: 1.55; }
.img-ph-dim   {
  font-size: 0.6875rem; color: #aac9bf; background: rgba(78,117,105,0.08);
  padding: 0.15em 0.5em; border-radius: 10px;
}
/* Variante fond sombre */
.img-ph-light {
  border-radius: 18px; border: 2px dashed rgba(255,255,255,0.35);
  background: rgba(0,0,0,0.15); display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.625rem;
  text-align: center; padding: 1.5rem; width: 100%;
}
.img-ph-light .img-ph-label { background: rgba(255,255,255,0.2); color: #fff; }
.img-ph-light .img-ph-title { color: rgba(255,255,255,0.9); }
.img-ph-light .img-ph-info  { color: rgba(255,255,255,0.55); }
.img-ph-light .img-ph-dim   { color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.06); }
.img-ph-light .img-ph-icon  { color: rgba(255,255,255,0.4); }

/* ══════════════════════════════════════
   BARRE DE CONFIANCE
══════════════════════════════════════ */
.trust-bar {
  position: relative; background: #A65B50; padding: 1.5rem 2.5rem;
  display: grid;
}
.trust-bar.cols-3 { grid-template-columns: repeat(3, 1fr); }
.trust-bar.cols-4 { grid-template-columns: repeat(4, 1fr); }
.trust-item       { text-align: center; padding: 0 1.25rem; border-right: 1px solid rgba(255,255,255,0.25); }
.trust-item:last-child { border-right: none; }
.trust-num { font-size: 1.875rem; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 0.25rem; }
.trust-lbl { font-size: 0.75rem; color: rgba(255,255,255,0.85); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.trust-sub { font-size: 0.6875rem; color: rgba(255,255,255,0.55); margin-top: 0.125rem; }

/* ══════════════════════════════════════
   ÉTAPES (COMMENT ÇA MARCHE)
══════════════════════════════════════ */
.steps-section {
  position: relative; display: flex; align-items: stretch; min-height: 26.25rem;
}
.steps-left { flex: 0 0 52%; padding: 3.25rem 2.75rem; display: flex; flex-direction: column; justify-content: center; }
.steps-right {
  flex: 1; background: #FAF8F4;
  display: flex; align-items: center; justify-content: center; padding: 2.75rem;
}
.step-item    { display: flex; gap: 1.125rem; margin-bottom: 0.375rem; }
.step-num {
  flex-shrink: 0; width: 2.375rem; height: 2.375rem; background: #A65B50;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 0.9375rem; font-weight: 700;
}
.step-body  { padding-top: 0.5rem; }
.step-title {
  font-size: 0.9375rem; font-weight: 700; color: #2D1810;
  margin-bottom: 0.3125rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
}
.step-free {
  background: rgba(166,91,80,0.12); color: #A65B50;
  font-size: 0.625rem; font-weight: 700;
  padding: 0.15em 0.5em; border-radius: 3px; border: 1px solid rgba(166,91,80,0.25);
}
.step-desc      { font-size: 0.875rem; color: #666; line-height: 1.6; }
.step-connector { width: 2px; height: 1.375rem; background: #e0e0e0; margin: 0.3rem 0 0.3rem 1.125rem; }

/* ══════════════════════════════════════
   CARTES FONCTIONNALITÉS
══════════════════════════════════════ */
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.875rem; }
.feat-card {
  background: #fff; border-radius: 10px; padding: 1.375rem 1.125rem;
  border: 1px solid #e8e8e8; box-shadow: 0 2px 10px rgba(0,0,0,0.04); position: relative;
}
.feat-num   { position: absolute; top: 0.875rem; right: 1rem; font-size: 1.375rem; font-weight: 800; color: rgba(166,91,80,0.08); }
.feat-icon  {
  width: 2.75rem; height: 2.75rem; background: rgba(166,91,80,0.08);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; margin-bottom: 0.875rem; color: #A65B50;
  border: 1px solid rgba(166,91,80,0.15);
}
.feat-title { font-size: 0.9375rem; font-weight: 700; color: #2D1810; margin-bottom: 0.3125rem; }
.feat-vs    { font-size: 0.75rem; color: #ccc; margin-bottom: 0.375rem; font-style: italic; }
.feat-desc  { font-size: 0.875rem; color: #777; line-height: 1.6; }
.feat-badge {
  display: inline-block; margin-top: 0.625rem; background: #A65B50; color: #fff;
  font-size: 0.6875rem; padding: 0.15em 0.5625em; border-radius: 3px; font-weight: 700;
}

/* ══════════════════════════════════════
   TÉMOIGNAGES
══════════════════════════════════════ */
.temo-section   { position: relative; background: #FAF8F4; padding: 3.25rem 2.5rem; }
.temo-rating    { text-align: center; margin-bottom: 1.875rem; }
.stars          { color: #f4a93b; font-size: 1.375rem; letter-spacing: 0.2em; display: block; margin-bottom: 0.3125rem; }
.rating-txt     { font-size: 0.875rem; color: #888; }
.temo-grid      { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.temo-card      {
  background: #fff; border-radius: 10px; padding: 1.375rem 1.25rem;
  border: 1px solid #e8e8e8; box-shadow: 0 2px 10px rgba(0,0,0,0.04); position: relative;
}
.temo-quot      {
  position: absolute; top: 0.75rem; right: 1rem; font-size: 2.75rem;
  color: rgba(166,91,80,0.1); line-height: 1; font-family: Georgia, serif;
}
.temo-text      { font-size: 0.9375rem; color: #444; line-height: 1.7; font-style: italic; margin-bottom: 1rem; }
.temo-stars     { color: #f4a93b; font-size: 0.875rem; margin-bottom: 0.375rem; }
.temo-author    { font-size: 0.8125rem; color: #aaa; font-weight: 600; }
.temo-google-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  margin: 1.5rem auto 0; padding: 0.6875rem 1.5rem; border-radius: 7px;
  border: 1.5px solid #e0e0e0; font-size: 0.875rem; font-weight: 600; color: #444;
  width: fit-content; cursor: pointer;
}

/* ══════════════════════════════════════
   CTA FINAL
══════════════════════════════════════ */
.cta-section {
  position: relative; min-height: 20rem;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; text-align: center; padding: 3.75rem 2.5rem;
}
.cta-bg-pattern {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(45deg, #2a2a2a 0, #2a2a2a 10px, #222 10px, #222 20px);
}
.cta-overlay    { position: absolute; inset: 0; background: rgba(45,24,16,0.82); }
.cta-img-hint   {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  z-index: 1; font-size: 0.8125rem; color: rgba(255,255,255,0.12); font-weight: 600; letter-spacing: 0.15em;
}
.cta-content  { position: relative; z-index: 2; max-width: 33.75rem; }
.cta-eyebrow  {
  display: inline-block; background: rgba(255,255,255,0.15); color: #FFFFF4;
  font-size: 0.6875rem; font-weight: 700; padding: 0.25em 1em; border-radius: 20px;
  margin-bottom: 1.125rem; letter-spacing: 0.1em; text-transform: uppercase;
}
.cta-title    { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.25rem; font-weight: 700; color: #FFFFF4; line-height: 1.2; margin-bottom: 0.75rem; }
.cta-sub      { font-size: 1rem; color: rgba(255,255,245,0.78); line-height: 1.7; margin-bottom: 0.5rem; }
.cta-note-text { font-size: 0.875rem; color: rgba(255,255,245,0.45); font-style: italic; margin-bottom: 1.75rem; }
.cta-btn      {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: #A65B50; color: #fff;
  font-size: 1rem; font-weight: 700; padding: 0.8125rem 1.875rem; border-radius: 7px; letter-spacing: 0.02em;
}


/* ══════════════════════════════════════
   FONTAWESOME — TAILLES PAR CONTEXTE
══════════════════════════════════════ */
.feat-icon i        { font-size: 1.25rem; color: #A65B50; }
.chk i              { font-size: 0.5625rem; }
.tarif-chk i        { font-size: 0.75rem; }
.trust-num i        { font-size: 1.5rem; }
.temo-google-btn i  { font-size: 0.9375rem; color: #f4a93b; }
.ft-soc i           { font-size: 0.875rem; color: #888; }
.step-num i         { font-size: 0.9375rem; }
.nav-phone i        { font-size: 0.8125rem; }

/* ══════════════════════════════════════
   CHK (pastille check terracotta)
══════════════════════════════════════ */
.chk {
  flex-shrink: 0; width: 1.375rem; height: 1.375rem; background: #A65B50;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 0.5625rem; margin-top: 0.1rem;
}

/* ══════════════════════════════════════════════════════
   PAGE ACCUEIL — styles spécifiques
══════════════════════════════════════════════════════ */

  /* NAV — override : CTA outline sombre sur l'accueil */
  .nav-cta { background: #fff; color: #2D1810; border: 1.5px solid #2D1810; }

  /* ═══════════════ HERO ═══════════════ */
  .hero {
    position: relative; background: #FAF8F4; min-height: 500px;
    display: flex; align-items: stretch; overflow: hidden;
  }
  .hero-blob1 { position: absolute; top: -60px; right: 60px; width: 380px; height: 380px; border-radius: 50%; background: transparent; border: 1.5px solid rgba(166,91,80,0.18); }
  .hero-blob2 { position: absolute; top: 20px; right: 140px; width: 280px; height: 280px; border-radius: 50%; background: transparent; border: 1px solid rgba(166,91,80,0.12); }
  .hero-blob3 { position: absolute; top: 0; right: 0; width: 600px; height: 500px; border-radius: 50%; background: rgba(255,220,180,0.15); filter: blur(60px); }
  .hero-left { position: relative; z-index: 2; flex: 0 0 55%; padding: 52px 36px 52px 44px; display: flex; flex-direction: column; justify-content: center; }
  .hero-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(78,117,105,0.11); color: #A65B50; font-size: 0.65rem; font-weight: 600; padding: 5px 14px; border-radius: 20px; margin-bottom: 18px; width: fit-content; letter-spacing: 0.3px; }
  .hero-badge-dot { width: 6px; height: 6px; background: #A65B50; border-radius: 50%; }
  .hero-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.5rem; font-weight: 700; color: #2D1810; line-height: 1.1; margin-bottom: 12px; }
  .hero-title em { font-style: normal; color: #A65B50; }
  .hero-sub { font-size: 0.875rem; color: #666; line-height: 1.65; margin-bottom: 24px; max-width: 420px; }
  .hero-list { list-style: none; margin-bottom: 32px; }
  .hero-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.8125rem; color: #333; margin-bottom: 10px; line-height: 1.4; }
  .hero-list strong { color: #2D1810; font-weight: 700; }
  .hero-btns { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
  .hero-right { position: relative; z-index: 2; flex: 1; display: flex; align-items: center; justify-content: center; padding: 36px; }

  /* ═══════════════ HERO B — CINÉMATIQUE (pleine page) ═══════════════ */
  .hero-b {
    position: relative; min-height: 600px;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: clamp(40px, 8vw, 72px) clamp(20px, 5vw, 48px) clamp(36px, 6vw, 52px);
    overflow: hidden;
  }
  .hero-b-imgph {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(45,24,16,0.60) 0%, rgba(45,24,16,0.80) 100%),
                linear-gradient(135deg, #e8c5a0 0%, #c49070 40%, #8b4a3f 100%);
    border: 4px dashed rgba(255,255,255,0.12);
  }
  .hero-b-imgph-hint {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    color: rgba(255,255,255,0.14); text-align: center; pointer-events: none;
  }
  .hero-b-imgph-hint i { font-size: 3.5rem; display: block; margin-bottom: 10px; }
  .hero-b-imgph-hint span { font-size: 0.6875rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; }
  .hero-b-circle1 {
    position: absolute; top: -80px; right: -80px;
    width: 420px; height: 420px; border-radius: 50%;
    border: 1px solid rgba(166,91,80,0.2); pointer-events: none;
  }
  .hero-b-circle2 {
    position: absolute; bottom: -60px; left: -60px;
    width: 300px; height: 300px; border-radius: 50%;
    border: 1px solid rgba(166,91,80,0.15); pointer-events: none;
  }
  .hero-b-inner { position: relative; z-index: 2; max-width: 740px; width: 100%; }
  .hero-b-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(166,91,80,0.28); border: 1px solid rgba(166,91,80,0.5);
    color: rgba(255,255,255,0.9); font-size: 0.75rem; font-weight: 700;
    padding: 6px 18px; border-radius: 30px;
    margin-bottom: 24px; letter-spacing: 0.05em; text-transform: uppercase;
  }
  .hero-b-eyebrow i { color: #C4847A; }
  .hero-b-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(1.875rem, 5.5vw, 3.75rem);
    font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: 20px;
  }
  .hero-b-title em { font-style: italic; color: #C4847A; }
  .hero-b-sub {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    color: rgba(255,255,255,0.68); line-height: 1.75; margin-bottom: 36px;
    max-width: 560px; margin-left: auto; margin-right: auto;
  }
  .hero-b-btns {
    display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 52px;
  }
  .hero-b-btn-main {
    background: #A65B50; color: #fff; font-size: 0.875rem; font-weight: 700;
    padding: 15px 34px; border-radius: 8px;
    display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 0 8px 30px rgba(166,91,80,0.5); text-decoration: none;
  }
  .hero-b-btn-sec {
    background: transparent; color: rgba(255,255,255,0.82);
    font-size: 0.875rem; font-weight: 600;
    padding: 14px 28px; border-radius: 8px;
    border: 1.5px solid rgba(255,255,255,0.3);
    display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  }
  .hero-b-stats {
    display: flex; gap: clamp(20px, 4vw, 48px); justify-content: center; flex-wrap: wrap;
    padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.14);
  }
  .hero-b-stat { text-align: center; min-width: 80px; }
  .hero-b-stat-num {
    font-size: clamp(1.375rem, 3vw, 2rem);
    font-weight: 800; color: #fff; line-height: 1; margin-bottom: 4px;
  }
  .hero-b-stat-lbl { font-size: 0.65rem; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
  .hero-b-stat-sub { font-size: 0.6rem; color: rgba(255,255,255,0.3); margin-top: 2px; }

  /* Hero-b responsive ≤ 640px */
  @media (max-width: 640px) {
    .hero-b { min-height: 480px; }
    .hero-b-eyebrow { font-size: 0.65rem; padding: 5px 12px; text-align: center; }
    .hero-b-btns { flex-direction: column; align-items: center; }
    .hero-b-btn-main, .hero-b-btn-sec { width: 100%; max-width: 320px; justify-content: center; }
    .hero-b-stats { gap: 16px; }
    .hero-b-stat-sub { display: none; }
  }

  /* ═══════════════ PROBLÈME ═══════════════ */
  .problem-section {
    position: relative; display: flex; align-items: stretch; min-height: 400px;
  }
  .prob-left {
    flex: 0 0 44%; background: #FAF8F4;
    display: flex; align-items: center; justify-content: center; padding: 44px;
  }
  .prob-right { flex: 1; padding: 52px 48px 52px 44px; display: flex; flex-direction: column; justify-content: center; }

  /* ═══════════════ MON APPROCHE ═══════════════ */
  .approche-section { position: relative; background: #FAF8F4; padding: 52px 40px; }

  /* ═══════════════ TARIFS — formules présentées à titre informatif ═══════════════ */
  .tarifs-section { position: relative; background: #fff; padding: 52px 40px; }
  .tarifs-intro {
    background: #FAF8F4; border: 1px solid #e0e0e0; border-radius: 10px;
    padding: 18px 24px; margin-bottom: 32px; display: flex; align-items: flex-start; gap: 14px;
  }
  .tarifs-intro-icon { font-size: 1.375rem; flex-shrink: 0; margin-top: 2px; }
  .tarifs-intro-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 4px; }
  .tarifs-intro-body { font-size: 0.8125rem; color: #666; line-height: 1.6; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
  .tarif-card {
    border: 1px solid #e8e8e8; border-radius: 12px; padding: 26px 22px;
    background: #fff; position: relative;
  }
  .tarif-card.recom {
    border: 2px solid #A65B50; box-shadow: 0 8px 28px rgba(61,156,210,0.14);
  }
  .recom-badge {
    position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
    background: #A65B50; color: #fff; font-size: 0.65rem; font-weight: 700;
    padding: 3px 16px; border-radius: 20px; white-space: nowrap; letter-spacing: 0.5px;
  }
  .tarif-name { font-size: 0.65rem; font-weight: 700; color: #A65B50; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 6px; }
  .tarif-engage { font-size: 0.65rem; color: #bbb; margin-bottom: 14px; }
  .tarif-price { font-size: 2rem; font-weight: 800; color: #2D1810; line-height: 1; }
  .tarif-price-unit { font-size: 0.875rem; font-weight: 400; color: #888; }
  .tarif-total { font-size: 0.65rem; color: #A65B50; font-weight: 600; margin: 5px 0 16px; }
  .tarif-hr { height: 1px; background: #f0f0f0; margin-bottom: 16px; }
  .tarif-feat {
    font-size: 0.8125rem; color: #555; margin-bottom: 9px;
    display: flex; align-items: flex-start; gap: 8px; line-height: 1.4;
  }
  .tarif-chk { color: #A65B50; font-size: 0.8125rem; flex-shrink: 0; font-weight: 700; }
  .tarif-info-tag {
    display: block; text-align: center; padding: 8px 0; margin-top: 16px;
    border-radius: 6px; font-size: 0.65rem; font-weight: 600;
    background: #f5f5f5; color: #999; letter-spacing: 0.5px;
  }
  .tarif-info-tag.active { background: rgba(61,156,210,0.1); color: #A65B50; }
  .tarifs-cta-block {
    margin-top: 32px; background: #A65B50; border-radius: 10px;
    padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  }
  .tarifs-cta-text { color: #fff; }
  .tarifs-cta-title { font-size: 0.875rem; font-weight: 700; margin-bottom: 4px; }
  .tarifs-cta-sub { font-size: 0.8125rem; color: rgba(255,255,255,0.8); }
  .tarifs-cta-btn {
    background: #fff; color: #A65B50; font-size: 0.8125rem; font-weight: 700;
    padding: 11px 24px; border-radius: 6px; white-space: nowrap; flex-shrink: 0;
  }

  /* ═══════════════ À PROPOS ═══════════════ */
  .apropos-section {
    position: relative; background: #2D1810;
    display: flex; align-items: stretch; min-height: 400px;
  }
  /* Fond doux warm pour la section à propos */
  .ap-left {
    flex: 0 0 40%; background: rgba(0,0,0,0.12);
    display: flex; align-items: center; justify-content: center; padding: 44px;
  }
  .ap-right { flex: 1; padding: 52px 52px 52px 44px; display: flex; flex-direction: column; justify-content: center; }
  .ap-eyebrow { font-size: 0.65rem; color: rgba(255,255,255,0.5); font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; }
  .ap-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2rem; font-weight: 700; color: #FFFFF4; line-height: 1.15; margin-bottom: 14px; }
  .ap-body { font-size: 0.8125rem; color: rgba(255,255,245,0.82); line-height: 1.75; margin-bottom: 16px; }
  .ap-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
  .ap-tag {
    background: rgba(255,255,255,0.12); color: rgba(255,255,245,0.9);
    font-size: 0.65rem; font-weight: 600; padding: 4px 12px; border-radius: 20px;
  }
  .ap-links { display: flex; gap: 10px; flex-wrap: wrap; }
  .ap-link {
    background: rgba(255,255,255,0.1); color: #FFFFF4; font-size: 0.65rem;
    font-weight: 600; padding: 7px 16px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.22);
  }

  /* ═══════════════ TARIFS SIMPLIFIÉ ═══════════════ */
  .tarif-simple {
    background: #FAF8F4; border-radius: 14px; padding: 32px 36px;
    max-width: 640px; margin: 0 auto 32px; border: 1px solid #e8e8e8;
    box-shadow: 0 4px 18px rgba(166,91,80,0.08);
  }
  .tarif-simple-price {
    display: flex; align-items: baseline; gap: 6px; margin-bottom: 6px;
  }
  .tarif-simple-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 3.25rem; font-weight: 700; color: #A65B50; line-height: 1;
  }
  .tarif-simple-unit { font-size: 1rem; color: #888; font-weight: 400; }
  .tarif-simple-sub { font-size: 0.8125rem; color: #bbb; margin-bottom: 20px; }
  .tarif-simple-hr { height: 1px; background: #e8e8e8; margin-bottom: 18px; }
  .tarif-simple-feat {
    font-size: 0.8125rem; color: #555; margin-bottom: 10px;
    display: flex; align-items: flex-start; gap: 9px; line-height: 1.4;
  }
  .tarif-simple-chk { color: #A65B50; font-weight: 700; flex-shrink: 0; }

  /* ── FontAwesome sizing — spécifiques à cette page ── */
  .inclus-card-icon i { font-size: 1.375rem; color: #A65B50; }
  .inclus-card.featured .inclus-card-icon i { color: rgba(255,255,245,0.85); }
  .approche-icon i { font-size: 1.375rem; color: #A65B50; }
  .form-icon i { font-size: 1rem; color: #A65B50; }
  .jour-icon i { font-size: 1rem; color: #A65B50; }
  .jour.event-main .jour-icon i { color: #fff; }
  .app-feat-chk i { font-size: 0.65rem; }
  .enligne-chk i { font-size: 0.65rem; }
  .mockup-icon i { font-size: 1.75rem; color: rgba(255,255,255,0.35); }
  .app-mockup-icon i { font-size: 1.75rem; color: rgba(255,255,255,0.35); }
  .tarifs-info-icon i { font-size: 1.125rem; color: #A65B50; }
  .faq-q-icon i { font-size: 0.875rem; color: #A65B50; }

/* ══════════════════════════════════════════════════════
   PAGE À PROPOS — styles spécifiques
══════════════════════════════════════════════════════ */

  /* ═══════════════ HERO À PROPOS ═══════════════ */
  .ap-hero {
    position: relative; background: #FAF8F4; min-height: 460px;
    display: flex; align-items: stretch; overflow: hidden;
  }
  .ap-hero-blob1 {
    position: absolute; top: -40px; left: -40px; width: 320px; height: 320px;
    border-radius: 50%; background: transparent;
    border: 1.5px solid rgba(166,91,80,0.14);
  }
  .ap-hero-blob2 {
    position: absolute; bottom: -60px; right: -60px; width: 420px; height: 420px;
    border-radius: 50%; background: rgba(255,220,180,0.12); filter: blur(60px);
  }
  .ap-hero-left {
    position: relative; z-index: 2; flex: 0 0 42%;
    display: flex; align-items: center; justify-content: center; padding: 52px 36px;
  }
  .ap-hero-img {
    position: relative; width: 100%; max-width: 320px;
  }
  .ap-hero-img .img-ph { height: 380px; border-radius: 20px; }
  .ap-hero-img .img-ph-icon { font-size: 2.5rem; opacity: 0.5; }
  /* Badge flottant Google sur la photo */
  .google-badge {
    position: absolute; bottom: 16px; right: -20px;
    background: #fff; border-radius: 10px; padding: 10px 14px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.14); display: flex; align-items: center; gap: 8px;
    z-index: 5;
  }
  .google-badge-g { font-size: 1rem; }
  .google-badge-stars { color: #f4a93b; font-size: 0.875rem; letter-spacing: 1px; display: block; line-height: 1; }
  .google-badge-txt { font-size: 0.65rem; color: #888; font-weight: 600; }
  /* Badge expérience flottant */
  .exp-badge {
    position: absolute; top: 20px; left: -16px;
    background: #A65B50; border-radius: 10px; padding: 10px 14px;
    box-shadow: 0 6px 20px rgba(166,91,80,0.35); text-align: center; z-index: 5;
  }
  .exp-badge-num { font-size: 1.375rem; font-weight: 800; color: #fff; line-height: 1; }
  .exp-badge-txt { font-size: 0.65rem; color: rgba(255,255,255,0.85); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }

  .ap-hero-right {
    position: relative; z-index: 2; flex: 1;
    padding: 56px 52px 52px 40px; display: flex; flex-direction: column; justify-content: center;
  }
  .ap-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(166,91,80,0.1); color: #A65B50;
    font-size: 0.65rem; font-weight: 700; padding: 5px 14px; border-radius: 20px;
    margin-bottom: 18px; width: fit-content; letter-spacing: 0.5px; text-transform: uppercase;
  }
  .ap-hero-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 3rem; font-weight: 700; color: #2D1810; line-height: 1.05; margin-bottom: 6px;
  }
  .ap-hero-name em { font-style: normal; color: #A65B50; }
  .ap-hero-title {
    font-size: 1rem; font-weight: 600; color: #666; margin-bottom: 20px; font-style: italic;
    font-family: 'Cormorant Garamond', Georgia, serif;
  }
  .ap-hero-bio {
    font-size: 0.875rem; color: #555; line-height: 1.75; margin-bottom: 24px; max-width: 440px;
  }
  .ap-hero-bio strong { color: #2D1810; font-weight: 700; }
  .ap-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
  .ap-tag {
    background: #fff; border: 1px solid #e0e0e0; color: #444;
    font-size: 0.65rem; font-weight: 600; padding: 5px 14px; border-radius: 20px;
  }
  .ap-tag.hl { background: rgba(166,91,80,0.08); border-color: rgba(166,91,80,0.3); color: #A65B50; }
  .ap-hero-btns { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

  /* ═══════════════ MON HISTOIRE ═══════════════ */
  .histoire-section {
    position: relative; display: flex; align-items: stretch; min-height: 420px;
  }
  .hist-left { flex: 1; padding: 56px 48px 56px 52px; display: flex; flex-direction: column; justify-content: center; }
  .hist-right {
    flex: 0 0 42%; background: #FAF8F4;
    display: flex; align-items: center; justify-content: center; padding: 44px;
  }
  .timeline { margin-top: 20px; }
  .tl-item { display: flex; gap: 16px; margin-bottom: 4px; }
  .tl-dot-col { display: flex; flex-direction: column; align-items: center; }
  .tl-dot {
    width: 12px; height: 12px; border-radius: 50%; background: #A65B50;
    flex-shrink: 0; margin-top: 4px;
  }
  .tl-line { width: 2px; flex: 1; background: #e8e8e8; margin: 4px 0; min-height: 20px; }
  .tl-body { padding-bottom: 18px; }
  .tl-year { font-size: 0.65rem; font-weight: 700; color: #A65B50; margin-bottom: 3px; letter-spacing: 0.5px; }
  .tl-title { font-size: 0.8125rem; font-weight: 700; color: #2D1810; margin-bottom: 3px; }
  .tl-desc { font-size: 0.8125rem; color: #777; line-height: 1.55; }

  /* ═══════════════ MON APPROCHE ═══════════════ */
  .approche-section { position: relative; background: #FAF8F4; padding: 56px 52px; }
  .sec-intro { font-size: 0.875rem; color: #777; line-height: 1.7; max-width: 520px; margin: 0 auto; }
  .approche-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .approche-card {
    background: #fff; border-radius: 12px; padding: 28px 22px;
    border: 1px solid #e8e8e8; box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    position: relative; overflow: hidden;
  }
  .approche-card-num {
    position: absolute; top: 16px; right: 18px;
    font-size: 2.5rem; font-weight: 800; color: rgba(166,91,80,0.07); line-height: 1;
  }
  .approche-icon {
    width: 48px; height: 48px; background: rgba(166,91,80,0.1);
    border-radius: 12px; display: flex; align-items: center; justify-content: center;
    font-size: 1.375rem; margin-bottom: 16px;
  }
  .approche-card-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 8px; }
  .approche-card-body { font-size: 0.8125rem; color: #666; line-height: 1.65; }
  .approche-card-tag {
    display: inline-block; margin-top: 12px; background: rgba(166,91,80,0.1);
    color: #A65B50; font-size: 0.65rem; padding: 3px 10px; border-radius: 3px; font-weight: 700;
    letter-spacing: 0.5px; text-transform: uppercase;
  }

  /* ═══════════════ FORMATIONS ═══════════════ */
  .formations-section {
    position: relative; display: flex; align-items: stretch; min-height: 380px;
  }
  .form-left {
    flex: 0 0 40%; background: #2D1810;
    display: flex; align-items: center; justify-content: center; padding: 52px 44px;
    flex-direction: column; gap: 16px;
  }
  .form-left-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.75rem; font-weight: 700; color: #FFFFF4; text-align: center; margin-bottom: 8px;
  }
  .form-left-sub { font-size: 0.8125rem; color: rgba(255,255,255,0.55); text-align: center; line-height: 1.6; }
  .form-certif-strip {
    display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 8px;
  }
  .form-certif {
    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18);
    border-radius: 8px; padding: 10px 14px; text-align: center;
  }
  .form-certif-name { font-size: 0.65rem; font-weight: 700; color: #FFFFF4; }
  .form-certif-sub { font-size: 0.65rem; color: rgba(255,255,255,0.5); margin-top: 2px; }
  .form-right { flex: 1; padding: 52px 48px; display: flex; flex-direction: column; justify-content: center; }
  .form-list { list-style: none; }
  .form-item {
    display: flex; gap: 16px; align-items: flex-start; padding: 14px 0;
    border-bottom: 1px solid #f0f0f0;
  }
  .form-item:last-child { border-bottom: none; }
  .form-icon {
    width: 38px; height: 38px; background: rgba(166,91,80,0.08);
    border-radius: 8px; display: flex; align-items: center; justify-content: center;
    font-size: 1rem; flex-shrink: 0;
  }
  .form-body { flex: 1; }
  .form-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 3px; }
  .form-detail { font-size: 0.8125rem; color: #888; line-height: 1.5; }
  .form-year {
    font-size: 0.65rem; font-weight: 700; color: #A65B50; flex-shrink: 0; padding-top: 2px;
  }

  /* ═══════════════ POURQUOI EN LIGNE ═══════════════ */
  .enligne-section { position: relative; background: #FAF8F4; padding: 56px 52px; }
  .enligne-inner { display: flex; gap: 52px; align-items: center; }
  .enligne-left { flex: 0 0 44%; }
  .enligne-right { flex: 1; }
  .enligne-img {
    border-radius: 16px; border: 2px dashed #A65B50;
    background: rgba(166,91,80,0.06); display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 10px;
    text-align: center; padding: 20px; height: 300px; color: #A65B50;
  }
  .enligne-img-icon { font-size: 2rem; opacity: 0.5; }
  .enligne-img-label {
    background: #2D1810; color: #fff; font-size: 0.65rem; font-weight: 700;
    padding: 3px 10px; border-radius: 3px; letter-spacing: 1px;
  }
  .enligne-img-title { font-size: 0.8125rem; font-weight: 700; color: #2D1810; }
  .enligne-checks { list-style: none; margin-top: 20px; }
  .enligne-check {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 0.8125rem; color: #444; margin-bottom: 14px; line-height: 1.5;
  }
  .enligne-chk {
    flex-shrink: 0; width: 22px; height: 22px; background: #A65B50;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 0.65rem; margin-top: 1px;
  }
  .enligne-check strong { color: #2D1810; font-weight: 700; }
  .enligne-quote-box {
    background: #fff; border-left: 3px solid #A65B50; border-radius: 0 10px 10px 0;
    padding: 16px 20px; margin-top: 20px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  }
  .enligne-quote-text { font-size: 0.875rem; color: #333; font-style: italic; line-height: 1.65; margin-bottom: 8px; }
  .enligne-quote-author { font-size: 0.65rem; color: #A65B50; font-weight: 700; }

  /* ═══════════════ L'APP ═══════════════ */
  .app-section {
    position: relative; background: #2D1810; padding: 56px 52px;
    display: flex; gap: 56px; align-items: center; overflow: hidden;
  }
  .app-bg-circle {
    position: absolute; right: -80px; top: -80px; width: 400px; height: 400px;
    border-radius: 50%; background: rgba(166,91,80,0.15); filter: blur(60px);
  }
  .app-left { flex: 1; position: relative; z-index: 2; }
  .app-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.9);
    font-size: 0.65rem; font-weight: 700; padding: 4px 14px; border-radius: 20px;
    margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px;
  }
  .app-badge-soon {
    background: #A65B50; color: #fff; font-size: 0.65rem; font-weight: 700;
    padding: 2px 8px; border-radius: 3px; letter-spacing: 1px;
  }
  .app-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2rem; font-weight: 700; color: #FFFFF4; line-height: 1.15; margin-bottom: 14px;
  }
  .app-title em { font-style: normal; color: #A65B50; }
  .app-body { font-size: 0.8125rem; color: rgba(255,255,245,0.75); line-height: 1.8; margin-bottom: 22px; }
  .app-features { list-style: none; margin-bottom: 24px; }
  .app-feat {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 0.8125rem; color: rgba(255,255,245,0.85); margin-bottom: 10px;
  }
  .app-feat-dot { flex-shrink: 0; margin-top: 5px; width: 6px; height: 6px; background: #A65B50; border-radius: 50%; }
  .app-feat strong { color: #FFFFF4; font-weight: 700; }
  .app-tech {
    display: flex; gap: 8px; flex-wrap: wrap;
  }
  .app-tech-tag {
    background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.7); font-size: 0.65rem; font-weight: 600;
    padding: 4px 12px; border-radius: 20px; letter-spacing: 0.5px;
  }
  .app-right { flex: 0 0 320px; position: relative; z-index: 2; display: flex; gap: 16px; align-items: flex-end; }
  .app-mockup {
    flex: 1; border-radius: 28px; border: 2px dashed rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.05);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; text-align: center; padding: 20px; height: 380px;
  }
  .app-mockup-icon { font-size: 2rem; opacity: 0.4; }
  .app-mockup-label {
    background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.8); font-size: 0.65rem; font-weight: 700;
    padding: 3px 10px; border-radius: 3px; letter-spacing: 1px;
  }
  .app-mockup-title { font-size: 0.8125rem; font-weight: 700; color: rgba(255,255,245,0.7); }
  .app-mockup-sub { font-size: 0.65rem; color: rgba(255,255,245,0.35); }
  .app-mockup-sm {
    width: 110px; border-radius: 20px; border: 2px dashed rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.03);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; text-align: center; padding: 14px; height: 280px;
  }
  .app-mockup-sm .app-mockup-icon { font-size: 1.375rem; }

  /* ═══════════════ TÉMOIGNAGES ═══════════════ */
  .temo-section { position: relative; background: #fff; padding: 56px 52px; }
  .temo-header { text-align: center; margin-bottom: 12px; }
  .temo-rating { text-align: center; margin-bottom: 32px; }
  .stars { color: #f4a93b; font-size: 1.375rem; letter-spacing: 4px; display: block; margin-bottom: 6px; }
  .rating-row { display: flex; align-items: center; justify-content: center; gap: 10px; }
  .rating-num { font-size: 1.75rem; font-weight: 800; color: #2D1810; }
  .rating-detail { text-align: left; }
  .rating-txt { font-size: 0.8125rem; color: #888; display: block; }
  .rating-link { font-size: 0.65rem; color: #A65B50; font-weight: 700; text-decoration: underline; }
  .temo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 24px; }
  .temo-card {
    background: #FAF8F4; border-radius: 12px; padding: 24px 20px;
    border: 1px solid #e8e8e8; position: relative; overflow: hidden;
  }
  .temo-quot {
    position: absolute; top: 10px; right: 14px; font-size: 3.25rem;
    color: rgba(166,91,80,0.08); line-height: 1;
  }
  .temo-stars { color: #f4a93b; font-size: 0.8125rem; margin-bottom: 8px; }
  .temo-author { font-size: 0.65rem; color: #999; font-weight: 600; }
  .temo-google-link {
    text-align: center; margin-top: 8px;
  }
  .temo-google-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; border: 1.5px solid #e0e0e0; border-radius: 6px;
    padding: 9px 20px; font-size: 0.8125rem; font-weight: 600; color: #444;
  }

  /* ═══════════════ CTA FINAL ═══════════════ */
  .cta-section {
    position: relative; min-height: 300px;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; text-align: center; padding: 60px 40px;
    background: #2D1810;
  }
  .cta-blob {
    position: absolute; width: 500px; height: 500px; border-radius: 50%;
    background: rgba(166,91,80,0.2); filter: blur(80px);
    top: 50%; left: 50%; transform: translate(-50%, -50%);
  }
  .cta-content { position: relative; z-index: 2; max-width: 560px; }
  .cta-eyebrow {
    display: inline-block; background: rgba(255,255,255,0.12); color: #FFFFF4;
    font-size: 0.65rem; font-weight: 700; padding: 4px 16px; border-radius: 20px;
    margin-bottom: 18px; letter-spacing: 1.5px; text-transform: uppercase;
  }
  .cta-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2.125rem; font-weight: 700; color: #FFFFF4; line-height: 1.2; margin-bottom: 14px;
  }
  .cta-title em { font-style: normal; color: #A65B50; }
  .cta-sub { font-size: 0.875rem; color: rgba(255,255,245,0.75); line-height: 1.65; margin-bottom: 28px; }
  .cta-btns { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; }
  .cta-btn-main {
    background: #A65B50; color: #fff; font-size: 0.875rem; font-weight: 700;
    padding: 13px 30px; border-radius: 7px; letter-spacing: 0.3px;
  }
  .cta-btn-sec {
    background: rgba(255,255,255,0.1); color: #FFFFF4; font-size: 0.8125rem; font-weight: 600;
    padding: 12px 24px; border-radius: 7px; border: 1px solid rgba(255,255,255,0.2);
  }

  /* ── FontAwesome sizing — spécifiques à cette page ── */
  .approche-icon i { font-size: 1.375rem; color: #A65B50; }
  .form-icon i { font-size: 1rem; color: #A65B50; }
  .enligne-chk i { font-size: 0.65rem; }
  .app-mockup-icon i { font-size: 1.75rem; color: rgba(255,255,255,0.35); }

/* ══════════════════════════════════════════════════════
   PAGE SERVICES — styles spécifiques
══════════════════════════════════════════════════════ */

  /* ═══════════════ HERO SERVICES ═══════════════ */
  .svc-hero {
    position: relative; background: #FAF8F4; padding: 64px 52px 56px;
    text-align: center; overflow: hidden;
  }
  .svc-hero-blob {
    position: absolute; width: 600px; height: 300px; border-radius: 50%;
    background: rgba(255,220,180,0.18); filter: blur(70px);
    top: -60px; left: 50%; transform: translateX(-50%);
  }
  .svc-hero-circle1 {
    position: absolute; top: -30px; right: 80px; width: 260px; height: 260px;
    border-radius: 50%; border: 1.5px solid rgba(166,91,80,0.15); background: transparent;
  }
  .svc-hero-circle2 {
    position: absolute; bottom: -40px; left: 60px; width: 180px; height: 180px;
    border-radius: 50%; border: 1px solid rgba(166,91,80,0.1); background: transparent;
  }
  .svc-hero-inner { position: relative; z-index: 2; max-width: 680px; margin: 0 auto; }
  .svc-hero-inner .sec-title { font-size: 2.5rem; margin-bottom: 16px; }
  .svc-hero-sub {
    font-size: 0.875rem; color: #666; line-height: 1.7; margin-bottom: 32px; max-width: 520px; margin-left: auto; margin-right: auto;
  }
  .svc-hero-pills { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
  .svc-pill {
    background: #fff; border: 1px solid #e0e0e0; color: #444;
    font-size: 0.8125rem; font-weight: 600; padding: 7px 18px; border-radius: 20px;
    display: flex; align-items: center; gap: 6px;
  }
  .svc-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: #A65B50; }

  /* ═══════════════ CE QUI EST INCLUS ═══════════════ */
  .inclus-section { padding: 56px 52px; background: #fff; position: relative; }
  .inclus-header { text-align: center; margin-bottom: 40px; }
  .inclus-header .sec-title { font-size: 2rem; margin-bottom: 10px; }
  .inclus-sub { font-size: 0.875rem; color: #777; line-height: 1.65; max-width: 480px; margin: 0 auto; }
  .inclus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 32px; }
  .inclus-card {
    border-radius: 14px; padding: 28px 22px; position: relative; overflow: hidden;
    border: 1px solid #e8e8e8;
  }
  .inclus-card.featured {
    background: #2D1810; border-color: #2D1810;
  }
  .inclus-card-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: rgba(166,91,80,0.1);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem; margin-bottom: 18px;
  }
  .inclus-card.featured .inclus-card-icon { background: rgba(255,255,255,0.1); }
  .inclus-card-title { font-size: 1rem; font-weight: 700; color: #2D1810; margin-bottom: 8px; }
  .inclus-card.featured .inclus-card-title { color: #FFFFF4; }
  .inclus-card-body { font-size: 0.8125rem; color: #666; line-height: 1.7; }
  .inclus-card.featured .inclus-card-body { color: rgba(255,255,245,0.7); }
  .inclus-card-detail {
    margin-top: 14px; background: rgba(166,91,80,0.07); border-radius: 6px;
    padding: 10px 14px; font-size: 0.8125rem; font-weight: 600; color: #A65B50;
  }
  .inclus-card.featured .inclus-card-detail {
    background: rgba(255,255,255,0.08); color: rgba(255,255,245,0.85);
  }
  /* Bande de valeur totale */
  .inclus-total {
    background: #FAF8F4; border-radius: 12px; padding: 20px 28px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    border: 1px solid #e8e8e8;
  }
  .inclus-total-left { flex: 1; }
  .inclus-total-label { font-size: 0.8125rem; color: #888; margin-bottom: 4px; }
  .inclus-total-items { font-size: 0.8125rem; color: #555; line-height: 1.6; }
  .inclus-total-items span { color: #A65B50; font-weight: 700; }
  .inclus-total-right { text-align: right; flex-shrink: 0; }
  .inclus-total-valeur { font-size: 0.8125rem; color: #aaa; text-decoration: line-through; margin-bottom: 2px; }
  .inclus-total-prix { font-size: 2.125rem; font-weight: 800; color: #2D1810; line-height: 1; }
  .inclus-total-unit { font-size: 0.875rem; font-weight: 400; color: #888; }
  .inclus-total-save { font-size: 0.8125rem; color: #A65B50; font-weight: 700; margin-top: 4px; }

  /* ═══════════════ COMMENT ÇA SE PASSE ═══════════════ */
  .deroulé-section { background: #FAF8F4; padding: 56px 52px; position: relative; }
  .deroulé-header { text-align: center; margin-bottom: 44px; }
  .deroulé-header .sec-title { font-size: 2rem; margin-bottom: 10px; }
  /* Timeline horizontale mois */
  .mois-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; margin-bottom: 40px; }
  .mois-timeline::before {
    content: ''; position: absolute; top: 28px; left: 10%; right: 10%; height: 2px;
    background: linear-gradient(to right, #A65B50, #e0e0e0); z-index: 0;
  }
  .mois-item { text-align: center; position: relative; z-index: 1; padding: 0 12px; }
  .mois-dot {
    width: 56px; height: 56px; border-radius: 50%; background: #A65B50;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 14px; color: #fff; font-size: 0.875rem; font-weight: 800;
    box-shadow: 0 4px 16px rgba(166,91,80,0.35);
  }
  .mois-dot.light {
    background: #fff; border: 2px solid #e0e0e0; color: #aaa;
    box-shadow: none;
  }
  .mois-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 6px; }
  .mois-desc { font-size: 0.8125rem; color: #777; line-height: 1.55; }
  /* Semaine type */
  .semaine-box {
    background: #fff; border-radius: 14px; padding: 28px 32px;
    border: 1px solid #e8e8e8; box-shadow: 0 2px 16px rgba(0,0,0,0.05);
  }
  .semaine-title { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 20px; text-align: center; }
  .semaine-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
  .jour {
    border-radius: 10px; padding: 10px 6px; text-align: center; min-height: 80px;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
    border: 1px solid #f0f0f0;
  }
  .jour.event { background: rgba(166,91,80,0.07); border-color: rgba(166,91,80,0.25); }
  .jour.event-main { background: #A65B50; border-color: #A65B50; }
  .jour-name { font-size: 0.65rem; font-weight: 700; color: #bbb; text-transform: uppercase; letter-spacing: 0.5px; }
  .jour.event-main .jour-name { color: rgba(255,255,255,0.7); }
  .jour-icon { font-size: 1rem; }
  .jour-label { font-size: 0.65rem; color: #A65B50; font-weight: 700; line-height: 1.3; }
  .jour.event-main .jour-label { color: #fff; }
  .jour-sub { font-size: 0.65rem; color: #bbb; }
  .semaine-legend { display: flex; gap: 16px; margin-top: 14px; justify-content: center; flex-wrap: wrap; }
  .sem-leg { display: flex; align-items: center; gap: 6px; font-size: 0.65rem; color: #777; }
  .sem-leg-dot { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }

  /* ═══════════════ COMPARAISON ═══════════════ */
  .compar-section { padding: 56px 52px; background: #fff; position: relative; }
  .compar-header { text-align: center; margin-bottom: 40px; }
  .compar-header .sec-title { font-size: 2rem; margin-bottom: 10px; }
  .compar-table { width: 100%; border-collapse: collapse; border-radius: 14px; overflow: hidden; border: 1px solid #e8e8e8; }
  .compar-table th {
    padding: 16px 20px; font-size: 0.8125rem; font-weight: 700; text-align: center;
    border-bottom: 2px solid #e8e8e8;
  }
  .compar-table th:first-child { text-align: left; background: #FAF8F4; width: 36%; }
  .compar-table th.col-other { background: #f5f5f5; color: #999; }
  .compar-table th.col-us { background: #A65B50; color: #fff; }
  .compar-table td {
    padding: 14px 20px; font-size: 0.8125rem; border-bottom: 1px solid #f0f0f0;
    text-align: center; vertical-align: middle;
  }
  .compar-table td:first-child { text-align: left; color: #555; font-weight: 500; background: #FAF8F4; }
  .compar-table td.col-other { color: #bbb; }
  .compar-table td.col-us { background: rgba(166,91,80,0.04); color: #2D1810; font-weight: 700; }
  .compar-table tr:last-child td { border-bottom: none; }
  .cross { color: #e0e0e0; font-size: 1rem; }
  .check { color: #A65B50; font-size: 1rem; font-weight: 800; }

  /* ═══════════════ L'APPLICATION ═══════════════ */
  .app-section {
    background: #2D1810; padding: 56px 52px;
    display: flex; gap: 56px; align-items: center; position: relative; overflow: hidden;
  }
  .app-glow {
    position: absolute; right: -60px; top: 50%; transform: translateY(-50%);
    width: 360px; height: 360px; border-radius: 50%;
    background: rgba(166,91,80,0.2); filter: blur(70px);
  }
  .app-left { flex: 1; position: relative; z-index: 2; }
  .app-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.85);
    font-size: 0.65rem; font-weight: 700; padding: 5px 14px; border-radius: 20px;
    margin-bottom: 18px; text-transform: uppercase; letter-spacing: 1px;
  }
  .app-soon { background: #A65B50; color: #fff; font-size: 0.65rem; font-weight: 700; padding: 2px 8px; border-radius: 3px; }
  .app-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2rem; font-weight: 700; color: #FFFFF4; line-height: 1.2; margin-bottom: 14px;
  }
  .app-title em { font-style: normal; color: #A65B50; }
  .app-body { font-size: 0.8125rem; color: rgba(255,255,245,0.72); line-height: 1.8; margin-bottom: 22px; }
  .app-feats { list-style: none; }
  .app-feat {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 0.8125rem; color: rgba(255,255,245,0.82); margin-bottom: 11px;
  }
  .app-feat-chk {
    flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
    background: rgba(166,91,80,0.4); display: flex; align-items: center;
    justify-content: center; color: #fff; font-size: 0.65rem; margin-top: 1px;
  }
  .app-feat strong { color: #FFFFF4; }
  .app-right { flex: 0 0 280px; display: flex; gap: 14px; align-items: flex-end; position: relative; z-index: 2; }
  .mockup {
    border-radius: 26px; border: 2px dashed rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.04);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; text-align: center; padding: 20px;
  }
  .mockup.main { flex: 1; height: 360px; }
  .mockup.sm { width: 100px; height: 260px; border-radius: 20px; }
  .mockup-icon { font-size: 1.75rem; opacity: 0.4; }
  .mockup-label {
    background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.75);
    font-size: 0.65rem; font-weight: 700; padding: 2px 8px; border-radius: 3px; letter-spacing: 1px;
  }
  .mockup-txt { font-size: 0.65rem; font-weight: 600; color: rgba(255,255,245,0.5); }

  /* ═══════════════ TARIFS ═══════════════ */
  .tarifs-section { padding: 56px 52px; background: #FAF8F4; position: relative; }
  .tarifs-header { text-align: center; margin-bottom: 40px; }
  .tarifs-header .sec-title { font-size: 2rem; margin-bottom: 10px; }
  .tarifs-info {
    background: #fff; border: 1px solid #e8e8e8; border-radius: 10px;
    padding: 16px 22px; margin-bottom: 32px; display: flex; gap: 14px; align-items: flex-start;
  }
  .tarifs-info-icon { font-size: 1.375rem; flex-shrink: 0; margin-top: 2px; }
  .tarifs-info-txt { font-size: 0.8125rem; color: #666; line-height: 1.65; }
  .tarifs-info-txt strong { color: #2D1810; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 28px; }
  .tarif-card {
    background: #fff; border-radius: 14px; padding: 30px 24px;
    border: 1px solid #e8e8e8; position: relative;
  }
  .tarif-card.recom { border: 2px solid #A65B50; box-shadow: 0 8px 32px rgba(166,91,80,0.15); }
  .recom-badge {
    position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
    background: #A65B50; color: #fff; font-size: 0.65rem; font-weight: 700;
    padding: 3px 18px; border-radius: 20px; white-space: nowrap; letter-spacing: 0.5px;
  }
  .tarif-name { font-size: 0.65rem; font-weight: 700; color: #A65B50; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 6px; }
  .tarif-engage { font-size: 0.65rem; color: #bbb; margin-bottom: 16px; }
  .tarif-price { font-size: 2.5rem; font-weight: 800; color: #2D1810; line-height: 1; }
  .tarif-unit { font-size: 0.875rem; font-weight: 400; color: #888; }
  .tarif-total { font-size: 0.8125rem; color: #A65B50; font-weight: 700; margin: 6px 0 18px; }
  .tarif-save { display: inline-block; background: rgba(166,91,80,0.1); color: #A65B50; font-size: 0.65rem; font-weight: 700; padding: 2px 10px; border-radius: 3px; margin-bottom: 18px; }
  .tarif-hr { height: 1px; background: #f0f0f0; margin-bottom: 18px; }
  .tarif-feat {
    font-size: 0.8125rem; color: #555; margin-bottom: 10px;
    display: flex; align-items: flex-start; gap: 8px; line-height: 1.4;
  }
  .tarif-chk { color: #A65B50; font-weight: 700; flex-shrink: 0; }
  .tarifs-cta {
    background: #2D1810; border-radius: 12px; padding: 24px 28px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
  }
  .tarifs-cta-txt { color: #FFFFF4; }
  .tarifs-cta-title { font-size: 1rem; font-weight: 700; margin-bottom: 5px; }
  .tarifs-cta-sub { font-size: 0.8125rem; color: rgba(255,255,245,0.65); }
  .tarifs-cta-btn {
    background: #A65B50; color: #fff; font-size: 0.8125rem; font-weight: 700;
    padding: 12px 26px; border-radius: 7px; white-space: nowrap; flex-shrink: 0;
  }

  /* ═══════════════ FAQ ═══════════════ */
  .faq-section { padding: 56px 52px; background: #fff; }
  .faq-header { text-align: center; margin-bottom: 40px; }
  .faq-header .sec-title { font-size: 2rem; margin-bottom: 10px; }
  .faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .faq-item {
    background: #FAF8F4; border-radius: 10px; padding: 20px 22px;
    border: 1px solid #e8e8e8;
  }
  .faq-q { font-size: 0.875rem; font-weight: 700; color: #2D1810; margin-bottom: 8px; display: flex; align-items: flex-start; gap: 10px; }
  .faq-q-icon { color: #A65B50; flex-shrink: 0; font-size: 0.875rem; }
  .faq-a { font-size: 0.8125rem; color: #666; line-height: 1.7; padding-left: 24px; }
  .faq-a strong { color: #2D1810; }

  /* ═══════════════ CTA FINAL ═══════════════ */
  .cta-section {
    position: relative; min-height: 280px; background: #A65B50;
    display: flex; align-items: center; justify-content: center;
    text-align: center; padding: 56px 40px; overflow: hidden;
  }
  .cta-pattern {
    position: absolute; inset: 0; opacity: 0.06;
    background-image: repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 0, transparent 50%);
    background-size: 14px 14px;
  }
  .cta-content { position: relative; z-index: 2; max-width: 540px; }
  .cta-eyebrow {
    display: inline-block; background: rgba(255,255,255,0.2); color: #fff;
    font-size: 0.65rem; font-weight: 700; padding: 4px 16px; border-radius: 20px;
    margin-bottom: 18px; letter-spacing: 1.5px; text-transform: uppercase;
  }
  .cta-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2.5rem; font-weight: 700; color: #fff; line-height: 1.15; margin-bottom: 14px;
  }
  .cta-sub { font-size: 0.875rem; color: rgba(255,255,255,0.82); line-height: 1.65; margin-bottom: 28px; }
  .cta-btns { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; }
  .cta-btn-main {
    background: #fff; color: #A65B50; font-size: 0.875rem; font-weight: 700;
    padding: 13px 30px; border-radius: 7px;
  }
  .cta-btn-sec {
    background: rgba(255,255,255,0.15); color: #fff; font-size: 0.8125rem; font-weight: 600;
    padding: 12px 22px; border-radius: 7px; border: 1px solid rgba(255,255,255,0.3);
  }

  /* ── FontAwesome sizing — spécifiques à cette page ── */
  .inclus-card-icon i { font-size: 1.375rem; color: #A65B50; }
  .inclus-card.featured .inclus-card-icon i { color: rgba(255,255,245,0.85); }
  .jour-icon i { font-size: 1rem; color: #A65B50; }
  .jour.event-main .jour-icon i { color: #fff; }
  .app-feat-chk i { font-size: 0.65rem; }
  .mockup-icon i { font-size: 1.75rem; color: rgba(255,255,255,0.35); }
  .tarifs-info-icon i { font-size: 1.125rem; color: #A65B50; }
  .faq-q-icon i { font-size: 0.875rem; color: #A65B50; }