  :root{
  --bg: #ffffff;
  --ink: #041C2C;
  --muted: #5E6B78;
  --line: #E5EDF5;
  --soft: #F7FAFD;
  --tint: #F3F8FD;

  --accent: #1F40E6;
  --accent2: #1785D2;
  --accent3: #00A9F4;

  --white: #ffffff;
  --darkFooter: #03131F;

  --shadow: 0 18px 60px rgba(4,28,44,.10);
  --shadow2: 0 10px 30px rgba(4,28,44,.08);
  --shadow3: 0 20px 70px rgba(4,28,44,.08);

  --radius: 18px;
  --radius2: 22px;
  --radius3: 26px;

  --serif: "Inter", serif;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

html, body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
}

body{
  margin: 0;
  overflow-x: hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  font-family:inherit;
}

img, video{
  max-width:100%;
  display:block;
}

.container{
  width:min(1180px, calc(100% - 40px));
  margin-inline:auto;
}

.eyebrow{
  display:inline-block;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.90);
  margin-bottom:18px;
  font-weight:800;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(31,64,230,.28);
}

.eyebrow--light{
  color:rgba(255,255,255,.65);
}

.muted{
  color:rgba(94,107,120,.95);
}

.muted--footer{
  color:rgba(255,255,255,.72);
}

.tiny{
  font-size:12px;
}

.w100{
  width:100%;
}

/* Buttons */
.btn{
  border:1px solid transparent;
  border-radius:999px;
  padding:13px 22px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:all .18s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.btn:active{
  transform:translateY(1px);
}
.btn--primary{
  background:#1F40E6;
  color:#fff;
  border-color:#1F40E6;
  box-shadow:0 12px 28px rgba(4,28,44,.14);
}

.btn--primary:hover{
  background:#1f90e6;
  border-color:#1f90e6;
}

.btn--ghost{
  background:#fff;
  border-color:rgba(255,255,255,.28);
  color:#1F40E6;
}

.btn--ghost:hover{
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.40);
}

.btn--light{
  background:#fff;
  color:var(--ink);
}

.btn--light:hover{
  background:#f4f8fc;
}

.btn--ghostLight{
      background:#1F40E6;
      color:#ffff;
      border-color:#1F40E6;
    }


.btn--ghostLight:hover{
  background:#00A9F4;
  border-color:#00A9F4;
  color :#ffffff;
}

/* Generic UI */
.iconbtn{
  border:1px solid rgba(4,28,44,.14);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
  transition:all .12s ease;
}

.iconbtn:hover{
  background:rgba(31,64,230,.03);
  border-color:rgba(31,64,230,.22);
}

.chip{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(4,28,44,.10);
}

.chip--dark{
  background:transparent;
  color:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.18);
}

/* Topbar */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:#01031B;
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.topbar__inner{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
}

.brand__mark{
  width:14px;
  height:14px;
  background:linear-gradient(135deg, var(--accent), var(--accent3));
  border-radius:4px;
  box-shadow:0 8px 24px rgba(31,64,230,.18);
}

.brand__text{
  font-family:var(--serif);
  font-size:20px;
  font-weight:600;
  letter-spacing:-.01em;
}

.nav{
  display:flex;
  gap:8px;
  align-items:center;
}

.nav a{
  font-size:13px;
  color:rgba(255, 255, 255, 0.74);
  padding:10px 12px;
  border-radius:999px;
  transition:all .15s ease;
}

.nav a:hover{
  background:rgba(255, 255, 255, 0.04);
  color:#1F40E6;
}


.nav a{
  position:relative;
  text-decoration:none;
  color:#ffffff;
  font-weight:500;
  padding:6px 4px;
  transition:color .2s ease;
}

/* hover */

.nav a:hover{
  color:#1F40E6;
}

/* ligne animée */

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:#1F40E6;
  transition:width .25s ease;
}

.nav a:hover::after{
  width:100%;
}



.topbar__actions{
  display:flex;
  gap:10px;
  align-items:center;
}

.nav__burger{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(4,28,44,.14);
  background:#fff;
  cursor:pointer;
  padding:10px;
}

