:root {
  --hero-bg: #0b231e; /* base dark */
  --grid: rgba(255, 255, 255, 0.055);
  --green: #28c76f;
  --blue: #4ba9ff;
  --cta: #1fb05d;
  --cta-dark: #159048;
  --cell: 120px;
  --brand: #138a57;
  --outline-green: #17b66a;
  --gap: 5px;

  --grid-border: #e5efe9;
  --grid-line: #eef4f1;
  --tile-border: #0b6b4d; /* green line color */
  --icon-bg: #ffffff; /* small square behind icon */
  --radius: 16px;
  --lift: 0 18px 36px rgba(0, 0, 0, 0.12), 0 6px 12px rgba(0, 0, 0, 0.06);

  --brand-soft: #dff3ea;
  --dot: #19c27b;
  --line: rgba(25, 194, 123, 0.35);
  --fail: #e74c3c;
  --fail-dark: #c73a2f;
  --deep: #0c3e31; /* dark teal for cards */
  --deep-2: #0b2f25;
  --sand: #e8d8c5; /* beige card base */
  --green-two: #52b788;
  --green-dark: #0e8f58;
  --border: #09b054;
}
/* Top navbar */
body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Milligram-Regular-trial", sans-serif;
  color: #000 !important;
}
body {
  overflow-x: hidden;
  /* zoom: 80%; */
}
@font-face {
  font-family: "Milligram-Regular-trial";
  src: url('/assets/fonts/Milligram-Regular-trial.ttf') format('ttf');
}
@font-face {
  font-family: "Milligram-Medium-trial";
  src: url('/assets/fonts/Milligram-Medium-trial.ttf') format('ttf');
}

@media (min-width:992px) and (max-width:1366px) {
  body{
    zoom:80%;
  }
}
/* @font-face {
  font-family: AlteHaasGrotesk;
  src: url("/assets/fonts/GraphikCompact-Regular-Trial.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
} */
/* @font-face {
  font-family: AlteHaasGrotesk;
  src: url("/assets/fonts/GraphikCompact-Bold-Trial.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
} */
.uom-setup .setup-card {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}
.rounded-3 {
  margin-bottom: 80px !important;
  margin-top: 60px !important;
}
h2 {
  font-size: 45px !important;
  font-weight: 400 !important;
  line-height: 53px !important;
}
p,
a,
div {
  font-size: 18px !important;
  font-family: "Milligram-Medium-trial", sans-serif !important;
}
h1,h2,h3,h4,h5,h6{
  font-family: "CooperBTLight", sans-serif !important;
}
section {
  overflow: unset !important;
}
p {
  font-weight: 400 !important;
}
@media (min-width: 1200px) {
  div.container,
  section.container {
    max-width: 1140px !important;
  }
  #header.header_area.fixed-top.sticky.header-scrolled
    .nav-header
    .nav-brand
    img {
    width: 240px !important;
  }
}
/* Default transparent background */
.header_area {
  transition: background-color 0.3s ease;
  background: transparent;
}

/* Sticky state after scroll */
.header_area.sticky {
  background: #021940; /* your background color */
}
/* Menu start */
.header_area.fixed-top,
.fixed-top.topnav_bg {
  background: transparent !important;
}
@media (min-width: 1200px) {
  header.fixed-top img.img_show {
    width: 240px !important;
  }
}
.nav_style {
  display: none;
}
.top_bavbar {
  justify-content: end !important;
}
.top_bavbar a:after {
  border: 1px solid #000 !important;
}
.top_bavbar a{
  color: #000 !important;
}
.nav-menu > li > a > i,
.nav-menu > li > a > [class*="ion-"] {
  font-size: 14px;
  text-align: left;
}
.nav-menu > li > a {
  position: relative;
  display: inline-block;
  padding-bottom: 4px; /* space for the underline */
  text-decoration: none;
  color: #000 !important; /* keep text color */
}
.nav-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px; /* underline thickness */
  width: 0;
  background: linear-gradient(90deg, rgb(22 113 6), rgb(12 191 36)) !important;
  border-radius: 2px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-menu > li > a:hover::after {
  width: 100%;
}
/* Base styles for submenu / megamenu links */
.nav-dropdown li a,
.megamenu-list li a {
  position: relative;
  display: block;
  padding: 8px 15px;
  color: inherit;
  text-decoration: none;
  z-index: 1; /* make sure text is above the pseudo-element */
  overflow: hidden; /* hide the overflow of the background animation */
}
.nav-toggle:before{
  background-color: #000 !important;
  box-shadow: 0 0.5em 0 0 #000, 0 1em 0 0 #000 !important;
}
li ul.nav-submenu li a:hover {
  color: #fff !important;
}
/* Background sweep effect */
.nav-dropdown li a::before,
.megamenu-list li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0; /* start invisible */
  background: linear-gradient(90deg, rgb(22 113 6), rgb(12 191 36)) !important;
  z-index: -1; /* behind the text */
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* On hover - expand background from left to right */
.nav-dropdown li a:hover::before,
.megamenu-list li a:hover::before {
  width: 100%;
}
#header.header-scrolled{
  border-bottom: 2px solid #05679d !important;
}
/* Optional: smooth reverse on mouse out (already handled by transition) */
#header.header-scrolled img.img_show {
  display: block !important;
  width: 240px !important;
}
.navigation {
  display: flex !important;
  justify-content: space-between;
}

