
:root{--blue:#2f79aa;--blue-dark:#174e71;--blue-soft:#eaf5fb;--green:#4f9a72;--green-dark:#397052;--green-soft:#eaf6ef;--ink:#18384d;--muted:#667c8c;--line:#d9e6ed}
body{font-family:Roboto,sans-serif;color:var(--ink);background:#f7fafc}
.topbar{background:#123f5c;color:#e4f0f5;font-size:.83rem}
.navbar-fhc{background:#fff;box-shadow:0 4px 24px rgba(24,56,77,.08);z-index:1050}
.logo{height:58px;width:auto;object-fit:contain}.brand-name{font-weight:900;color:var(--blue-dark);line-height:1.05}.brand-sub{font-size:.72rem;color:var(--muted)}
.nav-link{font-weight:600;color:#34566c!important}.nav-link:hover{color:var(--blue)!important}
.dropdown-menu{border:1px solid var(--line);border-radius:18px;padding:.8rem;box-shadow:0 20px 50px rgba(24,56,77,.14)}.dropdown-item{border-radius:10px;padding:.62rem .8rem}.dropdown-item:hover{background:var(--blue-soft)}
.mega-menu{min-width:720px}.mega-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:900}
.hero{background:linear-gradient(125deg,#edf8fd,#fbfdfd);overflow:hidden}.hero .carousel-item{min-height:650px;display:flex;align-items:center}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 84% 22%,rgba(79,154,114,.17),transparent 23%),radial-gradient(circle at 12% 85%,rgba(47,121,170,.17),transparent 28%)}
.hero h1{font-size:clamp(2.4rem,5vw,4.9rem);font-weight:900;letter-spacing:-.045em;line-height:1.02}.hero-copy{font-size:1.12rem;color:#587080;max-width:720px}
.hero-panel{background:rgba(255,255,255,.93);border:1px solid #d8e7ef;border-radius:28px;padding:2rem;box-shadow:0 15px 45px rgba(24,56,77,.1)}
.hero-illustration{width:min(420px,100%);filter:drop-shadow(0 20px 35px rgba(24,56,77,.12))}
.slogan-line{font-weight:900;letter-spacing:.04em}.slogan-line .care{color:#5eb3e0}.slogan-line .unite{color:#6ecf9a}.slogan-line .innovate{color:#7ec8f0}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--green);font-size:.73rem}
.btn-fhc{background:var(--blue);border-color:var(--blue);color:#fff}.btn-fhc:hover{background:var(--blue-dark);color:#fff}
.btn-green{background:var(--green);border-color:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark);color:#fff}
.stat-card,.card-fhc{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 25px rgba(24,56,77,.05)}
.stat-strip{margin-top:-46px;position:relative;z-index:10}.stat-card{padding:1.35rem;height:100%}.stat-number{font-size:2rem;font-weight:900;color:var(--blue-dark)}
.section{padding:5rem 0}.section-title{font-weight:900;letter-spacing:-.03em}.lead-muted{color:var(--muted);max-width:820px}
.news-card{overflow:hidden}.news-image{height:185px;background:linear-gradient(135deg,#377fac,#c4dfeb);position:relative}.news-image.green{background:linear-gradient(135deg,#4f9a72,#d3ecdf)}.news-image.dark{background:linear-gradient(135deg,#174e71,#8db8cc)}
.page-hero{background:var(--blue-soft);padding:3.6rem 0 2.8rem;position:relative;overflow:hidden}.page-hero-art{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:230px}.page-hero-art img{width:100%}
.footer{background:#103a55;color:#d9e8f1}.footer a{color:#d9e8f1}.footer a:hover{color:#fff}
.lang-switch{display:inline-flex;gap:.15rem;border:1px solid var(--line);border-radius:999px;padding:.2rem;background:#fff}.lang-switch a{font-size:.76rem;font-weight:800;padding:.28rem .55rem;border-radius:999px;color:var(--muted)}.lang-switch a.active{background:var(--blue);color:#fff}
@media(max-width:991px){.mega-menu{min-width:0}.hero .carousel-item{min-height:760px}.stat-strip{margin-top:0}.page-hero-art{position:relative;right:auto;top:auto;transform:none;width:150px;margin-top:1rem}}

.editorial-card{overflow:hidden;height:100%}.editorial-card img{display:block;width:100%;height:190px;object-fit:cover;background:#eef6f8}.social-links a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff!important;font-weight:900;text-decoration:none}.social-links a:hover{background:#fff;color:var(--blue-dark)!important}.hoverable{transition:transform .2s ease,box-shadow .2s ease}.hoverable:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(24,56,77,.11)}

/* —— Complements professionnels V3.6 —— */
.badge-soft{background:var(--blue-soft);color:var(--blue-dark);font-weight:700;border:1px solid #d4e8f2}
.badge-green{background:var(--green-soft);color:var(--green-dark);font-weight:700;border:1px solid #c8e6d4}
.badge.rounded-pill{font-size:.78rem;letter-spacing:.02em}

.icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--blue-soft);color:var(--blue-dark);font-weight:900;font-size:1.05rem}
.icon.green{background:var(--green-soft);color:var(--green-dark)}

.axis-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;font-weight:900;font-size:1.1rem;flex-shrink:0}
.axis-card{transition:transform .2s ease,box-shadow .2s ease}
.axis-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,56,77,.1)}

.cta{background:linear-gradient(125deg,var(--blue-dark),#0f3a55);color:#fff;border-radius:24px;padding:2.4rem 2.2rem;box-shadow:0 18px 40px rgba(24,56,77,.18)}
.cta .eyebrow{color:rgba(255,255,255,.65)}

.btn-outline-secondary{border-color:var(--line);color:var(--ink)}
.btn-outline-secondary:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-dark)}

.page-hero h1{font-weight:900;letter-spacing:-.03em}
.card-fhc .icon + h5,.card-fhc .axis-num + h5{margin-top:.15rem}

/* Accessibilité & polish */
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.navbar-toggler{border-color:var(--line)}
.carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;background-color:var(--blue-dark)}
.carousel-control-prev-icon,.carousel-control-next-icon{filter:invert(0.35)}

@media(max-width:575.98px){
  .hero h1{font-size:clamp(1.9rem,8vw,2.6rem)}
  .stat-number{font-size:1.65rem}
  .cta{padding:1.8rem 1.4rem;border-radius:18px}
}

/* Topbar — slogan clair + réseaux sociaux */
.topbar{font-size:.84rem}
.topbar-name{font-weight:600;letter-spacing:.01em}
.topbar .slogan-line{font-size:.92rem;font-weight:900;letter-spacing:.07em}
.topbar .slogan-line .care{color:#7ec8f0}
.topbar .slogan-line .unite{color:#7dd9a8}
.topbar .slogan-line .innovate{color:#9ad4f5}
.topbar-social-link{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#e4f0f5;font-weight:900;font-size:.72rem;text-decoration:none;line-height:1;transition:background .15s,color .15s}
.topbar-social-link:hover{background:#fff;color:var(--blue-dark)}
@media(max-width:575.98px){
  .topbar .slogan-line{font-size:.78rem}
}

/* Editorial cards — illustrations plus humaines */
.editorial-card img{
  background:linear-gradient(160deg,#eaf5fb,#eaf6ef);
  object-fit:cover;
  object-position:center;
}
