/* =========================================================
   SDM GROUP — ABOUT PAGE
   Visual system matching the supplied design:
   navy #031B33 / cyan #22B8FF / white / soft blue backgrounds
   ========================================================= */

:root {
  --about-navy: #031b33;
  --about-navy-2: #062744;
  --about-blue: #1da9f5;
  --about-blue-soft: #eaf6fd;
  --about-text: #102a43;
  --about-muted: #4e6478;
  --about-white: #ffffff;
  --about-border: #dbe8f0;
  --about-gold: #d6a52a;
}




html { scroll-behavior: smooth; }

body {
  font-family: "League Spartan", sans-serif;
  color: var(--about-text);
  background: #fff;
  
  margin: 0;
}

body.menu-open { overflow: hidden; }

.container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

/* ================= NAVBAR ================= */

.about-navbar {
  position: fixed;
  inset: 0 0 auto 0;
  height: 60px;
  z-index: 9999;
  background: rgba(3, 27, 51, .96);
  border-bottom: 1px solid rgba(255,255,255,.10);
  transition: .3s ease;
}

.about-navbar.scrolled {
  background: rgba(3, 27, 51, .99);
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
}

.about-navbar-inner {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.about-logo img {
  display: block;
  width: 96px;
  height: auto;
}

.about-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  flex: 1;
}

.about-nav a {
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  padding: 21px 0 17px;
  opacity: .95;
}

.about-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  height: 2px;
  background: var(--about-blue);
  transform: scaleX(0);
  transition: .25s ease;
}

.about-nav a:hover::after,
.about-nav a.active::after {
  transform: scaleX(1);
}

.about-nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.about-lang-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
}

.about-lang-btn {
  border: 1px solid rgba(255,255,255,.55);
  background: transparent;
  color: #fff;
  min-width: 38px;
  height: 28px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: .25s ease;
}

.about-lang-btn:hover,
.about-lang-btn.active {
  background: var(--about-blue);
  border-color: var(--about-blue);
}

.about-mobile-toggle {
  display: none;
  border: 0;
  background: transparent;
  width: 36px;
  height: 36px;
  padding: 7px;
  cursor: pointer;
}

.about-mobile-toggle span {
  display: block;
  height: 2px;
  margin: 5px 0;
  background: #fff;
  transition: .25s ease;
}

.about-mobile-menu {
  display: none;
}

/* ================= HERO ================= */

.about-hero {
  position: relative;
  height: 280px;
  overflow: hidden;
  background: var(--about-navy);
}

.about-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,21,39,.94) 0%, rgba(2,21,39,.72) 37%, rgba(2,21,39,.18) 78%),
    linear-gradient(0deg, rgba(2,21,39,.25), rgba(2,21,39,.05));
}

.about-hero-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 30px;
}

.about-eyebrow,
.section-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--about-blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
}

.about-eyebrow span:first-child {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--about-blue);
}

.about-hero h1 {
  color: #fff;
  font-size: clamp(42px, 5vw, 58px);
  line-height: .95;
  margin: 18px 0 10px;
  font-weight: 700;
  letter-spacing: -1px;
}

.about-hero h1 strong {
  color: var(--about-blue);
}

.about-hero p {
  max-width: 520px;
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.35;
}

/* ================= COMMON ================= */

.section-padding {
  padding: 52px 0;
}

.section-eyebrow {
  margin-bottom: 10px;
}

.section-eyebrow::before {
  content: "";
  width: 22px;
  height: 2px;
  background: var(--about-blue);
}

.section-eyebrow.light {
  color: var(--about-blue);
}

h2 {
  color: var(--about-navy);
  font-size: 27px;
  line-height: 1.15;
  font-weight: 700;
  margin: 0 0 18px;
}

p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--about-text);
}

/* ================= OVERVIEW ================= */

.about-overview {
  background: #fff;
}

.about-overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center;
}

.about-overview-text {
  padding-right: 8px;
}

.about-overview-text p {
  margin: 0 0 13px;
}

.about-overview-visual {
  position: relative;
  min-height: 235px;
  padding: 0 28px 22px 0;
}

.about-main-photo {
  width: 100%;
  height: 215px;
  display: block;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 10px 25px rgba(3,27,51,.12);
}

.about-small-photo {
  position: absolute;
  width: 35%;
  height: 120px;
  right: 0;
  bottom: 0;
  object-fit: cover;
  border: 4px solid #fff;
  border-radius: 6px;
  box-shadow: 0 10px 25px rgba(3,27,51,.18);
}

/* ================= ROLE / MISSION / VALUES ================= */

.about-commitment {
  background: #eef8fd;
  padding: 42px 0;
}

.commitment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.commitment-card {
  padding: 0 34px;
  min-height: 160px;
  border-right: 1px solid #cfe5f0;
}

.commitment-card:first-child { padding-left: 0; }
.commitment-card:last-child {
  border-right: 0;
  padding-right: 0;
}

.commitment-icon {
  color: var(--about-blue);
  font-size: 30px;
  margin-bottom: 10px;
}

.commitment-card h3 {
  margin: 0 0 10px;
  color: var(--about-navy);
  font-size: 20px;
  font-weight: 700;
}

.commitment-card p {
  margin: 0;
  max-width: 330px;
}

.values-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.values-card li {
  position: relative;
  padding-left: 22px;
  margin: 5px 0;
  font-size: 13px;
  color: var(--about-text);
}

.values-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--about-blue);
  font-weight: 700;
}

/* ================= EXPERTISE ================= */

.about-expertise {
  min-height: 240px;
  display: grid;
  grid-template-columns: 50% 50%;
  background: var(--about-navy);
}

.about-expertise-image {
  overflow: hidden;
}

.about-expertise-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}

.about-expertise-content {
  padding: 34px 55px;
  align-self: center;
}

.about-expertise-content h2,
.about-expertise-content p {
  color: #fff;
}

.about-expertise-content h2 {
  margin-bottom: 10px;
}

.about-expertise-content p {
  max-width: 600px;
  opacity: .92;
  margin-bottom: 20px;
}

.expertise-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 22px;
}

.expertise-list div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 13px;
}

.expertise-list i {
  color: var(--about-blue);
  font-size: 22px;
}

/* ================= ECOSYSTEM ================= */

.about-ecosystem {
  background: #fff;
}

.ecosystem-grid {
  display: grid;
  grid-template-columns: 1.45fr .75fr;
  gap: 45px;
  align-items: center;
}

.ecosystem-content h2 {
  margin-bottom: 10px;
}

.ecosystem-content > p {
  margin-bottom: 20px;
}

.ecosystem-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--about-border);
  border-radius: 8px;
  overflow: hidden;
}

.ecosystem-card {
  position: relative;
  min-height: 145px;
  padding: 18px 16px;
  background: #f9fcfe;
  border-right: 1px solid var(--about-border);
}

.ecosystem-card:last-child { border-right: 0; }

.ecosystem-card-icon {
  color: var(--about-blue);
  font-size: 25px;
  margin-bottom: 8px;
}

.ecosystem-card h4 {
  margin: 0 0 6px;
  color: var(--about-navy);
  font-size: 14px;
  line-height: 1.2;
}

.ecosystem-card p {
  margin: 0;
  color: #557084;
  font-size: 12px;
  line-height: 1.4;
}

.ecosystem-card > span {
  position: absolute;
  left: 16px;
  bottom: 12px;
  color: var(--about-blue);
  font-size: 18px;
}

.ecosystem-photo {
  overflow: hidden;
  border-radius: 7px;
}

.ecosystem-photo img {
  display: block;
  width: 100%;
  height: 195px;
  object-fit: cover;
}

/* ================= VISION ================= */

.about-vision {
  position: relative;
  min-height: 105px;
  overflow: hidden;
  margin: 0 auto 18px;
  width: min(1120px, calc(100% - 48px));
  border-radius: 7px;
}

.about-vision > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-vision-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,27,51,.94), rgba(3,27,51,.52), rgba(3,27,51,.16));
}

.about-vision-content {
  position: relative;
  z-index: 2;
  min-height: 105px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 18px 46px;
}

.about-vision h2 {
  color: #fff;
  font-size: 20px;
  margin: 5px 0;
}

.about-vision p {
  color: #fff;
  font-size: 12px;
  margin: 0;
  opacity: .92;
}

.vision-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px;
  border: 1px solid #fff;
  border-radius: 24px;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  transition: .25s ease;
}

.vision-link:hover {
  background: #fff;
  color: var(--about-navy);
}

/* ================= FOOTER ================= */

.about-footer {
  margin-top: 0;
  padding: 28px 0 18px;
  background: var(--about-navy);
  color: #fff;
}

.footer-main {
  display: grid;
  grid-template-columns: 1fr 1.5fr .8fr;
  align-items: center;
  gap: 35px;
}

.footer-brand img {
  width: 92px;
  height: auto;
  display: block;
  margin-bottom: 15px;
}

.footer-brand p {
  color: #fff;
  font-size: 14px;
  margin: 0;
  opacity: .75;
}

.footer-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  opacity: .88;
  transition: .2s;
}

.footer-links a:hover {
  color: var(--about-blue);
}

.footer-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 22px;
}

.footer-social {
  display: flex;
  gap: 14px;
}

.footer-social a {
  color: #fff;
  font-size: 16px;
  transition: .2s;
}

.footer-social a:hover {
  color: var(--about-blue);
}

.footer-bottom {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
}

/* ================= MOBILE ================= */

@media (max-width: 900px) {
  .about-nav { gap: 16px; }
  .about-nav a { font-size: 11px; }
  .about-navbar-inner { gap: 15px; }
  .about-overview-grid,
  .ecosystem-grid { grid-template-columns: 1fr; }
  .about-overview-visual { margin-top: 10px; }
  .ecosystem-photo { max-width: 520px; }
  .ecosystem-cards { grid-template-columns: 1fr; }
  .ecosystem-card { border-right: 0; border-bottom: 1px solid var(--about-border); }
  .ecosystem-card:last-child { border-bottom: 0; }
}

