/* Cordo Capital — feuille de style partagée par toutes les pages.
   Une seule palette, sombre, accent doré. Pas de dépendance externe. */

:root{
  --bg:#0B0E14;
  --bg-soft:#10141D;
  --bg-card:#151B26;
  --line:#232B3A;
  --text:#E8E6E1;
  --text-dim:#9AA3B2;
  --text-faint:#6B7484;
  --accent:#D4A24E;
  --accent-soft:#8A6B33;
  --blue:#7A9BC4;
  --max:1080px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:var(--bg);}
.mono{font-family:"SF Mono",SFMono-Regular,ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;}
a{color:var(--accent);}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
@media(max-width:600px){.wrap{padding:0 20px;}}

/* ---------- Nav ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  backdrop-filter:blur(12px);
  background:rgba(11,14,20,.72);
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
nav.scrolled{border-bottom-color:var(--line);}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:16px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{font-weight:700;letter-spacing:.35em;font-size:13px;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:11px;}
.nav-logo svg{width:19px;height:19px;flex:0 0 auto;}
.nav-links{display:flex;gap:28px;}
.nav-links a{
  color:var(--text-dim);text-decoration:none;font-size:12.5px;letter-spacing:.06em;
  transition:color .2s;
}
.nav-links a:hover{color:var(--accent);}
@media(max-width:760px){.nav-links{display:none;}}

/* ---------- Hero ---------- */
header.hero{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
header.hero--short{min-height:0;padding-top:120px;}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.14;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 45%, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 45%, black 30%, transparent 75%);
}
.hero-inner{position:relative;text-align:center;padding:120px 32px 80px;}
.hero-mark{display:flex;justify-content:center;margin-bottom:30px;}
.hero-mark svg{width:62px;height:62px;}
.hero-kicker{
  font-size:12px;letter-spacing:.5em;color:var(--accent);
  text-transform:uppercase;margin-bottom:36px;
}
h1.hero-title{
  font-size:clamp(52px,10vw,120px);
  font-weight:800;letter-spacing:.08em;line-height:1.04;
  margin-bottom:28px;
}
h1.hero-title--small{font-size:clamp(34px,6vw,64px);letter-spacing:.02em;}
.hero-formula{
  font-size:clamp(14px,2.2vw,19px);letter-spacing:.28em;color:var(--text-dim);
  text-transform:uppercase;margin-bottom:56px;
}
.hero-formula b{color:var(--text);font-weight:600;}
.hero-mission{
  max-width:680px;margin:0 auto;
  font-size:clamp(17px,2.4vw,21px);line-height:1.65;color:var(--text);
}
.hero-mission em{color:var(--accent);font-style:normal;}
.hero-scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  color:var(--text-faint);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  text-decoration:none;
}
.hero-scroll:hover{color:var(--accent);}

/* ---------- Sections ---------- */
section{padding:110px 0;border-top:1px solid var(--line);}
@media(max-width:600px){section{padding:80px 0;}}
.sec-label{
  font-size:11.5px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;
}
h2{
  font-size:clamp(28px,4.5vw,42px);font-weight:750;line-height:1.2;
  letter-spacing:-.01em;margin-bottom:28px;max-width:760px;
}
.lede{font-size:18px;color:var(--text-dim);max-width:700px;margin-bottom:14px;}
.lede strong{color:var(--text);font-weight:600;}
.center{text-align:center;}
.center h2,.center .lede{margin-left:auto;margin-right:auto;}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- Cartes génériques ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;}
.cards--2{grid-template-columns:repeat(2,1fr);}
@media(max-width:760px){.cards,.cards--2{grid-template-columns:1fr;}}
.card{
  background:var(--bg-card);border:1px solid var(--line);border-radius:14px;
  padding:30px 26px;position:relative;overflow:hidden;
}
.card::after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--accent),transparent 70%);
}
.card-num{font-size:11px;letter-spacing:.3em;color:var(--accent);margin-bottom:14px;}
.card h3{font-size:18px;font-weight:650;margin-bottom:10px;line-height:1.35;}
.card p{font-size:14.5px;color:var(--text-dim);}
.card p+p{margin-top:10px;}

/* ---------- Formule ---------- */
.formula{
  margin-top:48px;padding:36px 40px;border:1px solid var(--accent-soft);border-radius:14px;
  background:var(--bg-soft);max-width:820px;
}
.formula .big{
  font-size:clamp(20px,3.4vw,30px);font-weight:700;letter-spacing:.04em;
  margin-bottom:14px;color:var(--text);
}
.formula .big span{color:var(--accent);}
.formula p{font-size:15px;color:var(--text-dim);}
.formula p strong{color:var(--text);font-weight:600;}

/* ---------- Étapes ---------- */
.steps{counter-reset:step;display:flex;flex-direction:column;gap:6px;margin-top:40px;max-width:760px;}
.step{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);}
.step:last-child{border-bottom:none;}
.step-num{
  counter-increment:step;
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:600;
}
.step-num::before{content:counter(step,decimal-leading-zero);}
.step h3{font-size:16.5px;font-weight:650;margin-bottom:6px;letter-spacing:.01em;}
.step p{font-size:14.5px;color:var(--text-dim);}

/* ---------- Invariant ---------- */
.invariant{background:var(--bg-soft);text-align:center;}
.invariant blockquote{
  font-size:clamp(24px,4vw,38px);font-weight:700;line-height:1.35;
  max-width:820px;margin:0 auto 30px;letter-spacing:-.01em;
}
.invariant blockquote .a{color:var(--accent);}
.invariant p{max-width:660px;margin:0 auto;color:var(--text-dim);font-size:16px;}
.invariant p+p{margin-top:14px;}

