@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap');

/* Materialize impose html{font-size:14px} (sa typo « responsive » : 14 / 14.5 / 15px
   selon la largeur). Or nos sections custom (ov-, waw-) sont dessinées en rem sur une
   base de 16px — comme le site Gamma de référence. Sans ce rétablissement, tout le
   texte est ~12 % trop petit sur mobile par rapport au live. products.css / btp.css
   sont en px absolus, donc non affectés. */
html { font-size: 16px; }

 #asari_contentSpace{
 padding: 80px 0 80px 50px;
 }
/* Navbar container */
    .navbar-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      border-bottom: 1px solid #e6e6e6;
      box-sizing: border-box;
      user-select: none;
      z-index: 1000;
      background-color: #fff;
      display: flex;
      justify-content: center;
    }

    .navbar {
      display: flex;
      align-items: center;
      width: 100%;
      max-width: 1050px;
      padding: 14px 48px;
      background-color: #fff;
    }


    /* Logo */
    .logo {
      letter-spacing: 0;
      margin-right: 148px;
      cursor: pointer;
      user-select: none;
      margin-top: 7px;
      transform: scale(1.75);
    }

    /* Nav menu */
    .nav-menu {
      display: flex;
      gap: 32px;
      align-items: center;
      flex-grow: 1;
    }

    /* Each nav item */
    .nav-item {
      position: relative;
      font-weight: 600;
      font-size: 1.1em !important;
      color: #1b1b1b;
      padding: 6px 0;
      cursor: pointer;
      transition: color 0.25s ease;
      user-select: none;
    }

    .nav-item:hover,
    .nav-item:focus {
      color: #0000a4;
      outline: none;
    }

    .nav-item.active {
      color: #0000a4;
    }

    .nav-item {
      position: relative;
      padding-bottom: 6px;
    }

    .nav-item::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0%;
      height: 3px;
      background-color: #0000a4;
      transition: width 0.3s ease;
      border-radius: 2px;
    }

    .nav-item:hover::after,
    .nav-item:focus::after,
    .nav-item.active::after {
      width: 100%;
    }

    /* Dropdown mega menu */
    .dropdown-wrapper {
      width: 100%;
      display: flex;
      justify-content: center;
      position: absolute;
      top: 100%;
      left: 0;
      pointer-events: none;
    }

    /* Dropdown */
    .dropdown {
      max-width: 1050px;
      width: 100%;
      background-color: #f8f9f9;
      padding: 48px 64px;
      font-size: 15px;
      color: #1b1b1b;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      border-top: 4px solid #c2c2c2;
      display: flex;
      gap: 40px;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      pointer-events: auto;
      user-select: none;
      position: relative;
    }

    /* Show dropdown */
    .dropdown.show {
      opacity: 1;
      visibility: visible;
      display: flex;
    }

    /* Left panel nav */
    nav.left-panel {
      padding-right: 10px;
      border-right: 1px solid #e6e6e6;
      background: transparent !important;
      box-shadow: unset !important;
      height: auto !important;
      line-height: inherit !important;
      width: 200px;
    }

    nav.left-panel div {
      padding: 14px 0;
      cursor: pointer;
      font-weight: 600;
      color: #555;
      transition: color 0.25s ease;
      user-select: none;
      font-size: 18px;
    }

    nav.left-panel div:hover,
    nav.left-panel div.active {
      color: #0000a4;
    }

    nav.right-panel {
      position: absolute;
      top: 46px;
      left: 30%; 
      padding-left: 16px;
      padding-right: 16px;
      background: transparent !important;
      box-shadow: unset !important;
      height: auto !important;
      line-height: inherit !important;
      width: auto !important;
    }

    nav.right-panel div {
      margin-bottom: 16px;
      cursor: pointer;
      color: #555;
      font-weight: 500;
      transition: color 0.25s ease;
      user-select: none;
      font-size: 18px;
    }

    nav.right-panel div:hover,
    nav.right-panel div:active{
      color: #0000a4;
    }

    /* Hide right panel if no active content */
    nav.right-panel.hidden {
      display: none;
    }

    .right-panel-content.hidden {
      display: none;
    }

    /* Nested panel next to right-panel */
    nav.right-panel.nested-right-panel {
      top: 46px;
      left: 60%; 
      border-left: 1px solid #e6e6e6;
      padding-left: 64px;
      font-size: 14px;
      color: #555;
      user-select: none;
      background: transparent !important;
      box-shadow: unset !important;
      height: auto !important;
      line-height: inherit !important;
      width: auto !important;
    }

    nav.right-panel.nested-right-panel div {
      cursor: pointer;
      transition: color 0.25s ease;
      font-weight: 500;
    }

    nav.right-panel.nested-right-panel div:hover {
      color: #0000a4;
    }

    nav.right-panel.nested-right-panel.hidden {
      display: none;
    }

    /* Hamburger button - hidden on desktop */
    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: space-between;
      width: 24px;
      height: 18px;
      cursor: pointer;
      z-index: 1100;
    }

    .hamburger div {
      height: 3px;
      background: #1b1b1b;
      border-radius: 2px;
    }

    /* Mobile menu overlay - hidden by default */
    .mobile-menu-overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: #fff;
      color: #1b1b1b;
      z-index: 1050;
      overflow-y: auto;
      max-height: 100vh;
      -webkit-overflow-scrolling: touch;
      padding: 60px 24px 24px;
      box-sizing: border-box;
      flex-direction: column;
    }

    /* Show overlay when active */
    .mobile-menu-overlay.show {
      display: flex;
    }

    /* Mobile nav list */
    .mobile-menu-list {
      list-style: none;
      padding: 0;
      margin: 0;
      width: 100%;
    }

    .mobile-menu-list > li {
      padding: 14px 0;
      font-size: 18px;
      font-weight: 600;
      border-bottom: 1px solid #e6e6e6;
      cursor: pointer;
      user-select: none;
      color: #1b1b1b;
    }

    /* Submenu container inside mobile menu */
    .mobile-submenu {
      list-style: none;
      padding-left: 20px !important;
      margin-top: -8px;
      display: none;
    }

    .mobile-submenu li {
      padding: 10px 0 !important;
      font-weight: 400;
      font-size: 16px;
      border-bottom: none;
      cursor: pointer;
      color: #444;
    }

    .mobile-submenu li:hover,
    .mobile-submenu li:focus {
      color: #0000a4;
      outline: none;
    }

    /* Sub-submenu for services */
    .mobile-sub-submenu {
      list-style: none;
      padding-left: 20px !important;
      margin-top: 6px;
      display: none;
    }

    .mobile-sub-submenu li {
      padding: 8px 0;
      font-weight: 400;
      font-size: 15px;
      cursor: pointer;
      border-bottom: none;
      color: #444;
    }

    .mobile-sub-submenu li:hover,
    .mobile-sub-submenu li:focus {
      color: #0000a4;
      outline: none;
    }

    /* Dropdown icon for submenu toggle */
    .dropdown-icon {
      display: inline-block;
      margin-left: 8px;
      cursor: pointer;
      border: solid #1b1b1b;
      border-width: 0 2px 2px 0;
      padding: 3px;
      transform: rotate(45deg);
      transition: transform 0.3s ease;
      flex-shrink: 0;
    }

    .dropdown-icon.open {
      transform: rotate(-135deg);
    }

    /* Dropdown icon for Desktop toggle */
    .desktop-dropdown-icon {
      display: inline-block;
      margin-left: 8px;
      margin-bottom: 3px;
      cursor: pointer;
      border: solid #1b1b1b;
      border-width: 0 2px 2px 0;
      padding: 3px;
      transition: all 0.3s ease;
      flex-shrink: 0;
      vertical-align: middle;
      transform: rotate(45deg);
    }

    .desktop-dropdown-icon.open {
      transform: rotate(-135deg);
    }

    /* Dropdown icon for left panel toggle */
    .left-panel-dropdown-icon {
      display: inline-block;
      margin-left: 8px;
      cursor: pointer;
      border: solid #555;
      border-width: 0 2px 2px 0;
      padding: 2px;
      transition: all 0.3s ease;
      flex-shrink: 0;
      transform: rotate(-45deg);
    }

    .left-panel-dropdown-icon.open {
      transform: rotate(45deg);
      border-color: #0000a4;
    }

    /* Container for submenu label + icon */
    .mobile-submenu-toggle {
      display: flex;
      justify-content: space-between;
      align-items: center;
      user-select: none;
    }

    /* Responsive adjustments */
    @media (max-width: 900px) {
      .nav-menu {
        display: none;
      }
      .hamburger {
        display: flex;
        margin-left: auto;
      }
    }

    /* Close button inside mobile menu */
    .mobile-menu-close {
      position: absolute;
      top: 16px;
      right: 24px;
      background: transparent;
      border: none;
      font-size: 36px;
      color: #0000a4;
      cursor: pointer;
      user-select: none;
      transition: color 0.3s ease;
    }

    .mobile-menu-close:hover,
    .mobile-menu-close:focus {
      color: #000072;
      outline: none;
    }

    /* Search, Language, Contact Icons --- */

    /* Container for right icons */
    .nav-icons {
      display: flex;
      gap: 24px;
      align-items: center;
      margin-left: auto;
    }

    .contact-button {
      background-color: #2982f1;
      color: #fff;
      border: none;
      padding: 8px 16px;
      font-size: 1em;
      text-align: center;
      padding-top: 0.75em;
      padding-bottom: 0.75em;
      font-weight: 600;
      font-family: inherit;
      border-radius: 0.375em;
      cursor: pointer;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    /* Hide nav icons when hamburger is shown */
    @media (max-width: 900px) {
      .nav-icons {
        display: none;
      }
    }

    /* Icon base style */
    .nav-icon {
      align-items: last baseline;
      width: 100%;
      max-width: 36px;
      height: auto;
      cursor: pointer;
      fill: #1b1b1b;
      transition: fill 0.3s ease;
      user-select: none;
      color: #ffffff !important;
    }


    .nav-icon:hover,
    .nav-icon:focus {
      fill: #0000a4;
      outline: none;
    }

    /* For keyboard focus outline */
    .nav-icon:focus-visible {
      outline: 2px solid #0000a4;
      outline-offset: 2px;
    }

    .mobile-menu-footer {
      margin-top: auto;
      padding-top: 24px;
      border-top: 1px solid #e6e6e6;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .footer-item {
      display: flex;
      align-items: center;
      font-size: 18px;
      font-weight: 600;
      cursor: pointer;
      color: #1b1b1b;
      transition: color 0.25s ease;
    }

    .footer-item:hover {
      color: #0000a4;
    }

    .footer-icon {
      width: 22px;
      height: 22px;
      margin-right: 12px;
      fill: #1b1b1b;
      flex-shrink: 0;
      transition: fill 0.25s ease;
    }

    .footer-item:hover .footer-icon {
      fill: #0000a4;
    }

#scrollToTopBtn {
  position: fixed;
  bottom: 40px;
  right: 30px;
  z-index: 9999;
  display: none;
  background:#525250 !important;
  transition: opacity 0.3s ease;
}