.nav__burger span{
  display:block;
  height:2px;
  background:rgba(4,28,44,.78);
  margin:6px 0;
  border-radius:2px;
}

.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

/* dropdown menu */

.dropdown-menu{
  position:absolute;
  top:42px;
  left:0;

  background:#D4DFE4;
  border:1px solid rgba(229,237,245,.95);
  border-radius:14px;

  box-shadow:0 20px 40px rgba(4,28,44,.12);

  display:flex;
  flex-direction:column;

  min-width:220px;

  padding:10px 0;

  opacity:0;
  visibility:hidden;

  transform:translateY(8px);

  transition:all .2s ease;
  z-index:100;
}

/* dropdown links */
.dropdown-menu a{
  display:block;
  padding:12px 16px;
  border-radius:10px;
  text-decoration:none;
  color:#1b2b38;
  font-weight:500;
  margin:4px 6px;
}
/* hover item */
.topbar .nav-solutions{
  color:#ffffff !important;
}

.dropdown-menu a:hover{
  background:rgba(31,64,230,.06);
  color:#1F40E6;
  text-decoration:underline;
  text-decoration-color:#1F40E6;
  text-underline-offset:4px;
}

.dropdown-menu a::after{
  display:none;
}
/* show dropdown */

.nav-dropdown:hover .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
/* Drawer */
.drawer{
  display:none;
}

.drawer__panel{
  position:fixed;
  right:14px;
  top:14px;
  width:min(360px, calc(100% - 28px));
  background:#fff;
  border:1px solid rgba(229,237,245,.96);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:14px;
  z-index:80;
}

.drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 6px 10px;
  border-bottom:1px solid rgba(229,237,245,.9);
}

.drawer__brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.drawer__links{
  display:flex;
  flex-direction:column;
  padding:10px 0;
}

.drawer__link{
  padding:12px 10px;
  border-radius:12px;
  color:rgba(4,28,44,.86);
  font-weight:600;
}

.drawer__link:hover{
  background:rgba(31,64,230,.03);
  color:var(--accent);
}

.drawer__cta{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:8px;
}

.drawer__backdrop{
  position:fixed;
  inset:0;
  background:rgba(4,28,44,.24);
  z-index:70;
}


/* HERO VIDEO */
.hero{
  position: relative;
  height: 100svh;      /* prend exactement la hauteur visible de l'écran */
  min-height: 100svh;
  max-height: 100svh;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}


.hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero-overlay{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(4,28,44,.52), rgba(4,28,44,.68)),
    radial-gradient(circle at 50% 40%, rgba(0,169,244,.08), transparent 42%);
  z-index: 2;
}


.hero-content{
  position: relative;
  z-index: 3;
  width: min(1000px, calc(100% - 40px));
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 110px 20px 40px; /* espace pour la topbar */
}



.hero__title{
  font-family:"Inter", serif;
  font-size: clamp(34px, 3.4vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 600;
  margin: 0 0 18px;
  max-width: 40ch;   /* ← au lieu de 25ch */
  color: #fff;
}
.hero__subtitle,
.hero-description{
  margin: 0;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.7;
  color: rgba(255,255,255,.82);
  max-width: 760px;
}

.hero__cta,
.hero-buttons{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}
/* Legacy hero helpers kept if reused elsewhere */
.hero__grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:34px;
  align-items:center;
}

.hero__proof{
  display:flex;
  gap:14px;
  margin-top:26px;
  flex-wrap:wrap;
}

.proof{
  min-width:180px;
  padding:14px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  box-shadow:0 12px 26px rgba(4,28,44,.05);
}

.proof__kpi{
  font-weight:800;
  color:rgba(4,28,44,.96);
}

.proof__txt{
  font-size:12px;
  color:rgba(94,107,120,.95);
  margin-top:5px;
  line-height:1.5;
}

