/* ================================================ */
/* MSC — Administrateur Résident Suisse — v2         */
/* Classes utilitaires sémantiques (consolidées)    */
/* ================================================ */

/* ============================================ */
/* BULLETS — pattern svc-filter-list MSC         */
/* ============================================ */
.svc-filter-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.svc-filter-list li { padding: 14px 0 14px 28px; border-bottom: 1px solid var(--msc-gray-100); position: relative; font-family: var(--msc-font); font-size: 14px; line-height: 1.6; color: var(--msc-gray-700); }
.svc-filter-list li:last-child { border-bottom: none; }
.svc-filter-list li::before { content: '—'; position: absolute; left: 0; top: 14px; color: var(--msc-red); font-weight: 700; }
.svc-filter-list li::marker { content: ""; }

/* Variant accept (check rouge) */
.svc-filter-col--accept .svc-filter-list li::before {
  content: '';
  left: 0; top: 17px; width: 16px; height: 16px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3211B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center / contain;
}

/* Variant refuse (croix rouge) */
.svc-filter-col--refuse .svc-filter-list li { padding-left: 30px; }
.svc-filter-col--refuse .svc-filter-list li::before {
  content: '';
  left: 0; top: 17px; width: 16px; height: 16px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3211B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>") no-repeat center / contain;
}

/* ---------- 1. Markers (puces, points, signes) ---------- */
.arsv-mk-em       { color:var(--msc-red); font-weight:700; }                                  /* ex-u002 */
.arsv-mk-red      { color:var(--msc-red); flex-shrink:0; font-weight:700; }                   /* ex-u004 */
.arsv-mk-red-soft { color:var(--msc-red); }                                                   /* ex-u005, accents inline */
.arsv-mk-mute     { color:var(--msc-gray-500); flex-shrink:0; }                               /* ex-u071 */
.arsv-mk-gray     { color:var(--msc-gray-400); }                                              /* ex-u087 */
.arsv-mk-italic   { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); } /* ex-u038 */

.arsv-dot         { width:5px; height:5px; border-radius:50%; background:var(--msc-red); flex-shrink:0; }            /* ex-u016 */
.arsv-dot-sm      { width:4px; height:4px; border-radius:50%; background:var(--msc-red); flex-shrink:0; margin-top:8px; } /* ex-u055 */
.arsv-dot-md      { width:6px; height:6px; border-radius:50%; background:var(--msc-red); }                          /* ex-u032 */
.arsv-check-icon  { flex-shrink:0; margin-top:5px; }                                          /* ex-u001 (svg check) */

/* ---------- 2. Bullets (li flex avec marqueur + texte) ---------- */
.arsv-bullet      { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; }    /* ex-u003,u008 */
.arsv-bullet-md   { display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.55; } /* ex-u006,u084 */
.arsv-bullet-lg   { display:flex; gap:12px; align-items:flex-start; font-size:15.5px; line-height:1.6; }  /* ex-u011 */
.arsv-bullet-num  { display:flex; gap:12px; align-items:flex-start; font-size:14.5px; line-height:1.5; }  /* ex-u007 */
.arsv-bullet-sm   { display:flex; gap:8px; align-items:flex-start; font-size:13.5px; line-height:1.45; }  /* ex-u012,u020 */
.arsv-bullet-tight{ display:flex; gap:8px; align-items:center; font-size:14px; }                          /* ex-u037 */
.arsv-bullet-15   { display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.5; }    /* ex-u023 */
.arsv-bullet-13   { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.5; }  /* ex-u077 */
.arsv-bullet-roman{ display:flex; gap:14px; align-items:flex-start; font-size:14.5px; line-height:1.5; }  /* ex-u098 */
.arsv-bullet-xl   { display:flex; gap:14px; align-items:flex-start; font-size:15px; line-height:1.55; }   /* ex-u053 */
.arsv-bullet-num-15{display:flex; gap:14px; align-items:flex-start; font-size:15px; line-height:1.5; }    /* ex-u056 */
.arsv-bullet-2col { display:flex; gap:8px; align-items:center; font-size:14px; grid-column:span 2; }      /* ex-u089 */

/* ---------- 3. Lists (ul grid) ---------- */
.arsv-list        { list-style:none; padding:0; margin:0; display:grid; gap:10px; }                       /* ex-u009 */
.arsv-list-sm     { list-style:none; padding:0; margin:0; display:grid; gap:8px; }                        /* ex-u070 */
.arsv-list-md     { list-style:none; padding:0; margin:0; display:grid; gap:12px; }                       /* ex-u036 */
.arsv-list-lg     { list-style:none; padding:0; margin:0; display:grid; gap:14px; }                       /* ex-u090 */

/* ---------- 4. Italic red numbers (markers) ---------- */
.arsv-num         { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:14px; min-width:22px; flex-shrink:0; }       /* ex-u010 */
.arsv-num-sm      { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:11px; min-width:18px; flex-shrink:0; margin-top:2px; } /* ex-u030 */
.arsv-num-md      { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:14px; min-width:20px; flex-shrink:0; }       /* ex-u082 */
.arsv-num-lg      { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:15px; min-width:22px; flex-shrink:0; }       /* ex-u054 */
.arsv-num-xl      { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:18px; min-width:28px; flex-shrink:0; }       /* ex-u057 */
.arsv-num-xxl     { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:42px; line-height:1; }                       /* ex-u063 */
.arsv-num-letter  { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:14px; }                                      /* ex-u069 */
.arsv-num-circle  { display:inline-flex; width:28px; height:28px; border-radius:50%; background:var(--msc-gray-50); align-items:center; justify-content:center; flex-shrink:0; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:14px; } /* ex-u099 */
.arsv-num-quote   { font-family:var(--msc-font-display); font-style:italic; color:var(--msc-black); font-size:28px; }                                    /* ex-u101 */

