@font-face{font-family:'Source Serif 4';font-style:normal;font-display:swap;font-weight:200 900;src:url("../fonts/source-serif-4-latin-opsz-normal.c3548994a9a0.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/ibm-plex-sans-latin-400-normal.0ceb759015a6.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/ibm-plex-sans-latin-500-normal.767677e47513.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/ibm-plex-sans-latin-600-normal.e78568807d10.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-display:swap;font-weight:200 900;src:url("../fonts/source-serif-4-latin-ext-opsz-normal.15d6743dea15.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/ibm-plex-sans-latin-ext-400-normal.0e2c71ca88ef.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/ibm-plex-sans-latin-ext-500-normal.9e50dcc81c7e.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/ibm-plex-sans-latin-ext-600-normal.4267dfb25bc2.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Shared theme tokens; historical layout variables remain supported. */
:root{
  /* palette du logo : teal #387878, teal clair #8FC3C0, ambre #F8B848 */
  --paper:#FFFFFF; --stone:#EEF5F4; --ink:#16302F; --muted:#4B6463; --rule:#D2E0DE;
  --deep:#387878; --teal:#8FC3C0; --link:#2C6464; --amber:#F8B848; --amber-ink:#7A5200;
  --band:#387878; --on-band:#FFFFFF; --on-band-muted:#EEF6F5; --panel:#FFFFFF; --panel-ink:#16302F;
  --cta:#F8B848; --cta-ink:#16302F;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --w:1240px;
  --container-gutter:clamp(16px,4vw,40px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0F1A1A; --stone:#152424; --ink:#E5EFEE; --muted:#9FBAB8; --rule:#263A3A;
  --deep:#6FB0AE; --teal:#4E8C8A; --link:#9FD3D0; --amber:#F8B848; --amber-ink:#F8C870;
  --band:#255656; --on-band:#F3F8F8; --on-band-muted:#CFE3E1; --panel:#152424; --panel-ink:#E5EFEE;
  --cta:#F8B848; --cta-ink:#16302F; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0F1A1A; --stone:#152424; --ink:#E5EFEE; --muted:#9FBAB8; --rule:#263A3A;
  --deep:#6FB0AE; --teal:#4E8C8A; --link:#9FD3D0; --amber:#F8B848; --amber-ink:#F8C870;
  --band:#255656; --on-band:#F3F8F8; --on-band-muted:#CFE3E1; --panel:#152424; --panel-ink:#E5EFEE;
  --cta:#F8B848; --cta-ink:#16302F; color-scheme:dark}

/* ============================================================
   CAPEXIA — Design System
   Base: variables CSS, reset, typographie, éléments partagés
   ============================================================ */

:root {
  --navy: #0d1b2a;
  --navy-mid: #132236;
  --navy-light: #1c3352;
  --accent: #c8a96e;
  --accent-light: #e8c98a;
  --white: #f8f5f0;
  --grey: #8a9bb0;
  --grey-light: #d4dde8;
  --text: #e8ecf0;
  --text-muted: #7a8fa6;
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'IBM Plex Sans', sans-serif;
  background: var(--navy);
  color: var(--text);
  overflow-x: hidden;
}

/* ── Typographie ─────────────────────────────────────────── */
h1 {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--white);
  margin-bottom: 26px;
}
h2 {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 400;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 20px;
}
h3 {
  font-family: 'Source Serif 4', serif;
  font-size: 23px;
  font-weight: 400;
  color: var(--white);
  margin-bottom: 12px;
}
h1 em, h2 em { font-style: italic; color: var(--accent); }

/* ── Shared ──────────────────────────────────────────────── */
section { padding: 100px 60px; }

.section-tag {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 20px;
}
.section-lead {
  font-size: 16px;
  line-height: 1.78;
  color: var(--grey);
  max-width: 560px;
  font-weight: 300;
}

/* ── Boutons ─────────────────────────────────────────────── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: var(--navy);
  padding: 15px 30px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .5px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all .3s;
  font-family: 'IBM Plex Sans', sans-serif;
}
.btn-primary:hover { background: var(--accent-light); transform: translateY(-1px); }

.btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--grey-light);
  font-size: 13px;
  text-decoration: none;
  letter-spacing: .5px;
  border: none;
  border-bottom: 1px solid rgba(212,221,232,.3);
  padding-bottom: 2px;
  transition: all .3s;
  cursor: pointer;
  background: none;
  font-family: 'IBM Plex Sans', sans-serif;
}
.btn-secondary:hover { color: var(--white); border-color: var(--white); }

/* ── Animations scroll ───────────────────────────────────── */
.fade-up { opacity: 0; transform: translateY(28px); transition: all .7s ease; }
.fade-up.visible { opacity: 1; transform: none; }

/* ── Breadcrumb ──────────────────────────────────────────── */
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; }
.breadcrumb-item { font-size: 12px; color: var(--text-muted); text-decoration: none; transition: color .2s; }
.breadcrumb-item:hover { color: var(--accent); }
.breadcrumb-sep { font-size: 10px; color: var(--text-muted); opacity: .4; }
.breadcrumb-item.current { color: var(--grey); }

/* ── Author block ────────────────────────────────────────── */
.author-block {
  display: flex; align-items: center; gap: 20px;
  padding: 26px 0;
  border-top: 1px solid rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin: 46px 0;
}
.author-avatar {
  width: 50px; height: 50px; border-radius: 50%;
  background: linear-gradient(135deg, var(--navy-light), var(--accent));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Source Serif 4', serif;
  font-size: 18px; color: var(--navy); font-weight: 500; flex-shrink: 0;
}
.author-name { font-size: 14px; font-weight: 500; color: var(--white); margin-bottom: 3px; }
.author-title { font-size: 12px; color: var(--text-muted); }

/* Accessible skip link shared by every public page. */
.skip-link{position:absolute;top:8px;left:8px;z-index:1000;transform:translateY(-180%);padding:10px 16px;background:var(--amber);color:var(--cta-ink);font-weight:600}
.skip-link:focus{transform:none}
.lucide-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
