/* ─── TOKENS ─────────────────────────────────────── */
:root {
  --or:        #C9A84C;
  --or-light:  #E8D5A0;
  --or-dark:   #8B6914;
  --noir:      #0D0D0B;
  --gris-f:    #1C1C1A;
  --gris-m:    #5A5A56;
  --gris-c:    #A8A8A2;
  --ivoire:    #F7F5F0;
  --blanc:     #FDFCFA;
  --b:         rgba(13,13,11,0.10);
  --b-or:      rgba(201,168,76,0.25);
  --ease:      cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ─── RESET ──────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; font-size:16px }
body {
  font-family:'DM Sans',sans-serif;
  background:var(--blanc);
  color:var(--noir);
  font-weight:400;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* ─── NAV ────────────────────────────────────────── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 4rem;
  background:rgba(253,252,250,0.93);
  backdrop-filter:blur(14px);
  border-bottom:0.5px solid var(--b);
  transition:box-shadow 0.3s;
}
nav.scrolled { box-shadow:0 1px 24px rgba(13,13,11,0.06) }
.nav-logo {
  display:flex; align-items:center; gap:0.75rem;
  text-decoration:none;
}
.nav-logo img { height:26px; width:auto }
.nav-logo-text {
  font-family:'Cormorant Garamond',serif;
  font-size:1rem; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--noir);
}
.nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none }
.nav-links a {
  font-size:0.78rem; font-weight:400;
  letter-spacing:0.07em; text-transform:uppercase;
  color:var(--gris-m); text-decoration:none;
  transition:color 0.2s;
}
.nav-links a:hover { color:var(--noir) }
.nav-cta {
  color:var(--or) !important;
  border:0.5px solid var(--b-or);
  padding:0.45rem 1.1rem;
  border-radius:2px;
  transition:background 0.2s, color 0.2s !important;
}
.nav-cta:hover { background:var(--or) !important; color:var(--blanc) !important }

/* ─── HERO ───────────────────────────────────────── */
.hero {
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:9rem 4rem 6rem;
  max-width:1400px;
  margin:0 auto;
  gap:8rem;
}
.hero-left { max-width:560px }
/* No eyebrow. The category claim IS the headline. */
.hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem,5.5vw,5rem);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--noir);
  margin-bottom:2rem;
}
/* Italic is used ONCE, purposefully, not as default style */
.hero-h1 strong {
  font-weight:600;
  display:block;
}
.hero-h1 em {
  font-style:italic;
  font-weight:300;
  color:var(--or-dark);
}
.hero-sub {
  font-size:1rem;
  font-weight:300;
  color:var(--gris-m);
  line-height:1.8;
  max-width:440px;
  margin-bottom:3rem;
  border-left:2px solid var(--or);
  padding-left:1.25rem;
}
.hero-actions { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap }
.btn-primary {
  display:inline-flex; align-items:center; gap:0.5rem;
  background:var(--noir); color:var(--blanc);
  font-size:0.8rem; font-weight:500;
  letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none;
  padding:0.9rem 2rem; border-radius:2px;
  transition:background 0.25s, transform 0.2s;
}
.btn-primary:hover { background:var(--or-dark); transform:translateY(-1px) }
.btn-ghost {
  font-size:0.8rem; font-weight:400;
  color:var(--gris-m); text-decoration:none;
  letter-spacing:0.04em;
  border-bottom:0.5px solid var(--b);
  padding-bottom:2px;
  transition:color 0.2s, border-color 0.2s;
}
.btn-ghost:hover { color:var(--noir); border-color:var(--noir) }

/* Hero right — chiffre unique, pas un grid de 4 stats */
.hero-right {
  display:flex;
  flex-direction:column;
  gap:1px;
  border:0.5px solid var(--b);
  border-radius:3px;
  overflow:hidden;
}
.hero-fact {
  background:var(--blanc);
  padding:2rem 2.25rem;
  border-bottom:0.5px solid var(--b);
  display:grid;
  grid-template-columns:64px 1fr;
  gap:1.5rem;
  align-items:center;
}
.hero-fact:last-child { border-bottom:none }
.hero-fact.dark { background:var(--gris-f) }
.fact-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem; font-weight:300;
  color:var(--or); line-height:1;
}
.hero-fact.dark .fact-num { color:var(--or-light) }
.fact-body { }
.fact-title {
  font-size:0.78rem; font-weight:500;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--noir); margin-bottom:0.2rem;
}
.hero-fact.dark .fact-title { color:var(--blanc) }
.fact-desc {
  font-size:0.8rem; font-weight:300;
  color:var(--gris-m); line-height:1.5;
}
.hero-fact.dark .fact-desc { color:rgba(253,252,250,0.4) }