/* Footer */
.footer {
  background-image: linear-gradient(180deg, #eeeeee 0%, rgba(248, 248, 248, 0.8) 1%), url('/assets/v2_footer.png');
  background-size: cover;
  background-position: right;
  background-repeat: no-repeat;
  width: 100%;
  float: left;
  margin-bottom: 0 !important;
  color: black;
  padding: 10em 8em;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1100px;
  margin: 0 auto;
  gap: 2rem;
}

.footer-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 180px;
  font-size: 1.25em;
}

.footer-column a {
  font-weight: 600;
  color: black;
  text-underline-offset: 3px;
}

.footer-column p {
  margin: 0;
  font-weight: 500;
}

.linkedin-icon {
  width: 32px;
  height: 32px;
  margin-top: 0.5rem;
}

.footer-logo {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}

.footer-logo img {
  height: 40px;
}

.footer-logo span {
  font-size: 1.8rem;
  font-weight: 600;
}



/* Modal base */
.custom-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 350px;
  max-height: 90vh;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 20px;
  z-index: 1001;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Backdrop */
.custom-modal-backdrop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

/* Modal Header */
.custom-modal-title {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 15px;
  margin-top: 2px;
  font-size: 30px;
  font-weight: 500;
  text-align: center;
}


/* Form styling */
.custom-input-field label.static-label {
  top: -4px;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}

.modal-row {
    margin: 35px 0 0 0 !important;
  padding: 0 40px;
}

.custom-field input,
.custom-field textarea {
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  padding: 10px;
  height: 45px;
  box-sizing: border-box;
  width: 100%;
}

.custom-field textarea {
  min-height: 100px;
  resize: vertical;
}

/* Modal Footer */
.custom-modal-footer {
  padding: 20px;
  text-align: center;
}

.custom-modal-footer .custom-btn {
  width: 90%;
  padding: 12px;
  background: #2982f1;
  border: none;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
  cursor: pointer;
  text-align: center;
  display: inline-block;
}

/* Optional hover */
.custom-modal-footer .btn:hover {
  background: #1e6bd9;
}

.blueContact{
	background:#2982F1 !important;
	color: #fff !important;
}

.blueContact:hover {
    background-color: #e0f0ff; /* Light blue on hover */
    cursor: pointer;
  }

div .menuTabs li{
	display: inline;
	padding: 15px;
}
div .menuTabs a {
position: relative;

}
div .menuTabs a:before{

  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -3px;
  left: 0;
  background-color: #01C9DB;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.15s ease-in-out 0s;
  transition: all 0.15s ease-in-out 0s;

}

div .menuTabs a.active:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.home_navStyle{
	background: #fff;
    width: 100%;
	height: 75px;
    display: flex;
    position: fixed;
    z-index: 999;
    box-shadow: none;
    align-items: center;
}

.cont1_hr{
	width: 100%;
    height: 2px;
    background-color: #fff;
    border: none;
    margin: 20px 0px;
}

.ceoHR{
	width: 75%;
    height: 2px;
    background-color: #F7C27C;
    border: none;
    margin: 20px 70px;
}

.ceoInfoChip{
	border-bottom: 2px solid #F7C27C;
    padding-bottom: 10px !important;
    margin-bottom: 20px;
}

.navbarLeft{
	left: 0 !important;
}

.threeLine{
	color: #fff;
    margin-right: 25px;
    margin-top: 2px;
}

.searchIcon{
	margin-left: auto;
}

.threeLine i{
font-size: 25px !important;
}
.closeIcon{
	color: #444 !important;
    font-size: 22px !important;
    text-align: right;
    padding: 0 15px;
}
.side-nav li{
	padding: 0 5px !important;
}

.showOnTab{
	display: none;
}

.home_navTopics{
    text-decoration: none;
    padding: 7px 13px 0px 13px;
    font-size: 18px;
    font-weight: 700;
	color: #252525;
    border-bottom: 1px solid #fff;
    line-height: 50px;
}
.home_navContact{
	border-radius: 7px;
    color: #fff;
    background: #2982F1;
    padding: 10px 13px;
    cursor: pointer;
}

.addons{
    margin-left: auto;
    margin-right: -55%;
}

.contactUsWrapper{
	margin: 1% 15% 0 auto;
}

.home_headerWrap{
    height: 90px;
    padding-left: 13%;
    display: flex;
    align-items: center;
    flex: 1 1 100%;
}
.logoWrapper{
	margin-left:6%;
}
.asari_logo{
    width: 85%;
    margin: 0 11%;
    vertical-align: middle;
}
.cont1_left{
	margin: 0% 0% 0% 0%;
}
.cont1_leftheading{
	font-weight: 500;
    font-size: 45px;
    line-height: 47px;
	font-family: Inter;
	letter-spacing: 0.7px;
	color: #fff;
}

 
.logoSizeHD{
	width: 100%;
    position: absolute;
    right: 17%;
}
.groupImageHD{
	width: 42vw;
    position: absolute;
    right: 3vw;
    bottom: 0;
}

.cont1_rightImgWrapper{
	position: relative;
}

.cont1_description{
	margin-top: 15px;
    font-size: 23px;
    color: #fff;
    font-weight: 400;
}
.cont1_description > div{
    margin: 25px 0;
	letter-spacing: 0.2px;
}
.sec1_boldTxt{
	font-weight: 600;
}
.cont1_leftLogoWrap{
	padding: 0 10% 0% 10% !important;
    display: flex;
	margin-bottom: 6%;
}

.boldTxt{
	font-weight: bold;
}
.footer_text{
	padding: 5% 14% 0 0 !important;
    color: #CCE0F0;
    font-size: 16px;
}

.demoRequestBtn{
	background: #2982F1;
    border-radius: 6px;
    border: none;
    padding: 15px;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    cursor: pointer
}
   .textclrfooter {
    color: #000;
   }

.knowMoreBtn{
background: #FFFBF7;
    border-radius: 8px;
    border: none;
    padding: 10px 15px;
    font-size: 19px;
    font-weight: 700;
    color: #0E4381;
}

.cont1_right{
	float: right;
    margin: 7% 0 0 0;
}
.cont2_header{
	text-align: center;
    font-size: 28px;
    color: #F6F0E3;
	font-weight:700;
    padding: 3% 0 6% 0;
}
.cont2_processimg{
	width: 65%;
    margin-left: auto;
    margin-right: auto;
    display: block;
}


