/* ============================================================
   KINVEST SARL — style.css
   Design : référence MARICKS Global Holding × identité KINVEST
   Palette: #101C5E/#142899 (bleu nuit) · #FFAB0F (jaune KINVEST) · blanc
   Font   : Manrope — angles droits partout
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&display=swap');

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:#101C5E;color:#fff;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button,input,select,textarea{font-family:'Manrope',sans-serif}
svg{display:block;flex-shrink:0}

/* ── Variables ────────────────────────────────────────────── */
:root{
  --noir:   #101C5E;
  --noir2:  #142899;
  --noir3:  #1D33A8;
  --gris:   #6B6B7A;
  --or:     #FFAB0F;
  --or2:    #E0940C;
  --or3:    #FFC24D;
  --vert:   #FFAB0F;   /* accent secondaire — croissance & patrimoine */
  --vert2:  #E0940C;
  --blanc:  #FFFFFF;
  --wa:     #25D366;
  --ease:   cubic-bezier(0.16,1,0.3,1);
}

/* ── Scrollbar ────────────────────────────────────────────── */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-thumb{background:var(--or)}
::selection{background:var(--or);color:var(--noir)}

/* ── Progress bar (scroll) ────────────────────────────────── */
#pbar{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--or);transform-origin:left;transform:scaleX(0);z-index:9999;transition:transform .05s linear;pointer-events:none}

/* ── Utilitaires ──────────────────────────────────────────── */
.gold-text{
  background:linear-gradient(135deg,#FFC24D 0%,#FFAB0F 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.wrap{max-width:1280px;margin:0 auto;padding:0 64px}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:20px}
.tag-bar{width:28px;height:2px;background:var(--or);flex-shrink:0}
.ttl{font-size:clamp(32px,4vw,54px);font-weight:800;letter-spacing:-.025em;line-height:1.05}
.ttl .em{color:var(--or)}
.ttl.reveal{overflow:visible;display:block;transform:none}
.tag.reveal{transform:none}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.on{opacity:1;transform:none}

/* ── Boutons ──────────────────────────────────────────────── */
.btn-gold{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--or);color:#142899;
  padding:15px 34px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:2px solid var(--or);transition:background .28s var(--ease),color .28s var(--ease),transform .25s;
}
.btn-gold:hover{background:#fff;border-color:#fff;color:#142899;transform:translateY(-3px)}
.btn-outline{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.06);color:#fff;
  padding:14px 30px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(6px);
  transition:all .28s var(--ease);
}
.btn-outline:hover{background:#fff;color:var(--noir);border-color:#fff;transform:translateY(-3px)}
.btn-dark{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--noir);color:#fff;
  padding:15px 34px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:2px solid var(--noir);transition:all .28s var(--ease);
}
.btn-dark:hover{background:var(--vert);border-color:var(--vert);color:#142899;transform:translateY(-3px)}
.btn-arr{width:30px;height:30px;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════════ */
#nav{
  position:fixed;inset:0 0 auto 0;z-index:800;
  padding:20px 64px;display:flex;align-items:center;justify-content:space-between;
  transition:background .35s var(--ease),padding .35s var(--ease),box-shadow .35s var(--ease);
}
#nav.stuck{
  background:rgba(16,28,94,.96);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  padding:13px 64px;
  border-bottom:1px solid rgba(255,171,15,.12);
  box-shadow:0 4px 32px rgba(0,0,0,.6);
}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:36px;width:auto;object-fit:contain}
.logo-txt{display:flex;flex-direction:column}
.lt-main{font-size:15px;font-weight:800;letter-spacing:.06em;color:#fff;line-height:1}
.lt-sub{font-size:7px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{
  font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:rgba(255,255,255,.75);position:relative;transition:color .25s var(--ease);
}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--or);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--or)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--or)}
.nav-cta{
  padding:11px 22px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--or);color:#142899;border:none;cursor:pointer;
  transition:background .25s,transform .25s;white-space:nowrap;
}
.nav-cta:hover{background:var(--or3);transform:translateY(-2px)}