/* ─── DOCTRINE ───────────────────────────────────── */
.doctrine {
  background:var(--ivoire);
  padding:8rem 4rem;
}
.doctrine-inner {
  max-width:1140px; margin:0 auto;
  display:grid; grid-template-columns:5fr 7fr;
  gap:8rem; align-items:start;
}
/* No section kicker label here — the section speaks for itself */
.doctrine-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,4vw,3.5rem);
  font-weight:300; line-height:1.12;
  color:var(--noir);
}
.doctrine-h2 em { font-style:italic; color:var(--or-dark) }
.doctrine-line {
  width:32px; height:1px;
  background:var(--or);
  margin:2rem 0;
}
.doctrine-aside {
  font-size:0.82rem; font-weight:300;
  color:var(--gris-m); letter-spacing:0.03em;
  line-height:1.7;
}
.doctrine-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-style:italic;
  font-weight:300; line-height:1.55;
  color:var(--gris-f);
  border-left:2px solid var(--or);
  padding-left:1.5rem;
  margin-bottom:2.5rem;
}
.doctrine-body {
  font-size:0.95rem; font-weight:300;
  color:var(--gris-m); line-height:1.85;
}
.doctrine-body p + p { margin-top:1.25rem }

/* ─── FONDATEUR ──────────────────────────────────── */
.fondateur {
  background:var(--blanc);
  padding:8rem 4rem;
}
.fondateur-inner {
  max-width:1140px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:6rem; align-items:center;
}
.fondateur-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:400; line-height:1.15;
  color:var(--noir); margin-bottom:1.75rem;
}
.fondateur-h2 em { font-style:italic; color:var(--or-dark) }
.fondateur-body {
  font-size:0.95rem; font-weight:300;
  color:var(--gris-m); line-height:1.85;
}
.fondateur-body p + p { margin-top:1.1rem }

/* Facts list — différencié visuellement de doctrine */
.fondateur-facts { display:flex; flex-direction:column }
.f-fact {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:1rem; align-items:baseline;
  padding:1.1rem 0;
  border-bottom:0.5px solid var(--b);
}
.f-fact:first-child { border-top:0.5px solid var(--b) }
.f-label {
  font-size:0.68rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gris-c);
}
.f-value {
  font-size:0.88rem; font-weight:300;
  color:var(--gris-m); line-height:1.5;
}
.f-value strong { font-weight:500; color:var(--noir) }

/* ─── BAREL DS / ÉCOSYSTÈME ──────────────────────── */
.ecosystem {
  background:var(--noir);
  padding:8rem 4rem;
}
.ecosystem-inner {
  max-width:1140px; margin:0 auto;
}
.ecosystem-top {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6rem; margin-bottom:5rem; align-items:end;
}
.ecosystem-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,3.5vw,3.2rem);
  font-weight:300; line-height:1.15;
  color:var(--blanc);
}
.ecosystem-h2 em { font-style:italic; color:var(--or-light) }
.ecosystem-intro {
  font-size:0.92rem; font-weight:300;
  color:rgba(253,252,250,0.45); line-height:1.85;
}
.ecosystem-intro strong {
  color:rgba(253,252,250,0.75); font-weight:400;
}

/* Cards horizontales — socle + gamme */
.ecosystem-cards {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1px; background:rgba(255,255,255,0.06);
  border:0.5px solid rgba(255,255,255,0.07);
  border-radius:3px; overflow:hidden;
}
.eco-card {
  background:var(--gris-f);
  padding:2.5rem 2.25rem;
}
.eco-card-tag {
  font-size:0.65rem; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--or); margin-bottom:1.25rem;
  display:block;
}
.eco-card-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem; font-weight:400;
  color:var(--blanc); line-height:1.2;
  margin-bottom:1rem;
}
.eco-card-body {
  font-size:0.85rem; font-weight:300;
  color:rgba(253,252,250,0.4); line-height:1.75;
}
.eco-card.accent { background:rgba(201,168,76,0.08) }
.eco-card.accent .eco-card-tag { color:var(--or-light) }
.eco-card.accent .eco-card-body { color:rgba(253,252,250,0.5) }

.ecosystem-cta {
  margin-top:3.5rem; text-align:center;
}
.btn-outline-or {
  display:inline-flex; align-items:center; gap:0.6rem;
  border:0.5px solid var(--b-or);
  color:var(--or); background:transparent;
  font-size:0.78rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none;
  padding:0.85rem 2rem; border-radius:2px;
  transition:background 0.25s, color 0.25s;
}
.btn-outline-or:hover { background:var(--or); color:var(--noir) }