.firstSection {
	background: linear-gradient(180deg, #0d0d0e 0%, rgb(0 0 0 / 80%) 1%), url(assets/v2_container1Bg.png);
    float: left !important;
    width: 100% !important;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 4% 8% 4% 8% !important;
}
.headerFont{
	font-size:42px;
	font-weight: 700;
}
.subHeaderFont{
	font-size:21px;
	font-weight: 700;
}
.contentFont{
	font-size:18px;
}
.jouleAI_details{
	font-weight: 500;
    line-height: 26px;
    font-size: 17px;
}
.weightBolder{
	font-weight: 700;
}

.secondSection{
	background: #2982F1;
	float: left;
	width: 100%;
	position: relative;
}

.secondSectionHeader{
	font-size: 25px;
    padding: 4% 0% 0% 6% !important;
    color: #fff;
	font-weight: 600;
}

.sec1, .sec2{
	font-size: 20px;
    color: #fff;
    margin: 25px 0;
    padding: 0 15% 0% 10% !important;
    line-height: 30px;
}

.sec2_left > div{
	font-size: 16px;
}
.sec2_left{
	padding: 0 !important;
	border-radius: 6px;
	overflow: hidden;
}
.fourthSubSection {
	padding: 0 !important;
	display:flex;
}

.jouletext2{
	padding:0 75px !important;
}

.cont1Divider{
	float: left;
    width: 100%;
    padding: 25px;
    text-align: center;
    font-size: 45px;
    font-weight: 600;
    letter-spacing: 0.3px;
	background: #fffbf7;
}

.thirdSection{
    display: flex;
    padding: 3% 0 !important;
    background: #fffbf7;
    margin-bottom: 0;
}

.fourthSection{
    float: left;
    width: 100%;
    background: #fff;
    padding: 4% 8% 4% 8%;
    font-weight: 500;
	color:#000;
}

.sec4_description{
    text-align: left;
    padding: 25px 0;
}

.sec4_header{
	font-weight: 600;
    font-size: 45px;
    text-align: left;
    padding: 2% 0 0;
}

.sec4_subHeader{
	text-align: left;
    line-height: 50px;
    margin-top: 8vh;
}

.sec4_subName{
	font-size: 22px;
    padding: 15px 0 !important;
    text-align: center;
    font-weight: 700;
}

.jouleContent{
	    position: relative;
    text-align: right;
    padding: 0 2% 0 5% !important;
}

.jouleAI_subHeader{
	font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}
.joule_serviceContent{
	padding: 0 0 0 10px !important;
}
.jouleRobotImage{
	height: 100% !important;
    object-fit: cover;
}

.msgIcon{
	width:3vw;
}
.arrowIcon{
	width:3vw;
}
.fileIcon{
	width:2.5vw;
}

.jouleCard{
	margin-top:4%;
}

.joule_detailsIcon{
	text-align: center;
}

.sec4_subdescription{
    margin: 15px 0 20px 0 !important;
    line-height: 28px;
	text-align:left;
}

.fifthSection, .sixthSection, .sevanthSection{
	background:#FFF;
	float:left;
	width:100%;
	padding:0 6%;
}

.sixthSection{
	background: #CCE0F0;
}

.sevanthSection{
	background:#E8E4E1;
}

.sec5_header, .sec6_header{
	font-size: 45px;
    padding: 4% 0 3% 2%;
    font-weight: 600;
}
.sec6_header{
	text-align: center;
}
.sec5_subHeader{
	text-align: left;
    line-height: 50px;
    margin-top: 8vh;
}

.portfolioSection{
	float: left;
    width: 100%;
    background: #fff;
    padding: 4% 8% 4% 8%;
    font-weight: 500;
    color: #000;
	padding-top: 0 !important;
}

.sec5_sub1{
line-height: 30px;
    font-size: 19px;
    text-align: left;
    padding: 20px 8px !important;
}

.sec5{
	border-radius: 20px !important;
}

.sec5_secondTab{
	background: #0E4381 !important;
	color: #fff;
}
.sec6_subName{
	padding: 10px 20px !important;
	font-size: 30px;
	font-weight: 600;
}
.sec6_subDescription{
	padding: 10px 20px !important;
    font-size: 20px;
	flex:1;
}

.readArticleText{
	margin: 20px 0 15px;
    padding: 10px 20px !important;
    color: #0E4381;
    font-weight: 700;
    font-size: 20px;
	align-self:flex-start;
}

.findMoreText{
	font-size: 15px;
    color: #fffbf7;
    font-weight: 600;
    padding: 5px !important;
    margin: 20px 0 15px;
}

.blogImage{
	width: 100%;
    padding: 0;
    border-radius: 10px 10px 0 0;
}
.rightArrow{
	vertical-align: middle;
    padding-left: 5px;
}
.asari_resHt{
	margin-top: 3%;
}

.asari_footerInfoTxtWrap{
	margin-left: 3% !important;
}

.consultBtn{
color: #0E4381;
    background: #FFFBF7;
    border-radius: 8px;
    border: none;
    padding: 10px 15px;
    font-size: 20px;
    font-weight: 700;
    margin: 20px 0;
}

.zeroMargin{
	margin: 0 !important;
}

.jouleText{
padding: 5px 20px !important;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
}

.serviceInfoWrapper{
    background: #e6e6e6;
    border-radius: 6px;
    border: 1px solid #cccccc;
    padding: 20px !important;
    display: flex;
    flex-direction: column;
    flex: 1;
    margin: 0px 20px 0 0 !important;
}

.serviceImage, .stakeHoldersImage{
	padding: 0 !important;
    border-radius: 10px;
    overflow: hidden;
}
.stakeHoldersImage{
	height: 90%;
}

.serviceImage img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.ceoName{
	font-size: 17px;
    font-weight: 700;
}
.ceoDesignation{
	font-size: 14px;
    line-height: 20px;
    padding-top: 5px;
}

.serviceCard{
	display: flex;
    padding: 0 !important;
    margin: 0;
    justify-content: center;
}

.sec6_serviceCard{
	margin: 15px 0;
    align-items: stretch;
    display: flex;
}

.sec7_description{
	font-size: 18px;
    text-align: left;
    padding: 3% 0% 0 0 !important;
}

.serviceNameChip{
	font-size: 20px;
    font-weight: 700;
    padding: 0 !important;
	margin-bottom:15px;
}
.serviceBg{
    color: #000;
}
.service2{
	background: linear-gradient(270deg, rgba(41, 130, 241, 0.39) 0%, #0E4381 50%), url(assets/New_support.png);
	background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    color: #fff;
}
.service3{
	background: linear-gradient(270deg, rgba(41, 130, 241, 0.39) 0%, #0E4381 50%), url(assets/New_intergation.png);
	background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    color: #fff;
}

.service4{
	background: linear-gradient(270deg, rgba(41, 130, 241, 0.39) 0%, #0E4381 50%), url(assets/New_managedServices.png);
	 background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    color: #fff;
}

.wrapFlex{
	display:flex;
	flex-wrap: wrap;
}

.servicesHR{
	width: 17%;
    height: 2px;
    background-color: #F7C27C;
    border: none;
    margin: 0px 0px 20px 0;
}
/* .serviceCard:nth-child(3){
	padding-right: 0 !important;
} */

.findMoreBtn{
	padding: 15px;
    font-size: 18px;
    border-radius: 6px;
    font-weight: 600;
    background: #2982F1;
    color: #fff;
    border: transparent;
    cursor: pointer
}

.resultCount{
	text-align: center;
    padding: 0 5% !important;
	border-right: 1px solid #9b9b9b;
}

.resultCount:nth-child(2){
	padding: 0 8% !important;
}

.resultCount:nth-child(3){
	border-right: transparent !important;
}

.home_container2, .home_container3{
	background: linear-gradient(47.01deg, #2B5267 -6.61%, #273A43 -5.26%, #356B88 105.88%);
	margin-bottom:0 !important;
	padding-bottom: 4% !important;
}
.sampleContent{
	display:flex;
	align-items: stretch;
}
	
.cont3_description{
font-size: 12px;
    letter-spacing: 0.2px;
    color: #D2DEF1;
    line-height: 16px;
    padding: 3% 1% 15% 1% !important;
}
.cont3_images{
	margin-left: auto;
    margin-right: auto;
    display: block;
	width:100%;
}

.cont4_header{
	text-align: center;
    font-size: 28px;
    color: #170F49;
    padding: 6% 0 3% 0;
    font-weight: 700;
}
.cont4_resultcount{
	color: #0E4381;
    font-size: 50px;
    font-weight: 700;
	padding-left: 20px;
}

.cont4_resultHeading{
	color: #252525;
    font-size: 24px;
    margin-top: 3%;
    line-height: 27px;
    font-weight: 600;
	padding: 0 !important;
}
.cont4_resultDescription{
    color: #6F6C90;
    font-size: 14px;
    padding: 2% 2%;
}

.cont4_servicecontainer{
    padding: 25px 35px;
    font-size: 18px;
	background:#D9F3FF;
}
.cont4_customerPoint{
	background:transparent !important;
}
.cont5_custSays{
font-size: 26px;
    font-weight: 700;
    color: #2B5267;
    padding: 9% 15% !important;
}
.cont5_subHeading{
	color: #777777;
    padding: 0% 5% 15% 15% !important;
    font-size: 12px
}
.cont5_imgName{
	color: #707070;
    font-size: 12px;
    padding-top: 3%;
}
.cont5_imgTitle{
	color: #707070;
    font-size: 9px;
    font-style: italic;
}
.no_bg{
	background:transparent !important;
}
.cont6_faqHeader{
	font-size: 28px;
    font-weight: 700;
    padding: 2% 0% !important;
}
.cont6_details{
	padding: 15px 0 !important;
    color: #09223D;
    font-size: 17px;
    font-weight: 700;
	cursor:pointer;
    border-bottom: 1px solid #09223D;
}
.cont6_summary{
	color: #3A6374;
    font-size: 15px;
    font-weight: 400;
    padding: 15px 0 !important;
}
.cont7_date{
	color: #808371;
    font-size: 14px;
    padding: 15px 10px !important;
}

.applyFlex{
	display:flex;
}
.cont7_content1{
	color: #253D32;
    font-size: 16px;
    font-weight: 700;
    padding: 10px !important;
}
.cont7_sub1{
	color: #252525;
    font-size: 18px;
	text-align: center;
	flex:1;
}
.cont7_sub2{
    padding: 15px 5px !important;
}
.findMoreBtnWrapper{
	align-self:self-start;
	text-align: center;
}
	
.centerAlign{
	margin-left:auto;
	margin-right: auto;
}
.zeroPadding{
	padding:0 !important;
}
.applyStretch{
	display:flex;
	align-items: stretch;
	margin: 0 !important;
}
.footerInfo_txt1{
	font-size: 33px;
    font-weight: 600;
    color: #fff;
}
.footerInfo_txt2{
    font-size: 18px;
    line-height: 35px;
}

.footer_contactBtn{
	background: #FFFBF7;
    color: #0E4381;
    font-size: 20px;
    font-weight: 700;
    padding: 8px 50px;
    margin-top: 17px;
    border-radius: 7px;
    margin-left: 50px;
	border: transparent;
}
 
 .custom-field  textarea {
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  height: 60px !important;
  min-height: 60px !important;
  box-sizing: border-box;
}
.modal .modal-content{
	padding-bottom: 0 !important;
}
.show-on-991 {
  display: none;
}
.searchMail{
	margin-top:1%;
	padding: 0 !important;
  margin:0 !important
}

@media (max-width: 2000px) and (min-width: 1445px) {
	.groupImageHD {
    width: 35vw;
	right: 5vw;
	}
	.logoSizeHD {
    width: 35vw;
	}
	.jouleRobotImage{
		width: 25vw;
	}
}

@media (max-width: 2500px) and (min-width: 2000px) {
	.groupImageHD {
    width: 30vw;
	right: 5vw;
	}
	.logoSizeHD {
    width: 30vw;
	}
	.jouleRobotImage{
		width: 23vw;
	}
	.firstSection{
		padding:8% 0 !important;
		text-align: center;
	}
}

@media (max-width: 3500px) and (min-width: 2501px) {
	.groupImageHD {
    width: 23vw;
	right: 5vw;
	}
	.logoSizeHD {
    width: 23vw;
	}
	.jouleRobotImage{
		width: 19vw;
	}
	.firstSection{
		padding:8% 0 !important;
		text-align: center;
	}
}

@media (max-width: 4500px) and (min-width: 3500px) {
	.groupImageHD {
    width: 20vw;
	right: 5vw;
	}
	.logoSizeHD {
    width: 21vw;
	}
	.jouleRobotImage{
		width: 17vw;
	}
	.firstSection{
		padding:6% 0 !important;
		text-align: center;
	}
	.cont1_rightImgWrapper{
		margin-top: -5vh;
	}
}

@media (max-width: 5500px) and (min-width: 4500px) {
	.groupImageHD {
    width: 19vw;
	right: 5vw;
	}
	.logoSizeHD {
    width: 19vw;
	}
	.jouleRobotImage{
		width: 14vw;
	}
	.firstSection{
		padding:6% 0 !important;
		text-align: center;
	}
	.cont1_rightImgWrapper{
		margin-top: -6vh;
	}
}

@media (max-width: 5500px ) and (min-width: 2000px){
		.secondSection{
		padding:3% 0 !important;
	}
	.contactUsWrapper {
    margin: 0% 9% 0 auto;
}
}

@media (min-width: 2000px) {
	.fourthSection, .portfolioSection{
	padding: 0px 30% !important
	}
		#asari_contentSpace{
		padding: 80px 30% 80px 30% !important;
	}
	.firstSection{
		margin-bottom: 0;
    padding: 2% 30% !important;
    text-align: left;
	}
	.sec4_subHeader{
		margin-top: 0 !important;
	}
	.jouleContent{
		    margin: 5vh 0 !important;
	}
}

@media (min-width: 993px) and (max-width: 1024px) {
  .show-on-991 {
    display: inline-block !important; /* or flex/block, as needed */
  }
  .hide-on-991{
	  display: none !important;
  }
  .sampleContent, .applyStretch{
	  display:flex !important;
  }
}

@media only screen and (max-width : 1024px) {

  .force-m9-at-1024{
	  width: 80% !important;
  }
  .force-m3-at-1024{
width: 20% !important;
        Height: 440px !important;
        position: relative !important;
  }
  .firstSection{
	  padding-top:8% !important;
  }
  .cont1_rightImgWrapper{
	position: relative;
    margin: 0 auto;
    text-align: center;
}
.groupImageHD{
	width: 37vw !important;
}
/* .logoSizeHD{
	width: 60%;
	position: unset;
	margin-right:60px;
}

.groupImageHD{
		width: 200%;
        position: absolute;
        bottom: 0;
        right: 15px;
} */
.cont1_description{
	font-size: 17px;
}
.sec4_description,.cont7_sub1, .sec7_description, .sec5_sub1, .sec6_subDescription{
	font-size : 17px;
}
.sec6_subName{
	font-size: 24px;
}
.discussion_med{
	width: 85%;
}
.cont4_resultHeading{
	font-size:19px;
}
.cont1_leftheading{
	font-size:26px;
	line-height: 30px;
}
.serviceCard{
	margin: 20px auto;
}
.sec4_subHeader{
    text-align: left;
    padding-bottom: 45px;
}
.cont1Divider{
	font-size:32px;
}
.searchMail, .consultBtnWrap{
	text-align:left;
}
.secondSection .searchMail{
	text-align: left;
}
.sec4_header,.sec6_header, .sec5_header, .sec6_header{
	text-align: left;
	font-size: 40px;
}
.footer_text{
	padding:20px 0 !important;
}
/* #asari_contentSpace{
	padding: 0 !important;
} */
.jouletext2{
	padding:0 45px !important;
}
.sampleContent, .applyStretch{
display:unset;
margin: 0 auto !important;
}
.cont3_servicecontainer{
	margin: 10px 0;
}
.cont2_header,.cont3_header,.cont4_header{
	font-size:19px;
}
.cont4_resultcount{
	font-size:25px;
}

.footer_text{
margin-top: 10%;
text-align:center !important;
font-size:12px;
padding-right: 0;
}
.sec6_subName{
	font-size:24px;
}
/* .cont1_leftheading{
	font-size: 25px;
	line-height: 30px;
} */
.ceoName,.ceoDesignation{
        font-size: 16px;
        line-height: 22px;
        padding: 5px 10px;
}
.home_navStyle{
	background:#2982F1;
	width:100%
}
	
}

@media only screen and (max-width : 786px) {
	  .firstSection{
	  padding-top:15% !important;
	}
      .cont1_leftheading {
        font-size: 21px;
	  }
	  	.sec6_subDescription, .sec5_sub1, .cont7_sub1, .sec4_subdescription, .sec7_description{
	font-size:17px;
	}
	.jouleText:nth-child(2){
		padding: 0 25px !important;
	}
	.jouleText{
		font-size:13px !important;
	}
	.fourthSubSection{
		display:block;
	}
	.headerFont{
		font-size:33px !important;
		text-align:left;
	}
	.serviceInfoWrapper{
		margin: 0 !important;
	}
	.jouleContent{
		padding:0 2% 0 2% !important;
	}
  #asari_contentSpace{
		padding:0 !important;
	}
}

@media screen and (max-width: 1439px) {
	.home_navTopics{
		font-size:18px;
	}
}


@media screen and (max-width: 440px) {
	.asari_logo{
		width:75% !important;
	}
	.servicesHR{
		height: 2px;
	background-color: #F7C27C;
	border: none;
	margin: 0px 0px 15px 0;
	}
	.cont1_leftheading{
		line-height: 30px;
	margin-top: 8%;
	font-size:23px;
	}
	.home_container1 .cont1_description{
	padding: 0 !important;
	text-align:left;
	}
	.cont1_hr{
		display:none;
	}
	.cont1Divider{
		font-size:25px;
	}
	.secondSection .searchMail{
		text-align: left;
	}
	  .force-m9-at-1024{
	  width: 90% !important;
	}
	.force-m3-at-1024{
		width: 10% !important;
	}
/* 	.groupImageHD{
		width: auto;
		height: 130px;
		right: 0px;
		bottom: -68px;
	} */
	.cont1_description{
		padding: 0 5% !important;
		text-align:left;
	}
	.resultCount{
		text-align: center;
	padding: 20px 21% !important;
	border-right: transparent;
	}
	.resultCount:nth-child(2){
		padding: 0 23% !important;
	}
	.cont4_resultHeading{
		border-bottom:1px solid #9B9B9B;
		padding-bottom:21px !important;
	}
	.lgMob{
		border-bottom: transparent;
	}
	.sec4_desc2{
		padding: 25px 0;
	}
	.sec4_description{
		font-size: 17px;
	}
	.sec4_subHeader{
		font-size:26px;
	}
	.sec2_left{
		text-align: center;
		margin-top: 20px;
		display: flex;
	}
	.jouleImage3 img{
		width:33% !important;
	}
	.sec4_subdescription{
		font-size:18px;
	}
			.jouleImage1 img{
		width:43% !important;
	}
	.jouleText{
	padding: 0 10px !important;
	font-size: 13px;
	}
		.jouleText:nth-child(2){
	padding: 0 10px !important;
	}
	.jouleImage2 img{
		width:40%;
	}
	.consultBtn{
		width:100%;
	}
	.serviceNameChip{
		font-size:15px;
	}
	.servicesHR{
		width:100%;
	}
	.sec4_header,.sec6_header, .sec5_header, .sec6_header{
	text-align: left;
	font-size: 30px;
	}
	.ceoName,.ceoDesignation{
	font-size: inherit;
		line-height: inherit;
		padding-top: 5px;
	}
	.asari_footerInfoTxtWrap, .footer_contactBtn{
	margin-left:0 !important;
	}
	.sec6_subName{
	font-size:21px;
	}
	.sec6_subDescription, .sec5_sub1, .cont7_sub1, .sec4_subdescription, .sec7_description{
	font-size:17px;
	}
	.asari_footerInfoTxtWrap {
	padding:0 15%;
	}
	.footerInfo_txt2{
	font-size:15px !important;
	line-height:25px;
	}
	.footerInfo_txt1{
	font-size: 25px !important;
	}
	.home_navStyle{
	width:100%;
	}
  .firstSection{
      padding-top:8% 4% 8% 4% !important;
    }

}

@media screen and (max-width: 375px) {
.force-m3-at-1024{
	Height: 525px !important;
}
/* .asari_logo{
	width:60% !important;
} */
.home_container1 .cont1_leftheading{
	font-size:20px;
}
.home_container1 .cont1_description{
	padding: 0 !important;
	text-align:left;
}
.home_container1 .cont1_leftheading{
	padding:0 !important;
	margin-top: 40px !important;
}
.resultCount{
	padding:20px 20% !important;
}
.sec4_subHeader{
	    font-size: 22px !important;
        line-height: 35px;
        padding-bottom: 0;
}
.sec4_header,.sec6_header, .sec5_header, .sec6_header{
	text-align: center;
	font-size: 25px !important;
}
}


@media screen and (min-width: 1024px) and (max-width: 1025px) {
  .force-m12-at-1024 {
    width: 100% !important;
	text-align: center;
  }
  .force-m9-at-1024{
	  width: 70% !important;
  }
  .force-m3-at-1024{
	  width: 30% !important;
	  Height: 440px !important;
	 position: relative !important;
  }
  .cont1_rightImgWrapper{
	position: relative;
    margin: 0 auto;
    text-align: center;
}
/* .logoSizeHD{
	width: 60%;
	position: unset;
	margin-right:60px;
}
.groupImageHD{
	    width: 130%;
    position: absolute;
    bottom: 0;
} */
.showOnTab{
	display: block;
	text-align: center;
}
.showOnLaptop{
	display: none;
}
/* .cont1_description{
	padding:0 8% !important;
} */
.cont4_resultHeading{
	font-size:19px;
}
.applyStretch{
	display: grid;
}
.serviceCard{
	margin: 20px auto;
	width: 50% !important;
}
.sevanthSection .sec6_serviceCard{
	margin: 20px auto;
	width: 70% !important;
}
.wrapFlex{
	display: grid;
}
.sec4_subdescription{
	font-size: 16px;
}
.asari_footerInfoTxtWrap{
	text-align: center;
}
/* #asari_contentSpace{
	padding: 0 !important;
} */
.asari_txtColor{
	margin-top:40px;
}
.footer_text{
	padding:20px 0 !important;
}
/* .cont1_leftheading{
padding: 0 10% 0 10% !important;
} */
	.home_navTopics{
text-decoration: none;
    font-size: 15px;
	}
}



/* overview */
:root {
  --ov-px: max(5%, calc((100% - 920px) / 2));
  --ov-py: 48px;
}
.ov-hero {
  background-color: #f4f4f4;
  padding: var(--ov-py) var(--ov-px);
  display: flex;
  align-items: center;
  gap: 48px;
}
.ov-hero-text { flex: 1; }
.ov-hero-text h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 20px;
  line-height: 1.2;
}
.ov-hero-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin: 0;
}
.ov-hero-image { flex: 0 0 44%; max-width: 44%; }
.ov-hero-image img { width: 100%; height: 380px; object-fit: cover; border-radius: 8px; display: block; }

.ov-payroll {
  position: relative;
  background: #ffffff url('assets/ov_payroll_bg.jpg') center/cover;
  padding: var(--ov-py) var(--ov-px);
}
.ov-payroll::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
  z-index: 0;
}
.ov-payroll-content { position: relative; z-index: 1; }

