.custom-container, .md-hero-section-v2__overlay {
  padding-inline: 24px;
  /* Mobile default */
}

.custom-left-container {
  padding-left: 24px; /* Mobile default */
  padding-right: 0;
}

/* Tablet */
@media (min-width: 768px) {
  .custom-container, .md-hero-section-v2__overlay {
    padding-inline: 32px;
  }
  .custom-left-container {
    padding-left: 32px;
    padding-right: 0;
  }
}
/* Desktop */
@media (min-width: 1024px) {
  .custom-container, .md-hero-section-v2__overlay {
    padding-inline: 110px;
  }
  .custom-left-container {
    padding-left: 110px;
    padding-right: 0;
  }
}
.w-xxl-desktop {
  width: 100%;
}

@media (min-width: 1600px) {
  .w-xxl-desktop {
    width: 75% !important;
  }
}
.new-services-button {
  width: 100%;
  max-width: 190px;
  background-color: #ffffff;
  padding: 6px 11px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  height: 459px;
  color: #4b5563;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 150%; /* 18px */
  margin-bottom: 0;
}
.new-services-button:hover {
  background-color: #ffffff;
}

.badge {
  background-color: #4b5563;
  border-radius: 8px;
  color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 10px;
  font-weight: 700;
  line-height: 150%; /* 15px */
}

/* Hero section */
.md-hero-section-v2 {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow: hidden;
}

