

.nx-hero{
  height:100vh;
  background:#042840;
  position:relative;
  overflow:hidden;
  font-family:Arial,sans-serif;
}

/* slide */
.nx-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.15);
  transition:opacity 1s ease, transform 1.2s ease;
}

.nx-slide.nx-active{
  opacity:1;
  transform:scale(1);
  z-index:2;
}

/* media */
.nx-media{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 3D floating */
.nx-3d{
  animation:nxFloat 6s ease-in-out infinite;
}

@keyframes nxFloat{
  0%{transform:translateY(0) rotateY(0deg);}
  50%{transform:translateY(-25px) rotateY(12deg);}
  100%{transform:translateY(0) rotateY(0deg);}
}

/* content */
.nx-content{
  position:absolute;
  top:50%;
  left:8%;
  transform:translateY(-50%);
  max-width:500px;
  color:#fff;
  animation:nxFadeUp 1.2s ease;
}

@keyframes nxFadeUp{
  from{opacity:0; transform:translateY(30px);}
  to{opacity:1; transform:translateY(-50%);}
}

.nx-content h1{
  font-size:52px;
  margin-bottom:15px;
  color: #ffffff;
  padding: 5px;
}

.nx-content p{
  opacity:.85;
  margin-bottom:30px;
  color: #ffffff;
  padding: 5px;
}

.nx-btn{
  display:inline-block;
  padding:14px 40px;
  border-radius:50px;
  font-weight:600;
  text-decoration:none;
  font-size:16px;

  /* 🔥 Gradient like screenshot */
  background: linear-gradient(
      135deg,
      #ffffff 0%,
      #e8fff3 40%,
      #39e29d 100%
  );

  color:#0b2f44;

  /* Soft depth */
  box-shadow:
      0 8px 20px rgba(0,0,0,.15),
      inset 0 2px 6px rgba(255,255,255,.6);

  transition:.35s ease;
}

.nx-btn:hover{
  transform: translateY(-3px);
  box-shadow:
      0 14px 30px rgba(0,0,0,.25),
      inset 0 2px 8px rgba(255,255,255,.7);
}

.nx-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50px;
  /* background:linear-gradient(to bottom, rgba(255,255,255,.6), transparent); */
  opacity:.4;
}
/* dots */
.nx-dots{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
}

.nx-dot{
  width:12px;
  height:12px;
  background:#555;
  border-radius:50%;
  display:inline-block;
  margin:0 6px;
  cursor:pointer;
  transition:.3s;
}

.nx-dot.nx-active{
  background:#12f1cc;
}

.phone_item{
    display:flex;
    align-items:center;
    gap:40px;
}



.phone_call{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#ffffff;
}

/* icon circle */
.phone_icon{
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid transparent;

    background:
        linear-gradient(#032E4A,#032E4A) padding-box,
        linear-gradient(135deg,#ffffff,#21b983) border-box;
}

/* phone icon */
.phone_icon i{
    color:#fff;
    font-size:14px;
    transform: rotate(80deg);
}
























/* .wh-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

#viewer {
  width: 100%;
  height: 100%;
}


.rack-hotspot{
  cursor:pointer;
  pointer-events:auto;
}


.rack-card{
  background: rgba(13,110,253,0.95);
  padding:10px 14px;
  border-radius:10px;
  text-align:center;
  color:#fff;
  font-family:Arial;
  min-width:120px;

  box-shadow:0 10px 25px rgba(0,0,0,.35);
  transition:.25s;
}


.rack-title{
  font-size:15px;
  font-weight:600;
}


.rack-desc{
  font-size:12px;
  margin-top:4px;
  opacity:.9;
}


.rack-card:hover{
  transform:translateY(-4px) scale(1.05);
  background:#0b5ed7;
} */



/* ===== BACKGROUND 3D VIDEO ===== */
#ea-bg-viewer{
  position:fixed;
  inset:0;
  z-index:1;
  filter:brightness(.65);
}

/* ===== MAIN WRAPPER ===== */
.ea-tour-wrapper{
  position:fixed;
  inset:0;
  width:100%;
  height:100vh;
  background:#000;
  z-index:9999;
  display:none;
}
.ea-tour-wrapper.ea-open{ display:block; }

/* blur background when open */
.ea-open ~ #ea-bg-viewer{
  filter:blur(6px) brightness(.35);
}

/* ===== VIEWER ===== */
#ea-viewer{
  width:100%;
  height:100%;
  transition:opacity .35s ease;
}

/* ===== CLOSE ===== */
.ea-btn-close{
  position:absolute;
  top:15px;
  right:20px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,.6);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}

/* ===== SIDE ARROWS ===== */
.ea-nav-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:60px;
  height:90px;
  border:none;
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:40px;
  cursor:pointer;
}
.ea-left{ left:10px; }
.ea-right{ right:10px; }

/* ===== ICON GROUP ===== */
.ea-left-icons{
  position:absolute;
  bottom:90px;
  left:20px;
  display:flex;
  gap:10px;
}
.ea-right-icons{
  position:absolute;
  bottom:90px;
  right:20px;
  text-align:right;
}
.ea-icon-btn{
  background:rgba(0,0,0,.6);
  color:#fff;
  border:none;
  padding:10px;
  cursor:pointer;
}

.ea-brand{
  margin-top:8px;
  color:#fff;
  font-weight:bold;
}

/* ===== BOTTOM BAR ===== */
.ea-bottom-bar{
  position:absolute;
  bottom:0;
  width:100%;
  background:#1b1b1b;
  color:#fff;
  padding:10px;
}

.ea-floor-info{
  text-align:center;
  margin-bottom:8px;
  font-size:14px;
}

/* ===== TABS ===== */
.ea-tabs{
  display:flex;
  justify-content:center;
  gap:20px;
  margin-bottom:8px;
}
.ea-tab{
  border:none;
  background:none;
  color:#aaa;
  cursor:pointer;
}
.ea-active{
  color:#fff;
  border-bottom:2px solid #0d6efd;
}

/* ===== THUMBNAILS ===== */
.ea-thumb-wrap{
  display:flex;
  align-items:center;
  gap:10px;
}

.ea-thumb-track{
  display:flex;
  gap:10px;
  overflow:hidden;
  flex:1;
}

.ea-thumb{
  min-width:120px;
  height:70px;
  background:#333;
  cursor:pointer;
  border-radius:4px;
  overflow:hidden;
}
.ea-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}

.ea-thumb.active{
  outline:2px solid #0d6efd;
}

.ea-thumb-nav{
  background:#000;
  color:#fff;
  border:none;
  padding:10px;
  font-size:20px;
  cursor:pointer;
}



/* ===== MOBILE ===== */
@media(max-width:768px){
  .ea-nav-arrow{ width:40px;height:60px;font-size:28px; }
  .ea-thumb{ min-width:90px;height:55px; }
}




















/* OUTER WRAPPER */
.service-carousel-wrapper {
    position: relative;
}



/* carousel itself */
.service-carousel {
    position: relative;
    overflow: visible;   /* MUST be visible */
}

/* image crop only */
.service-carousel-inner {
    border-radius: 12px;
    overflow: hidden;    /*  image cut হবে */
}

/* image */
.service-carousel img {
    height: 100%;
    object-fit: cover;
}



/* OUTSIDE BUTTON STYLE */
.carousel-outside-controls .carousel-control-prev,
.carousel-outside-controls .carousel-control-next {
    width: 52px;
    height: 52px;
    background: #ffffff;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* LEFT */
.carousel-outside-controls .outside-prev {
    left: -75px;
}

/* RIGHT */
.carousel-outside-controls .outside-next {
    right: -75px;
}



/* arrow color */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
}



.agile-waterfall-section {
    padding: 60px 20px;
    background: #fdf9f9;
}

.container-agile-waterfall {
    max-width: 1200px;
    margin: auto;
}

/* image styling */
.agile-waterfall-section .carousel-inner img {
    border-radius: 12px;
}

/* outside controls */
.carousel-outside-controls .outside-prev {
    left: -60px;
}

.carousel-outside-controls .outside-next {
    right: -60px;
}

/* MOBILE FIX */
@media (max-width: 991px) {
    .carousel-outside-controls .outside-prev {
        left: 10px;
    }
    .carousel-outside-controls .outside-next {
        right: 10px;
    }
    .carousel-control-prev-icon, .carousel-control-next-icon {
        visibility: hidden;
    }
    .carousel-outside-controls .outside-prev {
        visibility: hidden;

    }
    .carousel-outside-controls .outside-next {
        visibility: hidden;

    }
    .service_details_content p{
        text-align: justify;
    }
}





@media (max-width: 768px) {
    .carousel-outside-controls .outside-prev,
    .carousel-outside-controls .outside-next {
        left: 10px;
        right: 10px;
    }
    
}



/* Service dropdown menu */
/* Parent menu */

.header-menu ul li {
    position: relative;
}


.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 300px;

    background: #032e4acc;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);

    display: none;
    opacity: 0;
    visibility: hidden;

    transition: background 0.3s ease, opacity 0.3s ease;
    z-index: 1000;

    display: flex;
    flex-direction: column;
}

.header-scrolled .dropdown-menu {
    background: #032e4acc;
}

.dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    margin-top: 20px;
}

.service-category-menu {
    position: relative;
}

.service-category-menu::after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 200px;   
    height: 100%;
}

.service-category-menu > a {
    padding: 10px 15px !important;
    display: block;
    font-weight: 600;
    color: #333;
}
.service-category-menu > a {
    display: block;
    padding: 10px 18px;
    font-weight: 600;
    color: #0b3a2f;
}

/* optional: first item highlight */
.static-item > a {
    font-weight: 700;
}


.dropdown-menu li a:hover {
    transform: scale(1.08);
}

.sub-menu {
    position: absolute;
    top: 0;
    left: 250px;

    min-width: 240px;
    background: #032e4acc;

    display: none;
    opacity: 0;
    visibility: hidden;
    border-radius: 3px;

    padding: 0 0;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    z-index: 10;
}

.header-scrolled .sub-menu {
    background: #032e4acc;
}

.service-category-menu:hover > .sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

.sub-menu li {
    display: block;
}

.sub-menu li a {
    padding: 10px 15px !important;
    display: block;
    color: #333;
    font-size: 14px !important;
}


.sub-menu li a:hover {
    transform: scale(1.08);
}


.mobile-menu-area .header-menu {
    max-height: 80vh;         
    overflow-y: auto;          
}

/* Mobile dropdown open */
.dropdown.active > .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

.service-category-menu.active > .sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}





/* ================= MICRO SERVICE MENU ================= */

.sub-menu li.has-micro {
    position: relative;
    margin-bottom: 10px;
}

/* micro service card */
.micro-menu {
    position: absolute;
    top: 0;
    left: 200px;
    margin-left: 10px;

    min-width: 260px;
    background: #032e4acc;
    border-radius: 3px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);

    display: none;
    opacity: 0;
    visibility: hidden;

    z-index: 20;
}

/* header scrolled color */
.header-scrolled .micro-menu {
    background: #032e4acc;
}

/* hover logic (THIS WAS NOT FIRING BEFORE) */
.sub-menu li.has-micro:hover > .micro-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* micro items */
.micro-menu li a {
    display: block;
    padding: 10px 15px !important;
    font-size: 14px;
    color: #333;
    transition: 0.8s ease;
}

.micro-menu li a:hover {
    transform: scale(1.08);
}

/* arrow indicator */
.sub-menu li.has-micro > a::after {
    content: " ";
    float: right;
    font-size: 16px;
    opacity: 0.6;
}




/* service details */

/* wrapper */
.service-numbered-cards {
    margin-top: 40px;
}

.numbered-card {
    position: relative;
    z-index: 1; /* default */
    background: #fff;
    border-radius: 14px;
    padding: 35px 25px 30px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    height: 100%;
    overflow: visible; /* important */
}

/* hover */
.numbered-card:hover {
    transform: translateY(-8px) scale(1.15);
    box-shadow: 0 20px 50px rgba(0,0,0,0.18);
    background: #f0efef;
    z-index: 99; /* ⭐ KEY FIX */
}

.numbered-card:hover{
    box-shadow: 0 0 40px rgba(59, 130, 246, 0.7);
}





/* number badge */
.number-badge {
    position: absolute;
    top: 15px;
    right: 18px;
    font-size: 42px;
    font-weight: 700;
    color: #f1f1f1;
    z-index: 0;
    transition: 0.3s;
}

/* hover number color */
.numbered-card:hover .number-badge {
    color: #0d6efd;
}