/* ---------- Deux colonnes ---------- */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;margin-top:48px;}
@media(max-width:860px){.split{grid-template-columns:1fr;}}
.split h3{font-size:16px;font-weight:650;margin-bottom:14px;color:var(--text);}
.split p{font-size:15px;color:var(--text-dim);margin-bottom:18px;}
.family{list-style:none;display:flex;flex-direction:column;gap:14px;}
.family li{
  padding:16px 20px;border:1px solid var(--line);border-radius:12px;
  font-size:14px;color:var(--text-dim);background:var(--bg-card);
}
.family b{color:var(--text);font-weight:600;}

/* ---------- Affirmations (fondateur) ---------- */
.claims{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
@media(max-width:760px){.claims{grid-template-columns:1fr;}}
.claim{border-top:2px solid var(--accent-soft);padding-top:20px;}
.claim h3{font-size:15.5px;font-weight:650;margin-bottom:8px;}
.claim p{font-size:14px;color:var(--text-dim);}
.claim p+p{margin-top:8px;}

/* ---------- Voix du fondateur ---------- */
.founder-quote{
  margin-top:64px;padding:36px 40px;
  border-left:2px solid var(--accent);
  background:var(--bg-card);border-radius:0 14px 14px 0;
  max-width:820px;
}
@media(max-width:600px){.founder-quote{padding:26px 22px;}}
.founder-quote p{font-size:16.5px;line-height:1.75;color:var(--text);margin-bottom:14px;}
.founder-quote p:last-of-type{margin-bottom:0;}
.founder-quote .sig{display:block;margin-top:20px;font-size:11.5px;color:var(--text-dim);letter-spacing:.18em;text-transform:uppercase;}

/* ---------- Audiences / appel ---------- */
.audiences{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px;}
@media(max-width:760px){.audiences{grid-template-columns:1fr;}}
.aud{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:30px 26px;}
.aud h3{font-size:15px;font-weight:650;margin-bottom:10px;color:var(--accent);}
.aud p{font-size:14px;color:var(--text-dim);}
.cta-row{text-align:center;margin-top:56px;}
.cta{
  display:inline-block;padding:16px 38px;border:1px solid var(--accent-soft);border-radius:100px;
  color:var(--accent);text-decoration:none;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  transition:background .25s,color .25s;
}
.cta:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);}
.cta-note{margin-top:14px;font-size:12px;color:var(--text-faint);}

/* ---------- Ligne de temps (journal) ---------- */
.timeline{margin-top:56px;position:relative;padding-left:26px;}
.timeline::before{
  content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;
  background:linear-gradient(var(--accent),var(--line));
}
.tl-item{position:relative;padding:0 0 40px 26px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:"";position:absolute;left:-26px;top:7px;width:11px;height:11px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);
}
.tl-date{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.tl-item h3{font-size:16.5px;font-weight:650;margin-bottom:6px;}
.tl-item p{font-size:14.5px;color:var(--text-dim);max-width:560px;}
.tl-item p+p{margin-top:8px;}
.tl-item .tl-rev{font-size:12.5px;font-style:italic;color:var(--text-faint);}
.tl-status{
  display:inline-block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--accent-soft);border-radius:100px;padding:3px 10px;margin-left:12px;
  color:var(--accent);vertical-align:middle;
}
.tl-item.todo::before{border-color:var(--text-faint);}
.tl-item.todo .tl-date{color:var(--text-dim);}
.tl-item.todo .tl-status{color:var(--text-faint);border-color:var(--line);}
@keyframes tl-pulse{
  0%,100%{box-shadow:0 0 5px rgba(212,162,78,.3);}
  50%{box-shadow:0 0 16px rgba(212,162,78,.8);}
}
.tl-item.now::before{
  background:var(--accent);border-color:var(--accent);
  animation:tl-pulse 2.6s ease-in-out infinite;
}
.tl-item.now .tl-status{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600;}
.tl-note{
  position:relative;padding:2px 0 42px 26px;
  font-size:12.5px;font-style:italic;color:var(--text-faint);max-width:520px;line-height:1.7;
}
.tl-note::before{
  content:"";position:absolute;left:-26px;top:8px;width:11px;height:11px;border-radius:50%;
  background:var(--bg);border:2px dashed var(--text-faint);
}

/* ---------- Prose (mentions légales, 404) ---------- */
.prose{max-width:720px;}
.prose h2{font-size:22px;margin:48px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose p,.prose li{font-size:15px;color:var(--text-dim);margin-bottom:12px;}
.prose ul{padding-left:20px;}
.prose strong{color:var(--text);font-weight:600;}

/* ---------- Pied de page ---------- */
footer{border-top:1px solid var(--line);padding:64px 0 56px;text-align:center;}
.foot-logo{font-weight:700;letter-spacing:.35em;font-size:15px;margin-bottom:10px;}
.foot-sub{font-size:12.5px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin-bottom:22px;}
.foot-note{font-size:12px;color:var(--text-faint);max-width:540px;margin:0 auto;line-height:1.7;}
.foot-links{margin-top:22px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;}
.foot-links a{color:var(--text-faint);text-decoration:none;margin:0 10px;}
.foot-links a:hover{color:var(--accent);}