/* ---------- 5. Eyebrows (uppercase labels) ---------- */
.arsv-eyebrow         { display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--msc-gray-500); }                             /* ex-u015 */
.arsv-eyebrow-mute    { display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--msc-gray-500); font-weight:600; margin-bottom:8px; } /* ex-u074 */
.arsv-eyebrow-red     { display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--msc-red); font-weight:600; }                  /* ex-u059 */
.arsv-eyebrow-red-lg  { display:block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--msc-red); font-weight:600; margin-bottom:14px; } /* ex-u064 */
.arsv-eyebrow-red-mb  { display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--msc-red); font-weight:600; margin-bottom:14px; } /* ex-u033 */
.arsv-eyebrow-italic  { display:block; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:12px; margin-bottom:6px; }       /* ex-u026 */
.arsv-eyebrow-italic-up{display:block; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:11px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:6px; } /* ex-u049 */
.arsv-eyebrow-stat    { display:block; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:18px; margin-bottom:4px; }       /* ex-u076 */
.arsv-eyebrow-stack   { display:block; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:13px; margin-bottom:8px; }       /* ex-u096 */

/* ---------- 6. Pills / chips ---------- */
.arsv-pill            { padding:10px 18px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:999px; font-size:13.5px; font-weight:500; }     /* ex-u021,u044 */
.arsv-pill-gray       { padding:10px 18px; background:var(--msc-gray-50); color:var(--msc-black); border-radius:999px; font-size:13.5px; font-weight:500; }      /* ex-u083 */
.arsv-pill-dot        { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:var(--msc-gray-50); color:var(--msc-black); border-radius:999px; font-size:14px; font-weight:500; } /* ex-u031 */
.arsv-pill-tag        { display:inline-flex; align-items:center; padding:8px 14px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:999px; font-size:13px; }  /* ex-u035 */
.arsv-pill-rect       { padding:8px 16px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:8px; font-size:13.5px; font-weight:500; }         /* ex-u019 */
.arsv-pill-rect-sm    { padding:8px 16px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:6px; font-size:13.5px; }                          /* ex-u022 */
.arsv-pill-rect-xs    { padding:6px 10px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:6px; font-size:12px; }                            /* ex-u043 */
.arsv-pill-rect-tag   { display:inline-flex; align-items:center; padding:8px 14px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:8px; font-size:13.5px; } /* ex-u041 */
.arsv-pill-acronym    { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:8px; font-size:13px; font-weight:600; letter-spacing:.04em; } /* ex-u092 */
.arsv-pill-acronym-mute{ color:var(--msc-gray-500); font-weight:400; }                                                                                            /* ex-u093 */
.arsv-pill-row        { display:flex; flex-wrap:wrap; gap:8px; }                                                                                                  /* ex-u039 */