/* Mobile */
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.burger span{width:24px;height:2px;background:#fff;transition:all .3s;display:block}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
  height: 100svh;
}
.mob-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--noir2);
  z-index: 799;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  overflow-y: auto;
  padding: 100px 24px 40px;
}
.mob-overlay.open {
  display: flex;
}
.mob-overlay a {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  letter-spacing: .03em;
  transition: color .25s;
}
.mob-overlay a:hover {
  color: var(--or);
}
.mob-overlay a.btn-gold {
  color: #142899;
}
.mob-overlay a.btn-gold:hover {
  color: #142899;
}
.mob-overlay .mob-cta {
  margin-top: 12px;
}

/* ═══════════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════════ */
#hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--noir)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-ov1{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,94,.85) 0%,rgba(16,28,94,.50) 35%,rgba(16,28,94,.70) 70%,rgba(16,28,94,.98) 100%)}
.hero-ov2{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(255,171,15,.15) 0%,transparent 55%)}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.micro-label{font-size:.65rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.hero-inner{position:relative;max-width:88rem;margin:0 auto;padding:10rem 1.5rem 7rem;width:100%;z-index:10}
.hero-marquee-bar{position:absolute;inset-x:0;bottom:0;z-index:10;overflow:hidden;padding:1rem 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.95));border-top:1px solid rgba(255,171,15,.2)}
@-webkit-keyframes marquee {
  0% { -webkit-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
#marquee-track {
  -webkit-animation: marquee 38s linear infinite;
  animation: marquee 38s linear infinite;
  will-change: transform;
}
#marquee-track:hover{animation-play-state:paused}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.pulse{animation:pulse 2.4s ease-in-out infinite}
.rv{opacity:0;transform:translateY(32px)}
.rv.on{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}

/* ═══════════════════════════════════════════════════════════
   STATS BAND
   ═══════════════════════════════════════════════════════════ */
#stats-band{background:var(--or);padding:0}
.stats-row{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.st{padding:28px 24px;border-right:1px solid rgba(16,28,94,.14);text-align:center}
.st:last-child{border-right:none}
.st-n{font-size:clamp(30px,3.5vw,48px);font-weight:800;color:var(--noir);line-height:1;letter-spacing:-.03em;margin-bottom:4px}
.st-div{width:20px;height:2px;background:rgba(16,28,94,.3);margin:6px auto}
.st-lbl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(16,28,94,.55)}

/* ═══════════════════════════════════════════════════════════
   ABOUT — fond blanc pour contraste
   ═══════════════════════════════════════════════════════════ */
#about{padding:120px 0;background:#ffffff}
#about .tag{color:var(--vert)}
#about .tag .tag-bar{background:var(--vert)}
.about-inner{max-width:1280px;margin:0 auto;padding:0 64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.ab-left{position:relative}
.ab-main{width:100%;height:520px;object-fit:cover}
.ab-badge{position:absolute;bottom:-1px;right:-1px;background:var(--or);padding:20px 22px;text-align:center}
.ab-bn{font-size:44px;font-weight:800;color:var(--noir);line-height:1;letter-spacing:-.02em}
.ab-bl{font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(16,28,94,.55);margin-top:2px}
.ab-right .ttl{color:var(--noir);margin:0 0 20px}
.ab-body{font-size:14px;font-weight:400;line-height:1.85;color:rgba(16,28,94,.62);margin-bottom:40px}
.diffs{display:flex;flex-direction:column;gap:18px}
.diff{display:flex;align-items:flex-start;gap:16px}
.diff-n{font-size:34px;font-weight:800;color:var(--or);opacity:.45;line-height:1;min-width:38px;letter-spacing:-.02em}
.diff-h{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--noir);margin-bottom:3px}
.diff-b{font-size:12.5px;color:rgba(16,28,94,.58);line-height:1.65}

/* DG quote block */
.dg-block{margin-top:44px;padding:28px 30px;border-left:3px solid var(--or);background:rgba(255,171,15,.06)}
.dg-quote{font-size:15px;font-weight:400;line-height:1.7;color:rgba(16,28,94,.72);margin-bottom:16px}
.dg-author{display:flex;align-items:center;gap:12px}
.dg-avatar{width:44px;height:44px;background:var(--or);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:var(--noir);flex-shrink:0}
.dg-name{font-size:13px;font-weight:700;color:var(--noir)}
.dg-role{font-size:11px;color:var(--vert);font-weight:500}

/* ═══════════════════════════════════════════════════════════
   VALEURS — fond bleu nuit pour contraste
   ═══════════════════════════════════════════════════════════ */
#valeurs{padding:120px 0;background:#101C5E}
.val-inner{max-width:1280px;margin:0 auto;padding:0 64px}
.val-hd{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:64px}
.val-hd .ttl{color:#fff}
.val-hd-r{font-size:14px;color:rgba(255,255,255,.75);line-height:1.8;font-weight:400}
.val-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.val-item{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  padding:32px 22px;
  transition:background .3s var(--ease),transform .3s var(--ease);
  display:flex;flex-direction:column;gap:0;position:relative;overflow:hidden;
}
.val-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--or);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}
.val-item:hover, .val-item.active{background:rgba(255,171,15,.1);transform:translateY(-4px)}
.val-item:hover::before, .val-item.active::before{transform:scaleY(1)}
.val-ico{width:48px;height:48px;border:1.5px solid rgba(255,171,15,.4);display:flex;align-items:center;justify-content:center;color:var(--or);margin-bottom:20px;transition:background .3s,border-color .3s;flex-shrink:0}
.val-item:hover .val-ico, .val-item.active .val-ico{background:var(--or);border-color:var(--or);color:var(--noir)}
.val-ghost{position:absolute;right:14px;top:8px;font-size:64px;font-weight:800;color:rgba(255,171,15,.06);line-height:1;pointer-events:none;letter-spacing:-.02em;transition:color .4s}
.val-item:hover .val-ghost, .val-item.active .val-ghost{color:rgba(255,171,15,.12)}
.val-title{font-size:13.5px;font-weight:700;color:#fff;margin-bottom:10px}
.val-text{font-size:12px;color:rgba(255,255,255,.75);line-height:1.7}

/* ═══════════════════════════════════════════════════════════
   PÔLES / DOMAINES — image de fond + overlay
   ═══════════════════════════════════════════════════════════ */
#poles{
  padding:120px 0;
  background:
    linear-gradient(rgba(16,28,94,.93),rgba(16,28,94,.88)),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1920&q=50') center/cover no-repeat fixed;
}
.poles-inner{max-width:1280px;margin:0 auto;padding:0 64px}
.poles-hd{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:64px}
.poles-hd .ttl{color:#fff}
.poles-hd-r{font-size:14px;color:rgba(255,255,255,.78);line-height:1.8;font-weight:400}
.poles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.poles-grid .pole-card:nth-child(5):last-child{grid-column:1/-1}
.pole-card{
  background:var(--noir2);padding:44px 40px;
  border:1px solid rgba(255,255,255,.05);
  position:relative;overflow:hidden;
  transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
  display:flex;flex-direction:column;
}
.pole-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--or);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease);z-index:2}
.pole-card:hover, .pole-card.active{background:rgba(255,171,15,.04);box-shadow:0 16px 48px rgba(0,0,0,.5);transform:translateY(-4px)}
.pole-card:hover::before, .pole-card.active::before{transform:scaleY(1)}
.pole-card.green::before{background:#FFFFFF}
.pole-card.green:hover, .pole-card.green.active{background:rgba(255,255,255,.05)}
.pole-ghost{position:absolute;right:20px;top:10px;font-size:80px;font-weight:800;color:rgba(255,171,15,.04);line-height:1;pointer-events:none;letter-spacing:-.02em;transition:color .4s}
.pole-card:hover .pole-ghost, .pole-card.active .pole-ghost{color:rgba(255,171,15,.08)}
.pole-card.green .pole-ghost{color:rgba(255,255,255,.07)}
.pole-card.green:hover .pole-ghost, .pole-card.green.active .pole-ghost{color:rgba(255,255,255,.12)}
.pole-ico-wrap{width:52px;height:52px;border:1.5px solid rgba(255,171,15,.22);display:flex;align-items:center;justify-content:center;color:var(--or);margin-bottom:24px;transition:background .3s,border-color .3s,color .3s;flex-shrink:0}
.pole-card:hover .pole-ico-wrap, .pole-card.active .pole-ico-wrap{background:var(--or);border-color:var(--or);color:var(--noir)}
.pole-card.green .pole-ico-wrap{border-color:rgba(255,255,255,.4);color:#FFFFFF}
.pole-card.green:hover .pole-ico-wrap, .pole-card.green.active .pole-ico-wrap{background:#FFFFFF;border-color:#FFFFFF;color:#142899}
.pole-num{font-size:10px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.45);margin-bottom:10px}
.pole-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:10px}
.pole-sub{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--or);margin-bottom:14px}
.pole-card.green .pole-sub{color:#FFFFFF}
.pole-desc{font-size:13px;color:rgba(255,255,255,.75);line-height:1.75;margin-bottom:20px}
.pole-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.pole-tag{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border:1px solid rgba(255,171,15,.2);color:rgba(255,171,15,.75)}
.pole-card.green .pole-tag{border-color:rgba(255,255,255,.35);color:#FFFFFF}
.pole-cta{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--or);margin-top:18px;transition:gap .2s}
.pole-card.green .pole-cta{color:#FFFFFF}
.pole-cta:hover{gap:14px}

/* Overlay image au survol */
.pole-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s var(--ease);z-index:0}
.pole-card-bg::after{content:'';position:absolute;inset:0;background:rgba(16,28,94,.78)}
.pole-card:hover .pole-card-bg, .pole-card.active .pole-card-bg{opacity:1}
.pole-card>.pole-ghost,.pole-card>.pole-ico-wrap,
.pole-card>.pole-num,.pole-card>.pole-title,
.pole-card>.pole-sub,.pole-card>.pole-desc,
.pole-card>.pole-tags,.pole-card>.pole-cta{position:relative;z-index:1}

/* CTA band */
.poles-cta{background:var(--or);padding:56px 64px;margin-top:2px}
.poles-cta-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.poles-cta-txt h3{font-size:clamp(22px,2.8vw,36px);font-weight:800;color:var(--noir);letter-spacing:-.02em;margin-bottom:6px}
.poles-cta-txt p{font-size:13.5px;color:rgba(16,28,94,.6);font-weight:400}
.poles-cta-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ═══════════════════════════════════════════════════════════
   OBJECTIFS — fond blanc, liste numérotée
   ═══════════════════════════════════════════════════════════ */
#objectifs{padding:120px 0;background:#ffffff}
#objectifs .tag{color:var(--vert)}
#objectifs .tag .tag-bar{background:var(--vert)}
#objectifs .ttl{color:var(--noir)}
#objectifs .poles-hd-r{color:rgba(16,28,94,.60)}
.obj-inner{max-width:1280px;margin:0 auto;padding:0 64px}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:52px}
.obj-item{
  display:flex;align-items:flex-start;gap:20px;
  padding:30px 28px;background:rgba(16,28,94,.03);
  border:1px solid rgba(16,28,94,.08);border-left:3px solid var(--or);
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.obj-item:hover{background:rgba(255,171,15,.18);border-left-color:var(--or3);transform:translateX(6px);box-shadow:0 12px 32px rgba(255,171,15,.28)}
.obj-item:hover .obj-num{opacity:1;color:var(--or)}
.obj-num{font-size:30px;font-weight:800;color:var(--or);opacity:.5;line-height:1;min-width:44px;letter-spacing:-.02em;transition:opacity .3s,color .3s}
.obj-t{font-size:13.5px;font-weight:700;color:var(--noir);margin-bottom:5px}
.obj-b{font-size:12.5px;color:rgba(16,28,94,.6);line-height:1.7}

/* ── Panels CTA opportunités (hover image) ── */
.opp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.opp-panel {
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 48px 44px;
  position: relative;
  overflow: hidden;
  min-height: 420px;
  cursor: pointer;
  transition: transform .4s ease, box-shadow .4s ease;
}
.opp-panel:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.opp-panel:hover .opp-panel-bg {
  opacity: .45!important;
}

/* ═══════════════════════════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════════════════════════ */
#contact{background:var(--noir3);padding:120px 0}
.ct-inner{max-width:1280px;margin:0 auto;padding:0 64px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.ct-form{display:flex;flex-direction:column;gap:14px}
.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-f{display:flex;flex-direction:column;gap:6px}
.ct-f label{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.fi{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  padding:12px 14px;color:#fff;font-size:13px;font-family:'Manrope',sans-serif;
  outline:none;transition:border-color .28s;-webkit-appearance:none;appearance:none;
}
.fi:focus{border-color:var(--or)}
.fi::placeholder{color:rgba(255,255,255,.2)}
.fi option{background:var(--noir2)}
.form-error{color:#ff6b6b;font-size:11.5px;font-weight:600;display:none;margin-top:4px}
.form-success{background:rgba(255,171,15,.08);border:1px solid rgba(255,171,15,.2);color:var(--or);padding:14px;font-size:13px;font-weight:500;display:none;margin-top:8px;text-align:center}
.form-note{font-size:10.5px;color:rgba(255,255,255,.25);text-align:center;margin-top:8px}
.form-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;color:rgba(255,255,255,.5)}
.form-check input{margin-top:3px;accent-color:var(--or);width:14px;height:14px}
.ct-submit{
  align-self:flex-start;background:var(--or);color:var(--noir);
  padding:14px 34px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:none;cursor:pointer;transition:background .28s,transform .25s;
}
.ct-submit:hover{background:var(--or3);transform:translateY(-2px)}
.ct-info{display:flex;flex-direction:column;gap:28px;padding-top:64px}
.ci-item{display:flex;align-items:flex-start;gap:14px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08)}
.ci-item:last-of-type{border-bottom:none;padding-bottom:0}
.ci-ico{width:40px;height:40px;flex-shrink:0;background:rgba(255,171,15,.1);border:1.5px solid rgba(255,171,15,.25);display:flex;align-items:center;justify-content:center;color:var(--or)}
.ci-lbl{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--or);margin-bottom:3px}
.ci-val{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.65}
.ci-val a{color:inherit;transition:color .25s}
.ci-val a:hover{color:var(--or)}
.ct-hours{margin-top:8px;padding:24px 26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-left:3px solid var(--or)}
.ct-hours-title{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--or);margin-bottom:14px}
.hours-row{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);color:rgba(255,255,255,.55)}
.hours-row:last-child{border-bottom:none}
.hours-row strong{color:#fff;font-weight:600}
.ct-map{margin-top:16px;height:160px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);overflow:hidden}
.ct-map iframe{width:100%;height:100%;border:none;filter:grayscale(1) invert(1) contrast(.9);opacity:.55}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
#footer{background:#FFFFFF;border-top:1px solid rgba(0,0,0,.10);padding:72px 0 28px}
.ft-inner{max-width:1280px;margin:0 auto;padding:0 64px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:52px;margin-bottom:52px}
.ft-logo{display:flex;align-items:center;gap:10px}
.ft-logo img{height:44px;width:auto}
.ft-p{font-size:12px;color:#555555;line-height:1.75;margin-top:14px;font-weight:400;max-width:260px}
.ft-slogan{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#142899;margin-top:14px}
.ft-top h4{font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#142899;margin-bottom:16px}
.ft-ul{display:flex;flex-direction:column;gap:9px}
.ft-ul a{font-size:12px;color:#444444;transition:color .25s}
.ft-ul a:hover{color:#142899}
.socials{display:flex;gap:8px}
.soc{width:32px;height:32px;border:1px solid rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:#444444;transition:all .25s}
.soc:hover{border-color:#142899;color:#142899;background:rgba(20,40,153,.08)}
.ft-copy{font-size:10.5px;color:#888888}

/* ═══════════════════════════════════════════════════════════
   CHATBOT
   ═══════════════════════════════════════════════════════════ */
#chat-widget{position:fixed;bottom:30px;right:24px;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.chat-greeting{
  position:absolute;bottom:70px;right:0;
  background:var(--noir2);border:1px solid rgba(255,171,15,.35);border-radius:12px 12px 0 12px;
  padding:10px 14px;font-size:12px;color:#fff;max-width:240px;min-width:200px;line-height:1.5;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
  animation:greetPop .45s cubic-bezier(0.34,1.56,0.64,1) forwards;
  transform-origin:bottom right;
}
.chat-greeting strong{color:var(--or);display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@keyframes greetPop{from{opacity:0;transform:scale(.7) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.chat-greeting.hide{animation:greetHide .25s ease forwards}
@keyframes greetHide{to{opacity:0;transform:scale(.8) translateY(8px)}}
.chat-toggle-wrap{position:relative;flex-shrink:0}
.chat-toggle{
  width:60px;height:60px;background:linear-gradient(145deg,var(--vert),var(--vert2));border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%;
  box-shadow:0 8px 28px rgba(255,171,15,.55);transition:transform .25s,box-shadow .25s;
  position:relative;
}
.chat-toggle:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 36px rgba(255,171,15,.7)}
.chat-toggle::after{content:'';position:absolute;inset:-4px;border-radius:50%;background:rgba(255,171,15,.2);animation:robotGlow 2.4s ease-in-out infinite}
@keyframes robotGlow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:0}}
.chat-toggle .chat-badge{position:absolute;top:-3px;right:-3px;width:18px;height:18px;background:var(--or);color:var(--noir);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:2}
.chat-window{
  width:340px;max-height:min(520px, 80vh);
  background:var(--noir2);border:1px solid rgba(255,171,15,.3);border-top:3px solid var(--vert);
  display:flex;flex-direction:column;
  transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;
  transition:transform .3s var(--ease),opacity .3s;
}
.chat-window.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.chat-header{background:var(--vert);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-header-info{display:flex;align-items:center;gap:10px}
.chat-avatar{width:36px;height:36px;background:rgba(20,40,153,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chat-name{font-size:13px;font-weight:700;color:#142899}
.chat-status{font-size:10px;color:rgba(20,40,153,.7);display:flex;align-items:center;gap:5px}
.chat-status-dot{width:6px;height:6px;border-radius:50%;background:#142899;animation:pulse 2s infinite}
.chat-header-close{background:none;border:none;color:rgba(20,40,153,.6);cursor:pointer;padding:4px;transition:color .2s}
.chat-header-close:hover{color:#142899}
.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;max-height:340px}
.chat-messages::-webkit-scrollbar{width:3px}
.chat-messages::-webkit-scrollbar-thumb{background:var(--vert)}
.msg{display:flex;flex-direction:column;gap:4px;max-width:85%}
.msg.bot{align-self:flex-start}
.msg.user{align-self:flex-end;align-items:flex-end}
.msg-bubble{padding:10px 14px;font-size:12.5px;line-height:1.55;color:#fff}
.msg.bot .msg-bubble{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.msg.user .msg-bubble{background:var(--vert);color:#142899}
.msg-time{font-size:9.5px;color:rgba(255,255,255,.28)}
.chat-quick{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid rgba(255,255,255,.06)}
.quick-btn{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;background:rgba(255,171,15,.15);border:1px solid rgba(255,171,15,.35);color:#FFC24D;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.quick-btn:hover{background:var(--vert);color:#142899}
.chat-input-row{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.08)}
.chat-input{flex:1;background:rgba(255,255,255,.04);border:none;padding:13px 14px;font-family:'Manrope',sans-serif;font-size:12.5px;color:#fff;outline:none}
.chat-input::placeholder{color:rgba(255,255,255,.2)}
.chat-send{background:var(--vert);border:none;width:46px;display:flex;align-items:center;justify-content:center;color:#142899;cursor:pointer;transition:background .2s;flex-shrink:0}
.chat-send:hover{background:var(--vert2)}
.typing{display:flex;gap:4px;align-items:center;padding:10px 14px}
.typing span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);animation:typing-dot 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes typing-dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

/* ═══════════════════════════════════════════════════════════
   PRELOADER
   ═══════════════════════════════════════════════════════════ */
#preloader{
  position:fixed;inset:0;background:#101C5E;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  transition:transform 1s cubic-bezier(0.76,0,0.24,1);
  overflow:hidden;
}
#preloader.exit{transform:translateY(-105%);pointer-events:none}
.pre-inner{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.pre-brand{display:flex;gap:0;overflow:hidden}
.pre-brand span{
  font-family:'Manrope',sans-serif;
  font-size:clamp(3.5rem,10vw,8rem);
  font-weight:900;letter-spacing:.02em;
  color:#fff;display:inline-block;
  opacity:0;transform:translateY(70px);
  animation:preLetter .6s var(--ease) forwards;
  transition:background .4s,color .4s;
}
.pre-brand span:nth-child(1){animation-delay:.00s}
.pre-brand span:nth-child(2){animation-delay:.05s}
.pre-brand span:nth-child(3){animation-delay:.10s}
.pre-brand span:nth-child(4){animation-delay:.15s}
.pre-brand span:nth-child(5){animation-delay:.20s}
.pre-brand span:nth-child(6){animation-delay:.25s}
.pre-brand span:nth-child(7){animation-delay:.30s}
@keyframes preLetter{to{opacity:1;transform:none}}
.pre-brand span.gold{
  background:linear-gradient(135deg,#FFC24D 0%,#FFAB0F 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pre-sub{
  font-size:9px;font-weight:700;letter-spacing:.5em;text-transform:uppercase;
  color:var(--or);margin-top:-8px;
  opacity:0;animation:preFade .5s .42s ease forwards;
}
.pre-bar-wrap{width:260px;height:1.5px;background:rgba(255,255,255,.07);margin-top:28px;overflow:hidden}
.pre-bar-fill{height:100%;background:var(--or);width:0;transition:width .08s linear}
.pre-pct{font-size:10px;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.3);opacity:0;animation:preFade .5s .42s ease forwards}
@keyframes preFade{to{opacity:1}}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  #nav,#nav.stuck{padding-left:36px;padding-right:36px}
  .wrap,.about-inner,.val-inner,.poles-inner,.obj-inner,.ct-inner,.ft-inner{padding-left:36px;padding-right:36px}
  .about-inner,.ct-inner{grid-template-columns:1fr;gap:56px}
  .ct-info{padding-top:0}
  .poles-grid{grid-template-columns:1fr}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  .val-grid .val-item:nth-child(5):last-child{grid-column:1/-1}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .ft-top{grid-template-columns:repeat(2,1fr)}
  .val-hd,.poles-hd{grid-template-columns:1fr}
  .obj-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  #nav,#nav.stuck{padding:14px 20px}
  .nav-links{display:none}
  .nav-cta{display:none}
  .burger{display:flex}
  .wrap,.about-inner,.val-inner,.poles-inner,.obj-inner,.ct-inner,.ft-inner{padding-left:20px;padding-right:20px}
  #about,#valeurs,#poles,#objectifs,#opportunites,#contact{padding:72px 0}
  .about-inner{grid-template-columns:1fr}
  .ab-main{height:320px}
  .val-grid,.poles-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .poles-cta{padding:36px 20px}
  .poles-cta-inner{flex-direction:column}
  .ct-form-row{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr;gap:28px}
  #footer{padding:52px 0 24px}
  .hero-inner{padding:10rem 1.25rem 8rem}
  #h-title {
    font-size: clamp(2rem, 8vw, 4.5rem) !important;
    line-height: 1.0 !important;
  }
  #h-trust {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem 1rem !important;
  }
  .pole-card-bg {
    opacity: 0.22 !important;
  }
  .opp-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .opp-panel {
    padding: 36px 20px;
    min-height: auto;
  }
  .chat-window{width:calc(100vw - 48px)}
  #chat-widget{right:14px;bottom:90px}
}
