/* ===== Design tokens (validated design system) ===== */
:root{
  --bg:#F2EBDD;
  --bg-dark:#231C15;
  --line:#DFD4BE;
  --line-dark:#3A3327;
  --ink:#241E16;
  --ink-body:#332B20;
  --soft:#6E6455;
  --meta:#948A76;
  --ink-dark:#EDE4D2;
  --body-dark:#C9BCA2;
  --soft-dark:#AC9F87;
  --meta-dark:#7C7159;
  --accent:#A6642D;
  --accent-dark:#C2803F;
}

*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
a:hover{opacity:.82;}
p{margin:0;}
h1,h2,h3{margin:0;font-family:"Lora", Georgia, serif;font-weight:600;}
img{max-width:100%;}
[hidden]{display:none!important;}

.wrap{max-width:1440px;margin:0 auto;}

/* ===== Nav ===== */
.nav{
  padding:32px 96px 0;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
}
.nav-mark{font-family:"Lora",serif;font-weight:600;font-size:17px;color:var(--ink);}
.nav-links{display:flex;align-items:baseline;gap:28px;}
.nav-current{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;
  color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:4px;
}
.nav-other{font-family:"Source Sans 3",sans-serif;font-weight:500;font-size:13px;color:var(--soft);}
.nav-other.is-minor{font-size:12px;color:var(--meta);}

/* ===== Homepage hero ===== */
.hero-mark{padding:48px 96px 0;display:flex;flex-direction:column;gap:6px;}
.hero-mark .name{font-family:"Lora",serif;font-weight:600;font-size:22px;color:var(--ink);}
.hero-mark .tag{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);}

.hero-lede{padding:56px 96px 0;max-width:700px;}
.hero-lede p{font-size:18px;line-height:1.65;color:var(--ink-body);}

.hero-project{padding:80px 96px 96px;max-width:920px;display:flex;flex-direction:column;}
.hero-project h1{font-size:46px;line-height:1.16;color:var(--ink);}
.hero-project .primary-link{
  font-family:"Lora",serif;font-weight:600;font-size:23px;color:var(--accent);
  border-bottom:2px solid var(--accent);padding-bottom:6px;align-self:flex-start;margin-top:22px;
}
.hero-project .secondary-line{
  font-size:16px;line-height:1.65;color:var(--soft);margin-top:40px;max-width:62ch;
}
.hero-project .secondary-link{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16px;color:var(--ink-body);
  align-self:flex-start;margin-top:10px;
}

/* ===== Parcours (shared trunk) ===== */
.parcours{background:var(--bg-dark);padding:80px 96px;display:flex;flex-direction:column;gap:48px;}
.parcours-head{display:flex;flex-direction:column;gap:10px;}
.parcours-head .eyebrow{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);}
.parcours-head h2{font-size:32px;color:var(--ink-dark);}

.companies{display:grid;grid-template-columns:1fr 64px 1fr;align-items:start;}
.company{display:flex;flex-direction:column;gap:20px;}
.company:first-child{padding-right:8px;}
.company:last-child{padding-left:8px;}
.company-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;}
.company-head .name{font-family:"Lora",serif;font-weight:600;font-size:27px;color:var(--ink-dark);}
.company-head .num{font-family:"Lora",serif;font-weight:600;font-size:56px;line-height:1;color:var(--accent-dark);}
.company-head .num i{display:block;font-style:normal;font-family:"Source Sans 3",sans-serif;font-size:11px;color:var(--soft-dark);margin-top:8px;}
.company p.desc{font-size:15px;line-height:1.68;color:var(--body-dark);}
.company-more{display:flex;gap:24px;flex-wrap:wrap;}
.company-more span{font-family:"Lora",serif;font-weight:600;font-size:18px;color:var(--ink-dark);}
.company-more i{display:block;font-style:normal;font-family:"Source Sans 3",sans-serif;font-size:10px;color:var(--soft-dark);margin-top:4px;}
.company-meta{font-family:"Source Sans 3",sans-serif;font-size:11px;letter-spacing:.03em;color:var(--meta-dark);}
.companies-arrow{display:flex;justify-content:center;padding-top:18px;font-family:"Lora",serif;font-weight:500;font-size:26px;color:var(--meta-dark);}

/* ===== Carrefour ===== */
.carrefour{padding:96px 96px 88px;display:flex;flex-direction:column;gap:44px;}
.carrefour > .eyebrow{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.carrefour-grid{display:grid;grid-template-columns:2fr 1fr;gap:72px;}
.carrefour-main{display:flex;flex-direction:column;gap:20px;}
.carrefour-main h2{font-size:34px;color:var(--ink);}
.carrefour-main p{font-size:16px;line-height:1.68;color:var(--ink-body);max-width:60ch;}
.carrefour-main .link{
  font-family:"Lora",serif;font-weight:600;font-size:20px;color:var(--accent);
  border-bottom:2px solid var(--accent);padding-bottom:5px;align-self:flex-start;margin-top:8px;
}
.carrefour-side{display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--line);padding-left:44px;}
.carrefour-side h3{font-size:22px;color:var(--ink);}
.carrefour-side p{font-size:14px;line-height:1.62;color:var(--soft);}
.carrefour-side .link{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16px;color:var(--ink-body);
  align-self:flex-start;margin-top:6px;
}

/* ===== Footer ===== */
.site-footer{
  padding:40px 96px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
}
.site-footer .copy{font-size:12px;color:var(--meta);}
.site-footer .links{display:flex;gap:24px;}
.site-footer .links a{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12px;color:var(--soft);}

