
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --void:#09090f;--black:#0d0d16;--dark0:#111119;--dark1:#15151f;--dark2:#1a1a26;
  --panel:#20202e;--brd:#28283c;--brd2:#35354e;--muted:#9090aa;--dim:#62627c;
  --fg:#f0ece2;--fg2:#ccc8bc;--gold:#d4af5a;--gold2:#e8c870;--goldd:#9a7a30;
  --goldp:rgba(212,175,90,.07);--red:#c0392b;
  --fs:'Cormorant Garamond',serif;--fb:'DM Sans',sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);--ease2:cubic-bezier(.16,1,.3,1);
  --crit:#c0392b;--warn:#c8880a;--safe:#2d8f5a;--info:#3a7fc1;
}
html{scroll-behavior:smooth;font-size:18px}
body{background:var(--void);color:var(--fg2);font-family:var(--fb);font-weight:300;line-height:1.75;overflow-x:hidden;cursor:none;font-size:18px}

/* === LANG SYSTEM ===
   All text comes in pairs: .fr and .en
   body.lang-fr shows .fr, hides .en — and vice versa
   block-level: div,p,h*,li → display:block or list-item
   inline: span → display:inline
*/
.fr,.en{display:none}
body.lang-fr .fr{display:block}
body.lang-en .en{display:block}
span.fr,span.en{display:none}
body.lang-fr span.fr{display:inline}
body.lang-en span.en{display:inline}
li.fr,li.en{display:none}
body.lang-fr li.fr{display:list-item}
body.lang-en li.en{display:list-item}

/* === CURSOR === */
#cur{position:fixed;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s}
#cur2{position:fixed;width:28px;height:28px;border:1px solid rgba(212,175,90,.28);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .1s,top .1s,width .3s,height .3s}

/* === NAV === */
nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4rem;border-bottom:1px solid transparent;transition:all .4s var(--ease)}
nav.scrolled{padding:1rem 4rem;background:rgba(9,9,15,.94);backdrop-filter:blur(20px);border-bottom-color:var(--brd)}
.nlogo{font-family:var(--fs);font-size:1.55rem;font-weight:300;letter-spacing:.45em;text-decoration:none;color:var(--fg);display:flex;align-items:baseline;font-style:normal}
.nlogo .rep{font-style:normal;font-weight:300;color:var(--gold);letter-spacing:.45em}

.nav-menu-btn{display:flex;align-items:center;gap:.65rem;cursor:pointer;color:var(--dim);font-size:.69rem;letter-spacing:.3em;text-transform:uppercase;transition:color .2s;background:none;border:none;font-family:var(--fb);padding:.4rem 0}
.nav-menu-btn:hover{color:var(--gold)}
.nav-menu-btn .lines{display:flex;flex-direction:column;gap:4px}
.nav-menu-btn .lines span{display:block;width:18px;height:1px;background:currentColor;transition:all .3s}
.nav-menu-btn.is-open .lines span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-menu-btn.is-open .lines span:nth-child(2){opacity:0}
.nav-menu-btn.is-open .lines span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.nright{display:flex;align-items:center;gap:1rem}
.ltgl{display:flex;border:1px solid var(--brd2)}
.lbtn{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .7rem;cursor:pointer;border:none;background:transparent;font-family:var(--fb);color:var(--dim);transition:all .2s}
.lbtn.on{background:var(--gold);color:var(--void);font-weight:500}
.lbtn:not(.on):hover{color:var(--gold)}
.ncta{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.48rem 1.3rem;border:1px solid var(--goldd);color:var(--gold);background:transparent;text-decoration:none;transition:all .25s;cursor:pointer;font-family:var(--fb)}
.ncta:hover{background:var(--gold);color:var(--void)}
.ncta-hot{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.48rem 1.1rem;border:1px solid rgba(192,57,43,.45);color:#e05050;background:transparent;text-decoration:none;transition:all .25s;cursor:pointer;font-family:var(--fb);display:flex;align-items:center;gap:.5rem}
.hot-pulse{width:6px;height:6px;background:#e74c3c;border-radius:50%;position:relative;flex-shrink:0}
.hot-pulse::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(231,76,60,.35);animation:hotring 1.8s ease-out infinite}
@keyframes hotring{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.5);opacity:0}}
.ncta-hot:hover{background:rgba(192,57,43,.12);color:var(--fg)}

/* DROPDOWN */
.dd-overlay{position:fixed;inset:0;top:62px;z-index:280;pointer-events:none}
.dd-overlay.open{pointer-events:all}
.dd-panel{position:fixed;top:62px;left:0;right:0;z-index:290;background:var(--dark1);border-bottom:1px solid var(--brd);padding:2.4rem 4rem 3rem;display:grid;grid-template-columns:1.2fr 2px 1.4fr 2px 1fr;gap:0 2.5rem;transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .35s var(--ease2),opacity .35s var(--ease2)}
.dd-panel.open{transform:none;opacity:1;pointer-events:all}
.dd-col-title{font-family:var(--fs);font-size:1.7rem;font-weight:300;color:var(--fg);margin-bottom:1.4rem;line-height:1.1}
.dd-col-title em{font-style:normal;color:var(--gold)}
.dd-links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.dd-links a{font-size:.91rem;letter-spacing:.08em;text-transform:none;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:.65rem;transition:color .2s;padding:.25rem 0}
.dd-links a::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;opacity:.45;flex-shrink:0;transition:opacity .2s}
.dd-links a:hover{color:var(--gold)}
.dd-links a:hover::before{opacity:1}
.dd-sep{background:var(--brd);width:1px;height:auto}
.dd-contact p{font-size:.8rem;color:var(--muted);line-height:1.75;margin-bottom:1rem}
.dd-hotlink{display:flex;align-items:center;gap:.55rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#e05050;text-decoration:none;margin-top:1.2rem}
.dd-hotlink-dot{width:5px;height:5px;background:#e74c3c;border-radius:50%;animation:blink 1.4s ease-in-out infinite}

/* MOBILE */
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.3rem}
.hbg span{width:22px;height:1px;background:var(--fg)}
.mmenu{display:none;position:fixed;inset:0;top:62px;z-index:290;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:rgba(9,9,15,.98);backdrop-filter:blur(20px)}
.mmenu.open{display:flex}
.mmenu a{font-family:var(--fs);font-size:2rem;font-weight:300;color:var(--fg);text-decoration:none;letter-spacing:.1em;transition:color .2s}
.mmenu a:hover{color:var(--gold)}
.mlang{display:flex;gap:1rem;margin-top:.5rem}
.mlang button{font-size:.91rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .9rem;border:1px solid var(--brd2);background:transparent;cursor:pointer;font-family:var(--fb);color:var(--muted);transition:all .2s}
.mlang button.on{background:var(--gold);border-color:var(--gold);color:var(--void);font-weight:500}

/* === HERO === */
#hero{position:relative;height:100vh;min-height:720px;display:flex;align-items:center;background:var(--void);overflow:hidden}

.hero-map{position:absolute;right:0;top:0;bottom:0;width:64%;pointer-events:none}
.hero-map img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.55;filter:brightness(.9) saturate(.65)}
.hero-map-left{position:absolute;inset:0;background:linear-gradient(to right,var(--void) 0%,rgba(9,9,15,.82) 25%,rgba(9,9,15,.35) 55%,rgba(9,9,15,.45) 100%)}
.hero-map-vign{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,9,15,.5) 0%,transparent 18%,transparent 82%,rgba(9,9,15,.6) 100%)}

.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(212,175,90,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,90,.022) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.hero-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,90,.26),transparent);animation:scan 9s linear infinite;pointer-events:none;z-index:3}
@keyframes scan{0%{top:-2px}100%{top:100%}}