/* ---------- 7. Cards ---------- */
.arsv-card            { padding:16px 18px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); font-size:13.5px; line-height:1.5; }                            /* ex-u079 */
.arsv-card-row        { display:flex; gap:12px; align-items:center; padding:16px 18px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); font-size:14.5px; line-height:1.4; } /* ex-u017 */
.arsv-card-bullet     { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.5; padding:12px 14px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:8px; } /* ex-u042 */
.arsv-card-stat       { text-align:center; padding:18px 14px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); }            /* ex-u075 */
.arsv-card-stat-top   { padding:18px 14px; text-align:center; border-top:3px solid var(--msc-red); border-right:1px solid var(--msc-gray-200); border-bottom:1px solid var(--msc-gray-200); border-left:1px solid var(--msc-gray-200); border-radius:0 0 8px 8px; background:#fff; } /* ex-u045 */
.arsv-card-icon-row   { padding:18px 22px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); display:flex; gap:12px; align-items:center; } /* ex-u050 */
.arsv-card-center     { padding:14px 16px; background:#fff; border-radius:8px; font-size:13.5px; line-height:1.45; text-align:center; }                            /* ex-u048 */
.arsv-card-center-bd  { padding:12px 16px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:8px; font-size:13.5px; text-align:center; }        /* ex-u078 */

.arsv-card-risk       { position:relative; padding:22px 22px 22px 26px; background:#fff; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); overflow:hidden; } /* ex-u034 */
.arsv-card-risk-rail  { position:absolute; top:0; bottom:0; left:0; width:3px; background:var(--msc-red); }                                                       /* ex-u025 */
.arsv-card-risk-num   { display:block; font-family:var(--msc-font-display); font-style:italic; color:var(--msc-red); font-size:12px; margin-bottom:6px; }         /* ex-u026 (alias risk) */
.arsv-card-risk-text  { font-size:14.5px; line-height:1.45; font-weight:500; }                                                                                    /* ex-u027 */

.arsv-card-rule       { padding:14px 18px; background:#fff; border-left:3px solid var(--msc-red); border-radius:0 8px 8px 0; font-size:13.5px; }                  /* ex-u029 */
.arsv-card-rule-row   { display:flex; gap:14px; align-items:flex-start; font-size:14px; line-height:1.5; padding:14px 18px; background:#fff; border-left:3px solid var(--msc-red); border-radius:0 8px 8px 0; } /* ex-u081 */
.arsv-card-gray-row   { padding:16px 18px; background:var(--msc-gray-50); color:var(--msc-black); border-radius:var(--msc-radius); font-size:13.5px; line-height:1.5; display:flex; gap:10px; align-items:flex-start; } /* ex-u080 */
.arsv-card-callout    { font-size:13.5px; line-height:1.5; padding:14px 16px; background:var(--msc-gray-50); border-radius:6px; display:flex; gap:8px; }          /* ex-u013 */

/* ---------- 8. Icon circles ---------- */
.arsv-icon-circle      { width:24px; height:24px; border-radius:50%; background:var(--msc-gray-50); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--msc-red); font-family:var(--msc-font-display); font-style:italic; font-size:12px; } /* ex-u018 */
.arsv-icon-circle-red  { display:inline-flex; width:32px; height:32px; border-radius:50%; background:rgba(227,33,27,.08); align-items:center; justify-content:center; flex-shrink:0; }                                                  /* ex-u051 */

/* ---------- 9. Layouts / row heads ---------- */
.arsv-head-row        { display:flex; align-items:center; gap:14px; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--msc-gray-100); }       /* ex-u065 */
.arsv-head-row-sm     { display:flex; align-items:center; gap:12px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--msc-gray-100); }       /* ex-u066 */
.arsv-head-row-plain  { display:flex; align-items:center; gap:12px; margin-bottom:18px; }                                                                          /* ex-u072 */
.arsv-head-letter     { display:flex; align-items:center; gap:14px; margin-bottom:20px; }                                                                          /* ex-u091 */
.arsv-head-rule       { display:flex; align-items:baseline; gap:18px; margin-bottom:22px; padding-bottom:14px; border-bottom:2px solid var(--msc-black); }         /* ex-u062 */

/* ---------- 10. Timeline ---------- */
.arsv-station         { position:relative; padding-left:60px; padding-bottom:36px; }                                                                              /* ex-u060 */
.arsv-station-num     { position:absolute; left:0; top:8px; width:38px; height:38px; border-radius:50%; background:var(--msc-gray-50); color:var(--msc-black); display:flex; align-items:center; justify-content:center; font-family:var(--msc-font-display); font-style:italic; font-size:15px; box-shadow:0 0 0 6px #fff; z-index:1; } /* ex-u073 */

/* ---------- 11. Section titles (h3 / h4 family) ---------- */
.arsv-h3-md           { font-family:var(--msc-font-display); font-size:18px; margin:2px 0 0; line-height:1.2; }                                                   /* ex-u067 */
.arsv-h3-md-black     { font-family:var(--msc-font-display); font-size:18px; margin:2px 0 0; line-height:1.2; color:var(--msc-black); }                           /* ex-u068 */
.arsv-h3-block        { font-family:var(--msc-font-display); font-size:24px; margin:0; line-height:1.2; }                                                         /* ex-u014 */
.arsv-h3-station      { font-family:var(--msc-font-display); font-size:22px; margin:0 0 14px; line-height:1.25; }                                                 /* ex-u040 */

/* ---------- 12. Text / paragraphs ---------- */
.arsv-p-intro         { font-size:13.5px; line-height:1.55; color:var(--msc-gray-600); margin:0 0 16px; }     /* ex-u058 */
.arsv-p-station       { font-size:14.5px; line-height:1.65; color:var(--msc-gray-700); margin:0 0 14px; }     /* ex-u061 */
.arsv-p-card          { font-size:13.5px; line-height:1.55; color:var(--msc-gray-600); margin:0 0 18px; }     /* ex-u095 */
.arsv-p-lead          { font-size:14.5px; line-height:1.65; color:var(--msc-gray-700); margin:0 0 20px; }     /* ex-u100 */
.arsv-p-stack         { margin:0; font-size:14px; line-height:1.55; }                                          /* ex-u097 */

/* ---------- 13. Spacing utilities ---------- */
.arsv-mb-sm           { margin-bottom:8px; }     /* ex-u046 */
.arsv-mb-md           { margin-bottom:36px; }    /* ex-u088 */
.arsv-mb-lg           { margin-bottom:48px; }    /* ex-u024 */
.arsv-mb-xl           { margin-bottom:60px; }    /* ex-u028 */

/* ---------- 14. Strike-through ---------- */
.arsv-strike          { text-decoration:line-through; text-decoration-color:var(--msc-gray-400); }            /* ex-u085 */
.arsv-strike-row      { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; color:var(--msc-gray-700); text-decoration:line-through; text-decoration-color:var(--msc-gray-400); } /* ex-u086 */

/* ---------- 15. Inline emphasis ---------- */
.arsv-em-red          { color:var(--msc-red); font-style:italic; }                                            /* ex-u094 */

/* ---------- 16. Misc atoms ---------- */
.arsv-stat-num-block  { display:block; font-size:13px; line-height:1.45; }                                    /* ex-u047 */
.arsv-stat-icon-mb    { margin-bottom:8px; }                                                                  /* ex-u046 alias */
.arsv-stat-text       { font-size:13.5px; line-height:1.45; }                                                 /* ex-u052 */


/* ════════════════════════════════════════════════════════════════════
   CLASSES MSC — Hero, chapter-mark, section-head, EEAT, apres-stack §10
   Source : msc-tva.css (référence TVA)
   ════════════════════════════════════════════════════════════════════ */

/* ── Chapter-mark (depuis TVA) ── */
.chapter-mark { display: flex; align-items: baseline; gap: 14px; margin-bottom: 28px; }
.chapter-num { font-family: var(--msc-font-display); font-style: italic; font-size: 24px; color: var(--msc-red); line-height: 1; }
.chapter-label { font-family: var(--msc-font); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--msc-gray-900); }
.chapter-rule { flex: 1; height: 1px; background: var(--msc-gray-200); margin-left: auto; }

/* ── section-head / h2 / lead / hero-acts (depuis TVA) ── */
.h2 {
    font-family: var(--msc-font-display);
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--msc-gray-900);
    margin: 0 0 24px;
  }