.ov-section-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.ov-section-desc {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin-bottom: 36px;
}
.ov-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ov-card-img { width: 100%; height: 210px; object-fit: cover; display: block; }
.ov-card-body { padding: 20px; flex-grow: 1; }
.ov-card-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #1a1a1a;
  margin-bottom: 10px;
}
.ov-card-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}

.ov-btp {
  position: relative;
  background-image: url('assets/ov_btp_bg.jpg');
  background-size: cover;
  background-position: center;
  padding: var(--ov-py) var(--ov-px);
}
.ov-btp::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
}
.ov-btp-content { position: relative; z-index: 1; }
.ov-btp-content h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.ov-btp-intro {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin-bottom: 44px;
}
.ov-stepper { display: flex; flex-direction: column; max-width: 680px; }
.ov-step { display: flex; align-items: flex-start; gap: 28px; }
.ov-step + .ov-step { margin-top: -20px; }
.ov-step-chevron-wrap { flex-shrink: 0; width: 90px; }
.ov-step:nth-child(1) .ov-step-chevron-wrap { z-index: 4; position: relative; }
.ov-step:nth-child(2) .ov-step-chevron-wrap { z-index: 3; position: relative; }
.ov-step:nth-child(3) .ov-step-chevron-wrap { z-index: 2; position: relative; }
.ov-step:nth-child(4) .ov-step-chevron-wrap { z-index: 1; position: relative; }
.ov-step-chevron-wrap svg { display: block; overflow: visible; }
.ov-step-info { padding: 8px 0 28px; }
.ov-step-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #1a1a1a;
  margin-bottom: 6px;
}
.ov-step-desc {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}