.hero-radar{position:absolute;right:16%;top:50%;transform:translateY(-50%);width:320px;height:320px;pointer-events:none;opacity:.5}
.rring{position:absolute;border-radius:50%;border:1px solid rgba(212,175,90,.11);top:50%;left:50%;transform:translate(-50%,-50%)}
.rring:nth-child(1){width:70px;height:70px}
.rring:nth-child(2){width:145px;height:145px;animation:rp 4s ease-out infinite .4s}
.rring:nth-child(3){width:230px;height:230px;animation:rp 4s ease-out infinite .9s}
.rring:nth-child(4){width:320px;height:320px;animation:rp 4s ease-out infinite 1.4s;border-color:rgba(212,175,90,.055)}
.rsweep{position:absolute;top:50%;left:50%;width:50%;height:1px;transform-origin:0 50%;background:linear-gradient(to right,rgba(212,175,90,.42),transparent);animation:sweep 7s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
@keyframes rp{0%,100%{opacity:.4}50%{opacity:.88}}
@keyframes blink{0%,100%{opacity:.5}50%{opacity:.15}}

.hud-box{position:absolute;border:1px solid rgba(212,175,90,.14);pointer-events:none}
.hud-1{right:7%;top:13%;width:130px;height:72px}
.hud-2{right:34%;top:18%;width:72px;height:44px}
.hud-3{right:10%;bottom:20%;width:92px;height:56px}

.hcorner{position:absolute;bottom:2.5rem;right:4rem;font-family:var(--fb);font-size:.64rem;letter-spacing:.3em;color:var(--brd2);text-transform:uppercase;display:flex;flex-direction:column;align-items:flex-end;gap:.18rem}
.hcorner span:first-child{color:var(--goldd);opacity:.75}
.scroll-ind{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.45rem}
.scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,transparent,var(--gold));opacity:.3;animation:sa 2s ease-in-out infinite}
.scroll-txt{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--dim)}
@keyframes sa{0%,100%{opacity:.12}50%{opacity:.42}}
@keyframes fup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.hc{position:relative;z-index:4;max-width:1200px;margin:0 auto;padding:0 4rem;width:100%}
.hero-eyebrow{font-size:.56rem;letter-spacing:.48em;text-transform:uppercase;color:var(--goldd);margin-bottom:1.2rem;margin-top:.5rem;display:flex;align-items:center;gap:.9rem;opacity:0;animation:fup .8s var(--ease2) .9s forwards;opacity:.75}
.hero-eyebrow::before{content:'';width:36px;height:1px;background:var(--gold);opacity:.65}
h1.ht{font-family:var(--fs);font-size:clamp(4rem,8vw,8rem);font-weight:300;line-height:.95;letter-spacing:.01em;color:var(--fg)}
.ht-l1{display:block;opacity:0;animation:fup .9s var(--ease2) .5s forwards}
.ht-l2{display:block;color:var(--gold2);font-style:italic;font-weight:300;opacity:0;animation:fup .9s var(--ease2) .7s forwards}
.hero-desc{font-size:.97rem;color:var(--muted);max-width:400px;line-height:1.95;margin-top:1.6rem;margin-bottom:2.6rem;font-weight:300;opacity:0;animation:fup .8s var(--ease2) 1s forwards;text-align:justify}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fup .8s var(--ease2) 1.15s forwards}

.btn-primary{display:inline-flex;align-items:center;gap:.55rem;font-size:.54rem;letter-spacing:.24em;text-transform:uppercase;padding:.6rem 1.5rem;background:var(--gold);color:var(--void);border:none;cursor:pointer;font-family:var(--fb);font-weight:600;text-decoration:none;transition:background .2s}
.btn-primary:hover{background:var(--fg);border-color:var(--fg)}
.btn-ghost{display:inline-flex;align-items:center;gap:.55rem;font-size:.54rem;letter-spacing:.24em;text-transform:uppercase;padding:.6rem 1.5rem;color:var(--fg);border:1px solid rgba(212,175,90,.45);background:none;cursor:pointer;font-family:var(--fb);font-weight:400;text-decoration:none;transition:all .25s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

.gold-bar{height:1px;background:linear-gradient(to right,var(--gold) 0%,rgba(212,175,90,.18) 55%,transparent 100%)}

/* === SECTIONS === */
section{padding:8rem 4rem}
.inn{max-width:1200px;margin:0 auto}
.s-label{font-size:.64rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;display:flex;align-items:center;gap:.95rem}
.s-label::before{content:'';width:22px;height:1px;background:var(--gold);opacity:.65}
h2.s-title{font-family:var(--fs);font-size:clamp(1.8rem,3.2vw,3rem);font-weight:300;line-height:1.1;color:var(--fg);letter-spacing:.02em}
h2.s-title em{font-style:italic;color:var(--gold2);font-weight:300}
.s-sub{font-size:.79rem;color:var(--muted);line-height:1.95;max-width:440px;font-weight:300}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4.5rem}

/* PILLARS */
#pillars{background:var(--dark0);padding:0}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.pillar{position:relative;overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:2.6rem;cursor:default;border-right:1px solid var(--brd)}
.pillar:last-child{border-right:none}
.pillar-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.14) brightness(.37);transition:filter .6s,transform .6s}
.pillar:hover .pillar-bg{filter:saturate(.44) brightness(.52);transform:scale(1.04)}
.pillar-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,9,15,.97) 28%,rgba(9,9,15,.24) 100%)}
.pillar-content{position:relative;z-index:2}
.pillar-num{font-family:var(--fs);font-size:3.2rem;font-weight:300;color:var(--gold);opacity:.17;position:absolute;top:1.8rem;right:2.2rem;line-height:1;transition:opacity .4s}
.pillar:hover .pillar-num{opacity:.36}
.pillar-icon{width:30px;height:30px;margin-bottom:1.6rem;stroke:var(--gold);stroke-width:1.2;fill:none;opacity:.58;transition:opacity .3s}
.pillar:hover .pillar-icon{opacity:1}
.pillar-tag{font-size:.49rem;letter-spacing:.35em;text-transform:uppercase;color:var(--goldd);margin-bottom:.48rem}
.pillar-title{font-family:var(--fs);font-size:1.28rem;font-weight:500;color:var(--fg);line-height:1.2;margin-bottom:.62rem;letter-spacing:.03em}
.pillar-desc{font-size:.78rem;color:var(--muted);line-height:1.85;font-weight:300}
.pillar-cta{display:flex;align-items:center;gap:.5rem;margin-top:1.3rem;font-size:.81rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.pillar-cta::after{content:'→'}
.pillar:hover .pillar-cta{opacity:1;transform:none}

/* QUOTE */
#quote{background:var(--void);position:relative;overflow:hidden;padding:9rem 4rem}
.quote-bg{position:absolute;inset:0;background:radial-gradient(ellipse 52% 52% at 50% 50%,var(--goldp),transparent)}
.quote-wrap{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto}
.quote-mark{font-family:var(--fs);font-size:7rem;font-weight:300;color:var(--gold);opacity:.12;line-height:0;display:block;margin-bottom:1.2rem;margin-top:2rem}
blockquote.mq{font-family:var(--fs);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:300;font-style:italic;color:var(--fg);line-height:1.6;letter-spacing:.02em}
blockquote.mq em{font-style:normal;color:var(--gold2)}
.quote-attr{margin-top:1.8rem;font-size:.69rem;letter-spacing:.4em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;justify-content:center;gap:1.2rem}
.quote-attr::before,.quote-attr::after{content:'';width:26px;height:1px;background:var(--brd2)}

/* CHIFFRES */
#chiffres{background:var(--dark1)}
.chiffres-inner{border:1px solid var(--brd);display:grid;grid-template-columns:repeat(4,1fr)}
.chiffre-item{padding:2.8rem 2.4rem;border-right:1px solid var(--brd);position:relative;overflow:hidden;transition:background .3s}
.chiffre-item:last-child{border-right:none}
.chiffre-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.chiffre-item:hover::before{transform:scaleX(1)}
.chiffre-item:hover{background:var(--goldp)}
.chiffre-icon{width:20px;height:20px;stroke:var(--goldd);stroke-width:1.3;fill:none;margin-bottom:1.4rem;opacity:.54}
.chiffre-num{font-family:var(--fs);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:300;color:var(--gold2);line-height:1;margin-bottom:.42rem}
.chiffre-label{font-size:.69rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:.42rem}
.chiffre-sub{font-size:.72rem;color:var(--muted);line-height:1.75;font-weight:300}

/* PUBLICATIONS */
#publications{background:var(--void);padding:0}

/* ═══════════════════════════════════════
   SECTION DASHBOARD — aperçu + accès démo
   ═══════════════════════════════════════ */
#dashboard-section{
  background:var(--dark0);
  padding:8rem 4rem 6rem;
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
/* grille de fond subtile */
#dashboard-section::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(212,175,90,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,90,.015) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
.db-sec-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2}