@media (max-width: 768px) {
  .container { width: min(100% - 30px, 620px); }

  .about-navbar,
  .about-navbar-inner { height: 58px; }

  .about-nav { display: none; }

  .about-mobile-toggle { display: block; }

  .about-mobile-menu {
    position: fixed;
    top: 58px;
    left: 0;
    right: 0;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 22px 25px 28px;
    background: var(--about-navy);
    transform: translateY(-120%);
    opacity: 0;
    visibility: hidden;
    transition: .3s ease;
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
  }

  .about-mobile-menu.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }

  .about-mobile-menu .about-lang-switcher {
    margin-bottom: 15px;
  }

  .about-mobile-menu > a {
    color: #fff;
    text-decoration: none;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 15px;
  }

  .about-hero {
    height: 280px;
  }

  .about-hero h1 {
    font-size: 43px;
  }

  .about-hero p {
    font-size: 16px;
    max-width: 430px;
  }

  .section-padding {
    padding: 40px 0;
  }

  .about-overview-grid {
    gap: 25px;
  }

  .about-main-photo {
    height: 210px;
  }

  .commitment-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .commitment-card,
  .commitment-card:first-child,
  .commitment-card:last-child {
    padding: 0 0 25px;
    border-right: 0;
    border-bottom: 1px solid #cfe5f0;
  }

  .commitment-card:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .about-expertise {
    grid-template-columns: 1fr;
  }

  .about-expertise-image {
    min-height: 220px;
  }

  .about-expertise-content {
    padding: 35px 25px 40px;
  }

  .expertise-list {
    grid-template-columns: 1fr 1fr;
  }

  .about-vision {
    width: calc(100% - 30px);
  }

  .about-vision-content {
    min-height: 180px;
    padding: 25px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }

  .footer-main {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 20px;
  }

  .footer-brand img {
    margin-left: auto;
    margin-right: auto;
  }

  .footer-links { gap: 14px 18px; }

  .footer-actions {
    justify-content: center;
    flex-direction: column;
    gap: 15px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .about-hero {
    height: 300px;
  }

  .about-hero-content {
    padding-top: 25px;
  }

  .about-hero h1 {
    font-size: 38px;
  }

  .about-hero p {
    font-size: 15px;
  }

  .about-overview-visual {
    padding-right: 12px;
    padding-bottom: 10px;
  }

  .about-small-photo {
    width: 38%;
    height: 95px;
  }

  .expertise-list {
    grid-template-columns: 1fr;
  }

  .vision-link {
    width: fit-content;
  }
}




/* =========================================================
   SDM GROUP — INDEX / ABOUT VISUAL THEME
   Utilise le même langage visuel que about.html
   ========================================================= */

:root{
  --sdm-navy:#061a2f;
  --sdm-navy-2:#08233d;
  --sdm-blue:#159ee8;
  --sdm-cyan:#39c9ff;
  --sdm-text:#102846;
  --sdm-muted:#60738a;
  --sdm-light:#f3f9fd;
  --sdm-border:#dcebf5;
  --sdm-white:#fff;
}

/* Base */
html{scroll-behavior:smooth;}
body{
  font-family:'League Spartan',Arial,sans-serif;
  color:var(--sdm-text);
  background:#fff;
}
.site-wrap{overflow:hidden;}
.site-section{
  position:relative;
  padding-top:90px;
  padding-bottom:90px;
}

/* =========================================================
   NAVBAR — même aspect que About
   ========================================================= */
.premium-navbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:9999;
  height:72px;
  background:rgba(4,22,40,.96);
  border-bottom:1px solid rgba(72,190,244,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:.3s ease;
}
.premium-navbar.scrolled{
  background:rgba(4,20,37,.99);
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.premium-navbar .container{
  height:100%;
}
.navbar-container{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.nav-brand img{
  display:block;
  width:auto;
  height:48px;
  object-fit:contain;
}
.nav-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  flex:1;
}
.nav-link{
  position:relative;
  color:#fff!important;
  font-size:13px;
  font-weight:600;
  text-decoration:none!important;
  padding:27px 0 24px;
  transition:.25s ease;
}
.nav-link:hover,
.nav-link.active{
  color:var(--sdm-cyan)!important;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--sdm-cyan);
  transform:scaleX(0);
  transform-origin:center;
  transition:.25s ease;
}
.nav-link:hover::after,
.nav-link.active::after{
  transform:scaleX(1);
}
.nav-actions{display:flex;align-items:center;}
.lang-switcher{display:flex;gap:8px;}
.lang-btn{
  min-width:38px;
  height:32px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:6px;
  background:transparent;
  color:#fff;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.25s ease;
}
.lang-btn:hover,
.lang-btn.active{
  background:var(--sdm-blue);
  border-color:var(--sdm-blue);
  color:#fff;
}

/* Mobile navbar */
.mobile-toggle{
  display:none;
  width:36px;
  cursor:pointer;
}
.mobile-toggle .bar{
  display:block;
  height:2px;
  margin:6px 0;
  background:#fff;
  transition:.25s ease;
}
.mobile-menu-overlay{
  display:none;
}

/* =========================================================
   HERO / CAROUSEL
   ========================================================= */
.home-section{
  position:relative;
  min-height:100vh;
  height:100vh;
  padding:0!important;
  margin:0;
  overflow:hidden;
  background:var(--sdm-navy);
}
.hero-inner,
#heroCarousel,
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item{
  width:100%;
  height:100%;
  min-height:100vh;
}
.hero-inner{position:relative;}
#heroCarousel{
  position:relative;
  margin:0!important;
  direction:ltr!important;
  overflow:hidden;
}
#heroCarousel .carousel-inner{
  position:relative;
  overflow:hidden;
}
#heroCarousel .carousel-item{
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  direction:ltr!important;
}
#heroCarousel .carousel-item::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,18,34,.82) 0%,rgba(3,18,34,.48) 45%,rgba(3,18,34,.24) 100%),
    linear-gradient(0deg,rgba(3,18,34,.45),transparent 45%);
}
.service-image{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
#heroCarousel .home-title-main,
#heroCarousel .home-title-sub,
#heroCarousel .carousel-item > p{
  position:relative!important;
  z-index:3!important;
  width:min(1050px,88%);
  margin-left:auto!important;
  margin-right:auto!important;
}
.home-title-main{
  margin-top:35px;
  margin-bottom:14px;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(34px,4.2vw,66px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-1.5px;
  text-shadow:0 4px 20px rgba(0,0,0,.35);
}
.home-title-main::first-letter{}
.home-title-sub{
  color:#f5fbff!important;
  font-size:clamp(16px,1.45vw,23px);
  line-height:1.35;
  font-weight:400;
  max-width:850px!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
#heroCarousel .btn-outline-white{
  border:1px solid #fff!important;
  border-radius:30px!important;
  padding:11px 28px!important;
  background:transparent!important;
  color:#fff!important;
  font-size:13px;
  font-weight:600;
  transition:.3s ease;
}
#heroCarousel .btn-outline-white:hover{
  background:var(--sdm-blue)!important;
  border-color:var(--sdm-blue)!important;
  transform:translateY(-2px);
}
#heroCarousel .carousel-control-prev,
#heroCarousel .carousel-control-next{
  z-index:5;
  width:8%;
}

/* =========================================================
   ABOUT — style de la maquette
   ========================================================= */
.about-us-section{
  background:#fff;
}
.about-us-section .section-title{
  color:var(--sdm-navy);
  font-weight:700;
}
.about-us-section #aboutTitle{
  color:var(--sdm-blue)!important;
  font-size:12px;
  letter-spacing:1.4px;
}
.about-us-section p{
  color:#324b68;
  line-height:1.65;
  font-size:15px;
}
.img-shadow{
  border-radius:7px;
  box-shadow:0 16px 45px rgba(5,31,55,.16);
}
.img-overlap{
  position:relative;
}
.read-more-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--sdm-blue)!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:700;
  transition:.25s ease;
}
.read-more-arrows{
  font-size:17px;
  line-height:1;
  letter-spacing:-4px;
  transition:.25s ease;
}
.read-more-link:hover{
  color:var(--sdm-navy)!important;
}
.read-more-link:hover .read-more-arrows{
  transform:translateX(5px);
}

/* Stats */
.section-counter{
  border-top:1px solid var(--sdm-border)!important;
}
.section-counter .number{
  color:var(--sdm-navy);
  font-size:42px;
  line-height:1;
}
.section-counter [class*="icon-"]{
  color:var(--sdm-blue);
  font-size:27px;
}
.section-counter .caption{
  display:block;
  color:#60738a;
  font-size:13px;
  line-height:1.4;
  text-align:center;
}

/* =========================================================
   PARTENAIRES
   ========================================================= */
/* =========================================================
   PARTENAIRES — MARQUEE CONTINU
   ========================================================= */

.trusted-marquee {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 28px 0;

    background: #f7fbfe;

    border-top: 1px solid var(--sdm-border);
    border-bottom: 1px solid var(--sdm-border);

    /* Fondu sur les côtés */
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 7%,
        #000 93%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 7%,
        #000 93%,
        transparent 100%
    );
}


/* =========================================================
   PISTE D'ANIMATION
   ========================================================= */

.marquee-track {
    display: flex;
    align-items: center;
    width: max-content;

    /* Animation continue */
    animation: sdmPartnersMarquee 30s linear infinite;

    will-change: transform;
}


/* =========================================================
   GROUPE DE LOGOS
   ========================================================= */

.marquee-group {
    display: flex;
    align-items: center;
    flex-shrink: 0;

    gap: 65px;
    padding-right: 65px;
}


/* =========================================================
   LOGOS
   ========================================================= */

.trusted-logo {
    display: block;

    width: 150px;
    height: 65px;

    flex: 0 0 150px;

    object-fit: contain;

    filter: grayscale(15%);
    opacity: 0.78;

    transition:
        filter 0.3s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}


/* =========================================================
   HOVER LOGO
   ========================================================= */

.trusted-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.06);
}


/* =========================================================
   ANIMATION CONTINUE
   ========================================================= */

@keyframes sdmPartnersMarquee {

    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }

}


/* =========================================================
   PAUSE AU SURVOL
   ========================================================= */

.trusted-marquee:hover .marquee-track {
    animation-play-state: paused;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .marquee-group {
        gap: 45px;
        padding-right: 45px;
    }

    .trusted-logo {
        width: 125px;
        height: 60px;
        flex-basis: 125px;
    }

    .marquee-track {
        animation-duration: 25s;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .trusted-marquee {
        padding: 22px 0;

        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            #000 4%,
            #000 96%,
            transparent 100%
        );

        mask-image: linear-gradient(
            to right,
            transparent 0%,
            #000 4%,
            #000 96%,
            transparent 100%
        );
    }

    .marquee-group {
        gap: 30px;
        padding-right: 30px;
    }

    .trusted-logo {
        width: 105px;
        height: 55px;
        flex-basis: 105px;
    }

    .marquee-track {
        animation-duration: 20s;
    }

}


/* =========================================================
   ACCESSIBILITÉ
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .marquee-track {
        animation: none;
        transform: translateX(0);
    }

}
/* =========================================================
   SERVICES — cartes dans l'esprit About
   ========================================================= */
/* =====================================================
   SDM GROUP — SERVICES SECTION
   ===================================================== */

.sdm-services-section {
    background: #ffffff;
    padding-top: 90px;
    padding-bottom: 90px;
}

/* Petit titre bleu */
.sdm-section-label {
    display: inline-block;
    position: relative;
    margin-bottom: 12px;
    color: #159ee8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.sdm-section-label::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 2px;
    margin-right: 8px;
    vertical-align: middle;
    background: #159ee8;
}

