    /* ===== VARIABLES ===== */
    :root {
      --cream: #f0e6d8;
      --warm-white: #f5ede2;
      --blush: #edded5;
      --blush-mid: #e2cec2;
      --peach: #e8d5c8;
      --sand: #e4d8ca;
      --sand-light: #ebe2d5;
      --sand-mid: #d4c4b0;
      --sand-deep: #c2b09a;
      --gold-light: #ecdcc8;
      --gold-mid: #d4bc98;
      --gold-warm: #bfa06e;
      --accent-light: #f0e0d0;
      --accent-mid: #dcc4aa;
      --accent: #b8946e;
      --accent2-light: #ecdace;
      --accent2-mid: #d8bea8;
      --accent2: #a88868;
      --terracotta: #c07850;
      --terra-light: #e8d2c2;
      --terra-deep: #a06040;
      --charcoal: #382e22;
      --charcoal-soft: #4e4438;
      --taupe: #887868;
      --taupe-light: #b0a090;
      --whatsapp: #25D366;
      --font-serif: 'DM Serif Display', Georgia, serif;
      --font-sans: 'DM Sans', system-ui, sans-serif;
      --r-sm: 18px;
      --r-md: 28px;
      --r-lg: 40px;
      --r-xl: 56px;
      --r-pill: 50px;
      --shadow-xs: 0 1px 8px rgba(62,56,48,0.04);
      --shadow-sm: 0 2px 20px rgba(62,56,48,0.06);
      --shadow-md: 0 8px 36px rgba(62,56,48,0.08);
      --shadow-lg: 0 20px 56px rgba(62,56,48,0.10);
    }

    /* ===== RESET ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    /* Pas de curseur texte clignotant sur la page, sauf champs de saisie */
    * { caret-color: transparent; }
    input, textarea, select, [contenteditable="true"], [contenteditable=""] { caret-color: auto; }
    body {
      font-family: var(--font-sans);
      font-weight: 400;
      color: var(--charcoal);
      background: var(--cream);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }

    /* ===== SCROLL PROGRESS BAR ===== */
    .scroll-progress {
      position: fixed;
      top: 0; left: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--terracotta), var(--gold-warm), var(--accent2));
      width: 0%;
      z-index: 1100;
      transition: width 0.1s linear;
    }

    /* ===== READING TIME BADGE ===== */
    .reading-time {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.06em;
      color: var(--taupe);
      background: rgba(62,56,48,0.06);
      padding: 6px 14px;
      border-radius: var(--r-pill);
      margin-bottom: 24px;
    }

    /* ===== TYPOGRAPHY ===== */
    h1, h2, h3 { font-family: var(--font-serif); line-height: 1.18; }
    h1 { font-size: clamp(1.9rem, 4.2vw, 3rem); }
    h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
    h3 { font-size: clamp(1.05rem, 2vw, 1.4rem); }
    p { line-height: 1.78; font-weight: 300; }
    strong { font-weight: 500; }

    /* Gradient text */
    .gradient-text {
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep), var(--terracotta));
      background-size: 200% 100%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: gradientShift 4s ease infinite;
    }
    @keyframes gradientShift {
      0%, 100% { background-position: 0% center; }
      50% { background-position: 100% center; }
    }

    /* ===== LAYOUT ===== */
    .container { max-width: 1060px; margin: 0 auto; padding: 0 28px; }
    section { padding: 80px 0; position: relative; }

    /* ===== SECTION HOOK (phrase d'accroche entre sections) ===== */
    .section-hook {
      text-align: center;
      padding: 48px 28px;
      position: relative;
      overflow: hidden;
      background: var(--sand);
    }
    .section-hook p {
      font-family: var(--font-serif);
      font-size: clamp(1rem, 2vw, 1.25rem);
      font-style: italic;
      color: var(--taupe);
      max-width: 600px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .section-hook .hook-arrow {
      display: block;
      margin: 16px auto 0;
      width: 28px;
      height: 28px;
      color: var(--taupe-light);
      animation: bounceArrow 2s ease-in-out infinite;
      cursor: pointer;
      transition: color 0.25s;
    }
    .section-hook .hook-arrow:hover { color: var(--terracotta); }
    @keyframes bounceArrow {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(6px); }
    }

    /* ===== WAVE DIVIDERS ===== */
    .wave-divider {
      position: relative;
      height: 80px;
      overflow: hidden;
      margin-top: -1px;
    }
    .wave-divider svg {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: block;
    }

    /* ===== TAG ===== */
    .tag {
      display: inline-block;
      font-family: var(--font-sans);
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 7px 18px;
      border-radius: var(--r-pill);
      margin-bottom: 18px;
    }
    .tag-terra { background: var(--blush); color: var(--terracotta); }
    .tag-olive { background: var(--accent-light); color: var(--accent); }
    .tag-blue  { background: var(--accent2-light); color: var(--accent2); }
    .tag-sand  { background: var(--sand); color: var(--taupe); }
    .tag-light { background: var(--blush); color: var(--terracotta); }
    .tag-charcoal { background: rgba(62,56,48,0.06); color: var(--charcoal-soft); }

    /* ===== BUTTONS ===== */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 30px;
      border-radius: var(--r-pill);
      font-family: var(--font-sans);
      font-size: 0.9rem;
      font-weight: 500;
      cursor: pointer;
      border: none;
      transition: all 0.35s cubic-bezier(0.34,1.56,0.64,1);
      white-space: nowrap;
      position: relative;
      overflow: hidden;
    }
    .btn::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255,255,255,0);
      transition: background 0.3s;
    }
    .btn:hover::after { background: rgba(255,255,255,0.08); }
    .btn-terra {
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep));
      color: var(--warm-white);
    }
    .btn-terra:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(208,139,111,0.3); }
    .btn-outline-light {
      background: var(--warm-white);
      color: var(--charcoal-soft);
      border: 1.5px solid var(--sand-mid);
    }
    .btn-outline-light:hover { background: var(--sand); transform: translateY(-3px); border-color: var(--terracotta); }
    .btn-whatsapp {
      background: linear-gradient(135deg, #25D366, #1db954);
      color: var(--warm-white);
    }
    .btn-whatsapp:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(37,211,102,0.3); }
    .btn-ghost {
      background: var(--blush);
      color: var(--terracotta);
    }
    .btn-ghost:hover { background: var(--terracotta); color: var(--warm-white); transform: translateY(-3px); }
    .btn-soft {
      background: var(--sand);
      color: var(--charcoal-soft);
    }
    .btn-soft:hover { background: var(--sand-mid); transform: translateY(-2px); }

    /* ===== NAV ===== */
    nav {
      position: fixed;
      top: 3px; left: 0; right: 0;
      z-index: 1000;
      padding: 12px 0;
      transition: all 0.35s ease;
    }
    nav.scrolled {
      background: rgba(240,230,216,0.92);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      box-shadow: 0 1px 0 rgba(62,56,48,0.05);
    }
    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1060px;
      margin: 0 auto;
      padding: 0 28px;
    }
    .nav-logo {
      font-family: var(--font-serif);
      font-size: 1.3rem;
      color: var(--charcoal);
      transition: color 0.3s;
    }
    nav.scrolled .nav-logo { color: var(--charcoal); }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 4px;
      list-style: none;
    }
    .nav-links a {
      font-size: 0.82rem;
      font-weight: 400;
      color: var(--taupe);
      padding: 7px 13px;
      border-radius: var(--r-pill);
      transition: all 0.25s;
    }
    .nav-links a:hover { color: var(--charcoal); background: var(--sand); }
    nav.scrolled .nav-links a { color: var(--taupe); }
    nav.scrolled .nav-links a:hover { color: var(--charcoal); background: var(--sand); }
    .nav-links .nav-cta a {
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep));
      color: var(--warm-white) !important;
      font-weight: 500;
      padding: 9px 22px;
    }
    .nav-links .nav-cta a:hover { box-shadow: 0 6px 20px rgba(208,139,111,0.3); }
    .nav-links a.active { color: var(--terracotta) !important; font-weight: 500; }
    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      padding: 4px;
      background: none;
      border: none;
      -webkit-appearance: none;
      appearance: none;
      align-items: center;
      justify-content: center;
    }
    .hamburger span {
      width: 22px; height: 2px;
      background: var(--charcoal);
      border-radius: 2px;
      transition: all 0.3s;
    }
    nav.scrolled .hamburger span { background: var(--charcoal); }
    .hamburger.open span,
    nav.scrolled .hamburger.open span { background: var(--warm-white); }
    .hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

    /* ===== FLOATING WHATSAPP ===== */
    .fab-whatsapp {
      position: fixed;
      bottom: 28px;
      right: 24px;
      z-index: 999;
      width: 54px; height: 54px;
      border-radius: 50%;
      background: linear-gradient(135deg, #25D366, #1db954);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 6px 24px rgba(37,211,102,0.35);
      transition: all 0.35s cubic-bezier(0.34,1.56,0.64,1);
      cursor: pointer;
    }
    .fab-whatsapp:hover { transform: scale(1.1) translateY(-2px); box-shadow: 0 12px 32px rgba(37,211,102,0.45); }
    .fab-whatsapp svg { width: 24px; height: 24px; fill: var(--warm-white); }

    /* ===== REVEAL ===== */
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.8s cubic-bezier(0.34,1.56,0.64,1), transform 0.8s cubic-bezier(0.34,1.56,0.64,1);
    }
    .reveal.in { opacity: 1; transform: translateY(0); }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }

    /* ===== PARALLAX FLOAT ANIMATIONS ===== */
    @keyframes floatSlow {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-12px); }
    }
    @keyframes floatMed {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-8px) rotate(1deg); }
    }
    @keyframes pulse2028 {
      0%, 100% { box-shadow: 0 0 0 0 rgba(192,120,80,0.3); }
      50% { box-shadow: 0 0 0 14px rgba(192,120,80,0); }
    }
    @keyframes shimmerBg {
      0% { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    .float-slow { animation: floatSlow 6s ease-in-out infinite; }
    .float-med { animation: floatMed 4.5s ease-in-out infinite; }

    /* ===== TILT HOVER ON CARDS ===== */
    .tilt-hover {
      transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.4s ease;
    }
    .tilt-hover:hover {
      transform: translateY(-5px) rotateX(2deg) rotateY(-1deg) scale(1.015);
      box-shadow: var(--shadow-lg);
    }

    /* ===== IMPACT PHRASE ===== */
    .impact-phrase {
      margin-top: 36px;
      padding: 28px 36px;
      border-radius: var(--r-md);
      background: linear-gradient(135deg, var(--charcoal) 0%, var(--charcoal-soft) 100%);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .impact-phrase::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 300%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(245,237,226,0.04), transparent);
      animation: shimmerBg 4s ease-in-out infinite;
    }
    .impact-phrase p {
      font-family: var(--font-serif);
      font-size: clamp(1rem, 1.8vw, 1.2rem);
      font-style: italic;
      color: rgba(245,237,226,0.85);
      line-height: 1.6;
      position: relative;
      z-index: 1;
    }
    .impact-phrase p span {
      color: var(--terracotta);
      font-style: normal;
      font-weight: 500;
    }

    /* ===== 2028 URGENCY ===== */
    .urgency-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--terracotta);
      color: var(--warm-white);
      font-family: var(--font-sans);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      padding: 6px 16px;
      border-radius: var(--r-pill);
      margin-top: 14px;
      animation: pulse2028 2.5s ease-in-out infinite;
    }
    .urgency-badge .dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: var(--warm-white);
      animation: blink 1.2s step-end infinite;
    }
    .warning-year-big {
      font-family: var(--font-serif);
      font-size: 3.6rem;
      color: var(--terracotta);
      line-height: 1;
      position: relative;
    }
    .warning-year-big::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--terracotta), transparent);
      border-radius: 2px;
    }
    .countdown-text {
      font-size: 0.82rem;
      font-weight: 500;
      color: var(--terra-deep);
      margin-top: 6px;
    }

    /* ===== FAQ ACCORDION ===== */
    #faq { background: var(--peach); }
    .faq-grid { max-width: 720px; margin: 0 auto; }
    .faq-item {
      background: var(--cream);
      border: 1px solid var(--sand-mid);
      border-radius: var(--r-md);
      margin-bottom: 12px;
      overflow: hidden;
      transition: box-shadow 0.3s ease;
    }
    .faq-item:hover { box-shadow: var(--shadow-sm); }
    .faq-question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 24px;
      cursor: pointer;
      gap: 16px;
      user-select: none;
    }
    .faq-question h3 {
      font-size: 0.95rem;
      font-weight: 500;
      font-family: var(--font-sans);
      color: var(--charcoal);
      line-height: 1.4;
      flex: 1;
    }
    .faq-icon {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: var(--sand);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: all 0.35s ease;
    }
    .faq-icon svg {
      width: 14px; height: 14px;
      stroke: var(--taupe);
      transition: transform 0.35s ease;
    }
    .faq-item.open .faq-icon {
      background: var(--terracotta);
    }
    .faq-item.open .faq-icon svg {
      stroke: var(--warm-white);
      transform: rotate(180deg);
    }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.34,1.56,0.64,1), padding 0.3s ease;
      padding: 0 24px;
    }
    .faq-item.open .faq-answer {
      max-height: 300px;
      padding: 0 24px 20px;
    }
    .faq-answer p {
      font-size: 0.88rem;
      color: var(--taupe);
      line-height: 1.7;
    }

    /* ===== HERO ===== */
    #hero {
      min-height: 100vh;
      background: linear-gradient(155deg, var(--blush) 0%, var(--warm-white) 48%, var(--peach) 100%);
      display: flex;
      align-items: center;
      padding: 120px 0 80px;
      position: relative;
      overflow: hidden;
    }
    #hero::before {
      content: '';
      position: absolute;
      top: -15%;
      right: -8%;
      width: 500px; height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(208,139,111,0.10) 0%, transparent 70%);
    }
    #hero::after {
      content: '';
      position: absolute;
      bottom: -10%;
      left: -5%;
      width: 350px; height: 350px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(208,139,111,0.07) 0%, transparent 70%);
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 48px;
      align-items: center;
    }
    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.74rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--taupe);
      margin-bottom: 20px;
    }
    .hero-eyebrow::before {
      content: '';
      display: inline-block;
      width: 20px; height: 1.5px;
      background: var(--terracotta);
    }
    #hero h1 {
      color: var(--charcoal);
      margin-bottom: 20px;
      font-style: italic;
    }
    #hero h1 span { color: var(--terracotta); font-style: normal; }
    .hero-sub {
      font-size: 0.98rem;
      line-height: 1.78;
      color: var(--charcoal-soft);
      max-width: 460px;
      margin-bottom: 32px;
    }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    .hero-card {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: var(--r-xl);
      padding: 28px 24px;
      backdrop-filter: blur(12px);
    }
    .hero-card-title {
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
      margin-bottom: 20px;
    }
    .hero-stat {
      padding: 14px 0;
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .hero-stat:last-child { border-bottom: none; padding-bottom: 0; }
    .hero-stat:first-of-type { padding-top: 0; }
    .hero-stat-num {
      font-family: var(--font-serif);
      font-size: 1.7rem;
      color: var(--warm-white);
      display: block;
      margin-bottom: 3px;
    }
    .hero-stat-num span { color: var(--terracotta); }
    .hero-stat-label {
      font-size: 0.78rem;
      color: rgba(255,255,255,0.45);
      font-weight: 300;
    }

    /* ===== TYPEWRITER ===== */
    .typewriter-cursor {
      display: inline-block;
      width: 3px;
      background: var(--terracotta);
      margin-left: 2px;
      animation: blink 0.7s step-end infinite;
      vertical-align: text-bottom;
      height: 1em;
    }
    @keyframes blink { 50% { opacity: 0; } }
    .hero-entrance .hero-eyebrow,
    .hero-entrance h1,
    .hero-entrance .hero-sub,
    .hero-entrance .hero-actions,
    .hero-entrance .reading-time {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .hero-entrance.step-1 .hero-eyebrow,
    .hero-entrance.step-1 .reading-time { opacity: 1; transform: translateY(0); }
    .hero-entrance.step-2 h1 { opacity: 1; transform: translateY(0); }
    .hero-entrance.step-3 .hero-sub { opacity: 1; transform: translateY(0); }
    .hero-entrance.step-4 .hero-actions { opacity: 1; transform: translateY(0); }

    /* ===== VIDEO ===== */
    #video-section { background: var(--sand); }
    .video-wrap {
      max-width: 740px; margin: 0 auto;
      background: var(--charcoal); border-radius: var(--r-lg);
      overflow: hidden; position: relative;
      box-shadow: var(--shadow-lg);
      cursor: pointer; aspect-ratio: 16/9;
    }
    .video-wrap video { width: 100%; height: 100%; object-fit: cover; display: block; }
    .video-wrap.portrait { aspect-ratio: 9/16; max-width: 380px; }
    .video-wrap.portrait video { object-fit: contain; background: var(--charcoal); }
    .video-cover {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      background: linear-gradient(to bottom, rgba(62,56,48,0.10), rgba(62,56,48,0.45));
      transition: opacity 0.4s;
    }
    .video-cover.hidden { opacity: 0; pointer-events: none; }
    .play-btn {
      width: 64px; height: 64px; border-radius: 50%;
      background: rgba(245,237,226,0.95);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 24px rgba(0,0,0,0.15);
      transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    }
    .play-btn:hover { transform: scale(1.1); }
    .play-btn svg { margin-left: 3px; }
    .video-caption {
      text-align: center; margin-top: 16px;
      font-size: 0.85rem; color: var(--taupe-light); font-weight: 300;
    }
    .video-contact-bar {
      display: flex; gap: 10px; justify-content: center;
      margin-top: 22px; flex-wrap: wrap;
    }

    /* ===== COMPRENDRE EN VIDEO + PRESSE ===== */
    #presse { background: var(--sand-light); }
    .video-duo {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 28px; margin-top: 8px;
    }
    .video-duo .video-wrap { max-width: 100%; margin: 0; }
    .video-duo-item .video-caption { margin-top: 12px; }
    .presse-band {
      margin-top: 48px; background: var(--warm-white);
      border: 1px solid var(--sand-mid); border-radius: var(--r-lg);
      padding: 36px; box-shadow: var(--shadow-sm);
    }
    .presse-band-head {
      display: flex; align-items: center; gap: 12px;
      flex-wrap: wrap; margin-bottom: 6px;
    }
    .presse-band-source { font-size: 0.8rem; color: var(--taupe); font-weight: 300; }
    .presse-band h3 { font-size: 1.2rem; color: var(--charcoal); margin-bottom: 22px; line-height: 1.35; }
    .presse-stats {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 18px; margin-bottom: 24px;
    }
    .presse-stat { text-align: center; }
    .presse-stat-num { font-family: var(--font-serif); font-size: 2rem; color: var(--terracotta); line-height: 1; }
    .presse-stat-label { font-size: 0.78rem; color: var(--taupe); margin-top: 8px; line-height: 1.45; }
    .presse-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--sand); padding-top: 20px; }
    .presse-cta p { font-size: 0.88rem; color: var(--charcoal); font-weight: 500; margin: 0; max-width: 460px; }
    @media (max-width: 760px) {
      .video-duo { grid-template-columns: 1fr; gap: 32px; }
      .presse-stats { grid-template-columns: repeat(2, 1fr); gap: 22px 14px; }
      .presse-band { padding: 26px 20px; }
    }

    /* ===== CONTEXTE ===== */
    #contexte { background: var(--sand-light); }
    .section-header { margin-bottom: 40px; }
    .section-header h2 { margin-bottom: 12px; }
    .section-header p { max-width: 560px; color: var(--taupe); font-size: 0.96rem; }
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-bottom: 24px;
    }
    .stat-card {
      background: var(--cream);
      border-radius: var(--r-md);
      padding: 26px 22px;
      border: 1px solid var(--sand-mid);
      transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    .stat-card:hover { transform: translateY(-4px) scale(1.01); box-shadow: var(--shadow-md); }
    .stat-card-num {
      font-family: var(--font-serif);
      font-size: 2.4rem;
      color: var(--terracotta);
      display: block;
      margin-bottom: 8px;
    }
    .stat-card-label { font-size: 0.85rem; color: var(--taupe); line-height: 1.55; }
    .warning-card {
      background: var(--terra-light);
      border: 1px solid var(--blush-mid);
      border-radius: var(--r-md);
      padding: 28px;
      margin-bottom: 24px;
    }
    .warning-card-header { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
    .warning-year { font-family: var(--font-serif); font-size: 2rem; color: var(--terracotta); }
    .warning-card-title { font-size: 0.96rem; font-weight: 500; color: var(--charcoal); line-height: 1.45; }
    .warning-card p { color: var(--taupe); font-size: 0.9rem; margin-bottom: 12px; }
    .warning-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }
    .warning-item {
      display: flex; align-items: flex-start; gap: 8px;
      font-size: 0.85rem; color: var(--taupe);
      padding: 8px 12px;
      background: rgba(245,237,226,0.7);
      border-radius: var(--r-sm);
    }
    .warning-item::before { content: '\2192'; color: var(--terracotta); flex-shrink: 0; margin-top: 1px; }
    .note-card {
      background: var(--accent-light);
      border-radius: var(--r-md);
      padding: 20px 24px;
      border-left: 4px solid var(--accent);
      font-size: 0.9rem; color: var(--charcoal); line-height: 1.65;
    }
    .note-card strong { color: var(--accent); }

    /* ===== REALITES ===== */
    .trois-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-bottom: 28px;
    }
    .realite-card {
      background: var(--cream);
      border-radius: var(--r-md);
      padding: 28px 22px;
      border: 1px solid var(--sand-mid);
      transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    .realite-card:hover { transform: translateY(-4px) scale(1.01); box-shadow: var(--shadow-md); }
    .realite-num { font-family: var(--font-serif); font-size: 2.4rem; color: var(--sand-mid); line-height: 1; margin-bottom: 12px; }
    .realite-title { font-family: var(--font-serif); font-size: 1.1rem; color: var(--charcoal); margin-bottom: 8px; }
    .realite-sub { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--taupe-light); margin-bottom: 12px; }
    .realite-card p { font-size: 0.88rem; color: var(--taupe); line-height: 1.65; }
    .realite-card.card-winter { border-top: 3px solid var(--accent2); }
    .realite-card.card-summer { border-top: 3px solid var(--terracotta); }
    .realite-card.card-humidity { border-top: 3px solid var(--gold-warm); }
    .closing-statement {
      background: var(--accent-light);
      border: 1px solid var(--accent-mid);
      border-radius: var(--r-md);
      padding: 24px 32px;
      text-align: center;
    }
    .closing-statement p { color: var(--charcoal-soft); font-size: 0.92rem; line-height: 1.7; }
    .closing-statement strong { color: var(--terra-deep); }

    /* ===== METHODE ===== */
    #methode { background: var(--peach); }
    .methode-intro { max-width: 600px; margin-bottom: 44px; }
    .methode-intro h2 { margin-bottom: 12px; }
    .methode-intro p { color: var(--taupe); font-size: 0.95rem; }
    .steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      position: relative;
    }
    .steps-grid::before {
      content: '';
      position: absolute;
      top: 36px;
      left: calc(12.5% + 1px);
      right: calc(12.5% + 1px);
      height: 2px;
      background: linear-gradient(90deg, var(--terracotta), var(--sand-mid));
    }
    .step-item { padding: 0 12px; position: relative; }
    .step-num-wrap { display: flex; justify-content: center; margin-bottom: 20px; position: relative; z-index: 1; }
    .step-num {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep));
      color: var(--warm-white);
      font-family: var(--font-serif);
      font-size: 1.1rem;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 16px rgba(208,139,111,0.25);
    }
    .step-title { font-family: var(--font-serif); font-size: 1rem; color: var(--charcoal); margin-bottom: 8px; text-align: center; }
    .step-text { font-size: 0.82rem; color: var(--taupe); line-height: 1.65; text-align: center; }

    /* ===== SOLUTION ===== */
    #solution {
      background: linear-gradient(160deg, var(--sand-light) 0%, var(--warm-white) 100%);
      position: relative; overflow: hidden;
    }
    #solution::before {
      content: '';
      position: absolute;
      top: -20%; left: -8%;
      width: 500px; height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(208,139,111,0.06) 0%, transparent 65%);
    }
    .solution-header { margin-bottom: 44px; }
    .solution-header h2 { color: var(--charcoal); margin-bottom: 12px; }
    .solution-header p { color: var(--taupe); max-width: 560px; font-size: 0.95rem; }
    .solution-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: start;
      margin-bottom: 40px;
    }
    .layers-stack { display: flex; flex-direction: column; gap: 4px; }
    .layer {
      border-radius: var(--r-md);
      padding: 20px 22px;
      transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    }
    .layer:hover { transform: translateX(6px); }
    .layer-num { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 5px; opacity: 0.65; }
    .layer-title { font-family: var(--font-serif); font-size: 0.96rem; margin-bottom: 5px; }
    .layer-text { font-size: 0.8rem; line-height: 1.55; opacity: 0.75; }
    .layer-1 { background: var(--gold-light); color: var(--charcoal); border: 1px solid var(--sand-mid); }
    .layer-2 { background: var(--terra-light); color: var(--charcoal); border: 1px solid var(--blush-mid); }
    .layer-3 { background: var(--sand); color: var(--charcoal); border: 1px solid var(--sand-mid); }
    .layer-4 { background: var(--cream); color: var(--charcoal); border: 1px solid var(--sand-mid); }
    .r-value-badge {
      display: inline-block;
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep));
      color: var(--warm-white);
      font-size: 0.72rem; font-weight: 500;
      padding: 4px 14px;
      border-radius: var(--r-pill);
      margin-top: 8px;
    }
    .comparison-wrap { overflow: hidden; border-radius: var(--r-md); border: 1px solid var(--sand-mid); }
    .comparison-table { width: 100%; border-collapse: collapse; }
    .comparison-table th {
      padding: 13px 16px; font-size: 0.75rem; font-weight: 500;
      letter-spacing: 0.06em; text-transform: uppercase; text-align: left;
    }
    .comparison-table th:first-child { background: var(--sand-light); color: var(--taupe); width: 38%; }
    .comparison-table th:nth-child(2) { background: var(--sand-light); color: var(--taupe); }
    .comparison-table th:nth-child(3) { background: linear-gradient(135deg, var(--terracotta), var(--terra-deep)); color: var(--warm-white); }
    .comparison-table td { padding: 11px 16px; font-size: 0.82rem; border-bottom: 1px solid var(--sand-mid); }
    .comparison-table td:first-child { color: var(--charcoal-soft); background: var(--cream); }
    .comparison-table td:nth-child(2) { color: var(--taupe); background: var(--cream); }
    .comparison-table td:nth-child(3) { color: var(--terra-deep); font-weight: 500; background: rgba(208,139,111,0.10); }
    .check { color: var(--accent); font-weight: 500; }
    .cross { color: var(--taupe-light); }
    .patrimonial-card {
      background: var(--blush);
      border: 1px solid var(--blush-mid);
      border-radius: var(--r-md);
      padding: 24px 28px;
      margin-top: 18px;
    }
    .patrimonial-card p { color: var(--charcoal-soft); font-size: 0.9rem; line-height: 1.7; }
    .patrimonial-card strong { color: var(--terra-deep); }

    /* ===== PREUVES ===== */
    #preuves { background: var(--sand-light); }
    .preuves-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
      margin-bottom: 28px;
    }
    .preuve-card {
      background: var(--cream);
      border: 1px solid var(--sand-mid);
      border-radius: var(--r-md);
      padding: 26px 22px;
      transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    .preuve-card:hover { transform: translateY(-3px) scale(1.01); box-shadow: var(--shadow-md); }
    .preuve-card.featured {
      background: linear-gradient(150deg, var(--blush) 0%, var(--warm-white) 60%);
      border-color: var(--blush-mid);
      grid-column: span 2;
    }
    .preuve-location { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--taupe-light); margin-bottom: 8px; }
    .preuve-card.featured .preuve-location { color: var(--taupe); }
    .preuve-result { font-family: var(--font-serif); font-size: 1.5rem; color: var(--charcoal); margin-bottom: 6px; }
    .preuve-card.featured .preuve-result { color: var(--charcoal); font-size: 2rem; }
    .preuve-card.featured .preuve-result span { color: var(--terracotta); }
    .preuve-detail { font-size: 0.82rem; color: var(--taupe); line-height: 1.55; }
    .preuve-card.featured .preuve-detail { color: var(--taupe); font-size: 0.9rem; }
    .validation-card {
      background: var(--accent-light);
      border: 1px solid var(--accent-mid);
      border-radius: var(--r-md);
      padding: 24px 28px;
      display: flex;
      gap: 18px;
      align-items: flex-start;
    }
    .validation-icon {
      width: 40px; height: 40px;
      border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      color: var(--warm-white); font-size: 1rem;
    }
    .validation-text { font-size: 0.9rem; color: var(--charcoal); line-height: 1.65; }
    .validation-text strong { color: var(--accent); }

    /* ===== FINANCEMENT ===== */
    #financement { background: var(--gold-light); }
    .financement-header { max-width: 600px; margin-bottom: 44px; }
    .financement-header h2 { margin-bottom: 12px; }
    .financement-header p { color: var(--taupe); font-size: 0.95rem; }
    .perspectives-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .perspective-card {
      background: var(--cream);
      border-radius: var(--r-md);
      padding: 26px 22px;
      border: 1px solid var(--sand-mid);
      transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    }
    .perspective-card:hover { transform: translateY(-4px) scale(1.01); box-shadow: var(--shadow-md); }
    .perspective-icon {
      width: 42px; height: 42px;
      border-radius: var(--r-sm);
      margin-bottom: 16px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.2rem;
    }
    .icon-buyer { background: var(--accent2-light); }
    .icon-banker { background: var(--accent-light); }
    .icon-notaire { background: var(--blush); }
    .perspective-title { font-family: var(--font-serif); font-size: 1.05rem; margin-bottom: 10px; }
    .perspective-card ul { list-style: none; margin-top: 8px; }
    .perspective-card ul li {
      font-size: 0.82rem; color: var(--taupe);
      padding: 5px 0;
      border-bottom: 1px solid var(--sand-mid);
      display: flex; align-items: flex-start; gap: 7px;
    }
    .perspective-card ul li:last-child { border-bottom: none; }
    .perspective-card ul li::before { content: '\2713'; color: var(--accent); font-weight: 600; flex-shrink: 0; }

    /* ===== CONTACT ===== */
    #contact { background: var(--sand); }
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 360px;
      gap: 48px;
      align-items: start;
    }
    .contact-left h2 { margin-bottom: 12px; }
    .contact-left > p { color: var(--taupe); font-size: 0.95rem; margin-bottom: 24px; max-width: 460px; }
    .contact-disclaimer {
      background: var(--cream);
      border-radius: var(--r-md);
      padding: 20px 24px;
      border-left: 4px solid var(--gold-warm);
    }
    .contact-disclaimer p { font-size: 0.88rem; color: var(--taupe); line-height: 1.65; }
    .contact-card {
      background: var(--cream);
      border: 1px solid var(--sand-mid);
      border-radius: var(--r-xl);
      padding: 32px 28px;
      box-shadow: var(--shadow-sm);
    }
    .contact-avatar {
      width: 56px; height: 56px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--terracotta), var(--terra-deep));
      display: flex; align-items: center; justify-content: center;
      font-family: var(--font-serif);
      font-size: 1.4rem;
      color: var(--warm-white);
      margin-bottom: 16px;
    }
    .contact-name { font-family: var(--font-serif); font-size: 1.25rem; margin-bottom: 3px; }
    .contact-title-text { font-size: 0.8rem; color: var(--taupe); margin-bottom: 22px; }
    .contact-info { display: flex; flex-direction: column; gap: 9px; margin-bottom: 22px; }
    .contact-info-item { display: flex; align-items: center; gap: 10px; font-size: 0.88rem; color: var(--charcoal); }
    .contact-info-icon {
      width: 32px; height: 32px;
      border-radius: 50%;
      background: var(--sand);
      display: flex; align-items: center; justify-content: center;
      font-size: 0.8rem; flex-shrink: 0;
    }
    .contact-actions { display: flex; flex-direction: column; gap: 9px; }
    .contact-actions .btn { justify-content: center; width: 100%; }

    /* ===== FOOTER ===== */
    footer {
      background: var(--sand-mid);
      padding: 44px 0 28px;
    }
    .footer-inner {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 36px;
      align-items: start;
      margin-bottom: 28px;
    }
    .footer-logo { font-family: var(--font-serif); font-size: 1.4rem; color: var(--charcoal); margin-bottom: 8px; }
    .footer-tagline { font-size: 0.8rem; color: var(--charcoal-soft); line-height: 1.55; max-width: 220px; }
    .footer-nav { text-align: center; }
    .footer-nav-title { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--charcoal-soft); margin-bottom: 12px; }
    .footer-nav-links { list-style: none; display: flex; flex-direction: column; gap: 7px; }
    .footer-nav-links a {
      font-size: 0.82rem; color: var(--charcoal-soft);
      transition: color 0.25s; padding: 2px 0;
    }
    .footer-nav-links a:hover { color: var(--terracotta); }
    .footer-contact-col { text-align: right; }
    .footer-contact-title { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--charcoal-soft); margin-bottom: 12px; }
    .footer-contact-links { list-style: none; display: flex; flex-direction: column; gap: 7px; }
    .footer-contact-links a { font-size: 0.82rem; color: var(--charcoal-soft); transition: color 0.25s; }
    .footer-contact-links a:hover { color: var(--terracotta); }
    .footer-divider { height: 1px; background: rgba(62,56,48,0.14); margin-bottom: 18px; }
    .footer-bottom { display: flex; justify-content: space-between; align-items: center; }
    .footer-copy { font-size: 0.75rem; color: var(--taupe); }
    .footer-version { font-size: 0.7rem; color: var(--taupe); letter-spacing: 0.06em; }

    /* ===== GLOSSARY ===== */
    .glossary {
      margin-top: 28px;
      padding: 20px 24px;
      background: rgba(0,0,0,0.03);
      border-radius: var(--r-md);
      border-left: 3px solid var(--sand-mid);
    }
    .glossary-title {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--taupe-light);
      margin-bottom: 10px;
    }
    .glossary dt {
      font-size: 0.82rem;
      font-weight: 500;
      color: var(--charcoal);
      margin-top: 8px;
    }
    .glossary dd {
      font-size: 0.8rem;
      color: var(--taupe);
      line-height: 1.55;
      margin-left: 0;
      margin-bottom: 4px;
    }
    .glossary-dark {
      background: rgba(255,255,255,0.04);
      border-left-color: rgba(255,255,255,0.1);
    }
    .glossary-dark .glossary-title { color: rgba(255,255,255,0.3); }
    .glossary-dark dt { color: rgba(255,255,255,0.7); }
    .glossary-dark dd { color: rgba(255,255,255,0.45); }
    .term-ref {
      color: var(--terracotta);
      text-decoration: none;
      font-weight: 500;
      cursor: pointer;
    }
    .term-ref:hover { text-decoration: underline; }

    /* ===== RESPONSIVE ===== */
    /* Prevent any horizontal overflow globally */
    html, body { overflow-x: hidden; max-width: 100vw; }
    img, video, table { max-width: 100%; }

    @media (max-width: 900px) {
      section { padding: 60px 0; }
      .hero-grid { grid-template-columns: 1fr; gap: 32px; }
      .hero-card { display: grid; grid-template-columns: repeat(3, 1fr); }
      .hero-stat { padding: 0 14px 0 0; border-bottom: none; border-right: 1px solid rgba(255,255,255,0.06); }
      .hero-stat:last-child { border-right: none; }
      .stats-grid { grid-template-columns: repeat(3, 1fr); }
      .trois-grid { grid-template-columns: 1fr; }
      .solution-grid { grid-template-columns: 1fr; }
      .preuves-grid { grid-template-columns: 1fr; }
      .preuve-card.featured { grid-column: span 1; }
      .contact-grid { grid-template-columns: 1fr; gap: 32px; }
      .perspectives-grid { grid-template-columns: 1fr; }
      .warning-items { grid-template-columns: 1fr; }
      .footer-inner { grid-template-columns: 1fr; gap: 24px; text-align: center; }
      .footer-contact-col { text-align: center; }
      .footer-tagline { max-width: none; }
      .footer-bottom { flex-direction: column; gap: 8px; }
      .section-hook { padding: 36px 28px; }
      .comparison-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    }
    @media (max-width: 700px) {
      .nav-links {
        display: none;
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: var(--charcoal);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 12px;
        padding: 80px 24px 40px;
        z-index: 999;
      }
      .nav-links.open { display: flex; }
      .nav-links a { font-size: 1rem !important; color: rgba(255,255,255,0.8) !important; padding: 12px 24px !important; }
      .nav-links a:hover { background: rgba(255,255,255,0.1) !important; }
      .nav-links .nav-cta a { background: linear-gradient(135deg, var(--terracotta), var(--terra-deep)) !important; color: var(--warm-white) !important; }
      .hamburger { display: flex; position: relative; z-index: 1000; }
      .steps-grid { grid-template-columns: 1fr; gap: 18px; }
      .steps-grid::before { display: none; }
      .stats-grid { grid-template-columns: 1fr; }
      .hero-card { display: flex; flex-direction: column; }
      .hero-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 12px 0; }
      .hero-stat:last-child { border-bottom: none; }
      .comparison-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
      .comparison-table td, .comparison-table th { padding: 9px 10px; font-size: 0.76rem; }
      .footer-nav-links { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 4px 14px; }
      h1 { font-size: 1.7rem; }
      h2 { font-size: 1.4rem; }
      .wave-divider { height: 50px; }
      .container { padding: 0 20px; }
      section { padding: 44px 0; }
      .layer { padding: 16px 18px; }
      .section-hook { padding: 28px 20px; font-size: 0.9rem; }
      .section-hook p { font-size: 0.95rem; }
      .hero-buttons { flex-direction: column; gap: 10px; align-items: stretch; }
      .hero-buttons .btn { width: 100%; text-align: center; }
      .video-wrap.portrait { max-width: 100%; }
    }
    @media (max-width: 480px) {
      .container { padding: 0 16px; }
      section { padding: 36px 0; }
      h1 { font-size: 1.45rem; line-height: 1.2; }
      h2 { font-size: 1.2rem; line-height: 1.25; }
      .hero-card { padding: 18px; }
      .hero-stat-num { font-size: 1.5rem; }
      .hero-stat-label { font-size: 0.78rem; }
      .stat-card-num { font-size: 1.6rem; }
      .warning-year-big { font-size: 2.2rem; }
      .warning-card { padding: 22px !important; }
      .warning-card-header { flex-direction: column; align-items: flex-start; gap: 10px; }
      .perspective-card, .preuve-card { padding: 22px; }
      .preuve-result { font-size: 1.4rem; }
      .layer { padding: 14px 16px; }
      .layer-title { font-size: 0.92rem; }
      .layer-text { font-size: 0.78rem; }
      .realite-card { padding: 22px; }
      .step-item { padding: 22px; }
      .glossary { padding: 22px; }
      .fab-whatsapp { width: 52px !important; height: 52px !important; bottom: 14px !important; right: 14px !important; }
      nav .btn { padding: 8px 14px; font-size: 0.85rem; }
    }

    /* ===== PREAMBULE CREDIBILITE ===== */
    #credibilite { background: var(--warm-white); padding: 64px 0; }
    .credib-band {
      display: grid; grid-template-columns: 1fr auto; gap: 36px; align-items: center;
      background: linear-gradient(150deg, var(--blush) 0%, var(--warm-white) 70%);
      border: 1px solid var(--sand-mid); border-radius: var(--r-lg);
      padding: 40px; box-shadow: var(--shadow-sm);
    }
    .credib-text h2 { margin: 14px 0 12px; }
    .credib-text p { color: var(--taupe); font-size: 0.96rem; line-height: 1.7; max-width: 560px; }
    .credib-logos { display: flex; flex-direction: column; gap: 12px; }
    .credib-logo {
      font-family: var(--font-serif); font-size: 1.15rem; letter-spacing: 0.02em;
      color: var(--charcoal-soft); background: var(--warm-white);
      border: 1px solid var(--sand-mid); border-radius: var(--r-pill);
      padding: 12px 26px; text-align: center; white-space: nowrap;
      box-shadow: var(--shadow-xs);
    }
    @media (max-width: 760px) {
      .credib-band { grid-template-columns: 1fr; gap: 26px; padding: 28px 22px; }
      .credib-logos { flex-direction: row; flex-wrap: wrap; }
      .credib-logo { font-size: 1rem; padding: 10px 18px; flex: 1; }
    }

    /* ===== BLOC DIFFERENCE ===== */
    .diff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .diff-card {
      background: var(--warm-white); border: 1px solid var(--sand-mid);
      border-radius: var(--r-lg); padding: 34px; box-shadow: var(--shadow-sm);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .diff-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
    .diff-card.diff-problem { border-top: 3px solid var(--accent2); }
    .diff-card.diff-solution { border-top: 3px solid var(--terracotta); background: linear-gradient(160deg, var(--blush) 0%, var(--warm-white) 60%); }
    .diff-tag {
      font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--taupe); margin-bottom: 12px;
    }
    .diff-card.diff-solution .diff-tag { color: var(--terracotta); }
    .diff-card h3 { color: var(--charcoal); margin-bottom: 14px; line-height: 1.3; }
    .diff-card p { color: var(--taupe); font-size: 0.92rem; line-height: 1.72; }
    .diff-card strong { color: var(--charcoal); }
    @media (max-width: 760px) { .diff-grid { grid-template-columns: 1fr; } .diff-card { padding: 26px; } }

    /* ===== ESTIMATEUR ===== */
    #estimation { background: var(--gold-light); }
    .estimator-card {
      max-width: 560px; margin: 0 auto; background: var(--warm-white);
      border: 1px solid var(--sand-mid); border-radius: var(--r-xl);
      padding: 40px; box-shadow: var(--shadow-md); text-align: center;
    }
    .estimator-label {
      display: block; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em;
      text-transform: uppercase; color: var(--taupe); margin-bottom: 16px;
    }
    .estimator-input-row { display: flex; align-items: baseline; justify-content: center; gap: 10px; }
    .estimator-input-row input {
      width: 160px; font-family: var(--font-serif); font-size: 2.6rem; color: var(--charcoal);
      text-align: center; border: none; border-bottom: 2px solid var(--sand-mid);
      background: transparent; padding: 4px 0; outline: none;
      -moz-appearance: textfield;
    }
    .estimator-input-row input::-webkit-outer-spin-button,
    .estimator-input-row input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .estimator-input-row input:focus { border-bottom-color: var(--terracotta); }
    .estimator-unit { font-family: var(--font-serif); font-size: 1.5rem; color: var(--taupe); }
    .estimator-slider-wrap { margin: 24px 0 10px; }
    #surfaceSlider { width: 100%; accent-color: var(--terracotta); height: 4px; cursor: pointer; }
    .estimator-result {
      margin: 24px 0 18px; padding: 24px; border-radius: var(--r-md);
      background: linear-gradient(150deg, var(--blush) 0%, var(--peach) 100%);
      border: 1px solid var(--blush-mid);
    }
    .estimator-result-label {
      font-size: 0.72rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--taupe); margin-bottom: 8px;
    }
    .estimator-amount { font-family: var(--font-serif); font-size: 2.8rem; color: var(--terra-deep); line-height: 1; }
    .estimator-range { font-size: 0.85rem; color: var(--taupe); margin-top: 8px; }
    .estimator-note { font-size: 0.82rem; color: var(--taupe); line-height: 1.6; margin-bottom: 18px; }
    .estimator-note strong { color: var(--terracotta); }
    .estimator-note a { color: var(--terracotta); font-weight: 500; border-bottom: 1px solid rgba(208,139,111,0.35); }
    @media (max-width: 480px) {
      .estimator-card { padding: 28px 22px; }
      .estimator-input-row input { width: 130px; font-size: 2.1rem; }
      .estimator-amount { font-size: 2.2rem; }
    }

    /* ===== HERO : preuve visuelle + mini-stats ===== */
    .hero-proof {
      background: var(--warm-white);
      border: 1px solid var(--sand-mid);
      border-radius: var(--r-xl);
      padding: 14px;
      box-shadow: var(--shadow-md);
    }
    .hero-proof-media { position: relative; border-radius: var(--r-lg); overflow: hidden; }
    .hero-proof-media img { width: 100%; display: block; }
    .hero-proof-badge {
      position: absolute; top: 12px; left: 12px;
      background: var(--terracotta); color: var(--warm-white);
      font-size: 0.64rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
      padding: 6px 12px; border-radius: var(--r-pill);
      box-shadow: 0 4px 14px rgba(0,0,0,0.3);
    }
    .hero-proof-cap {
      display: flex; align-items: center; gap: 12px; justify-content: center;
      padding: 16px 8px 4px; flex-wrap: wrap;
    }
    .hero-proof-cap b { font-family: var(--font-serif); color: var(--warm-white); font-size: 1.25rem; font-weight: 400; }
    .hero-proof-cap b.out { color: var(--terracotta); }
    .hero-proof-cap .arrow { color: rgba(255,255,255,0.35); font-size: 1.1rem; }
    .hero-proof-note {
      text-align: center; font-size: 0.76rem; color: var(--taupe);
      font-weight: 300; padding: 2px 12px 6px; line-height: 1.5;
    }
    .hero-mini-stats { display: flex; gap: 26px; margin-top: 30px; flex-wrap: wrap; }
    .hero-mini-stats > div { display: flex; flex-direction: column; gap: 3px; }
    .hero-mini-stats strong { font-family: var(--font-serif); font-size: 1.3rem; color: var(--charcoal); font-weight: 400; }
    .hero-mini-stats strong em { color: var(--terracotta); font-style: normal; }
    .hero-mini-stats span { font-size: 0.72rem; color: var(--taupe); max-width: 130px; line-height: 1.4; }

    /* ===== CREDIBILITE : bande BFMTV ===== */
    .bfmtv-band {
      display: grid; grid-template-columns: 1.05fr 1fr; gap: 32px; align-items: center;
      background: var(--warm-white); border: 1px solid var(--sand-mid);
      border-radius: var(--r-lg); padding: 22px; box-shadow: var(--shadow-md);
    }
    .bfmtv-photo { border-radius: var(--r-md); overflow: hidden; box-shadow: var(--shadow-sm); background: #1a1620; }
    .bfmtv-photo img { width: 100%; display: block; }
    .bfmtv-source {
      font-size: 0.72rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase;
      color: var(--terracotta); margin-bottom: 14px;
    }
    .bfmtv-quote blockquote {
      font-family: var(--font-serif); font-size: 1.3rem; line-height: 1.42; color: var(--charcoal);
      font-style: italic; margin: 0 0 16px;
    }
    .bfmtv-author { font-size: 0.86rem; color: var(--taupe); line-height: 1.55; }
    .bfmtv-author strong { color: var(--charcoal-soft); }
    .credib-logos-row { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
    .credib-logo-sm {
      font-family: var(--font-serif); font-size: 0.88rem; color: var(--charcoal-soft);
      border: 1px solid var(--sand-mid); border-radius: var(--r-pill); padding: 6px 16px;
    }
    @media (max-width: 860px) {
      .bfmtv-band { grid-template-columns: 1fr; gap: 20px; }
      .bfmtv-quote blockquote { font-size: 1.15rem; }
    }

    /* ===== ADAPTATION GRAND ECRAN PC / TV ===== */
    @media (min-width: 1500px) {
      html { font-size: 17px; }
      .container, .nav-inner { max-width: 1240px; }
    }
    @media (min-width: 1900px) {
      html { font-size: 19px; }
      .container, .nav-inner { max-width: 1440px; }
    }
    @media (min-width: 2560px) {
      html { font-size: 23px; }
      .container, .nav-inner { max-width: 1760px; }
    }