/* En-tête de section */
.db-sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem}
.db-sec-cta-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.db-sec-label{font-size:.59rem;letter-spacing:.22em;color:var(--dim);text-transform:uppercase;font-style:italic}

/* Bouton accès démo */
.btn-demo{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  padding:.85rem 2rem;
  background:transparent;
  border:1px solid var(--goldd);
  color:var(--gold);
  cursor:pointer;font-family:var(--fb);
  transition:all .3s var(--ease);
  position:relative;overflow:hidden;
  text-decoration:none;
}
.btn-demo::before{
  content:'';position:absolute;inset:0;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform .3s var(--ease);
  z-index:0;
}
.btn-demo:hover::before{transform:none}
.btn-demo:hover{color:var(--void)}
.btn-demo span,.btn-demo svg{position:relative;z-index:1}
.btn-demo-dot{width:6px;height:6px;background:#e74c3c;border-radius:50%;animation:hotring 1.8s ease-out infinite;flex-shrink:0;position:relative;z-index:1}

/* Aperçu screenshot du dashboard */
.db-preview-wrap{
  position:relative;
  border:1px solid var(--brd2);
  box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 0 1px rgba(212,175,90,.06),inset 0 1px 0 rgba(212,175,90,.07);
  overflow:hidden;
}

/* Barre de fenêtre */
.db-chrome{
  display:flex;align-items:center;gap:.8rem;
  padding:.55rem 1.2rem;
  background:rgba(9,9,15,.99);
  border-bottom:1px solid var(--brd);
  flex-shrink:0;
}
.db-chrome-dots{display:flex;gap:.38rem}
.db-chrome-dot{width:10px;height:10px;border-radius:50%}
.db-chrome-dot:nth-child(1){background:rgba(192,57,43,.75)}
.db-chrome-dot:nth-child(2){background:rgba(200,136,10,.55)}
.db-chrome-dot:nth-child(3){background:rgba(45,143,90,.55)}
.db-chrome-url{flex:1;font-family:monospace;font-size:.64rem;color:var(--dim);text-align:center;letter-spacing:.04em}
.db-chrome-url em{color:var(--gold);font-style:normal;opacity:.8}
.db-chrome-live{display:flex;align-items:center;gap:.38rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#e05050}
.db-chrome-ldot{width:5px;height:5px;background:#e74c3c;border-radius:50%;position:relative}
.db-chrome-ldot::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(231,76,60,.3);animation:hotring 1.8s ease-out infinite}
.db-chrome-ts{font-family:monospace;font-size:.62rem;color:var(--dim)}

/* Contenu aperçu */
.db-preview-body{
  display:grid;
  grid-template-columns:200px 1fr 200px;
  height:420px;
  overflow:hidden;
  background:var(--dark1);
  position:relative;
}

/* Sidebar gauche */
.db-prev-left{
  background:var(--dark0);
  border-right:2px solid var(--brd2);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.db-prev-sec{padding:.5rem .8rem;border-bottom:1px solid var(--brd);flex-shrink:0}
.db-prev-sec-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:.5rem}
.db-prev-chip{display:flex;align-items:center;gap:.38rem;padding:.28rem .4rem;cursor:default;font-size:.81rem;color:var(--muted);border-radius:2px;margin-bottom:.15rem;transition:background .15s}
.db-prev-chip.on{color:var(--gold);background:rgba(212,175,90,.08)}
.db-prev-chip-ico{font-size:.69rem;opacity:.5;width:12px;text-align:center}

/* Zone principale feed */
.db-prev-mid{display:flex;flex-direction:column;overflow:hidden}

/* Bande marché */
.db-prev-strip{
  display:flex;align-items:stretch;
  background:rgba(20,20,32,.9);
  border-bottom:1px solid var(--brd);
  overflow:hidden;flex-shrink:0;
}
.db-prev-mi{display:flex;flex-direction:column;justify-content:center;padding:.2rem .7rem;border-right:1px solid var(--brd);gap:.03rem;flex-shrink:0}
.db-prev-mi:last-child{border-right:none;margin-left:auto}
.db-prev-ml{font-size:.36rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.db-prev-mv{font-family:var(--fs);font-size:1rem;color:var(--fg);font-weight:300}
.db-prev-mc{font-family:monospace;font-size:.69rem}
.db-prev-mc.up{color:#2d8f5a}.db-prev-mc.dn{color:#c0392b}.db-prev-mc.w{color:#c8880a}

/* Tiers */
.db-prev-tiers{display:flex;background:rgba(11,11,18,.98);border-bottom:1px solid var(--brd);flex-shrink:0}
.db-prev-tier{flex:1;font-size:.69rem;letter-spacing:.16em;text-transform:uppercase;padding:.38rem .3rem;display:flex;align-items:center;justify-content:center;gap:.28rem;border-bottom:2px solid transparent;color:var(--dim)}
.db-prev-tier.c{border-bottom-color:var(--red);color:#e05050;background:rgba(192,57,43,.05)}
.db-prev-tier.a{border-bottom-color:rgba(200,136,10,.5);color:rgba(200,136,10,.9)}
.db-prev-tier.m{border-bottom-color:rgba(58,127,193,.4);color:rgba(58,127,193,.75)}
.db-prev-tier.all{color:var(--goldd);border-bottom-color:rgba(212,175,90,.3)}
.db-prev-pip{width:4px;height:4px;border-radius:50%;flex-shrink:0}
.db-prev-tier.c .db-prev-pip{background:#c0392b;box-shadow:0 0 5px rgba(192,57,43,.8)}
.db-prev-tier.a .db-prev-pip{background:#c8880a}
.db-prev-tier.m .db-prev-pip{background:#3a7fc1}
.db-prev-tier.all .db-prev-pip{background:var(--gold)}
.db-prev-tct{font-size:.34rem;padding:.02rem .18rem;background:rgba(255,255,255,.06);min-width:.85rem;text-align:center}
.db-prev-tier.c .db-prev-tct{background:rgba(192,57,43,.18);color:#e05050}

/* Feed items */
.db-prev-feed{flex:1;overflow:hidden;display:flex;flex-direction:column}
.db-prev-item{padding:.55rem 1rem .5rem;border-bottom:1px solid var(--brd);flex-shrink:0;position:relative}
.db-prev-item.tc{border-left:3px solid rgba(192,57,43,.8)}
.db-prev-item.ta{border-left:3px solid rgba(200,136,10,.65)}
.db-prev-item.tw{border-left:2px solid rgba(212,175,90,.5)}
.db-prev-item.tm{border-left:2px solid rgba(58,127,193,.3)}
.db-prev-ibadge{font-size:.81rem;letter-spacing:.14em;text-transform:uppercase;padding:.05rem .3rem;border:1px solid;display:inline-block;margin-bottom:.22rem}
.db-prev-ibadge.c{border-color:rgba(192,57,43,.5);color:#c0392b;background:rgba(192,57,43,.09)}
.db-prev-ibadge.a{border-color:rgba(200,136,10,.4);color:#c8880a;background:rgba(200,136,10,.07)}
.db-prev-ibadge.w{border-color:rgba(212,175,90,.4);color:var(--gold);background:rgba(212,175,90,.07)}
.db-prev-ibadge.m{border-color:rgba(58,127,193,.3);color:#3a7fc1;background:rgba(58,127,193,.06)}
.db-prev-irow{display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem;margin-bottom:.18rem}
.db-prev-ititle{font-size:.83rem;color:var(--fg);line-height:1.3;flex:1;font-weight:400}
.db-prev-itime{font-family:monospace;font-size:.83rem;color:var(--dim);flex-shrink:0}
.db-prev-igeo{font-size:.81rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:.15rem}
.db-prev-iprev{font-size:.78rem;color:var(--muted);line-height:1.5}

/* Sidebar droite */
.db-prev-right{
  background:var(--dark0);
  border-left:2px solid var(--brd2);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.db-prev-rhead{padding:.5rem .8rem;border-bottom:1px solid var(--brd);font-size:.69rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}
.db-prev-ritem{padding:.55rem .8rem;border-bottom:1px solid var(--brd);flex-shrink:0}
.db-prev-rname{font-size:.81rem;color:var(--fg);margin-bottom:.15rem;font-weight:400}
.db-prev-rspec{font-size:.83rem;color:var(--muted);line-height:1.4;margin-bottom:.22rem}
.db-prev-ravail{font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;color:#2d8f5a;display:flex;align-items:center;gap:.3rem}
.db-prev-ravail::before{content:'';width:4px;height:4px;background:#2d8f5a;border-radius:50%;flex-shrink:0}

/* Scan line sur l'aperçu */
.db-prev-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,90,.15),transparent);animation:scan 5s linear infinite;pointer-events:none;z-index:5}
@keyframes scan{0%{top:0}100%{top:100%}}

/* Overlay hover — "Accéder au dashboard" */
.db-preview-overlay{
  position:absolute;inset:0;
  background:rgba(9,9,15,.0);
  display:flex;align-items:center;justify-content:center;
  transition:background .35s var(--ease);
  z-index:10;
}
.db-preview-wrap:hover .db-preview-overlay{background:rgba(9,9,15,.55)}
.db-overlay-cta{
  display:flex;flex-direction:column;align-items:center;gap:1rem;
  opacity:0;transform:translateY(10px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
  pointer-events:none;
}
.db-preview-wrap:hover .db-overlay-cta{opacity:1;transform:none}
.db-overlay-btn{
  font-size:.89rem;letter-spacing:.26em;text-transform:uppercase;
  padding:.9rem 2.4rem;background:var(--gold);color:var(--void);
  border:none;cursor:pointer;font-family:var(--fb);font-weight:500;
  display:flex;align-items:center;gap:.7rem;
  transition:background .2s;
}
.db-overlay-btn:hover{background:var(--fg)}
.db-overlay-sub{font-size:.61rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,236,226,.55)}

/* Vignette bas de l'aperçu */
.db-prev-vign{
  position:absolute;bottom:0;left:0;right:0;height:80px;
  background:linear-gradient(to bottom,transparent,rgba(13,13,20,.92));
  pointer-events:none;z-index:4;
}

/* Modal plein écran dashboard */
.db-modal-bg{
  position:fixed;inset:0;z-index:9999;
  background:var(--void);
  display:none;flex-direction:column;
  transition:opacity .3s;
}
.db-modal-bg.open{display:flex}
.db-modal-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 2rem;
  background:rgba(9,9,15,.99);
  border-bottom:1px solid var(--brd);
  flex-shrink:0;
  height:48px;
}
.db-modal-title{font-family:var(--fs);font-size:1rem;font-weight:300;color:var(--fg);letter-spacing:.15em}
.db-modal-title em{color:var(--gold);font-style:italic}
.db-modal-close{
  background:none;border:1px solid var(--brd2);cursor:pointer;
  color:var(--muted);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.35rem .9rem;font-family:var(--fb);transition:all .2s;display:flex;align-items:center;gap:.5rem;
}
.db-modal-close:hover{color:var(--fg);border-color:var(--fg)}
.db-modal-frame{flex:1;width:100%;height:calc(100vh - 48px);border:none;display:block;background:var(--dark0)}
.pub-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}
.pub-more{font-size:.81rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--brd2);padding-bottom:.2rem;transition:color .2s,border-color .2s}
.pub-more:hover{color:var(--gold);border-color:var(--gold)}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--brd)}
.pub-card{background:var(--dark0);overflow:hidden;transition:background .3s;cursor:default}
.pub-card:hover{background:var(--dark2)}
.pub-img{width:100%;height:195px;object-fit:cover;display:block;filter:saturate(.18) brightness(.6);transition:filter .5s,transform .5s}
.pub-card:hover .pub-img{filter:saturate(.48) brightness(.76);transform:scale(1.03)}
.pub-bar{height:2px;background:var(--brd);position:relative;overflow:hidden}
.pub-bar::after{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:var(--gold);transition:width .5s var(--ease)}
.pub-card:hover .pub-bar::after{width:100%}
.pub-body{padding:1.7rem 1.9rem}
.pub-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.88rem}
.pub-tag{font-size:.61rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--goldd);padding:.15rem .58rem}
.pub-date{font-size:.69rem;color:var(--dim);letter-spacing:.1em}
.pub-title{font-family:var(--fs);font-size:1.1rem;font-weight:400;color:var(--fg);line-height:1.35;margin-bottom:.62rem;letter-spacing:.02em}
.pub-excerpt{font-size:.87rem;color:var(--muted);line-height:1.88;font-weight:300}
.pub-footer{margin-top:1.1rem;padding-top:.82rem;border-top:1px solid var(--brd);display:flex;justify-content:space-between;align-items:center}
.pub-stamp{font-size:.91rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brd2)}
.pub-arrow{font-size:.83rem;color:var(--gold);opacity:0;transition:opacity .25s}
.pub-card:hover .pub-arrow{opacity:1}

/* SERVICES */
#services{background:var(--void);padding:5rem 0 0}
.svc-header{padding:0 0 3rem;display:flex;justify-content:space-between;align-items:flex-end}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05)}
.svc{background:var(--dark0);overflow:hidden;transition:background .3s;cursor:default}
.svc:hover{background:var(--dark2)}
.svc-img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(.18) brightness(.55);transition:filter .5s,transform .5s}
.svc:hover .svc-img{filter:saturate(.55) brightness(.78);transform:scale(1.03)}
.svc-bar{height:2px;background:var(--brd);position:relative;overflow:hidden}
.svc-bar::after{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(to right,var(--gold),var(--goldd));transition:width .5s var(--ease)}
.svc:hover .svc-bar::after{width:100%}
.svc-body{padding:1.7rem 1.9rem 2rem}
.svc-num{font-size:.57rem;letter-spacing:.35em;color:var(--goldd);margin-bottom:.7rem}
.svc-name{font-family:var(--fs);font-size:1.05rem;font-weight:400;color:var(--fg);line-height:1.25;margin-bottom:.6rem}
.svc-desc{font-size:.82rem;color:var(--muted);line-height:1.9;font-weight:300}
/* Expert band */



/* Expert — rangée séparée sobre */
.svc-expert-band{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:0;padding:2.8rem 0;border-top:1px solid rgba(212,175,90,.08);background:var(--dark0);margin-top:1px}
.exp-band-num{font-size:.56rem;letter-spacing:.35em;color:var(--goldd);margin-bottom:.5rem}
.exp-band-badge{font-size:.56rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.exp-band-title{font-family:var(--fs);font-size:1.12rem;font-weight:400;color:var(--fg);line-height:1.3;margin-bottom:.6rem;letter-spacing:.02em}
.exp-band-desc{font-size:.78rem;color:var(--muted);line-height:1.9;font-weight:300}
.exp-profiles-label{font-size:.56rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem}
.exp-profile{display:none;padding:.6rem .7rem .6rem 0;border-bottom:1px solid rgba(255,255,255,.04);cursor:default;transition:background .2s,padding-left .2s;position:relative;margin-left:-0.7rem}
.exp-profile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .25s var(--ease2)}
.exp-profile:hover{background:rgba(212,175,90,.05);padding-left:.7rem}
.exp-profile:hover::before{transform:scaleY(1)}
.exp-profile:hover .exp-profile-name{color:var(--fg)}
.exp-profile:hover .exp-profile-sub{color:rgba(212,175,90,.55)}
.lang-fr .exp-profile.fr{display:block}
.lang-en .exp-profile.en{display:block}
.exp-profile-name{font-size:.78rem;color:var(--fg2);font-weight:300;line-height:1.4;transition:color .2s}
.exp-profile-sub{font-size:.63rem;color:var(--dim);line-height:1.5;margin-top:.12rem;transition:color .2s}


/* Expert */
.svc-expert{grid-column:1/-1;min-height:280px;background:linear-gradient(135deg,rgba(212,175,90,.07) 0%,var(--void) 60%)!important}
.svc-expert .svc-img{filter:saturate(.1) brightness(.22)!important}
.svc-expert:hover .svc-img{filter:saturate(.25) brightness(.3)!important;transform:none!important}
.svc-expert .svc-body{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:3.5rem;top:0;bottom:0;height:100%}


/* Liste services droite */
.svc-showcase-right{padding:8rem 5rem;display:flex;flex-direction:column;justify-content:center;gap:0}
.svc-line{display:flex;align-items:baseline;gap:1.5rem;padding:1.9rem 0;border-bottom:1px solid var(--brd);cursor:pointer;transition:padding-left .3s;position:relative;overflow:hidden}
.svc-line::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease2)}
.svc-line:hover{padding-left:.8rem}
.svc-line:hover::before{transform:scaleY(1)}
.svc-line-num{font-family:var(--fs);font-size:1.05rem;color:var(--goldd);opacity:.5;flex-shrink:0;width:2.5rem}
.svc-line-name{font-family:var(--fs);font-size:1.7rem;font-weight:300;color:var(--fg);flex:1;line-height:1}
.svc-line-tag{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);flex-shrink:0}
.svc-line-arrow{color:var(--gold);opacity:0;font-size:1.05rem;transition:opacity .25s,transform .25s;transform:translateX(-6px);flex-shrink:0}
.svc-line:hover .svc-line-arrow{opacity:1;transform:none}

