*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.75;color:#333;background:#f0f2f5}
.outer-ecba46{max-width:860px;margin:0 auto;padding:0 20px}
.frame-e80c28{background:#fff;padding:28px 0;margin-bottom:32px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.frame-e80c28 h1{font-size:22px;font-weight:700;margin-bottom:2px}
.frame-e80c28 p{font-size:14px;color:#666}
.frame-e80c28 a{color:#333;text-decoration:none;font-size:18px;font-weight:700}
.footer-65ad6e{display:flex;flex-direction:column;gap:20px}
.module-ce7ea0{background:#fff;border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,.06);padding:24px 28px;transition:transform .15s,box-shadow .15s}
.module-ce7ea0:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}
.module-ce7ea0 h2{font-size:19px;margin-bottom:6px}
.module-ce7ea0 h2 a{color:#1a1a1a;text-decoration:none}
.module-ce7ea0 .main-edc270{font-size:12px;color:#999;margin-bottom:8px}
.module-ce7ea0 p{font-size:14px;color:#555;margin-bottom:12px}
.block-810633{display:inline-block;background:#5865f2;color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-decoration:none}
.block-810633:hover{background:#4752c4}
.footer-b598b1{padding-bottom:60px}
.footer-b598b1 h1{font-size:30px;font-weight:700;margin-bottom:8px}
.footer-b598b1 time{font-size:12px;color:#999;display:block;margin-bottom:24px}
.footer-b598b1 h2{font-size:22px;margin:32px 0 12px}
.footer-b598b1 h3{font-size:18px;margin:24px 0 8px}
.footer-b598b1 p{margin-bottom:16px}
.footer-b598b1 ul,.footer-b598b1 ol{margin:0 0 16px 24px}
.footer-b598b1 a{color:#5865f2}
.footer-b598b1 img{max-width:100%;height:auto;border-radius:12px;margin:16px 0}
.main-b1532e{padding:24px 0;margin-top:40px;text-align:center;font-size:12px;color:#999}
.main-b1532e a{color:#999;text-decoration:none}
.frame-7024ed{background:#e8eaf0;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:13px;color:#888;font-style:italic}
.frame-9897b2{background:#fff8e1;border-radius:8px;padding:12px 16px;margin-top:24px;font-size:12px;color:#9e8600}
.section-a555b9{display:inline-block;background:#f0f2f7;border-radius:12px;padding:4px 12px;margin:-18px 0 24px;font-size:12px;color:#777}
.page-4ae3bf{text-align:center;margin:0 0 24px}
.widget-6b2245{max-width:100%;height:auto;border-radius:12px}
.widget-7f27de{text-align:center;margin:24px 0}
.section-f5fc34{max-width:100%;height:auto;border-radius:12px}
.header-50e4fe{margin-top:32px;padding-top:20px;border-top:1px solid #e0e0e0}
.header-50e4fe h3{font-size:16px;font-weight:700;margin-bottom:12px}
.crd-related-list{display:flex;flex-direction:column;gap:8px}
.crd-related-link{display:block;background:#fff;border-radius:8px;padding:10px 14px;color:#333;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.06);font-size:14px}
.crd-related-link:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}
/* === Theme === */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;500;600;700&family=Playfair+Display:wght@400;700&display=swap');
body{font-family:'Source Sans Pro',sans-serif;color:#1A2421;background:#FDFBF7}
.frame-e80c28{background:#2D4739;color:#fff}
.frame-e80c28 h1{font-family:'Playfair Display',serif;color:#fff}
.frame-e80c28 p{color:rgba(255,255,255,.75)}
.frame-e80c28 a{color:#fff;text-decoration:none}
.card h2{font-family:'Playfair Display',serif}
.card h2 a{color:#2D4739}
.card h2 a:hover{color:#D97706}
.read-more{color:#D97706}
.article-content h1{font-family:'Playfair Display',serif}
.article-content h2{font-family:'Playfair Display',serif}
.article-content a{color:#D97706}
.article-content img{border-radius:8px}
.affiliate-disclosure{border-radius:8px}
.ymyl-disclaimer{border-radius:8px}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,600;0,700;1,400&family=Source+Sans+3:wght@400;500;600;700&display=swap');

/* ─── Design tokens ─────────────────────────────────── */
:root {
  --color-bg:           #F5F3EE;
  --color-surface:      #FFFFFF;
  --color-primary:      #2D4D8A;
  --color-primary-dark: #1E3566;
  --color-accent:       #B86023;
  --color-accent-light: #D98A52;
  --color-text:         #1C1C2C;
  --color-text-muted:   #5A5A72;
  --color-heading:      #182845;
  --color-border:       #DDD9D0;
  --color-border-light: #EDEAE3;
  --color-link:         #2D4D8A;
  --color-link-hover:   #B86023;
  --color-tag-bg:       #EBF0FA;
  --color-tag-text:     #2D4D8A;
  --font-heading: 'Bitter', Georgia, serif;
  --font-body:    'Source Sans 3', system-ui, sans-serif;
  --fz-base: 17px;
  --fz-sm:   15px;
  --fz-lg:   19px;
  --fz-h1:   2.05rem;
  --fz-h2:   1.55rem;
  --fz-h3:   1.2rem;
  --lh-base:    1.74;
  --lh-heading: 1.22;
  --radius:    10px;
  --radius-sm:  6px;
  --max-content: 68ch;
  --max-layout:  1080px;
  --sp3: 16px;
  --sp4: 24px;
  --sp5: 40px;
  --sp6: 64px;
}

/* ─── Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

:root html { font-size: var(--fz-base); -webkit-text-size-adjust: 100%; }

:root body {
  font-family: var(--font-body);
  font-size:   var(--fz-base);
  line-height: var(--lh-base);
  color:       var(--color-text);
  background:  var(--color-bg);
  margin: 0;
  padding: 0;
}

/* ─── Headings ───────────────────────────────────────── */
:root h1, :root h2, :root h3,
:root h4, :root h5, :root h6 {
  font-family:   var(--font-heading);
  color:         var(--color-heading);
  line-height:   var(--lh-heading);
  font-weight:   700;
  margin-top:    1.6em;
  margin-bottom: 0.5em;
}

:root h1 { font-size: var(--fz-h1); }
:root h2 { font-size: var(--fz-h2); }
:root h3 { font-size: var(--fz-h3); font-weight: 600; }

/* ─── Prose ──────────────────────────────────────────── */
:root p {
  margin-top: 0;
  margin-bottom: 1.15em;
  max-width: var(--max-content);
}

:root a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

:root a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}

:root ul, :root ol {
  padding-left: 1.4em;
  margin-bottom: 1.15em;
  max-width: var(--max-content);
}

:root ul { list-style-type: disc; }
:root ol { list-style-type: decimal; }
:root li { margin-bottom: 0.4em; line-height: var(--lh-base); }

:root blockquote {
  border-left: 3px solid var(--color-accent);
  margin: var(--sp4) 0;
  padding: var(--sp3) var(--sp4);
  background: var(--color-surface);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  max-width: var(--max-content);
}

:root blockquote p {
  color: var(--color-text);
  font-style: italic;
  font-size: var(--fz-lg);
  margin-bottom: 0;
}

:root blockquote cite {
  display: block;
  margin-top: 8px;
  font-size: var(--fz-sm);
  color: var(--color-text-muted);
  font-style: normal;
}

/* ─── Layout shell ───────────────────────────────────── */
:root .site-wrapper {
  max-width: var(--max-layout);
  margin: 0 auto;
  padding: 0 var(--sp4);
}

/* ─── Site header ────────────────────────────────────── */
:root .frame-e80c28 {
  background: var(--color-primary);
  color:      #FFFFFF;
  padding:    var(--sp5) var(--sp4);
}

:root .frame-e80c28 h1 {
  font-family: var(--font-heading);
  font-size:   var(--fz-h1);
  color:       #FFFFFF;
  margin-top:  0;
}

:root .frame-e80c28 p {
  color:     rgba(255, 255, 255, 0.78);
  font-size: var(--fz-lg);
  max-width: var(--max-content);
}

:root .frame-e80c28 a { color: #FFFFFF; text-decoration: none; }
:root .frame-e80c28 a:hover { color: var(--color-accent-light); }

/* ─── Card grid ──────────────────────────────────────── */
:root .card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:     var(--sp4);
  padding: var(--sp5) 0;
}

:root .card {
  background:    var(--color-surface);
  border:        1px solid var(--color-border);
  border-radius: var(--radius);
  overflow:      hidden;
  display:       flex;
  flex-direction: column;
  transition: box-shadow 0.18s ease, border-color 0.18s ease;
}

:root .card:hover { box-shadow: 0 4px 18px rgba(45, 77, 138, 0.1); }

:root .card-body {
  padding: var(--sp4);
  flex:    1;
  display: flex;
  flex-direction: column;
}

:root .card h2 {
  font-family:   var(--font-heading);
  font-size:     var(--fz-h2);
  margin-top:    0;
  margin-bottom: 8px;
}

:root .card h2 a { color: var(--color-heading); text-decoration: none; }
:root .card h2 a:hover { color: var(--color-link-hover); }

:root .card p {
  color:         var(--color-text-muted);
  flex:          1;
  margin-bottom: var(--sp3);
}

:root .card img {
  width:      100%;
  height:     200px;
  object-fit: cover;
  display:    block;
}

:root .read-more {
  display:     inline-block;
  color:       var(--color-accent);
  font-weight: 600;
  font-size:   var(--fz-sm);
  text-decoration: none;
  letter-spacing: 0.01em;
}

:root .read-more:hover { color: var(--color-primary); }

/* ─── Article ────────────────────────────────────────── */
:root .article-content {
  max-width: var(--max-content);
  margin:    0 auto;
  padding:   var(--sp5) var(--sp4);
}

:root .article-content h1 { font-size: var(--fz-h1); margin-top: 0; }

:root .article-content h2 {
  font-size:   var(--fz-h2);
  padding-top: 8px;
  border-top:  1px solid var(--color-border-light);
}

:root .article-content h3 { font-size: var(--fz-h3); color: var(--color-primary); }

:root .article-content a { color: var(--color-accent); }
:root .article-content a:hover { color: var(--color-primary); }

:root .article-content img {
  max-width:     100%;
  height:        auto;
  border-radius: var(--radius);
  display:       block;
  margin:        var(--sp4) 0;
}

/* ─── Tags ───────────────────────────────────────────── */
:root .tag {
  display:       inline-block;
  background:    var(--color-tag-bg);
  color:         var(--color-tag-text);
  font-size:     var(--fz-sm);
  font-weight:   600;
  padding:       2px 8px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  letter-spacing: 0.02em;
}

:root .tag:hover { background: var(--color-primary); color: #FFFFFF; }

/* ─── Footer ─────────────────────────────────────────── */
:root footer {
  border-top: 2px solid var(--color-border);
  margin-top: var(--sp6);
  padding:    var(--sp5) var(--sp4);
  font-size:  var(--fz-sm);
  color:      var(--color-text-muted);
  text-align: center;
}

:root footer a { color: var(--color-text-muted); }
:root footer a:hover { color: var(--color-accent); }

/* ─── Responsive ─────────────────────────────────────── */
@media (max-width: 600px) {
  :root { --fz-base: 16px; --fz-h1: 1.75rem; --fz-h2: 1.4rem; }

  :root .card-grid { grid-template-columns: 1fr; gap: var(--sp3); }
  :root .frame-e80c28 { padding: var(--sp4) var(--sp3); }
  :root .article-content { padding: var(--sp4) var(--sp3); }
}

/* === R2 fixes (2026-06-20T02:40:27.031403+00:00) === */

/* Fix 1: Header — bleu-ardoise désaturé, moins institutionnel */
:root .frame-e80c28 {
  background: #4A5F8A;
}

/* Fix 2: H2 — espace généreux pour repérer les sections d'un coup d'œil */
:root .bld-content h2,
:root article h2,
:root .article-content h2 {
  margin-top:    2.2em;
  margin-bottom: 0.4em;
}

/* Fix 3: Disclaimer fin d'article — discret, ne brise pas le ton personnel */
:root .frame-9897b2 {
  font-size:   0.82em;
  color:       #6B7280;
  border:      none;
  background:  transparent;
  border-top:  1px solid #E5E7EB;
  padding-top: 1rem;
  margin-top:  2rem;
}

/* Fix 4: Interligne paragraphes — lecture longue moins laborieuse */
:root article p,
:root .bld-content p,
:root .article-content p {
  line-height: 1.75;
}

/* Fix 5: Disclosure affilié en haut d'article — présent sans couper l'entrée en matière */
:root .frame-7024ed {
  font-size:     0.8em;
  color:         #9CA3AF;
  font-style:    normal;
  margin-bottom: 1.5rem;
}

/* Fix 6: Date sur les cartes — en retrait visuel, le titre reste au premier plan */
:root .main-edc270 {
  font-size:      0.78em;
  color:          #9CA3AF;
  letter-spacing: 0.02em;
}

/* === R3 fixes (2026-06-20T03:20:20.204052+00:00) === */

/* Fix R3-1: Header — cibler aussi l'élément réel (frame-e80c28) pas seulement .frame-e80c28 */
:root header,
:root .frame-e80c28 {
  background-color: #4A5F8A;
  color:            #FFFFFF;
  padding:          var(--sp5) var(--sp4);
}

:root header h1,
:root .frame-e80c28 h1 {
  color:      #FFFFFF;
  margin-top: 0;
}

:root header p,
:root .frame-e80c28 p {
  color:       rgba(255, 255, 255, 0.78);
  font-size:   var(--fz-lg);
  font-weight: 400;
}

:root header a,
:root .frame-e80c28 a {
  color:           #FFFFFF;
  text-decoration: none;
}

:root header a:hover,
:root .frame-e80c28 a:hover {
  color: var(--color-accent-light);
}

/* Fix R3-2: Blocs affiliés inline — fondre dans l'ambiance beige, pas une bannière pub */
:root .inline-card,
:root .crd-affiliate {
  background:    #F0EDE8;
  border:        1px solid #DDD9D0;
  border-radius: 10px;
  padding:       16px;
}

/* Fix R3-3: Articles connexes — relief pour inviter à lire la suite */
:root .crd-related-list,
:root .header-50e4fe {
  border-top: 1px solid #DDD9D0;
  padding-top: 16px;
  margin-top:  32px;
}

:root .crd-related-list a,
:root .header-50e4fe a {
  display:         block;
  padding:         4px 0;
  color:           #2D4D8A;
  font-weight:     600;
  text-decoration: none;
}

:root .crd-related-list a:hover,
:root .header-50e4fe a:hover {
  color:           var(--color-accent);
  text-decoration: underline;
}

/* Fix R3-4: H2 — bleu légèrement réchauffé, moins institutionnel */
:root h2 {
  color: #1E2D4A;
}

:root article h2,
:root .article-content h2,
:root .bld-content h2 {
  color: #1E2D4A;
}

/* === R4 fixes (2026-06-20T04:00:19.592279+00:00) === */

/* Fix R4-1: Header — gris-bleu foncé neutre + trait accent terracotta, lit 'carnet sérieux' pas 'portail RH' */
:root header,
:root .frame-e80c28 {
  background-color: #2E3C4E;
  border-bottom:    3px solid var(--color-accent);
}

/* Fix R4-2: H2 — quasi-noir chaud comme le corps de texte, 'notes personnelles' pas 'slides de formation' */
:root h2,
:root article h2,
:root .article-content h2,
:root .bld-content h2 {
  color: #1C1C2C;
}

/* Fix R4-3: Images articles — léger recul sur les côtés pour le statut d'illustration, pas plein-écran */
:root .widget-7f27de img,
:root .section-f5fc34 {
  max-width:    82%;
  display:      block;
  margin-left:  auto;
  margin-right: auto;
}

/* Fix R4-4: Liens articles connexes — terracotta accent cohérent avec palette warm, 'recommandation Julien' */
:root .crd-related-list a,
:root .header-50e4fe a {
  color:         var(--color-accent);
  font-weight:   600;
  padding:       6px 0;
  border-bottom: 1px dotted var(--color-border);
}