/* Titre */
.sdm-services-title {
    margin-bottom: 15px;
    color: #061a2f;
    font-weight: 700;
}

/* Introduction */
.sdm-services-intro {
    max-width: 650px;
    margin: 0 auto;
    color: #60738a;
    font-size: 15px;
    line-height: 1.7;
}


/* =====================================================
   SERVICE CARD
   ===================================================== */

.sdm-service-card {
    position: relative;
    height: 100%;
    min-height: 260px;
    padding: 30px 25px;
    background: #f7fbfe;
    border: 1px solid #deedf6;
    border-radius: 10px;
    overflow: hidden;
    transition: all .35s ease;
}

.sdm-service-card:hover {
    transform: translateY(-7px);
    background: #ffffff;
    border-color: #bfe4f7;
    box-shadow: 0 18px 45px rgba(6, 35, 61, .10);
}


/* Icône */

.sdm-service-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 50%;

    background: #e7f6ff;
    color: #159ee8;

    font-size: 25px;

    transition: all .35s ease;
}

.sdm-service-card:hover .sdm-service-icon {
    background: #159ee8;
    color: #ffffff;
}


/* Numéro */

.sdm-service-number {
    position: absolute;
    top: 20px;
    right: 22px;

    color: #d8eaf4;

    font-size: 35px;
    font-weight: 700;

    line-height: 1;
}


/* Titre */

.sdm-service-card h3 {
    position: relative;

    margin-bottom: 12px;

    color: #061a2f;

    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
}


/* Description */

.sdm-service-card p {
    margin-bottom: 0;

    color: #60738a;

    font-size: 13px;
    line-height: 1.65;
}


/* =====================================================
   LINK — Découvrir nos services
   ===================================================== */

.sdm-services-link {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: #159ee8 !important;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;

    transition: all .3s ease;
}

.sdm-services-link:hover {
    color: #061a2f !important;
}

.sdm-services-arrows {
    font-size: 17px;
    line-height: 1;

    letter-spacing: -4px;

    transition: transform .3s ease;
}

.sdm-services-link:hover .sdm-services-arrows {
    transform: translateX(5px);
}


/* =====================================================
   RTL
   ===================================================== */

html[dir="rtl"] .sdm-service-card {
    text-align: right;
}

html[dir="rtl"] .sdm-service-number {
    right: auto;
    left: 22px;
}

html[dir="rtl"] .sdm-section-label::before {
    margin-right: 0;
    margin-left: 8px;
}

html[dir="rtl"] .sdm-services-arrows {
    transform: rotate(180deg);
}

html[dir="rtl"] .sdm-services-link:hover .sdm-services-arrows {
    transform: rotate(180deg) translateX(5px);
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 768px) {

    .sdm-services-section {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .sdm-service-card {
        min-height: 235px;
        padding: 25px 22px;
    }

    .sdm-service-card h3 {
        font-size: 18px;
    }

    .sdm-service-card p {
        font-size: 13px;
    }

}

/* =========================================================
   CONTACT
   ========================================================= */
#contact-section{
  background:#f5faff;
}
#contact-section .section-title-sub{
  color:var(--sdm-blue)!important;
  font-size:12px;
  letter-spacing:1.4px;
  font-weight:700;
}
#contact-section .section-title{
  color:var(--sdm-navy);
  font-weight:700;
}
#contact-section .p-4.bg-white{
  border:1px solid var(--sdm-border);
  border-radius:10px!important;
  box-shadow:0 14px 40px rgba(6,35,61,.07)!important;
}
#contact-section .p-4 h4{
  color:var(--sdm-navy);
  font-weight:700;
}
#contact-section .p-4 a{
  color:#3e5872;
}
#contact-section iframe{
  width:100%;
  max-width:100%;
  border-radius:7px;
}

/* =========================================================
   FOOTER — même esprit que About
   ========================================================= */
.site-footer{
  background:var(--sdm-navy)!important;
  color:#fff!important;
  padding:50px 0 25px!important;
  border-top:1px solid rgba(57,201,255,.16);
}
.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.footer-brand img{
  height:52px;
  width:auto;
}
.footer-brand p{
  color:rgba(255,255,255,.68)!important;
  font-size:12px;
  margin:16px 0 0;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
}
.footer-links a{
  color:#fff!important;
  font-size:12px;
  text-decoration:none!important;
  transition:.25s ease;
}
.footer-links a:hover{
  color:var(--sdm-cyan)!important;
}
.footer-social{
  display:flex;
  gap:14px;
}
.footer-social a{
  color:#fff!important;
  font-size:16px;
  transition:.25s ease;
}
.footer-social a:hover{
  color:var(--sdm-cyan)!important;
  transform:translateY(-2px);
}
.footer-bottom{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.55);
  font-size:11px;
  text-align:right;
}

/* =========================================================
   RTL — le carousel reste LTR, uniquement les textes RTL
   ========================================================= */
html[dir="rtl"] #heroCarousel,
html[dir="rtl"] #heroCarousel .carousel-inner,
html[dir="rtl"] #heroCarousel .carousel-item{
  direction:ltr!important;
  float:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
html[dir="rtl"] #heroCarousel .home-title-main,
html[dir="rtl"] #heroCarousel .home-title-sub,
html[dir="rtl"] #heroCarousel .carousel-item > p{
  direction:rtl!important;
  text-align:center!important;
}
html[dir="rtl"] .about-us-section,
html[dir="rtl"] #recruitment-section,
html[dir="rtl"] #contact-section,
html[dir="rtl"] #services-section{
  text-align:right;
}
html[dir="rtl"] .footer-bottom{
  text-align:left;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width:991px){
  .nav-menu{gap:18px;}
  .nav-link{font-size:12px;}
  .footer-main{
    flex-direction:column;
    text-align:center;
  }
  .footer-links{max-width:650px;}
}

@media (max-width:768px){
  .premium-navbar{height:64px;}
  .navbar-container{padding:0 15px;}
  .nav-brand img{height:43px;}
  .nav-menu,
  .nav-actions{display:none;}
  .mobile-toggle{display:block;}
  .mobile-menu-overlay{
    position:fixed;
    inset:64px 0 0;
    z-index:9998;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:22px;
    padding:35px 20px;
    background:rgba(4,22,40,.98);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.3s ease;
  }
  .mobile-menu-overlay.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .mobile-lang-switcher{display:flex;}
  .mobile-nav-link{
    color:#fff!important;
    text-decoration:none!important;
    font-size:17px;
    font-weight:600;
  }
  .mobile-nav-link:hover{color:var(--sdm-cyan)!important;}

  .home-section,
  .hero-inner,
  #heroCarousel,
  #heroCarousel .carousel-inner,
  #heroCarousel .carousel-item{
    height:100svh!important;
    min-height:100svh!important;
  }
  .home-title-main{
    width:92%!important;
    font-size:31px;
    line-height:1.08;
    letter-spacing:-.5px;
  }
  .home-title-sub{
    width:88%!important;
    font-size:15px;
  }
  #heroCarousel .btn-outline-white{
    padding:10px 23px!important;
  }
  .site-section{
    padding-top:65px;
    padding-bottom:65px;
  }
  .img-overlap{
    margin-top:35px;
  }
  .section-counter .number{font-size:32px;}
  #servicesCarousel .block__16443{
    padding:30px 22px;
  }
  #servicesCarousel h3{font-size:21px;}
  .footer-links{gap:15px;}
}

@media (max-width:480px){
  .home-title-main{font-size:27px;}
  .home-title-sub{font-size:14px;}
  .section-counter .caption{font-size:11px;}
}

/* =========================================================
   SERVICES PAGE
========================================================= */

:root {
    --sdm-blue: #062b50;
    --sdm-dark: #021c35;
    --sdm-cyan: #00a9ed;
    --sdm-light: #f5faff;
    --sdm-border: #d9e7f1;
    --sdm-text: #163653;
}


/* =========================================================
   GLOBAL
========================================================= */

.services-hero,
.services-intro,
.services-list-section,
.services-capabilities,
.services-approach,
.services-cta {
    font-family: 'League Spartan', sans-serif;
}


/* =========================================================
   KICKER
========================================================= */

.section-kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    color: var(--sdm-cyan);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    margin-bottom: 12px;
}

.section-kicker span:first-child {
    width: 22px;
    height: 2px;
    background: var(--sdm-cyan);
}

.section-kicker.dark {
    color: var(--sdm-cyan);
}

.section-kicker.light {
    color: var(--sdm-cyan);
}


/* =========================================================
   HERO
========================================================= */

.services-hero {
    position: relative;

    min-height: 255px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: var(--sdm-dark);
}

.services-hero-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.services-hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(1, 24, 46, .97) 0%,
            rgba(2, 31, 57, .88) 35%,
            rgba(2, 31, 57, .25) 75%,
            rgba(2, 31, 57, .08) 100%
        );
}

.services-hero-content {
    position: relative;

    z-index: 2;

    max-width: 520px;

    padding: 40px 0;
}

.services-hero h1 {
    color: white;

    font-size: 38px;
    line-height: 1.05;

    font-weight: 800;

    margin: 0 0 12px;
}

.services-hero h1::first-line {
    color: white;
}

.services-hero p {
    color: rgba(255,255,255,.92);

    font-size: 14px;
    line-height: 1.45;

    max-width: 480px;

    margin: 0;
}


/* =========================================================
   INTRO
========================================================= */

.services-intro {
    padding: 22px 0;

    background: #fff;
}

.services-intro-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 45px;

    align-items: center;
}

.services-intro-content h2 {
    color: var(--sdm-blue);

    font-size: 29px;
    line-height: 1.05;

    font-weight: 800;

    margin-bottom: 14px;
}

.services-intro-content p {
    color: #3e5870;

    font-size: 13px;
    line-height: 1.45;

    max-width: 470px;

    margin-bottom: 18px;
}

.services-intro-image {
    height: 175px;

    overflow: hidden;

    border-radius: 6px;
}

.services-intro-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


/* =========================================================
   BUTTON
========================================================= */

.services-primary-btn {
    display: inline-flex;

    align-items: center;
    gap: 15px;

    padding: 10px 18px;

    border-radius: 8px;

    background: var(--sdm-cyan);

    color: white !important;

    text-decoration: none;

    font-size: 12px;
    font-weight: 700;

    transition: .3s ease;
}

.services-primary-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(0,169,237,.25);
}


/* =========================================================
   SERVICES LIST
========================================================= */

.services-list-section {
    padding: 25px 0 30px;

    background: #fff;
}

.services-section-heading {
    margin-bottom: 18px;
}

.services-section-heading h2 {
    color: var(--sdm-blue);

    font-size: 29px;

    font-weight: 800;

    margin: 0;
}