.hero__visual--raw{
  position:relative;
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.heroVideoRaw{
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  position:relative;
  z-index:1;
}

.glow{
  position:absolute;
  width:320px;
  height:320px;
  right:-40px;
  bottom:-40px;
  background:radial-gradient(circle at 30% 30%, rgba(0,169,244,.20), transparent 60%);
  filter:blur(10px);
  pointer-events:none;
  z-index:0;
}

/* Trust bar */
.trustbar{
  padding:16px 0 30px;
}

.trustbar__inner{
  border:1px solid rgba(229,237,245,.95);
  background:#fff;
  border-radius:20px;
  padding:18px 20px;
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 12px 30px rgba(4,28,44,.04);
}

.trustbar__label{
  font-size:13px;
  font-weight:800;
  color:rgba(4,28,44,.82);
  white-space:nowrap;
}

.trustbar__items{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.trustbar__items span{
  padding:9px 12px;
  border-radius:999px;
  background:rgba(31,64,230,.04);
  border:1px solid rgba(31,64,230,.08);
  color:rgba(4,28,44,.76);
  font-size:12px;
  font-weight:600;
}

/* Sections */
.section{
  padding:78px 0;
}

.section--tint{
  background:var(--tint);
  border-top:1px solid rgba(255, 255, 255, 0.8);
  border-bottom:1px solid rgba(255, 255, 255, 0.8);
}

.section--soft{
  background:var(--soft);
}

.section__head{
  max-width:860px;
}

.section__head--center{
  text-align:center;
  margin-inline:auto;
}

.section__title{
  margin:0 0 12px;
  font-family:var(--serif);
  font-size:clamp(28px, 3vw, 44px);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:600;
}

.section__lead{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:rgba(94,107,120,.96);
}

/* Overview cards */
.overviewGrid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
}

.overviewCard{
  position:relative;
  border-radius:20px;
  overflow:visible;
  transition:transform .18s ease, box-shadow .18s ease;
}

.overviewCard__inner{
  position:relative;
  z-index:2;
  background:#fff;
  border-radius:20px;
  padding:20px 16px;
  height:100%;
  box-shadow:0 14px 35px rgba(4,28,44,.04);
}

.overviewCard:hover{
  transform:translateY(-3px);
}

.overviewCard::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  padding:3px;
  pointer-events:none;
  opacity:0;
  transition:opacity .12s ease;
  z-index:1;
  background:
    conic-gradient(
      from var(--angle, 0deg),
      #2251FF 0deg,
      #2251FF 18deg,
      rgba(34,81,255,.7) 40deg,
      rgba(34,81,255,.35) 70deg,
      rgba(34,81,255,0) 120deg,
      transparent 360deg
    );
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite:exclude;
}

@property --angle {
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

@keyframes overview-runner-spin{
  to{
    --angle:360deg;
  }
}

.overviewCard:hover::after{
  opacity:1;
  animation:overview-runner-spin 4s linear infinite;
}

.overviewCard__icon{
  display:flex;
  align-items:center;
  margin-bottom:14px;
  color:#2251FF;
  position:relative;
  z-index:3;
}

.overviewCard__icon svg{
  width:26px;
  height:26px;
  display:block;
}

.overviewCard h3{
  margin:14px 0 8px;
  font-size:16px;
  font-weight:800;
  position:relative;
  z-index:3;
}

.overviewCard p{
  position:relative;
  z-index:3;
}

/* Capabilities */
#capabilities{
  position:relative;
  background:linear-gradient(
    135deg,
    #0b2a5b 0%,
    #0c3b8c 35%,
    #1f40e6 70%,
    #3a63ff 100%
  );
  color:#fff;
}

#capabilities .section__title,
#capabilities .section__lead,
#capabilities .eyebrow{
  color:#fff;
}

.cards{
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:40px 60px;
}

.card{
  border:none;
  background:transparent;
  padding:20px;
  border-radius:0;
  cursor:pointer;
  transition:all .25s ease;
  box-shadow:none;
}

.card__icon{
  display:none;
}

.card__title{
  font-size:20px;
  font-weight:600;
  margin-bottom:10px;
  color:#fff;
  display:flex;
  align-items:center;
  gap:6px;
  transition:color .25s ease;
}

.card__title::after{
  content:"›";
  font-size:22px;
  color:#00A9F4;
}

.card__txt{
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.85);
  margin:0;
  transition:color .25s ease;
}

.card__list{
  display:none;
}

