  :root {
    --blue: #1a56e8;
    --blue-dark: #1040c1;
    --blue-light: #e8effd;
    --green: #00b37a;
    --green-light: #e6f7f2;
    --orange: #ff6b2b;
    --text: #0d1117;
    --text-secondary: #4b5563;
    --border: #e5e7eb;
    --white: #ffffff;
    --bg: #f8faff;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    font-family: 'DM Sans', sans-serif;
    color: var(--text);
    background: var(--white);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 { font-family: 'Sora', sans-serif; line-height: 1.2; }

  /* ── NAV ── */
  nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    padding: 14px 24px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .nav-logo { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 16px; color: var(--blue); letter-spacing: -0.5px; text-decoration: none; }

  .nav-back {
    display: flex; align-items: center; gap: 8px;
    font-size: 14px; color: var(--text-secondary);
    text-decoration: none; font-weight: 500;
    transition: color 0.2s;
    flex: 1; justify-content: center;
  }
  .nav-back:hover { color: var(--blue); }

  /* Nav — variante page d'accueil (badges de confiance + téléphone) */
  .nav-trust { font-size: 13px; color: var(--text-secondary); display: flex; align-items: center; gap: 16px; }
  .nav-trust span { display: flex; align-items: center; gap: 4px; }
  .nav-phone {
    font-size: 13px; font-weight: 600; color: var(--blue);
    display: none; align-items: center; gap: 6px; text-decoration: none;
    white-space: nowrap;
  }
  .nav-phone:hover { color: var(--blue-dark); }
  .phone-strip {
    background: var(--bg); border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 8px 24px; text-align: center;
    font-size: 13px; color: var(--text-secondary);
    display: flex; align-items: center; justify-content: center; gap: 8px;
  }
  .phone-strip a { color: var(--blue); font-weight: 700; text-decoration: none; white-space: nowrap; }
  .phone-strip a:hover { text-decoration: underline; }

  .nav-cta {
    background: var(--blue); color: white; border: none; cursor: pointer;
    padding: 10px 20px; border-radius: 8px; font-family: 'Sora', sans-serif;
    font-weight: 600; font-size: 14px; transition: background 0.2s;
    text-decoration: none; display: inline-block;
  }
  .nav-cta:hover { background: var(--blue-dark); }

  /* ── HERO (page d'accueil) ── */
  .hero {
    background: linear-gradient(135deg, #f0f5ff 0%, #ffffff 60%);
    padding: 72px 24px 64px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute; top: -200px; right: -200px;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(26,86,232,0.08) 0%, transparent 70%);
    border-radius: 50%;
  }
  .hero-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--green-light); color: var(--green);
    border-radius: 100px; padding: 6px 16px;
    font-size: 13px; font-weight: 600; margin-bottom: 24px;
    border: 1px solid rgba(0,179,122,0.2);
  }
  .hero-badge .dot { width: 8px; height: 8px; background: var(--green); border-radius: 50%; animation: pulse 1.5s ease-in-out infinite; }
  @keyframes pulse { 0%,100% { opacity:1; transform: scale(1); } 50% { opacity:0.5; transform: scale(1.3); } }

  .hero h1 {
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 800;
    letter-spacing: -1.5px;
    max-width: 800px; margin: 0 auto 16px;
    color: var(--text);
  }
  .hero h1 .highlight { color: var(--blue); position: relative; }
  .hero h1 .highlight::after {
    content: '';
    position: absolute; bottom: -2px; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--blue), #60a5fa);
    border-radius: 2px;
  }

  .hero-sub {
    font-size: clamp(16px, 2.5vw, 20px);
    color: var(--text-secondary);
    max-width: 580px; margin: 0 auto 36px;
    font-weight: 400;
  }
  .hero-sub strong { color: var(--text); font-weight: 600; }

  .hero-cta-group { display: flex; flex-direction: column; align-items: center; gap: 12px; }
  .btn-primary {
    background: var(--blue); color: white; border: none; cursor: pointer;
    padding: 18px 40px; border-radius: 12px; font-family: 'Sora', sans-serif;
    font-size: 18px; font-weight: 700; letter-spacing: -0.3px;
    transition: all 0.2s; box-shadow: 0 4px 20px rgba(26,86,232,0.35);
    display: inline-flex; align-items: center; gap: 10px;
  }
  .btn-primary:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(26,86,232,0.4); }
  .btn-primary svg { transition: transform 0.2s; }
  .btn-primary:hover svg { transform: translateX(4px); }

  .hero-micro {
    font-size: 13px; color: var(--text-secondary);
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center;
  }
  .hero-micro span { display: flex; align-items: center; gap: 5px; }

  .hero-stats { display: flex; justify-content: center; gap: 48px; margin-top: 56px; flex-wrap: wrap; }
  .hero-stat { text-align: center; }
  .hero-stat .num { font-family: 'Sora', sans-serif; font-size: 36px; font-weight: 800; color: var(--blue); letter-spacing: -1px; }
  .hero-stat .label { font-size: 13px; color: var(--text-secondary); margin-top: 2px; }

  /* ── PROBLEM ── */
  .problem { background: #fff8f5; border-top: 1px solid #fde8dc; padding: 64px 24px; }
  .container { max-width: 900px; margin: 0 auto; }
  .section-eyebrow {
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: var(--orange); margin-bottom: 16px;
  }
  .problem h2 { font-size: clamp(22px, 4vw, 36px); font-weight: 700; letter-spacing: -0.8px; margin-bottom: 24px; }
  .problem-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 36px; }
  .problem-card { background: white; border-radius: 16px; padding: 28px; border: 1px solid #fde8dc; display: flex; gap: 16px; }
  .problem-icon { font-size: 32px; flex-shrink: 0; }
  .problem-card strong { display: block; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
  .problem-card p { font-size: 14px; color: var(--text-secondary); line-height: 1.5; }

  /* ── SOLUTION ── */
  .solution { padding: 72px 24px; background: white; }
  .solution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
  .solution h2 { font-size: clamp(22px, 4vw, 36px); font-weight: 700; letter-spacing: -0.8px; margin-bottom: 20px; }
  .solution p { font-size: 16px; color: var(--text-secondary); margin-bottom: 20px; }
  .solution-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--blue-light); color: var(--blue);
    border-radius: 8px; padding: 10px 16px; font-size: 14px; font-weight: 600;
    margin-top: 8px;
  }
  .solution-visual {
    background: linear-gradient(135deg, #f0f5ff, #e8effd);
    border-radius: 20px; padding: 36px; text-align: center;
    border: 1px solid rgba(26,86,232,0.12);
  }
  .savings-display { font-family: 'Sora', sans-serif; }
  .savings-display .amount { font-size: 72px; font-weight: 800; color: var(--blue); letter-spacing: -3px; line-height: 1; }
  .savings-display .label { font-size: 16px; color: var(--text-secondary); margin-top: 4px; }
  .savings-display .sub { font-size: 13px; color: var(--text-secondary); margin-top: 16px; opacity: 0.7; }
  @media (max-width: 640px) { .solution-grid { grid-template-columns: 1fr; } }

  /* ── HOW IT WORKS ── */
  .how { padding: 72px 24px; background: var(--bg); }
  .how h2 { font-size: clamp(22px, 4vw, 36px); font-weight: 700; letter-spacing: -0.8px; text-align: center; margin-bottom: 48px; }
  .steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
  .step { background: white; border-radius: 16px; padding: 28px 24px; border: 1px solid var(--border); position: relative; text-align: center; transition: box-shadow 0.2s; }
  .step:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.08); }
  .step-num {
    width: 48px; height: 48px; background: var(--blue); color: white;
    border-radius: 14px; font-family: 'Sora', sans-serif; font-weight: 800; font-size: 20px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px;
  }
  .step strong { display: block; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 16px; margin-bottom: 8px; }
  .step p { font-size: 14px; color: var(--text-secondary); }
  .step-arrow { position: absolute; top: 50%; right: -20px; transform: translateY(-50%); color: var(--border); font-size: 24px; display: none; }

  /* ── SIMULATOR (iframe) ── */
  #simulateur { padding: 80px 24px; background: white; }
  #iframe-simulateur { display: block; border: none; width: 100%; min-height: 520px; transition: height 0.3s ease; }

  /* ── (styles simulateur conservés pour référence) ── */
  .sim-wrapper {
    max-width: 620px; margin: 0 auto;
    background: white; border-radius: 24px;
    box-shadow: 0 0 0 1px var(--border), 0 20px 60px rgba(0,0,0,0.08);
    overflow: hidden;
  }
  .sim-header { background: linear-gradient(135deg, var(--blue) 0%, #3b72f0 100%); padding: 32px 36px 28px; color: white; }
  .sim-header h2 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
  .sim-header p { font-size: 14px; opacity: 0.85; }
  .progress-bar-wrap { margin-top: 20px; }
  .progress-label { display: flex; justify-content: space-between; font-size: 12px; opacity: 0.8; margin-bottom: 6px; }
  .progress-bar { background: rgba(255,255,255,0.25); border-radius: 100px; height: 6px; }
  .progress-fill { background: white; height: 6px; border-radius: 100px; transition: width 0.5s ease; }

  .sim-body { padding: 36px; }
  .question-block { display: none; }
  .question-block.active { display: block; animation: fadeIn 0.35s ease; }
  @keyframes fadeIn { from { opacity:0; transform: translateY(12px); } to { opacity:1; transform: translateY(0); } }

  .question-label { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 20px; margin-bottom: 24px; letter-spacing: -0.4px; }

  .input-group { margin-bottom: 20px; }
  .input-group label { display: block; font-size: 13px; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
  .input-group input, .input-group select {
    width: 100%; padding: 14px 16px;
    border: 1.5px solid var(--border); border-radius: 10px;
    font-family: 'DM Sans', sans-serif; font-size: 16px; color: var(--text);
    background: white; transition: border-color 0.2s;
    appearance: none;
  }
  .input-group input:focus, .input-group select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(26,86,232,0.1); }

  .choices-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
  .choice-btn {
    padding: 16px 12px; border: 2px solid var(--border); border-radius: 12px;
    background: white; cursor: pointer; text-align: center;
    font-family: 'Sora', sans-serif; font-weight: 600; font-size: 15px;
    transition: all 0.2s; color: var(--text);
  }
  .choice-btn:hover { border-color: var(--blue); background: var(--blue-light); color: var(--blue); }
  .choice-btn.selected { border-color: var(--blue); background: var(--blue); color: white; }
  .choice-btn .emoji { display: block; font-size: 24px; margin-bottom: 6px; }

  .btn-next {
    width: 100%; background: var(--blue); color: white;
    border: none; cursor: pointer; padding: 16px;
    border-radius: 12px; font-family: 'Sora', sans-serif;
    font-weight: 700; font-size: 17px; letter-spacing: -0.3px;
    transition: all 0.2s; display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 8px;
  }
  .btn-next:hover { background: var(--blue-dark); transform: translateY(-1px); }
  .btn-next:disabled { background: #d1d5db; cursor: not-allowed; transform: none; }

  /* Résultat simulateur */
  #result-block { display: none; }
  #result-block.active { display: block; animation: fadeIn 0.5s ease; }
  .result-savings {
    text-align: center; background: linear-gradient(135deg, #f0f5ff, #e8effd);
    border-radius: 16px; padding: 32px; margin-bottom: 24px;
    border: 1px solid rgba(26,86,232,0.15);
  }
  .result-savings .label { font-size: 14px; color: var(--text-secondary); font-weight: 500; }
  .result-savings .amount { font-family: 'Sora', sans-serif; font-size: 64px; font-weight: 800; color: var(--blue); letter-spacing: -3px; line-height: 1; margin: 8px 0; }
  .result-savings .sublabel { font-size: 14px; color: var(--text-secondary); }
  .result-savings .per-month { font-family: 'Sora', sans-serif; font-size: 20px; font-weight: 700; color: var(--green); margin-top: 8px; }

  .lead-form h3 { font-family: 'Sora', sans-serif; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
  .lead-form p { font-size: 14px; color: var(--text-secondary); margin-bottom: 20px; }
  .lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .lead-grid .full { grid-column: 1/-1; }

  .btn-lead {
    width: 100%; background: var(--green); color: white;
    border: none; cursor: pointer; padding: 18px;
    border-radius: 12px; font-family: 'Sora', sans-serif;
    font-weight: 700; font-size: 18px; letter-spacing: -0.3px;
    transition: all 0.2s; margin-top: 16px;
    box-shadow: 0 4px 20px rgba(0,179,122,0.35);
  }
  .btn-lead:hover { background: #009968; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,179,122,0.4); }

  .rgpd-note { font-size: 11px; color: #9ca3af; margin-top: 12px; text-align: center; }

  /* ── PROOF ── */
  .proof { padding: 64px 24px; background: var(--bg); }
  .proof-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; margin-top: 40px; }
  .proof-card { background: white; border-radius: 16px; padding: 28px 24px; text-align: center; border: 1px solid var(--border); transition: box-shadow 0.2s; }
  .proof-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.07); }
  .proof-card .big { font-family: 'Sora', sans-serif; font-size: 40px; font-weight: 800; color: var(--blue); letter-spacing: -1.5px; line-height: 1; }
  .proof-card .desc { font-size: 14px; color: var(--text-secondary); margin-top: 8px; }

  /* ── TRUST ── */
  .trust { padding: 64px 24px; background: white; }
  .trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 40px; }
  .trust-item { display: flex; gap: 16px; align-items: flex-start; padding: 24px; border-radius: 16px; border: 1px solid var(--border); background: white; transition: box-shadow 0.2s; }
  .trust-item:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.07); }
  .trust-icon { font-size: 28px; flex-shrink: 0; }
  .trust-item strong { display: block; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px; margin-bottom: 4px; }
  .trust-item p { font-size: 13px; color: var(--text-secondary); }

  /* ── FINAL CTA ── */
  .final-cta { padding: 80px 24px; background: linear-gradient(135deg, var(--blue) 0%, #2d68f0 100%); text-align: center; color: white; }
  .final-cta h2 { font-size: clamp(24px, 5vw, 44px); font-weight: 800; letter-spacing: -1px; margin-bottom: 16px; }
  .final-cta p { font-size: 18px; opacity: 0.85; margin-bottom: 36px; max-width: 540px; margin-left: auto; margin-right: auto; }
  .btn-white {
    background: white; color: var(--blue); border: none; cursor: pointer;
    padding: 18px 44px; border-radius: 12px; font-family: 'Sora', sans-serif;
    font-weight: 700; font-size: 18px; letter-spacing: -0.3px;
    transition: all 0.2s; box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    display: inline-flex; align-items: center; gap: 10px;
  }
  .btn-white:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,0,0,0.25); }
  .final-micro { margin-top: 20px; font-size: 13px; opacity: 0.7; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }

  /* ── SEO BLOCK ── */
  .seo-block { padding: 64px 24px; background: var(--bg); border-top: 1px solid var(--border); }
  .seo-block h2 { font-family: 'Sora', sans-serif; font-size: clamp(20px, 3vw, 28px); font-weight: 700; letter-spacing: -0.5px; margin-bottom: 36px; color: var(--text); }
  .seo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
  .seo-col h3 { font-family: 'Sora', sans-serif; font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 10px; margin-top: 28px; }
  .seo-col h3:first-child { margin-top: 0; }
  .seo-col p { font-size: 15px; color: var(--text-secondary); line-height: 1.7; margin-bottom: 12px; }
  .seo-col strong { color: var(--text); font-weight: 600; }

  /* ── SUCCESS (simulateur) ── */
  #success-block { display: none; text-align: center; padding: 48px 24px; }
  #success-block.active { display: block; animation: fadeIn 0.5s ease; }
  #success-block .check { font-size: 64px; margin-bottom: 16px; }
  #success-block h3 { font-family: 'Sora', sans-serif; font-size: 24px; font-weight: 800; margin-bottom: 12px; }
  #success-block p { color: var(--text-secondary); font-size: 15px; }

  /* ── HERO (pages secondaires : mentions légales, articles) ── */
  .page-hero {
    background: linear-gradient(135deg, #f0f5ff 0%, #ffffff 70%);
    padding: 56px 24px 48px;
    border-bottom: 1px solid var(--border);
  }
  .page-hero-inner { max-width: 860px; margin: 0 auto; }
  .page-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--blue-light); color: var(--blue);
    border-radius: 100px; padding: 5px 14px;
    font-size: 12px; font-weight: 600; margin-bottom: 20px;
    border: 1px solid rgba(26,86,232,0.2);
    text-transform: uppercase; letter-spacing: 0.5px;
  }
  .page-hero h1 { font-size: clamp(24px, 4vw, 40px); font-weight: 800; letter-spacing: -1px; margin-bottom: 12px; }
  .page-hero p { font-size: 16px; color: var(--text-secondary); max-width: 560px; }
  .update-date {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 20px; font-size: 13px; color: var(--text-secondary);
    background: white; border: 1px solid var(--border);
    padding: 6px 14px; border-radius: 100px;
  }

  /* ── LAYOUT (pages secondaires) ── */
  .page-layout { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px; padding: 48px 24px 80px; }

  /* ── SIDEBAR ── */
  .sidebar { background: var(--bg); border-radius: 16px; padding: 24px; border: 1px solid var(--border); display: flex; flex-direction: row; gap: 32px; align-items: start; flex-wrap: wrap; }
  .sidebar-full { width: 100%; }
  .sidebar-col { flex: 1; min-width: 180px; }
  .sidebar-title { font-family: 'Sora', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-secondary); margin-bottom: 16px; }
  .sidebar-part { font-family: 'Sora', sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--blue); margin: 20px 0 8px; }
  .sidebar nav { display: flex; flex-direction: column; }
  .sidebar nav a {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px; border-radius: 8px;
    font-size: 13px; color: var(--text-secondary); text-decoration: none;
    transition: all 0.15s; font-weight: 500;
  }
  .sidebar nav a:hover { background: var(--blue-light); color: var(--blue); }
  .sidebar nav a.active { background: var(--blue-light); color: var(--blue); font-weight: 600; }
  .sidebar-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; min-width: 22px;
    background: var(--border); border-radius: 5px;
    font-size: 10px; font-weight: 700; flex-shrink: 0;
    font-family: 'Sora', sans-serif;
  }
  .sidebar nav a:hover .sidebar-num, .sidebar nav a.active .sidebar-num { background: var(--blue); color: white; }

  /* ── CONTENT (pages secondaires) ── */
  .content { min-width: 0; }

  .part-label { display: flex; align-items: center; gap: 12px; margin: 0 0 32px; font-family: 'Sora', sans-serif; }
  .part-label:not(:first-child) { margin-top: 56px; }
  .part-label-line { flex: 1; height: 1px; background: var(--border); }
  .part-label-text {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 2px; color: var(--blue);
    background: var(--blue-light); padding: 4px 14px; border-radius: 100px;
    white-space: nowrap;
  }

  .section-card { background: white; border: 1px solid var(--border); border-radius: 16px; margin-bottom: 16px; overflow: hidden; transition: box-shadow 0.2s; }
  .section-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.06); }

  .section-header { display: flex; align-items: center; gap: 16px; padding: 20px 28px; border-bottom: 1px solid var(--border); background: var(--bg); }
  .section-num {
    width: 36px; height: 36px; background: var(--blue); color: white;
    border-radius: 10px; font-family: 'Sora', sans-serif; font-weight: 700;
    font-size: 14px; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .section-title-legal { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 17px; letter-spacing: -0.3px; }

  .section-body { padding: 24px 28px; }
  .section-body p { font-size: 15px; color: var(--text-secondary); margin-bottom: 12px; }
  .section-body p:last-child { margin-bottom: 0; }
  .section-body ul { margin: 12px 0 12px 0; padding: 0; list-style: none; }
  .section-body ul li {
    font-size: 15px; color: var(--text-secondary);
    padding: 6px 0 6px 24px; position: relative;
    border-bottom: 1px solid var(--bg);
  }
  .section-body ul li:last-child { border-bottom: none; }
  .section-body ul li::before { content: '→'; position: absolute; left: 0; color: var(--blue); font-weight: 700; font-size: 13px; }
  .section-body strong { color: var(--text); font-weight: 600; }
  .section-body a { color: var(--blue); text-decoration: none; }
  .section-body a:hover { text-decoration: underline; }

  /* Field block */
  .field-block { background: var(--bg); border-radius: 12px; border: 1px solid var(--border); overflow: hidden; margin: 16px 0; }
  .field-row { display: flex; align-items: baseline; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border); }
  .field-row:last-child { border-bottom: none; }
  .field-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-secondary); min-width: 200px; flex-shrink: 0; }
  .field-value { font-size: 14px; color: var(--text); font-weight: 500; }

  /* Note */
  .note {
    background: #fff8f0; border: 1px solid #fde8c8;
    border-left: 4px solid #f59e0b;
    border-radius: 10px; padding: 14px 16px;
    font-size: 14px; color: #92400e; margin: 16px 0;
    line-height: 1.5;
  }

  /* Rights grid */
  .rights-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 16px 0; }
  .right-item {
    background: var(--blue-light); border-radius: 10px;
    padding: 12px 14px; display: flex; align-items: center; gap: 10px;
    font-size: 13px; font-weight: 600; color: var(--blue);
    border: 1px solid rgba(26,86,232,0.15);
  }

  /* ── ARTICLE (contenu éditorial classique) ── */
  .article-wrap { max-width: 720px; margin: 0 auto; }
  .article-lead {
    font-size: 18px; color: var(--text-secondary);
    line-height: 1.65; margin-bottom: 40px;
    padding-left: 20px; border-left: 3px solid var(--blue);
  }
  .article-wrap h2 { font-size: clamp(20px, 3vw, 26px); font-weight: 700; letter-spacing: -0.4px; margin: 48px 0 16px; }
  .article-wrap h2:first-of-type { margin-top: 0; }
  .article-wrap p { font-size: 16px; color: var(--text-secondary); margin-bottom: 16px; }
  .article-wrap ul { margin: 16px 0 20px; padding: 0; list-style: none; }
  .article-wrap ul li {
    font-size: 16px; color: var(--text-secondary);
    padding: 8px 0 8px 26px; position: relative;
    border-bottom: 1px solid var(--bg);
  }
  .article-wrap ul li:last-child { border-bottom: none; }
  .article-wrap ul li::before { content: '→'; position: absolute; left: 0; color: var(--blue); font-weight: 700; font-size: 14px; }
  .article-wrap strong { color: var(--text); font-weight: 600; }
  .article-wrap a { color: var(--blue); text-decoration: none; }
  .article-wrap a:hover { text-decoration: underline; }
  .article-wrap a.nav-cta { color: white; }
  .article-wrap a.nav-cta:hover { color: white; text-decoration: none; }

  /* Encart CTA dans l'article */
  .article-cta {
    background: var(--blue-light); border: 1px solid rgba(26,86,232,0.15);
    border-radius: 16px; padding: 28px 32px; margin: 32px 0;
    text-align: center;
  }
  .article-cta p { color: var(--text); font-weight: 600; font-size: 16px; margin-bottom: 16px; }

  /* Comparatif deux colonnes (ex: banque vs délégation) */
  .compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0 24px; }
  .compare-card { background: var(--bg); border: 1px solid var(--border); border-radius: 14px; padding: 20px 22px; }
  .compare-card.highlight { background: var(--green-light); border-color: rgba(0,179,122,0.25); }
  .compare-card h3 { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 700; margin-bottom: 12px; color: var(--text); }
  .compare-card.highlight h3 { color: var(--green); }
  .compare-card ul { margin: 0; }
  .compare-card ul li { font-size: 14px; padding: 5px 0 5px 22px; border-bottom: none; }

  /* Sommaire cliquable */
  .article-toc { background: var(--bg); border: 1px solid var(--border); border-radius: 14px; padding: 20px 24px; margin-bottom: 32px; }
  .article-toc-title { font-family: 'Sora', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-secondary); margin-bottom: 10px; }
  .article-toc ul { margin: 0; padding: 0; list-style: none; columns: 2; }
  .article-toc ul li { padding: 4px 0; border-bottom: none; font-size: 14px; break-inside: avoid; }
  .article-toc ul li::before { content: none; }
  .article-toc a { color: var(--blue); text-decoration: none; font-weight: 500; }
  .article-toc a:hover { text-decoration: underline; }

  /* Images dans l'article */
  .article-img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--border); margin: 24px 0; display: block; }

  /* FAQ en accordéon */
  .faq-list { margin: 20px 0 32px; }
  .faq-item { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 4px 20px; margin-bottom: 10px; }
  .faq-item summary {
    font-family: 'Sora', sans-serif; font-weight: 600; font-size: 15px;
    color: var(--text); padding: 14px 0; cursor: pointer; list-style: none;
    position: relative; padding-right: 24px;
  }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary::after { content: '+'; position: absolute; right: 0; top: 14px; color: var(--blue); font-weight: 700; font-size: 18px; }
  .faq-item[open] summary::after { content: '−'; }
  .faq-item p { padding-bottom: 16px; margin-bottom: 0; font-size: 15px; }

  /* Liens internes / maillage */
  .article-note-small { font-size: 13px; color: var(--text-secondary); font-style: italic; margin-bottom: 8px; }
  .internal-links { margin-bottom: 32px; }

  /* Encart auteur */
  .author-box { display: flex; gap: 20px; align-items: flex-start; background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 24px; margin: 40px 0 8px; }
  .author-photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid white; }
  .author-name { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px; color: var(--text); margin-bottom: 8px; }
  .author-box p { font-size: 14px; margin-bottom: 8px; }
  .author-box p:last-child { margin-bottom: 0; }

  /* ── Titres de section (page d'accueil ET pages secondaires) ── */
  .section-title { text-align: center; margin-bottom: 8px; }
  .section-title h2 { font-size: clamp(22px, 4vw, 36px); font-weight: 700; letter-spacing: -0.8px; }
  .section-title p { font-size: 16px; color: var(--text-secondary); margin-top: 12px; }

  /* ── AVIS MARQUEE ── */
  .avis-marquee { padding: 64px 0; background: var(--bg); }
  .avis-marquee .container { margin-bottom: 40px; }
  .avis-marquee-fenetre {
    overflow: hidden; width: 100%;
    mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  }
  .avis-marquee-piste { display: flex; width: max-content; animation: avis-marquee-defilement 28s linear infinite; }
  .avis-marquee-piste:hover { animation-play-state: paused; }
  .avis-marquee-groupe { display: flex; gap: 20px; padding: 4px 24px 4px 0; }
  @keyframes avis-marquee-defilement { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .avis-marquee-carte {
    background: white; border: 1px solid var(--border); border-radius: 16px;
    padding: 24px 26px; width: 320px; flex-shrink: 0; transition: box-shadow 0.2s;
  }
  .avis-marquee-carte:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.07); }
  .avis-marquee-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
  .avis-marquee-avatar {
    width: 38px; height: 38px; border-radius: 10px; background: var(--blue); color: white;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Sora', sans-serif; font-weight: 700; font-size: 13px; flex-shrink: 0;
  }
  .avis-marquee-nom { display: block; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 14px; color: var(--text); }
  .avis-marquee-etoiles { display: block; color: var(--green); font-size: 12px; letter-spacing: 1px; margin-top: 2px; }
  .avis-marquee-carte p { font-size: 14px; color: var(--text-secondary); line-height: 1.55; margin: 0; }
  .avis-marquee-vide { font-style: italic; opacity: 0.75; }
  
  /* ── SITEMAP / LIENS UTILES ── */
  .sitemap-links { padding: 56px 24px; background: white; border-top: 1px solid var(--border); }
  .sitemap-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px; margin-top: 32px; max-width: 700px; margin-left: auto; margin-right: auto;
  }
  .sitemap-col h3 {
    font-family: 'Sora', sans-serif; font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--text-secondary); margin-bottom: 14px;
  }
  .sitemap-col ul { list-style: none; margin: 0; padding: 0; }
  .sitemap-col ul li { margin-bottom: 10px; }
  .sitemap-col ul li a {
    font-size: 15px; color: var(--blue); text-decoration: none; font-weight: 500;
  }
  .sitemap-col ul li a:hover { text-decoration: underline; }
  
  /* ── FOOTER ── */
  footer {
    padding: 32px 24px; border-top: 1px solid var(--border);
    text-align: center; font-size: 13px; color: var(--text-secondary);
    background: var(--bg);
  }
  footer a { color: var(--blue); text-decoration: none; }

  /* ============================================================
     RESPONSIVE — règles fusionnées, appliquées uniformément
     sur toutes les pages (accueil, articles, mentions légales)
     ============================================================ */

  @media (max-width: 768px) {
    .hero { padding: 48px 20px 40px; }
    .problem, .how, .proof, .trust { padding: 48px 20px; }
    .solution { padding: 48px 20px; }
    #simulateur { padding: 48px 20px; }
    .final-cta { padding: 56px 20px; }
    .solution-grid { grid-template-columns: 1fr; gap: 32px; }
    .trust-grid { grid-template-columns: 1fr; }
    .proof-grid { grid-template-columns: repeat(2, 1fr); }
    .seo-grid { grid-template-columns: 1fr; gap: 0; }
  }

  @media (max-width: 600px) {
    .avis-marquee-carte { width: 260px; }
  }

  @media (max-width: 560px) {
    .article-toc ul { columns: 1; }
    .compare-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 480px) {
    /* Nav — unifié sur toutes les pages */
    nav { padding: 12px 16px; justify-content: space-between; }
    .nav-logo { display: none; }
    .nav-trust { display: none; }
    .nav-phone { display: flex; font-size: 13px; }
    .phone-strip { display: none; }
    .nav-cta { padding: 8px 14px; font-size: 13px; }

    /* Hero accueil */
    .hero { padding: 40px 16px 32px; }
    .hero h1 { letter-spacing: -1px; }
    .hero-badge { font-size: 12px; padding: 5px 12px; }
    .hero-stats { gap: 20px; margin-top: 36px; }
    .hero-stat .num { font-size: 26px; }
    .hero-stat .label { font-size: 12px; }
    .btn-primary { padding: 16px 28px; font-size: 16px; width: 100%; justify-content: center; }

    /* Sections accueil */
    .problem, .how, .proof, .trust { padding: 40px 16px; }
    .solution { padding: 40px 16px; }
    #simulateur { padding: 40px 16px; }
    .final-cta { padding: 48px 16px; }
    .seo-block { padding: 40px 16px; }

    /* Simulateur */
    .sim-header { padding: 20px 16px; }
    .sim-header h2 { font-size: 18px; }
    .sim-body { padding: 20px 16px; }
    .question-label { font-size: 17px; }
    .choices-grid { grid-template-columns: 1fr; }
    .result-savings .amount { font-size: 44px; letter-spacing: -2px; }
    .result-savings { padding: 20px 16px; }
    .lead-grid { grid-template-columns: 1fr; }

    /* Grilles accueil : 1 colonne */
    .proof-grid { grid-template-columns: 1fr; }
    .trust-grid { grid-template-columns: 1fr; }
    .problem-cards { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }

    /* Final CTA */
    .btn-white { padding: 16px 24px; font-size: 16px; width: 100%; justify-content: center; }
    .final-cta p { font-size: 16px; }

    /* Pages secondaires (mentions légales / articles) */
    .field-row { flex-direction: column; gap: 2px; }
    .field-label { min-width: unset; }
  }
