.elementor-960 .elementor-element.elementor-element-bdb82ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-f6a11c1{--spacer-size:84px;}.elementor-960 .elementor-element.elementor-element-373987f{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-960 .elementor-element.elementor-element-373987f.e-con{--align-self:stretch;--flex-grow:327;--flex-shrink:1;}.elementor-widget-slides .elementor-slide-heading{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-slides .elementor-slide-description{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-slides .elementor-slide-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-960 .elementor-element.elementor-element-c41ced5 .elementor-repeater-item-3ec6a22 .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://optitech-ems.in/wp-content/uploads/2026/02/IMG_12594c8a33-1.jpeg);background-size:cover;}.elementor-960 .elementor-element.elementor-element-c41ced5 .elementor-repeater-item-3ec6a22 .elementor-background-overlay{background-color:rgba(0,0,0,0.5);}.elementor-960 .elementor-element.elementor-element-c41ced5 .swiper-slide{transition-duration:calc(5000ms*1.2);height:683px;}.elementor-960 .elementor-element.elementor-element-c41ced5.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-960 .elementor-element.elementor-element-c41ced5 .swiper-slide-contents{max-width:100%;}.elementor-960 .elementor-element.elementor-element-c41ced5 .swiper-slide-inner{text-align:center;}.elementor-960 .elementor-element.elementor-element-692506a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-960 .elementor-element.elementor-element-ba22cf4 p{margin-block-end:34px;}.elementor-960 .elementor-element.elementor-element-0a17fe0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-75439b2{--display:flex;--min-height:25px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-75439b2:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-75439b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #1AA696 0%, #1AA696 100%);}.elementor-960 .elementor-element.elementor-element-f9fc406:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-f9fc406 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);}.elementor-960 .elementor-element.elementor-element-f9fc406 > .elementor-container{max-width:1600px;}.elementor-960 .elementor-element.elementor-element-f9fc406{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-960 .elementor-element.elementor-element-f9fc406 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-960 .elementor-element.elementor-element-e1df501{width:var( --container-widget-width, 99.667% );max-width:99.667%;--container-widget-width:99.667%;--container-widget-flex-grow:0;}.elementor-960 .elementor-element.elementor-element-e1df501.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-960 .elementor-element.elementor-element-fef8fb3{--spacer-size:19px;}.elementor-960 .elementor-element.elementor-element-b510f78{--display:flex;--min-height:8px;}.elementor-960 .elementor-element.elementor-element-b510f78:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-b510f78 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #1AA696 0%, #1AA696 100%);}.elementor-960 .elementor-element.elementor-element-f125448{--display:flex;--min-height:33px;}.elementor-960 .elementor-element.elementor-element-f125448:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-f125448 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1AA696;}.elementor-960 .elementor-element.elementor-element-c31ee46{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-811a69c{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-960 .elementor-element.elementor-element-811a69c.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-960 .elementor-element.elementor-element-d2eec34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-391772e{--display:flex;--min-height:25px;}.elementor-960 .elementor-element.elementor-element-391772e:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-391772e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #1AA696 0%, #1AA696 100%);}.elementor-960 .elementor-element.elementor-element-a98e233:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-a98e233 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);}.elementor-960 .elementor-element.elementor-element-a98e233 > .elementor-container{max-width:1600px;}.elementor-960 .elementor-element.elementor-element-a98e233{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-960 .elementor-element.elementor-element-a98e233 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-960 .elementor-element.elementor-element-b7af449{--display:flex;--min-height:17px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-b7af449:not(.elementor-motion-effects-element-type-background), .elementor-960 .elementor-element.elementor-element-b7af449 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #1AA696 0%, #1AA696 100%);}.elementor-960 .elementor-element.elementor-element-6ce85d9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-10783e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-960 .elementor-element.elementor-element-c7e1125{--spacer-size:50px;}.elementor-960 .elementor-element.elementor-element-bfdbc64{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-960 .elementor-element.elementor-element-f6a11c1{--spacer-size:0px;}.elementor-960 .elementor-element.elementor-element-75439b2{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-f9fc406{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-960 .elementor-element.elementor-element-e1df501{margin:-7px -7px calc(var(--kit-widget-spacing, 0px) + -7px) -7px;}.elementor-960 .elementor-element.elementor-element-b510f78{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-f125448{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-c31ee46{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-0d3f4f9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-960 .elementor-element.elementor-element-811a69c{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-b7af449{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-6ce85d9{--content-width:1600px;}}@media(min-width:768px){.elementor-960 .elementor-element.elementor-element-bdb82ae{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-373987f{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-692506a{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-0a17fe0{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-75439b2{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-b510f78{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-f125448{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-c31ee46{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-811a69c{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-d2eec34{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-b7af449{--content-width:1600px;}.elementor-960 .elementor-element.elementor-element-6ce85d9{--content-width:1600px;}}/* Start custom CSS for slides, class: .elementor-element-c41ced5 *//* Remove default spacing */
body {
  margin: 0;
  padding: 0;
}

/* Force hero section full width */
.hero-section {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Image fills section */
.hero-section img {
  width: 100%;
  height: auto;
  display: block;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e1df501 */.capabilities-section{
  padding:80px 20px;
  background:#f9fbfc;
  font-family:Arial, sans-serif;
}

.section-title{
  text-align:center;
  font-size:38px;
  font-weight:700;
  color:#1aa696;
  margin-bottom:10px;
}

.section-subtitle{
  text-align:center;
  max-width:800px;
  margin:0 auto 50px;
  font-size:17px;
  color:#555;
}

/* FORCE 3 IN ONE ROW */
.capability-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:1200px;
  margin:0 auto;
}

/* CARD */
.capability-card{
  perspective:1200px;
  height:280px;
}

/* FRONT & BACK */
.card-front,
.card-back{
  background:white;
  border-radius:18px;
  padding:30px 25px;
  height:100%;
  box-shadow:0 8px 25px rgba(0,0,0,0.08);
  backface-visibility:hidden;
  transition:transform 0.7s ease;
  position:absolute;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

/* FRONT */
.card-front{
  transform:rotateY(0deg);
}

.card-front h3{
  font-size:22px;
  color:#222;
  margin:15px 0 10px;
}

.card-front p{
  font-size:15px;
  color:#666;
  line-height:1.6;
}

/* NUMBER */
.cap-number{
  font-size:28px;
  font-weight:700;
  color:#1aa696;
}

/* BACK */
.card-back{
  transform:rotateY(180deg);
  background:#1aa696;
  color:white;
}

.card-back ul{
  list-style:none;
  padding:0;
  margin:0;
}

.card-back li{
  font-size:16px;
  margin:10px 0;
  color:white;
}

/* FLIP EFFECT */
.capability-card:hover .card-front{
  transform:rotateY(-180deg);
}

.capability-card:hover .card-back{
  transform:rotateY(0deg);
}

/* MOBILE */
@media(max-width:768px){
  .capability-grid{
    grid-template-columns:1fr;
  }

  .capability-card{
    height:260px;
  }
}
.cta-container{
  display:flex;
  gap:20px;
  justify-content:center;
  margin-top:40px;
}

/* Base Button */
.btn{
  padding:14px 28px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  border-radius:6px;
  transition:all 0.3s ease;
  display:inline-block;
}

/* Primary Button */
.btn-primary{
  background:#0f8f83;
  color:#ffffff;
}

.btn-primary:hover{
  background:#0c6f66;
}

/* Outline Button */
.btn-outline{
  border:2px solid #0f8f83;
  color:#0f8f83;
}

.btn-outline:hover{
  background:#0f8f83;
  color:#ffffff;
}
.process-section {
  padding: 100px 20px;
  background: linear-gradient(135deg, #eef5f3, #dfeae7);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.process-container {
  max-width: 1200px;
  margin: auto;
}

.process-title {
  text-align: center;
  font-size: 30px;
  margin-bottom: 70px;
  color: #083c38;
  font-weight: 600;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
}

/* Card */
.process-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
  transition: all 0.35s ease;
}

.process-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.08);
}

/* Image */
.image-wrapper {
  position: relative;
}

.image-wrapper img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}

/* Step Badge */
.step-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(135deg, #0b7a6d, #00c9a7);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 20px;
}

/* Content */
.process-content {
  padding: 18px;
}

.process-content h3 {
  font-size: 14px;
  color: #083c38;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 1100px) {
  .process-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .process-grid {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-f9fc406 *//* ===== STOP MOBILE LEFT SHIFT + BOUNCE ===== */

html, body {
    overflow-x: hidden !important;
    width: 100%;
    position: relative;
}

/* Remove transform & animation shifting */
@media (max-width: 767px) {

    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap {
        transform: none !important;
        left: 0 !important;
        right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-89575b6 */.global-section{
  padding:60px 20px;
  background:#ffffff;
  font-family:Arial, sans-serif;
}

.stats-row{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:25px;
  text-align:center;
}

.stat-box{
  background:#f9fefe;
  padding:25px 15px;
  border-radius:12px;
  box-shadow:0 5px 15px rgba(0,0,0,0.06);
  transition:.3s;
}

.stat-box:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 25px rgba(0,0,0,0.12);
}

.stat-box img{
  width:48px;
  margin-bottom:15px;
}

.stat-box h3{
  font-size:32px;
  color:#1aa696;
  margin:5px 0;
}

.stat-box p{
  font-size:14px;
  color:#444;
  font-weight:600;
  margin:0;
}

/* Responsive */

@media(max-width:900px){
  .stats-row{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:500px){
  .stats-row{
    grid-template-columns:1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-57975b8 */.differentiators-section {
  padding: 80px 0;
  background: #e8f8f4;
}

.container {
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}

/* Header */
.section-header {
  text-align: center;
  margin-bottom: 50px;
}

.section-header h2 {
  font-size: 36px;
  font-weight: 700;
  color: #063c34;
  margin-bottom: 8px;
}

.section-header p {
  font-size: 16px;
  color: #0e5a4f;
}

/* GRID */
.diff-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

/* CARD */
.diff-card {
  background: #ffffff;
  border: 1px solid #d4e6e2;
  border-radius: 10px;
  padding: 26px 22px;
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}

/* subtle top accent */
.diff-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #1aa696, #0e5a4f);
  transform: scaleX(0);
  transition: transform 0.35s ease;
}

.diff-card:hover::before {
  transform: scaleX(1);
}

.diff-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(0,0,0,0.14);
}

/* ICON */
.diff-icon {
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
}

.diff-icon svg {
  width: 100%;
  height: 100%;
  stroke: #1aa696;
  stroke-width: 1.8;
  fill: none;
}

/* TEXT */
.diff-card h4 {
  font-size: 17px;
  font-weight: 600;
  color: #063c34;
  margin-bottom: 8px;
}

.diff-card p {
  font-size: 14.6px;
  line-height: 1.65;
  color: #1f3e39;
  margin: 0;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .diff-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .diff-grid {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4fee21c *//* ===============================
   Container & Typography
================================ */
.ems-overlay-wrap {
  max-width: 1400px;
  margin: auto;
  padding: 80px 20px;
  font-family: Inter, Segoe UI, sans-serif;
}

.ems-overlay-head {
  text-align: center;
  margin-bottom: 60px;
}

.ems-overlay-head h2 {
  font-size: 42px;
  font-weight: 800;
  color: #1AA696;
  margin-bottom: 12px;
}

.ems-overlay-head p {
  font-size: 17px;
  color: #666;
}

/* ===============================
   Grid Layout (3 cards one row)
================================ */
.ems-overlay-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* ===============================
   Card Styling
================================ */
.ems-overlay-card {
  position: relative;
  height: 340px;
  border-radius: 22px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  transition: all 0.5s ease;
}

.ems-overlay-card:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 35px 70px rgba(0, 0, 0, 0.3);
}

/* ===============================
   Background Image
================================ */
.ems-overlay-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
}

.ems-overlay-card:hover .ems-overlay-bg {
  transform: scale(1.1);
}

/* ===============================
   Overlay Gradient
================================ */
.ems-overlay-dark {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(26, 166, 150, 0.25),
    rgba(26, 166, 150, 0.65)
  );
  z-index: 1;
}

/* ===============================
   Content Alignment
================================ */
.ems-overlay-content {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 26px 24px;
  z-index: 2;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 140px;
}

.ems-overlay-content h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
  min-height: 52px;
}

.ems-overlay-content p {
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.95;
  min-height: 48px;
}

/* ===============================
   Responsive
================================ */
@media (max-width: 850px) {
  .ems-overlay-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .ems-overlay-grid {
    grid-template-columns: 1fr;
  }
}

/* ===============================
   Background Images
================================ */
.card-bg-1 {
  background-image: url('https://images.unsplash.com/photo-1593642532973-d31b6557fa68?auto=format&fit=crop&w=900&q=80');
}

.card-bg-2 {
  background-image: url('https://images.unsplash.com/photo-1581091870627-3c64c8c6e6c4?auto=format&fit=crop&w=900&q=80');
}

.card-bg-3 {
  background-image: url('https://images.unsplash.com/photo-1581090700227-1d2f4f52f5a5?auto=format&fit=crop&w=900&q=80');
}/* End custom CSS */