/* ─── BAX Advisory · page d'accueil (refonte du 3 octobre 2026) ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; scroll-padding-top: 84px; }
:root {
  --noir: #0D0908;
  --cuivre: #C0621B;
  --cuivre-clair: #D4834E;
  --cuivre-fonce: #9A4A12;
  --blanc: #FFFFFF;
  --ivoire: #F7F5F3;
  --gris-texte: #4A4744;
  --gris-doux: #6B6560;
  --gris-bordure: #E2DDD9;
}
body {
  font-family: 'Carlito', Calibri, sans-serif;
  color: var(--gris-texte); background: var(--blanc);
  line-height: 1.65; -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
em { font-style: italic; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.sec { padding: 112px 0 120px; }
.bg-noir { background: var(--noir); }
.bg-ivoire { background: var(--ivoire); }
.bg-blanc { background: var(--blanc); }

/* Libellés de section */
.label { font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cuivre-fonce); font-weight: 700; }
.bg-noir .label { color: var(--cuivre-clair); }
.rule { width: 48px; height: 2px; background: var(--cuivre); margin: 16px 0 24px; }
.h2 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); line-height: 1.08; font-weight: 700; color: var(--noir); }
.h2 em { color: var(--cuivre-fonce); }
.bg-noir .h2 { color: var(--blanc); }
.bg-noir .h2 em { color: var(--cuivre-clair); }
.lead { font-size: 17px; line-height: 1.6; color: var(--gris-texte); }
.head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.head-row .lead { max-width: 440px; }

/* Boutons et liens */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-height: 56px; padding: 0 30px; background: var(--cuivre); color: var(--blanc);
  text-decoration: none; font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  border: none; cursor: pointer; font-family: inherit; transition: background 0.2s, transform 0.15s;
}
.btn:hover { background: var(--cuivre-clair); transform: translateY(-1px); }
.btn-primary { display: inline-flex; align-items: center; justify-content: center; background: var(--cuivre); color: var(--blanc); border: none; cursor: pointer; font-family: inherit; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.link {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; align-self: flex-start;
  color: var(--noir); text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  border-bottom: 2px solid var(--cuivre);
}
.link:hover { color: var(--cuivre-fonce); }
.bg-noir .link { color: var(--blanc); }
.bg-noir .link:hover { color: var(--cuivre-clair); }

/* ─── En-tête du site ─── */
.site-head { position: sticky; top: 0; z-index: 50; background: var(--noir); border-bottom: 1px solid rgba(255,255,255,0.08); }
.site-head .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.site-logo img { height: 34px; width: auto; }
.site-nav { display: flex; align-items: center; gap: 26px; }
.site-nav a { color: rgba(255,255,255,0.8); text-decoration: none; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; }
.site-nav a:hover { color: var(--cuivre-clair); }
.head-right { display: flex; align-items: center; gap: 18px; }
.head-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--cuivre); color: var(--blanc); text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.head-cta:hover { background: var(--cuivre); }
.lang { display: flex; gap: 2px; }
.lang-btn { background: none; border: none; color: rgba(255,255,255,0.55); font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; cursor: pointer; min-height: 44px; min-width: 36px; }
.lang-btn.active { color: var(--cuivre-clair); }
.nav-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,0.3); width: 44px; height: 44px; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.nav-toggle span { display: block; width: 20px; height: 2px; background: var(--blanc); }