.card:hover{
  background:#fff;
}

.card:hover .card__title{
  color:#041C2C;
}

.card:hover .card__txt{
  color:#333;
}

/* Process */
.processGrid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}

.processCard{
  position:relative;
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  border-radius:20px;
  padding:22px 18px;
  box-shadow:var(--shadow2);
}

.processCard__step{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff;
  font-weight:900;
  margin-bottom:14px;
}

.processCard h3{
  margin:0 0 8px;
  font-size:17px;
  font-weight:800;
}

.processCard p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:rgba(94,107,120,.96);
}

/* Persona */
.personaGrid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.personaCard{
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  border-radius:20px;
  padding:22px 20px;
  box-shadow:0 12px 28px rgba(4,28,44,.04);
}

.personaCard h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:800;
}

.personaCard p{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.7;
  color:rgba(94,107,120,.96);
}

.personaCard ul{
  margin:0;
  padding-left:18px;
  font-size:12px;
  line-height:1.7;
  color:rgba(4,28,44,.80);
}

/* Why */
.pillars{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:12px;
}

.pillar{
  border:1px solid rgba(229,237,245,.95);
  border-radius:18px;
  padding:16px;
  background:#fff;
  transition:all .18s ease;
}

.pillar:hover{
  transform:translateY(-3px);
  border-color:rgba(31,64,230,.16);
}

.pillar h3{
  margin:0 0 8px;
  font-size:14px;
  font-weight:800;
}

.pillar p{
  margin:0;
  font-size:12px;
  line-height:1.65;
  color:rgba(94,107,120,.96);
}

.quote{
  margin-top:20px;
  border:1px solid rgba(229,237,245,.95);
  border-radius:24px;
  background:#fff;
  padding:20px;
  display:flex;
  gap:12px;
  box-shadow:0 14px 40px rgba(4,28,44,.06);
}

.quote__mark{
  font-family:var(--serif);
  font-size:48px;
  line-height:1;
  color:rgba(31,64,230,.28);
}

.quote__text{
  font-size:14px;
  line-height:1.8;
  color:rgba(4,28,44,.84);
}

/* Security */
.securityGrid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}

.secCard{
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 30px rgba(4,28,44,.05);
}

.secCard h3{
  margin:0 0 8px;
  font-size:14px;
  font-weight:800;
}

.secCard p{
  margin:0;
  font-size:12px;
  line-height:1.7;
  color:rgba(94,107,120,.96);
}

/* Resources */
.resourceGrid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.resourceCard{
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  border-radius:20px;
  padding:22px 20px;
  box-shadow:0 14px 36px rgba(4,28,44,.05);
  transition:all .18s ease;
}

.resourceCard:hover{
  transform:translateY(-3px);
  border-color:rgba(31,64,230,.18);
}

.resourceCard__type{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(31,64,230,.06);
  border:1px solid rgba(31,64,230,.10);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}

.resourceCard h3{
  margin:14px 0 8px;
  font-size:18px;
  line-height:1.35;
  font-weight:800;
}

.resourceCard p{
  margin:0 0 16px;
  font-size:13px;
  line-height:1.7;
  color:rgba(94,107,120,.96);
}

.resourceCard a{
  font-size:13px;
  font-weight:700;
  color:var(--accent);
}

/* Final CTA */
.finalCta{
  padding:58px 0;
  background:var(--ink);
  color:#fff;
}

.finalCta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.finalCta h2{
  margin:8px 0 8px;
  font-family:var(--serif);
  font-size:clamp(24px, 3vw, 38px);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:600;
}

.finalCta p{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.8;
  max-width:66ch;
}

.finalCta__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Footer */
.footer{
  padding:48px 0 24px;
  background:var(--darkFooter);
  color:#fff;
}

.brand--footer .brand__text{
  color:#fff;
}

.footer__grid{
  display:grid;
  grid-template-columns:1.4fr .6fr .6fr .6fr;
  gap:16px;
}

.footer__title{
  font-weight:900;
  margin-bottom:10px;
  color:rgba(255,255,255,.92);
}