.h2 em { font-style: italic; font-weight: 400; color: var(--msc-red); }
.lead { font-size: 18px; line-height: 1.65; color: var(--msc-gray-600); margin-top: 24px;}
.section-head { max-width: 760px; margin-bottom: 80px; }
.hero-acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

/* ── Section 02 — EEAT complet (depuis TVA) ── */
.et_pb_section:has(.svc-eeat-in) { background: var(--msc-gray-100); }
.svc-eeat-head { margin-bottom: 56px; display: block; }
.svc-eeat-title { font-family: var(--msc-font-display); font-size: clamp(36px, 4vw, 56px); font-weight: 400; line-height: 1; color: var(--msc-gray-900); letter-spacing: -.03em; margin: 0 0 24px; }
.svc-eeat-title em { font-style: italic; color: var(--msc-red); }
.svc-eeat-intro { font-family: var(--msc-font); font-size: 16px; color: var(--msc-gray-700); line-height: 1.75; max-width: 100%; margin: 0; }
.svc-eeat-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 2px solid var(--msc-gray-900); border-bottom: 2px solid var(--msc-gray-900); background: var(--msc-white); }
.svc-eeat-stat { padding: 56px 32px 48px; position: relative; transition: background .3s; }
.svc-eeat-stat + .svc-eeat-stat { border-left: 1px solid var(--msc-gray-200); }
.svc-eeat-stat:hover { background: var(--msc-gray-50); }
.svc-eeat-stat-check { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; font-family: var(--msc-font); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: var(--msc-red); }
.svc-eeat-stat-check svg { width: 14px; height: 14px; stroke: var(--msc-red); stroke-width: 2.5; fill: none; }
.svc-eeat-stat-num { font-family: var(--msc-font-display); font-size: clamp(42px, 4.4vw, 64px); font-weight: 400; line-height: .9; letter-spacing: -.03em; color: var(--msc-gray-900); margin-bottom: 16px; }
.svc-eeat-stat-num em { font-style: italic; color: var(--msc-red); font-size: .6em; margin-left: 4px; }
.svc-eeat-stat-num sup { font-size: .5em; font-style: italic; color: var(--msc-red); vertical-align: top; margin-left: 4px; top: .2em; position: relative; }
.svc-eeat-stat-desc { font-family: var(--msc-font); font-size: 13px; line-height: 1.6; color: var(--msc-gray-700); max-width: 240px; }
.svc-eeat-expert { margin-top: 72px; padding: 48px 56px; background: var(--msc-white); border: 1px solid var(--msc-gray-200); display: grid; grid-template-columns: 120px 1fr auto; gap: 40px; align-items: center; }
.svc-eeat-expert-avatar { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; background-image: url('https://my-swiss-company.com/wp-content/uploads/2024/10/M.Taracido-director-Rister-Switzerland.jpg.webp'); background-size: cover; background-position: center top; border: 3px solid var(--msc-white); box-shadow: 0 8px 24px rgba(0,0,0,.08); flex-shrink: 0; }
.svc-eeat-expert-body { }
.svc-eeat-expert-tag { font-family: var(--msc-font); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: var(--msc-red); margin-bottom: 10px; display: block; }
.svc-eeat-expert h3 { font-family: var(--msc-font-display); font-size: clamp(22px, 2vw, 28px); font-weight: 400; color: var(--msc-gray-900); letter-spacing: -.01em; line-height: 1.15; margin: 0 0 12px; }
.svc-eeat-expert h3 em { font-style: italic; color: var(--msc-red); }
.svc-eeat-expert p { font-family: var(--msc-font); font-size: 14px; line-height: 1.65; color: var(--msc-gray-700); margin: 0; max-width: 540px; }
.svc-eeat-expert p strong { color: var(--msc-gray-900); font-weight: 600; }
.svc-eeat-expert-link { font-family: var(--msc-font); font-size: 11px; font-weight: 700; color: var(--msc-gray-900); text-decoration: none; text-transform: uppercase; letter-spacing: .14em; display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--msc-gray-900); padding-bottom: 4px; transition: all .3s; white-space: nowrap; }
.svc-eeat-expert-link:hover { color: var(--msc-red); border-color: var(--msc-red); gap: 12px; }
.svc-eeat-expert-link svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2; fill: none; }
@media (max-width: 1024px) {
.svc-eeat-stats { grid-template-columns: repeat(2, 1fr); }
.svc-eeat-stat + .svc-eeat-stat { border-left: 1px solid var(--msc-gray-200); }
.svc-eeat-stat:nth-child(3) { border-left: none; border-top: 1px solid var(--msc-gray-200); }
.svc-eeat-stat:nth-child(4) { border-top: 1px solid var(--msc-gray-200); }
.svc-eeat-expert { grid-template-columns: 1fr; text-align: center; padding: 32px 24px; }
.svc-eeat-expert-avatar { margin: 0 auto; }
.svc-eeat-expert p { max-width: 100%; }
}
@media (max-width: 640px) {
.svc-eeat-stats { grid-template-columns: 1fr; }
.svc-eeat-stat + .svc-eeat-stat { border-left: none !important; border-top: 1px solid var(--msc-gray-200); }
}
.svc-reviews { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--msc-gray-200); }
.svc-reviews-head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 28px; }
.svc-reviews-head h3 { font-family: var(--msc-font-display); font-size: clamp(22px, 2.2vw, 28px); font-weight: 400; color: var(--msc-gray-900); margin: 0; letter-spacing: -.01em; }
.svc-reviews-head-score { font-family: var(--msc-font); font-size: 12px; color: var(--msc-gray-600); display: inline-flex; align-items: center; gap: 6px; }
.svc-reviews-head-score strong { color: var(--msc-red); font-weight: 700; }
.svc-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.svc-review { padding: 24px; background: var(--msc-gray-50); border-left: 2px solid var(--msc-red); display: flex; flex-direction: column; gap: 14px; }
.svc-review-stars { color: var(--gold); font-size: 13px; letter-spacing: 2px; }
.svc-review-quote { font-family: var(--msc-font-display); font-style: italic; font-size: 15.5px; line-height: 1.55; color: var(--msc-gray-900); margin: 0; }
.svc-review-author { font-family: var(--msc-font); font-size: 12px; color: var(--msc-gray-500); margin-top: auto; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 900px) {
.svc-reviews-grid { grid-template-columns: 1fr; }
}
.et_pb_section:has(.svc-process-in) { background: var(--msc-white); }

