/* ═══════════════════════════════════════════════
   EDMOND'S & COMPANY — Design System
   Palette PDF officielle : Crème · Or · Brun foncé
   ═══════════════════════════════════════════════ */
:root {
  --cream:      #f0e8d6;
  --cream-l:    #f8f3ea;
  --cream-d:    #e4d9c4;
  --gold:       #b89a6a;
  --gold-l:     #d4b98a;
  --gold-d:     #8a6e44;
  --gold-bright:#c9a84c;
  --brown:      #1a1410;
  --brown-m:    #2e261e;
  --brown-s:    #4a3f32;
  --white:      #ffffff;
  --text:       #1a1410;
  --text-m:     #5a4e42;
  --text-l:     #9a8e82;
  --border:     rgba(184,154,106,.22);
  --border-d:   rgba(255,255,255,.1);
  --dark-bg:    #1a1410;
  --dark-card:  #241e18;
  --dark-feat:  #2e261e;
  --green:      #2d6a4f;
  --red:        #9b2226;
  --orange:     #ca6702;
  --font-s: 'Cormorant Garamond', Georgia, serif;
  --font-n: 'Montserrat', sans-serif;
  --nav-h: 76px;
  --t: .3s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-n);color:var(--text);background:var(--cream-l);overflow-x:hidden;line-height:1.7}

/* ── TYPE ── */
h1,h2,h3,h4{font-family:var(--font-s);line-height:1.15}
h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:300;color:var(--brown)}
h1 em{font-style:italic;color:var(--gold)}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:300;color:var(--brown)}
h2 em{font-style:italic;color:var(--gold-d)}
h3{font-size:1.2rem;font-weight:400;color:var(--brown);margin-bottom:.4rem}
h4{font-size:1rem;font-weight:600;color:var(--brown);margin-bottom:.3rem}
p{color:var(--text-m);font-size:.92rem;line-height:1.85}
.section-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.section-desc{max-width:560px;margin:.8rem auto 0;font-size:.95rem}
.section-header.center{text-align:center;margin-bottom:60px}

/* ── LAYOUT ── */
.container{max-width:1200px;margin:0 auto;padding:0 2.5rem}
section{padding:100px 0;position:relative}

/* ── BUTTONS ── */
.btn-primary{display:inline-block;background:var(--gold);color:var(--brown);padding:.85rem 2.2rem;font-family:var(--font-n);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background var(--t),transform var(--t)}
.btn-primary:hover{background:var(--gold-l);transform:translateY(-2px)}
.btn-primary.full{width:100%;text-align:center;display:block;padding:1rem}
.btn-ghost{display:inline-block;border:1px solid var(--brown-s);color:var(--brown);padding:.85rem 2.2rem;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;background:none;cursor:pointer;transition:border-color var(--t),color var(--t)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-d)}
.btn-linkedin{display:inline-flex;align-items:center;gap:.8rem;background:var(--brown);color:var(--gold-l);padding:.9rem 2rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background var(--t)}
.btn-linkedin:hover{background:var(--brown-m)}
.btn-linkedin svg{width:20px;height:20px;flex-shrink:0}

