/* Start custom CSS for html, class: .elementor-element-5e134df *//* =========================================================================
   MAZIRAB · Accueil · CSS isolé (préfixe mz-home__)
   À coller dans : Elementor > Réglages de la page > Avancé > CSS personnalisé
   (ou dans une balise style du widget HTML). Aucune règle ne sort de .mz-home.
   ========================================================================= */

/* 1. Racine : coupe l'héritage du thème, palette, valeurs qui changent selon l'écran */
.mz-home{
  --mz-blue:#1a3dbe;--mz-blue-light:#2b52d8;--mz-navy:#0d1b2a;--mz-orange:#e87832;
  --mz-muted:#667085;--mz-pale:#f4f6fa;
  --mz-label:var(--mz-blue);--mz-accent:var(--mz-blue);--mz-text:var(--mz-muted);--mz-focus:var(--mz-blue-light);
  --mz-gutter:24px;--mz-section-y:90px;--mz-cols:4;--mz-split:2;--mz-split-gap:65px;
  --mz-hero-min:590px;--mz-hero-y:90px;--mz-h1-ls:-1.5px;
  --mz-photo-h:430px;--mz-photo-off:18px;--mz-btn-grow:0;--mz-btn-basis:auto;
  all:initial;
  display:block;display:flow-root;
  isolation:isolate;overflow:hidden;overflow:clip;
  box-sizing:border-box;
  color:var(--mz-navy);background:#fff;
  font:400 16px/1.55 Geist,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* 2. Remise à zéro des éléments utilisés. « .mz-home.mz-home » (0,2,0) passe devant
      « .elementor-kit-5 h2 » (0,1,1) ; :where() n'ajoute aucune spécificité. */
.mz-home *,.mz-home ::before,.mz-home ::after{box-sizing:border-box}
.mz-home.mz-home :where(h1,h2,h3,p,ul,li){margin:0;padding:0;color:inherit;font:inherit;letter-spacing:normal;text-transform:none;list-style:none}
.mz-home.mz-home :where(h1,h2,h3){line-height:1.1}
.mz-home.mz-home :where(span){color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}

/* 3. Structure */
.mz-home .mz-home__wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--mz-gutter)}
.mz-home .mz-home__section{padding:var(--mz-section-y) 0}
.mz-home .mz-home__section--alt{background:var(--mz-pale)}
.mz-home .mz-home__section--dark,.mz-home .mz-home__section--network{color:#fff;--mz-label:#9db8ff;--mz-accent:#8fb0ff;--mz-focus:#fff}
.mz-home .mz-home__section--dark{background:var(--mz-navy);--mz-text:#aebbd0}
.mz-home .mz-home__section--network{position:relative;isolation:isolate;background:#091b49;--mz-text:#ccd8ef}
.mz-home .mz-home__split{display:grid;grid-template-columns:repeat(var(--mz-split),minmax(0,1fr));gap:var(--mz-split-gap);align-items:center}

/* Image de fond (bandeau, réseau) : <img> pour pouvoir la prioriser ou la différer */
.mz-home .mz-home__bg{position:absolute;inset:0;z-index:-1;display:block;width:100%;max-width:none;height:100%;object-fit:cover}
.mz-home .mz-home__section--network::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(9,27,73,.94),rgba(9,27,73,.75))}

/* 4. Titres et textes */
.mz-home .mz-home__label{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--mz-label)}
.mz-home .mz-home__label::before{content:"";width:25px;height:2px;background:currentColor}
.mz-home .mz-home__head{max-width:650px;margin:0 0 38px}
.mz-home .mz-home__head--center{margin-left:auto;margin-right:auto;text-align:center}
.mz-home .mz-home__title{margin:13px 0 15px;font-size:clamp(28px,4vw,46px);font-weight:900;letter-spacing:-1.2px}
.mz-home .mz-home__hl{color:var(--mz-accent)}
.mz-home .mz-home__desc{font-size:15px;color:var(--mz-text)}