/* icon */
.service_detls_img img {
    width: 200px;
    margin-bottom: 15px;
    margin-top: 20%;
}

/* text content */
.service_dtls_content {
    position: relative;
    z-index: 2;
}

.service_dtls_content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: left;
    margin-left: 1rem;
}

.service_dtls_content p {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    text-align: justify;
}




/* Call to action button */

.cta-wrapper {
    margin-top: 20px;
}

.cta-btn {
    position: relative;
    display: inline-block;
    padding: 14px 36px;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    border-radius: 50px;
    overflow: hidden;
    background: linear-gradient(135deg, #db3700, #db3700);
    box-shadow: 0 10px 25px rgba(59,130,246,0.35);
    transition: color 0.3s ease;
    z-index: 1;
}

/* animated overlay */
.cta-btn span {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #FF9307, #FF9307);
    transition: all 0.3s ease;
    z-index: -1;
}

/* hover effect */
.cta-btn:hover span {
    left: 0;
}

.cta-btn:hover {
    color: #fff;
    box-shadow: 0 12px 30px rgba(34,197,94,0.4);
}









/* ================= PROCESS SECTION ================= */

.process-wrapper {
    position: relative;
    display: flex;
    justify-content: space-evenly;      /* ✅ equal gap for all icons */
    align-items: flex-start;
    padding: 30px 20px;
    max-width: 1200px;
    margin: 2rem auto;
}

/* center line */
.process-line {
    position: absolute;
    top: 38%;
    left: 86px;
    right: 86px;
    height: 4px;
    background: linear-gradient(to right, #3b82f6, #22c55e);
    border-radius: 10px;
    z-index: 1;
}

/* step wrapper */
.process-step {
    position: relative;
    z-index: 2;
    width: 120px;                       /* fixed width = equal spacing */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* icon */
.process-step .icon {
    width: 70px;
    height: 70px;
    background: #f0f1f3;
    border-radius: 50%;
    border: 3px solid #3b82f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 0 15px rgba(59,130,246,0.4);
    margin-bottom: 8px;
}

/* title text */
.process-step span {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
    max-width: 100px;
    margin: 0;
}

/* hover icon */
.process-step:hover .icon {
    transform: translateY(-8px) scale(1.1);
    background: linear-gradient(135deg, #22c55e, #3b82f6);
}

/* ================= POPUP ================= */

.process-popup {
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    width: 260px;
    background: #f1f2f3;
    color: #0a0a0a;
    padding: 18px;
    border-radius: 14px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    text-align: left;
}

.process-popup h4 {
    margin-bottom: 6px;
    color: #070808;
}

.process-popup p {
    font-size: 13px;
    margin-bottom: 6px;
}

/* show popup */
.process-step:hover .process-popup {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(-10px) scale(1);
}

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

.process-list {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.process-list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 8px;
    font-size: 13px;
    color: #070707;
    line-height: 1.6;
}

/* tick icon */
.process-list li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 0;
    color: #22c55e;
    font-weight: bold;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
    .process-wrapper {
        flex-wrap: wrap;
        gap: 40px;
        justify-content: center;
    }

    .process-line {
        display: none;
    }
}





/* consultation section */
.partner-section{
    margin-top: 5rem;
    margin-bottom: 3rem;
}


/* SECTION */
.partner-section {
    padding: 80px 20px;
    background: #FFFFFF !important;
    background-image: radial-gradient(#eaeaea 1px, transparent 1px);
    background-size: 40px 40px;
}

.container-partner {
    max-width: 1200px;
    margin: auto;
}

/* Heading */
.partner-title {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 15px;
    color: #333;
    text-align: center;
}

.partner-desc {
    font-size: 18px;
    color: #555;
    max-width: 900px;
    margin: 0 auto 60px;
    line-height: 1.6;
}

/* Stats row */
.stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.stat-item .NDA {
    font-size: 25px;
    font-weight: 800;
    margin: 0;
    color: #333;
    text-align: center;
    text-decoration-line: grammar-error;
}

.stat-item p {
    margin-top: 10px;
    font-size: 14px;
    color: #666;
    text-align: center;
}

/* Responsive */
@media (max-width: 992px) {
    .stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .partner-title {
        font-size: 40px;
    }
}

@media (max-width: 576px) {
    .stats {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .partner-title {
        font-size: 32px;
    }

    .stat-item h2 {
        font-size: 42px;
    }
}


.scheduler-section{
    margin-top: 3rem;
    margin-bottom: 3rem;
}
/* MAIN */
.scheduler {
    max-width: 1050px;
    margin: auto;
    background: #fff;
    display: flex;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

/* LEFT CALENDAR */
.calendar {
    width: 45%;
    background: #000;
    color: #fff;
    padding: 40px 30px;
}

.calendar h2 {
    text-align: center;
    margin-bottom: 20px;
    color: #fff !important;
}

.month-nav {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    margin-bottom: 20px;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
    text-align: center;
}

.day {
    font-size: 12px;
    opacity: .6;
}

.date {
    padding: 10px 0;
    border-radius: 50%;
    cursor: pointer;
    opacity: .4;
}

.date:hover {
    background: #333;
}

.date.active {
    background: white;
    color: black;
    opacity: 1;
    font-weight: bold;
}

/* RIGHT SIDE */
.right_timezone {
    width: 55%;
    padding: 40px;
}

.duration {
    background: #dbe3ec;
    padding: 12px;
    border-radius: 6px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 20px;
}

h4 {
    margin-bottom: 5px;
}

.small {
    color: #555;
    margin-bottom: 6px;
}

.timezone-toggle {
    color: #1a73e8;
    cursor: pointer;
    display: inline-block;
    margin-bottom: 12px;
}

/* TIMEZONE DROPDOWN */
.dropdown_timezone {
    border: 1px solid #d0d7e2 !important;
    border-radius: 6px;
    display: none;
    margin-bottom: 15px;
}

.dropdown_timezone.active {
    display: block;
}

.search-box {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.search-box input {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}

.tz-list {
    max-height: 200px;
    overflow-y: auto;
}

.tz-item {
    padding: 10px 12px;
    cursor: pointer;
}

.tz-item:hover {
    background: #eef3ff;
}

.tz-item.active {
    background: #e6efff;
    font-weight: 600;
}

/* TIME SLOTS */
.time-list {
    max-height: 260px;
    overflow-y: auto;
    margin-top: 10px;
}

.time-btn {
    width: 100%;
    padding: 14px;
    border: 1px solid #d7dde5;
    background: #fff;
    border-radius: 6px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: .2s;
}

.time-btn:hover {
    border-color: #000;
}

.time-btn.active {
    border: 2px solid #000;
    background: #f4f4f4;
    font-weight: 600;
}

/* responsive */
@media (max-width: 900px) {
    .scheduler {
        flex-direction: column;
    }
    .calendar,
    .right {
        width: 100%;
    }
}


.booking-wrapper {
    max-width: 720px;
    margin: 40px auto;
    background: #fff;
    border-radius: 10px;
    padding: 30px 32px;
    box-shadow: 0 0 0 1px #e5e7eb;
    font-family: "Segoe UI", sans-serif;
}

.title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 8px;
}

.meeting-info {
    color: #374151;
    font-size: 14px;
    margin-bottom: 25px;
}

.meet-link {
    margin-top: 4px;
    color: #6b7280;
}

.booking-form .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.field {
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.field label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #111827;
}

.field input,
.field textarea {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 14px;
    outline: none;
    transition: 0.2s;
}

.field input:focus,
.field textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 1px #2563eb;
}

.guests {
    margin-top: 10px;
}

.guests label {
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.hint {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 8px;
}

.guest-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.guest-row input {
    flex: 1;
}

.guest-row button {
    padding: 9px 14px;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    border-radius: 6px;
    cursor: pointer;
}

.count {
    font-size: 13px;
    color: #6b7280;
}

.note {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #6b7280;
}

.actions {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.btn-back {
    padding: 10px 22px;
    border: 1px solid #d1d5db;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
}

.btn-back:hover {
    background: #4b5563;
}

.btn-confirm {
    padding: 10px 28px;
    background: #6b7280;
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
}

.btn-confirm:hover {
    background: #4b5563;
}

/* Responsive */
@media (max-width: 640px) {
    .booking-form .row {
        grid-template-columns: 1fr;
    }
}


/* ================= HEADER LOGO ================= */

.header-logo {
    position: relative;
    height: 45px;
    display: flex;
    align-items: center;
}

.header-logo .logo {
    position: absolute;
    left: 0;
    top: 36%;
    transform: translateY(-50%);
    height: 35px;
    width: auto;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* default logo */
.logo-dark {
    opacity: 1;
    visibility: visible;
}

.logo-light {
    opacity: 0;
    visibility: hidden;
}

/* on scroll */
#sticky-header.scrolled .logo-dark {
    opacity: 0;
    visibility: hidden;
}

#sticky-header.scrolled .logo-light {
    opacity: 1;
    visibility: visible;
}

/* header */
#sticky-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    /* background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease; */
}

/* #sticky-header.scrolled {
    background: #0f172a;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
} */


/* =========================
   BASE (Desktop ≥1200px)
========================= */
.approach-section{
    padding:80px 20px;
    background:#FFFFFF;
}

.container-approach{
    max-width:1200px;
    margin:auto;
}

.approach-title{
    text-align:center;
    font-size:36px;
    font-weight:700;
    margin-bottom:60px;
    color:#0f172a;
}


/* =========================
   GRID
========================= */
.approach-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* =========================
   CARD
========================= */
.approach-card{
    background:#CDF9E6;
    border-radius:28px;
    padding:35px;
    min-height:210px;
    position:relative;
    transition:.35s ease;
    cursor:pointer;
    overflow:hidden;
}

.approach-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

/* =========================
   HEADER
========================= */
.card-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.card-header h3{
    font-size:22px;
    font-weight:700;
    text-transform:uppercase;
    margin:0;
    color:#083a4a;
}

/* =========================
   TOGGLE ARROW (Top Right)
========================= */
.card-header{
    position:relative;
}
.toggle-arrow{
    position:absolute;
    top:5px;
    right:8px;
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}

.toggle-arrow i{
    position:absolute;
    opacity:0;
    transition:opacity .25s ease;
}

/* collapsed → show down */
.approach-card.collapsed .arrow-down{
    opacity:1;
}

/* expanded → show up */
.approach-card.expanded .arrow-up{
    opacity:1;
}

/* =========================
   PARAGRAPH
========================= */
.approach-text{
    margin-top:20px;
    font-size:15px;
    line-height:1.6;
    color:#1f2937;
    transition:.4s ease;
}

/* Collapsed State */
.approach-card.collapsed .approach-text{
    max-height:60px;
    overflow:hidden;
}

/* Expanded State */
.approach-card.expanded .approach-text{
    max-height:500px;
}



/* =========================
   GREEN CIRCLE BUTTON
========================= */
.circle-arrow-btn{
    position:absolute;
    right:20px;
    bottom:20px;

    width:54px;
    height:54px;
    border-radius:50%;

    background:#3BE79B;

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

    text-decoration:none;
    transition:.3s ease;

    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
}

/* Show only when expanded */
.approach-card.expanded .circle-arrow-btn{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.arrow-icon{
    font-size:35px;
    font-weight:bold;
    color:#083a4a;
    transition:.3s ease;
}

/* Hover Effect */
.circle-arrow-btn:hover{
    transform:translateX(6px);
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.circle-arrow-btn:hover .arrow-icon{
    transform:translateX(3px);
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:992px){
    .approach-grid{
        grid-template-columns:1fr;
    }

    .approach-title{
        font-size:30px;
    }

    .approach-card{
        padding:28px;
    }
}

@media(max-width:576px){
    .approach-title{
        font-size:24px;
    }

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

    .approach-text{
        font-size:14px;
    }

    .circle-arrow-btn{
        width:46px;
        height:46px;
    }
}




.tech-stack-section {
    padding: 20px 20px;
    background: #fafbfb;
    font-family: "Segoe UI", sans-serif;
}

.container-tech-stack {
    max-width: 1200px;
    margin: auto;
}

.tech-header {
    text-align: center;
    margin-bottom: 30px;
}

.tech-header .tag {
    display: inline-block;
    color: #64748b;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 12px;
    padding-top: 4rem;
}

.tech-header h2 {
    font-size: 42px;
    color: #1e3a8a;
    font-weight: 700;
}

/* block layout */
.tech-block {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    /* margin-bottom: 80px; */
    align-items: center;
}

/* left text */
.tech-info h3 {
    font-size: 34px;
    color: #0B6D6D;
    margin-bottom: 14px;
}

.tech-info p {
    font-size: 16px;
    color: #475569;
    line-height: 1.7;
    max-width: 520px;
}

.tech-link {
    display: inline-block;
    margin-top: 20px;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
}

.tech-link:hover {
    text-decoration: underline;
}

/* tools grid */
.tech-tools {
    display: grid;
    /* grid-auto-flow: column; */
    grid-template-columns: repeat(3, auto);
    gap: 28px 20px;
}


.tool {
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: 500;
    color: #1f2937;
}

.tech-tools-img img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}





@media (max-width: 575px) {

    /* main block stacked */
    .tech-block {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* title first */
    .tech-info {
        order: 1;
        text-align: center;
    }

    /* icons second */
    .tech-tools {
        order: 2;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
    }

    /* description last */
    .tech-info p {
        order: 3;
        margin-top: 15px;
    }

    .tech-info h3 {
        font-size: 26px;
    }
}













.how-it-works {
    background: #f7f8fc;
    padding: 80px 20px;
}

.hiw-box {
    max-width: 1200px;
    margin: auto;
    background: #f9fafc;
    border-radius: 24px;
    padding: 50px;
}

.hiw-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
}

/* layout */
.hiw-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
}

/* steps */
.hiw-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.step {
    display: flex;
    gap: 18px;
    padding: 18px 20px;
    border-radius: 14px;
    cursor: pointer;
    transition: 0.3s ease;
    background: transparent;
}

.step:hover,
.step.active {
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.step-no {
    font-size: 22px;
    font-weight: 700;
    color: #6d28d9;
    min-width: 40px;
}

.step-content h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #111827;
}

/* hidden description */
.step-details {
    display: none;
    font-size: 14px;
    color: #6b7280;
    line-height: 1.6;
}

.step:hover .step-details,
.step.active .step-details {
    display: block;
}

.timeline {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #4f46e5;
}

/* image */
.hiw-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hiw-image img {
    max-width: 100%;
    height: auto;
}

/* responsive */
@media (max-width: 900px) {
    .hiw-grid {
        grid-template-columns: 1fr;
    }

    .hiw-image {
        margin-top: 30px;
    }
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
}

.check-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    margin-left: 16px;
    text-align: justify;
}

/* green check icon */
.check-list li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 2px;

    width: 18px;
    height: 18px;

    color: #22c55e;
    font-weight: 700;
    font-size: 14px;
}

.sidebar_box {
	background: #fff;
	padding: 30px;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
}

.sidebar_box:hover {
    background-color: #dbd7d7;
	transform: scale(1.03);
	box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}


.col-lg-8 {
    overflow: visible;
}

.tech-stack-cart-section {
    position: relative;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tech-stack-cart-section:hover {
    transform: translateY(-10px) scale(1.03); /* SAFE scale */
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.25),   /* outer ring */
        0 25px 60px rgba(59, 130, 246, 0.45); /* full glow */
    background: #f0efef;
    z-index: 10;
}




/* Section */
.services-related-section {
    padding: 80px 0;
}


.services-grid {
    overflow-x: auto;
    scrollbar-width: none;
}
.services-grid::-webkit-scrollbar {
    display: none;
}

/* Title */
.section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 60px;
}

/* Slider wrapper */
.slider-wrapper {
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
}

/* Grid slider */
.services-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc(25% - 18px);
    gap: 24px;
    overflow: hidden;
    scroll-behavior: smooth;
}

/* Card */
.service-card {
    background: #dfdfdf;
    border-radius: 10px;
    padding: 5px;
    transition: 0.3s ease;
}

.service-card img {
    max-width: 100%;
    /* margin-bottom: 24px; */
}

.service-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}