/* ── Modal catalogue ── */
.svc-modal{position:fixed;inset:0;z-index:600;background:rgba(9,9,15,.98);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:opacity .4s;display:flex;flex-direction:column}
.svc-modal.open{opacity:1;pointer-events:all}
.svc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.8rem 4rem;border-bottom:1px solid var(--brd);flex-shrink:0}
.svc-modal-close{background:none;border:1px solid var(--brd2);color:var(--dim);cursor:pointer;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem 1rem;font-family:var(--fb);transition:border-color .2s,color .2s}
.svc-modal-close:hover{border-color:var(--gold);color:var(--gold)}
.svc-modal-panels{flex:1;position:relative;overflow:hidden}
.svc-panel{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateX(40px)}
.svc-panel.active{opacity:1;pointer-events:all;transform:none}
.svc-panel-inner{flex:1;display:flex;flex-direction:column;justify-content:center;padding:5rem 8rem;max-width:900px}
.svc-panel-num{font-family:var(--fs);font-size:6rem;font-weight:300;color:var(--gold);opacity:.07;line-height:1;margin-bottom:-.5rem}
.svc-panel-tag{font-size:.59rem;letter-spacing:.38em;text-transform:uppercase;color:var(--goldd);margin-bottom:1rem}
.svc-panel-name{font-family:var(--fs);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;color:var(--fg);line-height:1.1;margin-bottom:1.5rem}
.svc-panel-desc{font-size:.84rem;color:var(--fg2);line-height:1.95;max-width:58ch;font-weight:300;margin-bottom:1.2rem}
.svc-panel-detail{font-size:.93rem;color:var(--muted);line-height:1.9;max-width:58ch;border-left:2px solid rgba(212,175,90,.3);padding-left:1.2rem}
.svc-panel-nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 8rem;border-top:1px solid var(--brd);flex-shrink:0}
.svc-nav-btn{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.81rem;letter-spacing:.18em;text-transform:uppercase;font-family:var(--fb);transition:color .2s;padding:.4rem 0}
.svc-nav-btn:hover{color:var(--gold)}
.svc-nav-count{font-size:.59rem;letter-spacing:.3em;color:var(--goldd)}
/* OLD grid CSS removed */
.svc-card{display:none}.svc-card-expert{display:none}.svc-exp-col{display:none}
.svc-modal{position:fixed;inset:0;z-index:600;background:rgba(9,9,15,.98);backdrop-filter:blur(20px);overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .4s var(--ease2);display:flex;flex-direction:column}
.svc-modal.open{opacity:1;pointer-events:all}
.svc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:2rem 4rem;border-bottom:1px solid var(--brd);position:sticky;top:0;background:rgba(9,9,15,.97);z-index:10;backdrop-filter:blur(10px)}
.svc-modal-close{background:none;border:1px solid var(--brd2);color:var(--dim);cursor:pointer;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem 1rem;font-family:var(--fb);transition:border-color .2s,color .2s}
.svc-modal-close:hover{border-color:var(--gold);color:var(--gold)}
.svc-modal-body{padding:4rem;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--brd);flex:1}
.svc-card{background:var(--dark0);padding:3rem 2.8rem;position:relative;overflow:hidden;transition:background .3s}
.svc-card:hover{background:var(--dark1)}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease2)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card-num{font-family:var(--fs);font-size:3.5rem;font-weight:300;color:var(--gold);opacity:.07;position:absolute;top:1.2rem;right:1.8rem;line-height:1;transition:opacity .3s}
.svc-card:hover .svc-card-num{opacity:.2}
.svc-card-tag{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--goldd);margin-bottom:.7rem}
.svc-card-name{font-family:var(--fs);font-size:1.4rem;font-weight:400;color:var(--fg);margin-bottom:.9rem;line-height:1.2}
.svc-card-desc{font-size:.92rem;color:var(--muted);line-height:1.95;font-weight:300}
.svc-card-expert{grid-column:1/-1;background:linear-gradient(135deg,rgba(212,175,90,.06),var(--dark0))!important;display:grid!important;grid-template-columns:2fr 2fr 1fr;padding:0!important}
.svc-card-expert::after{display:none}
.svc-exp-col{padding:3rem 2.8rem;border-right:1px solid var(--brd)}
.svc-exp-col:last-child{border-right:none;display:flex;align-items:center;justify-content:center}