/* ── Section 10 — apres-stack complet (depuis TVA) ── */
.apres-stack {
  margin-top: 56px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.apres-step {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 32px;
  padding: 32px 0;
  border-top: 1px solid var(--msc-gray-200);
  transition: padding .35s var(--msc-ease-out), background .25s var(--msc-ease-out);
}
.apres-step:last-child { border-bottom: 1px solid var(--msc-gray-200); }
.apres-step.is-active {
  padding: 40px 0 44px;
  background: linear-gradient(180deg, transparent 0%, var(--msc-gray-50) 100%);
}
.apres-step-num {
  font-family: var(--msc-font-display);
  font-style: italic;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 400;
  line-height: 1;
  color: var(--msc-gray-200);
  letter-spacing: -.02em;
  transition: color .35s var(--msc-ease-out);
}
.apres-step.is-active .apres-step-num { color: var(--msc-red); }
.apres-step-content {
  display: grid;
  gap: 14px;
}
.apres-step-title {
  font-family: var(--msc-font-display);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 400;
  line-height: 1.25;
  color: var(--msc-gray-900);
  letter-spacing: -.015em;
  margin: 0;
  cursor: pointer;
}
/* Toggle button (visible mobile/tablette uniquement, masqué desktop ≥980px) */
.apres-step-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  margin-top: 4px;
  width: fit-content;
  background: var(--msc-white);
  border: 1px solid var(--msc-gray-300);
  border-radius: 999px;
  cursor: pointer;
  font-family: var(--msc-font);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--msc-gray-900);
  transition: background .25s, color .25s, border-color .25s;
}
.apres-step-toggle svg {
  width: 12px;
  height: 12px;
  transition: transform .35s var(--msc-ease-out);
}
.apres-step-toggle:hover {
  background: var(--msc-black);
  color: var(--msc-white);
  border-color: var(--msc-black);
}
.apres-step.is-active .apres-step-toggle {
  background: var(--msc-red);
  color: var(--msc-white);
  border-color: var(--msc-red);
}
.apres-step.is-active .apres-step-toggle svg { transform: rotate(180deg); }
/* Swap label : "Voir le détail" → "Masquer le détail" */
.apres-step.is-active .apres-step-toggle .apres-step-toggle-text { font-size: 0; line-height: 0; }
.apres-step.is-active .apres-step-toggle .apres-step-toggle-text::after {
  content: 'Masquer le détail';
  font-size: 11.5px;
  line-height: normal;
}
/* Body collapsible : grid-template-rows pour animation smooth */
/* Body : preview de ~2 lignes visibles avec fondu, expansion complète au hover/active */
.apres-step-body {
  position: relative;
  max-height: 56px;             /* preview : ~2 lignes du premier paragraphe */
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 35%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 35%, transparent 100%);
  transition: max-height .55s cubic-bezier(.6,.1,.2,1),
              -webkit-mask-image .35s ease-out,
                      mask-image .35s ease-out;
}
.apres-step-body-inner { min-height: 0; }
/* Active (mobile click) : déploiement complet, masque retiré */
.apres-step.is-active .apres-step-body {
  max-height: 2400px;           /* large enough pour tout contenu (paragraphes + listes + tableau) */
  -webkit-mask-image: none;
          mask-image: none;
  transition: max-height .8s cubic-bezier(.4,0,.1,1),
              -webkit-mask-image .25s ease-in,
                      mask-image .25s ease-in;
}
/* Desktop ≥980px : preview au repos, expansion au hover (pure CSS) */
@media (hover: hover) and (min-width: 980px) {
.apres-step-toggle { display: none; }
.apres-step-title { cursor: default; }
/* Hover sur le step → état "is-active" complet */
.apres-step:hover {
    padding: 40px 0 44px;
    background: linear-gradient(180deg, transparent 0%, var(--msc-gray-50) 100%);
  }
.apres-step:hover .apres-step-num { color: var(--msc-red); }
.apres-step:hover .apres-step-body {
    max-height: 2400px;
    -webkit-mask-image: none;
            mask-image: none;
    transition: max-height .8s cubic-bezier(.4,0,.1,1),
                -webkit-mask-image .25s ease-in,
                        mask-image .25s ease-in;
  }
}
/* Tablet/mobile sans capacité hover : interaction par click sur titre/bouton (gérée en JS) */
@media (hover: none), (max-width: 979px) {
.apres-step-title { cursor: pointer; }
}
.apres-step-content p {
  font-family: var(--msc-font);
  font-size: 15px;
  line-height: 1.7;
  color: var(--msc-gray-700);
  margin: 0;
}
.apres-step-content p strong { color: var(--msc-gray-900); font-weight: 600; }
/* Listes à puces tiret rouge */
/* Bloc "À retenir" / "Important" — fond rouge clair, border-left rouge */
.apres-warning {
  margin-top: 8px;
  padding: 18px 22px;
  background: rgba(227,33,27,.05);
  border-left: 3px solid var(--msc-red);
  border-radius: 0 3px 3px 0;
  display: grid;
  gap: 6px;
}
.apres-warning-tag {
  font-family: var(--msc-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--msc-red);
}
.apres-warning p {
  font-family: var(--msc-font);
  font-size: 14px;
  line-height: 1.65;
  color: var(--msc-gray-800);
  margin: 0;
}
/* Tableau calendrier décomptes */
.apres-table-caption {
  font-weight: 600;
  color: var(--msc-gray-900) !important;
  margin-top: 8px !important;
}
.apres-table-wrap {
  margin: 8px 0;
  overflow-x: auto;
  border: 1px solid var(--msc-gray-200);
  border-radius: 3px;
}
.apres-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--msc-font);
  font-size: 14px;
}
.apres-table thead {
  background: var(--msc-black);
}
.apres-table th {
  padding: 14px 18px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--msc-white);
  border-bottom: 2px solid var(--msc-red);
}
.apres-table td {
  padding: 14px 18px;
  border-top: 1px solid var(--msc-gray-100);
  color: var(--msc-gray-700);
  line-height: 1.5;
}
.apres-table td strong { color: var(--msc-gray-900); font-weight: 600; }
.apres-table tbody tr:nth-child(even) { background: var(--msc-gray-50); }
.apres-table tbody tr:hover { background: rgba(227,33,27,.04); }
.apres-table sup { font-size: .65em; vertical-align: super; }
.apres-table-foot {
  font-size: 13px !important;
  color: var(--msc-gray-500) !important;
}
/* Conclusion : card highlight fond gris, border-top rouge */
.apres-conclusion {
  margin-top: 56px;
  padding: 40px 44px;
  background: var(--msc-gray-50);
  border-top: 4px solid var(--msc-red);
  border-radius: 0 0 4px 4px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  gap: 14px;
}
.apres-conclusion-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--msc-font);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--msc-red);
}
.apres-conclusion-tag::before {
  content: '';
  width: 24px; height: 1px; background: var(--msc-red);
}
.apres-conclusion-title {
  font-family: var(--msc-font-display);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 1.2;
  color: var(--msc-gray-900);
  letter-spacing: -.015em;
  margin: 0 0 6px;
}
.apres-conclusion-title em { font-style: italic; color: var(--msc-red); }
.apres-conclusion p {
  font-family: var(--msc-font);
  font-size: 15px;
  line-height: 1.7;
  color: var(--msc-gray-700);
  margin: 0;
}
.apres-conclusion-final {
  margin-top: 8px !important;
  padding-top: 16px;
  border-top: 1px solid var(--msc-gray-200);
  color: var(--msc-gray-900) !important;
  font-size: 15.5px !important;
}
.apres-conclusion-final strong { color: var(--msc-gray-900); font-weight: 600; }
/* Responsive */
@media (max-width: 768px) {
.apres-step { grid-template-columns: 64px 1fr; gap: 18px; padding: 32px 0; }
.apres-step-num { font-size: 38px; }
.apres-step-title { font-size: 19px; }
.apres-conclusion { padding: 32px 26px; }
.apres-table th, .apres-table td { padding: 12px 14px; font-size: 13px; }
.apres-table th { font-size: 10px; }
}
@media (max-width: 480px) {
.apres-step { grid-template-columns: 1fr; gap: 8px; }
.apres-step-num { font-size: 32px; }
.apres-warning { padding: 14px 16px; }
}
/* ── apres-list (depuis admin ref) ── */
/* Listes à puces tiret rouge */
.apres-list { list-style: none; padding: 0; margin: 4px 0; display: grid; gap: 8px; }