.service-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

/* Hover */
.service-card:hover {
    transform: translateY(-8px);
    background: #413f3f;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}

/* Slider wrapper */
.slider-wrapper {
    position: relative;
}

/* Slider button – EXACT like image */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 44px;
    height: 44px;

    border-radius: 50%;
    border: none;

    background: #ffffff;
    color: #111;

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

    font-size: 26px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;
    z-index: 50;

    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    transition: all 0.25s ease;
}

/* Left */
.slider-btn.prev {
    left: -60px;
}

/* Right */
.slider-btn.next {
    right: -60px;
}

.slider-btn:hover {
    background: #2563eb;
}

/* Hover (subtle, like SaaS sites) */
.slider-btn:hover {
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}


/* Responsive */
@media (max-width: 1024px) {
    .services-grid {
        grid-auto-columns: calc(50% - 12px);
    }
}

@media (max-width: 576px) {
    .services-grid {
        grid-auto-columns: 100%;
    }

    .section-title {
        font-size: 26px;
    }
}


/* CTA Section */
.cta-section {
    padding: 80px 20px;
    background: #fdf9f9;
}

/* CTA Container */
.cta-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 20px;
    text-align: center;
    background: #ffffff;
    border-radius: 32px;
}

/* Heading */
.cta-container h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #0f172a;
}

/* Paragraph */
.cta-container p {
    font-size: 16px;
    color: #475569;
    max-width: 800px;
    margin: 0 auto 32px;
    line-height: 1.6;
}


.cta-container:hover{
    transform: translateY(-8px) scale(1.15);
    box-shadow: 0 20px 50px rgba(0,0,0,0.18);
    background: #f0efef;
    z-index: 99; /* Ensure it's above other elements */

}

.cta-container:hover{
    box-shadow: 0 0 40px rgba(59, 130, 246, 0.7);
}

/* Button */
.cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(90deg, #8b5cf6, #ef4444);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Button Hover */
.cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Responsive */
@media (max-width: 768px) {
    .cta-container {
        padding: 40px 24px;
    }

    .cta-container h2 {
        font-size: 22px;
    }

    .cta-container p {
        font-size: 15px;
    }
}








/* ===== VIDEO SECTION ===== */
.video-section {
    padding: 70px 16px;
    background: #04344c;
}

.video-container {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.video-text h2 {
    font-size: 40px;
    margin-bottom: 16px;
    color: #F5F7FA;
    letter-spacing: 1px;
}

.video-text h2 span {
    color: #F5B301;
}

.video-text p {
    font-size: 18px;
    max-width: 800px;
    margin: 0 auto 40px;
    color: #B9BDC7;
    line-height: 1.6;
}
.video-wrapper{
    position:relative;
    max-width:900px;
    margin:40px auto 0;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 25px 70px rgba(0,0,0,.5);
}

/* thumbnail image */
.video-thumb{
    width:100%;
    height: 500px;
    display:block;
    border-radius:28px;
}

/* play button center */
.play-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:80px;
    height:60px;
    background:#ff0000;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.play-btn:hover{
    transform:translate(-50%,-50%) scale(1.08);
}

/* triangle icon */
.play-btn span{
    width:0;
    height:0;
    border-left:18px solid #fff;
    border-top:12px solid transparent;
    border-bottom:12px solid transparent;
    margin-left:4px;
}
.fancybox__backdrop{
    background:rgba(0,0,0,.85);
    backdrop-filter:blur(6px);
}
/* Tablet */
@media (max-width: 991px) {
    .video-text h2 {
        font-size: 34px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .video-text h2 {
        font-size: 28px;
    }

    .video-text p{
        font-size: 16px;
    }
}


/* about costom design */
/* who we are */
.who-section{
    background:#0b3a53;
    padding-top:90px;
    padding-bottom: 45px;
    color:#fff;
    font-family:system-ui;
}

.who-container{
    max-width:90%;
    margin:auto;
}

/* ===============================
   TOP AREA
================================*/
.who-top{
    display:flex;
    align-items:center;
    gap:60px;
    margin-bottom:90px;
    padding: 50px;
}

/* LEFT BIG IMAGE */
.who-image-left img{
    width:550px;
    border-radius:50px 0px;
    display:block;
}

/* RIGHT CONTENT */
.who-content{
    flex:1;
    position:relative;
    padding-bottom:200px;
}

.who-content h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:18px;
    position:relative;
    color:#ffffff;
}

/* underline glow */
.who-content h2::after{
    content:"";
    position:absolute;
    left:230px;
    bottom:20px;
    width:348px;
    height:2px;
    border-radius:5px;
    background:linear-gradient(to right,
        rgba(49,210,160,0) 0%,
        rgba(49,210,160,.4) 15%,
        rgba(49,210,160,1) 50%,
        rgba(49,210,160,.4) 85%,
        rgba(49,210,160,0) 100%);
    filter:blur(.3px);
}


.who-content p{
    color:#c7d7df;
    line-height:1.7;
    margin-bottom:28px;
}

/* small image */
.who-image-small{
    position:absolute;
    display:inline-block;
    right:0;
}

.who-image-small img{
    width:370px;
    height:230px;
    border-radius:50px 0px;
}

/* frame border */
.who-image-small::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-20px;
    right:20px;
    border-radius:60px 0px;
    border:2px solid #ffffff;
}

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

.who-cards{
    display:flex;
    gap:30px;
}

.who-item{
    position:relative;
    flex:1;
    padding-top:40px;
}


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

.who-card{
    background:#ffffff08;
    padding:70px 28px 30px;
    border-radius:18px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    text-align:left;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 12px 24px rgba(0,0,0,.25);
}


/* 3 SIDE GLOW BORDER */
.who-card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:18px;
    padding:1.5px;

    background:linear-gradient(
        to bottom,
        transparent 0%,
        transparent 5%,
        rgba(45,224,167,.9) 70%,
        rgba(89,243,196,1) 100%
    );

    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
}


/* LIGHT SCAN ANIMATION */
.who-card::before{
    content:"";
    position:absolute;
    left:-40%;
    bottom:-120%;
    width:180%;
    height:180%;
    opacity:0;

    background:linear-gradient(
        to top,
        rgba(0,255,200,0) 0%,
        rgba(0,255,200,.15) 30%,
        rgba(0,255,200,.40) 50%,
        rgba(0,255,200,.15) 70%,
        rgba(0,255,200,0) 100%
    );

    transform:rotate(8deg);
}

@keyframes cardScan{
    0%{ bottom:-120%; }
    100%{ bottom:120%; }
}

.who-card:hover::before{
    animation:cardScan 1.6s linear infinite;
    opacity:1;
}


/* ================= BADGE (OUTSIDE CARD) ================= */

.who-badge{
    position:absolute;
    top:30;
    left:50%;
    transform:translate(-50%, -50%);
    width:85px;
    height:85px;
    border-radius:50%;
    background:#0b3a53;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:5;
}


/* ICON */
.who-icon img{
    width:80px;
    height:80px;
    object-fit:contain;
    transform: translate(2px, 0);
}


/* ================= TEXT ================= */

.who-card h3{
    font-size:22px;
    margin-bottom:12px;
    color:#fff;
}

.who-card p{
    color:#cfe7f0;
    line-height:1.6;
}


/* ===============================
   RESPONSIVE
================================*/
@media (max-width:1400px) {
    .who-content h2::after {
    width: 254px;
    }
}

@media (max-width:1300px) {
    .who-content h2::after {
    width: 254px;
    }
}



@media (max-width:1200px){

.who-content h2::after {
    left: -4px;
    width: 348px;
    top: 51px;
}


.who-image-left img{
    width:100%;
    max-width:480px;
}

.who-image-small img{
    width:320px;
    height:auto;
}

.who-content{
    padding-bottom:150px;
}

}


@media (max-width:1100px) {
    .who-image-small {
    right: -40px;
}
}

/* =========================
   TABLET (992 ↓)
========================= */
@media (max-width:992px){

.who-content p {
    margin-top: 30px;
}

.who-top{
    flex-direction:column;
    gap:40px;
    text-align:center;
}

.who-content{
    padding-bottom:0;
}

.who-image-small{
    position:relative;
    margin-top:30px;
    right:auto;
}

.who-image-small::before{
    content:"";
    position:absolute;

    top:0;
    bottom:0;
    left:-12px;
    right:12px;

    border-radius:60px 0;
    border:2px solid #ffffff;
}

.who-content h2::after{
    left:50%;
    transform:translateX(-50%);
    width:220px;
}

/* cards → 2 column */
.who-cards{
    flex-wrap:wrap;
}

.who-item{
    flex:0 0 calc(50% - 15px);
}

}


/* =========================
   MOBILE (768 ↓)
========================= */
@media (max-width:768px){

.who-section{
    padding:70px 5%;
}

.who-content h2{
    font-size:32px;
}

.who-image-left img{
    border-radius:30px 0;
}

.who-image-small img{
    width:100%;
    max-width:320px;
}

.who-card{
    padding:60px 22px 24px;
}

/* 1 column cards */
.who-item{
    flex:0 0 100%;
}

.who-cards{
    gap:25px;
}
.who-content p {
    margin-top: 30px;
}

}