/* ─── Hero ─── */
.hero {
  position: relative; overflow: hidden; border-bottom: 1px solid rgba(192,98,27,0.35);
  background-color: var(--noir);
  background-image:
    linear-gradient(90deg, rgba(13,9,8,0.97) 0%, rgba(13,9,8,0.9) 34%, rgba(13,9,8,0.35) 62%, rgba(13,9,8,0.05) 100%),
    linear-gradient(0deg, rgba(13,9,8,0.85) 0%, rgba(13,9,8,0) 30%),
    url("hero-scene.jpg");
  background-size: cover; background-position: 72% center; background-repeat: no-repeat;
}
.hero .wrap { padding-top: 136px; padding-bottom: 168px; min-height: 680px; display: flex; flex-direction: column; justify-content: center; }
.hero-text { max-width: 640px; display: flex; flex-direction: column; }
.hero-tag { font-size: 14px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--cuivre-clair); font-weight: 700; margin-bottom: 28px; }
.hero h1 { font-size: clamp(3.2rem, 7.4vw, 6.4rem); line-height: 0.98; font-weight: 700; color: var(--blanc); letter-spacing: -0.015em; }
.hero h1 em { color: var(--cuivre-clair); }
.hero-rule { width: 64px; height: 2px; background: var(--cuivre); margin: 40px 0 32px; }
.hero-sub { max-width: 600px; font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.5; color: rgba(255,255,255,0.94); }
.hero-cta { margin-top: 48px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.hero-cta .btn { min-height: 60px; padding: 0 34px; font-size: 16px; }
.hero-note { font-size: 14px; color: rgba(255,255,255,0.78); letter-spacing: 0.02em; }
.hero-sign { position: absolute; right: 48px; bottom: 40px; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; text-shadow: 0 2px 18px rgba(13,9,8,0.75); }
.hero-sign .bar { width: 40px; height: 2px; background: var(--cuivre); margin-bottom: 14px; }
.hero-sign p { font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.15; font-weight: 700; color: var(--blanc); }
.hero-sign p + p { color: var(--cuivre-clair); }

/* ─── 01 Situations ─── */
.sit-title { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.15; max-width: 760px; }
.sit-title .big { font-size: clamp(4.5rem, 8vw, 7rem); line-height: 0.85; color: var(--cuivre); }
.swipe { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gris-doux); }
.cards { margin-top: 48px; display: flex; gap: 20px; overflow-x: auto; padding-bottom: 20px; scroll-snap-type: x mandatory; }
.cards::-webkit-scrollbar { height: 6px; }
.cards::-webkit-scrollbar-thumb { background: #C9BFB6; border-radius: 3px; }
.card-sit { flex: 0 0 320px; min-height: 280px; background: var(--blanc); border: 1px solid var(--gris-bordure); padding: 36px 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; scroll-snap-align: start; }
.card-sit .num { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; color: var(--cuivre-fonce); }
.card-sit blockquote { margin-top: 18px; font-size: 22px; line-height: 1.35; font-weight: 700; color: var(--noir); }
.card-sit figcaption { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gris-doux); }
.card-end { flex: 0 0 320px; min-height: 280px; background: var(--noir); padding: 36px 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; scroll-snap-align: start; }
.card-end p { font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--blanc); }
.card-end p span { color: var(--cuivre-clair); }
.card-end .btn { min-height: 52px; font-size: 14px; padding: 0 20px; }

/* ─── 02 Insight ─── */
.ins-title { max-width: 900px; font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
.three { margin-top: 72px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; }
.pt { display: flex; flex-direction: column; gap: 14px; border-top: 2px solid var(--noir); padding-top: 28px; }
.pt .num { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; color: var(--cuivre-fonce); }
.pt h3 { font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--noir); }
.pt p { font-size: 17px; line-height: 1.65; }
.band { margin-top: 104px; background: var(--noir); }
.band .wrap { padding-top: 72px; padding-bottom: 80px; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; }
.band p { max-width: 760px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.4; font-weight: 700; color: var(--blanc); }
.band p span { color: var(--cuivre-clair); }
.band .link { color: var(--blanc); }
#insight.sec { padding-bottom: 0; }

/* ─── 03 Domaines ─── */
.dom-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dom { background: var(--blanc); border: 1px solid var(--gris-bordure); padding: 36px 32px; display: flex; flex-direction: column; gap: 16px; }
.dom .num { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; color: var(--cuivre-fonce); }
.dom h3 { font-size: 26px; line-height: 1.2; font-weight: 700; color: var(--noir); }
.dom p { font-size: 16px; line-height: 1.6; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.tags span { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gris-doux); border: 1px solid var(--gris-bordure); padding: 6px 10px; }
.dom-lead { grid-row: span 2; background: var(--noir); border: none; padding: 48px 44px; gap: 20px; }
.dom-lead .num { color: var(--cuivre-clair); }
.dom-lead h3 { font-size: clamp(2.2rem, 3.6vw, 3rem); line-height: 1.05; color: var(--blanc); }
.dom-lead h3 em { color: var(--cuivre-clair); }
.dom-lead p { font-size: 18px; color: rgba(255,255,255,0.88); }
.dom-lead p.proof { font-size: 16px; color: rgba(255,255,255,0.72); }
.dom-lead .tags span { color: rgba(255,255,255,0.8); border-color: rgba(192,98,27,0.5); }
.dom-lead .btn { align-self: flex-start; min-height: 52px; font-size: 14px; padding: 0 24px; }