/* ── Hero + g-rating (depuis TVA) ── */
.g-rating{display:inline-flex;align-items:center;gap:10px;opacity:0;animation:fu .8s var(--msc-ease-out) .55s forwards}
.g-rating-icon{width:20px;height:20px;flex-shrink:0}
.g-rating-stars{display:flex;gap:1px}
.g-rating-stars svg{width:14px;height:14px}
.g-rating-text{font-size:13px;color:var(--msc-white)}
.g-rating-text strong{color:var(--msc-white);font-weight:700}
.g-rating-text-black{font-size:13px;color:var(--msc-black)}
.g-rating-text-black strong{color:var(--msc-black);font-weight:700}
.et_pb_section:has(.svc-hero-in) { background: var(--msc-black); color: var(--msc-white); position: relative; overflow: hidden; padding: 140px 48px 120px !important; }
.et_pb_section:has(.svc-hero-in)::before { content: ''; position: absolute; top: -200px; right: -200px; width: 720px; height: 720px; background: radial-gradient(circle, rgba(227,33,27,.08) 0%, transparent 60%); pointer-events: none; z-index: 0; }
.et_pb_section:has(.svc-hero-in)::after { content: ''; position: absolute; bottom: -300px; left: -200px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(227,33,27,.05) 0%, transparent 65%); pointer-events: none; z-index: 0; }
.svc-hero-in {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 88px;
  align-items: center;
  min-height: min(78vh, 720px);
}
.svc-hero-crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-family: var(--msc-font); font-size: 11px; color: rgba(255,255,255,.35); margin-bottom: 32px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; grid-column: 1 / -1; align-self: start; }
.svc-hero-crumb a { color: rgba(255,255,255,.55); text-decoration: none; }
.svc-hero-crumb a:hover { color: var(--msc-red); }
.svc-hero-crumb svg { width: 10px; height: 10px; stroke: currentColor; stroke-width: 1.5; fill: none; flex-shrink: 0; }
.svc-hero-content { max-width: 640px; }
.svc-hero-badge { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 28px; font-family: var(--msc-font); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); animation: fu .8s var(--msc-ease-out) .1s both; }
.svc-hero-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--msc-red); animation: svcPulse 2s ease-in-out infinite; }
@keyframes svcPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .5; transform: scale(1.3); } }
.svc-hero-in h1 { font-family: var(--msc-font-display); font-size: clamp(38px, 4.2vw, 60px); font-weight: 400; line-height: 1.08; color: var(--msc-white); letter-spacing: -.02em; margin: 0 0 24px; animation: fu .8s var(--msc-ease-out) .2s both; }
.svc-hero-in h1 em { font-style: italic; color: var(--msc-red); }
.svc-hero-narrative { margin: 0 0 40px; max-width: 600px; animation: fu .8s var(--msc-ease-out) .35s both; }
.svc-hero-narrative p { font-family: var(--msc-font); font-size: 16px; line-height: 1.75; color: rgba(255,255,255,.68); margin: 0 0 16px; }
.svc-hero-narrative p:first-child { font-family: var(--msc-font-display); font-size: 20px; line-height: 1.55; color: rgba(255,255,255,.85); font-style: italic; margin-bottom: 24px; letter-spacing: -.005em; }
.svc-hero-narrative p:last-child { margin-bottom: 0; }
.svc-hero-meta { display: flex; flex-wrap: wrap; gap: 28px 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.1); animation: fu .8s var(--msc-ease-out) .5s both; }
.svc-hero-meta-item { display: flex; flex-direction: column; gap: 6px; }
.svc-hero-meta-label { font-family: var(--msc-font); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.35); }
.svc-hero-meta-value { font-family: var(--msc-font); font-size: 14px; font-weight: 600; color: var(--msc-white); line-height: 1.3; }
.svc-hero-meta-value em { font-style: normal; color: var(--msc-red); }
.svc-hero-side { position: relative; animation: fu 1s var(--msc-ease-out) .35s both; }
.svc-hero-image { aspect-ratio: 4/5; background: var(--msc-gray-900); overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.08); }
.svc-hero-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%) contrast(1.08) brightness(.72); }