.ov-ai {
  background-color: #F2F2F2;
  padding: var(--ov-py) var(--ov-px);
}
.ov-ai h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.ov-ai-intro {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin-bottom: 52px;
}
/* Desktop : grille 2×2 avec la roue au centre (comme le live ≥993px).
   gauche = Intelligent Automation (haut) / Ethical AI Governance (bas), alignés à droite ;
   droite = Predictive Analytics (haut) / Conversational AI (bas), alignés à gauche. */
.ov-ai-layout {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 40px;
  row-gap: 44px;
}
.ov-ai-wheel { grid-column: 2; grid-row: 1 / span 2; width: 360px; height: 360px; justify-self: center; }
.ov-ai-wheel svg { width: 100%; height: 100%; display: block; }
.ov-ai-tl { grid-column: 1; grid-row: 1; }
.ov-ai-bl { grid-column: 1; grid-row: 2; }
.ov-ai-tr { grid-column: 3; grid-row: 1; }
.ov-ai-br { grid-column: 3; grid-row: 2; }
.ov-ai-tl, .ov-ai-bl { text-align: right; }
.ov-ai-tr, .ov-ai-br { text-align: left; }
.ov-ai-item-ico { display: none; } /* icônes visibles seulement en mobile (le live les cache en desktop) */
.ov-ai-item-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #1a1a1a;
  margin-bottom: 8px;
}
.ov-ai-item-desc {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}

.ov-bdc {
  background-color: #f8f9fa;
  padding: var(--ov-py) var(--ov-px);
}
.ov-bdc h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 16px;
}
.ov-bdc-intro {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin-bottom: 40px;
}
.ov-bdc-arch {
  display: block;
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.1);
}

/* ── Typographie alignée sur le live (site Gamma) : titres en Inter 800 (au lieu
   de Poppins 700), corps de texte en Inter 500, tout en noir #000, tailles
   exactes du live — titres 45px, sous-titres 22.5px, texte 18px. ── */
.ov-hero-text h1,
.ov-section-title,
.ov-btp-content h2,
.ov-ai h2,
.ov-bdc h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 2.8125rem; /* 45px */
  color: #000;
}
.ov-card-title,
.ov-step-title,
.ov-ai-item-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 1.40625rem; /* 22.5px */
  color: #000;
}
.ov-hero-text p,
.ov-section-desc,
.ov-btp-intro,
.ov-ai-intro,
.ov-bdc-intro {
  font-weight: 500;
  color: #000;
}
.ov-card-text,
.ov-step-desc,
.ov-ai-item-desc {
  font-size: 1.125rem; /* 18px */
  font-weight: 500;
  color: #000;
}

/* Section AI : sous le breakpoint « large » de Materialize (≤992px), la grille
   2×2 se déplie comme le live — roue agrandie en tête, puis les 4 items empilés
   dans l'ordre IA → PA → CA → EAG (ordre du DOM), chacun avec son icône à gauche. */