/* ─── 04 Séquence ─── */
.seq { margin-top: 56px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: stretch; }
.seq-start { background: var(--cuivre); padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; justify-content: center; color: var(--blanc); }
.seq-start .n { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; }
.seq-start .t { font-size: 24px; line-height: 1.15; font-weight: 700; }
.seq-start .m { font-size: 12px; line-height: 1.5; letter-spacing: 0.1em; text-transform: uppercase; }
.paths { display: flex; flex-direction: column; gap: 28px; }
.path-label { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.path-label strong { font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--noir); }
.path-label span { font-size: 14px; color: var(--gris-doux); }
.seq-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; list-style: none; }
.step { background: var(--blanc); border: 1px solid var(--gris-bordure); padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; min-height: 120px; }
.step .n { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; color: var(--cuivre-fonce); }
.step .t { font-size: 17px; line-height: 1.25; font-weight: 700; color: var(--noir); }
.step .m { margin-top: auto; font-size: 11px; line-height: 1.4; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gris-doux); }
.step.hl { background: var(--noir); border-color: var(--noir); }
.step.hl .n { color: var(--cuivre-clair); }
.step.hl .t { color: var(--blanc); }
.step.hl .m { color: rgba(255,255,255,0.75); }
.step.end { border: 1px dashed var(--cuivre); justify-content: center; }
.step.end .t { color: var(--cuivre-fonce); }
.seq-note { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--gris-bordure); font-size: 16px; line-height: 1.6; }
.seq-note strong { color: var(--noir); }

/* ─── 05 Formats ─── */
.fmt-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.fmt { background: var(--blanc); border: 1px solid var(--gris-bordure); border-top: 3px solid var(--cuivre); padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; }
.fmt h3 { font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--noir); }
.fmt .tag { font-size: 16px; line-height: 1.45; font-weight: 700; color: var(--cuivre-fonce); }
.fmt p { font-size: 15px; line-height: 1.6; }
.rules-head { margin: 96px 0 32px; font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--noir); font-weight: 700; }
.rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.rules .pt h3 { font-size: 20px; }
.rules .pt p { font-size: 15px; line-height: 1.6; }

/* ─── 06 Chiffres ─── */
.stats { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid rgba(192,98,27,0.3); }
.stat { padding: 40px 36px; display: flex; flex-direction: column; gap: 14px; min-height: 168px; border-right: 1px solid rgba(192,98,27,0.22); border-bottom: 1px solid rgba(192,98,27,0.22); }
.stat:nth-child(3n) { border-right: none; }
.stat:nth-last-child(-n+3) { border-bottom: none; }
.stat .v { display: flex; align-items: baseline; gap: 6px; color: var(--blanc); font-weight: 700; line-height: 1; }
.stat .v b { font-size: clamp(3rem, 5vw, 4.2rem); font-variant-numeric: tabular-nums; }
.stat .v i { font-style: normal; font-size: clamp(1.6rem, 2.4vw, 2rem); color: var(--cuivre); }
.stat p { font-size: 14px; line-height: 1.5; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.74); max-width: 280px; }