/* =========================================================
   GRID
========================================================= */

.services-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;
}


/* =========================================================
   CARD
========================================================= */

.service-card {

    overflow: hidden;

    background: #fafdff;

    border: 1px solid var(--sdm-border);

    border-radius: 6px;

    box-shadow:
        0 2px 8px rgba(0,44,80,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.service-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 12px 28px rgba(0,44,80,.14);
}


/* =========================================================
   CARD IMAGE
========================================================= */

.service-card-image {

    width: 100%;
    height: 110px;

    overflow: hidden;
}

.service-card-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .5s ease;
}

.service-card:hover .service-card-image img {
    transform: scale(1.05);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.service-card-content {

    padding: 10px 12px 12px;
}

.service-number {

    display: flex;

    align-items: center;

    justify-content: space-between;

    color: var(--sdm-cyan);

    font-size: 14px;

    font-weight: 800;

    margin-bottom: 4px;
}

.service-number i {

    font-size: 20px;

    margin-right: auto;
    margin-left: 8px;
}

.service-card h3 {

    color: var(--sdm-blue);

    font-size: 13px;

    line-height: 1.15;

    font-weight: 800;

    margin-bottom: 8px;
}

.service-card p {

    color: #4b647b;

    font-size: 10px;

    line-height: 1.35;

    min-height: 55px;

    margin-bottom: 10px;
}

.service-read-more {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    color: var(--sdm-cyan);

    text-decoration: none;

    font-size: 10px;

    font-weight: 700;

    transition: .3s ease;
}

.service-read-more:hover {

    gap: 10px;

    color: var(--sdm-blue);
}


/* =========================================================
   CAPABILITIES
========================================================= */

.services-capabilities {

    position: relative;

    overflow: hidden;

    background: var(--sdm-dark);

    color: white;

    padding: 27px 0;
}

.services-capabilities-bg {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            90deg,
            rgba(2,29,53,.98),
            rgba(2,29,53,.88)
        ),
        url("../img/turbomachines.jpg");

    background-size: cover;

    background-position: center;

    opacity: .95;
}

.capabilities-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        1.3fr 1fr 1fr 1fr;

    gap: 25px;

    align-items: center;
}

.capabilities-intro h2 {

    font-size: 27px;

    line-height: 1.05;

    font-weight: 800;

    margin-bottom: 10px;
}

.capabilities-intro p {

    color: rgba(255,255,255,.82);

    font-size: 11px;

    line-height: 1.45;

    margin: 0;
}

.capability-item {

    padding-left: 22px;

    border-left: 1px solid
        rgba(0,169,237,.55);
}

.capability-item i {

    color: var(--sdm-cyan);

    font-size: 26px;

    display: block;

    margin-bottom: 8px;
}

.capability-item h3 {

    font-size: 13px;

    font-weight: 700;

    margin-bottom: 5px;
}

.capability-item p {

    color: rgba(255,255,255,.8);

    font-size: 10px;

    line-height: 1.4;

    margin: 0;
}


/* =========================================================
   APPROACH
========================================================= */

.services-approach {

    padding: 18px 0;

    background: white;
}

.approach-grid {

    display: grid;

    grid-template-columns:
        1fr 1.15fr .75fr;

    gap: 32px;

    align-items: center;
}

.approach-image {

    height: 130px;

    overflow: hidden;

    border-radius: 5px;
}

.approach-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.approach-content h2 {

    color: var(--sdm-blue);

    font-size: 25px;

    line-height: 1.05;

    font-weight: 800;

    margin-bottom: 10px;
}

.approach-content p {

    color: #4b647b;

    font-size: 11px;

    line-height: 1.4;

    margin-bottom: 12px;
}

.approach-list {

    border-left: 1px solid #dce8f0;

    padding-left: 22px;
}

.approach-list div {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #486176;

    font-size: 10px;

    margin-bottom: 12px;
}

.approach-list i {

    color: var(--sdm-cyan);

    font-size: 11px;
}


/* =========================================================
   CTA
========================================================= */

.services-cta {

    position: relative;

    overflow: hidden;

    min-height: 90px;

    display: flex;

    align-items: center;

    color: white;
}

.services-cta-bg {

    position: absolute;

    inset: 0;

    background-image:
        linear-gradient(
            90deg,
            rgba(2,29,53,.96),
            rgba(2,29,53,.58)
        ),
        url("../img/vision.jpg");

    background-size: cover;

    background-position: center;
}

.services-cta-content {

    position: relative;

    z-index: 2;

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 30px;
}

.services-cta h2 {

    font-size: 23px;

    font-weight: 800;

    margin: 0 0 3px;
}

.services-cta p {

    font-size: 10px;

    color: rgba(255,255,255,.85);

    margin: 0;
}

.services-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 8px 18px;

    border: 1px solid white;

    border-radius: 25px;

    color: white;

    text-decoration: none;

    font-size: 10px;

    white-space: nowrap;

    transition: .3s ease;
}

.services-cta-btn:hover {

    background: white;

    color: var(--sdm-blue);
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {

    background: #021c35;

    color: white;

    padding: 25px 0 12px;
}

.footer-main {

    display: grid;

    grid-template-columns:
        1fr 1.5fr auto;

    align-items: center;

    gap: 30px;
}

.footer-brand img {

    width: 110px;

    margin-bottom: 10px;
}

.footer-brand p {

    font-size: 9px;

    color: rgba(255,255,255,.7);

    margin: 0;
}

.footer-links {

    display: flex;

    justify-content: center;

    gap: 25px;

    flex-wrap: wrap;
}

.footer-links a {

    color: white;

    text-decoration: none;

    font-size: 9px;

    opacity: .85;

    transition: .3s;
}

.footer-links a:hover {

    color: var(--sdm-cyan);

    opacity: 1;
}

.footer-social {

    display: flex;

    gap: 16px;
}

.footer-social a {

    color: white;

    font-size: 13px;

    transition: .3s;
}

.footer-social a:hover {

    color: var(--sdm-cyan);
}

.footer-bottom {

    border-top: 1px solid
        rgba(255,255,255,.12);

    margin-top: 20px;

    padding-top: 12px;

    text-align: center;

    color: rgba(255,255,255,.7);

    font-size: 9px;

    display: flex;

    justify-content: center;

    gap: 12px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 992px) {

    .services-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .services-intro-grid {

        grid-template-columns: 1fr;
    }

    .services-intro-image {

        height: 250px;
    }

    .capabilities-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }

    .approach-grid {

        grid-template-columns: 1fr;
    }

    .approach-image {

        height: 230px;
    }

    .approach-list {

        border-left: 0;

        border-top: 1px solid #dce8f0;

        padding: 20px 0 0;
    }

    .footer-main {

        grid-template-columns: 1fr;

        text-align: center;
    }

    .footer-links {

        justify-content: center;
    }

    .footer-social {

        justify-content: center;
    }
}


@media (max-width: 768px) {

    .services-hero {

        min-height: 330px;
    }

    .services-hero-content {

        padding: 45px 20px;
    }

    .services-hero h1 {

        font-size: 31px;
    }

    .services-hero p {

        font-size: 13px;
    }

    .services-intro {

        padding: 40px 0;
    }

    .services-grid {

        grid-template-columns: 1fr;
    }

    .service-card-image {

        height: 180px;
    }

    .service-card h3 {

        font-size: 16px;
    }

    .service-card p {

        font-size: 12px;
    }

    .capabilities-grid {

        grid-template-columns: 1fr;
    }

    .capability-item {

        border-left: 0;

        border-top: 1px solid
            rgba(0,169,237,.4);

        padding: 18px 0 0;
    }

    .services-cta-content {

        flex-direction: column;

        align-items: flex-start;

        padding: 30px 0;
    }

    .services-cta {

        min-height: 180px;
    }

}


/* =========================================================
   RTL
========================================================= */

html[dir="rtl"] .services-page,
html[dir="rtl"] .services-hero,
html[dir="rtl"] .services-intro,
html[dir="rtl"] .services-list-section,
html[dir="rtl"] .services-capabilities,
html[dir="rtl"] .services-approach,
html[dir="rtl"] .services-cta {

    direction: rtl;
}

html[dir="rtl"] .services-hero-overlay {

    background:
        linear-gradient(
            270deg,
            rgba(1,24,46,.97) 0%,
            rgba(2,31,57,.88) 35%,
            rgba(2,31,57,.25) 75%,
            rgba(2,31,57,.08) 100%
        );
}

html[dir="rtl"] .section-kicker {

    flex-direction: row-reverse;

    justify-content: flex-start;
}

html[dir="rtl"] .service-read-more {

    flex-direction: row-reverse;
}

html[dir="rtl"] .capability-item {

    border-left: 0;

    border-right: 1px solid
        rgba(0,169,237,.55);

    padding-left: 0;

    padding-right: 22px;
}

html[dir="rtl"] .approach-list {

    border-left: 0;

    border-right: 1px solid #dce8f0;

    padding-left: 0;

    padding-right: 22px;
}

@media (max-width: 768px) {

    html[dir="rtl"] .capability-item {

        border-right: 0;

        border-top: 1px solid
            rgba(0,169,237,.4);

        padding-right: 0;
    }

    html[dir="rtl"] .approach-list {

        border-right: 0;

        padding-right: 0;
    }

}

/* =========================================================
   SDM GROUP — FINAL UNIFIED SYSTEM
   One custom stylesheet for index / about / services
   ========================================================= */
:root{
  --sdm-navy:#061a2f;
  --sdm-navy-2:#08233d;
  --sdm-blue:#159ee8;
  --sdm-cyan:#39c9ff;
  --sdm-text:#102846;
  --sdm-muted:#60738a;
  --sdm-light:#f4f9fc;
  --sdm-border:#dcebf5;
  --sdm-white:#fff;
}

html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'League Spartan',Arial,sans-serif;
  color:var(--sdm-text);
  background:#fff;
  overflow-x:hidden;
}
.site-wrap{overflow:hidden;}

/* ---------- Global spacing ---------- */
.site-section{padding:54px 0!important;}
.section-padding{padding:48px 0!important;}
.site-section > .container,
.about-us-section > .container,
.services-section > .container,
#trusted-section > .container,
#approach-section > .container,
#contact-section > .container{
  width:min(1180px,calc(100% - 48px));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.section-title{margin-bottom:14px!important;}
.row.mb-5{margin-bottom:24px!important;}