/* =========================
   SMALL MOBILE (480 ↓)
========================= */
@media (max-width:480px){

.who-content h2{
    font-size:26px;
}

.who-card h3{
    font-size:20px;
}

.who-card p{
    font-size:14px;
    line-height:1.5;
}

.who-badge{
    width:70px;
    height:70px;
}

.who-icon img{
    width:60px;
    height:60px;
}

}

/* ================= VALUE SECTION ================= */

.value-section{
    padding:40px 7%;
    background:#0b3a53;
}

/* gradient rounded container */
.value-wrapper{
    max-width:1200px;
    margin:auto;
    padding:70px 50px;
    border-radius:35px;

    background:
    radial-gradient(circle at -5% 100%, rgba(31,169,122,.55) 0%, transparent 35%),
    radial-gradient(circle at 105% -5%, rgba(31,169,122,.55) 0%, transparent 35%),
    #082c44;

    box-shadow: inset 0 0 60px rgba(0,0,0,.35);
}

.value-card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:14px;
    padding:1.5px;

    background:linear-gradient(
        to bottom,
        transparent 0%,
        transparent 10%,
        rgba(45,224,167,.9) 70%,
        rgba(89,243,196,1) 100%
    );

    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;

    pointer-events:none;
}

/* grid */
.value-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

/* card */
.value-card{
    text-align:center;
    padding:28px 22px;
    border-radius:14px;

    background:rgba(255,255,255,.05);
    /* border:1px solid rgba(255,255,255,.18); */

    backdrop-filter:blur(6px);

    transition:.35s ease;
}

/* icon circle */
.v-icon {
    width: 60px;              /* একটু বাড়ালাম যাতে image clean বসে */
    height: 60px;
    margin: 0 auto 18px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .35);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .05);
}

/* IMPORTANT PART */
.v-icon img{
    width: 60px;              /* circle এর ভিতরে proper ratio */
    height: 60px;
    object-fit: contain;
    display: block;
}
.v-icon{
    backdrop-filter: blur(6px);
    box-shadow: 0 0 12px rgba(62, 223, 167, 0.25);
}
/* text */
.value-card h4{
    color:#fff;
    font-size:16px;
    margin-bottom:8px;
}

.value-card p{
    color:#cfe7f0;
    font-size:13px;
    line-height:1.5;
}

/* hover */
.value-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 30px rgba(0,255,200,.25);
    border-color:rgba(0,255,200,.6);
}
.value-card:hover::after{
    padding:2px;
    filter:brightness(1.4);
}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){
    .value-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .value-wrapper{
        padding:50px 25px;
        border-radius:25px;
    }
    .value-grid{
        grid-template-columns:1fr;
    }
}

/* ================= SECTION ================= */

.foundation-section{
    background:#032E4A;
    padding:60px 7%;
    color:#fff;
    font-family:system-ui;
}

.foundation-container{
    max-width:1100px;
    margin:auto;
}

/* ================= TITLE ================= */

.foundation-title{
    text-align:center;
    font-size:55px;
    font-weight:700;
    margin-bottom:30px;
    color: #ffffff;
}

.foundation-title span{
    display:block;
    color:#27e3a5;
    font-size:35px;
    margin-top:6px;
}


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

.foundation-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:50px 70px;
}


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

.foundation-card{
    position:relative;
    background:#082c44;
    padding:45px 28px 30px;
    border-radius:14px;

    transition:
        transform .45s cubic-bezier(.19,1,.22,1),
        box-shadow .45s cubic-bezier(.19,1,.22,1),
        background .45s ease,
        filter .45s ease;

    box-shadow:0 12px 25px rgba(0,0,0,.35);
    overflow:hidden;
}

/* ambient glow overlay */
.foundation-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:14px;
    opacity:0;

    background:
    radial-gradient(400px 200px at 50% -40%, rgba(57,226,157,.35), transparent 70%);

    transition:opacity .45s ease;
    pointer-events:none;
}


/* ================= TOP GREEN BAR ================= */

.card-top{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:55px;
    border-radius:12px 12px 0 0;
    background:linear-gradient(90deg,#39e29d,#2ad39f);
    overflow:hidden;
}

/* light sweep */
.card-top::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.55), transparent 80%);
    transform:translateX(-120%);
    transition:transform .8s ease;
}


/* ================= ICON ================= */

.card-icon {
    position: absolute;
    top: 24px;
    left: 22px;
    width: 60px;              /* একটু বড় করলে clean লাগে */
    height: 60px;
    border-radius: 50%;
    background: #1acd8c;
    border: 3px solid #082c44;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .35s ease;
    z-index: 2;
}

/* IMAGE FIX */
.card-icon img {
    width: 50px;              /* circle এর ভিতরে perfect ratio */
    height: 50px;
    object-fit: contain;
    display: block;
}

/* Optional subtle glow */
.card-icon::after{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    background: radial-gradient(circle, rgba(57,226,157,.25) 0%, transparent 70%);
    z-index:-1;
    opacity:0;
    transition:.35s ease;
}

.value-card:hover .card-icon{
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.25);
}

.value-card:hover .card-icon::after{
    opacity:1;
}


/* ================= TEXT ================= */

.foundation-card h3{
    margin-top:60px;
    font-size:20px;
    margin-bottom:10px;
    color: #ffffff;
}

.foundation-card p{
    color:#cde3ee;
    font-size:14px;
    line-height:1.6;
}


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

.foundation-card:hover{
    transform:translateY(-10px);
    background:#0b3f5c;

    box-shadow:
        0 20px 45px rgba(0,0,0,.45),
        0 0 30px rgba(0,255,200,.25);
}

.foundation-card:hover::before{
    opacity:1;
}

.foundation-card:hover .card-top::after{
    transform:translateX(120%);
}

.foundation-card:hover .card-icon{
    box-shadow:0 0 18px rgba(57,226,157,.7);
    transform:scale(1.08);
}


/* ================= RESPONSIVE ================= */

@media(max-width:768px){

.foundation-grid{
    grid-template-columns:1fr;
    gap:40px;
}

.foundation-title{
    font-size:28px;
}

.foundation-title span{
    font-size:16px;
}

}


/* ================= EVOLUTION ================= */


.evolution-section{
    background:#0b3a53;
    padding: 90px 50px;
    color:#fff;
}

.evolution-container{
    max-width:1200px;
    margin:auto;
    display:flex;
    gap:90px;
}

/* LEFT SIDE */
.evo-left{
  flex:1;
  margin-top: 35px;
}

.evo-left h2{
    font-size:38px;
    margin-bottom:15px;
    color: #ffffff;
}

.evo-left p{
    color:#c7d7df;
}

.evo-stat{
    display:block;
    margin:15px 0 25px;
    color:#ffffff;
    font-weight:600;
    position:relative;
}

.evo-stat-p::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-top: 18px;
    background: linear-gradient(90deg, transparent, #23e3a6, transparent);
    transform: translateX(0%);
}

.evo-image {
    position: relative;
    display: inline-block;
}

.evo-image img{
    width: 250px;
    border-radius: 50px 0 50px 0;
    border: 1px solid rgba(255,255,255,.25);
    display: block;
}

.evo-image::before{
    content:"";
    position:absolute;
    top:0;
    bottom:48px;          /* fixed 49px remove */
    left:-15px;
    right:15px;
    border-radius:50px 0 50px 0;
    border:1px solid #ffffff;
}

/* RIGHT SIDE */
.evo-right{
    flex:1;
    position:relative;
}

.evo-label{
    color:#23e3a6;
    font-weight:600;
    font-size: 30px;
}

.evo-right h2{
    font-size:42px;
    margin:8px 0 15px;
    color: #ffffff;
}

