.hero-home-text-wrap {
  max-width: 80% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

section.service-card.section {
  position: relative !important;
  max-width: 44rem !important;
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  border-radius: 2.5rem !important;
  overflow: hidden !important;
  padding: 2rem !important;
}

.service-card .section-content {
  position: relative !important;
  z-index: 5 !important;
  height: 100% !important;
}

/* =========================================
   CHỮ "CORE JOURNEY" ĐÈ LÊN ĐÁY ẢNH
   ========================================= */

.service-text-card1 {
  position: absolute !important;
  left: 1.5rem !important;
  right: 1.5rem !important;
  bottom: 1.5rem !important;
  top: auto !important;

  z-index: 6 !important;

  text-align: left !important;
}

/* Lớp phủ gradient tối phía dưới ảnh, giúp chữ trắng luôn nổi bật */
.service-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
  z-index: 4;
  pointer-events: none;
}

/* =========================================
   QUOTE CARD - 2 cột bên cạnh ảnh (canh lại cho giống ảnh mẫu)
   ========================================= */

.quote-card.section {
  position: relative !important;
  max-width: 44rem !important;
  border-radius: 2.5rem !important;
  padding: 2rem !important;

  aspect-ratio: 3 / 4 !important;
  height: auto !important;

  align-items: flex-start !important;
  justify-content: flex-start !important;
  flex-direction: column !important;
  display: flex !important;

  /* đổi hidden -> visible để dấu ngoặc nhô lên trên được */
  overflow: visible !important;
}

/* =========================================
   DẤU NGOẶC KÉP DẠNG TEXT - QUOTE CARD
   ========================================= */

.quote-card.section .quote-mark {
  position: absolute !important;
  top: -4rem !important;
  /* tăng độ âm để nhô cao hơn nữa */
  right: -0.5rem !important;
  /* đẩy sát/tràn ra mép phải luôn cho giống mẫu */

  width: auto !important;
  max-width: none !important;
  margin: 0 !important;

  text-align: right !important;
  font-size: 4rem !important;
  line-height: 0.7 !important;
  /* thêm dòng này: kéo phần "ink" của ký tự lên gần top hơn */

  z-index: 5 !important;
  pointer-events: none !important;
}

.quote-card .quote-mark p {
  display: inline-block !important;
  padding: 0 !important;

  font-family: Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  transform: rotate(180deg);
  margin-bottom: 0 !important;
}

/* Mũi tên chéo góc dưới phải - SVG line-art mảnh giống mẫu Figma */
.quote-card::after {
  content: "" !important;
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 2.7rem !important;
  height: 2.7rem !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23050036' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'%3E%3C/line%3E%3Cpolyline points='7 7 17 7 17 17'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
  /* để không chặn click của lớp phủ <a> phía trên */
}

/* =========================================
   LỚP PHỦ CLICK CHO TOÀN BỘ QUOTE CARD
   (thay cho attribute link="" không hợp lệ trên [section])
   ========================================= */
.quote-card.section > .section-content {
  height: 100% !important;
}

.quote-card-link {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 999 !important;
  display: block !important;
  cursor: pointer !important;
}

.quote-card.section {
  cursor: pointer !important;
}

.quote-card-title {
  /*font-size: 2.4rem !important;*/
  line-height: 1 !important;

  position: relative !important;
  z-index: 2 !important;

  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  /* margin-left: 2rem !important; */
}

.quote-card-body {
  line-height: 1.5 !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0.5rem !important;
  /* margin-left: 2rem !important; */
}

.quote-card-title,
.quote-card-title * {
  margin-top: 6rem !important;
  margin-bottom: 0.5rem !important;
}

/* .quote-card-body,
.quote-card-body p {
  margin-top: 0 !important;
} */

/* Kéo các thẻ service/quote lên gần tiêu đề SERVICES hơn */
/* .row:has(.service-card),
.row:has(.quote-card) {
  margin-top: -1rem !important;
} */

/* Nếu tiêu đề SERVICES nằm trong section riêng, giảm padding-bottom của nó */
/* .section:has(> .section-content h1),
.section:has(> .section-content h2) {
  padding-bottom: 3rem !important;
  padding-left: 0rem !important;
} */

/* =========================================
   RESPONSIVE - Tablet lớn (≤ 1024px)
   ========================================= */
.service-cards-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 2rem !important;
}

.service-cards-row > .col {
    padding-bottom: 1.5rem !important;
}

/* Flatsome có ::before / ::after trên row */
.service-cards-row::before,
.service-cards-row::after {
  content: none !important;
  display: none !important;
}

/* giữ px-0, để Grid tự chia width */
.service-cards-row > .col {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: auto !important;
}

/* =========================================
   RESPONSIVE - Tablet nhỏ (≤ 768px)
   ========================================= */
@media (max-width: 768px) {
  /* Cards: full width, không giới hạn max-width */
  section.service-card.section,
  .quote-card.section {
    max-width: 100% !important;
    width: 100% !important;
    border-radius: 1.5rem !important;
  }

  /* Quote card: giữ tỉ lệ nhưng padding nhỏ hơn */
  .quote-card.section {
    padding: 2rem !important;
  }

  .quote-card-title,
  .quote-card-title * {
    /* font-size: 1.8rem !important; */
    margin-top: 4.5rem !important;
    /* margin-left: 1.2rem !important; */
  }

  /* Dấu ngoặc kép nhỏ hơn */
  .quote-card.section .quote-mark {
    top: -3rem !important;
  }

  /* Chữ trên card ảnh */
  .service-text-card1 {
    /* font-size: 2rem !important; */
    left: 1rem !important;
    right: 1rem !important;
    bottom: 1rem !important;
  }

  /* Mũi tên quote */
  .quote-card::after {
    width: 2.2rem !important;
    height: 2.2rem !important;
    bottom: 1rem !important;
    right: 1rem !important;
  }

  .service-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =========================================
   RESPONSIVE - Mobile (≤ 480px)
   ========================================= */
@media (max-width: 480px) {
  section.service-card.section,
  .quote-card.section {
    max-width: 100% !important;
    width: 100% !important;
    border-radius: 1.2rem !important;
  }

  /*.quote-card.section {*/
  /*  padding: 1rem 1rem 1rem !important;*/
  /*}*/

  .quote-card-title,
  .quote-card-title p {
    /* font-size: 1.5rem !important; */
    margin-top: 3.5rem !important;
    /* margin-left: 0.8rem !important; */
  }

  .quote-card.section .quote-mark {
    top: -2.5rem !important;
  }

  .service-text-card1 {
    /* font-size: 1.6rem !important; */
    left: 0.8rem !important;
    right: 0.8rem !important;
    bottom: 0.8rem !important;
  }

  .quote-card::after {
    width: 1.8rem !important;
    height: 1.8rem !important;
    bottom: 0.8rem !important;
    right: 0.8rem !important;
  }

  .style-map-intro {
    padding-right: 0 !important;
  }

  .service-cards-row {
    grid-template-columns: 1fr !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}