/* ── NAVBAR ── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .4s,box-shadow .4s}
#navbar.scrolled{background:rgba(248,243,234,.97);box-shadow:0 1px 0 var(--border);backdrop-filter:blur(8px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);padding:0 2.5rem;max-width:1400px;margin:0 auto}
.logo{text-decoration:none;display:flex;align-items:center;gap:.8rem}
.logo-icon{width:28px;height:35px;flex-shrink:0}
.logo-text{display:flex;align-items:baseline;gap:.15rem}
.l-main{font-family:var(--font-s);font-size:1.25rem;font-weight:600;color:var(--brown)}
.l-amp{font-family:var(--font-s);font-size:1.1rem;color:var(--gold);margin:0 .05rem}
.l-co{font-family:var(--font-s);font-size:1.25rem;font-weight:300;color:var(--brown)}
.nav-links{display:flex;list-style:none;gap:2rem}
.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-s);text-decoration:none;transition:color var(--t)}
.nav-links a:hover{color:var(--gold-d)}
.nav-links .nav-cta{border:1px solid var(--gold);color:var(--gold-d);padding:.45rem 1.1rem}
.nav-links .nav-cta:hover{background:var(--gold);color:var(--brown)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
.burger span{display:block;width:22px;height:1.5px;background:var(--brown);transition:var(--t)}
.mobile-menu{display:none;flex-direction:column;background:var(--cream);padding:1.5rem 2rem;gap:1rem;border-top:1px solid var(--border)}
.mobile-menu a{color:var(--brown-s);text-decoration:none;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.mobile-menu.open{display:flex}

/* ── HERO ── */
#hero{min-height:100vh;background:var(--cream-l);display:flex;flex-direction:column;justify-content:center;padding:0;overflow:hidden;border-bottom:1px solid var(--border)}
.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center;max-width:1200px;margin:0 auto;padding:calc(var(--nav-h) + 3rem) 2.5rem 5rem;width:100%}
.hero-content{display:flex;flex-direction:column;gap:1.4rem}
.hero-logo-wrap{display:flex;align-items:center;gap:1.2rem;margin-bottom:.5rem}
.hero-logo-svg{width:52px;height:65px;flex-shrink:0}
.hero-logo-name{display:flex;flex-direction:column}
.hero-logo-name span:first-child{font-family:var(--font-s);font-size:1.5rem;font-weight:500;color:var(--brown)}
.hero-logo-sub{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:.1rem}
.hero-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0}
.hero-sub{color:var(--text-m);max-width:480px;font-size:.95rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.hero-visual{display:flex;flex-direction:column;gap:1.5rem}
.hero-card{border:1px solid var(--border);background:var(--cream);padding:2rem 2.2rem;transition:border-color var(--t),transform var(--t)}
.hero-card:hover{border-color:var(--gold);transform:translateX(4px)}
.hero-card.alt{margin-left:2.5rem}
.hc-tag{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.hc-title{font-family:var(--font-s);font-size:1.4rem;font-weight:400;color:var(--brown);line-height:1.2}
.hc-divider{height:1px;background:var(--border);margin:1rem 0}
.hc-sub{font-size:.78rem;color:var(--text-l);font-style:italic}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem}
.hero-scroll span{display:block;width:1px;height:44px;background:linear-gradient(to bottom,transparent,var(--gold));animation:scrollLine 2s ease-in-out infinite}
.hero-scroll p{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-l)}
@keyframes scrollLine{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.5)}}

/* ── STRIP ── */
.strip{background:var(--brown);overflow:hidden;padding:0}
.strip-track{display:flex;align-items:center;gap:2.5rem;padding:1.1rem 0;white-space:nowrap;animation:ticker 32s linear infinite}
.strip-track span{font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);flex-shrink:0}
.strip-track .sd{color:var(--gold-bright) !important;font-size:.55rem !important}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── ABOUT ── */
#about{background:var(--cream-l)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6rem;align-items:center}
.about-text{display:flex;flex-direction:column;gap:1.2rem}
.about-text h2{margin-bottom:.3rem}
.about-quote{border-left:2px solid var(--gold);padding-left:2rem;display:flex;flex-direction:column;gap:1rem}
.about-quote strong{color:var(--brown);font-weight:600}
.about-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.5rem;border-top:1px solid var(--border);padding-top:1.5rem}
.ametric{display:flex;flex-direction:column;gap:.2rem}
.am-val{font-family:var(--font-s);font-size:1.6rem;font-weight:400;color:var(--gold-d);line-height:1}
.am-l{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-l)}
.about-visual{display:flex;justify-content:center}
.av-pattern-box{background:var(--brown);padding:4rem 3rem;position:relative;overflow:hidden}
.av-pattern-box::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(184,154,106,.06) 0,rgba(184,154,106,.06) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(0deg,rgba(184,154,106,.06) 0,rgba(184,154,106,.06) 1px,transparent 1px,transparent 32px)}
.avp-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.5rem}
.avp-quote{font-family:var(--font-s);font-size:1.6rem;font-weight:300;font-style:italic;color:var(--cream-l);line-height:1.5}
.avp-source{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}