@media (max-width: 992px) {
  .ov-ai-layout { display: flex; flex-direction: column; gap: 30px; align-items: stretch; }
  .ov-ai-wheel { width: min(100%, 340px); height: auto; aspect-ratio: 1 / 1; margin: 0 auto 8px; }
  .ov-ai-item { display: flex; gap: 16px; align-items: flex-start; }
  .ov-ai-tl, .ov-ai-bl, .ov-ai-tr, .ov-ai-br { text-align: left; }
  .ov-ai-item-ico {
    display: inline-flex; flex-shrink: 0;
    width: 44px; height: 44px; border-radius: 10px;
    background: #eaeaee; align-items: center; justify-content: center;
  }
  .ov-ai-item-ico img { width: 22px; height: 22px; display: block; }
}
@media (max-width: 900px) {
  :root { --ov-px: 5%; --ov-py: 48px; }
  /* Titres de section : 36px sur mobile, comme le live (mesuré à 375px). */
  .ov-hero-text h1,
  .ov-section-title,
  .ov-btp-content h2,
  .ov-ai h2,
  .ov-bdc h2 { font-size: 2.25rem; }
}
/* Match the live site: hero stays side-by-side on tablet, stacks only on phones. */
@media (max-width: 600px) {
  .ov-hero { flex-direction: column; }
  .ov-hero-image { max-width: 100%; }
}

*{
font-family: 'Inter';
font-style: normal;
}

/* whoarewe */
:root {
  --waw-px: max(5%, calc((100% - 920px) / 2));
  --waw-py: 56px;
}
.waw-hero {
  position: relative;
  background-image: url('assets/waw_hero.jpg');
  background-size: cover;
  background-position: center;
  padding: 100px var(--waw-px);
}
.waw-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(5, 20, 60, 0.72);
}
.waw-hero-inner { position: relative; z-index: 1; }
.waw-hero-text h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #ffffff;
  margin-bottom: 16px;
  line-height: 1.2;
}
.waw-hero-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  color: rgba(255,255,255,0.85);
  margin: 0;
}

.waw-pillars {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-pillars h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.waw-section-desc {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: #444;
  line-height: 1.75;
  margin-bottom: 36px;
}
.waw-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.waw-card-img { width: 100%; height: 200px; object-fit: cover; display: block; }
.waw-card-body { padding: 20px; flex-grow: 1; }
.waw-card-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #1a1a1a;
  margin-bottom: 10px;
}
.waw-card-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}

.waw-leadership {
  background-color: #f4f4f4;
  padding: var(--waw-py) var(--waw-px);
}
.waw-leadership-inner {
  display: flex;
  gap: 48px;
  align-items: stretch;
}
.waw-leadership-img { flex: 0 0 38%; max-width: 38%; }
.waw-leadership-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }
.waw-leadership-text { flex: 1; }
.waw-leadership-text h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 20px;
}
.waw-leadership-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}
.waw-lc-card {
  background: #e8eaed;
  border-radius: 8px;
  padding: 20px;
}
.waw-lc-full { grid-column: 1 / -1; }
.waw-lc-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin-bottom: 10px;
}
.waw-lc-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #444;
  line-height: 1.65;
  margin: 0 0 8px;
}
.waw-lc-text:last-child { margin-bottom: 0; }

.waw-mvv {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-mvv h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 0;
}
.waw-mvv-row { display: flex; align-items: stretch; }
.waw-mvv-row .col { display: flex; }
.waw-mvv-card {
  background: #f0f0f0;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
}
.waw-mvv-img { width: 100%; height: 180px; object-fit: cover; display: block; }
.waw-mvv-body { padding: 20px; flex-grow: 1; }
.waw-mvv-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin-bottom: 10px;
  text-align: center;
}
.waw-mvv-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
  text-align: center;
}

.waw-strategy {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-strategy h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 32px;
}
.waw-steps { display: flex; gap: 32px; align-items: flex-start; }
.waw-steps-chevrons { flex-shrink: 0; width: 70px; display: flex; flex-direction: column; }
.waw-steps-chevrons svg { display: block; width: 70px; height: 88px; position: relative; flex-shrink: 0; }
.waw-steps-chevrons svg:nth-child(1) { z-index: 4; }
.waw-steps-chevrons svg:nth-child(2) { z-index: 3; margin-top: -8px; }
.waw-steps-chevrons svg:nth-child(3) { z-index: 2; margin-top: -8px; }
.waw-steps-chevrons svg:nth-child(4) { z-index: 1; margin-top: -8px; }
.waw-steps-bodies { flex: 1; display: flex; flex-direction: column; gap: 0; }
.waw-step-body { height: 80px; overflow: visible; box-sizing: border-box; padding-top: 4px; }
.waw-step-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin-bottom: 4px;
}
.waw-step-desc {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}
.waw-strategy-footer {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #444;
  line-height: 1.75;
  margin-top: 36px;
}

.waw-why {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-why h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 0;
}
.waw-why-card { width: 100%; }
.waw-why-img { width: 100%; height: 180px; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 16px; }
.waw-why-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin-bottom: 10px;
}
.waw-why-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.65;
  margin: 0;
}

.waw-partners {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-partners h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.waw-partners-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 60px;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
}
.waw-partner-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.waw-partner-item img { max-height: 52px; max-width: 150px; object-fit: contain; display: block; }

.waw-faq {
  background-color: #ffffff;
  padding: var(--waw-py) var(--waw-px);
}
.waw-faq h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 3rem;
  color: #1a1a1a;
  margin-bottom: 36px;
}
.waw-faq-list { display: flex; flex-direction: column; gap: 4px; }
.waw-faq-item { overflow: hidden; }
.waw-faq-q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #1a1a1a;
  background: transparent;
  user-select: none;
}
.waw-faq-icon { color: #1a1a1a; flex-shrink: 0; font-size: 20px !important; }
.waw-faq-q:hover { color: #2563eb; }
.waw-faq-q:hover .waw-faq-icon { color: #2563eb; }
.waw-faq-a {
  display: none;
  padding: 0 0 16px 32px;
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.7;
}

/* ── Typographie whoarewe alignée sur le live (même thème Gamma qu'overview) :
   titres en Inter 800 au lieu de Poppins, corps en Inter 500, tout en noir #000.
   Le hero garde son texte blanc sur fond sombre (couleur non surchargée ici). ── */
.waw-hero-text h1,
.waw-pillars h2,
.waw-leadership-text h2,
.waw-mvv h2,
.waw-strategy h2,
.waw-why h2,
.waw-partners h2,
.waw-faq h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 2.8125rem; /* 45px */
}
.waw-pillars h2,
.waw-leadership-text h2,
.waw-mvv h2,
.waw-strategy h2,
.waw-why h2,
.waw-partners h2,
.waw-faq h2 { color: #000; }
.waw-card-title,
.waw-lc-title,
.waw-mvv-title,
.waw-step-title,
.waw-why-title,
.waw-faq-q {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  color: #000;
}
.waw-section-desc,
.waw-card-text,
.waw-lc-text,
.waw-mvv-text,
.waw-step-desc,
.waw-strategy-footer,
.waw-why-text,
.waw-faq-a {
  font-weight: 500;
  color: #000;
}

@media (max-width: 900px) {
  :root { --waw-px: 5%; }
  .waw-hero-text h1 { font-size: 2.25rem; }
  .waw-pillars h2,
  .waw-leadership-text h2,
  .waw-mvv h2,
  .waw-strategy-text h2,
  .waw-why h2,
  .waw-partners h2,
  .waw-faq h2 { font-size: 2.25rem; }
  .waw-leadership-inner { flex-direction: column; }
  .waw-leadership-img { max-width: 100%; }
  .waw-strategy-inner { flex-direction: column; }
  .waw-strategy-img { max-width: 100%; }
  .waw-partner-item { flex: 0 0 calc(50% - 12px); }
}

/* MVV : les cartes sont col m12/s12 (pleine largeur sous le breakpoint l de
   Materialize = 993px). Comme .waw-mvv-row est en display:flex, il faut la
   passer en colonne dès ≤992px, sinon les 3 cartes restent forcées sur une
   ligne et débordent de 90px en mobile. */
@media (max-width: 992px) {
  .waw-mvv-row { flex-direction: column; }
}

/* successfactors */
:root {
  --sf-px: max(5%, calc((100% - 960px) / 2));
  --sf-py: 72px;
}

/* ── CARD 1: HERO ── bg:#000, layout:behind ── */
.sf-hero {
  background: #000000;
  padding: var(--sf-py) var(--sf-px);
}
.sf-hero-inner { max-width: 860px; }
.sf-hero-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.6rem;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 20px;
}
.sf-hero-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: rgba(255,255,255,0.72);
  line-height: 1.7;
  margin-bottom: 36px;
}
.sf-hero-bullets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 40px;
}
.sf-hero-bullet {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.35;
}
.sf-hero-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sf-hero-icon img {
  width: 22px;
  height: 22px;
  filter: brightness(0) invert(1);
}

/* ── CARD 2: IMPLEMENTATION ── bg:#fff, layout:left (accent left, content right) ── */
.sf-impl {
  background: #ffffff;
  padding: var(--sf-py) var(--sf-px);
}
.sf-impl-inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  gap: 60px;
  align-items: flex-start;
}
.sf-impl-left { flex: 1; }
.sf-impl-right { flex: 1; }
.sf-impl-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 36px;
}
.sf-impl-steps {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.sf-impl-step {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.sf-impl-step:nth-child(2) { margin-left: 24px; }
.sf-impl-step:nth-child(3) { margin-left: 48px; }
.sf-impl-step:nth-child(4) { margin-left: 72px; }
.sf-impl-bar {
  flex-shrink: 0;
  width: 6px;
  min-height: 80px;
  background: #d0d0d0;
  border-radius: 9999px;
}
.sf-impl-step-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #000000;
  margin-bottom: 6px;
}
.sf-impl-step-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #555555;
  line-height: 1.65;
  margin: 0;
}