/* Carte 04 : plus large */
/* HOTLINES */
.hot-modal-bg{position:fixed;inset:0;z-index:500;background:rgba(9,9,15,.95);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.hot-modal-bg.open{opacity:1;pointer-events:all}
.hot-modal{background:var(--dark1);border:1px solid rgba(192,57,43,.26);width:96%;max-width:1060px;max-height:92vh;overflow-y:auto;transform:translateY(14px);transition:transform .4s var(--ease2)}
.hot-modal-bg.open .hot-modal{transform:none}
.hot-head{padding:1.7rem 2.4rem 1.35rem;border-bottom:1px solid rgba(192,57,43,.16);display:flex;justify-content:space-between;align-items:flex-start}
.hot-title{font-family:var(--fs);font-size:1.1rem;font-weight:300;color:var(--fg);display:flex;align-items:center;gap:.6rem}
.hot-dot{width:7px;height:7px;background:#e74c3c;border-radius:50%;animation:blink 1.4s ease-in-out infinite;flex-shrink:0}
.hot-sub{font-size:.78rem;color:var(--muted);margin-top:.26rem;font-weight:300}
.hot-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;padding:.3rem;transition:color .2s}
.hot-close:hover{color:var(--fg)}
.hot-body{padding:1.7rem 2.4rem}

.globe-legend{display:flex;gap:1.5rem;margin-bottom:1.2rem;font-size:.64rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap}
.globe-legend span{display:flex;align-items:center;gap:.38rem}.globe-legend span span.fr,.globe-legend span span.en{display:none}.lang-fr .globe-legend span span.fr{display:inline}.lang-en .globe-legend span span.en{display:inline}
.hot-operator{background:var(--dark2);border:1px solid rgba(192,57,43,.16);padding:1.35rem 1.7rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.op-left h4{font-family:var(--fb);font-size:.72rem;font-weight:400;letter-spacing:.08em;color:var(--fg);margin-bottom:.3rem}
.op-left p{font-family:var(--fb);font-size:.72rem;color:var(--muted);line-height:1.6;font-weight:300}
.op-right{display:flex;gap:.68rem;flex-shrink:0}
.btn-op{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1.1rem;cursor:pointer;font-family:var(--fb);font-weight:500;transition:all .2s;border:none}
.btn-op-call{background:#c0392b;color:var(--fg)}
.btn-op-call:hover{background:#e74c3c}
.btn-op-chat{background:transparent;border:1px solid rgba(192,57,43,.42)!important;color:#e05050}
.btn-op-chat:hover{background:rgba(192,57,43,.1);color:var(--fg)}
.hot-notice{margin-top:.88rem;font-size:.75rem;color:var(--muted);font-style:italic;text-align:center}

/* APPROACH BANNER */
.approach-banner{position:relative;height:380px;overflow:hidden}
.approach-banner img{width:100%;height:100%;object-fit:cover;filter:saturate(.1) brightness(.4);display:block}
.approach-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(9,9,15,.95) 38%,rgba(9,9,15,.15) 100%)}
.approach-txt{position:absolute;top:50%;left:4rem;transform:translateY(-50%);max-width:540px}
.approach-txt h2{font-family:var(--fs);font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:300;color:var(--fg);margin-bottom:.88rem;line-height:1.15}
.approach-txt p{font-size:.92rem;color:var(--muted);line-height:1.9;font-weight:300}

/* APPROACH SPLIT */
#approach{padding:0}
.split-grid{display:grid;grid-template-columns:1fr 1fr}
.split-img{position:relative;overflow:hidden;min-height:460px}
.split-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.16) brightness(.5);transition:filter .6s,transform .6s;display:block}
.split-grid:hover .split-img img{filter:saturate(.4) brightness(.66);transform:scale(1.03)}
.split-img-ov{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--void) 100%)}
.split-content{background:var(--void);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.steps{margin-top:1.9rem;display:flex;flex-direction:column;gap:1.35rem}
.step{display:flex;gap:1.4rem;align-items:flex-start}
.step-dot{width:5px;height:5px;background:var(--gold);flex-shrink:0;margin-top:.6rem}
.step-title{font-family:var(--fs);font-size:.97rem;font-weight:500;color:var(--fg);margin-bottom:.18rem;letter-spacing:.03em}
.step-desc{font-size:.87rem;color:var(--muted);line-height:1.82;font-weight:300}

/* MAP */
#mapf{background:var(--dark1);padding:0;position:relative;overflow:hidden}
#mapf img{width:100%;height:480px;object-fit:cover;filter:saturate(.1) brightness(.34);display:block}
.map-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,9,15,.18) 0%,rgba(9,9,15,.6) 50%,var(--dark1) 100%)}
.map-content{position:absolute;bottom:0;left:0;right:0;max-width:1200px;margin:0 auto;padding:4rem;display:flex;justify-content:space-between;align-items:flex-end}
.map-stat-n{font-family:var(--fs);font-size:2.1rem;font-weight:300;color:var(--gold2);line-height:1}
.map-stat-l{font-size:.83rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-top:.1rem}
.map-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 3rem;text-align:right}