/* ── MD SECTION ── */
#md{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.md-grid{display:grid;grid-template-columns:280px 1fr;gap:6rem;align-items:center}
.md-emblem-wrap{display:flex;flex-direction:column;gap:1.5rem;align-items:center}
.md-emblem{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding:3rem 2.5rem;background:var(--brown);position:relative;overflow:hidden}
.md-emblem::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(184,154,106,.05) 0,rgba(184,154,106,.05) 1px,transparent 1px,transparent 28px),repeating-linear-gradient(0deg,rgba(184,154,106,.05) 0,rgba(184,154,106,.05) 1px,transparent 1px,transparent 28px)}
.md-emblem-svg{width:70px;height:88px;position:relative;z-index:1}
.md-emblem-lines{display:flex;flex-direction:column;gap:.4rem;align-items:center;position:relative;z-index:1}
.mel-line{height:1px;width:80px;background:var(--gold);opacity:.4}
.mel-line.short{width:40px;opacity:.6}
.md-photo{position:relative;width:100%;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--brown);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.md-photo img{width:100%;height:100%;object-fit:cover;display:block}
.md-photo-placeholder{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;height:100%;position:absolute;inset:0;background:linear-gradient(135deg,#231a14,#15100c);border:1px dashed rgba(184,154,106,.4)}
.mpp-icon{font-size:2.4rem;opacity:.55}
.mpp-text{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mpp-hint{font-size:.66rem;color:var(--gold);font-family:monospace;opacity:.7}
.md-name-card{background:var(--brown);padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:.2rem;width:100%;text-align:center}
.md-name-card strong{font-family:var(--font-s);font-size:1.05rem;font-weight:400;color:var(--white)}
.md-name-card span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.md-name-card .md-location{color:var(--gold)}
.md-text{display:flex;flex-direction:column;gap:1.2rem;padding-top:.5rem}
.md-text h2{margin-bottom:.3rem}
.md-quote{font-family:var(--font-s);font-size:1.15rem;font-weight:300;font-style:italic;color:var(--brown-s);line-height:1.9;border-left:3px solid var(--gold);padding-left:2rem}
.md-links{margin-top:.5rem}
.md-linkedin{display:inline-flex;align-items:center;gap:.7rem;color:var(--gold-d);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:.4rem;transition:color var(--t),border-color var(--t)}
.md-linkedin:hover{color:var(--gold);border-color:var(--gold)}
.md-linkedin svg{width:18px;height:18px}

/* ── MÉTIERS ── */
#metiers{background:var(--cream-l);padding:0}
.metier-block{padding:80px 0}
.metier-block.dark{background:var(--dark-bg)}
.metier-hd{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}
.metier-block.dark .metier-hd{border-color:var(--border-d)}
.metier-tag{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.metier-hd h2{color:var(--brown)}
.metier-block.dark .metier-hd h2{color:var(--white)}
.metier-block.dark .metier-hd h2 em{color:var(--gold-l)}
.metier-sub{font-family:var(--font-s);font-size:1.05rem;font-style:italic;color:var(--text-m)}
.metier-block.dark .metier-sub{color:rgba(255,255,255,.4)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border)}
.trio.dark{background:rgba(255,255,255,.06)}
.trio-card{background:var(--cream);padding:2.5rem 2rem;display:flex;flex-direction:column;gap:.6rem;transition:background var(--t)}
.trio-card:hover{background:var(--cream-l)}
.trio-card.featured{background:var(--brown)}
.trio-card.dark{background:var(--dark-card)}
.trio-card.dark:hover{background:var(--dark-feat)}
.trio-card.dark.featured{background:var(--dark-feat);border-top:2px solid var(--gold)}
.tc-letter{font-family:var(--font-s);font-size:3rem;font-weight:300;color:rgba(184,154,106,.18);line-height:1;margin-bottom:.3rem}
.trio-card.featured .tc-letter{color:rgba(255,255,255,.1)}
.tc-label{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.trio-card h3{color:var(--brown)}
.trio-card.featured h3,.trio-card.dark h3{color:var(--white)}
.trio-card p{font-size:.87rem}
.trio-card.featured p{color:rgba(255,255,255,.5)}
.trio-card.dark p{color:rgba(255,255,255,.4)}
.trio-card ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin-top:.3rem}
.trio-card ul li{font-size:.8rem;color:var(--text-l);padding-left:1.2rem;position:relative}
.trio-card ul li::before{content:'—';position:absolute;left:0;color:var(--gold)}
.trio-card.featured ul li{color:rgba(255,255,255,.35)}
.trio-card.dark ul li{color:rgba(255,255,255,.28)}

/* ── PUBLICATIONS ── */
#publications{background:var(--cream-l)}
.pub-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.5rem;margin-bottom:3rem}
.pub-card{position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;cursor:default}
.pub-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pub-bg-1{background-color:#c4a86e;background-image:linear-gradient(135deg,#8b7355 0%,#c4a86e 40%,#e8d5a8 100%)}
.pub-bg-2{background-color:#2e261e;background-image:linear-gradient(135deg,#1a1410 0%,#3a2e22 60%,#2e261e 100%)}
.pub-bg-3{background-color:#f0e8d6;background-image:linear-gradient(135deg,#e8dcc8 0%,#f0e8d6 100%)}
.pub-overlay{position:absolute;inset:0;background:rgba(20,16,10,.55)}
.pub-overlay.light{background:rgba(240,232,214,.25)}
.pub-content{position:relative;z-index:1;padding:2rem;display:flex;flex-direction:column;gap:.7rem;height:100%;justify-content:flex-end}
.pub-brand{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pub-brand.dark{color:var(--brown-s)}
.pub-stat-big{font-family:var(--font-s);font-size:4.5rem;font-weight:300;color:var(--gold-bright);line-height:1;margin:.3rem 0}
.pub-stat-big.dark{color:var(--gold-d)}
.pub-sup{font-size:2rem;vertical-align:super}
.pub-headline{font-family:var(--font-s);font-size:1.15rem;font-weight:400;color:var(--white);line-height:1.3}
.pub-headline.dark{color:var(--brown)}
.pub-source{font-size:.72rem;color:rgba(255,255,255,.5);line-height:1.5}
.pub-source.dark{color:var(--text-l)}
.pub-source small{display:block;font-size:.65rem;margin-top:.1rem;color:rgba(255,255,255,.35)}
.pub-divider{height:1px;background:rgba(255,255,255,.2);margin:.3rem 0}
.pub-sub-stats{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center}
.pss-sep{width:1px;height:40px;background:rgba(255,255,255,.2)}
.pss-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.2rem}
.pss-val{font-family:var(--font-s);font-size:1.3rem;font-weight:400;color:var(--white)}
.pss-val span{font-size:.7rem;display:block;color:rgba(255,255,255,.5)}
.pub-tagline{font-family:var(--font-s);font-size:1rem;font-style:italic;color:var(--gold-bright);border-top:1px solid rgba(255,255,255,.15);padding-top:.7rem}
.pub-tagline.dark{color:var(--gold-d);border-color:var(--border)}
.pub-footer-line{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);display:flex;justify-content:space-between;margin-top:.3rem}
.pub-footer-line.dark{color:var(--text-l)}
.pub-footer-line span{color:rgba(255,255,255,.2)}
.pub-two-col{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;margin:.3rem 0}
.p2c-sep{width:1px;height:60px;background:rgba(255,255,255,.2)}
.p2c-label{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.3rem}
.p2c-val{font-family:var(--font-s);font-size:2.2rem;font-weight:300;color:var(--white)}
.pub-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--gold-bright);font-family:var(--font-s);font-size:1.4rem;font-weight:400;padding:.6rem 1.2rem;align-self:flex-start}
.pub-chart-mini{background:rgba(255,255,255,.08);padding:.8rem;margin:.2rem 0}
.hero-pub{grid-row:1}
.pub-cta-wrap{text-align:center}

/* ── OUTILS ── */
#outils{background:var(--brown);color:var(--white)}
#outils .section-eyebrow{color:var(--gold)}
#outils h2{color:var(--white)}
#outils h2 em{color:var(--gold-l)}
#outils .section-desc{color:rgba(255,255,255,.45)}
.tools-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:rgba(255,255,255,.06);margin-bottom:3px}
.ttab{background:var(--dark-card);border:none;cursor:pointer;padding:1.8rem 1.5rem;text-align:left;display:flex;flex-direction:column;gap:.3rem;transition:background var(--t)}
.ttab:hover{background:var(--dark-feat)}
.ttab.active{background:var(--dark-feat);border-top:2px solid var(--gold)}
.ttab-num{font-family:var(--font-s);font-size:2rem;font-weight:300;color:rgba(184,154,106,.3);line-height:1}
.ttab.active .ttab-num{color:var(--gold)}
.ttab-name{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.05em}
.ttab.active .ttab-name{color:var(--white)}
.ttab-sub{font-size:.7rem;color:rgba(255,255,255,.3);font-style:italic}
.tool-panel{display:none;background:var(--dark-feat);padding:3rem;border-top:none}
.tool-panel.active{display:block}
.tool-intro{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border-d)}
.ti-icon{flex-shrink:0;width:52px;height:52px;color:var(--gold)}
.ti-icon svg{width:100%;height:100%}
.tool-intro h3{color:var(--white);font-size:1.3rem;margin-bottom:.5rem}
.tool-intro p{color:rgba(255,255,255,.5);font-size:.88rem}
.tool-criteria{background:rgba(184,154,106,.08);border-left:2px solid var(--gold);padding:.6rem 1rem;margin-top:.6rem;color:rgba(255,255,255,.6) !important;font-size:.82rem !important}
.tool-criteria strong{color:var(--gold)}
.form-note-light{font-size:.75rem;color:rgba(255,255,255,.3);font-style:italic;margin-top:.3rem}