/* ─── CONTACT ────────────────────────────────────── */
.contact {
  background:var(--blanc);
  padding:8rem 4rem;
}
.contact-inner {
  max-width:1140px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:8rem; align-items:start;
}
.contact-left {}
.contact-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:300; line-height:1.15;
  color:var(--noir); margin-bottom:1.5rem;
}
.contact-h2 em { font-style:italic; color:var(--or-dark) }
.contact-body {
  font-size:0.92rem; font-weight:300;
  color:var(--gris-m); line-height:1.8;
  margin-bottom:2.5rem;
}
.btn-calendly {
  display:inline-flex; align-items:center; gap:0.6rem;
  background:var(--or); color:var(--blanc);
  font-size:0.8rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none;
  padding:0.9rem 2rem; border-radius:2px;
  transition:background 0.25s, transform 0.2s;
  margin-bottom:1.5rem;
  display:block; width:fit-content;
}
.btn-calendly:hover { background:var(--or-dark); transform:translateY(-1px) }
.contact-alt {
  font-size:0.82rem; font-weight:300; color:var(--gris-m);
}
.contact-alt a {
  color:var(--noir); text-decoration:none;
  border-bottom:0.5px solid var(--b); padding-bottom:1px;
  transition:border-color 0.2s;
}
.contact-alt a:hover { border-color:var(--or) }

/* Form — côté droit */
.contact-form { display:flex; flex-direction:column; gap:1rem }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.form-group { display:flex; flex-direction:column; gap:0.35rem }
.form-group label {
  font-size:0.68rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gris-c);
}
.form-group input,
.form-group textarea {
  font-family:'DM Sans',sans-serif;
  font-size:0.88rem; font-weight:300;
  color:var(--noir); background:var(--blanc);
  border:0.5px solid var(--b); border-radius:2px;
  padding:0.75rem 1rem;
  transition:border-color 0.2s;
  outline:none; resize:none; width:100%;
}
.form-group input:focus,
.form-group textarea:focus { border-color:var(--or) }
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--gris-c) }
.btn-submit {
  background:var(--noir); color:var(--blanc);
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:0.9rem 2rem; border-radius:2px;
  border:none; cursor:pointer; width:100%;
  transition:background 0.25s;
}
.btn-submit:hover { background:var(--or-dark) }
.btn-submit:disabled { opacity:0.45; cursor:not-allowed }
.form-status {
  font-size:0.82rem; font-weight:300;
  padding:0.75rem 1rem; border-radius:2px; display:none;
}
.form-status.success {
  display:block; background:#F0F7F0;
  color:#2D6A2D; border:0.5px solid rgba(45,106,45,0.2);
}
.form-status.error {
  display:block; background:#FDF0F0;
  color:#8B2020; border:0.5px solid rgba(139,32,32,0.2);
}

/* ─── FOOTER ─────────────────────────────────────── */
footer {
  background:var(--gris-f);
  padding:2.5rem 4rem;
  border-top:0.5px solid rgba(255,255,255,0.05);
}
.footer-inner {
  max-width:1140px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
}
.footer-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:0.88rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(253,252,250,0.3);
}
.footer-links { display:flex; gap:2rem; list-style:none }
.footer-links a {
  font-size:0.75rem; font-weight:300;
  color:rgba(253,252,250,0.3); text-decoration:none;
  letter-spacing:0.03em; transition:color 0.2s;
}
.footer-links a:hover { color:rgba(253,252,250,0.65) }
.footer-copy {
  font-size:0.7rem; color:rgba(253,252,250,0.18);
  letter-spacing:0.03em;
}

/* ─── REVEAL ─────────────────────────────────────── */
.reveal {
  opacity:0; transform:translateY(20px);
  transition:opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.reveal.visible { opacity:1; transform:translateY(0) }
.reveal-delay-1 { transition-delay:0.1s }
.reveal-delay-2 { transition-delay:0.2s }

/* ─── RESPONSIVE ─────────────────────────────────── */
@media(max-width:1024px) {
  nav { padding:1.25rem 2rem }
  .nav-links { display:none }
  .hero {
    grid-template-columns:1fr;
    padding:8rem 2rem 5rem;
    gap:3rem; min-height:auto;
  }
  .hero-right { display:none }
  .doctrine,.fondateur,.ecosystem,.contact { padding:5rem 2rem }
  .doctrine-inner,.fondateur-inner,.ecosystem-top,.contact-inner {
    grid-template-columns:1fr; gap:3rem;
  }
  .ecosystem-cards { grid-template-columns:1fr }
  .form-row { grid-template-columns:1fr }
  footer { padding:2rem }
  .footer-inner { flex-direction:column; gap:1.25rem; text-align:center }
  .footer-links { flex-wrap:wrap; justify-content:center }
}

/* Image masquée par le repli de assets/js/site.js */
.masque { display:none }