/* WHY */
#why{background:var(--void)}
.why-top{text-align:left;max-width:100%;margin:0 0 4rem}
.why-top .s-label{justify-content:center}
.why-top .s-label::before{display:none}
.why-ital{font-family:var(--fs);font-size:clamp(.92rem,1.6vw,1.1rem);font-style:italic;color:var(--muted);line-height:1.75;margin-top:.5rem}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.05)}
.why-block{background:var(--void);padding:2.5rem 2.8rem;text-align:left;transition:background .3s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.7rem}
.why-block:hover{background:var(--goldp)}
.why-n{font-size:.48rem;letter-spacing:.3em;color:var(--goldd);margin-bottom:.2rem;display:block}
.why-block:hover .why-n{opacity:.36}
.why-name{font-family:var(--fs);font-size:1.05rem;font-weight:400;color:var(--fg);margin-bottom:.5rem;line-height:1.2}
.why-desc{font-size:.78rem;color:var(--muted);line-height:1.92;font-weight:300;max-width:44ch}
.why-quote{margin-top:4.5rem;padding-top:3.5rem;border-top:1px solid var(--brd);text-align:center;max-width:700px;margin-left:auto;margin-right:auto}

/* BRIEFINGS */
#briefings{background:var(--dark1)}
.brief-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--brd)}
.brief-card{background:var(--dark1);transition:background .3s;overflow:hidden}
.brief-card:hover{background:var(--dark2)}
.brief-bar{height:2px;background:var(--brd);position:relative;overflow:hidden}
.brief-bar::after{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:var(--gold);transition:width .4s var(--ease)}
.brief-card:hover .brief-bar::after{width:100%}
.brief-img{width:100%;height:178px;object-fit:cover;display:block;filter:saturate(.14) brightness(.6);transition:filter .5s,transform .5s}
.brief-card:hover .brief-img{filter:saturate(.44) brightness(.8);transform:scale(1.025)}
.brief-body{padding:1.6rem 1.9rem}
.brief-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.82rem}
.brief-tag{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--goldd);padding:.14rem .56rem}
.brief-date{font-size:.69rem;color:var(--dim);letter-spacing:.1em}
.brief-title{font-family:var(--fs);font-size:1.07rem;font-weight:400;color:var(--fg);line-height:1.35;margin-bottom:.6rem}
.brief-ex{font-size:.69rem;color:var(--muted);line-height:1.85;font-weight:300}
.brief-stamp{margin-top:.88rem;padding-top:.7rem;border-top:1px solid var(--brd);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brd2)}

/* FOOTER */
footer{background:var(--void);border-top:1px solid rgba(255,255,255,.05);padding:2.6rem 4rem}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-logo{font-family:var(--fs);font-size:1.45rem;font-weight:300;letter-spacing:.45em;color:var(--fg);display:flex;align-items:baseline;font-style:normal}
.footer-logo .rep{font-style:normal;font-weight:300;color:var(--gold);letter-spacing:.45em}
.footer-sig{font-family:var(--fs);font-size:.87rem;font-style:italic;color:var(--goldd);margin-top:.55rem;opacity:.78}
.footer-links{display:flex;gap:1.8rem;list-style:none}
.footer-links a{font-size:.53rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--gold)}
.footer-copy{font-size:.81rem;color:var(--brd2)}

/* REVEAL */
.r{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease2),transform .7s var(--ease2)}
.r.on{opacity:1;transform:none}
.r1{transition-delay:.1s}.r2{transition-delay:.2s}.r3{transition-delay:.3s}