/* ── MULTI-STEP FORM ── */
.multistep{}
.step-bar{display:flex;gap:0;margin-bottom:2.5rem;background:rgba(0,0,0,.2)}
.step-item{flex:1;display:flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);transition:color var(--t);border-right:1px solid rgba(255,255,255,.06)}
.step-item:last-child{border-right:none}
.step-item span{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:600;flex-shrink:0;transition:background var(--t),color var(--t)}
.step-item.active{color:var(--white)}
.step-item.active span{background:var(--gold);color:var(--brown)}
.step-item.done{color:rgba(255,255,255,.5)}
.step-item.done span{background:var(--green);color:var(--white)}
.step-panel{display:none}
.step-panel.active{display:block}
.step-panel h4{font-family:var(--font-s);font-size:1.2rem;font-weight:300;color:var(--white);margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--border-d)}
.step-nav{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}
.form-group:last-child{margin-bottom:0}
.form-group label{font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:var(--white);padding:.85rem 1rem;font-family:var(--font-n);font-size:.88rem;outline:none;transition:border-color var(--t);border-radius:0;-webkit-appearance:none;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.2)}
.form-group select option{background:var(--dark-feat);color:var(--white)}
.form-group textarea{resize:vertical;min-height:100px}
.form-note{font-size:.72rem;color:rgba(255,255,255,.25);text-align:center;margin-top:.5rem}

