/* style.css — Synthèses + Page d'accueil */
/* Nécessite common.css chargé avant */

h1,h2,h3,.theme-name { font-family:var(--font-title); }
blockquote { border-left:3px solid var(--accent); padding:16px 24px; margin:24px 0; background:var(--light); font-style:italic; color:var(--accent); font-family:var(--font-title); }

/* ── Synthèses (hero + stats → common.css) ── */
.content { max-width:var(--max-w); margin:0 auto; padding:48px 24px; }
/* section-header remplace h2-num/h2-text → voir common.css */
.content h3 { font-size:1.05em; color:var(--blue); font-weight:700; margin:24px 0 10px; }
.constat { background:var(--light); border-left:4px solid var(--accent); padding:20px 24px; margin:24px 0; border-radius:0 4px 4px 0; }
.constat p { margin-bottom:8px; }
.constat p:last-child { margin-bottom:0; }
.mesures { list-style:none; margin:16px 0; }
.mesures li { padding:10px 0 10px 20px; border-bottom:1px solid #e8e8e8; position:relative; line-height:1.6; }
.mesures li:last-child { border-bottom:none; }
.mesures li::before { content:'→'; position:absolute; left:0; color:var(--accent); font-weight:700; }
.tableau { width:100%; border-collapse:collapse; margin:20px 0; font-size:0.9em; }
.tableau th { background:var(--blue); color:#fff; padding:10px 14px; text-align:left; font-weight:700; font-family:var(--font-title); }
.tableau td { padding:10px 14px; border-bottom:1px solid #e0e0e0; vertical-align:top; }
.tableau tr:nth-child(even) td { background:var(--light); }
.tableau td strong { color:var(--accent); }
@media (max-width:600px) { .tableau { font-size:0.82em; } .tableau th,.tableau td { padding:8px 10px; } }
.messages { background:var(--blue); color:#fff; padding:32px 24px; margin:40px 0 0; }
.messages-inner { max-width:var(--max-w); margin:0 auto; }
.messages h2 { color:#fff; border-bottom-color:rgba(255,255,255,0.3); margin-top:0; }
.message-item { border-left:3px solid var(--accent); padding:12px 16px; margin:16px 0; font-style:italic; font-family:var(--font-title); color:rgba(255,255,255,0.9); font-size:1.02em; line-height:1.6; }

/* ── Hero plus léger pour les synthèses ── */
.hero h1 { font-weight:400; }
.hero-claim { font-size:1.05em; font-style:italic; }

/* ── Stats plus compacts pour les synthèses ── */
.stats { display:block; padding:0 24px; }
.stats-inner { max-width:var(--max-w); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
.stat { padding:24px 20px; }
.stat-num { font-size:1.9em; font-weight:400; }
.stat-label { font-size:0.78em; }

/* ── Page d'accueil (index.html) ──────────── */
.hero-home { padding:80px 24px 60px; text-align:center; }
.hero-home h1 { font-size:2.4em; font-weight:400; letter-spacing:0.02em; margin-bottom:8px; }
.hero-home h1 strong { font-weight:700; }
.hero .subtitle { font-size:1.1em; color:rgba(255,255,255,0.7); font-style:italic; margin-bottom:24px; }
.hero .tagline { font-size:1.3em; color:rgba(255,255,255,0.9); max-width:540px; margin:0 auto; }
section { max-width:var(--max-w); margin:0 auto; padding:48px 24px; }
section + section { padding-top:0; }
section[aria-label="L'histoire"] p { text-align:justify; }
.signature { font-style:italic; color:var(--gray); margin-top:8px; }
.themes { background:var(--light); padding:48px 24px; }
.themes-inner { max-width:var(--max-w); margin:0 auto; }
.themes h2 { font-size:1.5em; color:var(--accent); font-weight:400; margin-bottom:20px; padding-bottom:8px; border-bottom:2px solid var(--accent); }
.theme-list { list-style:none; counter-reset:theme; }
.theme-list li { counter-increment:theme; padding:14px 0; border-bottom:1px solid #e0e0e0; display:grid; grid-template-columns:2em 1fr; gap:0 8px; }
.theme-list li:last-child { border-bottom:none; }
.theme-list li::before { content:counter(theme) "."; font-weight:700; color:var(--accent); font-size:1.05em; text-align:right; }
.theme-name { grid-column:2; font-weight:700; color:var(--blue); }
.theme-sub { grid-column:2; color:var(--gray); font-size:0.85em; margin-top:2px; word-wrap:break-word; }
.theme-accroche { grid-column:2; color:var(--text); font-size:0.82em; margin-top:6px; line-height:1.5; }
.theme-link { grid-column:2; margin-top:8px; }
.theme-link a { color:var(--accent); text-decoration:none; font-weight:700; font-size:0.82em; border-bottom:1px solid var(--accent); padding-bottom:1px; }
.theme-link a:hover { color:var(--blue); border-bottom-color:var(--blue); }
.theme-link:not(:has(a)) { color:var(--gray); font-size:0.82em; font-style:italic; }
.paul { background:var(--blue); color:rgba(255,255,255,0.9); padding:48px 24px; text-align:center; }
.paul-inner { max-width:var(--max-w); margin:0 auto; }
.paul p { font-size:1.15em; line-height:1.8; }
.paul .name { font-weight:700; color:#fff; }
.contact { text-align:center; padding:48px 24px; max-width:var(--max-w); margin:0 auto; }
.contact h2 { border-bottom:none; text-align:center; font-size:1.5em; color:var(--accent); font-weight:400; margin-bottom:20px; padding-bottom:8px; }
.contact a { color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent); }
.contact a:hover { color:var(--blue); }
.contact-info { font-size:1.1em; margin-top:12px; }
.portrait { float:left; width:120px; height:120px; border-radius:50%; object-fit:cover; object-position:center center; margin:4px 24px 16px 0; }
@media (max-width:600px) {
  .hero h1 { font-size:1.8em; }
  .hero .tagline { font-size:1.1em; }
  .portrait { float:none; display:block; margin:0 auto 16px; }
  .theme-list li { grid-template-columns:1.8em 1fr; }
  .theme-name { grid-column:2; }
  .contact-info { display:flex; flex-direction:column; gap:8px; align-items:center; }
  .contact-info .separator { display:none; }
  .stats-inner { grid-template-columns:1fr; gap:16px; }
}
