:root {
  color-scheme: dark;
  --color-gold: #f0b429;
  --color-gold-light: #f7d267;
  --color-gold-secondary: #e0a933;
  --color-gold-dark: #b8860b;
  --color-gold-cta-end: #dd9317;
  --color-signature: #c99a2e;
  --color-bg: #05090f;
  --color-panel: #070d18;
  --color-panel-glass: rgba(8, 13, 24, 0.82);
  --color-text: #fff;
  --color-text-bright: #eef2f8;
  --color-text-soft: #c6cfdc;
  --color-text-muted: #9aa5b5;
  --color-placeholder: #6d7889;
  --color-danger: #e0836f;
  --page-max: 1560px;
  --page-gutter: clamp(20px, 4vw, 72px);
  --scene-space: clamp(70px, 10vh, 130px);
  --header-offset: 96px;
  --ease-reveal: cubic-bezier(0.22, 0.7, 0.2, 1);
  --duration-reveal: 0.85s;
  --line-soft: rgba(255, 255, 255, 0.12);
  --line-gold: rgba(240, 180, 41, 0.45);
  --shadow-gold: 0 0 30px rgba(240, 180, 41, 0.3);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
  background: var(--color-bg);
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

img,
svg,
canvas {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
[role="button"] {
  cursor: pointer;
}

a {
  color: var(--color-gold);
  text-decoration: none;
}

a:hover {
  color: var(--color-gold-light);
}

:focus-visible {
  outline: 2px solid var(--color-gold-light);
  outline-offset: 4px;
}

::selection {
  background: var(--color-gold);
  color: #0a0f1a;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-placeholder);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  letter-spacing: -0.028em;
  text-wrap: pretty;
}

.site-shell,
[data-page-shell] {
  position: relative;
  width: 100%;
  overflow: clip;
  background: linear-gradient(180deg, #02040a 0%, #050a16 13%, #03060f 27%, #060c1a 42%, #03060e 57%, #050a15 71%, #020509 86%, #010307 100%);
}

.container,
[data-container] {
  position: relative;
  width: min(100%, var(--page-max));
  margin-inline: auto;
}

.scene,
[data-scene]:not([data-seam]) {
  position: relative;
  padding: var(--scene-space) var(--page-gutter);
  scroll-margin-top: var(--header-offset);
  isolation: isolate;
}

[data-constellation] {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.scene-marker,
[data-scene-marker] {
  color: var(--color-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.text-gold {
  color: var(--color-gold);
}

.button-primary,
[data-button="primary"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 13px 22px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--color-gold-light), var(--color-gold) 45%, var(--color-gold-cta-end));
  box-shadow: 0 10px 26px rgba(240, 180, 41, 0.22);
  color: #0a0f1a;
  font-weight: 700;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.button-primary:hover,
[data-button="primary"]:hover {
  box-shadow: 0 14px 34px rgba(240, 180, 41, 0.3);
  color: #0a0f1a;
  transform: translateY(-1px);
}

.button-secondary,
[data-button="secondary"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  padding: 16px 28px;
  border: 1px solid rgba(240, 180, 41, 0.5);
  border-radius: 10px;
  background: transparent;
  color: var(--color-text);
  transition: border-color 0.25s ease, background 0.25s ease;
}

.button-secondary:hover,
[data-button="secondary"]:hover {
  border-color: var(--color-gold-light);
  background: rgba(240, 180, 41, 0.06);
  color: var(--color-text);
}

.site-header,
[data-header] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 120;
  padding: 14px clamp(12px, 2vw, 28px);
}

.header-inner,
[data-header-inner] {
  display: flex;
  align-items: center;
  width: min(100%, var(--page-max));
  min-height: 68px;
  margin-inline: auto;
  padding: 10px 12px 10px 14px;
  gap: clamp(14px, 2vw, 34px);
  border: 1px solid rgba(240, 180, 41, 0.16);
  border-radius: 16px;
  background: var(--color-panel-glass);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

[data-brand] {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  padding-right: clamp(12px, 1.6vw, 22px);
  border-right: 1px solid rgba(255, 255, 255, 0.09);
  white-space: nowrap;
}

[data-brand-logo] {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  object-fit: contain;
}

[data-nav] {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: clamp(14px, 2vw, 32px);
}

[data-spy] {
  padding-block: 6px;
  border-bottom: 2px solid transparent;
  color: var(--color-text-soft);
  font-size: 15px;
  white-space: nowrap;
  transition: color 0.25s ease, border-color 0.25s ease;
}

[data-spy].is-active,
[data-spy][aria-current="page"] {
  border-bottom-color: var(--color-gold);
  color: var(--color-gold);
}

[data-burger] {
  display: none;
  flex: 0 0 46px;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-left: auto;
  padding: 0;
  border: 1px solid rgba(240, 180, 41, 0.45);
  border-radius: 50%;
  background: transparent;
  color: var(--color-gold);
}

[data-menu] {
  display: none;
  flex-direction: column;
  width: min(100%, var(--page-max));
  max-height: calc(100vh - 108px);
  margin: 10px auto 0;
  padding: 16px;
  overflow-y: auto;
  gap: 4px;
  border: 1px solid rgba(240, 180, 41, 0.16);
  border-radius: 16px;
  background: rgba(8, 13, 24, 0.96);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
}

[data-menu].is-open {
  display: flex;
}

[data-menu] > a:not([data-button]) {
  padding: 13px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  color: #e7ecf3;
  font-size: 16px;
}

[data-seam] {
  position: relative;
  height: clamp(88px, 13vh, 170px);
  overflow: hidden;
  pointer-events: none;
}

[data-seam] svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

[data-trace] {
  stroke-dasharray: var(--trace-length, 1000);
  stroke-dashoffset: var(--trace-length, 1000);
  will-change: stroke-dashoffset;
}

[data-fade],
[data-reveal] {
  opacity: 0;
  transform: var(--reveal-from, translateY(18px));
  transition: opacity var(--duration-reveal) var(--ease-reveal), transform var(--duration-reveal) var(--ease-reveal);
  will-change: opacity, transform;
}

[data-fade].is-visible,
[data-reveal].is-visible {
  opacity: var(--exit-opacity, 1);
  transform: var(--reveal-to, translateY(0)) translateY(var(--exit-y, 0px)) scale(var(--exit-scale, 1));
}

[data-interactive] {
  transition: opacity 0.3s ease, filter 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

[data-interactive].is-active {
  border-color: var(--color-gold);
  box-shadow: var(--shadow-gold);
}

[data-interactive].is-muted {
  opacity: 0.55;
  filter: saturate(0.4);
}

[data-mcta] {
  position: fixed;
  inset: auto 0 0;
  z-index: 115;
  display: none;
  padding: 12px clamp(12px, 3vw, 20px) calc(12px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, transparent, rgba(2, 4, 10, 0.82) 38%, rgba(2, 4, 10, 0.96));
  opacity: 0;
  pointer-events: none;
  transform: translateY(120%);
  transition: opacity 0.45s ease, transform 0.5s var(--ease-reveal);
}

[data-mcta].is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

[data-dnarrow],
[data-narrow],
[data-mob] {
  display: none;
}

@keyframes wca-breath {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.06); }
}

@keyframes wca-drift {
  to { stroke-dashoffset: -240; }
}

.animate-breath {
  animation: wca-breath 5.5s ease-in-out infinite;
}

@media (max-width: 1119px) {
  [data-wide] { display: none !important; }
  [data-narrow] { display: var(--narrow-display, block); }
  [data-burger] { display: flex; }
  [data-mcta] { display: block; }
}

@media (max-width: 899px) {
  [data-dwide] { display: none !important; }
  [data-dnarrow] { display: var(--diagram-narrow-display, block); }
}

@media (max-width: 779px) {
  [data-desk] { display: none !important; }
  [data-mob] { display: var(--mobile-display, block); }
}

@media (max-width: 619px) {
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-fade], [data-reveal] {
    opacity: 1;
    transform: var(--reveal-to, none);
  }
  [data-trace] { stroke-dashoffset: 0 !important; }
}

/* Structures effectives de la landing page */
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 999;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--color-gold);
  color: #0a0f1a;
  transform: translateY(-160%);
}
.skip-link:focus { color: #0a0f1a; transform: translateY(0); }

.header-shell {
  display: flex;
  align-items: center;
  width: min(100%, var(--page-max));
  min-height: 68px;
  margin-inline: auto;
  padding: 10px 12px 10px 14px;
  gap: clamp(14px, 2vw, 34px);
  border: 1px solid rgba(240,180,41,.16);
  border-radius: 16px;
  background: rgba(8,13,24,.82);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  backdrop-filter: blur(16px);
}
.brand { display:flex; flex:0 0 auto; align-items:center; gap:12px; padding-right:clamp(12px,1.6vw,22px); border-right:1px solid rgba(255,255,255,.09); white-space:nowrap; color:#fff; }
.brand:hover { color:#fff; }
.brand-logo { width:46px; height:46px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; gap:3px; line-height:1; }
.brand-name { font-size:clamp(16px,1.4vw,21px); letter-spacing:-.01em; }
.brand-name em { color:var(--color-gold); font-weight:400; }
.brand-signature { color:var(--color-signature); font-size:8px; font-weight:600; letter-spacing:.19em; }
.desktop-navigation { display:flex; flex:1 1 auto; align-items:center; justify-content:center; min-width:0; gap:clamp(14px,2vw,32px); }
.header-cta { flex:0 0 auto; margin-left:auto; white-space:nowrap; font-size:14px; }
.menu-toggle { display:none; flex:0 0 46px; flex-direction:column; align-items:center; justify-content:center; width:46px; height:46px; margin-left:auto; gap:4px; border:1px solid rgba(240,180,41,.45); border-radius:50%; background:transparent; }
.menu-toggle span { width:19px; height:1.5px; background:var(--color-gold); }
.mobile-navigation { display:none; flex-direction:column; width:min(100%,var(--page-max)); max-height:calc(100vh - 108px); margin:10px auto 0; padding:16px; overflow:auto; gap:4px; border:1px solid rgba(240,180,41,.16); border-radius:16px; background:rgba(8,13,24,.96); box-shadow:0 18px 50px rgba(0,0,0,.45); }
.mobile-navigation.is-open { display:flex; }
.mobile-navigation > a:not(.button) { padding:13px 10px; border-bottom:1px solid rgba(255,255,255,.06); color:#e7ecf3; }
.mobile-navigation .button { margin-top:8px; }

main { position:relative; width:100%; background:linear-gradient(180deg,#02040a 0%,#050a16 13%,#03060f 27%,#060c1a 42%,#03060e 57%,#050a15 71%,#020509 86%,#010307 100%); }
.scene { overflow:hidden; }
.scene-inner { position:relative; width:min(100%,var(--page-max)); margin-inline:auto; }
.scene h2 { margin:0; font-size:clamp(34px,4.3vw,66px); line-height:1.08; font-weight:700; }
.scene h1 span,.scene h2 span,.scene-intro span { color:var(--color-gold); }
.scene-intro { max-width:650px; margin:0; color:#c3ccd9; font-size:clamp(16px,1.35vw,19px); line-height:1.85; }
.scene-marker { display:flex; align-items:center; gap:20px; margin:0 0 clamp(26px,4vh,50px); color:var(--color-gold); }
.scene-marker>span { font-size:clamp(20px,1.8vw,26px); font-weight:600; letter-spacing:normal; }
.scene-marker i { width:clamp(34px,4vw,58px); height:1px; background:rgba(240,180,41,.7); }
.scene-marker strong { color:var(--color-gold); font-size:clamp(11px,1vw,13px); font-weight:600; letter-spacing:.34em; }
.gold-rule { display:block; width:76px; height:2px; margin:clamp(24px,3vh,36px) 0 clamp(26px,3.4vh,40px); background:linear-gradient(90deg,var(--color-gold),transparent); }
.copy-divider { display:block; width:min(100%,640px); height:1px; margin:clamp(30px,4vh,46px) 0 clamp(22px,3vh,32px); background:linear-gradient(90deg,rgba(255,255,255,.13),transparent); }
.button { border:0; }
.button-outline { display:inline-flex; align-items:center; gap:14px; padding:18px 30px; border:1px solid rgba(240,180,41,.5); border-radius:10px; color:#fff; font-size:clamp(15px,1.3vw,18px); font-weight:500; }
.button-outline:hover { color:#fff; border-color:var(--color-gold-light); }
.button-outline .icon { width:18px; height:18px; }
.icon { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:24px; height:24px; color:var(--color-gold); }
svg.icon { display:block; overflow:visible; vertical-align:middle; }
.hero-network svg.icon[data-icon="megaphone"]>*,.expertise-orbit svg.icon[data-icon="megaphone"]>*,.skills-tree svg.icon[data-icon="megaphone"]>* { transform:translateY(-2px); }
.skills-tree svg.icon[data-icon="message-circle"]>* { transform:translateY(-2.9px); }

.scene-hero { min-height:100vh; padding:clamp(120px,13vh,170px) var(--page-gutter) clamp(50px,7vh,90px); background:radial-gradient(120% 90% at 72% 42%,rgba(12,26,58,.6),rgba(5,10,22,.34) 45%,transparent 100%); }
.scene.scene-hero { padding:clamp(120px,13vh,170px) var(--page-gutter) clamp(50px,7vh,90px); }
.scene-hero .scene-intro { max-width:600px; color:#b6c0cf; font-size:clamp(16px,1.35vw,19px); line-height:1.8; }
.locations .icon { width:16px; height:16px; }
.hero-layout { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(28px,4vw,60px); }
.hero-copy { flex:1 1 460px; min-width:0; }
.hero-copy h1 { margin:0; font-size:clamp(38px,4.6vw,70px); line-height:1.06; font-weight:700; }
.locations { display:flex; flex-wrap:wrap; gap:12px; margin:clamp(24px,3.2vh,38px) 0 0; padding:0; list-style:none; }
.locations li { display:inline-flex; align-items:center; gap:10px; padding:11px 18px; border:1px solid rgba(255,255,255,.12); border-radius:9px; color:#dbe2ec; font-size:14px; }
.flag { width:16px; height:16px; border-radius:50%; }
.flag-senegal { background:linear-gradient(90deg,#0b7a3b 33%,#f2d200 33% 66%,#c0392b 66%); }
.flag-ivory-coast { background:linear-gradient(90deg,#f77f00 33%,#fff 33% 66%,#009e60 66%); }
.flag-mali { background:linear-gradient(90deg,#14b53a 33%,#fcd116 33% 66%,#ce1126 66%); }
.flag-guinea { background:linear-gradient(90deg,#ce1126 33%,#fcd116 33% 66%,#009460 66%); }
.hero-network-column { flex:1 1 480px; min-width:0; container-type:inline-size; }
.hero-network { position:relative; width:84%; aspect-ratio:700/620; }
.network-lines,.expertise-orbit>svg,.skills-tree>svg,.adn-diagram>svg,.approach-path>svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.network-lines circle:not(.trace-particle),.expertise-orbit>svg circle:not(.trace-particle) { fill:none; stroke-width:1; }
.network-lines circle:not(.trace-particle):first-child { stroke:rgba(240,180,41,.16); stroke-dasharray:3 7; }
.network-lines circle:not(.trace-particle):nth-child(2) { stroke:rgba(240,180,41,.09); stroke-dasharray:2 9; }
.network-lines path,.expertise-orbit>svg path,.skills-tree>svg path,.adn-diagram>svg path,.approach-path>svg path { fill:none; stroke:var(--color-gold); stroke-width:1.6; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.5)); }
.expertise-orbit>svg path { transition:none; }
.skills-tree>svg path { transition:stroke-width .3s ease,filter .3s ease,opacity .3s ease; }
.expertise-orbit>svg path.is-active-branch { stroke-width:2.6; }
.expertise-orbit>svg path.is-muted-branch { opacity:.35; }
.skills-tree>svg path.is-active-branch { stroke-width:3.2; filter:drop-shadow(0 0 9px rgba(247,210,103,.9)); }
.hero-halo { position:absolute; left:50%; top:50%; width:23.5cqw; height:23.5cqw; border-radius:50%; background:radial-gradient(circle,rgba(240,180,41,.3),rgba(240,180,41,.06) 55%,transparent 72%); transform:translate(-50%,-50%); animation:wca-breath 5.5s ease-in-out infinite; }
.network-core { display:flex; align-items:center; justify-content:center; border:1px solid rgba(240,180,41,.4); border-radius:50%; background:radial-gradient(circle,rgba(13,23,44,.9),rgba(6,11,22,.7)); }
.hero-network>.network-core { position:absolute; left:50%; top:50%; width:20.5cqw; height:20.5cqw; transform:translate(-50%,-50%); }
.hero-network>.network-core img { width:13cqw; height:13cqw; object-fit:contain; }
.network-core img { object-fit:contain; }
.network-nodes { margin:0; padding:0; list-style:none; }
.network-nodes li { position:absolute; display:flex; align-items:center; justify-content:center; width:6.5cqw; height:6.5cqw; min-width:44px; min-height:44px; border:1px solid rgba(240,180,41,.5); border-radius:50%; color:#f0b429; background:radial-gradient(circle,rgba(240,180,41,.12),rgba(6,11,22,0) 72%); transform:translate(-50%,-50%); }
.network-nodes .icon { width:3.2cqw; height:3.2cqw; min-width:20px; min-height:20px; }
.network-nodes li>span:last-child { position:absolute; left:calc(100% + 14px); top:50%; width:max-content; color:#eef2f8; font-size:clamp(12px,1.42cqw,17px); line-height:1.32; text-align:left; transform:translateY(-50%); }
.network-nodes li:nth-child(1){left:50%;top:12.9%}.network-nodes li:nth-child(1)>span:last-child{max-width:18cqw}
.network-nodes li:nth-child(2){left:78.43%;top:31.45%}.network-nodes li:nth-child(2)>span:last-child{max-width:16.5cqw}
.network-nodes li:nth-child(3){left:78.43%;top:68.55%}.network-nodes li:nth-child(3)>span:last-child{max-width:16.5cqw}
.network-nodes li:nth-child(4){left:50%;top:87.1%}.network-nodes li:nth-child(4)>span:last-child{max-width:16.5cqw}
.network-nodes li:nth-child(5){left:21.57%;top:68.55%}.network-nodes li:nth-child(5)>span:last-child{max-width:15cqw}
.network-nodes li:nth-child(6){left:21.57%;top:31.45%}.network-nodes li:nth-child(6)>span:last-child{max-width:15cqw}
.network-nodes li { --reveal-from:translate(-50%,-50%) scale(.8); --reveal-to:translate(-50%,-50%); }
.hero-network-narrow { text-align:center; }
.hero-network-narrow>.network-core { width:150px; height:150px; margin:0 auto 40px; }
.compact-connector { width:4px; height:40px; margin:-40px auto 0; overflow:visible; }
.compact-connector path { fill:none; stroke:var(--color-gold); stroke-width:1.4; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.5)); }
.compact-grid,.expertise-cards,.skills-cards ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.compact-grid li,.expertise-cards li,.skills-cards li,.timeline-list li { display:flex; align-items:center; gap:14px; padding:18px; border:1px solid rgba(240,180,41,.2); border-radius:12px; background:rgba(6,11,22,.72); color:#e7ecf3; text-align:left; }
.compact-grid .icon,.expertise-cards .icon,.skills-cards li>.icon,.timeline-list>li>.icon { width:46px; height:46px; border:1px solid rgba(240,180,41,.45); border-radius:50%; }

.split-layout { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(30px,4vw,64px); }
.scene-copy { flex:0 1 560px; }
.scene-copy .scene-intro { margin-top:34px; }
.scene-trust .scene-copy { flex:1 1 440px; min-width:0; }
.trust-path { flex:1 1 460px; min-width:0; container-type:inline-size; }
.trust-path-inner { position:relative; width:78%; aspect-ratio:620/880; }
.trust-path-inner>svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.trust-path-inner>svg path { fill:none; stroke:var(--color-gold); stroke-width:2; stroke-linecap:round; filter:drop-shadow(0 0 6px rgba(240,180,41,.5)); }
.trust-path ol,.timeline-list { margin:0; padding:0; list-style:none; }
.trust-path li { position:absolute; inset-inline:0; height:0; }
.trust-path li:nth-child(1){top:14.77%}.trust-path li:nth-child(2){top:51.14%}.trust-path li:nth-child(3){top:87.5%}
.trust-path .trust-icon { position:absolute; left:48.39%; top:0; display:flex; align-items:center; justify-content:center; width:13cqw; height:13cqw; min-width:78px; min-height:78px; border:1px solid rgba(240,180,41,.55); border-radius:50%; color:var(--color-gold); background:radial-gradient(circle,rgba(240,180,41,.1),rgba(6,11,22,.85) 74%); --reveal-from:translate(-50%,-50%) scale(.82); --reveal-to:translate(-50%,-50%); }
.trust-path .trust-icon .icon { width:6.2cqw; height:6.2cqw; min-width:32px; min-height:32px; }
.trust-path .trust-copy { position:absolute; left:70%; top:0; width:min(34cqw,340px); --reveal-from:translateY(-50%); --reveal-to:translateY(-50%); }
.trust-path h3 { margin:0 0 12px; font-size:clamp(20px,2.8cqw,32px); letter-spacing:-.02em; }
.trust-rule { display:block; width:80px; height:1px; margin-bottom:14px; background:linear-gradient(90deg,#f0b429,rgba(240,180,41,0)); }
.trust-path p { margin:0; color:#a7b1c0; font-size:clamp(12px,1.48cqw,16px); line-height:1.65; }
.timeline-list h3 { margin:0 0 7px; font-size:17px; }.timeline-list p { margin:0; color:#a7b1c0; font-size:14px; line-height:1.6; }
.timeline-list { position:relative; display:flex; width:100%; flex-direction:column; gap:26px; }
.timeline-list::before { position:absolute; left:24px; top:26px; bottom:26px; width:1px; background:linear-gradient(180deg,rgba(240,180,41,.7),rgba(240,180,41,.15)); content:""; }
.timeline-list li { position:relative; display:block; padding:0 0 0 64px; border:0; border-radius:0; background:none; }
.timeline-list li>div { min-height:48px; }
.timeline-list .timeline-icon { display:flex; flex:0 0 48px; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid rgba(240,180,41,.5); border-radius:50%; color:var(--color-gold); background:#070d18; }
.timeline-list .timeline-icon { position:absolute; left:0; top:0; }
.timeline-list .timeline-icon .icon { width:21px; height:21px; border:0; border-radius:0; }

.expertises-heading { display:flex; justify-content:space-between; gap:60px; }
.expertises-heading>div { flex:0 1 560px; }
.pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); align-self:flex-end; gap:clamp(18px,2.4vw,34px); max-width:560px; margin:0; padding:0; list-style:none; }
.pillars li { width:auto; padding:0; border:0; border-radius:0; background:none; }
.pillars .pillar-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:16px; border:1px solid rgba(240,180,41,.4); border-radius:50%; color:#f0b429; }
.pillars .pillar-icon .icon { width:22px; height:22px; margin:0; border:0; border-radius:0; }
.pillars h3 { margin:0 0 8px; font-size:16px; }.pillars p { margin:0; color:#9aa5b5; font-size:14px; line-height:1.55; }
.expertise-orbit { position:relative; width:64%; aspect-ratio:1; margin:0 auto; container-type:inline-size; }
.expertise-orbit>svg circle:not(.trace-particle) { stroke:rgba(240,180,41,.3); stroke-width:1.4; stroke-dasharray:2 10; }
.expertise-orbit>svg path { stroke-width:1.4; }.expertise-orbit>svg path:not(:first-of-type) { stroke-dasharray:2 8; }
.expertise-core { position:absolute; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; width:28cqw; height:28cqw; gap:1.3cqw; padding:0; text-align:center; transform:translate(-50%,-50%); }
.expertise-core img { width:13cqw; height:13cqw; object-fit:contain; }
.expertise-core strong { color:#fff; font-size:clamp(16px,2.3cqw,30px); font-weight:700; letter-spacing:.02em; white-space:nowrap; }
.expertise-core strong em { color:#e0a933; font-style:normal; }
.expertise-core>span { color:#c99a2e; font-size:clamp(9px,1cqw,13px); font-weight:600; line-height:1.6; letter-spacing:.2em; }
.expertise-core { transition:opacity .85s var(--ease-reveal),transform .85s var(--ease-reveal); }
.expertise-core.is-reacting { filter:drop-shadow(0 0 26px rgba(240,180,41,.35)); }
.expertise-nodes { margin:0; padding:0; list-style:none; }
.expertise-nodes li { position:absolute; display:flex; align-items:center; justify-content:center; width:7.2cqw; height:7.2cqw; min-width:56px; min-height:56px; border-radius:50%; background:#fff; transform:translate(-50%,-50%); transition:.3s ease; }
.expertise-nodes li.is-active { border-color:transparent; box-shadow:0 0 0 6px rgba(240,180,41,.18),0 0 34px rgba(240,180,41,.5); }
.expertise-nodes li:nth-child(1){left:50%;top:12.82%}.expertise-nodes li:nth-child(2){left:85.38%;top:38.46%}.expertise-nodes li:nth-child(3){left:71.79%;top:80.13%}.expertise-nodes li:nth-child(4){left:28.21%;top:80.13%}.expertise-nodes li:nth-child(5){left:14.62%;top:38.46%}
.expertise-nodes .icon { width:3.5cqw; height:3.5cqw; min-width:26px; min-height:26px; color:#b8860b; }
.expertise-nodes li>div { position:absolute; left:calc(100% + 22px); top:50%; width:max-content; max-width:19.5cqw; text-align:left; transform:translateY(-50%); }
.expertise-nodes li:nth-child(1)>div { top:auto; bottom:calc(100% + 14px); left:50%; text-align:center; transform:translateX(-50%); }
.expertise-nodes li:nth-child(4)>div,.expertise-nodes li:nth-child(5)>div { right:calc(100% + 22px); left:auto; text-align:right; }
.expertise-nodes h3,.expertise-cards h3 { margin:0 0 6px; font-size:clamp(17px,1.9cqw,23px); font-weight:700; }
.expertise-nodes p,.expertise-cards p { margin:0; color:#b6c0cf; font-size:clamp(14px,1.55cqw,18px); line-height:1.6; }
.scene-conclusion { display:flex; flex-direction:column; align-items:center; margin-top:28px; text-align:center; }
.scene-conclusion strong { font-size:clamp(17px,1.6vw,23px); }.scene-conclusion span { margin-top:9px; color:var(--color-gold); font-size:10px; letter-spacing:.18em; }
.expertise-conclusion { position:relative; width:100%; max-width:1000px; margin:clamp(40px,6vh,72px) auto 0; padding:clamp(26px,3.4vw,44px) clamp(20px,3vw,40px) clamp(26px,3.4vw,40px); border:1px solid rgba(240,180,41,.28); border-radius:16px; }
.expertise-conclusion .conclusion-icon { position:absolute; left:50%; top:0; display:flex; align-items:center; justify-content:center; width:60px; height:60px; margin:0; border:1px solid rgba(240,180,41,.4); border-radius:50%; background:#070d18; color:#f0b429; transform:translate(-50%,-50%); }
.expertise-conclusion .conclusion-icon .icon { width:26px; height:26px; }
.expertise-conclusion strong { margin:14px 0 10px; font-size:clamp(18px,1.7vw,25px); letter-spacing:-.01em; }
.expertise-conclusion>span:last-child { margin:0; color:#e0a933; font-size:clamp(11px,1.05vw,14px); font-weight:600; letter-spacing:.13em; }

.scene-approach h2 { font-size:clamp(34px,4.1vw,62px); line-height:1.09; }.scene-approach h2 span { color:var(--color-gold-secondary); }.scene-skills h2 { font-size:clamp(32px,3.7vw,58px); line-height:1.12; }.scene-approach>.scene-inner>.scene-intro,.scene-skills>.scene-inner>.scene-intro { margin-top:24px; }
.skills-rule { display:block; width:300px; max-width:70%; height:1px; margin:clamp(24px,3vh,36px) 0; background:linear-gradient(90deg,#f0b429,rgba(240,180,41,0)); }
.approach-rule { display:block; width:300px; max-width:60%; height:1px; margin:clamp(22px,3vh,34px) 0; background:linear-gradient(90deg,#f0b429,rgba(240,180,41,0)); }
.scene-approach>.scene-inner>.scene-intro { margin:0 0 clamp(34px,5vh,64px); max-width:620px; }
.approach-path { position:relative; width:100%; aspect-ratio:1400/430; height:auto; margin-top:0; container-type:inline-size; }
.approach-path ol { position:absolute; inset:0; margin:0; padding:0; list-style:none; }
.approach-path li { position:absolute; left:var(--step-x); top:48.84%; display:flex; align-items:center; justify-content:center; width:9cqw; height:9cqw; min-width:66px; min-height:66px; padding:0; border:1px solid rgba(240,180,41,.5); border-radius:50%; background:radial-gradient(circle,rgba(240,180,41,.09),rgba(6,11,22,.9) 74%); text-align:center; transform:translate(-50%,-50%); }
.approach-path li:nth-child(1){--step-x:10%}.approach-path li:nth-child(2){--step-x:30%}.approach-path li:nth-child(3){--step-x:50%}.approach-path li:nth-child(4){--step-x:70%}.approach-path li:nth-child(5){--step-x:90%}
.approach-path li:nth-child(even),.approach-path li:nth-child(odd) { transform:translate(-50%,-50%); }
.step-number { position:absolute; bottom:calc(100% + 22px); left:50%; color:var(--color-gold); font-size:clamp(15px,2cqw,26px); letter-spacing:.15em; transform:translateX(-50%); }.approach-path .icon { width:4cqw; height:4cqw; min-width:28px; min-height:28px; margin:0; }
.approach-path li>div { position:absolute; top:calc(100% + 26px); left:50%; width:max-content; max-width:16cqw; transform:translateX(-50%); }.approach-path h3 { margin:0 0 12px; color:var(--color-gold); font-size:clamp(14px,1.65cqw,22px); }.approach-path p { margin:0; color:#b6c0cf; font-size:clamp(12px,1.25cqw,16px); line-height:1.65; }
.approach-arrow { fill:var(--color-gold)!important; stroke:none!important; }
.approach-path>svg path:not(.approach-arrow) { stroke-width:2.4; }
.approach-arrow { fill:var(--color-gold)!important; stroke:none!important; filter:none!important; }
.approach-path li { --reveal-from:translate(-50%,-50%) scale(.8); --reveal-to:translate(-50%,-50%); }
.approach-conclusion { margin-top:clamp(40px,6vh,80px); text-align:center; }
.approach-conclusion p { margin:0; color:#e0a933; font-size:clamp(15px,1.45vw,21px); line-height:1.9; letter-spacing:.09em; }
.approach-conclusion>span { display:block; width:120px; height:1px; margin:26px auto 0; background:linear-gradient(90deg,rgba(240,180,41,0),#f0b429,rgba(240,180,41,0)); }
.approach-narrow { display:none; }
@media (max-width:1119px) {
  .approach-wide { display:none; }
  .approach-narrow { position:relative; display:block; padding-left:56px; }
  .approach-narrow>svg { position:absolute; left:0; top:0; width:40px; height:100%; overflow:visible; }
  .approach-narrow>svg path { fill:none; stroke:var(--color-gold); stroke-width:4; stroke-linecap:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 5px rgba(240,180,41,.5)); }
  .approach-narrow ol { margin:0; padding:0; list-style:none; }
  .approach-narrow li { position:relative; min-height:52px; margin-bottom:34px; }
  .approach-narrow li:last-child { margin-bottom:0; }
  .approach-mobile-icon { position:absolute; left:-56px; top:0; display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-left:20px; border:1px solid rgba(240,180,41,.5); border-radius:50%; color:var(--color-gold); background:#070d18; transform:translateX(-50%); }
  .approach-mobile-icon .icon { width:22px; height:22px; }
  .approach-narrow li>span:nth-child(2) { display:block; margin-bottom:6px; color:var(--color-gold); font-size:16px; font-weight:600; }
  .approach-narrow h3 { margin:0 0 8px; color:var(--color-gold); font-size:19px; }
  .approach-narrow p { margin:0; color:#9aa5b5; font-size:15px; line-height:1.65; }
}

.skills-tree { position:relative; width:74%; aspect-ratio:820/1000; height:auto; min-height:0; margin:0 auto; container-type:inline-size; }
.skills-tree>svg circle:not(.trace-particle) { fill:none; stroke:rgba(240,180,41,.16); stroke-width:1; stroke-dasharray:2 9; }
.skills-tree>svg path { stroke-width:2; filter:drop-shadow(0 0 5px rgba(240,180,41,.45)); }
.skills-core { display:flex; align-items:center; justify-content:center; gap:16px; border:1px solid rgba(240,180,41,.48); border-radius:50%; background:radial-gradient(circle,#152039,#060b16); color:#e7ecf3; text-align:center; }
.skills-tree>.skills-core { position:absolute; left:50%; top:17.5%; flex-direction:column; width:19cqw; height:19cqw; min-width:100px; min-height:100px; gap:1cqw; border-color:rgba(240,180,41,.6); background:radial-gradient(circle,rgba(240,180,41,.1),rgba(6,11,22,.92) 72%); box-shadow:0 0 46px rgba(240,180,41,.14); transform:translate(-50%,-50%); --reveal-from:translate(-50%,-50%) scale(.86); --reveal-to:translate(-50%,-50%); }.skills-tree>.skills-core .icon { width:4.9cqw; height:4.9cqw; min-width:26px; min-height:26px; }.skills-tree>.skills-core>span:last-child { font-size:clamp(11.5px,1.85cqw,22px); line-height:1.32; }.skills-core strong { color:#e0a933; }
.skills-mobile-flow { position:relative; }
.skills-mobile-flow>svg { position:absolute; left:0; top:0; width:52px; height:100%; overflow:visible; }
.skills-mobile-flow>svg path { fill:none; stroke:var(--color-gold); stroke-width:1.5; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.45)); }
.skills-mobile-flow>.skills-cards { position:relative; }
.skills-leaves { margin:0; padding:0; list-style:none; }
.skills-leaves li { position:absolute; display:flex; align-items:center; justify-content:center; width:7.25cqw; height:7.25cqw; min-width:38px; min-height:38px; padding:0; border:1px solid rgba(240,180,41,.5); border-radius:50%; background:radial-gradient(circle,rgba(240,180,41,.09),rgba(6,11,22,.9) 74%); transform:translate(-50%,-50%); }
.skills-leaves li { --reveal-from:translate(-50%,-50%) scale(.8); --reveal-to:translate(-50%,-50%); }
.skills-leaves li:nth-child(1){left:76.83%;top:30%}.skills-leaves li:nth-child(2){left:76.83%;top:48%}.skills-leaves li:nth-child(3){left:76.83%;top:66%}.skills-leaves li:nth-child(4){left:23.17%;top:42%}.skills-leaves li:nth-child(5){left:23.17%;top:58%}.skills-leaves li:nth-child(6){left:50%;top:62%}.skills-leaves li:nth-child(7){left:50%;top:85%}
.skills-leaves .icon { width:3.25cqw; height:3.25cqw; min-width:17px; min-height:17px; }.skills-leaves li>div { position:absolute; left:calc(100% + 14px); top:50%; width:19cqw; min-width:132px; transform:translateY(-50%); }.skills-leaves li:nth-child(4)>div,.skills-leaves li:nth-child(5)>div { right:calc(100% + 14px); left:auto; text-align:right; }.skills-leaves li:nth-child(6)>div,.skills-leaves li:nth-child(7)>div { top:calc(100% + 14px); left:50%; width:33cqw; min-width:255px; text-align:center; transform:translateX(-50%); }.skills-leaves li:nth-child(6)>div { padding:8px 12px; border-radius:10px; background:rgba(6,11,22,.86); backdrop-filter:blur(3px); }.skills-leaves h3,.skills-cards h3 { margin:0 0 7px; font-size:clamp(17px,1.95cqw,23px); font-weight:700; }.skills-leaves p,.skills-cards p { margin:0; color:#b6c0cf; font-size:clamp(13.5px,1.75cqw,19px); line-height:1.6; }
.skills-cards>.skills-core { width:180px; height:180px; margin:0 auto 40px; padding:20px; }

.scene-adn .split-layout { align-items:center; }
.adn-diagram { flex:1 1 520px; min-width:0; container-type:inline-size; }
.adn-visual { position:relative; width:100%; aspect-ratio:760/330; margin-bottom:clamp(14px,2vh,22px); }
.adn-visual>svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.adn-visual>svg path { fill:none; stroke:var(--color-gold); stroke-width:1.8; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.4)); }
.adn-visual>svg .adn-junction { fill:var(--color-gold); stroke:none; transform:none; transition:opacity var(--duration-reveal) var(--ease-reveal); filter:drop-shadow(0 0 5px rgba(240,180,41,.55)); }
.adn-icon { position:absolute; top:61.21%; display:flex; align-items:center; justify-content:center; color:var(--color-gold); --reveal-from:translate(-50%,-50%); --reveal-to:translate(-50%,-50%); }
.adn-icon.mission{left:16.67%}.adn-icon.vision{left:50%}.adn-icon.values{left:83.33%}
.adn-icon .icon { width:5.5cqw; height:5.5cqw; min-width:28px; min-height:28px; }
.adn-details { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,26px); }
.adn-card { min-height:0; padding:0 clamp(4px,1vw,14px); border:0; border-radius:0; background:none; text-align:center; }
.adn-card:not(:last-child) { border-right:1px solid rgba(255,255,255,.08); }
.adn-card h3 { margin:0 0 12px; color:#fff; font-size:clamp(14px,1.25vw,18px); letter-spacing:.04em; }.adn-card h3::after { display:block; width:34px; height:1px; margin:16px auto 0; background:rgba(240,180,41,.8); content:""; }.adn-card h3 span { color:#e0a933; }.adn-card p,.adn-card li { color:#b6c0cf; font-size:clamp(13px,1.15vw,16px); line-height:1.7; }.adn-card ul { display:flex; flex-direction:column; gap:9px; margin:0; padding:0; list-style:none; }.adn-card li { display:flex; align-items:center; gap:11px; line-height:normal; }.adn-card.values li { color:#dbe2ec; }.adn-card li::before { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--color-gold); content:""; }

.scene-contact { padding-bottom:clamp(80px,10vh,120px); }
.contact-layout { display:flex; flex-wrap:wrap; align-items:flex-start; gap:clamp(30px,3.5vw,56px); }.contact-copy{flex:1 1 320px}.map-column{flex:1 1 380px}.contact-panel{flex:1 1 380px}
.contact-copy h2 { font-size:clamp(32px,3.6vw,56px); line-height:1.1; }.contact-copy .gold-rule { width:200px; max-width:56%; height:1px; }.contact-copy .scene-intro { max-width:440px; margin-bottom:clamp(30px,4vh,46px); font-size:clamp(15px,1.2vw,17px); line-height:1.8; }
.contact-details { display:flex; flex-direction:row; flex-wrap:wrap; gap:clamp(16px,2vw,28px); margin:0 0 clamp(26px,3.4vh,40px); font-style:normal; }.contact-details a,.contact-details p { display:flex; align-items:center; gap:13px; margin:0; color:#dbe2ec; font-size:15px; }.contact-icon { display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(240,180,41,.45); border-radius:50%; color:var(--color-gold); }.contact-icon .icon { width:18px; height:18px; }
.social-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:0; color:#8b95a5; font-size:14px; }.social-links { display:flex; gap:14px; }.social-links a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:50%; color:#0a0f1a; background:linear-gradient(135deg,#f7d267,#f0b429 45%,#dd9317); }.social-links .icon { width:18px; height:18px; color:inherit; }
.map-column { min-width:0; container-type:inline-size; text-align:center; }.africa-map { position:relative; width:100%; aspect-ratio:2/1; }.africa-map svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.map-caption { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:clamp(10px,2vh,24px); color:#a7b1c0; font-size:clamp(15px,1.35vw,20px); line-height:1.5; }.map-caption-icon { display:flex; flex:0 0 52px; align-items:center; justify-content:center; width:52px; height:52px; border:1px solid rgba(240,180,41,.4); border-radius:50%; color:var(--color-gold); }.map-caption-icon .icon { width:24px; height:24px; }.map-caption strong { color:var(--color-gold); }
.map-dot { fill:rgba(150,170,200,.3); }
.map-arc { fill:none; stroke:var(--color-gold); stroke-width:.13; filter:drop-shadow(0 0 1.2px rgba(240,180,41,.85)); }
.map-node { fill:var(--color-gold-light); filter:drop-shadow(0 0 1.5px rgba(247,210,103,.9)); }
.map-anchor-halo { fill:rgba(240,180,41,.22); }.map-anchor { fill:#fff3cf; filter:drop-shadow(0 0 2px rgba(247,210,103,1)); }
.contact-panel { min-width:0; padding:clamp(26px,2.6vw,38px) clamp(20px,2.2vw,32px); border:1px solid rgba(240,180,41,.26); border-radius:16px; background:linear-gradient(180deg,rgba(13,20,36,.7),rgba(7,12,22,.7)); box-shadow:none; }
.form-heading { margin-bottom:clamp(20px,2.6vh,28px); text-align:center; }.form-heading>.icon { display:inline-block; width:30px; height:30px; margin-bottom:12px; border:0; border-radius:0; }.form-heading h3 { margin:0 0 10px; font-size:clamp(19px,1.7vw,25px); letter-spacing:-.01em; }.form-heading p { margin:0; color:#9aa5b5; font-size:clamp(13px,1.05vw,15px); line-height:1.6; }
.contact-panel form { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }.field { min-width:0; }.field-full { grid-column:1/-1; }.field label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }.field input,.field textarea { width:100%; padding:15px 16px; border:1px solid rgba(255,255,255,.13); border-radius:9px; outline:0; background:rgba(255,255,255,.03); color:#fff; font-size:14px; }.field textarea { resize:vertical; min-height:110px; }.field input:focus,.field textarea:focus { border-color:rgba(240,180,41,.55); box-shadow:0 0 0 3px rgba(240,180,41,.08); }.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }.contact-panel button { width:100%; padding:17px; }
.form-status { min-height:20px; margin:0; color:var(--color-gold); font-size:13px; }.privacy-note { display:flex; align-items:center; justify-content:center; gap:7px; margin:0; color:#6d7889; font-size:11px; }
.mobile-cta { position:fixed; inset:auto 0 0; z-index:115; display:none; padding:12px clamp(12px,3vw,20px) calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,transparent,rgba(2,4,10,.82) 38%,rgba(2,4,10,.96)); opacity:0; pointer-events:none; transform:translateY(120%); transition:opacity .45s ease,transform .5s var(--ease-reveal); }.mobile-cta.is-visible { opacity:1; pointer-events:auto; transform:none; }.mobile-cta .button { display:flex; width:100%; padding:16px; border-radius:11px; box-shadow:0 10px 30px rgba(240,180,41,.28); font-size:15px; }
.mobile-cta .button .icon { width:17px; height:17px; color:#0a0f1a; }

.seam { display:flex; justify-content:center; height:clamp(88px,13vh,170px); padding:0; overflow:visible; }.seam svg { width:min(46%,520px); height:100%; overflow:visible; }.seam path { fill:none; stroke:var(--color-gold); stroke-width:1.6; stroke-linecap:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 6px rgba(240,180,41,.55)); }
.constellation { opacity:.5; }
.scene-trust { background:radial-gradient(100% 80% at 20% 30%,rgba(14,28,60,.42),transparent 74%); }
.scene-expertises { background:radial-gradient(110% 80% at 70% 45%,rgba(13,26,56,.42),transparent 74%); }
.scene-approach { background:radial-gradient(90% 70% at 80% 20%,rgba(14,28,60,.42),transparent 74%); }
.scene-skills { background:radial-gradient(100% 80% at 65% 40%,rgba(14,28,60,.42),transparent 74%); }
.scene-adn { background:radial-gradient(90% 70% at 40% 30%,rgba(10,22,48,.34),transparent 74%); }
.scene-contact { background:radial-gradient(90% 70% at 25% 15%,rgba(14,28,60,.42),transparent 74%); }
.scene-trust .constellation { opacity:.42; }
.scene-expertises .constellation { opacity:.4; }
.scene-approach .constellation { opacity:.45; }
.scene-skills .constellation { opacity:.4; }
.scene-adn .constellation { opacity:.32; }
.hero-rule { margin-top:clamp(24px,3vh,36px); }
.scene-trust,.scene-expertises { position:relative; }
.scene-trust .scene-marker { margin-bottom:clamp(30px,5vh,60px); }
.scene-trust h2 span { color:var(--color-gold-secondary); }
.scene-trust .scene-copy>.gold-rule { width:290px; max-width:70%; height:1px; margin:clamp(26px,3.4vh,40px) 0; }
.scene-trust .scene-copy .scene-intro { max-width:620px; margin:0; font-size:clamp(16px,1.35vw,19px); line-height:1.85; color:#c3ccd9; }
.scene-expertises .gold-rule { width:300px; height:1px; }
.scene-expertises .scene-intro { max-width:560px; font-size:clamp(16px,1.35vw,19px); line-height:1.85; color:#c3ccd9; }
.expertise-orbit-column { min-width:0; container-type:inline-size; }
.expertise-orbit { container-type:normal; }
.expertise-mobile-flow { position:relative; }
.expertise-mobile-flow>svg { position:absolute; left:0; top:0; width:52px; height:100%; overflow:visible; }
.expertise-mobile-flow>svg path { fill:none; stroke:var(--color-gold); stroke-width:1.5; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.45)); }
.expertise-mobile-flow .expertise-cards { position:relative; }
.expertise-orbit>svg path { filter:none; }
.expertise-orbit>svg path:first-of-type { stroke:rgba(240,180,41,.75); }
.expertise-core[data-fade] { transform:translate(-50%,-50%) scale(.86); }
.expertise-core[data-fade].is-visible { transform:translate(-50%,-50%) scale(1); }
.expertise-nodes li[data-fade] { transform:translate(-50%,-50%) scale(.8); }
.expertise-nodes li[data-fade].is-visible { transform:translate(-50%,-50%) scale(1); }
.hero-network>.network-core[data-fade] { transform:translate(-50%,-50%) scale(.72); }
.hero-network>.network-core[data-fade].is-visible { transform:translate(-50%,-50%) scale(1); }
.network-nodes li[data-fade] { transform:translate(-50%,-50%) scale(.8); }
.network-nodes li[data-fade].is-visible { transform:translate(-50%,-50%) scale(1); }
.scene-adn .scene-copy { flex:1 1 400px; }
.scene-adn .adn-diagram { flex:1 1 520px; }
.scene-adn .adn-diagram { position:relative; }
.bridge-anchor-end { left:50%; top:0; transform:translate(-50%,-50%); }
.scene-bridge { position:absolute; left:0; top:0; z-index:3; width:0; height:0; overflow:visible; pointer-events:none; }
.scene-bridge path { fill:none; stroke:var(--color-gold); stroke-width:2; stroke-linecap:round; filter:drop-shadow(0 0 6px rgba(240,180,41,.5)); }
.scene-adn h2 { font-size:clamp(32px,3.7vw,56px); line-height:1.1; }
.scene-adn .gold-rule { width:220px; max-width:60%; height:1px; margin:clamp(24px,3vh,36px) 0; }
.scene-adn .scene-intro { max-width:520px; margin:0; }
.scene-contact { padding-bottom:clamp(60px,8vh,100px); }
.map-caption { margin-bottom:0; }
.map-arc { filter:drop-shadow(0 0 .35px rgba(240,180,41,.65)); }
.privacy-note { gap:8px; font-size:12px; line-height:normal; }
.privacy-note .icon { width:13px; height:13px; }
.form-status { min-height:18px; }
.seam-left,.seam-right { position:relative; }

/* Desktop compositions measured from the canonical bundled mockup. */
@media (min-width:900px) {
  [data-dnarrow] { display:none!important; }

  .scene-trust { min-height:961px; }

  .scene-expertises .scene-inner {
    display:grid;
    grid-template-columns:minmax(430px,591fr) minmax(500px,661fr);
    grid-template-rows:auto auto auto;
    column-gap:clamp(30px,4vw,64px);
    align-items:start;
  }
  .scene-expertises .scene-marker { grid-column:1/-1; grid-row:1; }
  .scene-expertises .expertises-heading { display:block; grid-column:1; grid-row:2; min-width:0; }
  .scene-expertises .expertises-heading>div { display:block; }
  .scene-expertises .pillars { margin-top:clamp(34px,5vh,58px); }
  .scene-expertises .expertise-orbit-column {
    grid-column:2;
    grid-row:2;
    align-self:center;
  }
  .scene-expertises .expertise-orbit {
    width:64%;
    margin:0 auto;
  }
  .scene-expertises .scene-conclusion { grid-column:1/-1; grid-row:3; margin-top:clamp(40px,6vh,72px); }
  .scene-expertises { min-height:979px; }

  .scene-approach { min-height:1104px; }

  .scene-skills .scene-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(620px,1.45fr);
    grid-template-rows:auto auto;
    column-gap:clamp(30px,4vw,64px);
    align-items:start;
  }
  .scene-skills .scene-marker { grid-column:1/-1; grid-row:1; }
  .scene-skills .skills-copy { grid-column:1; grid-row:2; min-width:0; }
  .scene-skills .skills-copy .scene-intro { max-width:580px; margin-top:0; }
  .scene-skills .skills-tree {
    grid-column:2;
    grid-row:2;
    align-self:start;
    width:100%;
    aspect-ratio:820/1000;
    height:auto;
    min-height:0;
    margin:calc(-1 * (clamp(26px,4vh,50px) + clamp(30px,3.6vw,52px))) auto 0;
    transform:translateX(clamp(-110px,-6vw,0px));
  }
  .scene-skills { min-height:0; }

  .scene-adn { min-height:0; }
  .scene-adn .adn-diagram { min-height:0; }
  .scene-adn .adn-diagram { margin-left:5px; transform:translateX(clamp(-110px,-6vw,0px)); }

  .scene-contact { display:flex; align-items:center; min-height:903px; }
  .scene-contact>.scene-inner { flex:1 1 auto; }
  .contact-panel textarea { height:96px; min-height:0; }
  .site-footer { padding-block:43px 34px; }
  .footer-brand .brand-logo { width:40px; height:40px; }
  .footer-meta { padding-top:22px; }
}

@media (max-width:1199px) {
  .contact-layout { grid-template-columns:1fr 1fr; }.map-column { grid-row:2; }.contact-panel { grid-column:2; grid-row:1/3; }
  .pillars li { width:auto; }.expertises-heading { flex-direction:column; }.pillars { align-self:stretch; }
}
@media (min-width:900px) and (max-width:1119px) {
  .scene-skills .scene-inner { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .scene-skills .skills-copy { grid-column:1; grid-row:2; }
  .scene-skills .skills-tree { grid-column:1; grid-row:3; width:min(100%,820px); margin:clamp(34px,5vh,58px) auto 0; transform:none; }
}
@media (max-width:1119px) {
  .desktop-navigation,.header-cta { display:none!important; }.menu-toggle { display:flex; }.mobile-cta { display:block; }
}
@media (max-width:899px) {
  .scene-trust .scene-copy { flex-basis:auto; }
  .timeline-list { display:flex; }
  .hero-layout,.split-layout { flex-direction:column; align-items:stretch; }.hero-copy,.scene-copy { flex-basis:auto; }
  .diagram-wide { display:none!important; }.diagram-narrow { display:block; }
  .scene-adn .split-layout { display:block; }.adn-diagram { margin-top:30px; }.adn-details { grid-template-columns:1fr; }.adn-card { width:min(100%,400px); margin-inline:auto; }.adn-card:not(:last-child) { padding-bottom:24px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .contact-layout { grid-template-columns:1fr 1fr; }.contact-panel { grid-column:1/-1; grid-row:auto; }.map-column { grid-row:auto; }
}

/* Updated contact, footer and conversion controls. */
.scene-contact { min-height:auto; }
.contact-layout { display:grid; grid-template-columns:minmax(300px,1fr) minmax(420px,2fr); gap:clamp(24px,2.8vw,36px); align-items:stretch; }
.contact-card,.contact-panel { min-width:0; }
.contact-card { display:flex; flex:1 1 300px; flex-direction:column; align-self:stretch; height:auto; padding:clamp(24px,2.4vw,30px) clamp(20px,2.2vw,26px); border:1px solid rgba(240,180,41,.24); border-radius:16px; background:linear-gradient(165deg,rgba(15,24,46,.9),rgba(6,10,20,.92)); }
.contact-card-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:clamp(20px,2.8vh,28px); padding-bottom:clamp(16px,2.2vh,22px); border-bottom:1px solid rgba(255,255,255,.08); }
.contact-card-heading .contact-icon { flex-basis:46px; width:46px; height:46px; border-radius:12px; }
.contact-card-heading .contact-icon .icon { width:20px; height:20px; }
.contact-card-heading h2 { margin:0 0 4px; font-size:clamp(17px,1.5vw,20px); }
.contact-card-heading p { margin:0; color:#9aa5b5; font-size:13px; }
.contact-card .contact-details { display:flex; flex-direction:column; gap:clamp(17px,2.4vh,24px); margin:0; }
.contact-card .contact-details>div { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.contact-card .contact-details span { color:#8b95a5; font-size:12.5px; line-height:1.4; letter-spacing:.03em; }
.contact-card .contact-details small { color:#7c8697; font-size:12px; line-height:1.4; }
.contact-card .contact-details a { color:#f0b429; font-size:15px; font-weight:600; line-height:1.35; }
.contact-card .contact-details strong { color:#e7ecf3; font-size:15px; font-weight:600; line-height:1.35; }
.contact-card .africa-map { width:100%; margin-top:clamp(20px,3vh,28px); aspect-ratio:1672/941; }
.contact-card .africa-map img { display:block; width:100%; height:100%; object-fit:fill; opacity:.5; }
.contact-card .africa-map.is-visible img { opacity:.5; filter:none; }
.contact-card .africa-map svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.contact-card .map-arc { fill:none; stroke:var(--color-gold); stroke-width:3.6; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(240,180,41,.9)); }
.contact-card .map-node { fill:var(--color-gold-light); filter:drop-shadow(0 0 7px rgba(247,210,103,.95)); }
.contact-card .map-anchor-halo { fill:rgba(240,180,41,.24); }
.contact-card .map-anchor { fill:#fff3cf; filter:drop-shadow(0 0 9px rgba(247,210,103,1)); }
.contact-card .map-caption { justify-content:flex-start; gap:11px; margin:12px 0 0; color:#dbe2ec; font-size:13px; line-height:1.45; }
.contact-card .map-caption-icon { flex-basis:34px; width:34px; height:34px; }
.contact-card .map-caption-icon .icon { width:16px; height:16px; }
.contact-card .social-row { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; margin-top:auto; padding-top:clamp(16px,2.2vh,22px); border-top:1px solid rgba(255,255,255,.08); }
.contact-card .social-row>span { margin-bottom:12px; color:#8b95a5; font-size:12.5px; letter-spacing:.03em; }
.contact-card .social-links { gap:10px; }
.contact-card .social-links a { width:38px; height:38px; }
.contact-card .social-links .icon { width:16px; height:16px; }
.contact-panel { display:flex; flex:2 1 420px; flex-direction:column; align-self:stretch; padding:0; border:0; border-radius:0; background:none; }
.form-heading { margin-bottom:0; text-align:left; }
.form-heading h3 { margin:0 0 14px; font-size:clamp(24px,2.4vw,34px); line-height:1.12; letter-spacing:-.02em; }
.form-heading h3 span { color:var(--color-gold); }
.form-heading .form-rule { display:block; width:180px; max-width:50%; height:1px; margin:0 0 16px; background:linear-gradient(90deg,var(--color-gold),transparent); }
.form-heading>p:not(.response-promise) { max-width:560px; margin:0 0 24px; color:#c3ccd9; font-size:15px; line-height:1.75; }
.form-heading .response-promise { display:inline-flex; align-items:center; gap:8px; margin:0 0 16px; padding:8px 16px; border:1px solid rgba(240,180,41,.4); border-radius:20px; color:var(--color-gold); font-size:12.5px; font-weight:600; line-height:normal; letter-spacing:normal; text-transform:none; }
.response-promise .icon { width:13px; height:13px; }
.contact-panel form { flex:1 1 auto; grid-template-columns:1fr 1fr; align-content:start; gap:18px 22px; margin-top:0; padding:clamp(22px,2.4vw,30px); border:1px solid rgba(240,180,41,.24); border-radius:16px; background:linear-gradient(180deg,rgba(13,20,36,.7),rgba(7,12,22,.7)); }
.field { position:relative; }
.field label { position:static; display:block; width:auto; height:auto; margin-bottom:7px; overflow:visible; clip:auto; color:#dbe2ec; font-size:13.5px; font-weight:600; }
.field label span { color:var(--color-gold); }
.field input,.field textarea,.field select { width:100%; padding:13px 14px; border:1px solid rgba(255,255,255,.14); border-radius:9px; outline:0; background:rgba(255,255,255,.03); color:#fff; font:inherit; font-size:14px; }
.field select { min-height:46px; }
.field textarea { height:180px; min-height:180px; line-height:1.5; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:rgba(240,180,41,.65); box-shadow:0 0 0 3px rgba(240,180,41,.09); }
.contact-panel button { gap:12px; padding:16px; border-radius:9px; font-size:16px; box-shadow:0 12px 30px rgba(240,180,41,.2); }
.character-count { display:block; margin-top:6px; color:#7c8697; font-size:12px; text-align:right; }
.form-status.is-error { color:#ef8d79; }.form-status.is-success { color:#6bd49a; }
.site-footer { position:relative; padding:clamp(34px,5vh,54px) var(--page-gutter) clamp(26px,4vh,40px); border-top:1px solid rgba(240,180,41,.14); background:#02050a; }
.footer-main,.footer-meta { width:min(1560px,100%); margin-inline:auto; }
.footer-main { display:flex; align-items:center; gap:clamp(24px,4vw,64px); }
.footer-brand { flex:0 0 auto; padding-right:0; border-right:0; }
.footer-navigation { display:flex; flex:1 1 auto; flex-wrap:wrap; gap:14px clamp(14px,2vw,28px); }
.footer-navigation a,.footer-navigation span { color:#9aa5b5; font-size:14px; }
.footer-navigation a:hover { color:var(--color-gold); }
.footer-navigation span[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.footer-social { display:flex; gap:10px; }
.footer-social a { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(240,180,41,.4); border-radius:50%; color:var(--color-gold); }
.footer-social .icon { width:16px; height:16px; }
.footer-meta { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:#687384; font-size:12px; }
.footer-credit { text-align:center; }
.footer-credit a { color:#8c96a6; font-weight:700; letter-spacing:.04em; transition:color .25s ease; }
.footer-credit a:hover,.footer-credit a:focus { color:var(--color-gold); }
.footer-location { text-align:right; }
.floating-action { position:fixed; right:clamp(14px,2.5vw,28px); z-index:116; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transform:translateY(14px) scale(.86); transition:opacity .3s ease,transform .35s var(--ease-reveal),gap .3s ease; }
.floating-action.is-visible { opacity:1; pointer-events:auto; transform:none; }
.whatsapp-action { bottom:calc(clamp(84px,11vh,110px) + 66px); height:56px; padding:0 16px; gap:0; overflow:hidden; border-radius:28px; background:#25d366; color:#052e14; box-shadow:0 12px 30px rgba(37,211,102,.32); font-size:14.5px; font-weight:700; }
.whatsapp-action [data-wa-label] { display:block; max-width:0; margin:0; opacity:0; overflow:hidden; white-space:nowrap; color:#052e14; line-height:1; transition:max-width .35s var(--ease-reveal),opacity .3s ease,margin .3s ease; }
.whatsapp-action>.icon { width:26px; height:26px; color:#052e14!important; stroke:#052e14!important; stroke-width:1.75; }
.whatsapp-action:hover,.whatsapp-action:focus { gap:10px; }
.whatsapp-action:hover [data-wa-label],.whatsapp-action:focus [data-wa-label] { max-width:140px; opacity:1; }
.whatsapp-mark { font-size:16px; font-weight:900; }
.backtop-action { bottom:clamp(84px,11vh,110px); width:50px; height:50px; border:1px solid rgba(240,180,41,.45); border-radius:50%; background:rgba(8,13,24,.9); color:var(--color-gold); font-size:22px; cursor:pointer; }
@media (max-width:899px) {
  .contact-layout { grid-template-columns:1fr; }
  .contact-card,.contact-panel { padding:20px; }
  .contact-card .contact-details { grid-template-columns:1fr; gap:20px; }
  .contact-panel form { grid-template-columns:1fr; }
  .field-full { grid-column:auto; }
  .footer-main { align-items:flex-start; flex-direction:column; }
  .footer-navigation { width:100%; }
  .footer-meta { display:flex; align-items:flex-start; flex-direction:column; }
  .footer-credit,.footer-location { text-align:left; }
}
@media (max-width:619px) {
  :root { --header-offset:88px; }
  .contact-card-heading { align-items:flex-start; }
  .contact-card .africa-map { aspect-ratio:1.45/1; }
  .form-heading h2 { font-size:clamp(30px,9.5vw,42px); }
  .floating-action { right:14px; }
  .whatsapp-action { width:auto; height:56px; padding:0 16px; font-size:14.5px; }
}
@media (max-width:619px) {
  .scene.scene-hero { padding:clamp(120px,13vh,170px) var(--page-gutter) clamp(50px,7vh,90px); }
  .site-header { padding:14px 12px; }
  .scene { padding-inline:20px; }.scene-marker { margin-bottom:34px; }.scene h2 { font-size:clamp(32px,10vw,44px); }
  .hero-copy h1 { font-size:clamp(38px,12vw,52px); }.locations li { padding:10px 13px; }
  .compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .compact-grid li { min-width:0; padding:13px 10px; font-size:12px; }
  .compact-grid .icon { width:38px; height:38px; }
  .hero-network-narrow>.network-core { width:120px; height:120px; margin-bottom:19px; }
  .expertise-cards,.skills-cards ul { grid-template-columns:1fr; }
  .pillars { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .pillars li { padding:0; }
  .expertises-heading { gap:24px; }
  .scene-expertises { min-height:1691px; }
  .scene-trust .split-layout { gap:26px; }
  .scene-trust { min-height:881px; }
  .timeline-list { gap:26px; }
  .timeline-list li { padding:0 0 0 64px; }
  .timeline-list h3 { margin-bottom:7px; font-size:17px; }
  .timeline-list p { font-size:14px; line-height:1.6; }
  .expertise-cards { gap:10px; }
  .expertise-cards li { padding:11px 12px; }
  .expertise-cards .icon { width:40px; height:40px; }
  .approach-path { height:805px; margin-top:32px; }
  .approach-path>svg { display:none; }
  .approach-path ol { grid-template-columns:1fr; grid-template-rows:repeat(5,1fr); }
  .approach-path ol::before { position:absolute; left:31px; top:8%; bottom:8%; width:2px; background:linear-gradient(var(--color-gold),rgba(240,180,41,.25)); content:""; }
  .approach-path li,.approach-path li:nth-child(even),.approach-path li:nth-child(odd) { align-self:center; align-items:flex-start; padding-left:78px; text-align:left; transform:none; }
  .approach-path .icon { position:absolute; left:0; margin:0; }
  .skills-cards ul { gap:10px; }
  .skills-cards li { padding:12px; }
  .skills-cards li>.icon { width:40px; height:40px; }
  .scene-skills .skills-cards { margin-bottom:-2px; }
  .contact-layout { grid-template-columns:1fr; gap:20px; }.map-column { order:2; }.contact-panel { order:3; padding:24px 18px; }.contact-panel form { grid-template-columns:1fr; }.field-full { grid-column:auto; }
  .adn-card { min-height:auto; padding:16px; }
}

/* Mobile geometry locked to the canonical mockup. */
@media (max-width:899px) {
  .scene-expertises .scene-inner { display:block; }
  .diagram-narrow.timeline-list { display:flex; }
  .diagram-narrow.expertise-mobile-flow { display:block; }
  .expertise-mobile-flow .expertise-cards { display:flex; flex-direction:column; }
  .expertises-heading>div { flex:none; }
  .expertise-cards { margin-top:34px; }
  .expertise-conclusion { margin-top:40px; }
  .adn-details { grid-template-columns:1fr; gap:16px; }
  .adn-card:not(:last-child) { border-right:0; }
}

@media (max-width:619px) {
  .scene-marker { gap:20px; margin-bottom:clamp(30px,5vh,60px); font-size:11px; letter-spacing:.34em; }
  .scene-hero { min-height:1389px; }
  .scene-trust { min-height:891px; }
  .scene.scene-expertises { min-height:0; padding-block:47px; }
  .scene-skills { min-height:0; }
  .scene-adn { min-height:1157px; }
  .scene-marker span { font-size:20px; font-weight:600; }
  .scene-marker>span { letter-spacing:normal; }
  .scene-marker i { width:34px; background:rgba(240,180,41,.7); }
  .scene-marker strong { color:var(--color-gold); }
  .hero-copy h1 { font-size:clamp(38px,4.6vw,70px); }
  .locations li { padding:11px 18px; }
  .locations .icon { width:16px; height:16px; }
  .hero-network-narrow>.network-core { display:none; }
  .hero-network-narrow>.compact-connector { display:none; }
  .compact-grid { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:11px; margin-top:8px; }
  .compact-grid li { gap:13px; padding:14px 15px; border-color:rgba(240,180,41,.2); background:rgba(240,180,41,.03); font-size:14px; line-height:1.4; }
  .compact-grid .compact-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(240,180,41,.45); border-radius:50%; color:var(--color-gold); }
  .compact-grid .compact-icon .icon { width:19px; height:19px; border:0; border-radius:0; }
  .scene-trust h2 { font-size:clamp(36px,4.3vw,66px); }
  .scene-trust .gold-rule { width:290px; max-width:70%; height:1px; margin:clamp(26px,3.4vh,40px) 0; }
  .scene-trust .scene-copy .scene-intro { margin-top:0; }
  .scene-trust .scene-intro { color:#c3ccd9; }
  .timeline-list p { color:#9aa5b5; }
  .scene-expertises { min-height:0; }
  .expertise-cards { gap:14px; }
  .expertise-cards li { gap:14px; padding:15px; border-color:rgba(255,255,255,.09); background:transparent; }
  .expertise-card-icon { display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#b8860b; background:#fff; }
  .expertise-card-icon .icon { width:20px; height:20px; border:0; border-radius:0; color:inherit; background:none; }
  .expertise-cards h3 { margin:0 0 5px; font-size:16px; }
  .expertise-cards p { font-size:13.5px; line-height:1.55; }
  .expertise-cards .expertise-core-card { gap:14px; margin-bottom:4px; padding:16px; border-color:rgba(240,180,41,.3); border-radius:14px; background:rgba(240,180,41,.05); }
  .expertise-core-card img { width:46px; height:46px; object-fit:contain; }
  .expertise-core-card h3,.expertise-core-card p { color:#e7ecf3; font-size:14px; font-weight:400; line-height:1.45; }
  .skills-cards { display:flex; flex-direction:column; gap:12px; }
  .skills-cards>.skills-core { display:flex; flex-direction:row; justify-content:flex-start; width:100%; height:80px; margin:0 0 4px; padding:16px; gap:14px; border-radius:14px; }
  .skills-cards>.skills-core>span:last-child { font-size:15px; line-height:1.4; }
  .skills-cards>.skills-core .icon { width:46px; height:46px; }
  .skills-cards ul { display:flex; flex-direction:column; gap:12px; }
  .skills-cards li { align-items:flex-start; gap:13px; padding:14px; }
  .skills-cards li>.icon { width:42px; height:42px; }
  .skills-cards h3 { margin-bottom:5px; font-size:15.5px; }
  .skills-cards p { font-size:13.5px; line-height:1.55; }
  .scene-adn h2 { font-size:clamp(32px,3.7vw,56px); }
  .contact-copy h2 { font-size:clamp(32px,3.6vw,56px); }
  .contact-panel { padding:26px 20px; }
  .adn-card { padding:0 4vw; }
  .adn-card:not(:last-child) { padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.08); }
  .adn-card p,.adn-card li { font-size:16px; }
  .scene-skills .scene-marker,.scene-adn .scene-marker { margin-bottom:clamp(26px,4vh,50px); }
  .scene-approach .scene-marker { margin-bottom:clamp(26px,4vh,50px); }
  .scene-approach h2 { font-size:clamp(34px,4.1vw,62px); line-height:1.09; }
  .scene-skills h2 { font-size:clamp(32px,3.7vw,58px); line-height:1.12; }
  .scene-skills>.scene-inner>.scene-intro { margin-top:0; }
  .scene-skills .skills-cards { margin-top:clamp(30px,4vw,64px); }
  .skills-cards .skill-card-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(240,180,41,.45); border-radius:50%; color:var(--color-gold); }
  .skills-cards .skill-card-icon .icon { width:19px; height:19px; border:0; border-radius:0; }
  .skills-cards>.skills-core .skill-card-icon { flex-basis:46px; width:46px; height:46px; border-color:rgba(240,180,41,.55); }
  .skills-cards>.skills-core .skill-card-icon .icon { width:21px; height:21px; }
  .skills-cards li { border-color:rgba(255,255,255,.09); background:transparent; }
  .skills-cards>.skills-core { border-color:rgba(240,180,41,.3); background:rgba(240,180,41,.05); }
  .scene-adn h2 { line-height:1.1; }
  .scene-adn .gold-rule { width:220px; max-width:60%; height:1px; margin:clamp(24px,3vh,36px) 0; }
  .scene-adn .scene-intro { margin:0; }
  .adn-card p { margin:0; }
  .adn-card ul { display:flex; flex-direction:column; gap:9px; }
  .adn-card li { display:flex; align-items:center; gap:11px; color:#dbe2ec; line-height:normal; }
  .adn-card li::before { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--color-gold); content:""; }
  .site-footer { min-height:324px; padding:34px 20px 26px; }
  .footer-main { gap:20px; }
  .footer-meta { margin-top:26px; padding-top:18px; }
}

/* Final cascade locks for the updated mockup. */
.scene-hero { position:relative; }
.scroll-cue { position:absolute; left:50%; bottom:clamp(18px,3.5vh,34px); display:flex; flex-direction:column; align-items:center; gap:8px; color:#9aa5b5; font-size:11px; letter-spacing:.18em; opacity:.85; transform:translateX(-50%); }
.scroll-cue i { position:relative; width:26px; height:42px; padding-top:7px; border:1.5px solid rgba(240,180,41,.55); border-radius:14px; }
.scroll-cue i::after { position:absolute; left:50%; top:7px; width:4px; height:8px; border-radius:2px; background:var(--color-gold); transform:translateX(-50%); animation:wca-scroll-cue 1.5s ease-in-out infinite; content:""; }
@keyframes wca-scroll-cue { 0%,20%{opacity:1;transform:translate(-50%,0)} 80%,100%{opacity:0;transform:translate(-50%,9px)} }
.scene-contact { min-height:0!important; }
.contact-layout { display:flex!important; flex-wrap:wrap; align-items:flex-start; gap:clamp(24px,2.8vw,36px); }
.contact-panel textarea { height:180px!important; min-height:180px!important; }
@media (max-width:1119px) {
  .scene-hero .hero-network-column { display:none!important; }
  .scene-hero .hero-network-narrow { display:block; flex:1 1 100%; width:100%; }
  .scene-hero .hero-network-narrow>.network-core,
  .scene-hero .hero-network-narrow>.compact-connector { display:none; }
  .scene-hero .compact-grid { grid-template-columns:1fr; gap:11px; margin-top:8px; }
  .scene-hero .compact-grid li { gap:13px; padding:14px 15px; border-color:rgba(240,180,41,.2); background:rgba(240,180,41,.03); font-size:14px; line-height:1.4; }
  .scene-hero .compact-grid .compact-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(240,180,41,.45); border-radius:50%; color:var(--color-gold); }
  .scene-hero .compact-grid .compact-icon .icon { width:19px; height:19px; border:0; border-radius:0; }
  .scene-hero .scroll-cue { position:static; width:max-content; margin:30px auto 4px; transform:none; }
  .scene-trust .trust-path { display:none!important; }
  .scene-trust .timeline-list { display:flex!important; flex:1 1 100%; width:100%; }
  .scene.scene-expertises { min-height:0; padding-block:clamp(70px,10vh,130px); }
  .scene-expertises .scene-inner { display:block; }
  .scene-expertises .scene-marker { margin-bottom:clamp(26px,4vh,50px); }
  .scene-expertises .expertises-heading { display:flex; flex-direction:column; gap:clamp(34px,5vh,58px); }
  .scene-expertises .expertises-heading>div { flex:none; }
  .scene-expertises h2 { font-size:clamp(36px,4.3vw,66px); }
  .scene-expertises .gold-rule { max-width:72%; margin:clamp(24px,3.2vh,38px) 0; }
  .scene-expertises .pillars { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); align-self:stretch; gap:clamp(18px,2.4vw,34px); }
  .scene-expertises .pillars h3 { font-size:17px; }
  .scene-expertises .pillars p { color:#b6c0cf; font-size:15px; line-height:1.6; }
  .scene-expertises .expertise-orbit-column { display:none!important; }
  .scene-expertises .expertise-mobile-flow { display:block!important; width:100%; margin-top:clamp(30px,4vw,64px); }
  .scene-expertises .expertise-mobile-flow>svg,
  .scene-expertises .expertise-core-card { display:none; }
  .scene-expertises .expertise-cards { display:flex; flex-direction:column; gap:14px; margin-top:0; }
  .scene-expertises .expertise-cards li { align-items:flex-start; gap:14px; padding:15px; border-color:rgba(255,255,255,.09); background:transparent; }
  .scene-expertises .expertise-card-icon { display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#b8860b; background:#fff; }
  .scene-expertises .expertise-card-icon .icon { width:20px; height:20px; border:0; border-radius:0; color:inherit; background:none; }
  .scene-expertises .expertise-cards h3 { margin:0 0 5px; color:#fff; font-size:16px; }
  .scene-expertises .expertise-cards p { color:#b6c0cf; font-size:13.5px; line-height:1.55; }
  .scene-expertises .expertise-conclusion { margin-top:clamp(40px,6vh,72px); }
}
@media (max-width:899px) {
  .contact-layout { flex-direction:column; }
  .contact-card { order:1; }.contact-panel { order:2; padding:0; }
  .scene-contact { min-height:0!important; }
}
@media (max-width:619px) {
  .scroll-cue { position:static; width:max-content; margin:30px auto 4px; transform:none; }
  .scene-contact { min-height:0!important; }
  .contact-layout { width:100%; align-items:stretch; }
  .contact-card,.contact-panel { width:100%; max-width:100%; }
  .contact-card { padding:24px 20px; }
  .contact-card-heading h2 { font-size:17px; line-height:normal; white-space:normal; }
  .contact-card .africa-map { aspect-ratio:1672/941; }
  .contact-panel { padding:0; }
  .contact-panel form { padding:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .scroll-cue i::after { animation:none; }
}

/* Typographie des figures, calée sur les styles calculés de la maquette. */
@media (min-width:900px) {
  .network-nodes li>span:last-child {
    top:50%;
    right:auto;
    bottom:auto;
    left:calc(100% + 14px);
    max-width:18cqw;
    color:#eef2f8;
    font-size:clamp(15px,1.75cqw,20px);
    font-weight:400;
    line-height:1.35;
    text-align:left;
    transform:translateY(-50%);
  }
  .network-nodes li:nth-child(1)>span:last-child {
    top:auto;
    bottom:calc(100% + 12px);
    left:50%;
    text-align:center;
    transform:translateX(-50%);
  }
  .network-nodes li:nth-child(4)>span:last-child {
    top:calc(100% + 12px);
    left:50%;
    text-align:center;
    transform:translateX(-50%);
  }
  .network-nodes li:nth-child(5)>span:last-child,
  .network-nodes li:nth-child(6)>span:last-child {
    right:calc(100% + 14px);
    left:auto;
    text-align:right;
  }

  .trust-path p { color:#c3ccd9; font-size:17px; line-height:1.7; }

  .expertise-nodes h3 { color:#b8860b; line-height:normal; }

  .approach-path .step-number { font-size:26px; font-weight:600; letter-spacing:normal; }
  .approach-path h3 { font-size:21.6119px; line-height:normal; }
  .approach-path p { color:#b6c0cf; font-size:16px; line-height:1.65; }

  .skills-leaves h3 { color:var(--color-gold); line-height:normal; }
  .skills-leaves p { color:#b6c0cf; line-height:1.6; }

  .adn-card h3 { letter-spacing:.04em; }
}

@media (max-width:899px) {
  .timeline-list h3 { color:#fff; }
  .timeline-list p { color:#b6c0cf; }

  .expertise-cards h3 { color:#fff; }
  .expertise-cards p { color:#b6c0cf; }

  .approach-narrow li>span:nth-child(2) { font-weight:600; letter-spacing:normal; }
  .approach-narrow h3 { color:#fff; }
  .approach-narrow p { color:#b6c0cf; }

  .skills-cards h3 { color:#fff; }
  .skills-cards p { color:#b6c0cf; }

  .adn-card h3 { font-size:19px; letter-spacing:.04em; }
  .adn-card p,.adn-card li { color:#b6c0cf; }
}
