:root{
  --ink:#0A0A0A;
  --muted:#6B7280;
  --soft:#9CA3AF;
  --line:#E5E7EB;
  --bg:#FFFFFF;
  --accent:#059669;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
  color:var(--ink);background:var(--bg);
  font-size:16px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:'tnum' 1,'ss01' 1;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 32px}

/* Barre */
.bar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar-in{display:flex;justify-content:space-between;align-items:center;height:60px}
.mark{font-weight:600;font-size:14px;letter-spacing:.08em}
.bar nav{display:flex;gap:28px}
.bar nav a{font-size:13px;color:var(--muted);transition:color .2s}
.bar nav a:hover{color:var(--ink)}

/* Hero */
.hero{padding-top:120px;padding-bottom:96px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:28px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}
h1{font-size:clamp(44px,7vw,80px);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin-bottom:28px}
.role{font-size:clamp(18px,2.2vw,22px);font-weight:400;line-height:1.45;color:var(--ink);max-width:680px;margin-bottom:32px;letter-spacing:-.01em}
.lead{font-size:16px;color:var(--muted);max-width:640px;font-weight:300;line-height:1.75}
.figures{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--line)}
.figures div{padding:24px 24px 0 0}
.figures div+div{padding-left:24px;border-left:1px solid var(--line)}
.figures dt{font-size:32px;font-weight:500;letter-spacing:-.03em;line-height:1}
.figures sup{font-size:.45em;vertical-align:super}
.figures dd{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.4}

/* Blocs */
.block{display:grid;grid-template-columns:200px 1fr;gap:48px;padding-top:88px;padding-bottom:88px;border-bottom:1px solid var(--line)}
.label{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:sticky;top:96px;align-self:start}
h3{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.4}

/* Parcours */
.timeline{list-style:none}
.timeline li{display:grid;grid-template-columns:130px 1fr;gap:32px;padding:28px 0;border-top:1px solid var(--line)}
.timeline li:first-child{border-top:0;padding-top:0}
.when{font-size:13px;color:var(--soft);padding-top:3px;white-space:nowrap}
.org{font-size:14px;color:var(--muted);margin:2px 0 12px}
.timeline p:not(.when):not(.org){font-size:15px;color:#374151;font-weight:300;max-width:620px}
.timeline li.current .when{color:var(--accent)}

/* Expertises */
.grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cell{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cell h3{margin-bottom:8px}
.cell p{font-size:14px;color:var(--muted);font-weight:300}

/* Formation */
.list{list-style:none}
.list li{display:grid;grid-template-columns:130px 1fr;gap:32px;padding:22px 0;border-top:1px solid var(--line)}
.list li:first-child{border-top:0;padding-top:0}
.list strong{display:block;font-weight:500;font-size:16px}
.list em{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:2px}

/* Contact */
.contact{border-bottom:0}
.big{font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:-.025em;line-height:1.25;max-width:620px;margin-bottom:32px}
.links{display:flex;flex-wrap:wrap;gap:12px}
.links a{font-size:14px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;transition:border-color .2s,color .2s}
.links a:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.links a:hover{border-color:var(--ink)}
.links a:first-child:hover{background:#262626}

.foot{display:flex;justify-content:space-between;padding-top:28px;padding-bottom:40px;border-top:1px solid var(--line);font-size:12px;color:var(--soft)}

/* Mobile */
@media (max-width:760px){
  .wrap{padding:0 22px}
  .bar nav{gap:16px}
  .bar nav a:nth-child(3){display:none}
  .hero{padding-top:72px;padding-bottom:64px}
  .figures{grid-template-columns:1fr 1fr}
  .figures div,.figures div+div{padding:20px 16px 20px 0;border-left:0;border-bottom:1px solid var(--line)}
  .block{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:56px}
  .label{position:static}
  .timeline li,.list li{grid-template-columns:1fr;gap:6px}
  .grid{grid-template-columns:1fr}
}

/* Impression */
@media print{
  .bar{display:none}
  .hero{padding-top:0}
  .block{padding:32px 0;break-inside:avoid-page}
  .label{position:static}
  .links a{border:0;padding:0;background:none!important;color:var(--ink)!important}
}