.footer__col a,
.linkbtn{
  display:block;
  color:rgba(255,255,255,.72);
  margin:10px 0;
  font-size:13px;
}

.footer__col a:hover,
.linkbtn:hover{
  color:#fff;
}

.linkbtn{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
}

.footmeta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.footer__bottom{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* Modal */
.modal{
  display:none;
}

.modal.is-open{
  display:block;
}

.modal__backdrop{
  position:fixed;
  inset:0;
  background:rgba(4,28,44,.40);
  z-index:90;
}

.modal__panel{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, calc(100% - 28px));
  background:#fff;
  border:1px solid rgba(229,237,245,.95);
  border-radius:20px;
  box-shadow:var(--shadow3);
  z-index:100;
  overflow:hidden;
}

.modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid rgba(229,237,245,.9);
  background:linear-gradient(180deg, rgba(247,250,253,.95), #fff);
}

.modal__title{
  font-weight:900;
  color:rgba(4,28,44,.84);
}

.modal__body{
  padding:16px;
}

.formGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

label span{
  display:block;
  font-size:12px;
  color:rgba(94,107,120,.94);
  margin-bottom:6px;
}

input, select, textarea{
  width:100%;
  border:1px solid rgba(4,28,44,.14);
  border-radius:12px;
  padding:12px 12px;
  outline:none;
  font-size:14px;
  transition:border-color .12s ease, box-shadow .12s ease;
}

input:focus, select:focus, textarea:focus{
  border-color:rgba(31,64,230,.45);
  box-shadow:0 0 0 3px rgba(31,64,230,.10);
}

.full{
  grid-column:1 / -1;
}

.modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
}

/* Responsive */
@media (max-width: 980px){
  .hero{
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
  }

  .hero-content{
    padding: 100px 20px 36px;
  }

  .hero__title{
    font-size: clamp(28px, 5vw, 42px);
    max-width: 16ch;
  }

  .hero__subtitle,
  .hero-description{
    font-size: 15px;
    max-width: 680px;
  }
}

@media (max-width: 720px){
  .hero{
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
  }

  .hero-content{
    padding: 92px 18px 28px;
  }

  .hero__title{
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.12;
    max-width: 15ch;
  }

  .hero__subtitle,
  .hero-description{
    font-size: 14px;
    line-height: 1.65;
  }

  .hero__cta,
  .hero-buttons{
    flex-direction: column;
    width: 100%;
  }

  .hero__cta .btn,
  .hero-buttons .btn{
    width: 100%;
    max-width: 300px;
  }
}
.processImage{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:20px;
}

.processImage img{
  width:100%;
  max-width:750px;   /* réduit la taille */
  border-radius:18px;
}


#process{
  background:white;
}
.accent{
  background: linear-gradient(135deg, #00A9F4, #00f4e0);
    background: linear-gradient(135deg, #00A9F4, #1F40E6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.hero__typing{
  margin-top:18px;
  font-size:20px;
  letter-spacing:.02em;
  min-height:30px;

  font-weight:700;
  color:#00A9F4;
}
.hero__typing{
  text-shadow:0 0 10px rgba(31,64,230,0.15);
}
.cursor{
  display:inline-block;
  margin-left:3px;
  animation:blink 1s infinite;
}

@keyframes blink{
  0%,50%,100%{opacity:1}
  25%,75%{opacity:0}
}

.card__title{
  display:flex;
  align-items:center;
  gap:8px;
}

/* icône */
.cardIcon{
  width:18px;
  height:18px;
  filter:brightness(0) invert(1); /* blanc */
  transition:filter .25s ease;
}

/* quand la card est hover */
.card:hover .cardIcon{
  filter:brightness(0); /* noir */
}
/* Value banner section */
.valueBanner{
  position:relative;
  min-height:640px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#041C2C;
}

.valueBanner__media{
  position:absolute;
  inset:0;
  z-index:1;
}

.valueBanner__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.95;
}

.valueBanner__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(4,28,44,.82) 0%, rgba(4,28,44,.68) 35%, rgba(4,28,44,.78) 100%),
    linear-gradient(90deg, rgba(4,28,44,.92) 0%, rgba(4,28,44,.58) 40%, rgba(4,28,44,.82) 100%);
}

