.fhc *{box-sizing:border-box;}
.fhc{
  --c1:#06b6d4;--c2:#0f766e;--ink:#0f172a;--mu:#64748b;--body:#374151;
  --bg:#f8fafc;--soft:#f1f5f9;--line:rgba(15,23,42,.08);
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:'Inter',system-ui,sans-serif;color:var(--body);
}

/* ═══ HERO ═══ */
.fhc-hero{
  background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 45%,#f8fafc 100%);
  padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px);
  position:relative;overflow:hidden;
  display:grid;
  grid-template-columns:minmax(280px,520px) minmax(370px,580px);
  justify-content:center;
  gap:clamp(24px,3vw,48px);align-items:center;
}
.fhc-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(6,182,212,.13) 1px,transparent 1px);background-size:28px 28px;}
.fhc-hero::after{content:'';position:absolute;top:-40%;left:30%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.25),transparent 65%);pointer-events:none;}
.fhc-hero-copy{position:relative;z-index:2;opacity:0;will-change:transform,opacity;}
.fhc-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#0891b2;}
.fhc-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:#06b6d4;animation:fhcPing 2s ease-in-out infinite;}
@keyframes fhcPing{0%,100%{box-shadow:0 0 0 0 rgba(6,182,212,.6)}60%{box-shadow:0 0 0 10px rgba(6,182,212,0)}}
.fhc-h1{font-size:clamp(28px,3.8vw,54px);font-weight:900;letter-spacing:-.055em;line-height:1.05;color:#0f172a;margin-bottom:14px;}
.fhc-h1 em{font-style:normal;background:linear-gradient(100deg,#22d3ee,#06b6d4 50%,#38bdf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.fhc-sub{font-size:clamp(13px,1.2vw,15px);color:#64748b;line-height:1.65;margin-bottom:28px;max-width:420px;}
.fhc-kpis{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;}
.fhc-kpi{display:flex;flex-direction:column;gap:2px;}
.fhc-kpi-n{font-size:clamp(22px,2.8vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1;color:#0f172a;}
.fhc-kpi-l{font-size:11px;color:#64748b;font-weight:500;}

/* ─ Forum window ─ */
.fhc-forum{position:relative;will-change:transform;background:#0d1117;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.07);box-shadow:0 24px 60px rgba(0,0,0,.4);}

.fhc-fw-chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#161b22;border-bottom:1px solid rgba(255,255,255,.05);}
.fhc-fw-dots{display:flex;gap:5px;}
.fhc-fw-dot{width:10px;height:10px;border-radius:50%;}
.fhc-fw-url{flex:1;background:#0d1117;border-radius:5px;padding:5px 10px;font-size:10.5px;color:rgba(255,255,255,.28);display:flex;align-items:center;gap:5px;}
.fhc-fw-url i{color:rgba(6,182,212,.5);font-size:9px;}
.fhc-fw-body{padding:14px;display:flex;flex-direction:column;gap:8px;}
.fhc-msg{display:flex;gap:9px;align-items:flex-start;opacity:0;transform:translateY(8px);animation:fhcMsgIn .45s var(--ease) forwards;}
.fhc-msg:nth-child(1){animation-delay:.5s;}.fhc-msg:nth-child(2){animation-delay:1.3s;}.fhc-msg:nth-child(3){animation-delay:2.1s;}.fhc-msg:nth-child(4){animation-delay:2.9s;}.fhc-msg.tw{animation-delay:3.8s;}
@keyframes fhcMsgIn{to{opacity:1;transform:none}}
.fhc-av{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;}
.fhc-bubble{background:#21262d;border-radius:3px 10px 10px 10px;padding:8px 12px;max-width:calc(100% - 42px);border:1px solid rgba(255,255,255,.05);}
.fhc-bubble-meta{font-size:9.5px;color:rgba(255,255,255,.32);margin-bottom:3px;font-weight:600;}
.fhc-bubble-text{font-size:12px;color:rgba(255,255,255,.78);line-height:1.45;}
.fhc-msg.tw .fhc-bubble{border-radius:10px 10px 10px 3px;background:linear-gradient(135deg,rgba(6,182,212,.18),rgba(15,118,110,.14));border-color:rgba(6,182,212,.25);}
.fhc-msg.tw .fhc-bubble-text{color:rgba(6,182,212,.9);font-weight:600;}
.fhc-typing{display:flex;gap:9px;align-items:center;opacity:0;animation:fhcMsgIn .4s var(--ease) 3.3s forwards;}
.fhc-typing-dots{background:#21262d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:8px 12px;display:flex;gap:4px;align-items:center;}
.fhc-typing-dots span{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3);animation:fhcBounce 1.1s ease-in-out infinite;}
.fhc-typing-dots span:nth-child(2){animation-delay:.18s;}.fhc-typing-dots span:nth-child(3){animation-delay:.36s;}
@keyframes fhcBounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}}
.fhc-fw-footer{padding:8px 14px;background:#0a0e14;font-size:9.5px;color:rgba(255,255,255,.16);text-align:center;letter-spacing:.04em;}
.fhc-forum-wrap{position:relative;z-index:2;will-change:transform;display:flex;gap:14px;align-items:flex-start;}

/* ─ iPhone 17 Pro Max — Rouge Titane ─ */
@media(max-width:1000px){.fhc-phone{display:none;}}
/* Conteneur principal — opacity:0, GSAP gère l'entrée */
.fhc-phone{flex:0 0 116px;width:116px;align-self:center;opacity:0;position:relative;z-index:3;}
/* Boutons gauche : Action (court) + Volume ×2 */
.fhc-ph-lside{position:absolute;left:-3px;top:0;bottom:0;display:flex;flex-direction:column;gap:5px;padding-top:50px;z-index:0;}
.fhc-ph-action{width:3px;height:14px;background:linear-gradient(180deg,#D84040,#8B1212);border-radius:2px 0 0 2px;}
.fhc-ph-vol{width:3px;height:22px;background:linear-gradient(180deg,#C03030,#7A0F0F);border-radius:2px 0 0 2px;}
/* Bouton droit : Power */
.fhc-ph-rside{position:absolute;right:-3px;top:0;bottom:0;display:flex;flex-direction:column;padding-top:62px;z-index:0;}
.fhc-ph-power{width:3px;height:32px;background:linear-gradient(180deg,#C03030,#7A0F0F);border-radius:0 2px 2px 0;}
/* Châssis aluminium rouge titane */
.fhc-ph-frame{background:linear-gradient(145deg,#C84040 0%,#A52424 30%,#8B1212 55%,#C03030 80%,#6B0E0E 100%);border-radius:26px;padding:4px;position:relative;box-shadow:inset 1px 1px 0 rgba(255,200,200,.22),inset -1px -1px 0 rgba(0,0,0,.38),0 0 0 .5px rgba(255,255,255,.06),0 30px 80px rgba(130,12,12,.6),0 10px 26px rgba(0,0,0,.45);}
/* Reflet biseauté titane */
.fhc-ph-frame::before{content:'';position:absolute;inset:0;border-radius:26px;background:linear-gradient(135deg,rgba(255,210,210,.2) 0%,transparent 38%,transparent 62%,rgba(0,0,0,.2) 100%);pointer-events:none;}
/* Écran OLED noir */
.fhc-ph-screen{background:#000;border-radius:22px;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:212px;}
/* Dynamic Island */
.fhc-ph-island{width:44px;height:10px;background:#000;border-radius:10px;position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:6;box-shadow:0 0 0 1px rgba(255,255,255,.04);}
/* Status bar iOS */
.fhc-ph-sb{display:flex;align-items:center;justify-content:space-between;padding:23px 10px 3px;flex-shrink:0;}
.fhc-ph-time{font-size:9px;font-weight:700;color:#fff;letter-spacing:-.03em;}
.fhc-ph-status{display:flex;align-items:center;gap:3px;}
.fhc-ph-status i{font-size:6px;color:#fff;}
/* WhatsApp header */
.fhc-wa-hd{background:#075e54;padding:7px 9px;display:flex;align-items:center;gap:5px;flex-shrink:0;}
.fhc-wa-back{font-size:9px;color:rgba(255,255,255,.75);margin-right:1px;}
.fhc-wa-av{width:24px;height:24px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#25d366,#0f766e);display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:900;color:#fff;}
.fhc-wa-inf{flex:1;min-width:0;}
.fhc-wa-name{font-size:9px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fhc-wa-status{font-size:7.5px;color:rgba(255,255,255,.65);}
.fhc-wa-ico{font-size:10px;color:rgba(255,255,255,.7);}
/* Zone messages WhatsApp */
.fhc-wa-msgs{padding:8px 7px;display:flex;flex-direction:column;gap:5px;background:#e5ddd5;flex:1;}
.fhc-wa-msg{font-size:8.5px;line-height:1.4;padding:5px 7px;max-width:90%;word-break:break-word;box-shadow:0 1px 1px rgba(0,0,0,.1);opacity:0;animation:fhcMsgIn .35s var(--ease) forwards;display:flex;align-items:flex-end;gap:3px;}
.fhc-wa-msg.recv{background:#fff;color:#111;border-radius:0 8px 8px 8px;align-self:flex-start;}
.fhc-wa-msg.sent{background:#d9fdd3;color:#111;border-radius:8px 0 8px 8px;align-self:flex-end;}
.fhc-wa-ck{font-size:7px;color:#53bdeb;flex-shrink:0;}
.fhc-wa-msg:nth-child(1){animation-delay:2.3s;}
.fhc-wa-msg:nth-child(2){animation-delay:2.9s;}
.fhc-wa-msg:nth-child(3){animation-delay:3.5s;}
.fhc-wa-msg:nth-child(4){animation-delay:4.1s;}
/* Barre de saisie iOS WhatsApp */
.fhc-wa-bar{background:#f0f0f0;padding:5px 7px;display:flex;align-items:center;gap:5px;border-top:1px solid rgba(0,0,0,.05);font-size:8px;color:#aaa;flex-shrink:0;}
.fhc-wa-bar span{flex:1;}
.fhc-wa-bar i{color:#8696a0;}
@media(max-width:860px){.fhc-hero{grid-template-columns:1fr;}.fhc-forum{display:none;}.fhc-forum-wrap{display:none;}}

/* ═══════════════════════════════════
   ORBIT NAV — navigation circulaire
════════════════════════════════════ */
.fhc-orbit-section{
  background:#fff;
  padding:clamp(48px,6vw,80px) clamp(20px,5vw,64px);
  text-align:center;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.fhc-orbit-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 100% at 50% 0%,rgba(6,182,212,.04),transparent 60%);
  pointer-events:none;
}
.fhc-orbit-label{
  font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mu);margin-bottom:10px;
}
.fhc-orbit-title{
  font-size:clamp(18px,2.5vw,28px);font-weight:900;letter-spacing:-.04em;
  color:var(--ink);margin-bottom:40px;
}
.fhc-orbit-title span{color:var(--c1);}

/* Grille circulaire — 4 colonnes */
.fhc-orbs{
  display:grid;grid-template-columns:repeat(8,1fr);
  gap:12px;
  max-width:900px;margin:0 auto 48px;
}
/* Orb */
.fhc-orb{
  cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:0;background:none;border:none;font-family:inherit;
  transition:transform .3s var(--ease);
}
.fhc-orb:hover{transform:translateY(-6px);}
.fhc-orb.active{transform:translateY(-6px);}

/* Circle */
.fhc-orb-ring{
  width:76px;height:76px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center;
  transition:box-shadow .35s;
}
/* Outer spinning ring */
.fhc-orb-ring::before{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  border:2px solid transparent;
  border-top-color:var(--oc,#06b6d4);
  border-right-color:color-mix(in srgb,var(--oc,#06b6d4) 40%,transparent);
  animation:orbSpin 3s linear infinite;
  transition:opacity .3s;
  opacity:0;
}
.fhc-orb:hover .fhc-orb-ring::before,
.fhc-orb.active .fhc-orb-ring::before{opacity:1;}
/* Outer pulse ring */
.fhc-orb-ring::after{
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:1.5px solid var(--oc,#06b6d4);opacity:0;
  animation:orbPulseRing 2.2s ease-out infinite;
}
.fhc-orb.active .fhc-orb-ring::after{animation-play-state:running;opacity:1;}
.fhc-orb:hover .fhc-orb-ring::after{opacity:1;}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@keyframes orbPulseRing{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.3);opacity:0}}

/* Circle background */
.fhc-orb-circle{
  width:100%;height:100%;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--oc,#06b6d4) 10%,#fff);
  border:2px solid color-mix(in srgb,var(--oc,#06b6d4) 20%,transparent);
  transition:background .3s,border-color .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
/* Shimmer on hover */
.fhc-orb-circle::after{
  content:'';position:absolute;inset:-100%;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .5s;
}
.fhc-orb:hover .fhc-orb-circle::after,.fhc-orb.active .fhc-orb-circle::after{transform:translateX(100%);}
.fhc-orb:hover .fhc-orb-circle,.fhc-orb.active .fhc-orb-circle{
  background:var(--oc,#06b6d4);
  border-color:var(--oc,#06b6d4);
  box-shadow:0 8px 28px color-mix(in srgb,var(--oc,#06b6d4) 40%,transparent);
}

/* Icon */
.fhc-orb-ico{
  font-size:22px;color:var(--oc,#06b6d4);
  width:1.25em;text-align:center;display:inline-block;
  transition:color .3s,transform .5s var(--ease);
  position:relative;z-index:1;
}
.fhc-orb:hover .fhc-orb-ico,.fhc-orb.active .fhc-orb-ico{
  color:#fff;transform:scale(1.15) rotate(-8deg);
}

/* Label */
.fhc-orb-label{
  font-size:11.5px;font-weight:700;color:var(--mu);
  transition:color .2s;text-align:center;line-height:1.3;
}
.fhc-orb:hover .fhc-orb-label,.fhc-orb.active .fhc-orb-label{color:var(--oc,#06b6d4);}

/* Count dot */
.fhc-orb-count{
  font-size:9.5px;font-weight:800;
  width:18px;height:18px;border-radius:50%;
  background:var(--soft);color:var(--mu);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s,color .3s;
}
.fhc-orb:hover .fhc-orb-count,.fhc-orb.active .fhc-orb-count{
  background:var(--oc,#06b6d4);color:#fff;
}

/* Individual icon animations (idle) */
.fhc-orb[data-sec="design"] .fhc-orb-ico{animation:icoDesign 4s ease-in-out infinite;}
.fhc-orb[data-sec="web"] .fhc-orb-ico{animation:icoWeb 3s ease-in-out infinite;}
.fhc-orb[data-sec="seo"] .fhc-orb-ico{animation:icoSeo 2.8s ease-in-out infinite;}
.fhc-orb[data-sec="prospection"] .fhc-orb-ico{animation:icoPros 2.5s ease-in-out infinite;}
.fhc-orb[data-sec="crm"] .fhc-orb-ico{animation:icoCrm 3.5s linear infinite;}
.fhc-orb[data-sec="recrutement"] .fhc-orb-ico{animation:icoRec 2.8s ease-in-out infinite;}
.fhc-orb[data-sec="delocalisation"] .fhc-orb-ico{animation:icoDelo 5s linear infinite;}
.fhc-orb[data-sec="partenariat"] .fhc-orb-ico{animation:icoPart 2.2s ease-in-out infinite;}
@keyframes icoDesign{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(20deg) scale(1.08)}}
@keyframes icoWeb{0%,100%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes icoSeo{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes icoPros{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes icoCrm{0%,100%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes icoRec{0%,100%{transform:scale(1)}50%{transform:scale(1.1) translateY(-2px)}}
@keyframes icoDelo{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(30deg)}}
@keyframes icoPart{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(8deg)}}

/* Active indicator line */
.fhc-orbit-indicator{
  height:3px;background:var(--soft);border-radius:3px;
  max-width:600px;margin:0 auto;overflow:hidden;
}
.fhc-orbit-indicator-bar{
  height:100%;width:12.5%;border-radius:3px;
  background:linear-gradient(90deg,var(--c1),var(--c2));
  transition:transform .5s var(--ease);
  transform:translateX(0%);
}

/* ═══ CONTENT AREA ═══ */
.fhc-content{
  max-width:900px;margin:0 auto;
  padding:64px clamp(20px,5vw,64px) 100px;
}

/* ─ Section ─ */
.fhc-sec{
  margin-bottom:72px;scroll-margin-top:100px;
  display:none; /* toggled by JS */
}
.fhc-sec.visible{display:block;}

/* Section header */
.fhc-sec-hd{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.fhc-sec-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 16px 6px 6px;border-radius:100px;
  background:color-mix(in srgb,var(--sec-c,var(--c1)) 10%,#fff);
  border:1.5px solid color-mix(in srgb,var(--sec-c,var(--c1)) 22%,transparent);
}
.fhc-sec-badge-ico{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:11px;
  background:var(--sec-c,var(--c1));color:#fff;
}
.fhc-sec-badge-txt{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--sec-c,var(--c1));}
.fhc-sec-n{
  font-size:12px;font-weight:700;color:var(--mu);
  background:var(--soft);padding:4px 10px;border-radius:100px;margin-left:auto;
}

/* ─ Cards ─ */
.fhc-list{display:flex;flex-direction:column;gap:10px;}
.fhc-card{
  background:#fff;border-radius:18px;
  border:1.5px solid var(--line);
  box-shadow:0 1px 4px rgba(15,23,42,.04);
  overflow:hidden;position:relative;
  transition:border-color .25s,box-shadow .25s;
}
.fhc-card:hover{border-color:color-mix(in srgb,var(--sec-c,var(--c1)) 35%,transparent);}
.fhc-card.open{
  border-color:var(--sec-c,var(--c1));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--sec-c,var(--c1)) 10%,transparent),0 4px 16px rgba(15,23,42,.06);
}
/* Ghost number */
.fhc-card-num{
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-size:68px;font-weight:900;letter-spacing:-.08em;
  color:var(--sec-c,var(--c1));opacity:.04;
  pointer-events:none;line-height:1;
  transition:opacity .3s;
}
.fhc-card.open .fhc-card-num{opacity:.07;}
/* Question */
.fhc-q{
  width:100%;display:flex;align-items:center;gap:14px;
  padding:20px 22px 20px 20px;
  background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;
  transition:background .15s;
}
.fhc-q:hover{background:color-mix(in srgb,var(--sec-c,var(--c1)) 4%,#fff);}
.fhc-q-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:var(--sec-c,var(--c1));opacity:.35;
  transition:opacity .2s,transform .2s;
}
.fhc-card.open .fhc-q-dot{opacity:1;transform:scale(1.4);}
.fhc-q-txt{flex:1;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35;letter-spacing:-.01em;}
.fhc-q-btn{
  width:30px;height:30px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;
  background:var(--soft);color:var(--mu);
  transition:background .2s,color .2s,transform .3s var(--ease);
}
.fhc-card.open .fhc-q-btn{background:var(--sec-c,var(--c1));color:#fff;transform:rotate(45deg);}
/* Answer */
.fhc-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1);}
.fhc-card.open .fhc-a{max-height:900px;}
.fhc-a-in{
  display:grid;grid-template-columns:1fr auto;gap:20px;
  padding:0 24px 24px 42px;
}
.fhc-a-body{font-size:14px;line-height:1.8;color:var(--body);}
.fhc-a-body p{margin-bottom:10px;}
.fhc-a-body p:last-of-type{margin-bottom:0;}
.fhc-a-body strong{color:var(--ink);}
.fhc-a-body ul{list-style:none;margin:10px 0;}
.fhc-a-body ul li{padding:3px 0 3px 16px;position:relative;}
.fhc-a-body ul li::before{content:'';position:absolute;left:2px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--sec-c,var(--c1));opacity:.65;}
.fhc-badge{
  display:inline-flex;align-items:center;gap:5px;margin-top:14px;
  font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:100px;
  background:color-mix(in srgb,var(--sec-c,var(--c1)) 10%,transparent);
  color:var(--sec-c,var(--c1));
  border:1px solid color-mix(in srgb,var(--sec-c,var(--c1)) 22%,transparent);
}
.fhc-badge i{font-size:9px;}

/* ─── CSS ILLUSTRATIONS ─── */
.fhc-illo{
  flex-shrink:0;width:80px;height:80px;align-self:flex-start;
  position:relative;display:flex;align-items:center;justify-content:center;
  border-radius:14px;
}
.fhc-illo.il-design{background:color-mix(in srgb,#0891b2 8%,transparent);}
.fhc-illo.il-design::before{content:'';width:44px;height:44px;border-radius:50%;background:conic-gradient(#0891b2,#06b6d4,#38bdf8,#0f766e,#0891b2);animation:ilSpin 4s linear infinite;}
.fhc-illo.il-design::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 2.5px #0891b2;}
@keyframes ilSpin{to{transform:rotate(360deg)}}

.fhc-illo.il-web{background:color-mix(in srgb,#2563eb 8%,transparent);}
.fhc-illo.il-web::before{content:'';width:46px;height:36px;border-radius:5px;background:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.3);animation:ilWebPulse 2.5s ease-in-out infinite;}
.fhc-illo.il-web::after{content:'● ● ●';position:absolute;top:26px;font-size:6px;letter-spacing:2px;color:rgba(255,255,255,.7);animation:ilWebDots 2.5s ease-in-out infinite;}
@keyframes ilWebPulse{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes ilWebDots{0%,100%{color:rgba(255,255,255,.5)}50%{color:#fff}}

.fhc-illo.il-seo{background:color-mix(in srgb,#059669 8%,transparent);}
.fhc-illo.il-seo::before{content:'↑';font-size:38px;font-weight:900;color:#059669;animation:ilArrow 1.6s ease-in-out infinite;}
.fhc-illo.il-seo::after{content:'';position:absolute;bottom:10px;left:10px;right:10px;height:4px;border-radius:4px;background:color-mix(in srgb,#059669 20%,transparent);}
@keyframes ilArrow{0%,100%{transform:translateY(4px);opacity:.5}50%{transform:translateY(-6px);opacity:1}}

.fhc-illo.il-prospection{background:color-mix(in srgb,#0d9488 8%,transparent);}
.fhc-illo.il-prospection::before{content:'';width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:28px solid #0d9488;filter:drop-shadow(0 3px 6px rgba(13,148,136,.3));animation:ilFunnel 1.8s ease-in-out infinite;}
.fhc-illo.il-prospection::after{content:'';position:absolute;bottom:8px;width:9px;height:9px;border-radius:50%;background:#0d9488;animation:ilDrop 1.8s ease-in-out infinite;}
@keyframes ilFunnel{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes ilDrop{0%{transform:translateY(-6px);opacity:0}60%{opacity:1}100%{transform:translateY(10px);opacity:0}}

.fhc-illo.il-crm{background:color-mix(in srgb,#1d4ed8 8%,transparent);}
.fhc-illo.il-crm::before{content:'⚙';font-size:34px;color:#1d4ed8;animation:ilGear 3s linear infinite;display:block;}
.fhc-illo.il-crm::after{content:'⚙';font-size:20px;color:rgba(29,78,216,.4);position:absolute;bottom:8px;right:6px;animation:ilGear 2s linear infinite reverse;}
@keyframes ilGear{to{transform:rotate(360deg)}}

.fhc-illo.il-recrutement{background:color-mix(in srgb,#3b82f6 8%,transparent);}
.fhc-illo.il-recrutement::before{content:'👥';font-size:36px;display:block;animation:ilPeople 2s ease-in-out infinite;}
.fhc-illo.il-recrutement::after{content:'✚';position:absolute;top:6px;right:8px;font-size:14px;color:#3b82f6;font-weight:900;animation:ilPlus 1.4s ease-in-out infinite;}
@keyframes ilPeople{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes ilPlus{0%,100%{transform:rotate(0)}50%{transform:rotate(90deg) scale(1.2)}}

.fhc-illo.il-delocalisation{background:color-mix(in srgb,#0f766e 8%,transparent);}
.fhc-illo.il-delocalisation::before{content:'🌍';font-size:38px;display:block;animation:ilGlobe 5s linear infinite;}
.fhc-illo.il-delocalisation::after{content:'📍';position:absolute;font-size:14px;animation:ilPin 3s ease-in-out infinite;}
@keyframes ilGlobe{to{filter:hue-rotate(30deg)}}
@keyframes ilPin{0%,100%{transform:translate(4px,-4px)}50%{transform:translate(-4px,4px)}}

.fhc-illo.il-partenariat{background:color-mix(in srgb,#4338ca 8%,transparent);}
.fhc-illo.il-partenariat::before{content:'🤝';font-size:38px;display:block;animation:ilShake 1.8s ease-in-out infinite;}
.fhc-illo.il-partenariat::after{content:'';position:absolute;inset:-4px;border-radius:18px;border:2px dashed rgba(67,56,202,.2);animation:ilRing 4s linear infinite;}
@keyframes ilShake{0%,100%{transform:scale(1)}50%{transform:scale(1.1) rotate(5deg)}}
@keyframes ilRing{to{transform:rotate(360deg)}}

/* Partner cards */
.fhc-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:24px;}
.fhc-pc{padding:18px;border-radius:14px;background:var(--soft);border:1.5px solid var(--line);transition:all .25s var(--ease);}
.fhc-pc:hover{background:#fff;transform:translateY(-4px);box-shadow:0 10px 30px rgba(15,23,42,.08);border-color:rgba(67,56,202,.25);}
.fhc-pc-em{font-size:24px;margin-bottom:8px;display:block;}
.fhc-pc-t{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:3px;}
.fhc-pc-d{font-size:12px;color:var(--mu);line-height:1.5;}

/* ─ Section transition ─ */
@keyframes secIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fhc-sec.visible{animation:secIn .4s var(--ease) both;}

/* CTA */
.fhc-cta{background:var(--ink);padding:clamp(60px,8vw,100px) clamp(20px,5vw,64px);text-align:center;position:relative;overflow:hidden;}
.fhc-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(6,182,212,.1),transparent 65%);pointer-events:none;}
.fhc-cta-in{position:relative;z-index:2;max-width:720px;margin:0 auto;}
.fhc-cta-ey{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:12px;}
.fhc-cta h2{font-size:clamp(26px,4vw,48px);font-weight:900;letter-spacing:-.05em;color:#fff;margin-bottom:10px;}
.fhc-cta h2 span{color:#22d3ee;}
.fhc-cta p{font-size:14px;color:rgba(255,255,255,.36);margin-bottom:32px;}
.fhc-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:nowrap;}
.fhc-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:14px;text-decoration:none;font-family:inherit;font-weight:800;font-size:13.5px;border:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s;}
.fhc-btn:hover{transform:translateY(-3px);}
.fhc-btn-p{background:linear-gradient(135deg,#06b6d4,#0f766e);color:#fff;box-shadow:0 4px 20px rgba(6,182,212,.3);}
.fhc-btn-p:hover{box-shadow:0 8px 32px rgba(6,182,212,.45);}
.fhc-btn-s{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.12);}

/* reveal */
.fhc-rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s;}
.fhc-rv.vis{opacity:1;transform:none;}

@media(max-width:640px){
  .fhc-a-in{grid-template-columns:1fr;}
  .fhc-illo{display:none;}
  .fhc-orbs{grid-template-columns:repeat(4,1fr);gap:8px;}
  .fhc-orb-ring{width:58px;height:58px;}
  .fhc-orb-ico{font-size:18px;}
}
/* ── CTA buttons (identiques acquisition) ── */
.tw-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 28px;border-radius:16px;text-decoration:none;cursor:pointer;border:none;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;white-space:nowrap;font-family:inherit;}
.tw-btn:hover{transform:translateY(-4px) scale(1.025)}
.tw-btn::after{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);transition:left .5s ease;pointer-events:none;}
.tw-btn:hover::after{left:130%}
.tw-btn-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.tw-btn-lbl{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.tw-btn-lbl strong{font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.tw-btn-lbl small{font-size:9.5px;font-weight:600;letter-spacing:.04em;opacity:.6}
.tw-btn-visio{background:linear-gradient(145deg,#152e47,#1a3d5c);color:#fff;border:1.5px solid rgba(6,182,212,.6);box-shadow:0 4px 22px rgba(0,0,0,.35),0 0 0 1px rgba(6,182,212,.22),inset 0 1px 0 rgba(255,255,255,.08);}
.tw-btn-visio .tw-btn-ico{background:rgba(6,182,212,.12);}
.tw-btn-visio .tw-btn-ico i{color:#06b6d4;filter:drop-shadow(0 0 6px rgba(6,182,212,.55));}
.tw-btn-visio:hover{border-color:rgba(6,182,212,.65);color:#fff;box-shadow:0 0 0 3px rgba(6,182,212,.12),0 10px 36px rgba(0,0,0,.38),0 0 28px rgba(6,182,212,.18);}
.tw-btn-crm{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 50%,#0f766e 100%);background-size:200% 200%;color:#fff;box-shadow:0 4px 22px rgba(6,182,212,.35),inset 0 1px 0 rgba(255,255,255,.18);}
.tw-btn-crm .tw-btn-ico{background:rgba(255,255,255,.15);}
.tw-btn-crm .tw-btn-ico i{filter:drop-shadow(0 0 6px rgba(255,255,255,.35));}
.tw-btn-crm:hover{color:#fff;background-position:right center;box-shadow:0 8px 40px rgba(6,182,212,.5),inset 0 1px 0 rgba(255,255,255,.18);}
@media(max-width:520px){.tw-btn{padding:12px 20px}.tw-btn-lbl strong{font-size:13px}}