/* ── CARD 3: INTEGRATION ── bg:#000, layout:blank, 3 image cards ── */
.sf-integ {
  background: #ffffff;
  padding: var(--sf-py) var(--sf-px);
}
.sf-integ-inner {
  max-width: 960px;
  margin: 0 auto;
}
.sf-integ-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: #000000;
  text-align: center;
  margin-bottom: 12px;
}
.sf-integ-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555555;
  text-align: center;
  margin-bottom: 44px;
  line-height: 1.6;
}
.sf-integ-cards {
  display: flex;
  gap: 24px;
}
.sf-integ-card {
  flex: 1;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
}
.sf-integ-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.sf-integ-card-body { padding: 20px; }
.sf-integ-card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #000000;
  margin-bottom: 10px;
}
.sf-integ-card-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #555555;
  line-height: 1.65;
  margin: 0;
}

/* ── CARD 4: SUPPORT ── bg:#fff, layout:right (content left, photo right) ── */
.sf-support {
  background: #ffffff;
  padding: var(--sf-py) var(--sf-px);
}
.sf-support-inner {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  gap: 36px;
  align-items: stretch;
}
.sf-support-left { flex: 1; }
.sf-support-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.8rem;
  color: #000000;
  line-height: 1.05;
  margin-bottom: 8px;
}
.sf-support-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #444444;
  margin-bottom: 20px;
  line-height: 1.5;
}
.sf-support-cycle {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sf-support-col-left { flex: 1; display: flex; flex-direction: column; gap: 18px; }
.sf-support-col-right { flex: 1; display: flex; flex-direction: column; gap: 18px; }
.sf-support-ring {
  flex-shrink: 0;
  position: relative;
  width: 180px;
  height: 180px;
}
.sf-ring-icon {
  position: absolute;
  font-size: 16px !important;
  color: #777777;
  background: transparent;
  border: none;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  z-index: 2;
}
/* positions on ring midpoint r=33, cx=50,cy=50 in 100x100 viewBox scaled to 140px */
.sf-ring-nw { top: 31.5%; left: 18%; }
.sf-ring-sw { top: 68.5%; left: 18%; }
.sf-ring-ne { top: 31.5%; left: 82%; }
.sf-ring-se { top: 68.5%; left: 82%; }
.sf-support-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.sf-support-item--right { flex-direction: row-reverse; text-align: right; }
.sf-support-item--left { flex-direction: row; text-align: left; }
.sf-support-item-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 0.82rem;
  color: #000000;
  margin-bottom: 3px;
}
.sf-support-item-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  color: #333333;
  line-height: 1.5;
  margin: 0;
}
.sf-support-photo { flex: 0 0 300px; }
.sf-support-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  min-height: 360px;
}

/* Scroll-to-top */
#sf-scroll-top {
  display: none;
  position: fixed;
  bottom: 32px;
  right: 32px;
  background: #2982F1;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  z-index: 999;
}

/* Services (sf-) : titres en Inter 800 comme le live (au lieu de Poppins 900),
   césure des mots longs pour éviter le débordement mobile (ex. « SuccessFactors »). */
.sf-hero-h1, .sf-impl-h1, .sf-integ-h1, .sf-support-h1 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  overflow-wrap: break-word;
}
.sf-impl-step-title, .sf-integ-card-title, .sf-support-item-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}

/* Responsive */
@media (max-width: 768px) {
  .sf-hero-h1, .sf-impl-h1, .sf-integ-h1, .sf-support-h1 { font-size: 2.25rem; }
  .sf-hero-bullets { grid-template-columns: 1fr; }
  .sf-impl-inner { flex-direction: column; }
  .sf-impl-left { display: none; }
  .sf-integ-cards { flex-direction: column; }
  .sf-support-inner { flex-direction: column; }
  .sf-support-photo { flex: 0 0 auto; min-height: 260px; }
  .sf-support-cycle { flex-direction: column; }
  .sf-support-item--right { flex-direction: row; text-align: left; }
}

/* sapstaffing */
:root { --sap-px: max(5%, calc((100% - 960px) / 2)); --sap-py: 72px; }

/* CARD 1: HERO */
.sap-hero {
  position: relative;
  background: #f2f2f2;
  padding: var(--sap-py) var(--sap-px);
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.sap-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}
.sap-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(242,242,242,0.6) 35%, rgba(242,242,242,0.1) 100%);
}
.sap-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 600px;
}
.sap-hero-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 3rem;
  color: #000000;
  line-height: 1.05;
  margin-bottom: 16px;
}
.sap-hero-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #333333;
  line-height: 1.65;
  margin-bottom: 28px;
}
.sap-hero-btn {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #000000;
  background: #ffffff;
  border: 2px solid #000000;
  border-radius: 6px;
  padding: 10px 28px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.sap-hero-btn:hover { background: #000000; color: #ffffff; }

/* ACCORDION */
.sap-accordion { background: #ffffff; padding: 24px var(--sap-px); }

/* collapsed card */
.sap-accordion-collapsed {
  position: relative;
  background: #f2f2f2;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  padding: 18px 20px;
  cursor: pointer;
  box-shadow: none;
}
.sap-accordion-icon-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #e8e8e8;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  color: #444;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}
.sap-accordion-icon-btn .material-icons { font-size: 14px !important; }
.sap-accordion-collapsed-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #000;
  margin-bottom: 6px;
  padding-right: 40px;
}
.sap-accordion-collapsed-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.83rem;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
}

/* expanded view */
.sap-accordion-expanded { display: none; position: relative; }
.sap-accordion--open .sap-accordion-collapsed { display: none; }
.sap-accordion--open .sap-accordion-expanded { display: block; }

/* collapse button inside expanded */
.sap-accordion-collapse-btn {
  position: absolute;
  top: 20px;
  right: var(--sap-px);
  display: flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  padding: 6px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  color: #333;
  cursor: pointer;
  z-index: 2;
}
.sap-accordion-collapse-btn .material-icons { font-size: 14px !important; }

/* CARD 2: FLEXIBLE APPROACH */
.sap-approach {
  background: #f2f2f2;
  padding: var(--sap-py) var(--sap-px);
}
.sap-approach-inner { max-width: 960px; margin: 0 auto; }
.sap-approach-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  color: #000000;
  text-align: center;
  margin-bottom: 12px;
}
.sap-approach-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: #444444;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.6;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.sap-approach-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.sap-approach-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
}
.sap-approach-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}
.sap-approach-card-body { padding: 16px; }
.sap-approach-card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #000000;
  margin-bottom: 8px;
}
.sap-approach-card-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #555555;
  line-height: 1.6;
  margin: 0;
}

/* CARD 3: MODULE COVERAGE */
.sap-modules {
  background: #ffffff;
  padding: var(--sap-py) var(--sap-px);
}
.sap-modules-inner { max-width: 960px; margin: 0 auto; }
.sap-modules-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  color: #000000;
  text-align: center;
  margin-bottom: 40px;
}
.sap-modules-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.sap-modules-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
}
.sap-modules-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.sap-modules-card-body { padding: 20px; }
.sap-modules-card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #000000;
  margin-bottom: 10px;
}
.sap-modules-card-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #555555;
  line-height: 1.65;
  margin: 0;
}

/* Titres sapstaffing (sap-) : Inter 800 comme le live (au lieu de Poppins 900),
   réduits sur mobile pour rester cohérents avec le reste du site. */
.sap-hero-h1, .sap-approach-h1, .sap-modules-h1 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  overflow-wrap: break-word;
}
.sap-accordion-collapsed-title, .sap-approach-card-title, .sap-modules-card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}
@media (max-width: 768px) {
  .sap-hero-h1, .sap-approach-h1, .sap-modules-h1 { font-size: 2.25rem; }
}

/* sapstaffing scroll-top */
#sap-scroll-top {
  position: fixed; bottom: 32px; right: 32px;
  background: #000; color: #fff; border: none;
  border-radius: 50%; width: 44px; height: 44px;
  display: none; cursor: pointer; z-index: 999;
}

/* sapstaffing responsive */
@media (max-width: 768px) {
  .sap-approach-cards { grid-template-columns: 1fr 1fr; }
  .sap-modules-cards { grid-template-columns: 1fr; }
}

/* servicecloud */
:root {
  --sc-px: max(5%, calc((100% - 960px) / 2));
  --sc-py: 72px;
}

/* CARD 1 — SAP Service Cloud Hero, layout:right, bg:#ffffff */
.sc-hero1 {
  background: #ffffff;
  padding: var(--sc-py) var(--sc-px);
}
.sc-hero1-inner {
  display: flex;
  align-items: center;
  gap: 56px;
}
.sc-hero1-content { flex: 1; min-width: 0; }
.sc-hero1-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.1;
  color: #000000;
  margin: 0 0 20px 0;
}
.sc-hero1-body {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #333333;
  line-height: 1.7;
  margin: 0 0 16px 0;
}
.sc-hero1-body2 {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: #333333;
  line-height: 1.65;
  margin: 0;
  border-left: 3px solid #000000;
  padding-left: 20px;
}
.sc-hero1-img-wrap { flex: 0 0 44%; max-width: 44%; }
.sc-hero1-img { width: 100%; border-radius: 12px; display: block; object-fit: cover; }