.valueBanner__inner{
  position:relative;
  z-index:3;
  padding:88px 0;
  text-align:center;
  color:#fff;
}

.eyebrow--banner{
  color:#fff;
  background:rgba(0,169,244,.16);
  border:1px solid rgba(0,169,244,.22);
}

.valueBanner__head{
  max-width:940px;
  margin:0 auto 34px;
}

.valueBanner__title{
  margin:0 0 16px;
  font-family:var(--serif);
  font-size:clamp(30px, 3.3vw, 50px);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:600;
  color:#fff;
}

.valueBanner__lead{
  margin:0 auto;
  max-width:860px;
  font-size:18px;
  line-height:1.75;
  color:rgba(255,255,255,.90);
}

.valueBanner__grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:0;
  margin-top:36px;
  border-top:1px solid rgba(0,169,244,.28);
  border-bottom:1px solid rgba(0,169,244,.28);
}

.valuePoint{
  padding:26px 18px 22px;
  position:relative;
}

.valuePoint:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;
  right:0;
  width:1px;
  height:calc(100% - 36px);
  background:rgba(0,169,244,.24);
}

.valuePoint__icon{
  width:58px;
  height:58px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.valuePoint__icon img{
  width:42px;
  height:42px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(76%) sepia(92%) saturate(1248%) hue-rotate(112deg) brightness(102%) contrast(105%);
}

.valuePoint h3{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.35;
  font-weight:800;
  color:#fff;
}

.valuePoint p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:rgba(255,255,255,.86);
}

.valueBanner__cta{
  margin-top:34px;
  display:flex;
  justify-content:center;
}

/* Responsive */
@media (max-width: 1180px){
  .valueBanner__grid{
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    border:none;
  }

  .valuePoint{
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.04);
    border-radius:18px;
  }

  .valuePoint:not(:last-child)::after{
    display:none;
  }
}

@media (max-width: 780px){
  .valueBanner{
    min-height:auto;
  }

  .valueBanner__inner{
    padding:72px 0;
  }

  .valueBanner__title{
    font-size:clamp(28px, 7vw, 38px);
  }

  .valueBanner__lead{
    font-size:15px;
    line-height:1.7;
  }

  .valueBanner__grid{
    grid-template-columns:1fr;
  }
}

/* ===============================
   OPERATING LAYER SECTION
================================ */

.opsShowcase{
  position:relative;
  padding:110px 0;
  overflow:hidden;
  color:#fff;
}

/* image background */

.opsShowcase__bg{
  position:absolute;
  inset:0;
  z-index:1;
}

.opsShowcase__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* dark overlay */

.opsShowcase__overlay{
  position:absolute;
  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(4,28,44,0.85) 0%,
    rgba(4,28,44,0.80) 15%,
    rgba(4,28,44,0.70) 35%,
    rgba(4,28,44,0.70) 60%,   /* zone centrale lisible mais plus claire */
    rgba(4,28,44,0.50) 75%,
    rgba(4,28,44,0.18) 90%,
    rgba(4,28,44,0) 100%
  );
  z-index:2;
}

/* content */

.opsShowcase__inner{
  position:relative;
  z-index:3;
}

/* header */

.opsShowcase__head{
  text-align:center;
  max-width:900px;
  margin:0 auto 50px;
}

.eyebrow--ops{
  background:rgba(0,169,244,.18);
  color:#fff;
  border:1px solid rgba(0,169,244,.25);
}

.opsShowcase__title{
  font-family:var(--serif);
  font-size:44px;
  margin-bottom:18px;
}

.opsShowcase__lead{
  font-size:18px;
  line-height:1.8;
  color:rgba(255,255,255,.85);
}


/* feature rail */

.opsRail{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:none;
}
.opsItem{
  text-align:center;
  padding:30px 24px;
  position:relative;
}

.opsItem:not(:last-child)::after{
  content:"";
  position:absolute;
  top:10%;
  bottom:10%;
  right:0;
  width:1px;

  background:linear-gradient(
    to bottom,
    rgba(0,169,244,0) 0%,
    rgba(0,169,244,0.7) 30%,
    rgba(0,169,244,1) 50%,
    rgba(0,169,244,0.7) 70%,
    rgba(0,169,244,0) 100%
  );

  box-shadow:0 0 8px rgba(0,169,244,0.5);
}