/* ─── 07 Profil ─── */
.prof { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.prof-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.prof-id { display: flex; flex-direction: column; gap: 4px; border-top: 2px solid var(--noir); padding-top: 16px; margin-top: 20px; font-size: 14px; color: var(--gris-doux); }
.prof-id strong { font-size: 18px; color: var(--noir); }
.prof-text { display: flex; flex-direction: column; gap: 22px; }
.prof-text .quote { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.2; font-weight: 700; color: var(--noir); margin-bottom: 12px; }
.prof-text .quote span { color: var(--cuivre-fonce); }
.prof-text p { font-size: 17px; line-height: 1.7; }
.links { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 8px; }

/* ─── 08 Publications ─── */
.pub-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pub { background: var(--blanc); border: 1px solid var(--gris-bordure); padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; }
.pub .kind { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cuivre-fonce); }
.pub h3 { font-size: 28px; line-height: 1.1; font-weight: 700; color: var(--noir); }
.pub .subt { font-size: 15px; line-height: 1.5; font-style: italic; color: var(--gris-doux); }
.pub p { font-size: 16px; line-height: 1.6; }
.pub .link { margin-top: auto; }
.pub .soon { margin-top: auto; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gris-doux); }
.pub .links { margin-top: auto; gap: 20px; }

/* ─── 09 FAQ ─── */
.faqg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 56px; }
.faq-list { border-bottom: 1px solid var(--gris-bordure); }
.faq-list details { border-top: 1px solid var(--gris-bordure); }
.faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 72px; padding: 18px 0; font-size: 19px; line-height: 1.35; font-weight: 700; color: var(--noir); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list .plus { flex-shrink: 0; width: 36px; height: 36px; border: 1px solid var(--cuivre); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--cuivre-fonce); font-size: 22px; transition: transform 0.2s; }
.faq-list details[open] .plus { transform: rotate(45deg); }
.faq-list details p { margin: 0 0 24px; max-width: 720px; font-size: 16px; line-height: 1.7; }

/* ─── 10 Contact (fond blanc : l'agenda se fond dans la page) ─── */
.ct-title { max-width: 820px; font-size: clamp(2.4rem, 4.8vw, 4rem); line-height: 1.05; }
.ct-intro { margin: 24px 0 48px; max-width: 640px; font-size: 18px; line-height: 1.6; color: var(--gris-texte); }
.cal { background: var(--blanc); position: relative; }
.cal-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 32px; text-align: center; }
.cal-fallback p { font-size: 17px; line-height: 1.6; color: var(--gris-texte); max-width: 420px; }
.cal iframe { position: relative; z-index: 1; background: transparent; }
.calendly-inline-widget { display: block; border: 0; min-width: 300px; width: 100%; height: 700px; }
.ct-side { margin-top: 32px; padding-top: 40px; border-top: 1px solid var(--gris-bordure); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; align-items: start; }
.ct-block { display: flex; flex-direction: column; gap: 6px; }
.ct-block .k { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gris-doux); font-weight: 700; }
.ct-block .tel { font-size: 24px; font-weight: 700; color: var(--noir); text-decoration: none; }
.ct-block .mail { font-size: 18px; color: var(--cuivre-fonce); text-decoration: none; }
.ct-side .small { font-size: 14px; line-height: 1.6; color: var(--gris-doux); }
.ct-form { margin-top: 48px; border-top: 1px solid var(--gris-bordure); }
.ct-form summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; min-height: 64px; color: var(--noir); font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.ct-form summary::-webkit-details-marker { display: none; }
.ct-form summary::after { content: "+"; color: var(--cuivre-fonce); font-size: 20px; font-weight: 400; }
.ct-form[open] summary::after { content: "−"; }
.form { background: var(--ivoire); padding: 36px; margin-bottom: 8px; max-width: 760px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gris-doux); font-weight: 700; }
.form-input, .form-textarea { font-family: inherit; font-size: 16px; color: var(--noir); border: 1px solid var(--gris-bordure); padding: 12px 14px; background: var(--blanc); min-height: 48px; width: 100%; }
.form-textarea { min-height: 140px; resize: vertical; }
.form-input:focus, .form-textarea:focus { outline: 2px solid var(--cuivre); outline-offset: 1px; }
.form-status { font-size: 14px; margin-top: 12px; min-height: 1.4em; }
.form-rgpd { font-size: 12px; color: var(--gris-doux); margin-top: 6px; line-height: 1.6; }