/* ── Hero responsive (depuis TVA) ── */
@media (max-width: 1024px) {
.svc-hero-in { grid-template-columns: 1fr; gap: 32px; min-height: auto; }
.svc-hero-side { max-width: 520px; margin: 0 auto; width: 100%; order: -1; }
.svc-hero-image { aspect-ratio: 16/10; }
.svc-hero-meta { gap: 20px 28px; }
}
@media (max-width: 640px) {
.svc-hero-side { display: none !important; }
.et_pb_section:has(.svc-hero-in) { padding: 96px 20px 64px !important; }
.svc-hero-in h1 { font-size: clamp(30px, 8vw, 40px); }
.svc-hero-meta { gap: 16px; flex-direction: column; align-items: flex-start; padding-top: 20px; }


/* ── svc-hero-brief-card (depuis admin ref) ── */
.svc-hero-brief-card {
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(10, 10, 10, .78);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 20px 22px;
  font-family: var(--msc-font);
  font-size: 12px;
  color: rgba(255, 255, 255, .75);
  letter-spacing: .01em;
  border-left: 2px solid var(--msc-red);
  border-radius: 3px;
  line-height: 1.6;
}
.svc-hero-brief-card strong {
  color: var(--msc-white);
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.svc-hero-brief-card span { color: var(--msc-red); font-weight: 600; }

/* ════════════════════════════════════════════════════════════════════
   CAS-STACK — Accordéon "Situations rencontrées" (section 11)
   Aucun wrapper de section : classes auto-portantes.
   ════════════════════════════════════════════════════════════════════ */

.cas-stack {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* ── Card ───────────────────────────────────────────────────────── */
.cas-card {
  border: 1px solid var(--msc-gray-200);
  border-radius: 3px;
  background: var(--msc-white);
  overflow: hidden;
  transition: border-color .25s var(--msc-ease-out), box-shadow .25s var(--msc-ease-out);
}
.cas-card:hover { border-color: var(--msc-gray-300); }
.cas-card.is-open {
  border-color: var(--msc-black);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .06);
}

/* ── Trigger (icône + titre + toggle) ───────────────────────────── */
.cas-card-trigger {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 26px 32px;
  background: var(--msc-white);
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: var(--msc-font);
  color: inherit;
}

/* ── Icône à gauche ─────────────────────────────────────────────── */
.cas-card-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: var(--msc-black);
  color: var(--msc-white);
  border-radius: 3px;
  flex-shrink: 0;
  transition: background .25s var(--msc-ease-out);
}
.cas-card-icon svg {
  width: 24px;
  height: 24px;
  display: block;
}
.cas-card:hover .cas-card-icon,
.cas-card.is-open .cas-card-icon {
  background: var(--msc-red);
}

/* ── Bloc texte (tag + titre) ───────────────────────────────────── */
.cas-card-heading {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.cas-card-tag {
  font-family: var(--msc-font);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--msc-red);
}
.cas-card-title {
  font-family: var(--msc-font-display);
  font-size: clamp(17px, 1.7vw, 22px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--msc-gray-900);
}

/* ── Toggle rond avec croix → moins ─────────────────────────────── */
.cas-card-toggle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--msc-gray-200);
  display: grid;
  place-items: center;
  position: relative;
  flex-shrink: 0;
  transition: background .25s var(--msc-ease-out), border-color .25s var(--msc-ease-out);
}
.cas-card-toggle::before,
.cas-card-toggle::after {
  content: '';
  position: absolute;
  background: var(--msc-black);
  transition: transform .3s var(--msc-ease-out), background .25s var(--msc-ease-out);
}
.cas-card-toggle::before { width: 14px; height: 1.5px; }
.cas-card-toggle::after  { width: 1.5px; height: 14px; }
.cas-card.is-open .cas-card-toggle {
  background: var(--msc-red);
  border-color: var(--msc-red);
}
.cas-card.is-open .cas-card-toggle::before,
.cas-card.is-open .cas-card-toggle::after {
  background: var(--msc-white);
}
.cas-card.is-open .cas-card-toggle::after { transform: scaleY(0); }

