section.section{
    position:relative;
}
section.section + section.section{
    margin-bottom:60px;
}
.section__heading {
    margin-bottom:2rem;
    position:relative;
}
.section__heading .section__title{
    margin-top:0;
        font-family: var(--font-brand);
    color: var(--mainColor);
    font-size:32px;
    line-height:1;
}
.section__heading:not(.section__heading-row) .section__title{
    margin-bottom:1rem;
}
.section__heading-row,
.section__heading-row > div{
    display:flex;
    align-items:end;
}
.section__des{
    max-width:800px;
}
.section__des p{
    margin:0;
}

@media (min-width:992px){
    .section__heading-row .section__title{
        margin-bottom:0;
    }
    .section__heading-row .section__des p{
            padding-left: 2rem;
        margin-left: 2rem;
        border-left: 2px solid #000;
    }
}
@media (min-width:1500px){
    .section__des{
        font-size:18px;
        line-height:24px;
    }
}
@media (max-width:991px){
    section.section + section.section{
        margin-bottom:2rem;
    }
    .section__heading{
        margin-bottom:1rem;
    }
    .section__des{
        font-size:14px;
    }
    .section__heading-row,
    .section__heading-row > div{
        display:block;
    }
    .section__heading:not(.section__heading-row) .section__title{
        margin-bottom:0.5rem;
    }
    .section__heading.has-link .section__title{
        max-width:calc(100% - 100px)
    }
}
@media (max-width:767px){
     .section__heading .section__title{
        font-size:20px;
        line-height:1;
    }
    .section__des{
        font-size:12px;
    }
}
.section_gallery picture img{
    width:100%;
}
/* Đặt nền slide làm relative để overlay bám */
.section_gallery .swiper-slide { position: relative; overflow: hidden; }
.section_gallery .swiper__nav-full .swiper__nav-btn{
    transform:none;
    top:0;
    position:relative;
}
.section_gallery .swiper__nav-full .container{
    display: flex
;
    justify-content: space-between;
}
.section_gallery .swiper__nav-full{
        position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index:99;
}
.section_gallery .swiper__nav-btn{
    border:1px solid #fff;
}
@media (min-width:992px){
    .section_gallery_gallery picture img{
        height:calc(100vh - 64px);
        object-fit:cover;
    }
}
@media (max-width:991px){
    .section_gallery .swiper__nav-full{
        display:block;
    }
    .section_gallery .swiper__nav-btn svg{
        width:5px;
    }
     .section_gallery_gallery picture img{
        height:calc(100vh - 90px);
        object-fit:cover;
    }
}
/* Lớp overlay phủ toàn slide, canh giữa theo trục dọc */
.hero-ovl {
  position: absolute; inset: 0;
  display: flex; align-items: center;
  z-index: 3; /* cao hơn ảnh */
  pointer-events: none; /* tránh che swipe; bật lại cho button ở content */
}

/* Container có sẵn của site - giữ nguyên. Chỉ phần content mới bật pointer-events */
.hero-ovl__content {
  pointer-events: auto;
  color: #fff;
}

/* Tiêu đề */
.hero-ovl__title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  font-size: 48px;
    line-height: 58px;
    font-family:var(--font-brand);
    margin-top:0;
    margin-bottom:2rem;
}

/* Sub: có vạch dọc bên trái như hình */
.hero-ovl__subtitle {
 position: relative;
    padding-left: 1rem;
    color: rgba(255, 255, 255, .9);
    font-size: 24px;
    line-height: 30px;
    max-width: 480px;
    margin:0;
}
.hero-ovl__subtitle::before{
  content:"";
  position: absolute; left: 0; top: 0.2em; bottom: 0.2em;
  width: 3px; background: rgba(255,255,255,.8);
  border-radius: 2px;
}

.hero-ovl__bottom{
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;      /* hẹp thì xuống dòng gọn gàng */
  margin-top: 100px;     /* thay cho margin-top:100px trước đây */
}