.evo-right h2::after{
    content: "";
    display: block;
    width: 60%;
    height: 2px;
    margin-top: 15px;
    background: linear-gradient(90deg, transparent, #23e3a6, transparent);
    transform: translateX(0%);
}


.evo-right p{
    color:#c7d7df;
    line-height:1.7;
    max-width:500px;
}

/* overlay image */
.evo-right-img{
    position:absolute;
    right:0;
    bottom:-80px;
    width:330px;
}

.evo-right-img img{
    width:100%;
    border-radius:40px 0 40px 0;
    opacity:.9;
}



@media (max-width:1200px){

.evolution-section{
    padding:80px 30px;
}

.evolution-container{
    gap:60px;
}

.evo-left h2{
    font-size:34px;
}

.evo-right h2{
    font-size:36px;
}

.evo-image img{
    width:220px;
}

}

@media (max-width:992px){

.evolution-container{
    flex-direction:column;
    text-align:center;
    gap:50px;
}

.evo-left{
    margin-top:0;
}

.vision-to-reality{
    justify-content:center;
    flex-wrap:wrap;
}

.evo-right h2{
    font-size:32px;
}

.evo-right p{
    max-width:100%;
}

.evo-image img{
    width:200px;
}

}

@media (max-width:768px){

.evolution-section{
    padding:70px 20px;
}

.evo-left h2{
    font-size:28px;
}

.evo-right h2{
    font-size:28px;
}

.evo-label{
    font-size:22px;
}

.evo-image img{
    width:180px;
}

}

@media (max-width:480px){

.evo-left h2{
    font-size:24px;
}

.evo-right h2{
    font-size:22px;
}

.evo-stat{
    font-size:18px;
}

.evo-stat-p{
    font-size:14px;
}

.evo-image img{
    width:150px;
}

}








/* =====================================================
   MILESTONE SECTION (UNIQUE CLASSES)
===================================================== */

.ms-section{
    background:#0b3a53;
    padding:10px 0px 0px 0px;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.ms-hr-top {
    border: none;
    height: 3px;
    width: 62%;
    background-color:#ffffffc9;
    /* background: linear-gradient(
        to right,
        transparent,
        #7fd9c6,
        transparent
    ); */
}
.ms-hr-bottom {
    border: none;
    height: 3px;
    width: 75%;
    background-color:#ffffffc9;
    /* background: linear-gradient(
        to right,
        transparent,
        #7fd9c6,
        transparent
    ); */
}
.ms-bg-img{
    position: absolute;
    right: 130px;
    top: 68px;
    width: 500px;
    z-index: 1;
    pointer-events: none;
}

/* image style */
.ms-bg-img img{
    width:100%;
    opacity:.85;

    /* fade effect */
    mask-image: linear-gradient(to left, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%);
}

/* timeline content above image */
.ms-timeline{
    position:relative;
    z-index:2;
}

.ms-container{
    max-width:1000px;
    margin:auto;
}

/* TITLE */
.ms-title{
    position: relative;  
    text-align:center;
    font-size:38px;
    margin-bottom:90px;
    color: #ffffff;
}
.ms-title::after{
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    width: 65%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #23e3a6, transparent);
    transform: translateX(-50%);
}
/* TIMELINE WRAPPER */
.ms-timeline{
    position:relative;
}

/* center vertical line */
.ms-line{
    position:absolute;
    left:50%;
    top:0;
    width:3px;
    height:100%;
    background:#23e3a6;
    transform:translateX(-50%);
}

/* rows */
.ms-row{
    position:relative;
    width:50%;
    padding:20px 55px;
}

.ms-left{
    text-align:right;
}

.ms-right{
    left:50%;
}

/* dots */
.ms-dot{
    position:absolute;
    top:30px;
    width:16px;
    height:16px;
    background:#23e3a6;
    border-radius:50%;
    box-shadow:0 0 15px #23e3a6;
}

.ms-left .ms-dot{
    right:-8px;
}

.ms-right .ms-dot{
    left:-8px;
}

/* content */
.ms-content h3{
    font-size:28px;
    margin-bottom:6px;
    color: #ffffff;
}

.ms-content h4{
    color:#d6f5ee;
    margin-bottom:10px;
    color: #ffffff;
}



.ms-content p{
    color:#c7d7df;
    line-height:1.6;
    max-width:360px;
}

.ms-left .ms-content{
    margin-right:45px;
}

.ms-right .ms-content{
    margin-left:45px;
}

/* bottom glow line */
.ms-timeline::after{
    content:"";
    position:absolute;
    bottom:-62px;
    left:50%;
    width:90%;
    height:3px;
    background:linear-gradient(90deg,transparent,#23e3a6,transparent);
    transform:translateX(-50%);
}



/* =====================================================
   RESPONSIVE
===================================================== */

/* tablet */
@media(max-width:900px){

   .ms-bg-img{
        position:relative;
        width:100%;
        max-width:420px;
        margin:40px auto 0;
        top:auto;
        right:auto;
        text-align:center;
    }

    .ms-bg-img img{
        mask-image:none;
        -webkit-mask-image:none;
        opacity:1;
    }

.evolution-container{
    flex-direction:column;
    text-align:center;
}

.evo-right-img{
    position:relative;
    bottom:auto;
    margin-top:30px;
}

/* timeline mobile */
.ms-row,
.ms-left,
.ms-right{
    width:100%;
    left:0;
    text-align:left;
    padding:20px 0 20px 70px;
}

.ms-line{
    left:28px;
}

.ms-dot{
    left:20px !important;
    right:auto !important;
}

.ms-content{
    margin:0 !important;
}

}

/* mobile */
@media(max-width:600px){

.evo-left h2{ font-size:30px; }
.evo-right h2{ font-size:32px; }

.ms-title{ font-size:28px; }

.evo-image img{
    width:100%;
    max-width:320px;
}

}


/* =====end Milestone Timeline Section ===== */




.dcstats-sec{
    background:#0b3a52;
    padding:90px 0;
}

.dcstats-wrap{
    max-width:1150px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    gap:40px;
}

.dcstats-item{
    width:230px;
    height:230px;
    position:relative;
}

/* SVG rotate start from top */
.dcstats-svg{
    transform:rotate(-90deg);
}

/* background ring */
.dcstats-bg{
    fill:none;
    stroke:#2c566c;
    stroke-width:4;
}

/* main progress */
.dcstats-progress{
    fill:none;
    stroke:#39e29d;
    stroke-width:4;
    stroke-linecap:round;
    stroke-dasharray:565;
    stroke-dashoffset:565;
    transition:2s ease;
}

/* outer glow arc */
/* .dcstats-glow{
    fill:none;
    stroke:#39e29d;
    stroke-width:18;
    opacity:.25;
    stroke-linecap:round;
    stroke-dasharray:120 565;
    animation:rotateArc 6s linear infinite;
} */

@keyframes rotateArc{
    from{stroke-dashoffset:0}
    to{stroke-dashoffset:-565}
}

/* inner disk */
.dcstats-content{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
    color:#fff;
}

.dcstats-content::before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    background:#123e56;
    border-radius:50%;
    z-index:-1;
}

.dcstats-number{
    font-size:48px;
    font-weight:700;
    margin:0;
    color: #ffffff;
}

.dcstats-content p{
    font-size:15px;
    color:#cde1ea;
}











/* .about-wrap {
  padding: 80px 40px;
  background: #0F1115; 
  margin-bottom: 50px;
  border-radius: 20px;
}


.title {
  text-align: center;
  font-size: 36px;
  margin-bottom: 10px;
  color: #F5F7FA;
  letter-spacing: 1px;
}

.subtitle {
  text-align: justify;
  max-width: 1250px;
  margin: 0 auto 20px;
  padding: 25px 0;
  color: #B9BDC7;
}


.about-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}


.about-box {
  position: relative;
  padding: 60px 20px 35px;
  text-align: center;
  min-height: 280px;
  background: #151821;
}


.about-boder-bottom{
  border-left: 1px solid rgba(245,179,1,0.25);
  border-right: 1px solid rgba(245,179,1,0.25);
  border-bottom: 1px solid rgba(245,179,1,0.25);
}

.about-boder-right{
  border-right: 1px solid rgba(245,179,1,0.25);
}

.about-boder-top{
  border-top: 1px solid rgba(245,179,1,0.25);
}


.about-box .icon {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  background: #0F1115;
  border: 2px solid #F5B301;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #F5B301;
  box-shadow: 0 0 12px rgba(245,179,1,0.4);
}


.about-box h4 {
  font-size: 15px;
  margin-bottom: 20px;
  margin-top: 32px;
  color: #F5F7FA;
}

.about-box p {
  font-size: 13px;
  line-height: 1.6;
  color: #B9BDC7;
}


@media (max-width: 1200px) {
  .about-row {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .about-box {
    border: 1px solid rgba(245,179,1,0.25);
  }

  .about-boder-bottom,
  .about-boder-right,
  .about-boder-top {
    border: 1px solid rgba(245,179,1,0.25);
  }
}

@media (max-width: 992px) {
  .about-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}

@media (max-width: 768px) {
  .about-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .about-box {
    min-height: auto;
    padding: 50px 16px 30px;
  }
} */








.story-section {
  background: #04344c;
  color: #F5F7FA;
  padding: 80px 150px;
}

.story-top-title{
    text-align: center !important;
    color: #F5F7FA;
    margin-bottom: 100px;
}
.story-container {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
}

/* LEFT */
.story-left h2 {
  font-size: 56px;
  line-height: 1.1;
  margin-bottom: 20px;
  color: #F5F7FA;
}

.story-left h2 span {
  color: #F5F7FA;
}

.story-left p {
  color: #B9BDC7;
  max-width: 100%;
  line-height: 1.7;
  margin-bottom: 30px;
}

.story-image {
  position: relative;
  max-width: 100%;
}

.story-image img {
  width: 100%;
  height: 365px;
  object-fit: cover;
  filter: brightness(0.6);
  border-radius: 10px;
}

.overlay-text {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 22px;
  font-weight: bold;
  color: #12f3a2;
}

/* RIGHT ACCORDION */
.story-right .item {
  border-bottom: 1px solid #F0F8FF;
  padding: 5px 0;
}

.story-right .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.story-right h3 {
    font-size: 25px;
    letter-spacing: 1px;
    color: #F5F7FA;
}

.toggle {
  font-size: 26px;
  font-weight: bold;
  color: #01f586;
}

.story-subtitle {
  margin-top: 6px;
  color: #01f586;
  font-size: 13px;
  letter-spacing: 1px;
}

/* CONTENT */
.content {
  display: none;
  margin-top: 12px;
  color: #B9BDC7;
  font-size: 14px;
  line-height: 1.6;
}

.content p{
    font-size: 16px;
    line-height: 26px;
    color: #E6E9EE;
    font-weight: 400;
    font-family: "Fira Sans";
    transition: 0.5s;
}

.item.active .content {
  display: block;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .story-container {
    grid-template-columns: 1fr;
  }

  .story-left h2 {
    font-size: 44px;
  }

  .story-section {
    padding: 60px 20px;
  }
}


.why-choose-us {
  padding: 50px 0;
  background: #0A2A5A;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.why-choose-media {
  margin: 0;
  text-align: center;
}

.why-choose-media img {
  width: 100%;
  max-width: 1000px;
  height: auto;
  display: inline-block;
}

@media (max-width: 768px) {
  .why-choose-us {
    padding: 40px 0;
  }
}




.uxdc-service-section{
  padding:80px 20px 120px;
  background:linear-gradient(180deg,#0b3a52,#0e445f);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;
}

.uxdc-service-container{max-width:1200px;margin:auto;}

.uxdc-service-container .uxdc-title{
  text-align:center;
  font-size:44px;
  color:#F5F7FA;
  margin-bottom:10px;
  letter-spacing:.5px;
}

.uxdc-service-container .uxdc-text-center{
  text-align:center;
  color:#BFD9E4;
  font-size:16px;
  margin-bottom:60px;
}

.uxdc-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  align-items:start;
  margin-top: 130px;
}

.uxdc-service-grid .uxdc-service-card:nth-child(2){margin-top:-90px;}
.uxdc-service-grid .uxdc-service-card:nth-child(5){margin-top:-120px;}

.uxdc-service-card{
  position:relative;
  padding:42px 30px;
  border-radius:18px;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 45px rgba(0,0,0,.35);
  transition:.35s ease;
}
.uxdc-service-card::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: 1.5px;
  background: linear-gradient(to bottom, transparent 0%, transparent 10%, rgba(45, 224, 167, .9) 70%, rgba(89, 243, 196, 1) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}



.uxdc-service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,255,200,.25);
    border-color:rgba(0,255,200,.6);
}
.uxdc-service-card:hover::after{
    padding:2px;
    filter:brightness(1.4);
}

.uxdc-service-card{
  position: relative;
  padding: 42px 30px;
  border-radius: 18px;
  text-align: center;
  background: linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04),0 18px 45px rgba(0,0,0,.35);
  transition: .35s ease;
}

/* Animated 2px border */
.uxdc-service-card::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  padding: 2px;   /* border thickness */
  background: linear-gradient(
      90deg,
      transparent,
      #23e3a6,
      transparent,
      #23e3a6,
      transparent
  );
  background-size: 300% 300%;
  
  /* this makes it only border */
  -webkit-mask: 
      linear-gradient(#000 0 0) content-box, 
      linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}

/* Hover effect */
.uxdc-service-card:hover::before{
  opacity: 1;
  animation: borderRun 6s linear infinite;
}

@keyframes borderRun{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 300% 50%; }
}


.uxdc-icon-wrap{
  width:70px;
  height:70px;
  margin:0 auto 20px;
  border-radius:16px;              /* আগের মতো rounded square */
  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(255,255,255,.08);
  box-shadow:
      inset 0 0 12px rgba(255,255,255,.05),
      0 8px 18px rgba(0,0,0,.15);

  backdrop-filter: blur(6px);
}

/*  Image Icon Control */
.uxdc-icon-wrap img{
  width:60px;
  height:60px;
  object-fit:contain;
  display:block;

  /* icon color match effect */
  /* filter: brightness(0) saturate(100%)
          invert(72%) sepia(63%)
          saturate(420%) hue-rotate(104deg)
          brightness(95%) contrast(90%); */
}

.uxdc-service-card h3{font-size:20px;font-weight:700;color:#fff;margin-bottom:12px;}
.uxdc-service-card p{font-size:15px;color:#cfe5ee;line-height:1.6;margin-bottom:22px;}

/* BUTTON BASE (same look) */
.uxdc-service-btn{
  position:relative;
  display:inline-block;
  padding:10px 22px;
  border-radius:10px;
  color:#eaf6ff;
  font-size:13px;
  font-weight:600;
  text-decoration:none;

  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);

  transition:.25s ease;
}
.uxdc-service-btn::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 8px;
  padding: 1.5px;
  background: linear-gradient(to bottom, transparent 0%, transparent 10%, rgba(45, 224, 167, .9) 70%, rgba(89, 243, 196, 1) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* remove any color change */
.uxdc-service-btn:hover{
  background:rgba(255,255,255,.08);
  color:#eaf6ff;
  border-color:rgba(255,255,255,.18);
}

/* animated border same as card */
.uxdc-service-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:8px;
  padding:1.6px;

  background:linear-gradient(
      90deg,
      transparent,
      #23e3a6,
      transparent,
      #23e3a6,
      transparent
  );
  background-size:300% 300%;

  -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;

  opacity:0;
  pointer-events:none;
}

/* ONLY BORDER RUNS */
.uxdc-service-btn:hover::before{
  opacity:1;
  animation:borderRunReverse 6s linear infinite;
}

@keyframes borderRunReverse{
  0%{ background-position: 300% 50%; }
  100%{ background-position: 0% 50%; }
}

@media(max-width:992px){
  .uxdc-service-container .uxdc-title{font-size:34px;}
  .uxdc-service-grid{grid-template-columns:repeat(2,1fr);gap:30px;}
  .uxdc-service-grid .uxdc-service-card:nth-child(2),
  .uxdc-service-grid .uxdc-service-card:nth-child(5){margin-top:0;}
}

@media(max-width:600px){
  .uxdc-service-section{padding:60px 15px 80px;}
  .uxdc-service-container .uxdc-title{font-size:28px;}
  .uxdc-service-container .uxdc-text-center{font-size:14px;margin-bottom:40px;}
  .uxdc-service-grid{grid-template-columns:1fr;gap:22px;}
  .uxdc-service-card{padding:32px 22px;}
}

.uxdc-btn-center{
  display:flex;
  justify-content:center;
  margin-top:-20px;
}









/* =========================
   CASE STUDIES SECTION
========================= */
.cs-section{
  padding: 80px 8%;
  text-align: center;
  background: #0A2A5A;
}

.cs-title{
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #F5F7FA;
  letter-spacing: 1px;
}

.cs-desc{
  font-size: 18px;
  margin-bottom: 40px;
  color: #B9BDC7;
}


/* =========================
   CAROUSEL WRAPPER
========================= */
.cs-carousel{
  position: relative;
  overflow: hidden;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 16px;
  height: 450px;
  background: #163D59;
  border: 2px solid #ffffff;
  box-shadow: 0 35px 80px rgba(0,0,0,0.6);
}


/* =========================
   TRACK & SLIDES
========================= */
.cs-track{
  display: flex;
  height: 100%;
  transition: transform 0.6s ease;
  will-change: transform;
}

.cs-slide{
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 100%;
}

.cs-slide img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #163D59;
  display: block;
  border-radius: 16px;
}