.opsItem__icon{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:14px;
}

.opsItem__icon img{
  width:40px;
  height:auto;
  display:block;

  filter: invert(55%) sepia(98%) saturate(1900%) hue-rotate(176deg) brightness(104%) contrast(101%);

}
.opsItem{
  text-align:center;
}
.opsItem h3{
  font-size:18px;
  margin-bottom:10px;
}

.opsItem p{
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.9);
  max-width:220px;
  margin:auto;
}

/* bottom */

.opsShowcase__bottom{
  margin-top:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.opsShowcase__note{
  max-width:600px;
  font-size:15px;
  color:rgba(255,255,255,.85);
}


/* responsive */

@media(max-width:1000px){

.opsRail{
  border:none;
}

.opsItem{
  background:rgba(255,255,255,.06);
  border-radius:16px;
}

.opsItem::after{
  display:none;
}

.opsShowcase__bottom{
  flex-direction:column;
  text-align:center;
}

}
.card__more{
  display:inline-block;
  margin-top:12px;

  font-weight:700;
  color:#fff;                 /* blanc par défaut */
  border-bottom:2px solid #fff;

  padding-bottom:2px;
  transition:all .25s ease;
  cursor:pointer;
}

.card:hover .card__more{
  color:#041C2C;             
  border-bottom:2px solid #041C2C;
}

.nav-link.active{
  color:#1F40E6;
}

.nav-link.active::after{
  width:100%;
}
.nav-dropdown > .nav-link{
  position:relative;
  text-decoration:none;
  color:#1b2b38;
  font-weight:500;
  padding:6px 4px;
  transition:color .2s ease;
}

.nav-dropdown > .nav-link:hover{
  color:#1F40E6;
}

.nav-dropdown > .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:#1F40E6;
  transition:width .25s ease;
}

.nav-dropdown:hover > .nav-link::after{
  width:100%;
}

.nav-dropdown:hover > .nav-link{
  color:#1F40E6;
}

/* état actif permanent */
.nav-dropdown > .nav-link.active{
  color:#1F40E6;
}

.nav-dropdown > .nav-link.active::after{
  width:100%;
}

/* ========================================
CASH VISIBILITY HERO
======================================== */

.cashHero{
  min-height: calc(100vh - 76px);
  display: flex;
  align-items: center;
  padding: 60px 0;
  overflow: hidden;

  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.04) 0%, transparent 40%),
    linear-gradient(
      90deg,
      #143b8f 0%,
      #1b3fa4 30%,
      #1F40E6 65%,
      #2f4ef5 100%
    );
}


/* GRID */

.cashHero__grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;

}


/* LEFT */

.cashHero__tag{

display:inline-block;

background:rgba(255,255,255,.10);

padding:6px 14px;

border-radius:999px;

font-size:12px;

letter-spacing:.08em;

text-transform:uppercase;

color:white;

margin-bottom:24px;

}


.cashHero__title{
  font-size: 48px;
  line-height: 1.08;
  font-weight: 600;
  margin-bottom: 24px;
  color: white;
}


.cashHero__text{

font-size:18px;

line-height:1.7;

color:rgba(255,255,255,.85);

max-width:520px;

margin-bottom:30px;

}


/* CTA */

.cashHero__cta{

display:flex;
gap:16px;

}


/* RIGHT */

.cashHero__right{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}



/* TOUR TEXT */

.cashHero__tour{

font-size:28px;

color:white;

margin-bottom:20px;

}


/* IMAGE */

.cashHero__image{
  width:340px !important;
  max-width:340px !important;
  height:auto;
  display:block;
  border-radius:10px;
  box-shadow:0 30px 60px rgba(0,0,0,.35);
}

/* =========================
SCROLL REVEAL (VERTICAL ONLY)
========================= */

.reveal{
  opacity: 0;
  transform: translateY(80px);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
  will-change: opacity, transform;
}