.megamenu-panel .megamenu-list > li > a:hover {
  color: #fff !important;
}

.megamenu-lists .megamenu-list > li.megamenu-list-title > a:hover {
  color: #fff !important;
}

@media (min-width: 1025px) {
  .navigation.navigation-portrait .nav-menus-wrapper .nav-menu li a {
    /* padding: 12px 15px 12px 26px !important; */
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .navigation.navigation-portrait .nav-menus-wrapper .nav-menu li a {
    /* padding: 12px 15px 12px 26px !important; */
  }
}
@media (min-width: 1025px) and (max-width: 1200px) {
  #header.header-scrolled {
    height: 120px !important;
  }
  .nav-toggle:before {
    background-color: #000 !important;
    box-shadow: 0 0.5em 0 0 #000, 0 1em 0 0 #000 !important;
  }
}
@media (min-width: 320px) and (max-width: 576px) {
  header#header.header-scrolled {
    height: 120px !important;
  }
}
@media (min-width: 992px) {
  header.fixed-top .nav-menu > li > a {
    padding: 40px 10px !important;
  }
  .nav-menus-wrapper .nav-menu li a {
    font-size: 16px !important;
  }
  .fixed-top.topnav_bg a {
    font-size: 16px !important;
  }
}

/* Menu end */

/* Background image on parent wrapper */
.hero-wrapper {
  background: url("/assets/img/About-us-page-new-banner-bg.avif") no-repeat
    center center;
  background-size: cover;
  color: #000;
  overflow: hidden;
  /* background-color: #F4FFEE; */
}

.hero-section {
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding-top: 30px;
  padding-bottom: 50px;
  justify-content: center;
}

.hero-content {
  position: relative;
  z-index: 1; /* above overlay */
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
  color: #004934;
}

.hero h1{
  font-weight: 600;
}
.hero p{
  font-size: 20px !important;
}

/* Banner section start */