/* =========================
   ARROWS
========================= */
.cs-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #163D59;
  border: 1.5px solid #ffffff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 26px;
  cursor: pointer;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: 0.3s ease;
}

.cs-prev{ left: 14px; }
.cs-next{ right: 14px; }

.cs-nav:hover{
  background: #0df581;
  color: #0F1115;
}


/* =========================
   RESPONSIVE HEIGHT
========================= */
@media (max-width: 992px){
  .cs-title{ font-size: 34px; }
  .cs-carousel{ height: 380px; }
}

@media (max-width: 768px){
  .cs-section{ padding: 60px 6%; }
  .cs-title{ font-size: 30px; }
  .cs-desc{ font-size: 16px; }
  .cs-carousel{ width: 100%; height: 300px; }
}

@media (max-width: 480px){
  .cs-carousel{ height: 220px; }
  .cs-nav{
    width: 38px;
    height: 38px;
    font-size: 22px;
  }
  .cs-prev{ left: 8px; }
  .cs-next{ right: 8px; }
}













/* home section design */
/* Technology */

.tech-section{
  background:#09e2ac;
  padding:20px 0;
  max-width: 100%;
}
.tech-bg-section{
  background:#032E4A;
  max-width: 100%;
  border-radius:50px;
}

.tech-container{
  max-width:90%;
  padding: 70px 50px;
  margin:auto;
  border-radius:25px;
  position:relative;
  color:#ffffff;
}

/* Green strips */
.tech-container::before,
.tech-container::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:14px;
  background:#39e29d;
}

.tech-container::before{
  top:-14px;
  border-radius:25px 25px 0 0;
}

.tech-container::after{
  bottom:-14px;
  border-radius:0 0 25px 25px;
}

/* HEADER */
.tech-header h2{
  font-size:36px;
  margin-bottom:10px;
  color: #ffffff;
}

.tech-header p{
  color:#c6dbe6;
  margin-bottom:50px;
  color: #ffffff;
}

/* LAYOUT */
.tech-layout{
  display:flex;
  gap:60px;
}

/* LEFT TABS */
.tech-tabs{
  width:400px;
  background:#1a4b64;
  padding:25px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  gap:15px;
}

.tech-tab{
  background:#355d74;
  border:none;
  padding:16px;
  border-radius:14px;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:.3s;
}

.tech-tab.active{
  background:#39e29d;
  color:#0b2f44;
  font-weight:600;
}


.tech-contents{
    margin-top: 196px;
    flex: 1;
}
.tech-content{
  display:none;
}

.tech-content.active{
  display:block;
}

.tech-slider{
  position:relative;
  padding:0px 30px;
  border-radius:20px;
  overflow:visible; 
}

.tech-slider-inner{
  overflow:hidden;
  width:100%;
}
.tech-track{
  display:flex;
  gap:30px;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}

.tech-card{
  flex:0 0 calc((100% - 120px) / 5);
  background:#2f5872;
  border-radius:15px;
  padding:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:.3s;
  aspect-ratio: 1 / 1;  
}

.tech-card span{
  font-size:16px;
  font-weight:500;
  color:#fff;
}

.tech-card:hover{
  background:#3a6a86;
  transform:translateY(-6px);
}

.tech-card img{
    width:50%;
    max-width:70px;
    height:auto;
    margin-bottom:10px;
}

.tech-card span{
  font-size:16px;
}

.tech-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  background:#1a4b64;
  border:none;
  color:#fff;
  font-size:20px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:20;
}

.tech-arrow.arrow-left{
  left:-25px;
}

.tech-arrow.arrow-right{
  right:-25px;
}

.tech-arrow:hover{
  background:#39e29d;
  color:#032E4A;
}
.tech-arrow.active{
  background:#39e29d;
  color:#032E4A;
}

.tech-arrow{
  z-index:10;              
  pointer-events:auto;
}



@media (max-width:1200px){

.tech-card{
  flex:0 0 calc((100% - 90px) / 4);
}

.tech-arrow.arrow-left{
  left:-15px;
}

.tech-arrow.arrow-right{
  right:-15px;
}

}
@media (min-width:993px) and (max-width:1240px){
.tech-tabs{
  width:100%;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
}

.tech-layout{
  flex-direction: column;
  gap: 40px;
}

.tech-card{
  flex:0 0 calc((100% - 60px) / 3);
}

.tech-arrow.arrow-left{
  left:-25px;
}

.tech-arrow.arrow-right{
  right:-25px;
}

.tech-card{
  flex:0 0 calc((100% - 60px) / 3);
}
.tech-arrow.arrow-left{
  left:-25px;
}

.tech-arrow.arrow-right{
  right:-25px;
}

.tech-contents {
    margin-top: 45px;
    flex: 1;
}


}
@media (max-width:992px){

.uxdc-btn-center{
    margin-top: 60px;
}

.tech-layout{
  flex-direction:column;
  gap:40px;
}

.tech-tabs{
  width:100%;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
}

.tech-tab{
  flex:1 1 45%;
  text-align:center;
}

.tech-contents{
  margin-top:20px;
}

.tech-card{
  flex:0 0 calc((100% - 60px) / 3);
}

.tech-arrow.arrow-left{
  left:-20px;
}

.tech-arrow.arrow-right{
  right:-20px;
}

}
@media (max-width:768px){

.tech-header h2{
  font-size:28px;
}

.tech-tabs{
  gap:10px;
}

.tech-tab{
  flex:1 1 100%;
}

.tech-card{
  flex:0 0 calc((100% - 30px) / 2);
}

}
@media (max-width:480px){

.tech-slider-inner{
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.tech-track{
  scroll-snap-type: x mandatory;
}


.tech-container{
  padding:40px 20px;
}

.tech-card{
  flex:0 0 100%;
}

.tech-arrow{
  display:none;
}

.tech-track{
  gap:20px;
}

}

.tech-slider-inner{
  scroll-behavior: smooth;
}
/* End Technology */





/* Section background */
.dms-why-section {
  background: #032E4A;
  /* background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); */
  background-size: 40px 40px;
  padding: 100px 0;
  color: #fff;
  font-family: "Inter", sans-serif;
}

.dms-container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* Left content */
.dms-subtitle {
  color: #f9f9f9;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 600;
}

.dms-title {
  font-size: 42px;
  margin: 15px 0 20px;
  color: #f9f9f9;
}

.dms-text {
  color: #f9f9f9;
  line-height: 1.7;
  font-size: 15px;
  max-width: 520px;
}

.dms-list {
  list-style: none;
  padding: 0;
  margin: 30px 0;
}

.dms-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  font-weight: 500;
}

.dms-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #ffffff;
}

/* Button */
.dms-btn {
  display: inline-block;
  padding: 12px 22px;
  border: 1px solid #2aa9ff;
  border-radius: 30px;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s;
}

.dms-btn:hover {
  background: #2aa9ff;
  color: #000;
}

/* Right visual card */
.dms-visual-card {
  width: 100%;
  height: 380px;
  border-radius: 28px;
  position: relative;
  overflow: hidden;              /* 🔑 rounded অনুযায়ী image কাটবে */
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/* Image */
.dms-visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;             /* 🔥 image stretch হবে না */
  display: block;
}


/* Responsive */
@media (max-width: 900px) {
  .dms-container {
    grid-template-columns: 1fr;
  }

  .dms-visual-card {
    height: 300px;
  }

  .dms-title {
    font-size: 34px;
  }
}







/* =========================
   SECTION
========================= */
.process-section{
  padding:30px;
  background:#032E4A;
  color:#f8f3f3;
}

/* =========================
   CONTAINER
========================= */
.process-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1.6fr; /* right side wider */
  gap:70px;
  align-items:flex-start;
}

/* =========================
   LEFT SIDE
========================= */
.badge{
  background:#39E89B;
  color: #000000;
  padding:8px 16px;
  border-radius:6px;
  font-size:13px;
  display:inline-block;
  margin-bottom:25px;
}

.process-title{
  font-size:42px;
  line-height:1.25;
  margin-bottom:25px;
  color:#e0dcff;
}

.process-text{
  color:#e0dcff;
  line-height:1.6;
  margin-bottom:35px;
  max-width:420px;
}

.primary-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 24px;
  background:#ffffff;
  color:#4a3b86;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
}

.primary-btn:hover {
    background:#0ea5a0;
    color:#fff;
}

/* =========================
   RIGHT SIDE
========================= */
.process-right{
  position:relative;
  width:100%;
  overflow:visible;
}

/* =========================
   VERTICAL LINE
========================= */
.process-right::before{
  content:"";
  position:absolute;
  left:28px;                 /* dot center alignment */
  top:0;
  bottom:0;
  width:2px;
  background:rgba(255,255,255,0.35);
}

/* =========================
   EACH STEP (DOT + CARD)
========================= */
.process-step-home{
  display:grid;
  grid-template-columns:60px minmax(0,1fr); /* 🔥 width fix */
  gap:30px;
  align-items:center;
  margin-bottom:22px;
  position:relative;
  z-index:1;
  width:100%;
}

/* icon */
.process-step-home .icon {
    position: relative;
    width: 70px;
    height: 70px;
    background: #f0f1f3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    cursor: pointer;
    transition: all 0.4s ease;
    margin-bottom: 8px;
    z-index: 1;
    border: 3px solid #032E4A;
}

/* Animated Border Layer */
.process-step-home .icon::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: conic-gradient(
        #032E4A,
        #39e29d,
        #032E4A
    );
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Inner White Circle */
.process-step-home .icon::after {
    content: "";
    position: absolute;
    inset: 3px;
    background: #f0f1f3;
    border-radius: 50%;
    z-index: -1;
}

/* Hover Animation */
.process-step-home .icon:hover::before {
    opacity: 1;
    animation: rotateBorder 2s linear infinite;
}

/* Rotation Keyframes */
@keyframes rotateBorder {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}


/* title text */
.process-step-home span {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
    max-width: 100px;
    margin: 0;
}