/* ---------- Unified navbar ---------- */
.premium-navbar,.about-navbar{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;
  height:64px!important;
  z-index:9999!important;
  background:rgba(4,22,40,.97)!important;
  border-bottom:1px solid rgba(72,190,244,.18)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.premium-navbar .container,.about-navbar .container{height:100%;}
.navbar-container,.about-navbar-inner{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.nav-brand img,.about-logo img{display:block!important;width:auto!important;height:46px!important;object-fit:contain;}
.nav-menu,.about-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:26px!important;
  flex:1!important;
  margin:0!important;
}
.nav-link,.about-nav a{
  position:relative!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:600!important;
  padding:22px 0 19px!important;
  opacity:.96;
}
.nav-link::after,.about-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;
  background:var(--sdm-cyan);transform:scaleX(0);transition:.25s ease;
}
.nav-link:hover::after,.nav-link.active::after,
.about-nav a:hover::after,.about-nav a.active::after{transform:scaleX(1);}
.nav-link:hover,.nav-link.active,.about-nav a:hover,.about-nav a.active{color:var(--sdm-cyan)!important;}
.nav-actions,.about-nav-actions{display:flex!important;align-items:center!important;gap:10px!important;}
.lang-switcher,.about-lang-switcher{display:flex;align-items:center;gap:7px;}
.lang-btn,.about-lang-btn{
  min-width:38px!important;height:32px!important;padding:0 9px!important;
  border:1px solid rgba(255,255,255,.3)!important;border-radius:6px!important;
  background:transparent!important;color:#fff!important;font-size:12px!important;font-weight:700!important;
  cursor:pointer;transition:.25s ease;
}
.lang-btn:hover,.lang-btn.active,.about-lang-btn:hover,.about-lang-btn.active{
  background:var(--sdm-blue)!important;border-color:var(--sdm-blue)!important;color:#fff!important;
}
.mobile-toggle,.about-mobile-toggle{
  display:none!important;border:0!important;background:transparent!important;
  width:38px!important;height:38px!important;padding:6px!important;cursor:pointer;
}
.mobile-toggle .bar,.about-mobile-toggle span{
  display:block!important;height:2px!important;margin:5px 0!important;background:#fff!important;transition:.25s ease;
}
.mobile-toggle.active .bar:nth-child(1),.about-mobile-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mobile-toggle.active .bar:nth-child(2),.about-mobile-toggle.active span:nth-child(2){opacity:0;}
.mobile-toggle.active .bar:nth-child(3),.about-mobile-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Index hero ---------- */
.home-section{position:relative;min-height:100vh;height:100vh;padding:0!important;margin:0;overflow:hidden;background:var(--sdm-navy);}
#heroCarousel,#heroCarousel .carousel-inner,#heroCarousel .carousel-item{width:100vw!important;height:100vh!important;min-height:100vh!important;}
#heroCarousel{position:relative!important;margin:0!important;direction:ltr!important;overflow:hidden;}
#heroCarousel .carousel-inner{position:relative;overflow:hidden;}
#heroCarousel .carousel-item{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;direction:ltr!important;}
#heroCarousel .carousel-item::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,18,34,.82),rgba(3,18,34,.48) 45%,rgba(3,18,34,.24));}
.service-image{position:absolute!important;inset:0!important;width:100vw!important;height:100vh!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;z-index:0!important;transform:none!important;}
#heroCarousel .home-title-main,#heroCarousel .home-title-sub,#heroCarousel .carousel-item>p{position:relative!important;z-index:3!important;width:min(1050px,88%);margin-left:auto!important;margin-right:auto!important;}
.home-title-main{margin:28px 0 12px!important;color:#55D6D6!important;-webkit-text-fill-color:#55D6D6!important;font-size:clamp(34px,4.2vw,64px)!important;line-height:1.03!important;font-weight:700!important;letter-spacing:-1.3px!important;text-shadow:0 4px 18px rgba(0,0,0,.4);}
.home-title-sub{color:#f5fbff!important;font-size:clamp(16px,1.45vw,22px)!important;line-height:1.35!important;font-weight:400!important;max-width:850px!important;text-shadow:0 2px 12px rgba(0,0,0,.45);}
#heroCarousel .btn-outline-white{border:1px solid #fff!important;border-radius:30px!important;padding:10px 24px!important;background:transparent!important;color:#fff!important;font-size:13px;font-weight:600;}
#heroCarousel .btn-outline-white:hover{background:var(--sdm-blue)!important;border-color:var(--sdm-blue)!important;}
html[dir="rtl"] #heroCarousel,html[dir="rtl"] #heroCarousel .carousel-inner,html[dir="rtl"] #heroCarousel .carousel-item{direction:ltr!important;float:none!important;margin-left:0!important;margin-right:0!important;}
html[dir="rtl"] #heroCarousel .home-title-main,html[dir="rtl"] #heroCarousel .home-title-sub,html[dir="rtl"] #heroCarousel .carousel-item>p{direction:rtl!important;text-align:center!important;}

/* ---------- About/index shared ---------- */
.about-us-section{background:#fff;}
.about-us-section #aboutTitle{color:var(--sdm-blue)!important;font-size:12px!important;letter-spacing:1.4px!important;}
.about-us-section p{font-size:14px!important;line-height:1.6!important;color:#324b68;}
.about-overview-text p{margin-bottom:11px!important;}
.read-more-link{display:inline-flex;align-items:center;gap:7px;color:var(--sdm-blue)!important;text-decoration:none!important;font-size:14px;font-weight:700;}
.read-more-arrows{font-size:17px;letter-spacing:-4px;}


/* ---------- Contact: no map ---------- */
#contact-section{background:#f4f9fc!important;}
.sdm-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch;}
.sdm-contact-form,.sdm-contact-info{background:#fff;border:1px solid var(--sdm-border);border-radius:10px;box-shadow:0 12px 32px rgba(6,35,61,.06);padding:28px;}
.sdm-contact-form .form-group{margin-bottom:14px;}
.sdm-contact-form label{display:block;color:var(--sdm-navy);font-size:12px;font-weight:700;margin-bottom:6px;}
.sdm-contact-form .form-control{width:100%;box-sizing:border-box;border:1px solid #d7e4ee;border-radius:6px;min-height:44px;padding:10px 12px;color:var(--sdm-text);font-family:inherit;}
.sdm-contact-form textarea.form-control{min-height:125px;resize:vertical;}
.sdm-contact-form .form-control:focus{outline:none;border-color:var(--sdm-blue);box-shadow:0 0 0 3px rgba(21,158,232,.1);}
.sdm-contact-submit{border:0;background:var(--sdm-blue)!important;color:#fff!important;border-radius:25px!important;padding:11px 24px!important;font-weight:700;}
.sdm-contact-info h4{margin:0 0 18px;color:var(--sdm-navy);font-size:20px;}
.sdm-contact-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf3f7;}
.sdm-contact-item:last-child{border-bottom:0;}
.sdm-contact-item i{color:var(--sdm-blue);font-size:18px;flex:0 0 20px;margin-top:2px;}
.sdm-contact-item strong{display:block;color:var(--sdm-navy);font-size:12px;margin-bottom:3px;}
.sdm-contact-item span,.sdm-contact-item a{color:#536b80;font-size:13px;line-height:1.5;text-decoration:none;}

/* ---------- Services page ---------- */
.services-hero{min-height:255px!important;margin-top:0;}
.services-intro{padding:28px 0!important;}
.services-list-section{padding:42px 0!important;}
.services-capabilities{padding:46px 0!important;}
.services-approach{padding:46px 0!important;}
.services-cta{padding:36px 0!important;}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.service-card{background:#f7fbfe;border:1px solid #deedf6;border-radius:9px;overflow:hidden;box-shadow:0 6px 20px rgba(6,35,61,.05);transition:.3s ease;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(6,35,61,.09);}
.service-card-image{height:150px;overflow:hidden;}
.service-card-image img{width:100%;height:100%;object-fit:cover;display:block;}
.service-card-content{padding:17px 17px 18px;}
.service-number{color:var(--sdm-blue);font-size:13px;font-weight:800;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;}
.service-number i{font-size:18px;}
.service-card h3{font-size:17px!important;line-height:1.2!important;margin:0 0 9px!important;color:var(--sdm-navy)!important;}
.service-card p{font-size:12px!important;line-height:1.5!important;color:#60738a!important;margin:0 0 12px!important;}
.service-read-more{display:inline-flex;gap:7px;align-items:center;color:var(--sdm-blue)!important;font-size:12px;font-weight:700;text-decoration:none!important;}
.capabilities-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:26px;align-items:center;}
.services-approach .approach-grid{display:grid;grid-template-columns:.9fr 1.2fr .8fr;gap:28px;align-items:center;}
.approach-image{height:210px;overflow:hidden;border-radius:8px;}
.approach-image img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- Footer unified and compact ---------- */
.site-footer,.about-footer{margin:0!important;padding:26px 0 16px!important;background:var(--sdm-navy)!important;color:#fff!important;border-top:1px solid rgba(57,201,255,.16);}
.footer-main{display:grid!important;grid-template-columns:1fr 1.5fr .7fr!important;align-items:center!important;gap:25px!important;}
.footer-brand img{width:92px!important;height:auto!important;margin-bottom:10px;}
.footer-brand p{margin:0!important;color:rgba(255,255,255,.68)!important;font-size:11px!important;}
.footer-links{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:18px!important;}
.footer-links a{color:#fff!important;font-size:12px!important;text-decoration:none!important;opacity:.9;}
.footer-links a:hover{color:var(--sdm-cyan)!important;}
.footer-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:15px!important;}
.footer-actions .about-lang-switcher{display:none!important;}
.footer-social{display:flex!important;gap:13px!important;}
.footer-social a{color:#fff!important;font-size:15px!important;text-decoration:none!important;}
.footer-social a:hover{color:var(--sdm-cyan)!important;}
.footer-bottom{margin-top:13px!important;padding-top:11px!important;border-top:1px solid rgba(255,255,255,.10)!important;display:flex!important;justify-content:center!important;gap:9px!important;color:rgba(255,255,255,.55)!important;font-size:11px!important;text-align:center!important;}
.footer-bottom span{display:inline!important;}

/* ---------- Hide duplicate language controls in mobile header; show them only inside overlay ---------- */
.mobile-menu-overlay,.about-mobile-menu{display:none;}

/* ---------- Mobile ---------- */
@media(max-width:991px){
  .nav-menu,.about-nav{gap:18px!important;}
  .nav-link,.about-nav a{font-size:12px!important;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .capabilities-grid{grid-template-columns:1fr 1fr;}
  .services-approach .approach-grid{grid-template-columns:1fr 1fr;}
  .services-approach .approach-list{grid-column:1/-1;}
}
@media(max-width:768px){
  .site-section{padding:38px 0!important;}
  .section-padding{padding:34px 0!important;}
  .site-section > .container,.about-us-section > .container,.services-section > .container,#trusted-section > .container,#approach-section > .container,#contact-section > .container{width:min(100% - 30px,620px)!important;}
  .premium-navbar,.about-navbar{height:58px!important;}
  .navbar-container,.about-navbar-inner{height:58px!important;}
  .nav-brand img,.about-logo img{height:43px!important;}
  .nav-menu,.about-nav{display:none!important;}
  .nav-actions,.about-nav-actions{gap:0!important;}
  .nav-actions>.lang-switcher,.about-nav-actions>.about-lang-switcher{display:none!important;}
  .mobile-toggle,.about-mobile-toggle{display:block!important;}
  .mobile-menu-overlay,.about-mobile-menu{
    position:fixed!important;top:58px!important;left:0!important;right:0!important;bottom:0!important;
    z-index:9998!important;display:flex!important;flex-direction:column!important;align-items:center!important;
    gap:0!important;padding:18px 24px 28px!important;background:rgba(4,22,40,.985)!important;
    opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s ease;overflow-y:auto;
  }
  .mobile-menu-overlay.active,.about-mobile-menu.active{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;}
  .mobile-lang-switcher,.about-mobile-menu>.about-lang-switcher{display:flex!important;order:0!important;margin-bottom:10px!important;}
  .mobile-nav-link,.about-mobile-menu>a{display:block!important;width:min(420px,100%)!important;padding:13px 0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:#fff!important;text-decoration:none!important;text-align:center!important;font-size:16px!important;font-weight:600!important;}
  .mobile-nav-link:hover,.about-mobile-menu>a:hover{color:var(--sdm-cyan)!important;}
  body.menu-open{overflow:hidden!important;}
  .home-section,#heroCarousel,#heroCarousel .carousel-inner,#heroCarousel .carousel-item{height:100svh!important;min-height:100svh!important;}
  .home-title-main{width:92%!important;font-size:31px!important;line-height:1.08!important;margin-top:15px!important;}
  .home-title-sub{width:88%!important;font-size:15px!important;}
  #heroCarousel .btn-outline-white{padding:9px 21px!important;}
  .sdm-approach-grid,.sdm-contact-grid{grid-template-columns:1fr;gap:22px;}
  .sdm-approach-visual{height:210px;}
  .sdm-approach-points{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;gap:15px;}
  .services-intro-grid{grid-template-columns:1fr!important;gap:20px!important;}
  .services-intro-image{height:190px!important;}
  .capabilities-grid{grid-template-columns:1fr;gap:18px;}
  .services-approach .approach-grid{grid-template-columns:1fr;}
  .approach-image{height:200px;}
  .footer-main{grid-template-columns:1fr!important;text-align:center!important;gap:14px!important;}
  .footer-brand img{margin-left:auto;margin-right:auto;}
  .footer-links{gap:12px 16px!important;}
  .footer-actions{justify-content:center!important;}
  .footer-bottom{margin-top:9px!important;padding-top:9px!important;}
}
@media(max-width:480px){
  .home-title-main{font-size:27px!important;}
  .home-title-sub{font-size:14px!important;}
  .services-hero{min-height:330px!important;}
  .services-hero-content{padding:35px 0!important;}
}
/* =========================================================
   SDM GROUP — VIDEO HERO
   ========================================================= */

.video-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 680px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #172326;
    padding: 0 !important;
    margin: 0 !important;
}

/* VIDEO */
.hero-video-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.hero-background-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center center;
}

/* OVERLAY */
.hero-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(15, 31, 34, 0.86) 0%,
            rgba(15, 31, 34, 0.62) 38%,
            rgba(15, 31, 34, 0.38) 68%,
            rgba(15, 31, 34, 0.58) 100%
        );
}

/* SUBTLE TURQUOISE LIGHT */
.hero-video-overlay::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(85, 214, 214, 0.10),
            transparent 55%
        );

    pointer-events: none;
}

/* CONTENT */
.hero-video-content {
    position: relative;
    z-index: 3;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    padding-top: 70px;
}

/* KICKER */
.hero-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    margin-bottom: 25px;

    color: #55D6D6;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;

    animation: heroFadeDown 1s ease both;
}

.hero-kicker span {
    width: 42px;
    height: 1px;
    background: #55D6D6;
    opacity: .75;
}

/* MAIN TITLE */
.hero-video-title {
    margin: 0 auto;

    color: #ffffff !important;

    font-size: clamp(42px, 6vw, 86px) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;

    letter-spacing: -2px;

    text-transform: uppercase;

    text-shadow:
        0 4px 25px rgba(0, 0, 0, .30);

    animation: heroTitleReveal 1.2s cubic-bezier(.22, 1, .36, 1) both;
}

/* TURQUOISE EMPHASIS */
.hero-video-title::first-line {
    color: #ffffff;
}

/* SUBTITLE */
.hero-video-subtitle {
    max-width: 760px;
    margin: 30px auto 0;

    color: rgba(255, 255, 255, .90) !important;

    font-size: clamp(17px, 1.5vw, 21px) !important;
    line-height: 1.7 !important;
    font-weight: 400;

    animation: heroFadeUp 1s .25s ease both;
}

/* CTA */
.hero-video-actions {
    margin-top: 42px;

    animation: heroFadeUp 1s .45s ease both;
}

.hero-video-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    min-height: 54px;
    padding: 14px 28px;

    border: 1px solid rgba(85, 214, 214, .85);
    border-radius: 2px;

    color: #ffffff !important;
    background: rgba(32, 138, 146, .12);

    font-size: 15px;
    font-weight: 700;
    letter-spacing: .5px;

    text-decoration: none !important;

    backdrop-filter: blur(4px);

    transition:
        background .35s ease,
        border-color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}

.hero-video-btn:hover {
    color: #ffffff !important;

    background: #208A92;

    border-color: #55D6D6;

    transform: translateY(-4px);

    box-shadow:
        0 12px 35px rgba(32, 138, 146, .30);
}

.hero-btn-arrow {
    display: inline-block;

    font-size: 25px;
    line-height: 1;

    transition: transform .3s ease;
}

.hero-video-btn:hover .hero-btn-arrow {
    transform: translateX(6px);
}

/* SCROLL INDICATOR */
.hero-scroll-indicator {
    position: absolute;

    z-index: 4;

    left: 50%;
    bottom: 30px;

    transform: translateX(-50%);

    display: flex;
    flex-direction: column;
    align-items: center;

    color: rgba(255, 255, 255, .75) !important;

    text-decoration: none !important;

    animation: heroScrollPulse 2.5s infinite;
}

.scroll-text {
    margin-bottom: 9px;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.scroll-line {
    position: relative;

    display: block;

    width: 1px;
    height: 45px;

    background: rgba(255, 255, 255, .45);

    overflow: hidden;
}

.scroll-line::after {
    content: "";

    position: absolute;
    top: -100%;
    left: 0;

    width: 1px;
    height: 50%;

    background: #55D6D6;

    animation: scrollLineMove 1.8s infinite ease-in-out;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes heroTitleReveal {

    0% {
        opacity: 0;
        transform: translateY(35px) scale(.98);
        letter-spacing: 8px;
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        letter-spacing: -2px;
    }
}

@keyframes heroFadeUp {

    0% {
        opacity: 0;
        transform: translateY(25px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroFadeDown {

    0% {
        opacity: 0;
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scrollLineMove {

    0% {
        top: -100%;
    }

    100% {
        top: 150%;
    }
}

@keyframes heroScrollPulse {

    0%,
    100% {
        opacity: .65;
    }

    50% {
        opacity: 1;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .video-hero {
        min-height: 650px;
        height: 100svh;
    }

    .hero-background-video {
        object-position: center center;
    }

    .hero-video-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(15, 31, 34, .72),
                rgba(15, 31, 34, .62) 50%,
                rgba(15, 31, 34, .84)
            );
    }

    .hero-video-content {
        padding: 60px 20px 90px;
    }

    .hero-kicker {
        gap: 10px;
        margin-bottom: 20px;

        font-size: 11px;
        letter-spacing: 3px;
    }

    .hero-kicker span {
        width: 25px;
    }

    .hero-video-title {
        font-size: clamp(34px, 10vw, 52px) !important;
        line-height: 1.08 !important;
        letter-spacing: -1px;
    }

    .hero-video-subtitle {
        margin-top: 22px;

        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    .hero-video-actions {
        margin-top: 30px;
    }

    .hero-video-btn {
        min-height: 50px;
        padding: 12px 21px;

        font-size: 14px;
    }

    .hero-scroll-indicator {
        bottom: 18px;
    }

    .scroll-line {
        height: 30px;
    }
}


/* =========================================================
   RTL / ARABIC
   ========================================================= */

html[dir="rtl"] .hero-video-content,
body.rtl .hero-video-content {
    direction: rtl;
}

html[dir="rtl"] .hero-video-btn:hover .hero-btn-arrow,
body.rtl .hero-video-btn:hover .hero-btn-arrow {
    transform: translateX(-6px);
}


/* =========================================================
   REDUCE MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hero-video-title,
    .hero-video-subtitle,
    .hero-video-actions,
    .hero-kicker,
    .hero-scroll-indicator {
        animation: none !important;
    }

    .hero-background-video {
        animation: none !important;
    }
}


/* =========================================================
   SDM GROUP — MODERN ABOUT SECTION
   ========================================================= */

.about-us-section {
    position: relative;

    padding-top: 95px !important;
    padding-bottom: 100px !important;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fcfc 100%
        );

    overflow: hidden;
}


/* DECORATIVE BACKGROUND */
.about-us-section::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -180px;
    top: 50%;

    transform: translateY(-50%);

    border: 1px solid rgba(32, 138, 146, .08);
    border-radius: 50%;

    pointer-events: none;
}

.about-us-section::after {
    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    left: -150px;
    bottom: -130px;

    border: 1px solid rgba(214, 165, 42, .10);
    border-radius: 50%;

    pointer-events: none;
}


/* MAIN GRID */
.about-modern {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, .92fr)
        minmax(0, 1.08fr);

    gap: 85px;

    align-items: center;

    z-index: 2;
}


/* =========================================================
   IMAGE SIDE
   ========================================================= */

.about-visual {
    position: relative;

    padding: 0 0 35px 25px;
}

.about-image-main {
    position: relative;

    width: 100%;

    overflow: hidden;

    border-radius: 3px;

    box-shadow:
        0 25px 60px rgba(30, 55, 58, .16);
}

.about-image-main::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(32, 138, 146, .10),
            transparent 55%
        );

    pointer-events: none;
}

.about-image-main img {
    display: block;

    width: 100%;
    height: 500px;

    object-fit: cover;

    transition:
        transform .7s ease,
        filter .7s ease;
}

.about-visual:hover .about-image-main img {
    transform: scale(1.035);

    filter: saturate(1.08);
}


/* GOLD/TURQUOISE FRAME */
.about-visual::before {
    content: "";

    position: absolute;

    left: 0;
    top: 25px;

    width: 100%;
    height: 500px;

    border: 1px solid #55D6D6;

    opacity: .55;

    z-index: -1;
}


/* DECORATIVE ACCENT */
.about-visual-accent {
    position: absolute;

    left: 0;
    bottom: 0;

    width: 95px;
    height: 95px;

    background:
        linear-gradient(
            135deg,
            #208A92,
            #55D6D6
        );

    z-index: 1;
}

.about-visual-accent::after {
    content: "";

    position: absolute;

    width: 42px;
    height: 42px;

    right: -22px;
    top: -22px;

    border: 2px solid #D6A52A;
}


/* FLOATING CARD */
.about-floating-card {
    position: absolute;

    right: -25px;
    bottom: 15px;

    min-width: 205px;

    display: flex;
    align-items: center;
    gap: 15px;

    padding: 18px 22px;

    background: rgba(255, 255, 255, .97);

    border-left: 3px solid #208A92;

    box-shadow:
        0 15px 40px rgba(30, 55, 58, .15);

    z-index: 3;
}

.about-floating-line {
    width: 3px;
    height: 38px;

    background: #D6A52A;
}

.about-floating-card strong {
    display: block;

    color: #208A92;

    font-size: 21px;
    font-weight: 800;

    letter-spacing: 2px;
}

.about-floating-card small {
    display: block;

    margin-top: 3px;

    color: #6C7D80;

    font-size: 12px;
    font-weight: 600;

    letter-spacing: .3px;
}


/* =========================================================
   CONTENT SIDE
   ========================================================= */

.about-content {
    position: relative;

    padding: 10px 0;
}


/* EYEBROW */
.about-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 14px;

    color: #208A92;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.about-eyebrow > span:first-child {
    display: block;

    width: 38px;
    height: 2px;

    background: #D6A52A;
}


/* TITLE */
.about-main-title {
    margin: 0;

    color: #30383C !important;

    font-size: clamp(38px, 4vw, 58px) !important;

    line-height: 1.05 !important;

    font-weight: 800 !important;

    letter-spacing: -1.5px;
}


/* TITLE LINE */
.about-title-line {
    width: 70px;
    height: 3px;

    margin: 23px 0 28px;

    background:
        linear-gradient(
            90deg,
            #208A92 0%,
            #55D6D6 70%,
            #D6A52A 70%,
            #D6A52A 100%
        );
}


/* PARAGRAPHS */
.about-intro {
    margin-bottom: 20px;

    color: #34464A !important;

    font-size: 17px !important;

    line-height: 1.75 !important;

    font-weight: 500;
}

.about-description {
    margin-bottom: 30px;

    color: #6C7D80 !important;

    font-size: 16px !important;

    line-height: 1.75 !important;
}


/* =========================================================
   HIGHLIGHTS
   ========================================================= */

.about-highlights {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;

    margin-top: 28px;
}

.about-highlight {
    min-height: 83px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px 12px;

    background: #ffffff;

    border: 1px solid #D7E7E8;

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.about-highlight:hover {
    transform: translateY(-5px);

    border-color: #55D6D6;

    box-shadow:
        0 12px 30px rgba(32, 138, 146, .11);
}


/* NUMBER */
.about-highlight-icon {
    flex: 0 0 37px;

    width: 37px;
    height: 37px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #55D6D6;

    color: #208A92;

    font-size: 11px;
    font-weight: 800;

    transition:
        background .3s ease,
        color .3s ease;
}

.about-highlight:hover .about-highlight-icon {
    background: #208A92;

    color: #ffffff;
}

.about-highlight strong {
    display: block;

    margin-bottom: 3px;

    color: #30383C;

    font-size: 14px;
    font-weight: 800;
}

.about-highlight small {
    display: block;

    color: #6C7D80;

    font-size: 11px;

    line-height: 1.45;
}


/* CTA */
.about-cta {
    margin-top: 30px;
}

.about-cta .read-more-link {
    color: #208A92 !important;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: .3px;

    text-decoration: none !important;

    transition: color .3s ease;
}

.about-cta .read-more-link:hover {
    color: #D6A52A !important;
}

.about-cta .read-more-arrows {
    margin-left: 6px;

    color: #D6A52A;

    transition:
        transform .3s ease;
}

.about-cta .read-more-link:hover .read-more-arrows {
    display: inline-block;

    transform: translateX(7px);
}


/* =========================================================
   RTL
   ========================================================= */

html[dir="rtl"] .about-modern,
body.rtl .about-modern {
    direction: rtl;
}

html[dir="rtl"] .about-eyebrow,
body.rtl .about-eyebrow {
    flex-direction: row-reverse;
}

html[dir="rtl"] .about-title-line,
body.rtl .about-title-line {
    margin-right: 0;
    margin-left: auto;

    background:
        linear-gradient(
            270deg,
            #208A92 0%,
            #55D6D6 70%,
            #D6A52A 70%,
            #D6A52A 100%
        );
}

html[dir="rtl"] .about-visual,
body.rtl .about-visual {
    padding-left: 25px;
    padding-right: 0;
}

html[dir="rtl"] .about-floating-card,
body.rtl .about-floating-card {
    right: auto;
    left: -25px;

    border-left: none;
    border-right: 3px solid #208A92;
}

html[dir="rtl"] .about-highlight,
body.rtl .about-highlight {
    direction: rtl;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .about-modern {
        grid-template-columns: 1fr;

        gap: 55px;
    }

    .about-visual {
        max-width: 680px;

        margin: 0 auto;

        width: 100%;
    }

    .about-content {
        max-width: 760px;

        margin: 0 auto;
    }

    .about-image-main img {
        height: 460px;
    }

    .about-visual::before {
        height: 460px;
    }

    .about-highlights {
        grid-template-columns:
            repeat(3, 1fr);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .about-us-section {
        padding-top: 65px !important;
        padding-bottom: 70px !important;
    }

    .about-modern {
        gap: 42px;
    }

    .about-visual {
        padding-left: 12px;
        padding-bottom: 28px;
    }

    .about-image-main img {
        height: 340px;
    }

    .about-visual::before {
        top: 14px;

        height: 340px;
    }

    .about-floating-card {
        right: -5px;
        bottom: 5px;

        min-width: 175px;

        padding: 13px 16px;
    }

    .about-floating-card strong {
        font-size: 18px;
    }

    .about-floating-card small {
        font-size: 10px;
    }

    .about-visual-accent {
        width: 65px;
        height: 65px;
    }

    .about-main-title {
        font-size: 40px !important;
    }

    .about-intro {
        font-size: 16px !important;
    }

    .about-description {
        font-size: 15px !important;
    }

    .about-highlights {
        grid-template-columns: 1fr;

        gap: 9px;
    }

    .about-highlight {
        min-height: 70px;
    }

    .about-cta {
        margin-top: 25px;
    }

    html[dir="rtl"] .about-visual,
    body.rtl .about-visual {
        padding-right: 12px;
        padding-left: 0;
    }

    html[dir="rtl"] .about-floating-card,
    body.rtl .about-floating-card {
        left: -5px;
        right: auto;
    }
}

/* =========================================================
   SDM GROUP — NOS ENGAGEMENTS
   ========================================================= */

.sdm-commitments-section {
    position: relative;
    padding: 115px 0;
    background: #ffffff;
    overflow: hidden;
}

/* Fine ligne décorative */

.sdm-commitments-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #D7E7E8;
}

/* =========================================================
   LAYOUT
   ========================================================= */

.sdm-commitments-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    align-items: center;
    gap: 90px;
}

/* =========================================================
   TEXTE
   ========================================================= */

.sdm-commitments-content {
    max-width: 690px;
}

.sdm-section-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;

    color: #208A92;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.8px;
    line-height: 1;
}

.sdm-section-eyebrow span {
    width: 34px;
    height: 2px;
    background: #D6A52A;
    flex-shrink: 0;
}

.sdm-commitments-title {
    margin: 0 0 25px;

    color: #30383C;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.sdm-commitments-intro {
    max-width: 620px;
    margin: 0 0 45px;

    color: #6C7D80;
    font-size: 17px;
    line-height: 1.85;
}

/* =========================================================
   LISTE DES ENGAGEMENTS
   ========================================================= */

.sdm-commitments-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid #D7E7E8;
}

.sdm-commitment-item {
    display: flex;
    gap: 18px;
    padding: 25px 22px 25px 0;
    border-bottom: 1px solid #D7E7E8;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}

.sdm-commitment-item:nth-child(odd) {
    border-right: 1px solid #D7E7E8;
    padding-right: 25px;
}

.sdm-commitment-item:nth-child(even) {
    padding-left: 25px;
}

.sdm-commitment-item:hover {
    transform: translateX(5px);
}

.sdm-commitment-number {
    flex-shrink: 0;

    color: #55D6D6;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
}

.sdm-commitment-text h3 {
    margin: 0 0 7px;

    color: #30383C;
    font-size: 19px;
    font-weight: 700;
}

.sdm-commitment-text p {
    margin: 0;

    color: #718286;
    font-size: 14px;
    line-height: 1.65;
}

/* =========================================================
   VISUEL CORPORATE
   ========================================================= */

.sdm-commitments-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sdm-commitments-frame {
    position: relative;

    width: min(100%, 520px);
    aspect-ratio: 1 / 1;

    background:
        linear-gradient(
            135deg,
            #f4fafa 0%,
            #ffffff 50%,
            #edf7f7 100%
        );

    border: 1px solid #D7E7E8;

    overflow: hidden;
}

/* Grille technique */

.sdm-commitments-grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(32, 138, 146, 0.07) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(32, 138, 146, 0.07) 1px,
            transparent 1px
        );

    background-size: 38px 38px;
}

/* =========================================================
   ORBITES
   ========================================================= */

.sdm-commitments-orbit {
    position: absolute;

    left: 50%;
    top: 50%;

    border: 1px solid rgba(32, 138, 146, 0.20);
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.orbit-one {
    width: 285px;
    height: 285px;
}

.orbit-two {
    width: 405px;
    height: 405px;

    border-color: rgba(214, 165, 42, 0.18);
}

/* =========================================================
   CENTRE
   ========================================================= */

.sdm-commitments-center {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 185px;
    height: 185px;

    transform: translate(-50%, -50%);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.94);

    border: 1px solid rgba(32, 138, 146, 0.28);

    box-shadow:
        0 20px 50px rgba(48, 56, 60, 0.10);

    text-align: center;
}

.sdm-center-small {
    margin-bottom: 1px;

    color: #208A92;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 4px;
}

.sdm-commitments-center strong {
    color: #30383C;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 2px;
}

.sdm-center-caption {
    margin-top: 10px;

    color: #8A999C;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.6;
}

.sdm-center-line {
    width: 35px;
    height: 1px;
    margin: 8px 0;

    background: #D6A52A;
}

/* =========================================================
   LABELS TECHNIQUES
   ========================================================= */

.sdm-tech-label {
    position: absolute;

    color: #208A92;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;

    opacity: 0.75;
}

.label-top {
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
}

.label-right {
    top: 50%;
    right: 27px;
    transform: translateY(-50%) rotate(90deg);
}

.label-bottom {
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
}

.label-left {
    top: 50%;
    left: 27px;
    transform: translateY(-50%) rotate(-90deg);
}

/* =========================================================
   PETITS REPÈRES TECHNIQUES
   ========================================================= */

.sdm-cross {
    position: absolute;
    width: 15px;
    height: 15px;
}

.sdm-cross::before,
.sdm-cross::after {
    content: "";
    position: absolute;
    background: #D6A52A;
}

.sdm-cross::before {
    width: 15px;
    height: 1px;
    top: 7px;
    left: 0;
}

.sdm-cross::after {
    width: 1px;
    height: 15px;
    top: 0;
    left: 7px;
}

.cross-one {
    top: 28px;
    left: 28px;
}

.cross-two {
    right: 28px;
    bottom: 28px;
}

/* =========================================================
   HOVER
   ========================================================= */

.sdm-commitments-frame {
    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}

.sdm-commitments-frame:hover {
    transform: translateY(-6px);

    box-shadow:
        0 25px 65px rgba(32, 138, 146, 0.12);
}

.sdm-commitments-frame:hover .orbit-one {
    border-color: rgba(32, 138, 146, 0.35);
}

.sdm-commitments-frame:hover .orbit-two {
    border-color: rgba(214, 165, 42, 0.30);
}

/* =========================================================
   RTL
   ========================================================= */

html[dir="rtl"] .sdm-commitments-layout {
    direction: rtl;
}

html[dir="rtl"] .sdm-commitments-content {
    text-align: right;
}

html[dir="rtl"] .sdm-section-eyebrow {
    flex-direction: row-reverse;
}

html[dir="rtl"] .sdm-commitment-item {
    text-align: right;
}

html[dir="rtl"] .sdm-commitment-item:hover {
    transform: translateX(-5px);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .sdm-commitments-layout {
        gap: 55px;
    }

    .sdm-commitments-title {
        font-size: 45px;
    }

    .sdm-commitments-grid {
        grid-template-columns: 1fr;
    }

    .sdm-commitment-item:nth-child(odd) {
        border-right: none;
        padding-right: 0;
    }

    .sdm-commitment-item:nth-child(even) {
        padding-left: 0;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .sdm-commitments-section {
        padding: 75px 0;
    }

    .sdm-commitments-layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .sdm-commitments-title {
        font-size: 36px;
        letter-spacing: -0.8px;
    }

    .sdm-commitments-intro {
        margin-bottom: 35px;
        font-size: 15px;
        line-height: 1.75;
    }

    .sdm-commitments-list {
        grid-template-columns: 1fr;
    }

    .sdm-commitment-item {
        padding: 20px 0 !important;
        border-right: none !important;
    }

    .sdm-commitment-item:hover {
        transform: none;
    }

    .sdm-commitment-text h3 {
        font-size: 18px;
    }

    .sdm-commitment-text p {
        font-size: 13px;
    }

    .sdm-commitments-frame {
        width: 100%;
        max-width: 430px;
    }

    .orbit-one {
        width: 230px;
        height: 230px;
    }

    .orbit-two {
        width: 330px;
        height: 330px;
    }

    .sdm-commitments-center {
        width: 155px;
        height: 155px;
    }

    .sdm-commitments-center strong {
        font-size: 23px;
    }

    .label-right {
        right: 15px;
    }

    .label-left {
        left: 15px;
    }
}

/* =========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .sdm-commitment-item,
    .sdm-commitments-frame {
        transition: none;
    }
}

.ecosystem-card {
    display: flex;
    flex-direction: column;
    position: relative;
}

.ecosystem-card-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ecosystem-card h4 {
    min-height: 52px;
    margin: 20px 0 10px;
    display: flex;
    align-items: flex-start;
}

.ecosystem-card p {
    min-height: 52px;
    margin: 0;
}

.ecosystem-card > span {
    margin-top: auto;
    flex-shrink: 0;
}

html[dir="rtl"] .ecosystem-card {
    text-align: right;
}

/* =========================================================
   SDM GROUP — AUGMENTATION GLOBALE DES TYPOGRAPHIES
   ========================================================= */

/* BASE */
html {
    font-size: 17px;
}

body {
    font-size: 17px;
    line-height: 1.7;
}

/* PARAGRAPHES */
p {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

li,
address {
    font-size: 16px;
    line-height: 1.7;
}

/* NAVIGATION */
.nav-link,
.about-nav a {
    font-size: 15px !important;
}

.lang-btn,
.about-lang-btn {
    font-size: 13px !important;
}

/* MENU MOBILE */
.mobile-nav-link,
.about-mobile-menu > a {
    font-size: 18px !important;
}

/* PETITS TITRES / EYEBROW */
.about-eyebrow,
.section-eyebrow,
.section-kicker,
.sdm-section-label {
    font-size: 14px !important;
    letter-spacing: 2px;
}

/* TITRES PRINCIPAUX */
h1 {
    font-size: clamp(40px, 5vw, 64px);
}

h2 {
    font-size: 32px;
    line-height: 1.2;
}

h3 {
    font-size: 23px;
    line-height: 1.3;
}

h4 {
    font-size: 19px;
    line-height: 1.35;
}

/* HERO HOME */
.home-title-main {
    font-size: clamp(38px, 4.5vw, 70px) !important;
}

.home-title-sub {
    font-size: clamp(18px, 1.6vw, 25px) !important;
}

/* HERO ABOUT */
.about-hero h1 {
    font-size: clamp(46px, 5.5vw, 64px) !important;
}

.about-hero p {
    font-size: 20px !important;
    line-height: 1.5 !important;
}

/* HERO SERVICES */
.services-hero h1 {
    font-size: 44px !important;
}

.services-hero p {
    font-size: 18px !important;
    line-height: 1.55 !important;
}

/* ABOUT */
.about-us-section p {
    font-size: 17px !important;
    line-height: 1.75 !important;
}

.read-more-link {
    font-size: 16px !important;
}

/* SERVICES */
.sdm-services-intro,
.sdm-services-intro p {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

.sdm-service-card h3 {
    font-size: 21px !important;
}

.sdm-service-card p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.sdm-services-link {
    font-size: 16px !important;
}

/* SERVICES PAGE */
.services-intro-content h2,
.services-section-heading h2 {
    font-size: 32px !important;
}

.services-intro-content p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.service-card h3 {
    font-size: 21px !important;
}

.service-card p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.services-primary-btn {
    font-size: 15px !important;
}

/* COMPTEURS */
.section-counter .number {
    font-size: 48px !important;
}

.section-counter .caption {
    font-size: 15px !important;
}

/* FOOTER */
.footer-brand p {
    font-size: 15px !important;
    line-height: 1.6;
}

.footer-links a {
    font-size: 15px !important;
}

.footer-social a {
    font-size: 19px !important;
}

.footer-bottom {
    font-size: 13px !important;
}

/* FORMULAIRES */
label,
.form-label {
    font-size: 15px !important;
}

input,
textarea,
select {
    font-size: 16px !important;
}

button {
    font-size: 15px;
}

/* TABLEAUX */
table {
    font-size: 16px;
}

th {
    font-size: 16px;
}

td {
    font-size: 16px;
    line-height: 1.6;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body {
        font-size: 16px;
    }

    p {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    h2 {
        font-size: 29px;
    }

    h3 {
        font-size: 21px;
    }

    .about-eyebrow,
    .section-eyebrow,
    .section-kicker,
    .sdm-section-label {
        font-size: 13px !important;
    }

    .home-title-main {
        font-size: 34px !important;
    }

    .home-title-sub {
        font-size: 17px !important;
    }

    .about-hero h1 {
        font-size: 44px !important;
    }

    .about-hero p {
        font-size: 17px !important;
    }

    .services-hero h1 {
        font-size: 40px !important;
    }

    .services-hero p {
        font-size: 17px !important;
    }

    .sdm-service-card h3,
    .service-card h3 {
        font-size: 20px !important;
    }

    .sdm-service-card p,
    .service-card p {
        font-size: 16px !important;
    }

    .footer-links a {
        font-size: 15px !important;
    }

    .footer-brand p {
        font-size: 14px !important;
    }
}


/* PETITS MOBILES */
@media (max-width: 480px) {

    body {
        font-size: 16px;
    }

    p {
        font-size: 16px !important;
    }

    h2 {
        font-size: 27px;
    }

    .home-title-main {
        font-size: 31px !important;
    }

    .home-title-sub {
        font-size: 16px !important;
    }

    .about-hero h1 {
        font-size: 40px !important;
    }

    .about-hero p,
    .services-hero p {
        font-size: 16px !important;
    }
}

/* =========================================================
   SDM GROUP — MOBILE MENU
   ========================================================= */

.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 24px;

    background: rgba(3, 20, 31, 0.98);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(-20px);

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease,
        transform 0.35s ease;
}


.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}


/* Liens */

.mobile-menu-overlay .mobile-nav-link {
    display: block;

    color: #ffffff;
    text-decoration: none;

    font-size: 20px;
    font-weight: 600;

    letter-spacing: 0.5px;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.mobile-menu-overlay .mobile-nav-link:hover {
    color: #55D6D6;
    transform: translateX(5px);
}


/* Langues */

.mobile-lang-switcher {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}


.mobile-lang-switcher .lang-btn {
    border: 1px solid rgba(255,255,255,0.5);
    background: transparent;
    color: #ffffff;

    padding: 7px 12px;

    cursor: pointer;

    transition: all 0.25s ease;
}


.mobile-lang-switcher .lang-btn:hover,
.mobile-lang-switcher .lang-btn.active {
    background: #55D6D6;
    border-color: #55D6D6;
    color: #06202B;
}


/* Bouton hamburger */

.mobile-menu-toggle {
    position: relative;

    width: 52px;
    height: 52px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    gap: 6px;

    background: transparent;

    border: 1px solid #ffffff;
    border-radius: 4px;

    cursor: pointer;

    z-index: 100000;
}


.mobile-menu-toggle span {
    display: block;

    width: 28px;
    height: 2px;

    background: #ffffff;

    transition: all 0.3s ease;
}


/* Animation hamburger */

.mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}


/* Bloquer le scroll quand le menu est ouvert */

body.mobile-menu-open {
    overflow: hidden;
}


/* Mobile */

@media (max-width: 768px) {

    .mobile-menu-overlay .mobile-nav-link {
        font-size: 19px;
    }

}


@media (max-width: 480px) {

    .mobile-menu-overlay {
        gap: 20px;
    }

    .mobile-menu-overlay .mobile-nav-link {
        font-size: 18px;
    }

    .mobile-menu-toggle {
        width: 50px;
        height: 50px;
    }

}