/* MODALS */
.modal-bg{position:fixed;inset:0;z-index:500;background:rgba(9,9,15,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.modal-bg.open{opacity:1;pointer-events:all}
.modal{background:var(--dark1);border:1px solid var(--brd2);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;transform:translateY(18px);transition:transform .4s var(--ease2)}
.modal-bg.open .modal{transform:none}
.modal-head{padding:2.1rem 2.4rem 1.5rem;border-bottom:1px solid var(--brd);display:flex;justify-content:space-between;align-items:flex-start}
.modal-title{font-family:var(--fs);font-size:1.6rem;font-weight:300;color:var(--fg);line-height:1.2}
.modal-title .gold{color:var(--gold2);font-style:italic}
.modal-sub{font-size:.78rem;color:var(--muted);margin-top:.35rem;font-weight:300}
.modal-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;padding:.3rem;transition:color .2s;flex-shrink:0}
.modal-close:hover{color:var(--fg)}
.modal-body{padding:1.7rem 2.4rem 2.4rem;display:flex;flex-direction:column;gap:1px}
.mfrow{display:grid;grid-template-columns:1fr 1fr;gap:1px}
.mfg{background:var(--dark2);border:1px solid var(--brd);transition:border-color .2s}
.mfg.full{grid-column:1/-1}
.mfg:focus-within{border-color:var(--gold)}
.mfg label{display:block;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:.7rem 1.1rem .1rem}
.mfg input,.mfg select,.mfg textarea{width:100%;background:transparent;border:none;outline:none;font-family:var(--fb);font-size:.78rem;font-weight:300;color:var(--fg);padding:.1rem 1.1rem .7rem;line-height:1.5}
.mfg select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2362627c' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2rem}
.mfg select option{background:var(--dark2);color:var(--fg)}
.mfg textarea{resize:none;height:80px}
.mfg input::placeholder,.mfg textarea::placeholder{color:var(--brd2)}
.modal-notice{font-size:.72rem;color:var(--muted);padding:0 2.4rem .88rem;line-height:1.75;font-style:italic}
.modal-notice::before{content:'— '}
.msub{margin:0 2.4rem 2.4rem;padding:.88rem 1.4rem;background:var(--gold);border:none;cursor:pointer;font-family:var(--fb);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--void);transition:background .2s;display:flex;justify-content:space-between;align-items:center;width:calc(100% - 4.8rem)}
.msub:hover{background:var(--fg)}
/* === ANALYST CONTACT MODAL (Parler à un analyste) === */
.expert-fmt{background:var(--dark2);border:1px solid var(--brd2);padding:.8rem;cursor:pointer;text-align:center;transition:all .18s;width:100%;color:var(--muted)}
.expert-fmt:hover{border-color:var(--gold);background:rgba(212,175,90,.05);color:var(--fg)}
.expert-fmt.on{border-color:var(--gold);background:rgba(212,175,90,.08);color:var(--gold)}
.atype-btn{display:block;width:100%;background:var(--dark2);border:1px solid var(--brd);padding:.6rem .8rem;cursor:pointer;text-align:left;transition:all .15s}
.atype-btn:hover{border-color:var(--brd2)}
.atype-btn.on{border-color:var(--gold);background:rgba(212,175,90,.06)}
.geo-btn{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;padding:.22rem .55rem;background:transparent;border:1px solid var(--brd);color:var(--dim);cursor:pointer;font-family:var(--fb);transition:all .15s;white-space:nowrap}
.geo-btn:hover{border-color:var(--brd2);color:var(--muted)}
.geo-btn.on{border-color:var(--gold);color:var(--gold);background:rgba(212,175,90,.07)}
.expert-card{display:flex;align-items:center;gap:.75rem;background:var(--dark2);border:1px solid var(--brd);padding:.65rem .85rem;cursor:pointer;text-align:left;transition:all .18s;width:100%}
.expert-card:hover{border-color:var(--brd2);background:rgba(255,255,255,.02)}
.expert-card.on{border-color:var(--gold);background:rgba(212,175,90,.06)}
.expert-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:rgba(255,255,255,.8);flex-shrink:0;letter-spacing:.04em}
.expert-name{font-size:.72rem;color:var(--fg);font-weight:500;margin-bottom:.15rem}
.expert-spec{font-size:.58rem;color:var(--muted);margin-bottom:.25rem;line-height:1.4}
.expert-tags{display:flex;flex-wrap:wrap;gap:.2rem}
.etag{font-size:.44rem;letter-spacing:.08em;text-transform:uppercase;padding:.04rem .3rem;border:1px solid var(--brd);color:var(--dim);background:transparent}
.expert-avail{font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--safe);flex-shrink:0;white-space:nowrap}
.expert-avail-busy{color:var(--warn)}

/* HOTLINES */
.hot-modal-bg{position:fixed;inset:0;z-index:500;background:rgba(9,9,15,.95);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.hot-modal-bg.open{opacity:1;pointer-events:all}
.hot-modal{background:var(--dark1);border:1px solid rgba(192,57,43,.26);width:96%;max-width:1060px;max-height:92vh;overflow-y:auto;transform:translateY(14px);transition:transform .4s var(--ease2)}
.hot-modal-bg.open .hot-modal{transform:none}
.hot-head{padding:1.7rem 2.4rem 1.35rem;border-bottom:1px solid rgba(192,57,43,.16);display:flex;justify-content:space-between;align-items:flex-start}
.hot-title{font-family:var(--fs);font-size:1.1rem;font-weight:300;color:var(--fg);display:flex;align-items:center;gap:.6rem}
.hot-dot{width:7px;height:7px;background:#e74c3c;border-radius:50%;animation:blink 1.4s ease-in-out infinite;flex-shrink:0}
.hot-sub{font-size:.98rem;color:var(--muted);margin-top:.26rem;font-weight:300}
.hot-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;padding:.3rem;transition:color .2s}
.hot-close:hover{color:var(--fg)}
.hot-body{padding:1.7rem 2.4rem}
.globe-wrap{background:#04080f;border:1px solid var(--brd);overflow:hidden;margin-bottom:1.3rem;position:relative;height:420px}
.globe-label{position:absolute;top:.8rem;left:1rem;font-size:.61rem;letter-spacing:.3em;text-transform:uppercase;color:var(--goldd);opacity:.65;z-index:5}

.globe-legend{display:flex;gap:1.5rem;margin-bottom:1.2rem;font-size:.89rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap}
.globe-legend span{display:flex;align-items:center;gap:.38rem}.globe-legend span span.fr,.globe-legend span span.en{display:none}.lang-fr .globe-legend span span.fr{display:inline}.lang-en .globe-legend span span.en{display:inline}
.hot-operator{background:var(--dark2);border:1px solid rgba(192,57,43,.16);padding:1.35rem 1.7rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.op-left h4{font-family:var(--fb);font-size:.72rem;font-weight:400;letter-spacing:.08em;color:var(--fg);margin-bottom:.3rem}
.op-left p{font-family:var(--fb);font-size:.72rem;color:var(--muted);line-height:1.6;font-weight:300}
.op-right{display:flex;gap:.68rem;flex-shrink:0}
.btn-op{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1.1rem;cursor:pointer;font-family:var(--fb);font-weight:500;transition:all .2s;border:none}
.btn-op-call{background:#c0392b;color:var(--fg)}
.btn-op-call:hover{background:#e74c3c}
.btn-op-chat{background:transparent;border:1px solid rgba(192,57,43,.42)!important;color:#e05050}
.btn-op-chat:hover{background:rgba(192,57,43,.1);color:var(--fg)}
.hot-notice{margin-top:.88rem;font-size:1.02rem;color:var(--muted);font-style:italic;text-align:center}



/* FOOTER SOCIAL */
.footer-social{display:flex;gap:.9rem;align-items:center}
.footer-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--brd2);color:var(--dim);transition:border-color .2s,color .2s;text-decoration:none}
.footer-social a:hover{border-color:var(--gold);color:var(--gold)}
.footer-social svg{width:15px;height:15px;fill:currentColor;flex-shrink:0}
.footer-copy{font-size:.81rem;color:var(--brd2)}
/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:1.1rem 2rem}nav.scrolled{padding:.85rem 2rem}
  .nav-menu-btn{display:none}.hbg{display:flex}
  section{padding:5rem 2rem}.hc{padding:0 2rem}
  .hero-map{width:100%;opacity:.28}
  .two-col,.split-grid{grid-template-columns:1fr;gap:2rem}
  .pillars-grid,.pub-grid{grid-template-columns:1fr}
  .pillar{border-right:none;border-bottom:1px solid var(--brd);min-height:300px}
  .svc{grid-template-columns:60px 1fr 280px}
  .svc-expert{grid-template-columns:1fr!important}
  .svc-exp-col{border-right:none!important;border-bottom:1px solid var(--brd)}
  .chiffres-inner{grid-template-columns:repeat(2,1fr)}
  .chiffre-item:nth-child(2){border-right:none}
  .chiffre-item:nth-child(3){border-top:1px solid var(--brd)}
  .brief-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .map-content{flex-direction:column;align-items:flex-start;gap:2rem;padding:2.5rem 2rem}
  .map-stats{text-align:left}
  .approach-txt{left:2rem;max-width:88%}.approach-banner{height:290px}
  .footer-inner{flex-direction:column;gap:1.5rem;align-items:flex-start}
  .footer-links{flex-wrap:wrap;gap:1.1rem}
  .hcorner,.scroll-ind,.hero-radar,.hud-box{display:none}
  .dd-panel{display:none}
}
@media(max-width:580px){
  h1.ht{font-size:3.5rem}.hero-btns{flex-direction:column}
  .svc{grid-template-columns:48px 1fr!important}.svc-img-wrap{display:none}.svc-expert{grid-template-columns:1fr!important}
  .why-grid{grid-template-columns:1fr}
  .chiffres-inner{grid-template-columns:1fr}.chiffre-item{border-right:none}
}

a.btn-primary,a.btn-ghost{text-decoration:none}
/* BRIEF CHIPS */
.brief-chip-label{font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);margin-bottom:.6rem}
.brief-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.2rem}
.bchip{background:none;border:1px solid var(--brd2);color:var(--muted);font-size:.6rem;letter-spacing:.1em;padding:.35rem .75rem;cursor:pointer;font-family:var(--fb);transition:all .18s;text-transform:uppercase}
.bchip:hover{border-color:var(--gold);color:var(--fg)}
.bchip.on{border-color:var(--gold);background:rgba(212,175,90,.12);color:var(--gold)}