.md-hero-section-v2__container {
  position: relative;
  height: 1000px;
  overflow: hidden;
  z-index: 0;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.md-hero-section-v2__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.md-hero-section-v2__overlay {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* we'll place rows manually */
  background: rgba(0, 0, 0, 0.4);
  padding-bottom: 50px;
  padding-top: 77px; /* requested spacing from the top */
  z-index: 1; /* above the video */
}

/* Place the heading row at 45% of the hero height to prevent overlap with bottom content */
.md-hero-section-v2__heading-row {
  position: absolute;
  top: 45%; /* moved up from 50% to prevent overlap with bottom description */
  left: 110px; /* align with overlay padding */
  right: 110px;
  transform: translateY(-50%);
  display: grid;
  grid-template-columns: 1fr 350px; /* title grows, description has fixed width to prevent overlap */
  align-items: center;
  column-gap: 48px; /* increased gap to prevent overlap */
}

.md-hero-section-v2__overlay-title {
  font-weight: 500;
  color: #fff;
  font-family: Poppins;
  font-size: 135px;
  font-style: normal;
  line-height: 145px; /* 107.407% */
  /* Avoid forcing overflow on the right; let it wrap within padding */
  max-width: 100%;
  width: auto;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  /* Prevent title from growing beyond its grid column */
  min-width: 0;
  overflow: hidden;
}

.md-hero-section-v2__overlay-description {
  max-width: 50ch; /* reasonable measure to avoid overflow */
  color: #fff;
  font-family: Poppins;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
  text-align: left;
}

.md-hero-section-v2__overlay-service {
  color: #fff;
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
  text-align: left;
  padding: 0;
  margin: 0;
}

.md-hero-section-v2__overlay-services {
  display: flex;
  flex-direction: column;
  gap: 2px;
  /* Ensure services section doesn't overflow its grid column */
  min-width: 0;
  width: 100%;
}

.md-hero-section-v2__overlay-bottom {
  align-self: flex-start;
  margin-top: auto;
  /* Add top margin to create space between title and bottom content */
}

.md-hero-section-v2__overlay-copyright {
  margin-bottom: 0;
  color: #fff;
  font-family: Poppins;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%; /* 27px */
}

.md-hero-section-v2__overlay-contact-photo {
  width: 140px;
  height: 190px;
  margin-left: 8px;
  border-radius: 18px;
  object-fit: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 4px solid #fff;
}

.md-hero-section-v2__overlay-contact-info {
  width: 300px;
  height: 190px;
  border-radius: 18px;
  border: 4px solid #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 40px;
  padding-left: 22px;
  padding-bottom: 20px;
  padding-right: 22px;
  background: #f3f4f6;
  align-self: flex-end;
  gap: 20px;
  font-family: Poppins;
  font-style: normal;
}

.md-hero-section-v2__overlay-contact-name {
  color: #242728;
  font-size: 24px;
  font-weight: 700;
  line-height: 150%; /* 36px */
}

.md-hero-section-v2__overlay-contact-position {
  color: #242728;
  font-size: 20px;
  font-weight: 500;
  line-height: 150%; /* 30px */
}

.md-hero-section-v2__overlay-contact-cta {
  width: 120px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  background-color: #242728;
  border-radius: 8px;
  padding: 7.5px 10px;
  color: #e5e7eb;
  font-size: 10px;
  font-weight: 500;
  line-height: 150%; /* 15px */
}
.md-hero-section-v2__overlay-contact-cta:hover {
  color: #ffffff;
  text-decoration: none;
}

.md-hero-section-v2__overlay-contact-position-subtitle {
  color: #4b5563;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%; /* 21px */
}

/* Responsive: tablet layout adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
  .md-hero-section-v2__overlay {
    padding-left: 48px;
    padding-right: 48px;
  }
  .md-hero-section-v2__heading-row {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    width: 100%;
    margin: 0 0 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    column-gap: 32px;
    align-items: start;
  }
  .md-hero-section-v2__overlay-title {
    font-size: 90px;
    line-height: 98px;
    margin-bottom: 0;
  }
  .md-hero-section-v2__overlay-description {
    font-size: 15px;
  }
  .md-hero-section-v2__overlay-services {
    justify-content: flex-start;
    min-width: 0;
    margin-top: 0;
    align-self: center;
  }
  .md-hero-section-v2__overlay-bottom {
    margin-top: 48px;
  }
}
/* Responsive: mobile layout adjustments */
@media (max-width: 768px) {
  .md-hero-section-v2 {
    margin-top: 0; /* don't tuck under notch on mobile */
  }
  .md-hero-section-v2__video {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  .md-hero-section-v2__overlay {
    padding-inline: 20px;
    padding-bottom: 16px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }
  /* Let heading content flow in normal document order */
  .md-hero-section-v2__heading-row {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    row-gap: 45px;
    gap: 45px; /* 45px between left group and services */
    width: 100%; /* ensure row spans full overlay width */
  }
  /* Ensure button hugs the left and title is reasonably sized on mobile */
  .new-services-button {
    align-self: flex-start;
  }
  .md-hero-section-v2__overlay-title {
    font-size: 36px;
    line-height: 40px;
    margin-top: 0 !important; /* use container gap for spacing (exact 45px) */
    width: 100%; /* span full width on mobile */
    display: block;
  }
  /* 45px spacing between new services button and title */
  .md-hero-section-v2__heading-row > .d-flex.flex-column {
    gap: 45px;
    width: 100%; /* let the left group fill the row width */
  }
  /* Services list in two columns on mobile (no vertical gaps within each column) */
  .md-hero-section-v2__overlay-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 0;
    width: 100%;
  }
  .md-hero-section-v2__overlay-service {
    font-size: 14px;
    font-weight: 500;
    margin: 0; /* ensure compact, consistent spacing */
  }
  /* Reorder bottom section: show team leader ABOVE primary description on mobile */
  .md-hero-section-v2__overlay > .md-hero-section-v2__overlay-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 45px !important; /* 45px between contact and primary description (override Bootstrap gap-1) */
    margin-top: 45px; /* 45px between services and contact section */
  }
  /* Ensure overlay horizontal padding also affects the bottom area (contact + description) */
  .md-hero-section-v2__overlay-bottom {
    box-sizing: border-box;
    width: 100%;
  }
  /* Keep description left and copyright on the right on the same row */
  .md-hero-section-v2__overlay-bottom > .md-hero-section-v2__overlay-bottom-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
  }
  .md-hero-section-v2__overlay-bottom > .md-hero-section-v2__overlay-bottom-inner .md-hero-section-v2__overlay-description {
    flex: 1 1 auto;
    min-width: 0; /* allow wrapping without pushing copyright */
    margin: 0;
  }
  .md-hero-section-v2__overlay-bottom > .md-hero-section-v2__overlay-bottom-inner .md-hero-section-v2__overlay-copyright {
    flex: 0 0 auto;
    margin: 0 0 0 12px;
    white-space: nowrap; /* keep to the right */
  }
  /* Align the team leader section to the left on mobile to match heading row */
  .md-hero-section-v2__overlay > .md-hero-section-v2__overlay-bottom > .d-flex.align-items-center {
    justify-content: flex-start;
    align-self: stretch;
    width: 100%;
  }
  /* Move the team leader block (last child) before the description/copyright (first child) */
  .md-hero-section-v2__overlay > .md-hero-section-v2__overlay-bottom > :last-child {
    order: -1;
  }
  .md-hero-section-v2__overlay-description {
    font-size: 14px;
    max-width: none;
  }
  .md-hero-section-v2__overlay-copyright {
    font-size: 12px;
    text-align: left;
    margin-top: 8px;
  }
  /* Slightly smaller contact card and flexible width */
  .md-hero-section-v2__overlay-contact-photo {
    width: 160px;
    height: 140px;
  }
  .md-hero-section-v2__overlay-contact-info {
    width: 100%; /* keep same width as layout */
    height: 140px; /* match photo height on mobile */
    gap: 14px;
    padding: 27px 22px 17px;
  }
  .md-hero-section-v2__overlay-contact-position {
    font-size: 16px;
  }
  .md-hero-section-v2__overlay-contact-position-subtitle {
    font-size: 10px;
  }
  .md-hero-section-v2__overlay-contact-name {
    font-size: 16px;
  }
  /* Shorter hero on mobile for better viewport fit */
  .md-hero-section-v2__container {
    height: 780px;
  }
}
/* Style 2 (image background, Figma 3571:2539) */
/* Style 2 layout: desktop (default) begin */
.md-hero-section-v2--style-2 {
  background-color: #f9fafb;
  min-height: auto;
  overflow: visible;
  /* Desktop container sizing and padding. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__container {
  position: relative;
  height: auto;
  max-width: 1920px;
  margin: 0 auto;
  padding: 220px 68px 43px 113px;
  overflow: visible;
}
.md-hero-section-v2--style-2 {
  /* Background image frame for style 2. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 100px;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}
.md-hero-section-v2--style-2 {
  /* Full-width background variant for large viewports. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__background--full {
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background-size: cover;
  background-position: center;
}
.md-hero-section-v2--style-2 {
  /* Tag chip layout. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__tag {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(36, 39, 40, 0.12);
}
.md-hero-section-v2--style-2 {
  /* Tag badge styling. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__tag-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 6px 3px;
  background: #4b5563;
  color: #e5e7eb;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
}
.md-hero-section-v2--style-2 {
  /* Tag text styling. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__tag-text {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: #4b5563;
}
.md-hero-section-v2--style-2 {
  /* Tag icon size. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__tag-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__tag-icon img,
.md-hero-section-v2--style-2 .md-hero-section-v2__tag-icon svg {
  width: 100%;
  height: 100%;
}
.md-hero-section-v2--style-2 {
  /* Main layout row for title and services. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__main {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 141px;
  margin-top: 48px;
  width: 100%;
  max-width: 1710px;
}
.md-hero-section-v2--style-2 {
  /* Title column sizing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__main-left {
  flex: 1 1 auto;
}
.md-hero-section-v2--style-2 {
  /* Desktop title typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__title {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 135px;
  line-height: 145px;
  font-weight: 500;
  color: #242728;
}
.md-hero-section-v2--style-2 {
  /* Services column sizing and spacing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__main-right {
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 92px;
  align-self: center;
}
.md-hero-section-v2--style-2 {
  /* Services typography and spacing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__services {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #242728;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.md-hero-section-v2--style-2 {
  /* Desktop services list visible by default. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__services--desktop {
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: flex-start;
}
.md-hero-section-v2--style-2 {
  /* Hide tablet/mobile services lists on desktop. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__services--tablet,
.md-hero-section-v2--style-2 .md-hero-section-v2__services--mobile {
  display: none;
}
.md-hero-section-v2--style-2 {
  /* Prevent service labels from wrapping. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__service {
  white-space: nowrap;
}
.md-hero-section-v2--style-2 {
  /* Group services into columns. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__services-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.md-hero-section-v2--style-2 {
  /* Bottom row for copy and card. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__bottom {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 150px;
}
.md-hero-section-v2--style-2 {
  /* Copy stack spacing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.md-hero-section-v2--style-2 {
  /* Description width and typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__description {
  max-width: 457px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #242728;
}
.md-hero-section-v2--style-2 {
  /* Footer row for copyright and card. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__footer {
  display: flex;
  align-items: flex-end;
  gap: 19px;
  width: auto;
  height: 200px;
}
.md-hero-section-v2--style-2 {
  /* Copyright typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__copyright {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #242728;
}
.md-hero-section-v2--style-2 {
  /* Contact card wrapper layout. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}
.md-hero-section-v2--style-2 {
  /* Contact image sizing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-image {
  width: 143px;
  height: auto;
  min-height: 150px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  align-self: stretch;
}
.md-hero-section-v2--style-2 {
  /* Card body layout and layered background. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-body {
  position: relative;
  width: 257px;
  height: 190px;
  padding: 18px 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 13px;
  box-sizing: border-box;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-body::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ffffff;
  border-radius: 10px;
  z-index: 0;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-body::after {
  content: "";
  position: absolute;
  top: 2px;
  right: 3px;
  bottom: 8px;
  left: 3px;
  background: #f3f4f6;
  border-radius: 8px;
  z-index: 0;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-body > * {
  position: relative;
  z-index: 1;
}
.md-hero-section-v2--style-2 {
  /* Card meta spacing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-meta {
  padding-bottom: 4px;
}
.md-hero-section-v2--style-2 {
  /* Card role typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-role {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 500;
  color: #242728;
}
.md-hero-section-v2--style-2 {
  /* Card company typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-company {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #4b5563;
}
.md-hero-section-v2--style-2 {
  /* Card name typography. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-name {
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #242728;
  margin-bottom: 0;
}
.md-hero-section-v2--style-2 {
  /* Card CTA button layout. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-cta {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 14px;
  background: #242728;
  color: #ffffff;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  align-self: flex-start;
  margin-top: auto;
}
.md-hero-section-v2--style-2 {
  /* Card CTA icon sizing. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-cta-icon {
  width: 16.525px;
  height: 16.472px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__card-cta-icon svg,
.md-hero-section-v2--style-2 .md-hero-section-v2__card-cta-icon img {
  width: 10px;
  height: 13.333px;
  transform: rotate(45.64deg);
  display: block;
}
.md-hero-section-v2--style-2 {
  /* Decorative plus marks on desktop. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus {
  position: absolute;
  font-family: "Poppins", sans-serif;
  font-size: 48px;
  font-weight: 300;
  line-height: 1.5;
  color: #e5e7eb;
  pointer-events: none;
  z-index: 1;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus--1 {
  top: 679px;
  left: 148px;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus--2 {
  top: 679px;
  left: 585px;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus--3 {
  top: 679px;
  left: 1083px;
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus--4 {
  top: 679px;
  left: 1645px;
}
.md-hero-section-v2--style-2 {
  /* Hide tablet plus marks in desktop base. */
}
.md-hero-section-v2--style-2 .md-hero-section-v2__plus--tablet {
  display: none;
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: desktop (default) end */
  /* Style 2 layout: desktop >=1200px begin */
}
@media (min-width: 1200px) {
  .md-hero-section-v2--style-2 {
    /* Enforce minimum hero height on large screens. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__container {
    min-height: 1094px;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: desktop >=1200px end */
  /* Style 2 layout: tablet begin */
}
@media (max-width: 1199.98px) {
  .md-hero-section-v2--style-2 {
    /* Reduce container padding on tablets. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__container {
    padding: 200px 60px 48px;
    height: auto;
  }
  .md-hero-section-v2--style-2 {
    /* Narrow layout spacing between title and services. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main {
    width: 100%;
    gap: 64px;
  }
  .md-hero-section-v2--style-2 {
    /* Scale down title for tablets. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__title {
    font-size: 110px;
    line-height: 120px;
  }
  .md-hero-section-v2--style-2 {
    /* Center background for smaller widths. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__background {
    left: 50%;
    transform: translateX(-50%);
    background-position: center;
    background-size: cover;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: tablet end */
  /* Style 2 layout: tablet (<=991.98px) begin */
}
@media (max-width: 991.98px) {
  .md-hero-section-v2--style-2 {
    /* Further reduce padding on smaller tablets. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__container {
    padding: 160px 32px 48px;
  }
  .md-hero-section-v2--style-2 {
    /* Stack main content on smaller tablets. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .md-hero-section-v2--style-2 {
    /* Expand services column to full width. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main-right {
    width: 100%;
  }
  .md-hero-section-v2--style-2 {
    /* Stack bottom row vertically. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .md-hero-section-v2--style-2 {
    /* Stack footer elements vertically. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__footer {
    width: 100%;
    height: auto;
    flex-direction: column;
    align-items: flex-start;
  }
  .md-hero-section-v2--style-2 {
    /* Card stretches to available width. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card {
    width: 100%;
  }
  .md-hero-section-v2--style-2 {
    /* Allow card body to fill width. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-body {
    min-width: 0;
    width: 100%;
  }
  .md-hero-section-v2--style-2 {
    /* Hide decorative plus marks on smaller tablets. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus {
    display: none;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: tablet (<=991.98px) end */
  /* Style 2 layout: mobile begin */
}
@media (max-width: 576px) {
  .md-hero-section-v2--style-2 {
    /* Hide desktop and tablet services lists on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--desktop,
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--tablet {
    display: none;
  }
  .md-hero-section-v2--style-2 {
    /* Show the mobile services list. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--mobile {
    display: flex;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: mobile end */
  /* Style 2 layout: tablet (744-991) begin */
}
@media (min-width: 744px) and (max-width: 1024px) {
  .md-hero-section-v2--style-2 {
    /* Tablet background color tweak for style 2. */
  }
  .md-hero-section-v2--style-2 {
    background-color: #f9f9f9;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet container sizing and positioning. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__container {
    height: 1133px;
    min-height: 1133px;
    padding: 0;
    overflow: visible;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet background image sizing and placement. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__background {
    left: 0;
    top: 91px;
    width: 744px;
    height: 459px;
    opacity: 0.5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    background-size: 94.49% 100%;
    background-position: 5.51% 0;
  }
  .md-hero-section-v2--style-2 {
    /* Full-width background variant for tablet. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__background--full {
    left: 50%;
    top: 0;
    width: 100vw;
    transform: translateX(-50%);
    background-size: cover;
    background-position: center top;
    opacity: 1;
  }
  .md-hero-section-v2--style-2 {
    /* Position tag chip on tablet. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__tag {
    position: absolute;
    left: 56px;
    top: 133px;
    box-shadow: none;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet main block positioning. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main {
    position: absolute;
    left: 50%;
    top: 518px;
    width: 680px;
    height: 437px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    transform: translate(-50%, -50%);
    margin: 0;
    gap: 12px;
    z-index: 2;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet left column layout. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main-left {
    position: static;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet title sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__title {
    font-size: 80px;
    line-height: 90px;
    color: #242728;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet emphasized word sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__title b,
  .md-hero-section-v2--style-2 .md-hero-section-v2__title strong {
    font-size: 80px;
    line-height: 90px;
    font-weight: 600;
    text-transform: uppercase;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet services column layout. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main-right {
    position: static;
    width: 100%;
    display: flex;
    justify-content: center;
    align-self: center;
  }
  .md-hero-section-v2--style-2 {
    /* Hide desktop and mobile services lists on tablet. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--desktop,
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--mobile {
    display: none;
  }
  .md-hero-section-v2--style-2 {
    /* Show tablet services list. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--tablet {
    display: inline-flex;
  }
  .md-hero-section-v2--style-2 {
    /* Ensure mobile services list stays hidden. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--mobile {
    display: none;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet services list layout. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--tablet {
    width: auto;
    display: inline-flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
    gap: 24px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet services grouping. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .md-hero-section-v2--style-2 {
    /* Allow service lines to wrap on tablet. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__service {
    white-space: normal;
    display: block;
    width: 100%;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet bottom row positioning. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__bottom {
    position: absolute;
    left: 50%;
    top: 870px;
    width: min(680px, 100% - 64px);
    display: flex;
    gap: 16px;
    align-items: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    transform: translateX(-50%);
    margin-top: 0;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet copy spacing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    flex: 1 0 0;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet description sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__description {
    color: #242728;
    font-size: 12px;
    font-weight: 500;
    max-width: 337px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet copyright typography. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__copyright {
    color: #242728;
    font-size: 18px;
    font-weight: 600;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet card layout and sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card {
    display: flex;
    width: 327px;
    align-items: stretch;
    gap: 4px;
    flex-shrink: 0;
    height: auto;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet card image sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-image {
    width: 113px;
    height: auto;
    min-height: 150px;
    padding: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-shrink: 0;
    background: #ffffff;
    overflow: hidden;
    border-radius: 10px;
    align-self: stretch;
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet card body layout. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-body {
    flex: 1 0 0;
    height: auto;
    min-height: 150px;
    overflow: visible;
    padding: 19px 23px;
    background: #f3f4f6;
    border: 3px solid #ffffff;
    border-radius: 8px;
    box-sizing: border-box;
    gap: 4px;
    align-items: flex-start;
    align-self: stretch;
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-body::before, .md-hero-section-v2--style-2 .md-hero-section-v2__card-body::after {
    content: none;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet role text size. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-role {
    font-size: 16px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet company text size. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-company {
    font-size: 12px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet name text size. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-name {
    font-size: 19px;
    font-weight: 700;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet CTA sizing. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-cta {
    padding: 6px 14px;
    font-size: 10px;
    line-height: 1.5;
    min-height: auto;
    margin-top: 0;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet CTA icon size. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-cta-icon {
    width: 16.525px;
    height: 16.472px;
  }
  .md-hero-section-v2--style-2 {
    /* Show tablet plus marks. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus--tablet {
    display: block;
    font-size: 24px;
    color: #e5e7eb;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet plus mark positions. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus--1 {
    top: 824px;
    left: 148px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet plus mark positions. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus--2 {
    top: 824px;
    left: 318px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet plus mark positions. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus--3 {
    top: 824px;
    left: 488px;
  }
  .md-hero-section-v2--style-2 {
    /* Tablet plus mark positions. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__plus--4 {
    top: 824px;
    left: 658px;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: tablet (744-991) end */
  /* Style 2 layout: mobile (<=576px) begin */
}
@media (max-width: 576px) {
  .md-hero-section-v2--style-2 {
    /* Mobile container sizing and centering. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__container {
    width: 376px;
    max-width: 100%;
    padding: 0;
    overflow: visible;
    margin: 0 auto;
  }
  .md-hero-section-v2--style-2 {
    /* Mobile background image frame. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__background {
    left: 50%;
    top: 0;
    width: 376px;
    height: 237px;
    transform: translateX(-50%);
    background-position: center top;
    background-size: cover;
    opacity: 1;
    z-index: 0;
  }
  .md-hero-section-v2--style-2 {
    /* Full-width mobile background image variant. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__background--full {
    left: 50%;
    top: 0;
    width: 100vw;
    height: 237px;
    transform: translateX(-50%);
    background-position: center top;
    background-size: cover;
    opacity: 1;
    z-index: 0;
  }
  .md-hero-section-v2--style-2 {
    /* Tag chip spacing and size on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__tag {
    position: relative;
    margin-top: 16px;
    margin-bottom: 0;
    height: 31.642px;
    padding: 6px 11px;
    align-items: center;
    gap: 7px;
    box-shadow: 0 6px 16px rgba(36, 39, 40, 0.12);
    z-index: 2;
  }
  .md-hero-section-v2--style-2 {
    /* Stack main hero content vertically on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main {
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: none;
    gap: 43px;
    margin-top: 61px;
    z-index: 2;
  }
  .md-hero-section-v2--style-2 {
    /* Constrain left content width for title alignment. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main-left {
    width: 327px;
    align-items: center;
  }
  .md-hero-section-v2--style-2 {
    /* Mobile title sizing and line height. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__title {
    font-size: 43px;
    line-height: 60px;
    text-align: left;
  }
  .md-hero-section-v2--style-2 {
    /* Emphasized word sizing for mobile title. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__title b,
  .md-hero-section-v2--style-2 .md-hero-section-v2__title strong {
    font-size: 43px;
    line-height: 60px;
    font-weight: 600;
    text-transform: uppercase;
  }
  .md-hero-section-v2--style-2 {
    /* Services column wrapper padding on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__main-right {
    width: 100%;
    margin-top: 0;
    padding: 0 24.5px;
  }
  .md-hero-section-v2--style-2 {
    /* Hide tablet services list on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--tablet {
    display: none;
  }
  .md-hero-section-v2--style-2 {
    /* Show and format mobile services list. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services--mobile {
    display: flex;
    height: 73.49px;
    padding: 0 24px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-self: stretch;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
  }
  .md-hero-section-v2--style-2 {
    /* Stack service items per column. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__services-group {
    width: 160px;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .md-hero-section-v2--style-2 {
    /* Bottom section layout and spacing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__bottom {
    position: static;
    width: 100%;
    max-width: 100%;
    transform: none;
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    z-index: 2;
    padding: 0 24.5px;
  }
  .md-hero-section-v2--style-2 {
    /* Card wrapper spacing/order. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card {
    width: 327px;
    gap: 4px;
    order: 1;
  }
  .md-hero-section-v2--style-2 {
    /* Card image size for mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-image {
    width: 151px;
    height: 186px;
    min-height: 186px;
    padding: 3px 3.5px;
    border-radius: 8px;
  }
  .md-hero-section-v2--style-2 {
    /* Card body sizing and layout for mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-body {
    width: 187px;
    height: 186px;
    min-height: 186px;
    padding: 19px 23px;
    border-radius: 8px;
    border: 3px solid #ffffff;
    background: #f3f4f6;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    order: 1;
  }
  .md-hero-section-v2--style-2 {
    /* Meta stack spacing within the card. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-meta {
    width: 132px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .md-hero-section-v2--style-2 {
    /* Role text sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-role {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #242728;
  }
  .md-hero-section-v2--style-2 {
    /* Company text sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-company {
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    color: #242728;
  }
  .md-hero-section-v2--style-2 {
    /* Name text sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: #242728;
  }
  .md-hero-section-v2--style-2 {
    /* CTA button sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__card-cta {
    padding: 6px 14px;
    gap: 8px;
    border-radius: 8px;
    background: #242728;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5;
    color: #ffffff;
  }
  .md-hero-section-v2--style-2 {
    /* Copy block alignment and order on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__copy {
    order: 2;
    width: 100%;
    align-items: flex-end;
    text-align: right;
    gap: 3px;
  }
  .md-hero-section-v2--style-2 {
    /* Copyright sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__copyright {
    font-size: 18px;
    line-height: 1.5;
  }
  .md-hero-section-v2--style-2 {
    /* Description text sizing on mobile. */
  }
  .md-hero-section-v2--style-2 .md-hero-section-v2__description {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5;
    max-width: 100%;
  }
}
.md-hero-section-v2--style-2 {
  /* Style 2 layout: mobile (<=576px) end */
}