/* ===== Reprendre & diriger : intro ===== */
.page-intro{padding:56px 96px 88px;max-width:880px;}
.page-intro h1{font-size:44px;line-height:1.16;margin-bottom:24px;}
.page-intro p{font-size:17px;line-height:1.68;color:var(--ink-body);max-width:64ch;}

/* Facon de travailler : editorial rows */
.experience{padding:0 96px 96px;display:flex;flex-direction:column;max-width:1248px;}
.experience-row{display:grid;grid-template-columns:380px 1fr;gap:48px;padding:40px 0;border-top:1px solid var(--line);}
.experience-row:last-child{border-bottom:1px solid var(--line);}
.experience-row h3{font-size:24px;line-height:1.25;}
.experience-body{display:flex;flex-direction:column;gap:12px;}
.experience-body p{font-size:16px;line-height:1.65;color:var(--ink-body);max-width:60ch;}
.experience-proof{font-size:13px;line-height:1.55;color:var(--soft);}
.experience-proof b{color:var(--ink);}

/* Profil de cible */
.section-head{padding:88px 96px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;}
.section-head .eyebrow{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.section-head h2{font-size:30px;}

.criteria{padding:40px 96px 96px;display:grid;grid-template-columns:1fr 1fr;gap:40px 64px;}
.criteria-item{display:flex;flex-direction:column;gap:8px;}
.criteria-item.full{grid-column:span 2;padding-top:16px;border-top:1px solid var(--line);}
.criteria-item .label{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);}
.criteria-item p{font-size:15px;line-height:1.6;color:var(--ink-body);}

/* Motivations */
.motivations-intro{padding:88px 96px 0;border-top:1px solid var(--line);max-width:880px;}
.motivations-intro p{font-size:16px;line-height:1.65;color:var(--ink-body);}
.motivations-title{padding:32px 96px 0;}
.motivations-title h2{font-size:28px;}
.motivations{padding:32px 96px 96px;display:flex;flex-direction:column;max-width:820px;}
.motivation-row{display:flex;gap:24px;padding:28px 0;border-top:1px solid var(--line);}
.motivation-row:last-child{border-bottom:1px solid var(--line);}
.motivation-row .num{font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--meta);padding-top:5px;flex-shrink:0;}
.motivation-body{display:flex;flex-direction:column;gap:8px;}
.motivation-body h3{font-size:18px;}
.motivation-body p{font-size:15px;line-height:1.6;color:var(--ink-body);}

/* Financement + Contact (dark closing) */
.closing{background:var(--bg-dark);padding:96px;display:flex;flex-direction:column;gap:40px;}
.closing-block{max-width:780px;display:flex;flex-direction:column;gap:10px;}
.closing-block .eyebrow{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);}
.closing-block p{font-size:16px;line-height:1.65;color:var(--body-dark);}
.closing-cta{
  border-top:1px solid var(--line-dark);padding-top:48px;
  max-width:780px;display:flex;flex-direction:column;gap:16px;
}
.closing-cta h2{font-size:30px;color:var(--ink-dark);}
.closing-cta p{font-size:15px;line-height:1.6;color:var(--body-dark);}
.closing-cta ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;}
.closing-cta li{font-size:15px;line-height:1.6;color:var(--body-dark);}
.closing-cta .statement{
  font-family:"Lora",serif;font-weight:600;font-size:22px;line-height:1.5;color:var(--ink-dark);
  margin-top:16px;max-width:34ch;
}
.closing-cta .contact-email{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16px;color:var(--accent-dark);
  border-bottom:2px solid var(--accent-dark);padding-bottom:4px;align-self:flex-start;margin-top:6px;
}

/* ===== Accompagner un dirigeant ===== */
.pull-sequence{
  font-family:"Lora",serif;font-weight:500;font-size:21px;line-height:1.6;color:var(--accent);
}

.situations{padding:40px 96px 96px;display:flex;flex-direction:column;}
.situation{border-top:1px solid var(--line);}
.situation:last-child{border-bottom:1px solid var(--line);}
.situation-trigger{
  all:unset;cursor:pointer;display:flex;width:100%;box-sizing:border-box;
  align-items:baseline;justify-content:space-between;gap:24px;padding:30px 0;text-align:left;
}
.situation-trigger .left{display:flex;align-items:baseline;gap:24px;max-width:1040px;}
.situation-trigger .num{font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--meta);flex-shrink:0;}
.situation-trigger h3{font-size:27px;line-height:1.28;}
.situation-trigger .sign{font-family:"Lora",serif;font-weight:500;font-size:22px;color:var(--accent);flex-shrink:0;}
.situation-detail{padding:0 0 36px 52px;max-width:800px;display:flex;flex-direction:column;gap:14px;}
.situation-detail p{font-size:15px;line-height:1.62;color:var(--ink-body);}
.situation-detail .conviction{font-family:"Lora",serif;font-weight:600;font-size:17px;line-height:1.5;color:var(--accent);margin-top:4px;}

/* ===== Mobile ===== */
@media (max-width:760px){
  .nav,.hero-mark,.hero-lede,.hero-project,.parcours,.carrefour,.site-footer,
  .page-intro,.experience,.section-head,.criteria,.motivations-intro,.motivations-title,
  .motivations,.closing,.situations{padding-left:24px;padding-right:24px;}

  .companies{grid-template-columns:1fr;gap:32px;}
  .companies-arrow{display:none;}
  .company:first-child,.company:last-child{padding:0;}

  .carrefour-grid{grid-template-columns:1fr;gap:40px;}
  .carrefour-side{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:32px;}

  .experience-row{grid-template-columns:1fr;gap:16px;}

  .criteria{grid-template-columns:1fr;}
  .criteria-item.full{grid-column:span 1;}

  .situation-trigger{flex-wrap:wrap;}
  .situation-detail{padding-left:0;}
}