.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.delay-1{ transition-delay: 0.15s; }
.delay-2{ transition-delay: 0.30s; }
.delay-3{ transition-delay: 0.45s; }

@media (prefers-reduced-motion: reduce){
  .reveal,
  .reveal.is-visible{
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* =========================
SERVICES MEGA MENU - FINAL
========================= */

.nav-dropdown.servicesMega{
  height:76px;
  display:flex;
  align-items:center;
  position:relative;
}





.nav-dropdown.servicesMega > .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:2px;
  background:#1F40E6;
  transition:width .25s ease;
  display:block !important;
}

.nav-dropdown.servicesMega:hover > .nav-link::after{
  width:100%;
}

.nav-dropdown.servicesMega:hover > .nav-link{
  color:#ffffff !important;
  background:transparent !important;
}


.nav-dropdown.servicesMega > .nav-link{
  color:#ffffff !important;
}
.nav-link.active{
  color:#ffffff !important;   /* texte reste blanc */
}

.nav-dropdown.servicesMega > .nav-link.active{
  color:#ffffff !important;
}

.nav-dropdown.servicesMega > .nav-link.active::after{
  width:100%;
  background:#1F40E6;
}

/* garder les liens du mega-menu sans ligne */
.servicesMega .mega-menu a::after{
  display:none !important;
}

.servicesMega .mega-menu{
  position:fixed;
  top:76px;
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(1120px, calc(100vw - 90px));
  min-height:400px;
  background:#D4DFE4;
  border:1px solid #edf1f6;
  border-radius:0 0 18px 18px;
  box-shadow:0 28px 80px rgba(4,28,44,.16);
  display:grid;
  grid-template-columns:0.38fr 0.62fr;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.22s ease;
  z-index:300;
}

.nav-dropdown.servicesMega:hover .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.servicesMega .mega-left{
  padding:50px;
  border-right:1px solid #e2e7ef;
}

.servicesMega .mega-left h2{
  font-size:34px;
  line-height:1;
  font-weight:800;
  margin:0 0 18px;
  color:#061426;
}

.servicesMega .mega-left h2::after{
  content:"";
  display:block;
  width:60px;
  height:4px;
  background:#1F40E6;
  border-radius:999px;
  margin-top:18px;
}

.servicesMega .mega-left p{
  margin-top:24px;
  font-size:15px;
  line-height:1.7;
  color:#4f5d70;
  max-width:320px;
}

.servicesMega .mega-cta{
  margin-top:40px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 20px;
  background:#1F40E6;
  color:#fff !important;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  box-shadow:0 12px 26px rgba(31,64,230,.22);
  transition:.2s ease;
}

.servicesMega .mega-cta:hover{
  background:#1735c8;
}

.servicesMega .mega-right{
  padding:35px 50px;
}

.servicesMega .service-item{
  display:grid;
  grid-template-columns:60px 1fr;
  align-items:center;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid #e6edf5;
  background:transparent !important;
  border-radius:0 !important;
  transform:none !important;
  transition:none !important;
}

.servicesMega .service-item:last-child{
  border-bottom:none;
}

.servicesMega .service-item:hover{
  padding-left:0 !important;
  margin-left:0 !important;
  transform:none !important;
  background:transparent !important;
}

.servicesMega .service-icon{
  width:50px;
  height:50px;
  border-radius:50%;
  background:#eef3ff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1F40E6;
  transition:background .2s ease, color .2s ease;
}

.servicesMega .service-icon svg{
  width:24px;
  height:24px;
  stroke:currentColor;
}

.servicesMega .service-item:hover .service-icon{
  background:#1F40E6;
  color:#fff;
}

.servicesMega .service-content h3{
  font-size:18px;
  font-weight:800;
  margin:0 0 6px;
  color:#061426;
  transition:color .2s ease;
}

.servicesMega .service-item:hover .service-content h3{
  color:#1F40E6;
}

.servicesMega .service-content p{
  font-size:14px;
  line-height:1.6;
  color:#4f5d70;
  max-width:620px;
  margin:0;
}

@media(max-width:1000px){
  .servicesMega .mega-menu{
    display:none;
  }
}


