:root { --paper: #f6f3ec; --paper-card: #efebe1; --ink: #2a2620; --ink-soft: #4a4338; --taupe: #574f44;
  --rule: rgba(42, 38, 32, .12); --rule-strong: rgba(42, 38, 32, .22); --bronze: #5a6450; --oxblood: #6b1f24;
  --serif: 'Spectral', Georgia, 'Times New Roman', serif; --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--paper); color: var(--ink); }
body { font-family: var(--serif); font-size: 18px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.mcp-wrap { max-width: 920px; margin: 0 auto; padding: 0 16px; }
.mcp a { color: inherit; text-decoration-color: var(--rule-strong); text-underline-offset: 3px; }
.mcp a:hover { color: var(--oxblood); text-decoration-color: var(--oxblood); }
.mcp :focus-visible { outline: 2px solid var(--oxblood); outline-offset: 2px; }
.mcp-top { border-bottom: 1px solid var(--rule); }
.mcp-top .mcp-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 64px; }
.mcp-marque { font-size: 17px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
.mcp-lien-en { font: 500 11px/1 var(--sans); letter-spacing: .12em; }
.mcp-eyebrow { font-style: italic; font-size: 14px; color: var(--bronze); display: flex; align-items: center; gap: 12px; margin: 40px 0 14px; }
.mcp-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--bronze); flex: none; }
.mcp h1 { font-weight: 300; font-size: clamp(36px, 7vw, 72px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 22px; }
.mcp h1 em { font-style: italic; color: var(--oxblood); }
.mcp h2 { font-weight: 400; font-size: clamp(24px, 3.4vw, 32px); line-height: 1.2; margin: 56px 0 14px; }
.mcp h3 { font: 500 12px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--taupe); margin: 28px 0 8px; }
.mcp-lede { font-size: clamp(19px, 2.4vw, 22px); line-height: 1.5; color: var(--ink-soft); margin: 0; }
.mcp code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82em; overflow-wrap: anywhere; }
.mcp-url { background: var(--paper-card); border: 1px solid var(--rule); border-radius: 8px; padding: 18px 20px; font-size: 20px; margin: 0 0 12px; }
.mcp pre { background: var(--paper-card); border: 1px solid var(--rule); border-radius: 8px; padding: 16px; overflow-x: auto; max-width: 100%; }
.mcp-table { overflow-x: auto; max-width: 100%; }
.mcp table { border-collapse: collapse; width: 100%; font-size: 16px; }
.mcp th, .mcp td { text-align: left; vertical-align: top; padding: 12px 10px; border-bottom: 1px solid var(--rule); }
.mcp th { font: 500 11px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--taupe); }
.mcp td:first-child { white-space: nowrap; }
.mcp-note { font-size: 15px; color: var(--taupe); }
.mcp-encadre { border-left: 2px solid var(--oxblood); padding-left: 20px; margin-top: 56px; }
.mcp-encadre h2 { margin-top: 0; }
.mcp-pied { border-top: 1px solid var(--rule); margin-top: 72px; padding: 28px 0 40px; font: 400 13px/1.6 var(--sans); color: var(--taupe); }
@media (max-width: 640px) { .mcp td:first-child { white-space: normal; } .mcp th, .mcp td { padding: 10px 6px; } .mcp-url { font-size: 16px; } }