/* Gradient text helpers */
.grad-green {
  background: linear-gradient(90deg, #6df2a0, #2ecf78 60%, #13a85a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.grad-blue {
  background: linear-gradient(90deg, #7bd3ff, #4ba9ff 60%, #2f7fe4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-title {
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.2px;
}

/* Subhead */
.hero-sub {
  color: rgba(255, 255, 255, 0.8);
}

/* Bordered note pill */
.hero-note {
  display: inline-block;
  color: #d9f6e8;
  background: rgba(40, 199, 111, 0.06);
  border: 1.5px solid rgba(40, 199, 111, 0.45);
  border-radius: 10px;
  padding: 10px 14px;
  max-width: 780px;
}

/* CTA button */
.btn-cta {
  background: var(--cta);
  border: none;
  color: #fff;
  font-weight: 700;
  padding: 0.85rem 1.25rem;
  border-radius: 0.6rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease,
    background-color 0.2s ease;
}
.btn-cta:hover {
  background: var(--cta-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}
.btn-cta:active {
  transform: translateY(0);
}

@media (min-width: 992px) {
  .hero-title {
    font-size: 60px;
  }
}
@media (max-width: 991.98px) {
  .hero-title {
    font-size: 2.25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn-cta {
    transition: none;
  }
}


/* Make the <video> fill the Bootstrap ratio box */
.hero-video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Centered circular play button */
.hero-play {
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%);
  width: 78px !important; height: 78px !important;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  transition: transform .15s ease, opacity .2s ease;
  cursor: pointer;
}
.hero-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.hero-play:focus-visible { outline: 3px solid #0d6efd; outline-offset: 2px; }
/* Triangle icon via CSS */
.hero-play::before {
  content: "";
  border-left: 20px solid #111;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 3px;
}

/* Hide the play button once video is playing */
.hero-video-playing .hero-play {
  opacity: 0;
  pointer-events: none;
}

/* Banner section end */

/* Header and hero end */

/* Story section start */

.story-section {
      background: linear-gradient(180deg, #F4FFEE, #FEFEFB);
      padding: 60px 0;
    }
    .story-section h2 {
      font-weight: 700;
      text-align: center;
      color: #213130;
      max-width: 900px;
      margin: 0 auto 30px auto;
    }
    .story-section .description {
      font-size: 1rem;
      
      line-height: 2;
    }
    .story-section .info-box {
      background:linear-gradient(90deg, #022213, #2B6450);
      color: white;
      text-align: left;
      padding: 25px;
      border-radius: 25px;
      font-weight: 500;
      border: 1px solid #71BF44;
    }
    .info-box p{
      color: #C1E0D1;
      font-size: 22px !important;
    }
    .story-section .info-box span {
      font-size: 4rem;
      font-weight: 700;
      margin-bottom: 8px;
      color: #C1E0D1;
    }
    .story-section .bottom-text {
      background: #fff;
      border-radius: 10px;
      padding: 25px;
      text-align: center;
      font-size: 1rem;
      color: #000;
      margin: 30px 30px 0 30px;
      border: 1px solid #2B6450;
      box-shadow: 0px 0px 4px 3px #8C8C4840;
    }
    @media (max-width: 992px) {
      .story-section .image-wrapper {
        text-align: center;
        margin-top: 30px;
      }
    }


/* Story section end */


/* Dsd section start */

.dsd-journey {
  background: linear-gradient(180deg, #FEFEFB, #ffffff);
}
.dsd-journey h2 {
  font-size: 2rem;
}
.dsd-journey p {
  line-height: 2;
}
@media (max-width: 992px) {
  .dsd-journey {
    text-align: center;
  }
  .dsd-journey img {
    margin-bottom: 20px;
  }
}

/* Dsd section end */

/* Our promise section start */


.our-promise {
  background: url('/assets/img/our-promise-bg.avif') center center/cover no-repeat;
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
}

.difference-section h2{
  margin-bottom: 60px !important;
}

.our-promise h2 {
  font-size: 2rem;
  background: -webkit-linear-gradient(180deg, #4EC1FF, #77EDA8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.our-promise p {
  /* font-size: 1.05rem; */
  max-width: 850px;
  margin: 0 auto;
  line-height: 2;
}


/* Our promise section end */

/* Difference section start */

.custom-card {
  background: url('/assets/img/Line.avif') no-repeat center/100% 100%;
  padding: 40px 32px;
  /* border-radius: 22px; */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

}

/* ICON BADGE */
.icon-badge {
  position: absolute;
  top: -40px;
  left: 40px;
}

.icon-badge img{
  width: 80px;
    height: 90px;
}


.custom-card h4 {
  margin-top: 30px;
  font-size: 1.25rem;
}

.custom-card p {
  margin-top: 10px;
  line-height: 1.6;
}




/* Difference section end */



/* CTA section start */


/* CONTAINER */
.cta-section .cta-wrapper {
  background: url('/assets/img/Ready-to-Transform-Your-Route-Operations-bg.avif') center/cover no-repeat;
  border-radius: 28px;
  padding: 60px 50px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: visible; /* allow image to float outside bottom */
  min-height: 260px;
}

/* LEFT SIDE CONTENT WIDTH */
.cta-section .cta-content {
  width: 90%;
  z-index: 5;
}

/* RIGHT SIDE IMAGE POSITION */
.cta-section .cta-image {
  position: absolute;
  right: 35px;          /* moves inward from the right */
  bottom: -35px;        /* exact overlapping like your reference */
  z-index: 4;
}

.cta-section .cta-image img {
  width: 260px;         /* similar size as your reference */
  display: block;
}

/* BUTTON LOOK */
.cta-section .cta-content .btn {
  border-radius: 10px;
}


.cta-content p{
  width: 50%;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .cta-section .cta-wrapper {
    flex-direction: column;
    text-align: left;
    padding: 50px 25px;
  }

  .cta-section .cta-content {
    width: 100%;
  }
.cta-content p{
  width: 100%;
}
  .cta-section .cta-image {
    position: relative;
    right: 0;
    bottom: 0;
    margin-top: 25px;
  }

  .cta-section .cta-image img {
    width: 200px;
  }
}




/* CTA section end */




/* Footer section */

.footer-section {
  background: #000;
  color: #fff;
  font-size: 1rem;
  border-top: 1px solid #333;
}

.footer-logo-img {
  height: 100px;
  max-width: 100%;
}

.footer-title {
  color: #7fff00;
  font-weight: 600;
  margin-bottom: 12px;
  font-size: 20px;
}

.footer-address {
  font-style: normal;
  color: #fff;
  line-height: 1.7;
  margin-bottom: 0;
  font-size: 18px;
}
.footer-address a {
  color: #ffffff;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 8px;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: #0085cd;
}

.footer-social {
  margin-top: 10px;
}

.footer-social a {
  color: #fff;
  font-size: 1.5rem;
  margin-right: 10px;
  transition: color 0.2s;
  display: inline-block;
}
.footer-social a i {
  font-size: 25px;
}

.footer-social a:hover {
  color: #0085cd;
}

.footer-bg-logo-img {
  /* opacity: 0.08; */
  width: 60%;
  max-width: 220vw;
  height: auto;
  margin: 0 auto;
  display: block;
}

.footer-copyright {
  color: #fff;
  font-size: 18px;
  margin: 18px 0 0 0;
  letter-spacing: 0.01em;
  padding: 20px 0px;
}

@media (max-width: 767.98px) {
  .footer-logo-img {
    height: 40px;
  }
  .footer-bg-logo-img {
    width: 180px;
  }
  .footer-title {
    margin-top: 18px;
  }
  h2 {
    font-size: 35px !important;
  }
  .uom-setup .setup-card {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .rounded-3 {
    margin-bottom: 10px !important;
    margin-top: 10px !important;
  }
}
.bg-dark-gray {
  background: url(/assets/img/Black-Background.png);
  padding: 20px 0px;
}

/* Footer section */
/********Bharathi****/
.isc-head-grad-green {
  background: linear-gradient(90deg, #71bf44 0%, #6fc1ff 90%, #71bf44 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-note {
  margin: 0 auto 28px;
}
.gradient-btn {
  background: linear-gradient(90deg, rgb(22 163 74), #059669);
  color: #fff !important;
  padding: 20px 40px !important;
  border-radius: 12px;
  font-weight: 700 !important;
  text-decoration: none;
  transform: scale(1);
}
.gradient-btn:not(:hover) {
  animation: zoomOut 0.6s forwards;
}
.gradient-btn:hover {
  animation: zoomIn 0.6s forwards;
  box-shadow: 0 25px 50px -12px rgb(34 197 94 / 25%);
}
@keyframes zoomIn {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.05);
  }
}

@keyframes zoomOut {
  from {
    transform: scale(1.05);
  }
  to {
    transform: scale(1);
  }
}
.text-muted.color-white {
  color: #f5f5f5 !important;
}

.margin-bum-30 {
  margin-bottom: 30px;
}
/* gradient vertical dashed line */
.timeline li::after {
  content: "";
  position: absolute;
  left: 8px; /* aligns with dot center */
  top: 20px; /* start below dot */
  bottom: -40px; /* extend until next li */
  width: 2px;

  background: repeating-linear-gradient(
    to bottom,
    rgba(26, 188, 156, 0.6) 0px,
    rgba(26, 188, 156, 0.6) 8px,
    rgba(26, 188, 156, 0) 8px,
    rgba(26, 188, 156, 0) 16px
  );
}
.timeline li {
  padding-bottom: 15px;
}
.timeline li:first-child::before {
  content: unset !important;
}
.timeline li::after {
  top: -37px !important;
}
.font-size-20 {
  font-size: 20px;
}

.what-card h5 {
  color: #00ff72 !important;
}
.dot-list li::before {
  background: #00ff72;
  box-shadow: unset;
}
.dot-list li {
  color: #fcf8f5;
  font-size: 18px;
  line-height: 25px;
}
.timeline li:hover {
  transform: unset;
}
.margin-bottom-60 {
  margin-bottom: 60px;
}
@media (min-width: 0px) and (max-width: 995px) {
  .uom-setup .setup-card {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .rounded-3 {
    margin-bottom: 10px !important;
    margin-top: 10px !important;
  }
}