/* ── TOOL RESULTS ── */
.tool-result{animation:fadeUp .5s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.result-header{text-align:center;padding:2.5rem;margin-bottom:2rem;border:1px solid var(--border-d)}
.result-badge{display:inline-flex;align-items:center;gap:.8rem;padding:.8rem 2rem;font-family:var(--font-n);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem}
.result-badge.eligible{background:rgba(45,106,79,.2);color:#6fcf97;border:1px solid rgba(45,106,79,.4)}
.result-badge.not-eligible{background:rgba(155,34,38,.2);color:#eb5757;border:1px solid rgba(155,34,38,.4)}
.result-badge.eligible::before{content:'✓';font-size:1rem}
.result-badge.not-eligible::before{content:'✗';font-size:1rem}
.result-title{font-family:var(--font-s);font-size:2rem;font-weight:300;color:var(--white);margin-bottom:.5rem}
.result-sub{color:rgba(255,255,255,.5);font-size:.9rem}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border-d);margin-bottom:2rem}
.rg-item{background:var(--dark-card);padding:1.5rem;display:flex;flex-direction:column;gap:.4rem}
.rgi-label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.rgi-val{font-family:var(--font-s);font-size:1.4rem;font-weight:300;color:var(--gold)}
.rgi-note{font-size:.78rem;color:rgba(255,255,255,.4)}
.result-section{margin-bottom:2rem}
.result-section h4{font-family:var(--font-s);font-size:1.1rem;font-weight:300;color:var(--white);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-d)}
.ratio-row{display:flex;align-items:center;gap:1rem;padding:.8rem;background:rgba(255,255,255,.03);margin-bottom:1.5px;transition:background var(--t)}
.ratio-row:hover{background:rgba(255,255,255,.05)}
.ratio-label{flex:1;font-size:.82rem;color:rgba(255,255,255,.6)}
.ratio-val{font-family:var(--font-s);font-size:1.1rem;font-weight:400;color:var(--white);min-width:80px;text-align:right}
.ratio-light{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ratio-light.green{background:#6fcf97;box-shadow:0 0 8px rgba(111,207,151,.4)}
.ratio-light.orange{background:#f2994a;box-shadow:0 0 8px rgba(242,153,74,.4)}
.ratio-light.red{background:#eb5757;box-shadow:0 0 8px rgba(235,87,87,.4)}
.reco-card{background:rgba(184,154,106,.06);border-left:2px solid var(--gold);padding:1rem 1.2rem;margin-bottom:1px;display:flex;gap:1rem}
.reco-num{font-family:var(--font-s);font-size:1.5rem;font-weight:300;color:var(--gold);flex-shrink:0;line-height:1;margin-top:.1rem}
.reco-text{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7}
.reco-text strong{color:var(--white);display:block;margin-bottom:.2rem}
.valo-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border-d);margin-bottom:2rem}
.vm-card{background:var(--dark-card);padding:1.8rem;display:flex;flex-direction:column;gap:.5rem}
.vm-method{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.vm-range{font-family:var(--font-s);font-size:1.5rem;font-weight:300;color:var(--gold);line-height:1.2}
.vm-unit{font-size:.72rem;color:rgba(255,255,255,.3)}
.vm-desc{font-size:.78rem;color:rgba(255,255,255,.35);margin-top:.3rem}
.valo-summary{background:rgba(184,154,106,.08);border:1px solid rgba(184,154,106,.2);padding:2rem;text-align:center;margin-bottom:2rem}
.vs-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.vs-range{font-family:var(--font-s);font-size:3rem;font-weight:300;color:var(--white)}
.vs-note{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.5rem}
.result-cta{background:rgba(184,154,106,.06);border:1px solid var(--border-d);padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.rcta-text{display:flex;flex-direction:column;gap:.3rem}
.rcta-text strong{color:var(--white);font-size:.9rem}
.rcta-text span{color:rgba(255,255,255,.4);font-size:.82rem}
.rcta-btns{display:flex;gap:1rem;flex-wrap:wrap}
.hidden{display:none!important}
.btn-download{display:inline-flex;align-items:center;gap:.6rem;background:var(--gold);color:var(--brown);padding:.85rem 1.8rem;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border:none;cursor:pointer;transition:background var(--t)}
.btn-download:hover{background:var(--gold-l)}
.btn-download svg{width:16px;height:16px}

/* ── CONTACT ── */
#contact{background:var(--brown)}
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem;align-items:start}
.contact-left{display:flex;flex-direction:column;gap:1.2rem}
.contact-left .section-eyebrow{color:var(--gold)}
.contact-left h2{color:var(--white)}
.contact-left h2 em{color:var(--gold-l)}
.contact-intro{color:rgba(255,255,255,.5);font-size:.9rem}
.contact-channels{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem}
.cc-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);text-decoration:none;transition:border-color var(--t),background var(--t)}
.cc-item:hover{background:rgba(255,255,255,.06);border-color:var(--border-d)}
.cc-item.no-link{cursor:default}
.cc-icon{flex-shrink:0;width:36px;height:36px;color:var(--gold)}
.cc-icon svg{width:100%;height:100%}
.cc-item strong{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.cc-item span{font-size:.85rem;color:rgba(255,255,255,.5)}
.contact-form{display:flex;flex-direction:column;gap:1.2rem}
.contact-form .form-group label{color:rgba(255,255,255,.4)}

/* ── FOOTER ── */
footer{background:var(--brown-m);border-top:1px solid rgba(255,255,255,.07);padding:4rem 2.5rem 2rem}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:3rem}
.footer-top{display:grid;grid-template-columns:1fr 2fr;gap:4rem}
.footer-brand{display:flex;flex-direction:column;gap:.5rem}
.footer-logo-wrap{display:flex;align-items:center;gap:.8rem;margin-bottom:.3rem}
.fl-main{font-family:var(--font-s);font-size:1.15rem;font-weight:600;color:var(--white)}
.fl-sub{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.footer-brand p{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fl-loc{color:var(--gold) !important}
.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.fn-col{display:flex;flex-direction:column;gap:.6rem}
.fn-col strong{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.3rem;display:block}
.fn-col a{font-size:.78rem;color:rgba(255,255,255,.4);text-decoration:none;transition:color var(--t)}
.fn-col a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem;display:flex;flex-direction:column;gap:.3rem}
.footer-bottom p{font-size:.72rem;color:rgba(255,255,255,.2)}
.footer-disc{font-size:.65rem !important;max-width:600px}

/* ── TOOLTIPS ── */
.tt{position:relative;display:inline-flex;align-items:center;gap:.3rem}
.tt-btn{width:15px;height:15px;border-radius:50%;border:1px solid var(--gold);background:none;color:var(--gold);font-size:9px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;font-family:var(--font-n);line-height:1;padding:0}
.tt-box{position:absolute;left:0;top:calc(100% + 6px);z-index:200;background:var(--brown);color:var(--cream-l);font-size:.72rem;line-height:1.5;padding:.65rem .85rem;width:240px;box-shadow:0 4px 16px rgba(0,0,0,.3);pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s;font-family:var(--font-n);font-weight:400;border-left:2px solid var(--gold)}
.tt-btn:hover + .tt-box,.tt-btn:focus + .tt-box{opacity:1;transform:translateY(0);pointer-events:auto}
.form-group label .tt-btn{margin-left:.3rem}

/* ── À PROPOS ── */
#apropos{background:var(--brown);padding:100px 0}
.apropos-grid{display:flex;flex-direction:column;gap:3.5rem}
.apropos-header{text-align:center}
#apropos h2{color:var(--cream)}
#apropos h2 em{color:var(--gold)}
#apropos .section-eyebrow{color:var(--gold-l)}
.apropos-intro{font-size:1rem;color:rgba(240,232,214,.75);text-align:center;max-width:680px;margin:0 auto 3rem;line-height:1.85}
.apropos-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem}
.apropos-col{border-left:2px solid var(--gold);padding-left:1.5rem}
.apropos-col h4{color:var(--gold-l);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem;font-family:var(--font-n);font-weight:600}
.apropos-col p{color:rgba(240,232,214,.62);font-size:.87rem;line-height:1.75}
.apropos-values{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid rgba(184,154,106,.25);padding-top:2.5rem}
.av-item{display:flex;flex-direction:column;gap:.4rem}
.av-num{font-family:var(--font-s);font-size:2.2rem;font-weight:300;color:var(--gold);line-height:1}
.av-label{font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--cream)}
.av-text{font-size:.82rem;color:rgba(240,232,214,.5);line-height:1.6}