/* ── Body collapsible (animation grid-template-rows) ────────────── */
.cas-card-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .45s cubic-bezier(.6, .1, .2, 1);
}
.cas-card.is-open .cas-card-body { grid-template-rows: 1fr; }

.cas-card-body-inner {
  overflow: hidden;
  min-height: 0;
}

/* ── Contenu du body ─────────────────────────────────────────────── */
.cas-card-content {
  padding: 28px 32px 36px;
  border-top: 1px solid var(--msc-gray-100);
}
.cas-card-content > p {
  font-family: var(--msc-font);
  font-size: 15px;
  line-height: 1.7;
  color: var(--msc-gray-700);
  margin: 0 0 16px;
}
.cas-card-content > p:last-child { margin-bottom: 0; }
.cas-card-content > p strong { color: var(--msc-gray-900); font-weight: 600; }

/* Paragraphe précédant une liste : margin-bottom réduit */
.cas-card-content > p:has(+ ul) { margin-bottom: 10px; }

/* ── Listes à puces tiret rouge ─────────────────────────────────── */
.cas-card-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: grid;
  gap: 8px;
}
.cas-card-content ul li {
  position: relative;
  padding-left: 22px;
  font-family: var(--msc-font);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--msc-gray-700);
}
.cas-card-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 12px;
  height: 1.5px;
  background: var(--msc-red);
}
.cas-card-content ul li::marker { content: ''; }
.cas-card-content ul li strong { color: var(--msc-gray-900); font-weight: 600; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cas-card-trigger { padding: 20px 22px; gap: 18px; }
  .cas-card-icon { width: 40px; height: 40px; }
  .cas-card-icon svg { width: 20px; height: 20px; }
  .cas-card-toggle { width: 34px; height: 34px; }
  .cas-card-content { padding: 22px 22px 28px; }
}
@media (max-width: 480px) {
  .cas-card-trigger { padding: 18px; gap: 14px; }
  .cas-card-tag { font-size: 9.5px; }
  .cas-card-title { font-size: 15.5px; }
}

/* ═   SECTION 08 — APRÈS L'IMMATRICULATION : checklist post-AFC
   ──────────────────────────────────────────────────────────────────── */

/* ── Section 12 — compare / compare-table ── */
.compare { margin-top: 80px; padding-top: 64px; border-top: 1px solid var(--msc-gray-100); }
.compare-head { max-width: 760px; margin-bottom: 36px; }
.compare-tag {
  display: inline-block;
  font-family: var(--msc-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--msc-red);
  margin-bottom: 16px;
}
.compare-title {
  font-family: var(--msc-font-display);
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--msc-gray-900);
  letter-spacing: -0.01em;
  margin: 0 0 14px;
}
.compare-intro {
  font-family: var(--msc-font);
  font-size: 15px;
  line-height: 1.65;
  color: var(--msc-gray-700);
  margin: 0;
}
.compare-table th:first-child, .compare-table td:first-child { width: 36%; }
.compare-table th:nth-child(2), .compare-table td:nth-child(2) { color: var(--msc-red); }
.compare-table tbody tr:hover td:nth-child(2) { color: var(--msc-red); font-weight: 600; }
@media (max-width: 640px) {
  .compare { margin-top: 56px; padding-top: 40px; }
  .compare-table th:first-child, .compare-table td:first-child { width: auto; }
}


/* ── FAQ + s-label/s-title/s-sub ── */
.faq-in {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
}
.faq-left { position: sticky; top: 100px; }
.s-label {
  font-family: var(--msc-font);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--msc-red);
  margin-bottom: 20px;
}
.s-title {
  font-family: var(--msc-font-display);
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--msc-gray-900);
  letter-spacing: -.02em;
  margin: 0 0 22px;
}
.s-title em { font-style: italic; color: var(--msc-red); }
.s-sub {
  font-family: var(--msc-font);
  font-size: 15px;
  line-height: 1.7;
  color: var(--msc-gray-600);
  margin: 0;
  max-width: 480px;
}
.faq-questions {
  display: flex;
  flex-direction: column;
  gap: 14px;
}


.ctx-approach { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.ctx-card { position:relative; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); padding:32px; background:#fff; }
.ctx-card-active { position:relative; border:1px solid var(--msc-gray-200); border-radius:var(--msc-radius); padding:32px; background:var(--msc-gray-50); color:var(--msc-black); }
.ctx-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; margin-bottom:40px; }
.ctx-legal { margin-bottom:40px; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start; border-left:3px solid var(--msc-red); background:var(--msc-gray-50); padding:28px 32px; border-radius:0 var(--msc-radius) var(--msc-radius) 0; }
.legal-forms { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px; margin-bottom:40px; }
.legal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; margin-bottom:32px; }

/* ctx-card-head : header de ctx-card (composé avec arsv-head-row pour les styles) */
.ctx-card-head { margin-bottom: 14px; }