/* hover icon */
.process-step-home:hover .icon {
    transform: translateY(-8px) scale(1.1);
    background: linear-gradient(135deg, #22c55e, #3b82f6);
}

/* =========================
   DOT / TIMELINE
========================= */
.timeline{
  display:flex;
  justify-content:center;
}

.dot{
  width:32px;
  height:32px;
  background:#39E89B;
  color:#4a3b86;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-size:14px;
}

.dot.active{
  background:#ffffff;
}

/* =========================
   ACCORDION CARD
========================= */
.accordion-item{
  width:100%;
  max-width:100%;
  background:#ffffff;
  color:#000000;
  border-radius:12px;
  overflow:hidden;
  transition:background 0.3s ease;
}

.accordion-header-home{
  width:100%;
  padding:20px 24px;
  border:none !important;
  background:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:600;
  font-size:20px;
  cursor:pointer;
}

.accordion-body{
  display:none;
  padding:0 24px 24px;
  font-size:14px;
  line-height:1.6;
}

.accordion-item.active{
    background: linear-gradient(to top right, rgb(14 243 149 / 87%), transparent 60%) bottom left, 
                linear-gradient(to top left, rgb(13 227 140 / 93%), transparent 60%) bottom right, #ffffff;
    background-repeat: no-repeat;
    background-size: 50% 100%;
    padding-bottom: 0;
}

.accordion-item.active .accordion-body{
  display:block;
}

/* =========================
   ICON
========================= */
.icon{
  font-size:22px;
}



.accordion-body{
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.accordion-body{
  padding: 0 18px 18px;
  overflow: hidden;
  animation: fade .3s ease;
}

.accordion-body p{
  margin: 0;
  max-width: 92%;
  text-align: left;
  font-size: 16px;
  line-height: 26px;
  color: #071010;
  font-weight: 400;
  padding-left: 8px;
}


/* যদি কোনো browser default separator থাকে */
.accordion-item{
  border: none !important;
}

/* extra safety (header-bottom line থাকলে) */


@keyframes fade{
  from{opacity:0; transform:translateY(-5px)}
  to{opacity:1; transform:none}
}


/* =========================
   TABLET (<= 1024px)
========================= */
@media (max-width: 1024px){
  .process-section {
    padding: 30px;
  }

  .process-container{
    grid-template-columns: 1fr 1.4fr;
    gap: 50px;
  }

  .process-title{
    font-size: 36px;
  }

  .accordion-body p{
    max-width: 100%;
  }
}


/* =========================
   MOBILE / TABLET STACK (<= 900px)
========================= */
@media (max-width: 900px){
  .process-section {
    padding: 30px;
  }

  .process-container{
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .process-left{
    text-align: left;
  }

  .process-title{
    font-size: 34px;
  }

  /* timeline line position */
  .process-right::before{
    left: 22px;
  }

  .process-step-home{
    grid-template-columns: 50px minmax(0,1fr);
    gap: 20px;
  }

  .dot{
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
}


/* =========================
   MOBILE (<= 768px)
========================= */
@media (max-width: 768px){
  .process-section {
    padding: 30px;
  }

  .process-title{
    font-size: 30px;
    line-height: 1.3;
  }

  .process-text{
    font-size: 15px;
  }

  .primary-btn{
    padding: 12px 20px;
    font-size: 14px;
  }

  .accordion-header-home{
    padding: 18px 18px;
    font-size: 15px;
  }

  .accordion-body p{
    font-size: 15px;
    line-height: 24px;
    padding-left: 6px;
  }
}


/* =========================
   SMALL MOBILE (<= 480px)
========================= */
@media (max-width: 480px){

  .process-section {
    padding: 30px;
  }

  .process-title{
    font-size: 26px;
  }

  .process-step-home{
    grid-template-columns: 44px minmax(0,1fr);
    gap: 16px;
  }

  .dot{
    width: 26px;
    height: 26px;
    font-size: 12px;
  }

  .accordion-header-home{
    padding: 16px 16px;
  }

  .accordion-body{
    padding: 10px 16px 16px;
  }
}







/* SECTION */
.join-team{
  padding:100px 0;
  background:#57FEAB;
}

/* CONTAINER */
.join-container{
  max-width: 90%;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:80px;
  align-items:center;
  padding:0 20px;
}

/* LEFT CONTENT */
.join-content h2{
  font-size:36px;
  font-weight:700;
  margin-bottom:20px;
  color:#032E4A;
}

.join-content p{
  font-size:16px;
  line-height:1.7;
  color:#032E4A;
  margin-bottom:16px;
  max-width:520px;
}

.join-btn{
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 26px;
  background:#11b8b2;
  color:#032E4A;
  text-decoration:none;
  border-radius:6px;
  font-weight:600;
  transition:all .3s ease;
}

.join-btn:hover{
  background:#0ea5a0;
  transform:translateY(-2px);
}

/* RIGHT IMAGE */
.join-image img{
  width:100%;
  height:auto;
  border-radius:10px;
  object-fit:cover;
}

/* RESPONSIVE */
@media(max-width:900px){
  .join-container{
    grid-template-columns:1fr;
    gap:40px;
  }

  .join-content h2{
    font-size:30px;
  }
}






/* .about-hero-btns{
  display:flex;
  gap:14px;
  margin-top:20px;
}



.about-btn-main,
.about-btn-outline{
  position:relative;
  display:inline-block;
  padding:8px 26px;
  border-radius:8px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  color:#fff;
  letter-spacing:.2px;

  isolation:isolate;
  overflow:visible;
  cursor:pointer;
}



.about-btn-main{
  background:linear-gradient(to bottom,#35D993 0%,#11585C 55%,#084156 100%);
  border:1px solid rgba(255,255,255,.55);

  box-shadow:
    0 2px 0 rgba(0,0,0,.25),
    0 8px 14px rgba(0,0,0,.25);
} */


/* .about-btn-main::before{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:3px;
  height:50%;
  border-radius:6px;

  background:linear-gradient(
    to bottom,
    rgba(255,255,255,.65),
    rgba(255,255,255,.15),
    rgba(255,255,255,0)
  );
  pointer-events:none;
  z-index:1;
}



.about-btn-outline{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.65);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 6px 12px rgba(0,0,0,.25);
}


.about-btn-outline::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:3px;
  height:45%;
  border-radius:6px;

  background:linear-gradient(
    to bottom,
    rgba(255,255,255,.35),
    rgba(255,255,255,0)
  );
  pointer-events:none;
  z-index:1;
}



.about-btn-main::after,
.about-btn-outline::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:transparent;
  z-index:5;
}



.about-btn-main:hover::after{
  box-shadow:
    0 0 0 2px rgba(0,255,200,.85),
    0 0 14px rgba(0,255,200,.25),
    0 0 28px rgba(0,255,200,.12);
}

.about-btn-outline:hover::after{
  box-shadow:
    0 0 0 2px rgba(0,255,200,.85),
    0 0 14px rgba(0,255,200,.25),
    0 0 28px rgba(0,255,200,.12);
}
 */

/* ================= BUTTON WRAPPER ================= */
.about-hero-btns{
    display:flex;
    gap:14px;
    margin-top:20px;
}

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

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

.about-btn-main,
.about-btn-outline{
    position:relative;
    display:inline-block;
    padding:11px 26px;
    border-radius:10px;
    font-size:15px;
    font-weight:500;
    color:#fff;
    text-decoration:none;
    overflow:visible; /* গুরুত্বপূর্ণ — glow বাইরে যাবে */
    z-index:0;
}


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

.about-btn-main{
    background:linear-gradient(to bottom,#35D993 0%,#11585C 55%,#084156 100%);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 8px 18px rgba(0,0,0,.25);
}

/* glossy */
.about-btn-main::before{
    content:"";
    position:absolute;
    left:6%;
    right:6%;
    top:3px;
    height:50%;
    border-radius:6px;
    background:linear-gradient(to bottom,rgba(255,255,255,.6),transparent);
    pointer-events:none;
}


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

.about-btn-outline{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:0 8px 18px rgba(0,0,0,.25);
}


/* =========================================================
   🔥 OUTSIDE ROTATING BORDER
========================================================= */

.about-btn-main::after,
.about-btn-outline::after{
    content:"";
    position:absolute;
    inset:-4px;                 /* বাইরে বের হবে */
    border-radius:14px;
    padding:2px;

    background:conic-gradient(
        from 0deg,
        transparent 0deg 310deg,
        #00ffd5 330deg,
        #00ffd5 350deg,
        transparent 360deg
    );

    /* ভিতরটা কেটে ফেলবে */
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;

    opacity:0;
    pointer-events:none;
}


/* animation trigger */
.about-btn-main:hover::after,
.about-btn-outline:hover::after{
    opacity:1;
    animation:spinBorder 2s linear infinite;
}

@keyframes spinBorder{
    to{ transform:rotate(360deg); }
}


/* =========================================================
   OUTSIDE GLOW
========================================================= */

.about-btn-main:hover,
.about-btn-outline:hover{
    box-shadow:
        0 0 10px rgba(0,255,213,.35),
        0 0 25px rgba(0,255,213,.25),
        0 12px 30px rgba(0,255,213,.30);
}



/* SECTION */
.ux-services-section {
    background: #3BE79B;
    padding: 30px 0;
}

.ux-services-bg-section{
    background: #032E4A;
    padding: 60px 0;
}
/* CONTAINER */
.ux-services-container {
    width: 1100px;
    max-width: 95%;
    margin: auto;
}

/* HEADER */
.ux-services-header {
    text-align: center;
    margin-bottom: 100px;
}

.ux-services-header h2 {
    color: #39e29d;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.5;
}

.ux-services-header span {
    color: #39e29d;
}
/* GRID */
.ux-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 35px;
}

/* CARD WRAPPER */
.ux-service-card{
  position:relative;
  z-index:1;
}

/* CARD CONTENT */
.ux-card-content{
  position:relative;
  border-radius:22px;
  padding:90px 28px 30px;
  text-align:center;
  min-height:320px;
  background:linear-gradient(181deg,#39d98a99 0%,#1c9d7c00 30%,#0b3f5600 30%,#0b3f5694 100%);
  border:2px solid rgba(255,255,255,.15);
  box-shadow:0 15px 35px rgba(0,0,0,.25);
  z-index:1;

  /* IMPORTANT */
  overflow:visible;  /* icon/image যেন কাটা না যায় */
  
}

.ux-card-content:hover{
  

  box-shadow:
    12px 18px 50px rgba(0,0,0,.35),   /* main depth shadow */
    12px 18px 25px rgba(57,217,138,.6),
    12px 18px 50px rgba(57,217,138,.35);

  border-color: rgba(57,217,138,.6);
}
/* White Cut Circle */
.ux-card-content::before{
    content: "";
    position: absolute;
    top: -26px;
    left: 10%;
    transform: translateX(-50%);
    width: 95px;
    height: 95px;
    background: #062F43;
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
}

/* ICON CIRCLE */
.ux-icon-circle{
    position: absolute;
    top: -21px;
    left: 10%;
    transform: translateX(-50%);
    width: 85px;
    height: 85px;
    border-radius: 50%;
    background: #0b3f56;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

/* IMAGE (icon) */
.ux-icon-circle img{
  width:55px;
  height:55px;
  display:block;
  position:relative;
  z-index:4;         /* সব কিছুর উপরে */
}
/* TEXT */
.ux-card-content h4 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-top: 10px;
    margin-bottom: 15px;
}

.ux-card-content p {
    color: #c9e3ee;
    font-size: 14px;
    line-height: 1.7;
}
.ecws-bottom-arrow-circle{
    position:absolute;
    bottom:25px;
    right:25px;

    width:52px;
    height:52px;
    border-radius:50%;

    background:linear-gradient(145deg,#42e6a4,#27c98a);
    
    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
    transition:all .3s ease;

    box-shadow:
        0 8px 20px rgba(0,0,0,.15),
        0 3px 8px rgba(0,0,0,.08);
}

/* Arrow icon */
.ecws-bottom-arrow-circle i{
    font-size:18px;
    color:#0f2d3a;
    transition:transform .3s ease;
}

/* Hover effect */
.ecws-bottom-arrow-circle:hover{
    transform:translateY(-4px);
    box-shadow:
        0 15px 30px rgba(0,0,0,.25),
        0 0 25px rgba(66,230,164,.6);
}


/* RESPONSIVE */
@media (max-width: 992px) {
    .ux-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .ux-icon-circle{
            left: 6%;
    }
    .ux-card-content::before{
        left: 6%;
    }
    .ux-services-bg-section {
        padding: 100px 18px;
    }
}

@media (max-width: 600px) {
    .ux-services-grid {
        grid-template-columns: 1fr;
    }
}












/* ===============================
   ECWS SECTION WRAPPER
================================ */
.ecws-section-wrapper{
    background:#E2FBF0;
    padding:90px 20px 100px;
    font-family:'Poppins', sans-serif;
    text-align:center;
}

.ecws-inner-container{
    max-width:1140px;
    margin:0 auto;
    width:100%;
}

/* ===============================
   TITLE AREA
================================ */
.ecws-small-heading{
    font-size:14px;
    font-weight:600;
    letter-spacing:2px;
    color:#2a3f52;
    margin-bottom:12px;
}

.ecws-main-heading{
    font-size:38px;
    font-weight:700;
    color:#18364a;
    line-height:1.3;
    margin-bottom:20px;
}

.ecws-description-text{
    font-size:16px;
    color:#2a3f52;
    max-width:650px;
    margin:0 auto 60px;
}

/* ===============================
   CARD GRID
================================ */
.ecws-card-flex-wrapper{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.ecws-single-card-box{
    position:relative;
    background:#B9F6DD;
    flex:1 1 calc(33.33% - 30px);
    max-width:340px;
    padding:70px 30px 40px;
    border-radius:18px;
}

/* White cut circle */
.ecws-single-card-box::before{
    content:"";
    position:absolute;
    top:-52px;
    left:50%;
    transform:translateX(-50%);
    width:110px;
    height:110px;
    background:#E2FBF0;
    border-radius:50%;
}

/* Icon */
.ecws-floating-icon-circle{
    position:absolute;
    top:-40px;
    left:50%;
    transform:translateX(-50%);
    width:90px;
    height:90px;
    background:#36d399;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ecws-floating-icon-circle img{
    width:45px;
}

/* Title */
.ecws-card-title-text{
    font-size:20px;
    font-weight:600;
    margin-bottom:18px;
    color:#18364a;
}

/* Description */
.ecws-card-description-text{
    font-size:15px;
    color:#2a3f52;
    line-height:1.6;
    margin-bottom:40px;
}

/* Arrow */
.ecws-bottom-arrow-circle{
    width:40px;
    height:40px;
    margin:0 auto;
    border-radius:50%;
    background:#36d399;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ecws-bottom-arrow-circle a{
    color:#0f2d3a;
}

.ecws-bottom-arrow-circle:hover{
    background:#2ac086;
}

/* Footer */
.ecws-footer-note-text{
    margin-top:60px;
    font-size:16px;
    color:#2a3f52;
}

/* ===============================
   RESPONSIVE
================================ */

/* Tablet */
@media (max-width:992px){

.ecws-single-card-box{
    margin-top: 50px;
}

.ecws-main-heading{
    font-size:32px;
}

.ecws-card-flex-wrapper{
    gap:25px;
}

.ecws-single-card-box{
    flex:1 1 calc(50% - 25px);
    max-width:none;
}

}

/* Mobile */
@media (max-width:768px){

.ecws-main-heading{
    font-size:28px;
}

.ecws-description-text{
    margin-bottom:40px;
}

.ecws-single-card-box{
    flex:1 1 100%;
    max-width:100%;
}

}

/* Small Mobile */
@media (max-width:480px){

.ecws-section-wrapper{
    padding:70px 15px;
}

.ecws-main-heading{
    font-size:24px;
}

.ecws-floating-icon-circle{
    width:70px;
    height:70px;
    top:-35px;
}

.ecws-floating-icon-circle img{
    width:35px;
}

}


@media (max-width:480px){
.ecws-single-card-box {
    margin-top: 30px;
}

.ecws-single-card-box::before{
    width:82px;
    height:93px;
}

.ecws-floating-icon-circle{
    width:65px;
    height:65px;
    top:-30px;
}

}










/* SECTION */
.rwk-section{
  padding:60px 0 50px;
  background:linear-gradient(
    to bottom,
    #eef6f3 0%,
    #ccefe0 30%,
    #7be0b4 65%,
    #34cc8c 100%
  );
  font-family:'Poppins',sans-serif;
  position:relative;
}

/* CONTAINER */
.rwk-container{
  width:90%;
  margin:auto;
}

/* HEADER */
.rwk-header{
  text-align:center;
  margin-bottom:60px;
}

.rwk-subtitle{
  font-size:14px;
  letter-spacing:2px;
  font-weight:600;
  color:#1c3d4f;
  margin-top: 20px;
}

.rwk-title{
  font-size:38px;
  font-weight:700;
  color:#0f2d3a;
  margin-top:15px;
  line-height:1.3;
}

/* SLIDER */
.rwk-slider-wrapper{
  position:relative;
  overflow:hidden;
}

.rwk-slider-track{
  display:flex;
  gap:35px;
  transition:transform .5s ease;
}

.rwk-card{
  flex:0 0 calc((100% - 105px) / 4); /* 4 cards */
  background:#57FAAC;
  border-radius:22px;
  backdrop-filter:blur(3px);
  text-align:center;
}

.rwk-img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:18px;
  display:block;
  margin-bottom:20px;
}

/* PILL */
.rwk-pill{
  display:inline-block;
  padding:10px 22px;
  border-radius:30px;
  font-weight:600;
  font-size:14px;
  color:#0f2d3a;
  margin-bottom: 20px;
  transition: all .35s ease;
  cursor: pointer;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.85),
    rgba(255,255,255,.4)
  );
  box-shadow:
    inset 0 2px 6px rgba(255,255,255,.7),
    0 6px 12px rgba(0,0,0,.15);
}

.rwk-pill:hover{
    transform: translateY(-4px);

    background: linear-gradient(
        180deg,
        #e8fff4,
        #8be7bf
    );

    box-shadow:
        inset 0 2px 6px rgba(255,255,255,.7),
        0 8px 20px rgba(0,0,0,.2),
        0 0 20px rgba(52,204,140,.6),
        0 0 40px rgba(52,204,140,.35);

    color:#063544;
}

/* NAVIGATION */
.rwk-prev{ left:10px; }
.rwk-next{ right:10px; }

.rwk-nav{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.6);
  color:#0f2d3a;
  font-size:22px;
  cursor:pointer;
  backdrop-filter:blur(6px);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  z-index:10;
}

.rwk-nav:hover{
  background:rgba(255,255,255,.7);
  color:#0f2d3a;
}

/* CTA */
.rwk-cta-wrap{
  text-align:center;
  margin-top:70px;
}

.rwk-cta-btn{
  display:inline-block;
  padding:16px 50px;
  font-size:20px;
  font-weight:700;
  border-radius:50px;
  text-decoration:none;
  color:#0f2d3a;
  background:linear-gradient(180deg,#e8fdf3,#8be7bf);
  box-shadow:
    inset 0 4px 10px rgba(255,255,255,.6),
    0 15px 30px rgba(0,0,0,.25);
  transition:.3s ease;
}

.rwk-cta-btn:hover{
  transform:translateY(-6px);
  box-shadow:
    inset 0 4px 10px rgba(255,255,255,.6),
    0 25px 45px rgba(0,0,0,.35);
}

/* ==============================
   RESPONSIVE
================================ */

/* Large laptop */
@media (max-width:1200px){

.rwk-card{
  flex:0 0 calc((100% - 70px) / 3); /* 3 cards */
}

}

/* Tablet */
@media (max-width:992px){

.rwk-card{
  flex:0 0 calc((100% - 35px) / 2); /* 2 cards */
}

.rwk-title{
  font-size:32px;
}

}

/* Mobile */
@media (max-width:768px){

.rwk-slider-track{
  gap:25px;
}

.rwk-card{
  flex:0 0 100%; /* 1 card */
}

.rwk-img{
  height:200px;
}

.rwk-nav{
  width:42px;
  height:42px;
  font-size:18px;
}

}

/* Small Mobile */
@media (max-width:480px){

.rwk-title{
  font-size:26px;
}

.rwk-img{
  height:180px;
}

.rwk-pill{
  font-size:13px;
  padding:8px 18px;
}

.rwk-cta-btn{
  padding:14px 35px;
  font-size:18px;
}

}



/* ===============================
   PRICING AREA RESPONSIVE
=================================*/

/* Large Laptop / Desktop (1400px+) */
@media (min-width: 1400px) {
  .container-price{
    max-width:90%;
    margin:auto;
  }
}


/* Laptop (992px - 1399px) */
@media (max-width: 1199px){

  .section_title h1{
    font-size:34px;
    line-height:44px;
  }

  .pricing-single-items{
    padding:30px 22px;
  }

  .pricing-item-text .tk{
    font-size:40px;
  }

}


/* Tablet (768px - 991px) */
@media (max-width: 991px){

    section.pricing-area {
        padding: 54px 0 0px;
    }
  .pricing-area .section_title h4{
        margin-top: 0px;
  }
  .pricing-area{
    padding:60px 0;
  }

  .section_title{
    margin-bottom:40px;
  }

  .section_title h1{
    font-size:30px;
    line-height:40px;
  }

  .section_title p{
    width:100%;
  }

  .pricing-single-items{
    margin-bottom:30px;
  }

  .pricing-item-text{
    margin-top:10px;
  }

  .pricing-contact{
    margin-top:30px;
  }

}


/* Mobile (576px - 767px) */
@media (max-width: 767px){

  .pricing-area{
    padding:50px 0;
  }

  .section_title h4{
    font-size:14px;
  }

  .section_title h1{
    font-size:26px;
    line-height:36px;
  }

  .pricing-single-items{
    padding:25px 20px;
    margin-bottom: 120px;
  }

  .pricing-title h3{
    font-size:20px;
  }

  .pricing-feature ul li{
    font-size:14px;
  }

  .pricing-item-text .tk{
    font-size:34px;
  }

  .pricing-contact{
    padding:0px;
  }

}


/* Small Mobile (under 575px) */
@media (max-width: 575px){

  .section_title h1{
    font-size:22px;
    line-height:32px;
  }

  .pricing-single-items{
    padding:22px 18px;
  }

  .pricing_icon img{
    width:40px;
  }

  .pricing-title h3{
    font-size:18px;
  }

  .pricing-feature ul li{
    font-size:13px;
  }

  .pricing-item-text{
    font-size:20px;
  }

  .pricing-item-text .tk{
    font-size:30px;
  }

  .pricing-contact{
    display:block;
  }

  .pricing-contact-icon{
    margin-bottom:10px;
  }

}

/* =================================
LARGE LAPTOP (1200px - 1400px)
=================================*/

@media (max-width:1200px){

.faq_heading{
    font-size:26px;
}

.accordion li .accordion-faq-a{
    font-size:18px;
    padding:20px 25px;
}

}


/* =================================
TABLET LANDSCAPE (992px - 1199px)
=================================*/

@media (max-width:991px){

section.faq_area{
    padding:0px 0;
}

.faq_heading{
    text-align:center;
}

.accordion{
    margin-bottom:40px;
}

.accordion li .accordion-faq-a{
    font-size:18px;
    padding:18px 22px;
}

.accordion li p{
    padding:18px 22px;
}

}


/* =================================
TABLET PORTRAIT (768px - 991px)
=================================*/

@media (max-width:768px){

section.faq_area{
    padding:0px 0;
}

.section_title h1{
    font-size:26px;
}

.section_title h2{
    font-size:22px;
}

.faq_heading{
    font-size:22px;
}

.accordion li .accordion-faq-a{
    font-size:17px;
}

}


/* =================================
MOBILE DEVICE (576px - 767px)
=================================*/

@media (max-width:576px){

section.faq_area{
    padding:0px 15px;
}

.faq_heading{
    font-size:20px;
    margin-bottom:20px;
}

.accordion li{
    margin-bottom:15px;
}

.accordion li .accordion-faq-a{
    padding:16px 18px;
    font-size:16px;
}

.accordion li p{
    padding:16px 18px;
    font-size:14px;
    line-height:24px;
}

.accordion li a i{
    width:30px;
    height:30px;
    font-size:12px;
}

}


/* =================================
SMALL MOBILE (below 400px)
=================================*/

@media (max-width:400px){

.section_title h1{
    font-size:22px;
}

.section_title h2{
    font-size:18px;
}

.faq_heading{
    font-size:18px;
}

.accordion li .accordion-faq-a{
    font-size:15px;
    padding:14px 16px;
}

.accordion li p{
    font-size:13px;
}

}


@media (max-width:1200px){

.breadcumb-content{
    margin-left: 50px;
}

.breadcumb-area{
    background-position:64% center;
    padding-top: 200px;
}

.breadcumb-title h4{
    font-size:42px;
}

.breadcumb-content p{
    font-size:15px;
}

}


@media (max-width:992px){
.about-hero-btns{
    margin-bottom: 50px;
}

.breadcumb-content {
    margin-left: 70px;
    width: 100%;
    margin-bottom: 50px;
}

.breadcumb-area{
    background-position:62% center;
    padding:120px 0;
}

.breadcumb-title h4{
    font-size:36px;
}

.breadcumb-content p{
    font-size:14px;
    margin-right: 130px;
}

.about-hero-btns{
    display:flex;
    gap:12px;
}

}

@media (max-width:768px){

.breadcumb-area{
    background-position:62% center;
    padding:100px 0;
}

.breadcumb-title h4{
    font-size:30px;
}

.breadcumb-content p{
    font-size:13px;
    line-height:1.6;
}

.about-hero-btns{
    flex-direction:column;
    align-items:flex-start;
}

.about-btn-main,
.about-btn-outline{
    margin-bottom:10px;
}

}

@media (max-width:480px){

.breadcumb-area{
    background-position:67% center;
    padding:80px 0;
}

.breadcumb-title h4{
    font-size:26px;
}

.breadcumb-content p{
    font-size:12px;
}

}


.single-image-section{
    padding:80px 20px;
    background:#0b3a53;
}

.single-image-container{
    max-width:1200px;
    margin:auto;
    text-align:center;
}

.single-image-container img{
    width:100%;
    max-width:500px;
    height:auto;
    display:block;
    margin:auto;
    border-radius:20px;
}

@media (max-width:1200px){

.single-image-section{
    padding:70px 20px;
}

.single-image-container img{
    max-width:450px;
}

}

@media (max-width:992px){

.single-image-section{
    padding:60px 20px;
}

.single-image-container img{
    max-width:400px;
}

}

@media (max-width:768px){

.single-image-section{
    padding:50px 15px;
}

.single-image-container img{
    max-width:320px;
}

}

@media (max-width:480px){

.single-image-section{
    padding:40px 10px;
}

.single-image-container img{
    max-width:260px;
    border-radius:15px;
}

}