/* Button */
.hero-ovl__btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 18px;
  border-radius: 6px;
  background: var(--mainColor); color:#fff; text-decoration:none;
  box-shadow: 0 8px 18px rgba(58,161,68,.25);
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
}
.hero-ovl__btn:hover{ background:#2f8738; transform:translateY(-1px); box-shadow:0 12px 22px rgba(58,161,68,.28); }

/* Clients row */
.hero-ovl__clients img{
    max-width:220px;
}
.hero-ovl__clients-item{ display:inline-flex; align-items:center; justify-content:center; height:32px; }
.hero-ovl__clients-note{ color:#fff;     font-size: 13px;
    font-style: italic;}

/* Hiệu ứng bước (stagger) theo slide active */
@keyframes fadeUp { from { opacity:0; transform: translateY(16px);} to { opacity:1; transform: translateY(0);} }
.section_gallery .swiper-slide .hero-ovl__title,
.section_gallery .swiper-slide .hero-ovl__subtitle,
.section_gallery .swiper-slide .hero-ovl__actions,
.section_gallery .swiper-slide .hero-ovl__clients { opacity:0; transform: translateY(16px); }

.section_gallery .swiper-slide-active .hero-ovl__title      { animation: fadeUp .6s ease .05s forwards; }
.section_gallery .swiper-slide-active .hero-ovl__subtitle   { animation: fadeUp .6s ease .18s forwards; }
.section_gallery .swiper-slide-active .hero-ovl__actions    { animation: fadeUp .6s ease .30s forwards; }
.section_gallery .swiper-slide-active .hero-ovl__clients    { animation: fadeUp .6s ease .42s forwards; }

@media (min-width:992px){
    .section_gallery .swiper__dots{
        bottom:2rem;
    }
}
/* Responsive: mobile chiếm full rộng (khỏi 50%) */
@media (max-width:1499px){
    .hero-ovl__title{
        font-size:32px;
        line-height:38px;
    }
    .hero-ovl__subtitle{
        font-size:20px;
        line-height:26px;
    }
}
@media (max-width: 991px){
  .hero-ovl__title{
      line-height:1.4;
    margin-bottom: 10px;
  }
  .hero-ovl .container{
      margin-left:0;
  }
  .hero-ovl__subtitle{
      line-height:1.4;
  }
  .hero-ovl__bottom{
      gap: 1rem;
    flex-wrap: unset;
  }
  .hero-ovl__bottom{
      margin-top:1rem;
  }
  .hero-ovl__btn{
    padding: 0.5rem 1rem;
  }
  .hero-ovl__clients img{
      max-width:100px;
  }
  .hero-ovl{
          align-items: end;
    margin-bottom: 2rem;
  }
}
@media (max-width: 767px){
    .hero-ovl__title{
      font-size: 20px;
  }
  .hero-ovl__subtitle{
      font-size:12px;
      max-width:300px;
  }
  .hero-ovl__clients-note{
      font-size:10px;
  }
  .hero-ovl__btn{
          font-size: 12px;
  }
}


/*overview*/
    /* ========== overview (BEM) ========== */

/* Block */
.section_overview{
    padding-top:60px;
}
    /* ===== Counter Roller (works with your HTML & the JS I sent) ===== */

.counter,
.counter-roller {
  /* giữ các cột số nằm trên 1 hàng */
  display: inline-flex;
  align-items: center;
  gap: 0;                 /* khoảng giữa các cột (rất nhỏ) */
  font-variant-numeric: tabular-nums lining-nums; /* số có bề ngang đều */
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* Nhóm chứa các cột số */
.counter-roller__digits {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.02em;
}

/* Mỗi cột (1 chữ số) */
.counter-roller__digit {
  position: relative;
  display: inline-block;
  width: var(--digit-w, 0.65em);  /* bề ngang 1 chữ số; chỉnh nếu font khác */
  height: 1em;                    /* đúng 1 dòng chữ */
  overflow: hidden;               /* chỉ thấy 1 số */
  vertical-align: bottom;
}

/* Dải 0..9 bên trong cột */
.counter-roller__track {
  position: absolute;
  left: 0;
  top: 0;
  will-change: transform;
  transform: translateY(0);       /* JS sẽ đổi translateY */
}

/* Mỗi số trong dải 0..9 */
.counter-roller__cell {
  display: block;
  height: 1em;
  line-height: 1em;               /* đảm bảo mỗi số cao đúng 1em */
  text-align: center;
}

/* Dấu cộng, phần trăm, v.v. */
.counter-roller__suffix {
  display: inline-block;
  vertical-align: baseline;
  line-height: 1;
  opacity: 0.9;
}

/* ——— Tuỳ chọn size (nếu muốn) ——— */
.counter--lg   { font-size: clamp(28px, 4.2vw, 56px); font-weight: 700; }
.counter--md   { font-size: 24px; font-weight: 700; }
.counter--thin { font-weight: 500; }

/* Bạn có thể áp thêm cho ô “thống kê” của bạn */
.overview__stat-num {
  color: #539005;                 /* màu theo brand của bạn nếu muốn */
  font-weight: 700;
  /* ví dụ kích thước mặc định */
  font-size: 40px;                /* chỉnh tuỳ layout */
  line-height: 1;
}
@media (max-width:991px){
    .section_overview{
        padding-top:2rem;   
    }
    .section_overview-left{
        order:2;   
    }
    .overview__map{
        margin-left:auto;
        margin-right:auto;
    }
}
.overview{}
.layer-bg{
    position:absolute;
    z-index:-1;
}
.overview__bg--top-right{
    top:0;
    right:0;
}
.overview__bg--bottom-left{
    bottom:0;
    left:0;
}
/* Titles */
.overview__title{
  font-size: 30px;
  line-height: 100%;
  margin-bottom: 2rem;
   font-family:var(--font-brand);
}
.overview__text{
    margin-bottom:2rem;
    text-align:justify;
}
.overview__highlight{
  color: var(--mainColor); /* xanh nổi số */
  font-size: 48px;
  line-height:100%;
  font-weight:900;
}

/* Text */

/* Map */
.overview__map{
  position: relative;
  max-width:100%;
}

.overview__map-item {
   display: flex;
    flex-direction: column;
    position:absolute;
}
.overview__map-item img{
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px) scale(.98);
  transition: opacity .28s ease, transform .32s ease, visibility 0s linear .32s;
  will-change: opacity, transform;
  pointer-events: none; /* tránh bắt hover khi đang ẩn */
}

.overview__map-item.active img{
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity .28s ease, transform .32s ease, visibility 0s; /* hiển thị ngay visibility */
  pointer-events: auto;
}

/* tuỳ chọn: tắt animation cho người dùng giảm chuyển động */
@media (prefers-reduced-motion: reduce){
  .overview__map-item img{ transition: none; }
}
.overview__map-item-1{
      left: 75.2%;
    bottom: 30.7%;
}
.overview__map-item-2{
   left: 10.8%;
    bottom: 25%;  
}
.overview__map-item-3{
      left: 71.6%;
    bottom: 74.6%;
}
.overview__map-item-3 img{
    margin-left:auto;
}
.overview__map-item img{
    margin-bottom:2rem;
}
.overview__map-item span{
    font-size:10px;
    text-transform:uppercase;
    cursor:pointer;
}
.overview__map-item-1 span{
    font-weight:bold;
}

/* Stats */
.overview__stats {
    display: grid
;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.overview__stat-num{
     color: var(--mainColor);
    font-size: 48px;
    line-height: 100%;
    font-family: var(--font-brand);
    margin-bottom: 0.5rem;
}

/* Responsive */
@media (max-width: 991.98px){
    .overview__map-item img{
    margin-bottom:1rem;
}
  .overview__stats{ grid-template-columns: 1fr;gap:1rem }
  .overview__map{
      max-width:100% !important;
  }
  .overview__bg--top-right,
  .overview__bg--bottom-left{
      max-width:100px;
  }
  .overview__title{
      margin-bottom:1.5rem;
  }
  .overview__title,
  .overview__highlight{
      font-size:18px;
      line-height:1.2
  }
  .overview__text{
      font-size:14px;
              text-align: justify;
              margin-bottom:0;
  }
  .overview__stat-num{
      font-size:30px;
      line-height:100%;
      margin-bottom:2px;
  }
  .overview__stat-label{
      font-size:14px;
  }
  .overview__bg--bottom-right{
      max-width: 50px;
    right: 0;
    bottom: -1rem;
  }
}
@media (max-width:767px){
    .overview__bg--top-right{
      max-width:50px;
  }
  .overview__bg--bottom-left{
      bottom:auto;
          top: 35%;
    max-width: 30px;
  }
  .overview__text,
  .overview__stat-label{
      font-size:12px;
  }
  .overview__map-item span{
      font-size:7px;
  }
}
  /* Khung & viền gradient */
.brand-carousel {
  border: 1px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, rgba(117, 197, 14, 0.1) 0%, #E0FFB9 100%) border-box;
}

/* Layout khung */
.brand-carousel .container {
  display: grid;
  grid-template-columns: auto 1fr auto; /* nếu bỏ nút, đổi thành 1fr */
  align-items: center;
  gap: 12px;
}

.brand-carousel__viewport {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 0.5rem 0;
}

/* Track chạy vô tận (desktop mặc định) */
.brand-carousel__track {
  display: flex;
  align-items: center;
  column-gap: 24px;               /* gap desktop */
  animation: marquee 40s linear infinite; /* duration cố định; JS có thể override */
  will-change: transform;
}
.brand-carousel__viewport{
  overflow: hidden;
  contain: layout paint style;
}

.brand-carousel__track{
  display: inline-flex;
  will-change: transform;
  transform: translateZ(0);
  animation: brand-marquee linear infinite;
  /* duration sẽ set bằng JS */
}

@keyframes brand-marquee {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(calc(-1 * var(--loop-w, 0px)), 0, 0); }
}
.brand-carousel__viewport:hover .brand-carousel__track,
.brand-carousel__viewport:focus-within .brand-carousel__track {
  animation-play-state: paused;
}

/* Mỗi slide chiếm 1 cột theo per-view */
.brand-carousel__slide {
  /* Desktop: 8 cột, gap 24px → (100% - 24*(8-1)) / 8 = (100% - 168px)/8 */
  flex: 0 0 calc((100% - 168px) / 8);
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

/* Logo: xám mặc định, hover hiện màu */
.brand-carousel__img {
  max-height: 48px;
  height: 48px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) contrast(0.9) brightness(0.96);
  opacity: .7;
  transition: filter .2s ease, opacity .2s ease;
}
.brand-carousel__slide:hover .brand-carousel__img,
.brand-carousel__slide:focus .brand-carousel__img {
  filter: none;
  opacity: 1;
}
@media (max-width: 991.98px) {
  .brand-carousel__track { column-gap: 1rem; }            
  .brand-carousel__slide { flex: 0 0 calc((100% - 60px) / 6); } 
}
@media (max-width: 767px) {
  .brand-carousel__slide { flex: 0 0 calc((100% - 60px) / 5); } 
}

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/*section dich vu*/
.section_service  {
    padding-top:60px;
}
.service__bg--top-left {
    max-width: 700px;
    bottom: -150px;
    left: 0;
    z-index: -1;
}
.service__bg--top-right{
    max-width:400px;
    top: 0;
    right: 0;
     z-index: -1;
}
/* LEFT: Tabs */
.service__tabs aside{
  display:flex; 
  flex-direction:column; 
  gap:2px;
}
.service__tab {
    appearance: none;
    text-align: right;
    cursor: pointer;
    padding: 1rem 2rem;
    transition: all .25s 
ease;
    background: linear-gradient(90deg, #F6FFEB 5.2%, #e8e3e0 100%);
    font-size:22px;
    line-height:28px;
    color:#000;
    font-family:var(--font-brand);
}
.service__tab:hover{ transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,.08); }

/* Nền active theo yêu cầu */
.service__tab.is-active{
  color:#fff;
  background: linear-gradient(90deg, #F2FFE2 0%, #539005 100%);
}
.service__tab.is-active svg path{
    stroke:#fff
}
/* RIGHT: Content */
.service__content {
    position: relative;
    min-height: 320px;
    background: #fff;
    display: grid
;
    grid-template-rows: 1fr auto;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}
.service__hero{ position:relative; margin:0; 
border-top-right-radius:15px;
border-bottom-right-radius:15px;
}
.service__hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.service__hero-overlay{
  position:absolute; inset:0;
  background: #4E8B01A8;          /* lớp phủ theo yêu cầu */
}

/* Ảnh người đè lên bên phải */
.service__person {
    position: absolute;
    right: 0;
    bottom: 0;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .22));
    z-index:1;
    max-width:300px;
}
@media (max-width:1199px){
    .service__tab{
        padding:1rem;
    }
}
/* Text box */
@media (min-width:992px){
    .service__text{
            max-width: calc(100% - 300px);
    }
}
.service__text{
    position: absolute;
    padding: 1rem 1rem 1rem 2rem;
    bottom: 0;
}
.service__title {
    font-family: var(--font-brand);
    font-size: 22px;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.5rem;
}
.service__title a{
    color: #fff;
}
.service__desc{
    font-size:18px;
    color:#fff;
    margin:0;
}
.service__button{
        position: absolute;
    right: 0;
    bottom: 1rem;
    width: 15px;
    height: 15px;
}
@media (min-width:992px){
    .service__tabs{
        flex: 0 0 40%;
        max-width: 40%;
    }
    .service__content{
        flex: 0 0 60%;
        max-width: 60%;
    }
}