/* ── MÉTIERS ACCORDÉON ── */
#metiers{padding:100px 0;background:var(--cream-l)}
.metier-accordion{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}
.mac-item{border-bottom:1px solid var(--border)}
.mac-item:last-child{border-bottom:none}
.mac-item.dark{background:var(--dark-bg);border-color:var(--border-d)}
.mac-header{display:grid;grid-template-columns:64px 1fr 32px;align-items:center;gap:1.5rem;padding:2rem 2.5rem;cursor:pointer;transition:background var(--t);user-select:none}
.mac-item:not(.dark) .mac-header:hover{background:var(--cream)}
.mac-item.dark .mac-header:hover{background:rgba(255,255,255,.03)}
.mac-num{font-family:var(--font-s);font-size:2.8rem;font-weight:300;color:var(--gold);line-height:1}
.mac-title-wrap h3{font-size:1.35rem;font-weight:400;color:var(--brown);margin:0 0 .2rem}
.mac-item.dark .mac-title-wrap h3{color:var(--cream)}
.mac-sub{font-size:.78rem;color:var(--text-l);margin:0}
.mac-item.dark .mac-sub{color:rgba(240,232,214,.45)}
.mac-arrow{font-size:1.6rem;color:var(--gold);font-weight:300;transition:transform .3s ease;text-align:center;line-height:1}
.mac-item.open .mac-arrow{transform:rotate(45deg)}
.mac-body{display:none;border-top:1px solid var(--border)}
.mac-item.dark .mac-body{border-color:var(--border-d)}
.mac-item.open .mac-body{display:block}
.mac-services{display:flex;flex-direction:column}
.mac-service{border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t)}
.mac-item.dark .mac-service{border-color:var(--border-d)}
.mac-service:last-child{border-bottom:none}
.mac-svc-header{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:1rem;padding:1.1rem 2.5rem}
.mac-service:hover .mac-svc-header{background:rgba(184,154,106,.06)}
.mac-svc-letter{font-family:var(--font-s);font-size:1.1rem;color:var(--gold);font-weight:400}
.mac-svc-name{font-size:.88rem;font-weight:500;color:var(--brown);font-family:var(--font-n)}
.mac-item.dark .mac-svc-name{color:var(--cream-l)}
.mac-svc-arrow{color:var(--gold);font-size:1rem;transition:transform .25s;text-align:center}
.mac-service.open .mac-svc-arrow{transform:rotate(90deg)}
.mac-svc-detail{display:none;padding:.3rem 2.5rem 1.2rem calc(2.5rem + 44px + 1rem);background:rgba(184,154,106,.04)}
.mac-item.dark .mac-svc-detail{background:rgba(255,255,255,.025)}
.mac-service.open .mac-svc-detail{display:block}
.mac-svc-detail p{font-size:.86rem;color:var(--text-m);line-height:1.75}
.mac-item.dark .mac-svc-detail p{color:rgba(240,232,214,.6)}