/* ─── Pied de page ─── */
.site-foot { background: var(--noir); border-top: 1px solid rgba(192,98,27,0.35); }
.site-foot .wrap { padding-top: 64px; padding-bottom: 48px; }
.foot { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); gap: 40px; }
.foot-brand { display: flex; flex-direction: column; gap: 16px; }
.foot-brand img { height: 34px; width: auto; align-self: flex-start; }
.foot-brand .claim { font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--blanc); }
.foot-brand .claim em { color: var(--cuivre-clair); }
.foot-brand .who { font-size: 14px; color: rgba(255,255,255,0.65); }
.foot-col { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.foot-col .k { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.55); }
.foot-col a { color: rgba(255,255,255,0.82); text-decoration: none; }
.foot-col a:hover { color: var(--cuivre-clair); }
.foot-legal { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; line-height: 1.6; color: rgba(255,255,255,0.6); }
.foot-legal a { color: rgba(255,255,255,0.75); }

/* ─── Mentions légales (fenêtre) ─── */
.ml-overlay { display: none; position: fixed; inset: 0; z-index: 999; background: rgba(13,9,8,0.88); backdrop-filter: blur(6px); overflow-y: auto; padding: 3rem 1.5rem; }
.ml-overlay.open { display: block; }
.ml-panel { max-width: 780px; margin: 0 auto; background: var(--ivoire); padding: 3rem; position: relative; }
.ml-close { position: absolute; top: 1.5rem; right: 1.5rem; background: none; border: 1px solid var(--gris-bordure); cursor: pointer; font-size: 1.25rem; color: var(--gris-texte); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.ml-close:hover { border-color: var(--cuivre); color: var(--cuivre); }
.ml-title { font-size: 1.5rem; font-weight: 700; color: var(--noir); margin-bottom: 0.5rem; }
.ml-sub { font-size: 1rem; font-weight: 700; color: var(--noir); margin: 2rem 0 0.75rem; padding-top: 1.5rem; border-top: 1px solid var(--gris-bordure); }
.ml-sub:first-of-type { border-top: none; margin-top: 1.5rem; }
.ml-text { font-size: 0.9rem; color: var(--gris-texte); line-height: 1.8; margin-bottom: 0.5rem; }
.ml-text strong { color: var(--noir); }
.ml-panel .rule { margin: 1rem 0 1.75rem; }
.ml-panel .btn-primary { min-height: 44px; }

/* ─── Adaptations écran ─── */
@media (max-width: 1080px) {
  .site-nav { gap: 18px; }
  .fmt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .site-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: var(--noir); flex-direction: column; align-items: flex-start; gap: 0; padding: 8px 32px 24px; border-bottom: 1px solid rgba(192,98,27,0.35); }
  .site-nav.open { display: flex; }
  .site-nav a { min-height: 48px; display: flex; align-items: center; width: 100%; }
  .nav-toggle { display: inline-flex; }
  .head-cta { display: none; }
  .hero { background-image: linear-gradient(0deg, rgba(13,9,8,0.96) 0%, rgba(13,9,8,0.88) 55%, rgba(13,9,8,0.55) 100%), url("hero-scene.jpg"); background-position: 78% top; }
  .hero .wrap { padding-bottom: 48px; min-height: 0; }
  .hero-sign { position: static; align-items: flex-start; text-align: left; padding: 0 32px 64px; }
  .three { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .dom-grid { grid-template-columns: minmax(0, 1fr); }
  .dom-lead { grid-row: auto; }
  .seq { grid-template-columns: minmax(0, 1fr); }
  .seq-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prof { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .prof-photo { max-width: 420px; }
  .pub-grid { grid-template-columns: minmax(0, 1fr); }
  .faqg { grid-template-columns: minmax(0, 1fr); }
  .ct-side { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .calendly-inline-widget { height: 1080px; }
  .foot { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .wrap { padding: 0 20px; }
  .sec { padding: 80px 0 88px; }
  .hero-sign { padding: 0 20px 56px; }
  .hero { background: linear-gradient(180deg, rgba(13,9,8,0.05) 0, rgba(13,9,8,0.35) 220px, #0D0908 360px), url("hero-scene.jpg") 72% 0 / auto 380px no-repeat, #0D0908; }
  .hero .wrap { padding-top: 300px; }
  .fmt-grid, .rules { grid-template-columns: minmax(0, 1fr); }
  .stats { grid-template-columns: minmax(0, 1fr); }
  .stat { border-right: none !important; border-bottom: 1px solid rgba(192,98,27,0.22) !important; }
  .stat:last-child { border-bottom: none !important; }
  .form-row { grid-template-columns: minmax(0, 1fr); }
  .form { padding: 24px 20px; }
  .ml-panel { padding: 3rem 1.5rem 2rem; }
  .card-sit, .card-end { flex-basis: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .faq-list .plus { transition: none; }
}

/* ─── Pages intérieures : domaines, cabinets, parcours (3 octobre 2026) ─── */
a.lang-btn, span.lang-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.pg-hero { background: var(--noir); border-bottom: 1px solid rgba(192,98,27,0.35); }
.pg-hero .wrap { padding-top: 56px; padding-bottom: 104px; }
.fil { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 56px; font-size: 13px; letter-spacing: 0.06em; color: rgba(255,255,255,0.6); }
.fil a { color: rgba(255,255,255,0.78); text-decoration: none; }
.fil a:hover { color: var(--cuivre-clair); }
.fil .sep { color: var(--cuivre); }
.pg-hero .label { color: var(--cuivre-clair); }
.pg-hero h1 { max-width: 920px; font-size: clamp(3rem, 6.4vw, 5.4rem); line-height: 0.98; font-weight: 700; color: var(--blanc); letter-spacing: -0.012em; }
.pg-hero h1 em { color: var(--cuivre-clair); }
.pg-base { margin-top: 32px; max-width: 780px; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.5; color: rgba(255,255,255,0.94); }
.pg-intro { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; max-width: 1040px; }
.pg-intro p { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,0.78); }
.pg-hero .tags { margin-top: 40px; padding-top: 0; }
.pg-hero .tags span { color: rgba(255,255,255,0.82); border-color: rgba(192,98,27,0.5); }
.pg-hero .link { color: var(--blanc); }
.pg-hero .link:hover { color: var(--cuivre-clair); }
.pg-cta { margin-top: 48px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.bg-noir .lead { color: rgba(255,255,255,0.8); }
.sec-lead { margin-top: 20px; max-width: 720px; }

/* Signaux */
.sig-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sig { background: var(--blanc); border: 1px solid var(--gris-bordure); border-top: 3px solid var(--cuivre); padding: 32px 28px; display: flex; flex-direction: column; gap: 18px; }
.sig h3 { font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--noir); }
.sig ul { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.sig li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.55; }
.sig li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 10px; height: 2px; background: var(--cuivre); }

/* Déroulé */
.steps { margin-top: 56px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.steps .pt p { font-size: 16px; line-height: 1.65; }
.steps .delay { margin-top: auto; align-self: flex-start; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cuivre-fonce); border: 1px solid var(--cuivre); padding: 6px 10px; }

/* Cadre, sur fond noir */
.nots { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; }
.bg-noir .pt { border-top-color: var(--cuivre); }
.bg-noir .pt .num { color: var(--cuivre-clair); }
.bg-noir .pt h3 { color: var(--blanc); }
.bg-noir .pt p { color: rgba(255,255,255,0.78); }

/* Autres domaines */
.oth-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.oth-grid.n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.oth { background: var(--blanc); border: 1px solid var(--gris-bordure); padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: var(--gris-texte); transition: border-color 0.2s, transform 0.15s; }
.oth:hover { border-color: var(--cuivre); transform: translateY(-2px); }
.oth .num { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; color: var(--cuivre-fonce); }
.oth h3 { font-size: 21px; line-height: 1.2; font-weight: 700; color: var(--noir); }
.oth p { font-size: 15px; line-height: 1.55; }
.oth .go { margin-top: auto; padding-top: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cuivre-fonce); }
.bg-ivoire .oth { background: var(--blanc); }

/* Parcours */
.bio { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.bio-marks { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bio-mark { border-top: 2px solid var(--cuivre); padding-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.bio-mark b { font-size: 26px; line-height: 1; color: var(--noir); }
.bio-mark span { font-size: 14px; line-height: 1.5; color: var(--gris-doux); }
.bio-text { display: flex; flex-direction: column; gap: 22px; }
.bio-text .conv { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.25; font-weight: 700; color: var(--noir); }
.bio-text .conv span { color: var(--cuivre-fonce); }
.bio-text p { font-size: 17px; line-height: 1.7; }
.bio-text strong { color: var(--noir); }
.story { margin-top: 48px; max-width: 860px; display: flex; flex-direction: column; gap: 24px; }
.story p { font-size: 18px; line-height: 1.75; color: rgba(255,255,255,0.82); }
.story strong { color: var(--blanc); }
.story .hl { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.3; font-weight: 700; color: var(--blanc); }
.story .hl span { color: var(--cuivre-clair); }

@media (max-width: 1080px) {
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oth-grid, .oth-grid.n5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .pg-intro { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sig-grid, .nots { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .sig-grid { gap: 16px; }
  .bio { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .bio .prof-photo { max-width: 420px; }
}
@media (max-width: 720px) {
  .pg-hero .wrap { padding-top: 40px; padding-bottom: 72px; }
  .fil { margin-bottom: 40px; }
  .steps, .oth-grid, .oth-grid.n5 { grid-template-columns: minmax(0, 1fr); }
  .pg-cta { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .oth { transition: none; }
}

/* ─── Bandeau de consentement aux cookies (tarteaucitron.js, 4 octobre 2026) ─── */
/* Les deux choix (accepter, refuser) ont le même poids visuel, comme le demande la CNIL */
html body #tarteaucitronRoot, html body #tarteaucitronRoot button, html body #tarteaucitronRoot span, html body #tarteaucitronRoot a, html body #tarteaucitronRoot div { font-family: 'Carlito', Calibri, sans-serif; }
html body #tarteaucitronRoot #tarteaucitronAlertBig { background: var(--noir); color: var(--blanc); border: 0; border-top: 2px solid var(--cuivre); box-shadow: 0 -12px 40px rgba(13,9,8,0.28); padding: 22px 24px; box-sizing: border-box; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong { color: rgba(255,255,255,0.88); font-size: 15px; line-height: 1.6; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl { background: transparent; color: var(--cuivre-clair); text-decoration: underline; font-size: 14px; padding: 10px 8px; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { background: transparent; color: var(--blanc); border: 1px solid var(--cuivre); border-radius: 0; font-size: 14px !important; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 14px 22px; min-height: 46px; margin: 6px 4px; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover { background: var(--cuivre); }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { background: transparent; color: rgba(255,255,255,0.78); border: 0; text-decoration: underline; font-size: 14px; padding: 14px 10px; margin: 6px 4px; }
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck, html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross { display: none; }
/* Panneau de gestion : boutons aux couleurs BAX, état choisi en cuivre (autorisé) ou en noir (interdit) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied { background: var(--ivoire); color: var(--noir); border: 1px solid var(--gris-bordure); border-radius: 0; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected { background: var(--cuivre); color: var(--blanc); border-color: var(--cuivre); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAsk .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected { background: var(--noir); color: var(--blanc); border-color: var(--noir); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied { border-color: var(--cuivre); }

/* Agenda Calendly : encadré d'autorisation avant accord */
.cal-tac { position: relative; min-height: 700px; }
.cal-tac .tac_activate { display: flex; align-items: center; justify-content: center; min-height: 700px; padding: 40px 24px; background: var(--ivoire); color: var(--gris-texte); font-size: 17px; }
.cal-tac .tac_float { display: flex; flex-direction: column; align-items: center; gap: 22px; max-width: 520px; text-align: center; }
.cal-tac .tac_float span[role="paragraph"] { font-size: 17px; line-height: 1.6; color: var(--gris-texte); }
html body .cal-tac .tac_activate .tarteaucitronAllow { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 30px; background: var(--cuivre); color: var(--blanc); border: 0; border-radius: 0; font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; margin: 0; }
html body .cal-tac .tac_activate .tarteaucitronAllow:hover { background: var(--cuivre-clair); }
@media (max-width: 960px) {
  .cal-tac, .cal-tac .tac_activate { min-height: 520px; }
}