.section_technology .service__text{
    width:100%;
}
.section_technology .service__button{
    position:relative;
}
.section_technology .service__button{
    bottom:0;
    width:auto;
    height:auto;
    padding-left:5px;
}
.section_technology .service__button a{
    color:var(--textColor);
}
.section_technology .service__button a:hover{
    text-decoration:underline;
}
.section_technology .service__text{
    padding:12px;
}
.section_technology .service__title a{
    color:var(--textColor);
}
.section_technology .service__title{
    margin:0;
}
.section_technology .service__text > div{
    display:flex;
    align-items:center;
}
.service__button-icon a{
    display:inline-block;
    width: 30px;
    height: 30px;
    background: #1dade9;
    border-radius: 50%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.service__button-icon a svg{
    width:15px;
}
.service__button-icon a svg path{
    fill:#fff
}
@media (min-width:992px){
    .section_technology .service__text{
        max-width:100%
    }
    .section_technology .service__text{
        display: flex
;
    justify-content: space-between;
    align-items:center;
}
.section_technology .service__text{
    height:80px;
}
.section_technology .service__hero-bg{
    height:calc(100% - 80px);
}
}
@media (max-width:991px){
    .section_technology .service__panel .service__text,
    .section_technology .service__panel .service__hero-bg{
        position:relative;
    }
    .section_technology .service__panel .service__hero{
        height:auto;
    }
    .section_technology .service__panel .service__text{
        width:100%;
        max-width:100%;
    }
    .section_technology .service__desc{
        color:var(--textColor);
        font-size:14px;
    }
    .section_technology .service__button{
            padding: 0;
    margin-top: 0.5rem;
    font-size: 14px;
    }
    .section_technology .service__button a{
        color:var(--mainColor);
    }
    .section_technology .service__panel .service__text{
        font-size:14px;
    }
}
@media (max-width:767px){
    .section_technology .service__desc{
        font-size:12px;
    }
    .section_technology .service__button{
    font-size: 12px;
    }
    .section_technology .service__panel .service__text{
        font-size:12px;
    }
    .section_technology .service__panel .service__text p{
        margin-bottom:5px;
    }
}
/* Quote cố định */
.service__quote{
 color: var(--mainColor);
    font-style: italic;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    text-align: center;
    margin-top: 2rem;
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
}
.service__note{
        margin-top: 1rem;
    font-style: italic;
}
.service__note a{
    color:var(--mainColor);
}
.service__note a:hover{
    text-decoration:underline;
}
@media (min-width:992px){
    .service__note{
        padding-left: 80px;
    }
    .service__tab svg{
        margin-left:1.5rem;
    }
}
@media (min-width:992px) and (max-width:1199px){
     .service__person{
        max-width:250px;
    }
    .service__text {
        max-width: calc(100% - 250px);
    }
}
@media (max-width:1499px){
    .service__tab{
        font-size:20px;
        line-height:26px;
    }
}
/* Responsive */
@media (max-width: 991.98px){
  .service{ }
  .service__bg--top-right{
      max-width:150px;
  }
  .service__bg--top-left{
      max-width:250px;
  }
  .service__person{
      }
     .section_service  {
        padding-top:2rem;
    }
    .service__tabs{
        order:2;
    }
    .service__tab{
    padding: 0.5rem 1rem;
    display: flex;
    align-items:center;
    width:100%;
;
    justify-content: space-between;
            background: linear-gradient(90deg, rgba(230, 223, 223, 0.6) 0%, #F6FFEB 100%);
    }
    .service__tab:not(:last-child){
        margin-bottom:0.5rem;
    }
    .service__tab svg{
        width:10px;
    }
    .service__tab.is-active{
            background: linear-gradient(90deg, #539005 0%, #F2FFE2 100%);
            font-weight:bold;
    }
    .service__tab.is-active svg{
        transform: rotate(180deg);
    }
  
    .service__text{
        padding:1rem;
    }
    .service__panel{
    display:none;
    margin:10px 0;
    border-radius:10px; /* liền với nút active */
    box-shadow:0 10px 24px rgba(0,0,0,.10);
    background:#fff;
    position:relative;
  }

  .service__panel .service__hero{
    position:relative; margin:0; height:220px; /* chiều cao cố định -> không giật */
  }
  .service__panel .service__hero-bg{
    position:absolute; inset:0; background-size:cover; background-position:center;border-radius:10px;
  }
  .service__panel .service__hero-overlay{
      border-radius:10px;
  }
  .service__panel .service__hero-overlay{
    position:absolute; inset:0; background:#4E8B01A8; pointer-events:none;
  }
  .service__panel .service__person{
      max-width:150px;
  }
  .service__panel .service__text{
      padding:1rem;
      max-width:calc(100% - 150px);
  }
  .service__title{
      font-size:20px;
  }
  .service__desc{
      font-size:14px;
  }
  .service__quote{
    max-width: 500px;
    line-height: 1.4;
    margin-top: 1rem;
    font-size:14px;
  }
  .service__note{
  font-size:12px;
}
.section_technology .service__text > div{
        justify-content: right;
}
}
@media (max-width:767px){
    .service__tab{
          font-size: 12px;
          padding:4px 1rem;
    }
    .service__title{
        font-size:14px;
    }
     .service__desc{
        font-size:10px;
    }
     .service__quote{
          font-size: 12px;
    max-width: 250px;
  }
  .service__note{
  font-size:10px;
}
}

.section_advantage .advantage:before,
.section_advantage .advantage:after{
    content: "";
    display: block;
    height: 180px;
    width: 30%;
    z-index: -1;
    position: absolute;
    top: 60px;
}
.section_advantage .advantage:before{
   background: linear-gradient(90deg, #B6E39F 9%, rgba(212, 238, 198, 0.592658) 70.92%, #F6FFEB 95.89%); 
   left:0;
}
.section_advantage .advantage:after{
    background: linear-gradient(269.97deg, #B6E39F 9%, rgba(212, 238, 198, 0.592658) 70.92%, #F6FFEB 95.89%);
    right:0;
}

/*section uu diem*/
.advantage__bg--top-right{
    top:-250px;
    right:0;
    max-width:180px;
}
 .advantage .swiper__nav-full .container{
        display:flex;
        align-items:center;

    }
@media (min-width:992px){
    .advantage .swiper__nav-full .swiper__nav-btn{
        top:0;
        transform:none;
        position:relative;
    }
    .advantage .swiper__nav-full {
        position: absolute;
        width: 100%;
        top: 135px;
    }
    .advantage .swiper__nav-full .container{
            justify-content: space-between;

    }
    .advantage__viewport{
        width:calc(100% - 92px);
        margin:0 auto;
    }
}
@media (max-width:991px){
    .advantage__bg--top-right{
    top:-2rem;
    right:0;
}
.section_advantage .advantage:before,
.section_advantage .advantage:after{
    height:60px;
    top:30px;
}
.advantage .swiper__nav-full .container{
    justify-content: center;
}
}
/* ===== advantage block ===== */
.advantage{
     overflow:hidden; 
     position:relative;
}

.advantage__viewport{
  overflow:hidden;                 /* chặn tràn container */
}
.advantage__slider{
  overflow:visible;                /* chừa chỗ mũi tên */
}

/* Card cố định size để coverflow tính toán ổn */
.advantage__card.swiper-slide{
  border-radius:15px;
  overflow:hidden;
  position:relative;
}

/*.advantage__img img{*/
/*    transition:all 1s;*/
/*}*/

.advantage__content-label{
    margin-top:2rem;
    font-size:30px;
    line-height:36px;
    color:var(--mainColor);
    font-weight:900;
    font-family:var(--font-brand);
    text-align:center;
    text-transform:uppercase;
}
.advantage__content-label:after{
     content:"";
    display:block;
    height:2px;
    background:#7AD900;
    width:400px;
    margin:20px auto;
}
.advantage__card.swiper-slide-active{
    text-align:center;
}
.advantage__card:not(.swiper-slide-active) .advantage__img{
    display:flex;
    align-items:center;
     justify-content:center;
}
.advantage__card:not(.swiper-slide-active) .advantage__img div{
    width:100%;
}
.advantage__card .advantage__img img{
    transition:all .5s;
    border-radius:15px;
}
.advantage__card:not(.swiper-slide-active) .advantage__img img{
    height:130px;
    object-fit: cover;
}
.advantage__card.swiper-slide-active .advantage__img img{
     object-fit: cover;
}

/* Booster cho coverflow – slide giữa nổi bật */
.swiper-slide{ opacity:.9; transition:opacity .3s ease, transform .35s ease; z-index:1; }
.swiper-slide-active{ opacity:1; transform:scale(1.1); z-index:3; }
.swiper-slide-next,.swiper-slide-prev{ z-index:2; }

/* Arrows */
.swiper__nav-ico{ font-size:18px; line-height:1; }

/* Content dưới */
.advantage__content{ max-width:580px; margin:0 auto; text-align:center; }
@media (max-width:1499px){
    /*.swiper-slide-active .advantage__label{*/
    /*    font-size:20px;*/
    /*    line-height:26px;*/
    /*}*/
}
@media (max-width:991px){
    .advantage__content-label{
        font-size:14px;
        line-height:20px;
        margin-top:0
    }
    
    .advantage__content-label:after{
            margin: 10px auto;
    max-width: 300px;
    height: 1px;
    }
    /*.advantage__label{*/
    /*    font-size:5px;*/
    /*    text-transform:uppercase;*/
    /*    line-height:1.4;*/
    /*    padding:6px 12px;*/
    /*}*/
    /*.swiper-slide-active .advantage__label{*/
    /*    font-size:14px;*/
    /*    line-height:20px;*/
    /*}*/
    .advantage__img{
        height:200px !important;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .advantage__card.swiper-slide-active .advantage__img img{
        height:200px;
    }
    .advantage__content{
     margin-top:0.5rem;
     font-size:14px;
    }
    .advantage__content:before{
        display:none;
    }
    .section_advantage .swiper__dots{
        position:relative;
        top:0 !important;
        margin-top:1rem;
    }
    .advantage__card:not(.swiper-slide-active) .advantage__img img{
        height:100px;
    }
}
@media (max-width:767px){
     .advantage__img{
        height:120px !important;
    }
     .advantage__content{
         max-width:300px;
         font-size:12px;
        }
        .advantage__content-label{
            font-size:12px;
            line-height:18px;
        }
        .advantage__card.swiper-slide-active .advantage__img img{
        height:120px;
    }
    .advantage__card:not(.swiper-slide-active) .advantage__img img{
        height:40px;
    }
        /*.swiper-slide-active .advantage__label{*/
        /*    font-size:10px;*/
        /*    line-height:16px;*/
        /*}*/
}

 /* ===== Section backdrop ===== */
.section_news{ }
.news__bg--top-left{
    top:-200px;
    left:0;
}
/* ===== Block: news ===== */
@media (min-width:992px){
    .section_news .row{
    margin:0 -10px;
}
.section_news .row > div{
    padding:0 10px;
}
    .news-slider{
        position:relative;
    }
    .news-slider .swiper {
        max-width:90%;
        margin:0 auto;
    }   
    .swiper__nav-full .swiper__nav-btn{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index:9999;
    }
    .swiper__nav-full .swiper__nav-btn.swiper__nav-btn--next{
       right:0;
    }
    .swiper__nav-full .swiper__nav-btn{
        width:30px;
        height:30px;
    }
    .section_news:not(.news_latest) .section__heading-row{
            justify-content: space-between;
    }
}
.news__title{ color:#2E9F3E; font-weight:800; font-size:32px; line-height:1.2; }
.news__note{ font-weight:600; opacity:.9; }
.news__viewmore a{
        color: var(--mainColor);
    font-style: italic;
    display: flex
;
    align-items: center;
    line-height:100%;
}
.news__viewmore svg{
    margin-left:0.5rem;
}

/* Nav buttons (top-right) */
.swiper__nav-column{ 
    display:inline-flex; gap:6px;position: absolute;
    right: 10px;
    top: -3rem;
}
.swiper__nav-btn{
  border-radius: 50%;
    border: 1px solid #000;
    transition: transform .15s 
ease, background .15s 
ease;
    cursor: pointer;
    display: flex
;
    align-items: center;
    justify-content: center;
    padding:0;
    width:20px;
    height:20px;
}
.swiper__nav-ic{ width:18px;height:18px; }
.swiper-pagination-bullet{
    width:10px;
    height:10px;
}
.swiper-pagination-clickable .swiper-pagination-bullet{
    transform:none !important;
    left:0 !important;
    right:0 !important;
}
.swiper-pagination-bullet{
    background: #D9D9D9;
    opacity:1;
}


.swiper-pagination-bullet-active{
        background: #726D6D;
    }
    
@media (max-width:991px){
    .news__viewmore{
        position: absolute;
        top: 5px;
        right: 0;
        font-size: 14px;
    }
    .news__viewmore svg{
        width:5px;
        margin-left:4px;
    }
    .news__bg--top-left{
        max-width: 50px;
    top: -100px;
    }
    .swiper__nav-btn{
        border:0.5px solid #000;
    }
    .swiper__nav-full{
        display:flex;
        justify-content: center;
        margin-top:1rem;
    }
    .swiper__nav-btn{
        width:20px;
        height:20px;
    }
    .swiper__nav-full .swiper__nav-btn:first-child{
        margin-right:12px;
    }
    .swiper-pagination-bullet{
        width:4px !important;
        height:4px !important;
            transform: none !important
    }
}
@media (max-width:767px){
    .news__viewmore{
        font-size:12px;
    }
}

/* ===== Cards ===== */
.news-card{overflow:hidden;position:relative; }
.news-card--featured .news-card__media{ display:block;overflow:hidden; }
.news-card--column{ display:flex; gap:20px; }
.news-card__excerpt{
        position: relative;
    padding-right: 2rem;
    margin-top:0.5rem;
    margin-bottom:0;
           display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.news-card__media{ display:block; position:relative; overflow:hidden;border-radius:15px;margin-bottom:12px; }
.news-card__media img{
    border-radius:15px;
}
.news-card--featured .news-card__media img{
    aspect-ratio: 634 / 396;
}
.news-card--column .news-card__media{ width:40%; min-width:40%;margin-bottom:0; }

.news-card__img{ display:block; transition:transform .4s ease;width:100%; }
.news-card__img-cover{
     aspect-ratio: 350 / 280; /* ép khung ảnh = 350x280, responsive */
  width: 100%;
  height: auto;            /* chiều cao suy ra từ aspect-ratio */
  object-fit: cover;       /* crop cho vừa khung */
  object-position: center;
  display: block;          /* bỏ khoảng trống dưới img inline */
}
/*.news-card--column .news-card__img{*/
/*    aspect-ratio: 236 / 167; */
/*  width: 100%;*/
/*  height: auto;           */
/*  object-fit: cover;       */
/*  object-position: center;*/
/*  display: block;     */
/*}*/
.news-card__media:hover .news-card__img{ transform:scale(1.03); }

.news-card__title{ font-size: 18px;
    line-height: 24px;font-weight:bold;margin-top:0;margin-bottom:0.5rem;min-height:48px;}
    .news-card.news-card--featured .news-card__title{
        min-height:auto;
    }
.news-card__title a{ color:#0f172a; text-decoration:none; display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden; }
.news-card__title a:hover{ text-decoration:underline; }

.news-card__meta{ font-size:13px; color:#6A7A86;font-style:italic;}

/* CTA circle */
.news-card__cta{
      border-radius: 50%;
    border: 1px solid #726D6D;
    display: inline-flex
;
    align-items: center;
    justify-content: center;
    text-decoration: none;
        position: absolute;
    right: 0;
    bottom:0;
    width:20px;
    height:20px;
}
.news-card__cta:hover{ background:#f6f6f6; }

/* ===== Swiper rail ===== */
.news-rail__swiper .swiper-wrapper{ align-items: stretch; }
.news-rail__swiper .swiper-slide{ display:block; } /* slide là cột dọc 3 item */
.news-card--column:last-child{ margin-bottom:0 !important; }


/* ===== Responsive ===== */
@media (max-width: 991.98px){
    .news-card__media,.news-card__media img{
        border-radius:5px;
    }
    .news-card__media{
        margin-bottom:0.5rem;
    }
    .news-card--featured{
        margin-bottom:1rem;
    }
    .section_news__right{
            display: flex;
    flex-direction: column;
    }
  .news__title{ font-size:28px; }
  .news-card--column .news-card__media{ width:40%; min-width:40%; }
  .news-card__title{ font-size:14px;line-height:20px;margin-bottom:3px;min-height:36px; }
  .news-card--featured .news-card__title{
      font-size:18px;
      line-height:24px;
  }
      .swiper__nav-column{
        order:2;
        position: relative;
        top: 0;
        margin-top: 20px;
        gap: 12px;
        justify-content: center;
    }
    .news-card__meta{
        font-size:10px;
    }
    .news-card__excerpt{
        margin-top:0.5rem;
        font-size:12px;
    }
    .news-card__cta{
        width:10px;
        height:10px;
    }
    .news-card__cta svg{
        width:4px;
        height:6px;
    }
}
@media (max-width:767px){
    .news-card__title{
        font-size:12px;
        line-height:18px;
        min-height:36px;
    }
    .news-card__title a{
        display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    }
    .news__viewmore{
        font-size: 10px;
    }
    
}

  .nl-contact__heading{
      margin-bottom:2rem;
  }
  .section_newsletter {
      padding-bottom:100px;
  }
  @media (max-width:1499px){
      .section_newsletter{
          padding-bottom:60px;
      }
  }
  @media (max-width:991px){
      .section_newsletter {
      padding-bottom:2rem;
  }
  }
  .newsletter__bg--top-right{
          right: 0;
    top: 10%;
  }
  .newsletter__bg--bottom-left{
      bottom:0;
      left:0;
      max-width:500px;
  }
  .newsletter_home p span{
      color:red;
      font-size:14px;
  }
    /* ====== Bootstrap-like form-row (gutter 5px) ====== */
    @media (min-width:1500px){
        .newsletter_home .form-row{margin-right:-30px;margin-left:-30px;}
        .newsletter_home .form-row > .col,
        .newsletter_home .form-row > [class*="col-"]{padding-right:30px;padding-left:30px;}
    }

    /* ===== Block: nl-contact ===== */


    .newsletter_home .nl-contact__title{font-weight:900;font-size:30px;line-height:40px;color:var(--mainColor);font-family: var(--font-brand);margin-top:0;margin-bottom:1rem;}
    .newsletter_home .nl-contact__lead{font-size: 18px;
    line-height: 24px;
    color: #000;
    font-weight: bold;margin:0;}

    .nl-contact__intro .nl-contact__social{
        margin-bottom:12px;
    }
    .nl-contact__intro .nl-contact__social-label{font-size:18px;line-height:24px;margin-bottom:0.5rem;}
    .nl-contact__intro .nl-contact__social a{
      display: inline-flex
;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    transition: transform .15s 
ease;
    }
    .nl-contact__intro .nl-contact__social .nl-contact__social-link svg{
        opacity:.5;
    }
    .nl-contact__intro .nl-contact__social .nl-contact__social-link:hover svg{
        opacity:1;
    }
    .nl-contact__intro .nl-contact__social a:not(:last-child){
        margin-right:1rem;
    }
    .nl-contact__intro .nl-contact__social a:hover{transform:translateY(-2px);}

    .nl-contact__intro .nl-contact__info-group:not(:last-child){margin-bottom:14px;}
    .nl-contact__intro .nl-contact__info-title{    font-weight: 700;
    font-size: 18px;
    line-height: 24px;}
    .nl-contact__intro .nl-contact__info-text{margin:0;color:var(--textColor);}
    .newsletter_home a.nl-contact__info-text:hover{
        color: -webkit-link;
    }
    @media (min-width:992px){
        .nl-contact__intro .nl-contact__info-text{
            max-width:420px;
        }
    }

    /* ===== Inputs: underline only ===== */
    .newsletter_home .nl-field{margin-bottom:2rem;}
    .newsletter_home .nl-field__control{
         width: 100%;
    border: 0;
    border-bottom: 1px solid var(--mainColor);
    background: transparent;
    outline: none;
    border-radius: 0;
    transition: border-color .15s 
ease, box-shadow .15s 
ease;
    padding-bottom: 6px;
    color:#757575;
    }
    
    select.nl-field__control{
      -webkit-appearance:none;
      -moz-appearance:none;
      appearance:none;
      background-color:transparent;
      padding-right:2rem;              /* chừa chỗ cho icon */
    }
    
    /* Ẩn mũi tên IE */
    select.nl-field__control::-ms-expand { display:none; }
    
    .nl-field{
      position:relative;       
    }
    
    .nl-field__icon{
       position: absolute;
    right: 2rem;
    transform: translateY(-50%);
    pointer-events: none;
    color: #000;
    top: 15px;
    }
    
    
    
    .newsletter_home .nl-field__control::placeholder{opacity:1;}

    /* Textarea same underline style */
    .newsletter_home .nl-field__textarea{min-height:90px; resize:vertical; line-height:1.5;}

    /* Terms + submit */
    .newsletter_home .nl-contact__terms{display:flex;align-items:flex-start;}
    .newsletter_home .nl-contact__terms span{
        max-width:400px;
    }
    .newsletter_home .nl-contact__terms span a{
        color:#7AC70C;
    }
    .newsletter_home .nl-contact__terms span a:hover{
        text-decoration: underline;   
    }
    .newsletter_home .nl-contact__terms input{margin-right:12px;margin-top:5px;width:1rem;height:1rem;}
    .newsletter_home .nl-contact__submit-wrap{display:flex;align-items:center;justify-content: space-between;}
    .newsletter_home .nl-contact__submit{
         background: #7AC70C;
    border: none;
    color: #fff;
    border-radius: 5px;
    padding: 12px 0;
    transition: filter .15s 
ease;
    min-width: 110px;
    margin-top:1rem;
    }
    .newsletter_home .nl-contact__submit:hover{filter:brightness(.95);}
    .newsletter_home .nl-contact__submit-box{width:64px;height:64px;border:2px dashed #E6F6C8;border-radius:8px;margin-left:14px;}
    .newsletter_home .u-note{font-size:12px;color:#6B7A86;}
    
       /* input: chừa chỗ icon bên phải */
.nl-field--with-addon .nl-field__control{ padding-right:2.25rem; }

/* nút icon bên phải */
.nl-field__addon{
     position: absolute;
    right: 2rem;
    top:0;
    width: 28px;
    height: 28px;
    display: flex
;
    align-items: center;
    justify-content: right;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
    border-radius: 6px;
    padding: 0;
}
/*.nl-field__addon:hover{ background:rgba(0,0,0,.06); }*/
/*.nl-field__addon:focus{ outline:none; box-shadow:0 0 0 3px rgba(83,144,5,.15); }*/

/* popover */
.nl-field__dial{
  position:absolute; right:0; top:calc(100% + 6px);
  min-width:260px; max-height:320px; overflow:auto;
  margin:0; padding:6px; z-index:50;
  background:#fff; border:1px solid #c7d0bf; border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.14);
  display:none;
}
/* mở bằng click (mobile/desktop) */
.nl-field[data-open="true"] .nl-field__dial{ display:block; }

/* ô search trong popover */
.nl-field__dial-search{ padding:4px; position:sticky; top:0; background:#fff; z-index:1; }
.nl-field__dial-input{
  width:100%; padding:.5rem .625rem; border:1px solid #c7d0bf; border-radius:8px; font-size:14px;
}

/* danh sách */
.nl-field__dial-body{ list-style:none; padding:4px; margin:4px 0 0 0; max-height:260px; overflow:auto; }
.nl-field__dial-item{
  display:flex; align-items:center; gap:.5rem;
  padding:.5rem .625rem; border-radius:8px; cursor:pointer; user-select:none;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#222;
}
.nl-field__dial-item:hover,
.nl-field__dial-item[aria-selected="true"]{ background:#eef6e5; } /* xanh nhạt hợp #539005 */
.nl-flag{ width:1.1em; }
.nl-field__control[data-autorows] {
  height: auto;          /* QUAN TRỌNG: không khoá height cố định */
  overflow: hidden;      /* không hiện scrollbar dọc */
  resize: none;          /* người dùng không kéo làm sai tính toán */
  box-sizing: border-box;
}
    
    .layer{
        position:absolute;
    }
    .layer_newsletter_1{
            bottom: 0;
    left: 0;
    }
    .layer_newsletter_1 img{
        max-width:500px;
    }
    .layer_newsletter_2{
        top:0;
        right:0;
    }
@media (max-width:991px){
    .newsletter_home .nl-contact__heading{
         margin-bottom:1rem;
    }
    .newsletter_home .nl-contact__title{
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0.5rem;
    }
    .newsletter_home .nl-contact__lead{
        font-size:14px;
        line-height:20px;
    }
    .newsletter__bg--top-right{
        max-width:50px;
        top:-50px;
    }
    .nl-contact__wrap-left{
        order:2;
        margin-top:1.5rem;
    }
    .newsletter_home .nl-field__control {
    border-bottom: 0.5px solid var(--mainColor);}
    .newsletter_home .nl-field__control {
        font-size: 14px;
        line-height: 20px;
    }
    .newsletter_home .nl-field{
        margin-bottom:1rem;
    }
    .newsletter_home .nl-contact__terms{
        margin-right:auto;
    }
    .newsletter_home .nl-contact__terms input{
        margin-top:3px;
    }
    .newsletter_home .nl-contact__terms span{
        font-size:14px;
        line-height:20px;
        max-width:100%;
    }
    .newsletter_home .nl-contact__submit{
        padding:6px 0;
        font-size:14px;
        line-height:20px;
    }
    .newsletter_home .nl-contact__submit-wrap{
        flex-direction:column;
    }
    .newsletter_home .nl-contact__submit{
            margin-left: 0;
    margin-right: auto;
    }
    .newsletter_home  p span{
      font-size:12px;
  }
    .nl-contact__intro .nl-contact__social-label,
    .nl-contact__intro .nl-contact__info-title,
    .nl-contact__intro .nl-contact__info-text{
        font-size:14px;
        line-height:20px;
    }
    .nl-contact__intro .nl-contact__info-group:not(:last-child){
        margin-bottom:0.5rem;
    }
    .nl-contact__intro .nl-contact__social a:not(:last-child){
        margin-right:10px;
    }
    .nl-contact__intro .nl-contact__social a,
    .nl-contact__intro .nl-contact__social svg{
        width:20px;
        height:20px;
    }
    .nl-field__addon,
    .nl-field__icon{
        right:15px;
    }
}
@media (max-width:767px){
    .newsletter_home .nl-contact__heading{
         /*max-width: 300px;*/
    }
    .newsletter_home .nl-contact__lead{
        font-size:12px;
        line-height:18px;
    }
    .newsletter_home .nl-field__control,
    .newsletter_home .nl-contact__terms span{
        font-size: 12px;
        line-height: 18px;
    }
    .nl-contact__intro .nl-contact__social-label,
    .nl-contact__intro .nl-contact__info-title,
    .nl-contact__intro .nl-contact__info-text{
        font-size:12px;
        line-height:18px;
    }
     .newsletter_home .nl-contact__submit{
        font-size:12px;
        line-height:18px;
    }
    .newsletter_home .nl-contact__submit{
        min-width:80px;
    }
    .nl-field__addon,
    .nl-field__icon{
        right:0.5rem;
    }
    .nl-field__addon svg,
    .nl-field__icon{
        width:10px;
    }
}

/* ---- CALLNOW: xếp DỌC ---- */
.section_callnow{
  display: flex;
  flex-direction: column;   /* xếp dọc */
  align-items: center;
  gap: 20px;                /* cách nhau 20px */
}

/* (Tùy chọn) Ghim cố định mép phải, giữa màn hình */
.section_callnow{
  position: fixed;
  right: 16px;
  z-index: 9999;
  bottom:80px;
}

.section_callnow .callnow__item{
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #539005;      /* viền xanh */
  border-radius: 50%;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
  animation: callnow-bell .5s ease-in-out infinite; /* rung nhẹ */
}

.section_callnow .callnow__item img{
  width: 24px;
  height: 24px;
  object-fit: contain;
}

/* Hover/focus */
.section_callnow .callnow__item:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(0,0,0,.16);
}
.section_callnow .callnow__item:focus-visible{
  outline: 3px solid rgba(83,144,5,.4);
  outline-offset: 2px;
  transform: translateY(-1px);
}

/* Hiệu ứng rung nhẹ */
@keyframes callnow-bell{
  0%,100% { transform: rotate(0); }
  25%     { transform: rotate(12deg); }
  50%     { transform: rotate(0); }
  75%     { transform: rotate(-12deg); }
}

@media (max-width:991px){
    .section_callnow .callnow__item{
        width:30px;
        height:30px;
    }
    .section_callnow .callnow__item img{
        width:15px;
        height:15px;
    }
    .section_callnow{
        gap:12px;
    }
}