.step-num{font-family:var(--fs);font-size:.52rem;letter-spacing:.3em;color:var(--goldd);margin-bottom:.4rem}
.step-title{font-family:var(--fs);font-size:1rem;font-weight:400;color:var(--fg);margin-bottom:.4rem;letter-spacing:.02em}
.step-desc{font-size:.76rem;color:var(--muted);line-height:1.9;font-weight:300}
--gold);color:var(--fg)}
.bchip.on{border-color:var(--gold);background:rgba(212,175,90,.12);color:var(--gold)}

/* VISION enhancement */
.vision-section{background:var(--void);padding:8rem 4rem}
.vision-title{font-family:var(--fs);font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:300;color:var(--fg);line-height:1.2;margin-bottom:1.5rem;border-left:3px solid var(--gold);padding-left:1.5rem}
.vision-desc{font-size:.88rem;color:var(--fg2);line-height:2;max-width:60ch;padding-left:calc(1.5rem + 3px);text-align:justify}
.vision-label{margin-bottom:1.5rem;padding-left:calc(1.5rem + 3px)}

.vision-title{font-family:var(--fs);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;color:var(--fg);line-height:1.15;margin-bottom:1.6rem;border-left:2px solid var(--gold);padding-left:1.4rem}
.vision-desc{font-size:.88rem;color:var(--fg2);line-height:2;max-width:58ch;padding-left:calc(1.4rem + 2px);text-align:justify;font-family:var(--fb);font-weight:300}

/* === PAGE ÉQUIPE ===*/
#page-equipe{
  position:fixed;inset:0;z-index:900;
  background:var(--void);
  overflow-y:auto;
  opacity:0;pointer-events:none;
  transition:opacity .4s var(--ease2);
}
#page-equipe.open{opacity:1;pointer-events:all}
.eq-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:rgba(9,9,15,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}
.eq-logo{font-family:var(--fs);font-size:1.1rem;letter-spacing:.08em;color:var(--fg);cursor:default}
.eq-logo span{color:var(--gold)}
.eq-back{font-size:.48rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(212,175,90,.3);padding-bottom:.2rem;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;font-family:var(--fb)}
.eq-main{padding:5rem 4rem 4rem;max-width:1200px;margin:0 auto}
.eq-label{font-size:.48rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:.8rem}
.eq-label::before{content:'';display:block;width:2rem;height:1px;background:var(--gold)}
.eq-title{font-family:var(--fs);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--fg);line-height:1.1;margin-bottom:1rem}
.eq-title em{font-style:italic;color:var(--gold)}
.eq-intro{font-size:.82rem;color:var(--fg2);line-height:1.9;max-width:58ch;font-weight:300;margin-bottom:3rem}
.eq-grid{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.04);margin-bottom:3rem}
.eq-card{background:var(--dark1);border:1px solid rgba(255,255,255,.06);transition:border-color .3s;display:flex;align-items:flex-start;gap:1.8rem;padding:1.8rem 2rem}
.eq-card:hover{border-color:rgba(212,175,90,.4)}
.eq-photo{width:84px;height:84px;border-radius:50%;overflow:hidden;flex-shrink:0}
.eq-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:grayscale(100%) sepia(20%) brightness(.85);transition:filter .4s}
.eq-card:hover .eq-photo img{filter:grayscale(0%) sepia(10%) brightness(1.05)}
.eq-info{flex:1;padding-top:.3rem}
@media(max-width:640px){.eq-card{flex-direction:column;align-items:flex-start;gap:1rem}}
.eq-name{font-family:var(--fs);font-size:1.3rem;color:var(--fg);margin-bottom:.25rem;display:flex;align-items:center;gap:.7rem}
.eq-li{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:var(--muted);transition:all .25s ease;flex-shrink:0;text-decoration:none}
.eq-li:hover{color:var(--gold);border-color:rgba(212,175,90,.5);background:rgba(212,175,90,.08)}
.eq-li svg{width:.7rem;height:.7rem;fill:currentColor;display:block}
.eq-role{font-size:.42rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.eq-bio{font-size:.76rem;color:var(--fg2);line-height:1.9;font-weight:300;max-width:58ch}
.eq-join{background:var(--dark1);border:1px dashed rgba(212,175,90,.18);margin-bottom:3rem;padding:1.4rem 1.8rem;display:flex;align-items:center;gap:1.2rem}
.eq-join-icon{width:42px;height:42px;border-radius:50%;border:1px dashed rgba(212,175,90,.3);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:rgba(212,175,90,.5);flex-shrink:0}
.eq-join-info{flex:1;min-width:180px}
.eq-join-label{font-size:.42rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.eq-join-text{font-size:.76rem;color:var(--fg2);font-weight:300}
.eq-join-btn{flex-shrink:0;background:none;border:1px solid rgba(212,175,90,.35);color:var(--gold);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.4rem;font-family:var(--fb);cursor:pointer;transition:all .25s ease;white-space:nowrap}
.eq-join-btn:hover{background:rgba(212,175,90,.1);border-color:var(--gold)}
#joinModal{z-index:1000}
.join-file-btn{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.04);border:1px solid var(--brd2);color:var(--muted);padding:.6rem 1.1rem;font-family:var(--fb);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .2s;position:relative}
.join-file-btn:hover{border-color:rgba(212,175,90,.5);color:var(--fg)}
.join-file-btn svg{width:.85rem;height:.85rem;flex-shrink:0}
.join-file-btn input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.join-file-name{display:inline-block;margin-left:.8rem;font-size:.78rem;color:var(--dim);font-style:italic;vertical-align:middle}
@media(max-width:640px){.eq-join{flex-wrap:wrap}}
.eq-quote{border-top:1px solid rgba(212,175,90,.1);padding-top:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap}
.eq-quote p{font-family:var(--fs);font-size:clamp(1rem,1.6vw,1.25rem);font-style:italic;color:var(--gold);line-height:1.6;font-weight:300}





.team-card { transition: border-color .3s; }
.team-card:hover { border-color: rgba(212,175,90,.5) !important; }
.team-card:hover .team-photo { filter: grayscale(0%) sepia(15%) brightness(1.05) !important; }
.team-photo { transition: filter .4s ease; }

/* ===================================================== */
/* === FIX RESPONSIVE MOBILE (ajouts) ================== */
/* ===================================================== */

/* Empêcher tout scroll horizontal global */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

/* Le nav ne doit jamais déborder : sur mobile, on réduit padding
   et on autorise le wrap des éléments de droite */
@media (max-width: 768px) {
  nav {
    padding: 1rem 1.25rem !important;
  }
  .nright {
    gap: 0.5rem !important;
  }
  /* Le CTA Hotlines plus compact pour ne pas déborder */
  .ncta-hot {
    font-size: 0.45rem !important;
    padding: 0.4rem 0.7rem !important;
    white-space: nowrap;
  }
  /* Toggle FR/EN plus compact */
  .ltgl .lbtn {
    padding: 0.3rem 0.55rem !important;
    font-size: 0.5rem !important;
  }
}

/* Services : passer en 1 seule colonne sur mobile (le vrai fix) */
@media (max-width: 768px) {
  .svc-grid {
    grid-template-columns: 1fr !important;
  }
  /* Chaque carte service en pleine largeur, structure simple */
  .svc {
    grid-template-columns: 60px 1fr !important;
  }
  .svc-img,
  .svc-img-wrap {
    display: none !important;
  }
}

/* Mobiles étroits : titres et textes adaptés */
@media (max-width: 480px) {
  h1.ht {
    font-size: 2.6rem !important;
  }
  .ncta-hot span:not(.hot-pulse) {
    /* Masquer le texte HOTLINES, garder juste le point rouge si trop serré */
  }
  section {
    padding: 3.5rem 1.25rem !important;
  }
  .svc {
    grid-template-columns: 1fr !important;
  }
  .svc-num {
    margin-bottom: 0.5rem;
  }
}