/* 5. Boutons : tout passe par 3 variables, les états :hover / :visited ne peuvent pas être écrasés par le thème */
.mz-home .mz-home__btn{--mz-btn-bg:transparent;--mz-btn-bd:transparent;--mz-btn-fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:var(--mz-btn-grow) 1 var(--mz-btn-basis);
  padding:14px 26px;border-width:2px;border-style:solid;border-radius:4px;
  font-family:inherit;font-size:13px;font-weight:700;line-height:1;letter-spacing:.4px;text-transform:uppercase}
.mz-home .mz-home__btn,.mz-home .mz-home__btn:is(:hover,:focus,:active,:visited){border-color:var(--mz-btn-bd);background:var(--mz-btn-bg);color:var(--mz-btn-fg);text-decoration:none;box-shadow:none}
.mz-home .mz-home__btn--primary{--mz-btn-bg:var(--mz-blue);--mz-btn-bd:var(--mz-blue)}
.mz-home .mz-home__btn--outline{--mz-btn-bd:#fff}
.mz-home .mz-home__btn--white{--mz-btn-bg:#fff;--mz-btn-bd:#fff;--mz-btn-fg:var(--mz-blue)}
.mz-home .mz-home__actions{display:flex;flex-wrap:wrap;gap:12px}
.mz-home .mz-home__actions--center{justify-content:center}

/* 6. Bandeau principal */
.mz-home .mz-home__hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--mz-hero-min);color:#fff;background:#09183a;--mz-label:#9db8ff;--mz-focus:#fff}
.mz-home .mz-home__hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,24,58,.92) 0%,rgba(9,24,58,.72) 54%,rgba(9,24,58,.43) 100%)}
.mz-home .mz-home__hero-content{max-width:780px;padding:var(--mz-hero-y) 0}
.mz-home .mz-home__h1{margin:20px 0 22px;font-size:clamp(34px,5vw,60px);font-weight:900;letter-spacing:var(--mz-h1-ls)}
.mz-home .mz-home__accent{display:block;color:var(--mz-orange)}
.mz-home .mz-home__lead{max-width:620px;margin:0 0 32px;font-size:17px;color:#d9e2f2}

/* 7. À propos */
.mz-home .mz-home__photo{display:block;width:100%;max-width:100%;height:var(--mz-photo-h);object-fit:cover;border:0;border-radius:4px;box-shadow:var(--mz-photo-off) var(--mz-photo-off) 0 #e8edfb}
.mz-home .mz-home__checks{margin:0 0 28px}
.mz-home .mz-home__check{margin:13px 0;font-size:14px}
.mz-home .mz-home__check::before{content:"\2713";content:"\2713" / "";margin-right:10px;font-weight:900;color:var(--mz-blue)}

/* 8. Cartes de services (le lien est le titre ; son ::after couvre toute la carte) */
.mz-home .mz-home__cards,.mz-home .mz-home__sectors{display:grid;grid-template-columns:repeat(var(--mz-cols),minmax(0,1fr));gap:20px}
.mz-home .mz-home__card{position:relative;padding:27px;background:#fff;border:1px solid #dce4f2;border-radius:4px}
.mz-home .mz-home__icon{display:grid;place-items:center;width:55px;height:55px;margin-bottom:20px;color:var(--mz-blue);background:#edf1ff;border:1px solid #d4ddff;border-radius:4px}
.mz-home .mz-home__svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mz-home .mz-home__card-title{margin-bottom:10px;font-size:19px;font-weight:700}
.mz-home .mz-home__card-text{font-size:14px;color:var(--mz-muted)}
.mz-home .mz-home__more{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;color:var(--mz-blue)}
.mz-home .mz-home__link,.mz-home .mz-home__link:is(:hover,:focus,:active,:visited){color:inherit;background:none;text-decoration:none}
.mz-home .mz-home__link::after{content:"";position:absolute;inset:0}
@supports .elementor-22 .elementor-element.elementor-element-5e134df(:has(*)){
  .mz-home .mz-home__link:focus-visible{outline:0}
  .mz-home .mz-home__card:has(.mz-home__link:focus-visible),.mz-home .mz-home__sector:has(.mz-home__link:focus-visible){outline:3px solid var(--mz-focus);outline-offset:3px}
}

/* 9. Secteurs */
.mz-home .mz-home__sectors{gap:18px}
.mz-home .mz-home__sector{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:235px;padding:20px;overflow:hidden;border-radius:4px;color:#fff;background:linear-gradient(145deg,#183b8f,#10245f)}
.mz-home .mz-home__sector-img{position:absolute;inset:0;z-index:-1;display:block;width:100%;max-width:none;height:100%;object-fit:cover}
.mz-home .mz-home__sector::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 25%,rgba(4,15,45,.9))}
.mz-home .mz-home__sector-kicker{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#b8ccff}
.mz-home .mz-home__sector-title{margin-top:5px;font-size:20px;font-weight:700}

/* 10. Réseau */
.mz-home .mz-home__countries{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.mz-home .mz-home__country{padding:10px 15px;font-size:13px;border:1px solid rgba(255,255,255,.25);border-radius:3px;background:rgba(255,255,255,.06)}
.mz-home .mz-home__code{display:inline-block;min-width:26px;margin-right:8px;padding:2px 5px;font-size:10px;font-weight:700;letter-spacing:.5px;text-align:center;color:#cfe0ff;background:rgba(255,255,255,.14);border-radius:2px}

/* 11. Appel final */
.mz-home .mz-home__cta{padding:70px 24px;text-align:center;color:#fff;background:var(--mz-blue);--mz-focus:#fff}
.mz-home .mz-home__cta-title{margin-bottom:14px;font-size:clamp(28px,4vw,46px);font-weight:900;letter-spacing:-1px}
.mz-home .mz-home__cta-text{margin-bottom:27px;color:#dbe5ff}

/* 12. Clavier */
.mz-home .mz-home__btn:focus-visible{outline:3px solid var(--mz-focus);outline-offset:3px}

/* 13. Écran : trois seuils (tablette large, tablette, mobile). Les media queries ne redéfinissent que des variables. */
@media (max-width:1000px){
  .mz-home{--mz-cols:2}
}
@media (max-width:900px){
  .mz-home{--mz-split:1;--mz-split-gap:40px}
}
@media (max-width:600px){
  .mz-home{--mz-gutter:18px;--mz-section-y:65px;--mz-cols:1;--mz-hero-min:560px;--mz-hero-y:70px;--mz-h1-ls:-1px;
    --mz-photo-h:280px;--mz-photo-off:10px;--mz-btn-grow:1;--mz-btn-basis:100%}
}

/* 14. Souris et mouvement : survols seulement avec une vraie souris, animations seulement si autorisées */
@media (hover:hover){
  .mz-home .mz-home__btn--primary:hover{--mz-btn-bg:var(--mz-blue-light);--mz-btn-bd:var(--mz-blue-light)}
  .mz-home .mz-home__btn--outline:hover{--mz-btn-bg:rgba(255,255,255,.12)}
  .mz-home .mz-home__btn--white:hover{--mz-btn-bg:#eef2ff;--mz-btn-bd:#eef2ff}
  .mz-home .mz-home__card:hover{border-color:var(--mz-blue);box-shadow:0 12px 35px rgba(26,61,190,.12)}
}
@media (prefers-reduced-motion:no-preference){
  .mz-home .mz-home__btn{transition:background-color .2s,border-color .2s,color .2s,transform .2s}
  .mz-home .mz-home__card{transition:border-color .25s,transform .25s,box-shadow .25s}
  .mz-home .mz-home__sector-img{transition:transform .3s}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .mz-home .mz-home__btn--primary:hover,.mz-home .mz-home__btn--white:hover{transform:translateY(-2px)}
  .mz-home .mz-home__card:hover{transform:translateY(-4px)}
  .mz-home .mz-home__sector:hover .mz-home__sector-img{transform:scale(1.06)}
}/* End custom CSS */