/* CARD 2 — ServiceNow Hero, layout:right, bg:#ffffff */
.sc-hero2 {
  background: #ffffff;
  padding: var(--sc-py) var(--sc-px);
}
.sc-hero2-inner {
  display: flex;
  align-items: center;
  gap: 56px;
}
.sc-hero2-content { flex: 1; min-width: 0; }
.sc-hero2-h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.1;
  color: #000000;
  margin: 0 0 20px 0;
}
.sc-hero2-body {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #333333;
  line-height: 1.7;
  margin: 0 0 16px 0;
}
.sc-hero2-body2 {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: #333333;
  line-height: 1.65;
  margin: 0;
  border-left: 3px solid #000000;
  padding-left: 20px;
}
.sc-hero2-img-wrap { flex: 0 0 44%; max-width: 44%; }
.sc-hero2-img { width: 100%; border-radius: 12px; display: block; object-fit: cover; max-height: 380px; }

/* CARD 3 — Capabilities, layout:behind, bg image + dark overlay */
.sc-caps { position: relative; overflow: hidden; }
.sc-caps-bg { position: absolute; inset: 0; z-index: 0; }
.sc-caps-bg-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-caps-overlay { position: absolute; inset: 0; background: rgba(255,255,255,0.88); z-index: 1; }
.sc-caps-inner {
  position: relative;
  z-index: 2;
  padding: var(--sc-py) var(--sc-px);
  text-align: left;
}
.sc-caps-h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  color: #000000;
  margin: 0 0 16px 0;
}
.sc-caps-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #444444;
  line-height: 1.7;
  max-width: 100%;
  margin: 0 0 48px 0;
}
.sc-caps-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  text-align: left;
}
.sc-caps-card {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
.sc-caps-icon-wrap {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.sc-caps-icon { width: 36px; height: 36px; }
.sc-caps-card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #000000;
  margin-bottom: 10px;
}
.sc-caps-card-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #444444;
  line-height: 1.65;
  margin: 0;
}

/* CARD 4 — Proven Results, layout:left (left empty), circleStats 2+1 */
.sc-results {
  background: #ffffff;
  padding: var(--sc-py) var(--sc-px);
}
.sc-results-inner {
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
.sc-results-img-wrap { flex: 0 0 42%; max-width: 42%; align-self: stretch; }
.sc-results-img { width: 100%; height: 100%; object-fit: cover; object-position: center top; border-radius: 12px; display: block; }
.sc-results-content { flex: 1; min-width: 0; }
.sc-results-h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2rem;
  color: #000000;
  margin: 0 0 12px 0;
}
.sc-results-sub {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #555555;
  line-height: 1.7;
  margin: 0 0 48px 0;
}
/* Circle stats grid: 2 on top, 1 centered below */
.sc-circles {
  display: grid;
  grid-template-columns: 270px 270px;
  gap: 40px 41px;
  margin-bottom: 40px;
}
.sc-circle-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 270px;
}
.sc-circle-item--center {
  grid-column: 1 / -1;
  justify-self: center;
}
.sc-circle-wrap {
  position: relative;
  width: 270px;
  height: 270px;
  margin-bottom: 16px;
}
.sc-circle-wrap svg {
  display: block;
  width: 270px;
  height: 270px;
}
.sc-circle-pct {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 45px;
  color: #000000;
  line-height: 1;
}
.sc-circle-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #000000;
  margin-bottom: 8px;
}
.sc-circle-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #666666;
  line-height: 1.6;
  margin: 0;
  max-width: 250px;
}
.sc-results-footer {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: #444444;
  line-height: 1.65;
  margin: 0;
}

/* CARD 5 — Intelligent Features, layout:behind dark */
.sc-features {
  position: relative;
  overflow: hidden;
}
.sc-features-bg { position: absolute; inset: 0; z-index: 0; }
.sc-features-bg-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-features-overlay { position: absolute; inset: 0; background: rgba(255,255,255,0.88); z-index: 1; }
.sc-features-inner { position: relative; z-index: 2; padding: var(--sc-py) var(--sc-px); text-align: left; }
.sc-features-h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2.2rem;
  color: #000;
  margin: 0 0 40px 0;
}
.sc-features-items {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 680px;
}
.sc-features-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto;
  gap: 4px 16px;
}
.sc-features-icon-wrap {
  grid-column: 1;
  grid-row: 1;
  width: 44px;
  height: 44px;
  border: 1.5px solid #cccccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}
.sc-features-icon { width: 26px; height: 26px; filter: none; }
.sc-features-item-title {
  grid-column: 2;
  grid-row: 1;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #000000;
  margin: 0;
  align-self: center;
}
.sc-features-item-desc {
  grid-column: 2;
  grid-row: 2;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #444444;
  line-height: 1.65;
  margin: 0;
}

/* CARD 6 — Why Businesses, layout:left bg:#ffffff, horizontal stats with big % */
.sc-why {
  background: #ffffff;
  padding: var(--sc-py) var(--sc-px);
}
.sc-why-inner {
  display: flex;
  align-items: flex-start;
  gap: 56px;
}
.sc-why-img-wrap { flex: 0 0 37.5%; max-width: 37.5%; }
.sc-why-img { width: 100%; border-radius: 12px; display: block; object-fit: cover; }
.sc-why-content { flex: 1; min-width: 0; }
.sc-why-h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 2rem;
  color: #000000;
  margin: 0 0 32px 0;
}
/* 3 stats side by side with big % numbers */
.sc-why-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 32px;
}
.sc-why-stat { display: flex; flex-direction: column; gap: 6px; }
.sc-why-stat-pct {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  font-size: 3.7rem;
  color: #000000;
  line-height: 1;
  margin-bottom: 4px;
}
.sc-why-stat-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #000000;
}
.sc-why-stat-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #666666;
  line-height: 1.55;
  margin: 0;
}
.sc-why-footer {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: #444444;
  line-height: 1.65;
  margin: 0;
}

/* servicecloud scroll-top */
#sc-scroll-top {
  position: fixed; bottom: 32px; right: 32px;
  background: #000; color: #fff; border: none;
  border-radius: 50%; width: 44px; height: 44px;
  display: none; cursor: pointer; z-index: 999;
}

/* Titres servicecloud (sc-) : Inter 800 comme le live (au lieu de Poppins 900). */
.sc-hero1-h1, .sc-hero2-h1, .sc-caps-h2, .sc-results-h2, .sc-features-h2, .sc-why-h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  overflow-wrap: break-word;
}

/* servicecloud responsive */
@media (max-width: 768px) {
  .sc-hero1-inner, .sc-hero2-inner, .sc-results-inner, .sc-why-inner { flex-direction: column; }
  .sc-hero1-img-wrap, .sc-hero2-img-wrap, .sc-results-img-wrap, .sc-why-img-wrap { max-width: 100%; flex: unset; }
  .sc-caps-cards, .sc-features-items { grid-template-columns: 1fr; }
  /* Les cercles de stats étaient en 270px×270px fixes (2 colonnes = 581px) et
     débordaient de ~240px sur mobile : on passe en 1 colonne centrée + largeur
     adaptative pour qu'ils ne dépassent jamais le viewport. */
  .sc-circles { grid-template-columns: 1fr; justify-items: center; }
  .sc-circle-item { width: 100%; max-width: 270px; }
  .sc-circle-wrap { width: min(270px, 100%); height: auto; aspect-ratio: 1 / 1; }
  .sc-circle-wrap svg { width: 100%; height: 100%; }
  /* Les 3 stats « Why » (repeat(3,1fr)) : empilées sur mobile pour ne pas déborder. */
  .sc-why-stats { grid-template-columns: 1fr; }
}

/* fico */
.fi-page {
  font-family: 'Inter', 'Helvetica Neue', sans-serif;
  color: #333;
  padding: 24px max(5%, calc((100% - 1200px) / 2)) 48px;
}
.fi-header {
  text-align: center;
  margin-bottom: 48px;
}
.fi-header-title {
  font-size: clamp(2.5rem, 6vw, 3.25rem);
  font-weight: 700;
  color: #111827;
  margin-bottom: 12px;
  font-family: 'Inter', sans-serif;
}
.fi-header-sub {
  font-size: clamp(1rem, 2.5vw, 1.125rem);
  color: #6b7280;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.6;
}
.fi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.fi-card {
  background: #fafafa;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  display: flex;
  flex-direction: column;
}
.fi-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
  border-color: #0000a4;
}
.fi-card-title {
  font-size: clamp(1.1rem, 2.5vw, 1.375rem);
  font-weight: 600;
  color: #1f2937;
  border-left: 4px solid #0000a4;
  padding-left: 12px;
  margin-bottom: 12px;
  transition: color 0.2s ease;
  font-family: 'Inter', sans-serif;
}
.fi-card:hover .fi-card-title { color: #0000a4; }
.fi-card-desc {
  font-size: clamp(0.9rem, 2vw, 1rem);
  color: #6b7280;
  line-height: 1.7;
  margin: 0;
}

/* fico scroll-top */
#fi-scroll-top {
  display: none;
  position: fixed;
  bottom: 32px;
  right: 32px;
  background: #2982F1;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  z-index: 999;
}

/* fico responsive */
@media (max-width: 1024px) {
  .fi-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .fi-grid { grid-template-columns: 1fr; }
}