/* ── PUBLICATIONS — READ MORE ── */
.pub-read-more{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);text-decoration:none;margin-top:.8rem;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;transition:color var(--t),border-color var(--t)}
.pub-read-more:hover{color:var(--gold-l);border-color:var(--gold)}
.pub-content.dark-text .pub-read-more{color:var(--gold-d);border-color:rgba(184,154,106,.3)}
.pub-content.dark-text .pub-read-more:hover{color:var(--brown);border-color:var(--brown)}

/* ── ELIGIBLE CTA ── */
.eligi-cta-card{background:rgba(184,154,106,.08);border:1px solid rgba(184,154,106,.3);padding:1.5rem 2rem}
.eligi-cta-btns{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.eligi-contact-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);color:var(--text-m);padding:.65rem 1.2rem;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:none;cursor:pointer;transition:border-color var(--t),color var(--t)}
.eligi-contact-btn:hover{border-color:var(--gold);color:var(--gold-d)}
.eligi-contact-btn.whatsapp:hover{border-color:#25d366;color:#25d366}
.eligi-contact-btn.email:hover{border-color:var(--gold);color:var(--gold-d)}

/* ── TABULAR NUMBERS ── */
.rgi-val,.ratio-val,.vm-range,.vs-range,.am-val,.p2c-val,.pub-stat-big{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* ── ANIMATIONS ── */
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-card.alt{margin-left:0}
  .hero-visual{flex-direction:row}
  .hero-visual .hero-card{flex:1}
  .about-grid{grid-template-columns:1fr;gap:3rem}
  .trio{grid-template-columns:1fr;gap:0}
  .pub-grid{grid-template-columns:1fr 1fr}
  .hero-pub{grid-column:1/-1}
  .apropos-cols{grid-template-columns:1fr}
  .apropos-values{grid-template-columns:1fr 1fr}
  .mac-header{grid-template-columns:48px 1fr 28px;padding:1.5rem 2rem}
  .mac-svc-header{padding:1rem 2rem}
  .mac-svc-detail{padding:.3rem 2rem 1rem calc(2rem + 44px + 1rem)}
  .contact-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .md-grid{grid-template-columns:1fr}
  .md-emblem-wrap{max-width:280px;margin:0 auto}
}
@media(max-width:768px){
  section{padding:70px 0}
  .nav-links{display:none}
  .burger{display:flex}
  .tool-panel{padding:2rem 1.5rem}
  .tools-tabs{grid-template-columns:1fr}
  .result-grid,.valo-methods{grid-template-columns:1fr}
  .pub-grid{grid-template-columns:1fr}
  .footer-nav{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .step-bar{flex-direction:column}
  .result-cta{flex-direction:column}
}
@media(max-width:480px){
  .container{padding:0 1.5rem}
  .hero-actions{flex-direction:column}
  .hero-actions a{text-align:center}
  .hero-visual{flex-direction:column}
  .footer-nav{grid-template-columns:1fr}
  .about-metrics{grid-template-columns:1fr 1fr}
  .apropos-values{grid-template-columns:1fr}
  .mac-header{gap:1rem;padding:1.2rem 1.5rem}
  .mac-svc-header{padding:.9rem 1.5rem}
  .eligi-cta-btns{flex-direction:column;align-items:stretch}
  .eligi-contact-btn{justify-content:center}
}

/* ── African-inspired geometric pattern overlay ── */
#hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(184,120,64,.04) 0px,rgba(184,120,64,.04) 1px,transparent 1px,transparent 28px),repeating-linear-gradient(-45deg,rgba(184,120,64,.04) 0px,rgba(184,120,64,.04) 1px,transparent 1px,transparent 28px);pointer-events:none;z-index:0}
#hero .hero-inner{position:relative;z-index:1}
.kente-border{height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0,var(--gold) 12px,#8B3A10 12px,#8B3A10 24px,#1a1410 24px,#1a1410 36px,var(--gold) 36px,var(--gold) 48px);opacity:.7}

/* ── Fade-in animations with African warmth ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes goldPulse{0%,100%{box-shadow:0 0 0 0 rgba(184,120,64,.3)}50%{box-shadow:0 0 0 8px rgba(184,120,64,0)}}
.hero-content h1{animation:fadeUp .9s ease both}
.hero-content .hero-eyebrow{animation:fadeUp .6s ease both}
.hero-content .hero-sub{animation:fadeUp 1.1s ease both}
.hero-content .hero-actions{animation:fadeUp 1.3s ease both}
.btn-primary{transition:transform .18s,box-shadow .18s,background .2s}
.btn-primary:hover{transform:translateY(-2px);animation:goldPulse 1.4s ease infinite}
.nav-cta{animation:goldPulse 2s ease 3s 2}

/* ── Floating numbers/stats animation ── */
.ametric{transition:transform .2s}
.ametric:hover{transform:translateY(-4px)}
.about-visual .av-pattern-box{position:relative;overflow:hidden}
.about-visual .av-pattern-box::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(60deg,rgba(184,120,64,.06) 0,rgba(184,120,64,.06) 1px,transparent 1px,transparent 20px);pointer-events:none}

/* ── Pub-card link wrapper ── */
a.pub-card-link{display:contents;text-decoration:none;color:inherit}
.pub-card{cursor:pointer;transition:transform .22s,box-shadow .22s}
.pub-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.5)}

/* ── Section scroll-reveal ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ── Accordion open animation ── */
.mac-body{overflow:hidden;transition:max-height .4s ease}
