/* SAPAMEFA V9.18 — Home route consuming canonical design tokens.
   Canonical home-page styles use the shared token and component layers.
   Legacy v5 hooks remain only where non-hero JavaScript still consumes them. */

html.sapamefa-root {
  min-width: 0;
  width: 100%;
  font-size: var(--smf-font-size-base) !important;
}

html.sapamefa-root body.sapamefa-theme-active {
  min-width: 0;
  width: 100%;
  font-family: var(--smf-font-sans);
  font-size: var(--smf-font-size-base);
  line-height: var(--smf-line-body);
}

.sapamefa-theme-active #PageContainer,
.sapamefa-theme-active main.main-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sapamefa-home {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: var(--smf-color-surface);
  color: var(--smf-color-text);
  font-family: var(--smf-font-sans);
  font-size: var(--smf-font-size-base);
  line-height: var(--smf-line-body);
}

.sapamefa-home,
.sapamefa-home *,
.sapamefa-home *::before,
.sapamefa-home *::after { box-sizing: border-box; }

.sapamefa-home :is(button, input, select, textarea) { font: inherit; }
.sapamefa-home .grid { margin-left: 0; }

.sapamefa-home-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--smf-section-standard);
}

.sapamefa-home-section--compact { padding-block: var(--smf-section-compact); }
.sapamefa-home-section--surface { background: var(--smf-color-surface); }
.sapamefa-home-section--soft { background: var(--smf-color-surface-soft); }
.sapamefa-home-section--brand-soft { background: var(--smf-color-surface-brand); }
.sapamefa-home-section--bordered { border-block: var(--smf-border-width-hairline) solid var(--smf-color-border); }

.sapamefa-home__container {
  position: relative;
  z-index: 1;
  width: min(var(--smf-container-visual), calc(100% - var(--smf-gutter) * 2));
  margin-inline: auto;
}

.sapamefa-home .sapamefa-section-heading {
  margin-bottom: var(--smf-space-10);
}



#sapamefa-home-page .sapamefa-home__section-cta .sapamefa-button--link {
  font-weight: var(--smf-font-weight-regular);
  text-transform: none;
}
.sapamefa-home__section-cta {
  margin-top: var(--smf-space-10);
  text-align: center;
}

/* ---------- Brand-grid dark sections ---------- */
.sapateal-grid-bg,
.sapamefa-home-section--brand {
  position: relative;
  z-index: 10;
  background-color: var(--smf-color-teal);
  color: var(--smf-color-white);
}

.sapateal-grid-bg::before,
.sapamefa-home-section--brand::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.12;
  pointer-events: none;
  background-image:
    var(--smf-background-grid-brand);
  background-size: 44px 44px;
}

/* ---------- Trusted hospitals ---------- */
.sapamefa-home-hospitals {
  position: relative;
  z-index: 10;
  min-height: 140px;
  overflow: hidden;
  color: var(--smf-color-white);
}
.sapamefa-home-hospitals__layout {
  min-height: 140px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: stretch;
}
.sapamefa-home-hospitals__heading {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 190px;
  padding-right: var(--smf-space-4);
}
.sapamefa-home-hospitals__heading::after {
  content: "";
  position: absolute;
  top: var(--smf-space-8);
  right: 0;
  bottom: var(--smf-space-8);
  width: 4px;
  background: var(--smf-color-aqua);
}
.sapamefa-home-hospitals__heading h2 {
  margin: 0;
  color: var(--smf-color-white);
  font: inherit;
  font-size: var(--smf-font-size-base);
  font-weight: var(--smf-font-weight-bold);
  line-height: var(--smf-line-heading);
  letter-spacing: var(--smf-tracking-wide);
  text-align: right;
  text-transform: none;
}
.sapamefa-home-hospitals__carousel {
  min-width: 0;
  align-self: center;
  margin-left: 2px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  gap: var(--smf-space-1);
}
.sapamefa-home-hospitals__viewport {
  min-width: 0;
  justify-self: center;
}
.sapamefa-home-hospitals__arrow {
  width: 32px;
  height: 44px;
  border: 0;
  border-radius: var(--smf-radius-small);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--smf-color-white);
  font: inherit;
  font-size: 36px;
  font-weight: var(--smf-font-weight-medium);
  line-height: 1;
  cursor: pointer;
  transition: color var(--smf-motion-fast) var(--smf-ease-standard), background-color var(--smf-motion-fast) var(--smf-ease-standard);
}
.sapamefa-home-hospitals__arrow:hover,
.sapamefa-home-hospitals__arrow:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  color: var(--smf-color-aqua);
}
.sapamefa-home-hospitals__arrow:focus-visible {
  outline: 2px solid var(--smf-color-white);
  outline-offset: 2px;
}
.sapamefa-home-hospitals__track {
  --smf-loop-carousel-gap: var(--smf-space-4);
  align-items: center;
}
.sapamefa-home-hospitals__item {
  flex: 0 0 auto;
  width: auto;
}
.sapamefa-home-hospitals__logo-frame {
  width: auto;
  height: 76px;
  aspect-ratio: 834 / 334;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border-radius: var(--smf-radius-small);
  background: rgba(255, 255, 255, 0.86);
}
.sapamefa-home-hospitals__item img {
  width: auto;
  height: 100%;
  display: block;
}

@media (max-width: 767px) {
  .sapamefa-home-hospitals { min-height: 116px; }
  .sapamefa-home-hospitals__layout {
    height: 116px;
    min-height: 116px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 48px;
    align-content: center;
    row-gap: 10px;
    padding-block: 0;
  }
  .sapamefa-home-hospitals__heading {
    width: 100%;
    max-width: none;
    min-width: 0;
    justify-content: center;
    padding: 0;
  }
  .sapamefa-home-hospitals__heading::after {
    display: none;
  }
  .sapamefa-home-hospitals__heading h2 {
    max-width: 100%;
    font-size: 11pt;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    overflow-wrap: normal;
  }
  .sapamefa-home-hospitals__heading h2 br {
    display: none;
  }
  .sapamefa-home-hospitals__heading h2 span + span::before {
    content: "\00a0";
  }
  .sapamefa-home-hospitals__carousel {
    width: 100%;
    height: 48px;
    margin: 0;
    padding-left: 0;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 6px;
  }
  .sapamefa-home-hospitals__arrow {
    width: 44px;
    height: 44px;
    font-size: 28px;
  }
  .sapamefa-home-hospitals__track {
    --smf-loop-carousel-gap: 18px;
  }
  .sapamefa-home-hospitals__logo-frame {
    width: auto;
    height: 42px;
    aspect-ratio: 834 / 334;
    padding: 2px;
  }
  .sapamefa-home-hospitals__item img {
    width: auto;
    height: 100%;
  }
}

/* ---------- Featured product enhancements ---------- */
.sapamefa-featured-card { min-width: 0; text-align: center; }
.sapamefa-featured-media {
  width: 100%;
  display: flex;
  padding: 0;
  border: 0;
  overflow: hidden;
  text-decoration: none;
  cursor: zoom-in;
}
.sapamefa-featured-media[href] { cursor: pointer; }
.sapamefa-featured-image { width: 100%; height: auto; display: block; }
.sapamefa-home-products-card-image { aspect-ratio: 1 / 1; object-fit: contain; }

.sapamefa-home-products-tab[aria-selected="true"] {
  border-color: var(--smf-color-teal);
  background: var(--smf-color-teal);
  color: var(--smf-color-white);
  
}

.sapamefa-home-products-tab:focus-visible,
.sapamefa-home-ecosystem-control:focus-visible {
  outline: var(--smf-focus-ring-strong);
  outline-offset: var(--smf-focus-offset);
}

/* ---------- News carousel ---------- */
.sapamefa-home-news-carousel { position: relative; }
.sapamefa-home-news-viewport { overflow: hidden; }
.sapamefa-home-news-track {
  display: flex;
  will-change: transform;
  transition: transform var(--smf-motion-image) var(--smf-ease-standard);
}
.sapamefa-home-news-slide { flex: 0 0 25%; min-width: 0; padding-inline: var(--smf-space-3); }
.sapamefa-home-news-card { height: 100%; }

.sapamefa-home-news-carousel-nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--smf-color-teal);
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%);
  transition:
    color var(--smf-motion-control) var(--smf-ease-standard),
    transform var(--smf-motion-control) var(--smf-ease-standard);
}
.sapamefa-home-news-carousel-nav:hover {
  color: var(--smf-color-link-hover);
  transform: translateY(-50%) scale(1.08);
}
.sapamefa-home-news-carousel-nav--prev { left: -14px; }
.sapamefa-home-news-carousel-nav--next { right: -14px; }
.sapamefa-home-news-carousel:hover .sapamefa-home-news-carousel-nav,
.sapamefa-home-news-carousel:focus-within .sapamefa-home-news-carousel-nav {
  opacity: 1;
  pointer-events: auto;
}
.sapamefa-home-news-carousel-nav:focus-visible {
  opacity: 1;
  pointer-events: auto;
  outline: var(--smf-focus-ring-strong);
  outline-offset: var(--smf-focus-offset);
}

/* Standardized "Đọc tiếp →" CTA — Trang chủ news cards only (context: home). */
#sapamefa-home-page .sapamefa-news-card__action--standardized {
  font-weight: var(--smf-font-weight-regular);
  text-transform: none;
}

/* ---------- SAPAMEFA ecosystem — shared loop-carousel contract ---------- */
.sapamefa-home-ecosystem-section{
  padding-block:var(--smf-space-7);
}
.sapamefa-home-ecosystem-section .sapamefa-section-heading{
  margin-bottom:var(--smf-space-4);
}
.sapamefa-home-ecosystem-viewport{overflow:hidden;}
.sapamefa-home-ecosystem-track{--smf-loop-carousel-gap:0px;}
.sapamefa-home-ecosystem-item{
  flex:0 0 33.333333%;
  min-width:0;
  min-height:var(--smf-ecosystem-item-min-height);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:var(--smf-space-2) var(--smf-space-5);
  border-right:var(--smf-border-width-hairline) solid var(--smf-color-teal-28);
  color:inherit;
  text-align:center;
  text-decoration:none;
  transition:background-color var(--smf-motion-control) var(--smf-ease-standard);
}
.sapamefa-home-ecosystem-item:hover,.sapamefa-home-ecosystem-item:focus-visible{background:var(--smf-color-surface);}
.sapamefa-home-ecosystem-item img{
  width:100%;
  max-width:160px;
  height:var(--smf-ecosystem-logo-height);
  display:block;
  object-fit:contain;
}
.sapamefa-home-ecosystem-desc{
  max-width:240px;
  margin:var(--smf-space-1) 0 0;
  color:var(--smf-color-text-muted);
  font-size:var(--smf-font-size-xs);
  font-weight:var(--smf-font-weight-medium);
  line-height:var(--smf-line-compact);
}

/* ---------- Manufacturing capacity candidate V3.29 (Gói 05.01) ---------- */
.sapamefa-home-capacity {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(var(--smf-space-12), 4vw, var(--smf-space-16));
}

.sapamefa-home-capacity__media {
  min-width: 0;
  height: 100%;
}

.sapamefa-home-capacity__picture {
  display: block;
  height: 100%;
}

.sapamefa-home-capacity__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.sapamefa-home-capacity__content {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}

.sapamefa-home-capacity__heading {
  max-width: none;
  margin: 0 0 var(--smf-space-6);
  text-align: left;
}

.sapamefa-home-capacity__heading > p {
  max-width: 46ch;
  margin-left: 0;
  color: var(--smf-color-text);
}

.sapamefa-home-capacity__list {
  display: grid;
  gap: var(--smf-space-6);
  margin: 0 0 var(--smf-space-8);
  padding: var(--smf-space-6) 0 0;
  list-style: none;
  border-top: var(--smf-border-width-hairline) solid var(--smf-color-border);
}

.sapamefa-home-capacity__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: var(--smf-space-4);
  padding-bottom: var(--smf-space-6);
  border-bottom: var(--smf-border-width-hairline) solid var(--smf-color-border);
}

.sapamefa-home-capacity__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sapamefa-home-capacity__number {
  display: block;
  color: var(--smf-color-teal);
  font-size: var(--smf-type-card-title-size);
  font-weight: var(--smf-font-weight-bold);
  line-height: var(--smf-line-section);
  font-variant-numeric: tabular-nums lining-nums;
}

.sapamefa-home-capacity__item-body {
  display: grid;
  gap: var(--smf-space-2);
}

.sapamefa-home-capacity__item-title {
  color: var(--smf-color-deep);
  font-size: var(--smf-type-card-title-size);
  font-weight: var(--smf-font-weight-bold);
  line-height: var(--smf-line-section);
}

.sapamefa-home-capacity__item-desc {
  color: var(--smf-color-text);
  font-size: var(--smf-font-size-md);
  line-height: var(--smf-line-lead);
}

.sapamefa-home-capacity__cta {
  margin-top: auto;
  padding-top: var(--smf-space-2);
  text-align: left;
}

.sapamefa-home-capacity__cta .sapamefa-button--link {
  display: inline-flex;
  align-items: center;
  gap: var(--smf-space-2);
}

#sapamefa-home-page .sapamefa-home-capacity__cta .sapamefa-button--link,
#sapamefa-home-page #featured-category-cta {
  font-weight: var(--smf-font-weight-regular);
  text-transform: none;
}

.sapamefa-home-capacity__cta .sapamefa-button--link > span:first-child {
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

.sapamefa-home-capacity__cta .sapamefa-button--link > span:last-child {
  transition: transform var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-home-capacity__cta .sapamefa-button--link:hover > span:last-child,
.sapamefa-home-capacity__cta .sapamefa-button--link:focus-visible > span:last-child {
  transform: translateX(3px);
}

@media (max-width: 1199px) {
  .sapamefa-home-capacity {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--smf-space-10);
  }

}

@media (max-width: 767px) {
  .sapamefa-home-capacity {
    grid-template-columns: 1fr;
    gap: var(--smf-space-8);
  }

  .sapamefa-home-capacity__media {
    order: 1;
  }

  .sapamefa-home-capacity__content {
    order: 2;
  }

  .sapamefa-home-capacity__image {
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
  }

  .sapamefa-home-capacity__heading > p {
    max-width: none;
  }

  .sapamefa-home-capacity__list {
    gap: var(--smf-space-5);
  }
}

/* ---------- Home About Video Hero — official V3.42 revision ---------- */
.sapamefa-home-about {
  display: block;
  width: 100%;
}

.sapamefa-home-about__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--smf-color-on-dark-line);
  border-radius: clamp(16px, 1.5vw, 20px);
  background: var(--smf-color-deep);
  box-shadow: 0 20px 44px rgba(0, 38, 52, 0.2);
  isolation: isolate;
}

.sapamefa-home-about__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(3, 35, 46, 0.08) 0%, rgba(3, 35, 46, 0) 58%);
}

.sapamefa-home-about__poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform var(--smf-motion-image) var(--smf-ease-emphasized), filter var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-home-about__media:hover .sapamefa-home-about__poster {
  transform: scale(1.012);
  filter: brightness(1.02);
}

.sapamefa-home-about__content-circle {
  position: absolute;
  left: 0;
  top: 74%;
  z-index: 2;
  display: flex;
  width: clamp(560px, 43vw, 700px);
  max-width: none;
  aspect-ratio: 1;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-start;
  padding: clamp(68px, 5.5vw, 94px) clamp(66px, 5.8vw, 96px) clamp(96px, 7.5vw, 132px) clamp(54px, 4.8vw, 82px);
  border-radius: 50%;
  background: rgba(3, 35, 46, 0.55);
  color: var(--smf-color-white);
  transform: translateY(-50%);
}

.sapamefa-home-about__content h2 {
  margin: 0;
  color: var(--smf-color-white);
  font-size: var(--smf-role-section-heading-size);
  font-weight: var(--smf-font-weight-bold);
  font-style: normal;
  line-height: var(--smf-line-display);
  letter-spacing: var(--smf-tracking-display);
}

.sapamefa-home-about__rule {
  display: block;
  width: clamp(64px, 7vw, 92px);
  height: 2px;
  margin: var(--smf-space-4) 0 var(--smf-space-5);
  background: var(--smf-color-accent-on-dark);
}

.sapamefa-home-about__content > p {
  max-width: 46ch;
  margin: 0;
  color: var(--smf-color-white);
  font-size: var(--smf-role-section-description-size);
  font-weight: var(--smf-font-weight-regular);
  font-style: normal;
  line-height: var(--smf-line-lead);
  letter-spacing: var(--smf-tracking-normal);
}

.sapamefa-home-about__links {
  display: grid;
  width: 100%;
  margin-top: var(--smf-space-5);
  border-top: 1px solid rgba(255, 255, 255, 0.34);
}

.sapamefa-home-about__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--smf-space-3);
  min-height: 48px;
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--smf-color-white);
  font-size: var(--smf-role-control-text-size);
  font-weight: var(--smf-font-weight-semibold);
  line-height: var(--smf-line-title);
  text-decoration: none;
}

.sapamefa-home-about__links a:last-child {
  border-bottom: 0;
}

.sapamefa-home-about__links a > span:last-child {
  flex: 0 0 auto;
  color: var(--smf-color-accent-on-dark);
  font-size: var(--smf-type-sm);
  transition: transform var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-home-about__links a:hover {
  color: var(--smf-color-white);
  text-decoration: underline;
  text-underline-offset: 5px;
}

.sapamefa-home-about__links a:hover > span:last-child {
  transform: translateX(3px);
}

.sapamefa-home-about__links a:focus-visible {
  outline: 2px solid var(--smf-color-white);
  outline-offset: 3px;
}

.sapamefa-home-about__play {
  position: absolute;
  top: 50%;
  right: clamp(7%, 10vw, 14%);
  z-index: 3;
  display: grid;
  place-items: center;
  width: clamp(72px, 6vw, 80px);
  height: clamp(72px, 6vw, 80px);
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--smf-color-deep);
  cursor: pointer;
  box-shadow: 0 0 0 18px rgba(10, 153, 182, 0.23), 0 0 0 34px rgba(10, 153, 182, 0.12);
  transform: translateY(-50%);
  transition: transform var(--smf-motion-control) var(--smf-ease-emphasized), box-shadow var(--smf-motion-control) var(--smf-ease-standard), background-color var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-home-about__play:hover {
  background: var(--smf-color-white);
  box-shadow: 0 0 0 20px rgba(10, 153, 182, 0.28), 0 0 0 38px rgba(10, 153, 182, 0.14);
  transform: translateY(-50%) scale(1.04);
}

.sapamefa-home-about__play:focus-visible {
  outline: 3px solid var(--smf-color-white);
  outline-offset: 6px;
}

.sapamefa-home-about__video-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sapamefa-home-about__play-control {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.sapamefa-home-about__play-control > span {
  width: 0;
  height: 0;
  margin-left: 6px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 19px solid var(--smf-color-teal);
}

.sapamefa-home-about__dialog {
  width: min(1120px, calc(100vw - var(--smf-gutter) * 2));
  max-width: none;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: var(--smf-color-white);
}

.sapamefa-home-about__dialog::backdrop {
  background: rgba(0, 20, 28, 0.84);
}

.sapamefa-home-about__dialog-panel {
  overflow: hidden;
  border: 0;
  border-radius: var(--smf-radius-card);
  background: transparent;
  box-shadow: 0 30px 80px rgba(0, 15, 24, 0.5);
}

.sapamefa-home-about__youtube {
  display: grid;
  width: 100%;
  aspect-ratio: 16 / 9;
  place-items: center;
  overflow: hidden;
  border-radius: var(--smf-radius-card);
  background: #000;
}

.sapamefa-home-about__youtube > p {
  margin: 0;
  padding: var(--smf-space-6);
  color: var(--smf-color-white);
  font-size: var(--smf-role-note-size);
  line-height: var(--smf-line-note);
  text-align: center;
}

.sapamefa-home-about__youtube iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 1200px) {
  .sapamefa-home-about__media {
    min-height: 560px;
  }
}

@media (max-width: 1199px) {
  .sapamefa-home-about__media {
    min-height: 560px;
  }

  .sapamefa-home-about__content-circle {
    top: 72.5%;
    width: clamp(500px, 58vw, 580px);
    padding: 46px 70px 94px 50px;
  }

  .sapamefa-home-about__links a {
    min-height: 47px;
  }

  .sapamefa-home-about__play {
    right: 8%;
  }
}

@media (max-width: 767px) {
  .sapamefa-home-about__media {
    display: flex;
    min-height: 0;
    aspect-ratio: auto;
    flex-direction: column;
    overflow: hidden;
  }

  .sapamefa-home-about__media::after {
    display: none;
  }

  .sapamefa-home-about__poster {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
    object-fit: cover;
  }

  .sapamefa-home-about__content-circle {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    padding: var(--smf-space-7) var(--smf-space-5) var(--smf-space-6);
    border-radius: 0;
    background: var(--smf-color-deep);
    transform: none;
  }

  .sapamefa-home-about__content > p {
    max-width: none;
  }

  .sapamefa-home-about__links {
    margin-top: var(--smf-space-5);
  }

  .sapamefa-home-about__links a {
    min-height: 52px;
  }

  .sapamefa-home-about__play {
    top: clamp(82px, 25vw, 112px);
    right: 50%;
    width: 68px;
    height: 68px;
    transform: translate(50%, -50%);
  }

  .sapamefa-home-about__play:hover {
    transform: translate(50%, -50%) scale(1.04);
  }

  .sapamefa-home-about__dialog {
    width: calc(100vw - var(--smf-space-4) * 2);
  }

}

.sapamefa-home-contact__heading {
  max-width: none;
  margin: 0 0 var(--smf-space-8);
  text-align: left;
}

.sapamefa-home-contact__list {
  display: grid;
  gap: var(--smf-space-4);
  font-size: var(--smf-font-size-md);
}

.sapamefa-home-contact__item {
  display: flex;
  gap: var(--smf-space-4);
  min-width: 0;
}

.sapamefa-home-contact__icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--smf-radius-small);
  background: var(--smf-color-deep-62);
  color: var(--smf-color-bright);
}

.sapamefa-home-contact__item small {
  display: block;
  color: var(--smf-color-on-dark-muted);
  font-size: var(--smf-font-size-2xs);
  line-height: var(--smf-line-compact);
}

.sapamefa-home-contact__item .sapamefa-home-contact__value {
  display: block;
  overflow-wrap: anywhere;
  color: var(--smf-color-white);
  font-weight: var(--smf-font-weight-regular);
  font-style: normal;
  text-transform: none;
  text-decoration: none;
}

/* Home variant of the shared contact form. */
.sapamefa-contact-form--home {
  position: relative;
  height: 100%;
  max-width: 720px;
  overflow: hidden;
  padding: var(--smf-space-6) var(--smf-space-6) 26px;
  border: var(--smf-border-width-hairline) solid var(--smf-color-bright-18);
  border-radius: var(--smf-radius-feature);
  background: var(--smf-gradient-dark-topbar);
  
}

.sapamefa-contact-form--home h2 {
  margin: 0 0 var(--smf-space-2);
  color: var(--smf-color-white);
  font-size: var(--smf-font-size-2xl);
  font-weight: var(--smf-font-weight-extrabold);
  line-height: var(--smf-line-heading);
  letter-spacing: var(--smf-tracking-wide);
  text-align: center;
  text-transform: uppercase;
}

.sapamefa-contact-form--home .contact-form-card__intro {
  margin: 0 0 var(--smf-space-5);
  color: var(--smf-color-on-dark-muted);
  font-size: var(--smf-font-size-xs);
  line-height: var(--smf-line-body);
  text-align: center;
}

.sapamefa-contact-form--home .contact-form-success {
  margin-bottom: var(--smf-space-4);
  padding: 15px var(--smf-space-4);
  border: var(--smf-border-width-hairline) solid var(--smf-color-success);
  border-radius: var(--smf-radius-control);
  background: var(--smf-color-success-soft);
  color: var(--smf-color-success);
  font-size: var(--smf-font-size-md);
  line-height: var(--smf-line-body);
}

.sapamefa-contact-form--home .contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--smf-space-4);
}

.sapamefa-contact-form--home .contact-field { margin-bottom: 14px; }

.sapamefa-contact-form--home .contact-field label {
  display: block;
  margin-bottom: 6px;
  color: var(--smf-color-on-dark);
  font-size: var(--smf-font-size-xs);
  font-weight: var(--smf-font-weight-extrabold);
  line-height: var(--smf-line-compact);
  letter-spacing: var(--smf-tracking-wide);
  text-transform: uppercase;
}

.sapamefa-contact-form--home .contact-field :is(input, select, textarea) {
  width: 100%;
  padding: 11px 14px;
  border: var(--smf-border-width-hairline) solid var(--smf-color-bright-72);
  border-radius: var(--smf-radius-control);
  outline: none;
  background: var(--smf-color-surface-brand);
  color: var(--smf-color-deep);
  font-size: var(--smf-font-size-md);
  line-height: var(--smf-line-compact);
  transition:border-color var(--smf-motion-control) var(--smf-ease-standard), background-color var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-contact-form--home .contact-field :is(input, textarea)::placeholder {
  color: var(--smf-color-deep-62);
}

.sapamefa-contact-form--home .contact-field select {
  appearance: none;
  padding-right: var(--smf-space-12);
  background-image:
    var(--smf-gradient-chevron);
  background-position:
    calc(100% - 22px) calc(50% - 2px),
    calc(100% - 16px) calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
}

.sapamefa-contact-form--home .contact-field textarea {
  min-height: 126px;
  resize: vertical;
}

.sapamefa-contact-form--home .contact-field :is(input, select, textarea):focus {
  border-color: var(--smf-color-bright);
  background-color: var(--smf-color-light);
  
}

.sapamefa-contact-form--home .contact-privacy {
  max-width: 94%;
  margin: 14px auto var(--smf-space-4);
  color: var(--smf-color-bright);
  font-size: var(--smf-font-size-2xs);
  font-style: normal;
  line-height: var(--smf-line-compact);
  text-align: center;
}

#sapamefa-home-page .sapamefa-contact-form--home .sapamefa-form-consent-field.sapamefa-form-field .sapamefa-form-consent.contact-privacy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  max-width: 94%;
  margin: 14px auto var(--smf-space-4);
  color: var(--smf-color-bright);
  font-size: var(--smf-font-size-2xs);
  font-style: normal;
  font-weight: var(--smf-font-weight-medium, normal);
  line-height: var(--smf-line-compact);
  letter-spacing: normal;
  text-align: center;
  text-transform: none;
}

#sapamefa-home-page .sapamefa-contact-form--home .sapamefa-form-consent-field .sapamefa-form-consent-copy {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: normal;
  text-align: inherit;
  text-transform: none;
  cursor: pointer;
}

#sapamefa-home-page .sapamefa-contact-form--home .sapamefa-form-consent-field .sapamefa-form-consent-copy a {
  color: inherit;
  text-decoration: underline;
}

#sapamefa-home-page .sapamefa-contact-form--home .sapamefa-form-consent-field .sapamefa-form-consent input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 1em;
  width: 1em;
  min-width: 1em;
  max-width: 1em;
  height: 1em;
  min-height: 1em;
  margin: .08em 0 0;
  padding: 0;
  border-radius: 2px;
  background: transparent;
}

.sapamefa-contact-form--home .contact-submit {
  width: 100%;
  min-height: var(--smf-height-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--smf-space-5);
  border: 0;
  border-radius: var(--smf-radius-control);
  background: var(--smf-color-brand-teal);
  color: var(--smf-color-white);
  
  font-size: var(--smf-font-size-md);
  font-weight: var(--smf-font-weight-extrabold);
  line-height: var(--smf-line-heading);
  letter-spacing: var(--smf-tracking-wide);
  text-transform: uppercase;
  cursor: pointer;
  transition:transform var(--smf-motion-control) var(--smf-ease-standard), color var(--smf-motion-control) var(--smf-ease-standard), background-color var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-contact-form--home .contact-submit:hover,
.sapamefa-contact-form--home .contact-submit:focus-visible {
  background: var(--smf-color-bright);
  color: var(--smf-color-deep);
  
  transform: none;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sapamefa-home-ecosystem-section{padding-block:var(--smf-space-6);}
  .sapamefa-home-ecosystem-item,
  .sapamefa-home-news-slide { flex-basis: 50%; }
  .sapamefa-product-grid--home > .sapamefa-product-card:nth-child(n+4) { display: none; }
  .sapamefa-home-news-carousel-nav { width: 50px; height: 50px; }
}

@media (min-width: 1024px) {
}

@media (max-width: 767px) {
  /* MOBILE-03 — systematic scroll-length reduction: standard sections drop
     to the same compact padding already used by --compact sections (no
     change for sections already compact); heading/CTA gaps shrink to the
     next-smaller existing space token. Section-specific overrides below
     (ecosystem, about, capacity list, contact form) keep their own already-
     tuned mobile values untouched. */
  .sapamefa-home-section { padding-block: var(--smf-section-compact); }
  .sapamefa-home .sapamefa-section-heading { margin-bottom: var(--smf-space-6); }
  .sapamefa-home__section-cta { margin-top: var(--smf-space-6); }

  .sapamefa-home-ecosystem-section{padding-block:var(--smf-space-5);}

  .sapamefa-home-ecosystem-item{flex-basis:100%;padding-inline:var(--smf-space-4);}
  .sapamefa-home-news-slide { flex-basis: 100%; padding: 0; }
  .sapamefa-home-news-slide--mobile-extra { display: none; }
  .sapamefa-product-grid--home > .sapamefa-product-card:nth-child(n+3) { display: none; }
  .sapamefa-home-news-carousel-nav {
    top: 50%;
    bottom: auto;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
  }
  .sapamefa-home-news-carousel-nav:hover { transform: translateY(-50%) scale(1.08); }
  .sapamefa-home-news-carousel-nav--prev { left: 0; }
  .sapamefa-home-news-carousel-nav--next { right: 0; }

  .sapamefa-contact-form--home { padding: var(--smf-space-5) var(--smf-space-4) var(--smf-space-6); }
  .sapamefa-contact-form--home .contact-form-grid { grid-template-columns: 1fr; gap: 0; }
  .sapamefa-contact-form--home .contact-submit { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .sapamefa-home-news-track {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .sapamefa-home-about__poster,
  .sapamefa-home-about__play,
  .sapamefa-home-about__play-control,
  .sapamefa-home-about__links a > span:last-child {
    transition: none !important;
  }

  .sapamefa-home-about__media:hover .sapamefa-home-about__poster,
  .sapamefa-home-about__play:hover,
  .sapamefa-home-about__links a:hover > span:last-child {
    transform: none;
  }
}


#sapamefa-home-page .sapamefa-section-heading--row {
  max-width: none;
  margin-inline: 0;
  text-align: left;
}

#sapamefa-home-page .sapamefa-contact-form--home.sapamefa-form-card {
  border-color: var(--smf-color-bright-18);
  background: var(--smf-gradient-dark-topbar);
  
}

/* Homepage media compatibility retained until Home module extraction. */
.sapamefa-home-zoom-media{
  display:block;
  width:100%;
  height:auto!important;
  padding: 0;
  border:0;
  background:var(--smf-color-transparent);
  overflow:hidden;
}
.sapamefa-home-news-card{display:flex;min-width:0;height:100%;flex-direction:column;}
.sapamefa-home-news-card .sapamefa-home-zoom-media{flex:0 0 auto;width:100%;height:auto!important;aspect-ratio:16/9;}
.sapamefa-home-news-card .sapamefa-home-zoom-media>img{display:block;width:100%;height:100%;object-fit:cover;}
.sapamefa-home-news-card>.p-5{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;}
.sapamefa-home-news-card>.p-5>a:last-child{margin-top: auto;}

/* ---------- Product Categories — image-first solution cards (Gói 07) ---------- */
.sapamefa-home-solution-visual-section.sapamefa-home-section--soft {
  background: var(--smf-neutral-100);
}

.sapamefa-home-solution-visual-lead {
  max-width: 760px;
  margin: var(--smf-space-4) auto 0;
  color: var(--smf-color-text-muted);
  font-size: var(--smf-font-size-md);
  line-height: var(--smf-line-body);
  text-align: center;
  text-transform: none;
}

.sapamefa-home-solution-visual-card {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  border: 1px solid var(--smf-color-border);
  box-shadow: 0 4px 16px rgba(8, 60, 76, 0.08);
  color: var(--smf-color-text-strong);
  text-decoration: none;
  isolation: isolate;
  transition: transform var(--smf-motion-image) var(--smf-ease-standard), box-shadow var(--smf-motion-image) var(--smf-ease-standard);
}

.sapamefa-home-solution-visual-card__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform var(--smf-motion-image) var(--smf-ease-standard);
}

.sapamefa-home-solution-visual-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: none;
  pointer-events: none;
}

.sapamefa-home-solution-visual-card--contrast-aid .sapamefa-home-solution-visual-card__overlay {
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.24) 22%, transparent 36%);
}

.sapamefa-home-solution-visual-card__content {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 2;
  padding-left: 26px;
  transform: translateY(-50%);
}

.sapamefa-home-solution-visual-card__title {
  display: block;
  max-width: 38%;
  white-space: pre-line;
  color: var(--smf-color-text-strong);
  font-size: var(--smf-type-lg);
  font-weight: var(--smf-font-weight-semibold);
  line-height: var(--smf-line-title);
}

.sapamefa-home-solution-visual-card__arrow {
  display: block;
  margin-top: 5px;
  color: var(--smf-color-teal);
  font-size: var(--smf-type-xl);
  font-weight: var(--smf-font-weight-bold);
  line-height: 1;
  transition: transform var(--smf-motion-control) var(--smf-ease-standard);
}

.sapamefa-home-solution-visual-card--03 .sapamefa-home-solution-visual-card__title,
.sapamefa-home-solution-visual-card--05 .sapamefa-home-solution-visual-card__title {
  max-width: 34%;
}

.sapamefa-home-solution-visual-card:hover,
.sapamefa-home-solution-visual-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(8, 60, 76, 0.14);
}

.sapamefa-home-solution-visual-card:hover .sapamefa-home-solution-visual-card__image,
.sapamefa-home-solution-visual-card:focus-within .sapamefa-home-solution-visual-card__image {
  transform: scale(1.025);
}

.sapamefa-home-solution-visual-card:hover .sapamefa-home-solution-visual-card__arrow,
.sapamefa-home-solution-visual-card:focus-within .sapamefa-home-solution-visual-card__arrow {
  transform: translateX(6px);
}

.sapamefa-home-solution-visual-card:focus-visible {
  outline: var(--smf-focus-ring-strong);
  outline-offset: var(--smf-focus-offset);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sapamefa-home-solution-visual-card { aspect-ratio: 4 / 3; }
  .sapamefa-home-solution-visual-card__content { padding-left: 22px; }
  .sapamefa-home-solution-visual-card__title { max-width: 42%; }
  .sapamefa-home-solution-visual-card--03 .sapamefa-home-solution-visual-card__title,
  .sapamefa-home-solution-visual-card--05 .sapamefa-home-solution-visual-card__title {
    max-width: 38%;
  }
}

@media (max-width: 767px) {
  .sapamefa-home-solution-visual-card__content { padding-left: 18px; }
  .sapamefa-home-solution-visual-card__title { max-width: 56%; font-size: var(--smf-font-size-md); }
  .sapamefa-home-solution-visual-card--03 .sapamefa-home-solution-visual-card__title,
  .sapamefa-home-solution-visual-card--05 .sapamefa-home-solution-visual-card__title {
    max-width: 50%;
  }
  .sapamefa-home-solution-visual-card__arrow { font-size: var(--smf-type-xl); margin-top: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .sapamefa-home-solution-visual-card,
  .sapamefa-home-solution-visual-card__image,
  .sapamefa-home-solution-visual-card__arrow {
    transition: none !important;
  }
  .sapamefa-home-solution-visual-card:hover,
  .sapamefa-home-solution-visual-card:focus-within {
    transform: none;
  }
  .sapamefa-home-solution-visual-card:hover .sapamefa-home-solution-visual-card__image,
  .sapamefa-home-solution-visual-card:focus-within .sapamefa-home-solution-visual-card__image {
    transform: none;
  }
  .sapamefa-home-solution-visual-card:hover .sapamefa-home-solution-visual-card__arrow,
  .sapamefa-home-solution-visual-card:focus-within .sapamefa-home-solution-visual-card__arrow {
    transform: none;
  }
}

/* SAPAMEFA_V3.42 — home approved role mapping. */
.sapamefa-home-solution-visual-lead,
.sapamefa-home-capacity__heading>p,
.sapamefa-home-about__content>p,
.sapamefa-home-ecosystem-desc{
  color:var(--smf-color-text-strong);
  font-size:var(--smf-role-section-description-size);
  font-weight:var(--smf-font-weight-regular);
  font-style:normal;
  line-height:var(--smf-line-lead);
  letter-spacing:var(--smf-tracking-normal);
}
.sapamefa-home-about__content h2{
  color:var(--smf-color-text-on-dark);
  font-size:var(--smf-role-section-heading-size);
  font-weight:var(--smf-font-weight-bold);
  font-style:normal;
  line-height:var(--smf-line-display);
  letter-spacing:var(--smf-tracking-display);
}
.sapamefa-home-about__content>p{color:var(--smf-color-text-on-dark);}
.sapamefa-home-capacity__item-desc{
  color:var(--smf-color-text-strong);
  font-size:var(--smf-role-card-description-size);
  font-weight:var(--smf-font-weight-regular);
  line-height:var(--smf-line-lead);
}
.sapamefa-home-contact__heading>p:first-child{
  color:var(--smf-color-accent-on-dark)!important;
  font-size:var(--smf-role-label-size)!important;
  font-weight:var(--smf-font-weight-semibold)!important;
  line-height:var(--smf-line-title)!important;
  letter-spacing:var(--smf-tracking-eyebrow)!important;
}
.sapamefa-home-contact__heading>h2{
  color:var(--smf-color-text-on-dark)!important;
  font-size:var(--smf-role-section-heading-size)!important;
  line-height:var(--smf-line-display)!important;
  letter-spacing:var(--smf-tracking-display)!important;
  text-wrap:balance;
}
.sapamefa-home-contact__heading>h2+p{
  color:var(--smf-color-text-on-dark)!important;
  font-size:var(--smf-role-section-description-size)!important;
  font-weight:var(--smf-font-weight-regular)!important;
  line-height:var(--smf-line-lead)!important;
}
.sapamefa-home-contact__item small{
  color:var(--smf-color-accent-on-dark);
  font-size:var(--smf-role-label-size);
  font-weight:var(--smf-font-weight-semibold);
  line-height:var(--smf-line-title);
}
.sapamefa-home-contact__item .sapamefa-home-contact__value{
  color:var(--smf-color-text-on-dark);
  font-size:var(--smf-role-section-description-size);
  font-weight:var(--smf-font-weight-regular);
  font-style:normal;
  line-height:var(--smf-line-lead);
  letter-spacing:var(--smf-tracking-normal);
  text-transform:none;
}


/* SAPAMEFA_V3.42 — final heading behavior after QA.
   Keep titles naturally on one line when desktop width allows, but never
   force nowrap; smaller viewports must wrap organically. */
.sapamefa-home-solution-visual-heading{
  max-width:min(100%,78rem)!important;
  margin-inline:auto;
  text-align:center;
}
.sapamefa-home-solution-visual-heading>h2,
.sapamefa-home-solution-visual-title{
  max-width:none!important;
  margin-inline:auto;
  white-space:normal;
  text-wrap:pretty;
  word-break:normal;
  overflow-wrap:normal;
}
.sapamefa-home-solution-visual-lead{
  max-width:58rem;
  margin-inline:auto;
  text-align:center;
}
.sapamefa-home-capacity__heading{
  max-width:none;
  margin-inline:0;
  text-align:left;
}
.sapamefa-home-capacity__heading>h2{
  max-width:none!important;
  margin-inline:0;
  white-space:normal;
  text-wrap:pretty;
  word-break:normal;
  overflow-wrap:normal;
  text-align:left;
}
.sapamefa-home-capacity__heading>p{
  max-width:46ch;
  margin-inline:0;
  text-align:left;
}


/* SAPAMEFA_V3.42-HOTFIX-20260727-08 — align the capability heading block flush-left with item number 01. */
#sapamefa-home-page .sapamefa-home-capacity__content,
#sapamefa-home-page .sapamefa-home-capacity__heading.sapamefa-section-heading{
  align-items: stretch;
}
#sapamefa-home-page .sapamefa-home-capacity__heading.sapamefa-section-heading{
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 var(--smf-space-6) 0 !important;
  padding: 0 !important;
  justify-self: stretch;
  align-self: stretch;
  text-align: left !important;
}
#sapamefa-home-page .sapamefa-home-capacity__heading.sapamefa-section-heading > h2,
#sapamefa-home-page .sapamefa-home-capacity__heading.sapamefa-section-heading > p{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}


/* SAPAMEFA_V3.42-HOTFIX-ABOUT-VIDEO-UI — requested poster update and minimal video dialog UI. */
.sapamefa-home-about__video-status,
.sapamefa-home-about__dialog-header {
  display: none !important;
}


/* SAPAMEFA_V3.42-HOTFIX-ABOUT-LAYOUT-20260727 — align home about video with the right column below. */
.sapamefa-home-about {
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  align-items: center;
  gap: clamp(var(--smf-space-12), 4vw, var(--smf-space-16));
}

.sapamefa-home-about__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  color: var(--smf-color-white);
}

.sapamefa-home-about__content h2 {
  margin: 0;
  color: var(--smf-color-white);
  font-size: var(--smf-role-section-heading-size);
  font-weight: var(--smf-font-weight-bold);
  line-height: var(--smf-line-display);
  letter-spacing: var(--smf-tracking-display);
}

.sapamefa-home-about__rule {
  width: clamp(64px, 7vw, 92px);
  margin: var(--smf-space-4) 0 var(--smf-space-5);
}

.sapamefa-home-about__content > p {
  max-width: 38rem;
  margin: 0;
  color: var(--smf-color-white);
  font-size: var(--smf-role-section-description-size);
  line-height: var(--smf-line-lead);
}

.sapamefa-home-about__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  width: 100%;
  margin-top: var(--smf-space-6);
  border-top: 1px solid rgba(255,255,255,.28);
}

.sapamefa-home-about__links a {
  flex: 1 1 0;
  min-width: 0;
  min-height: 56px;
  padding-right: var(--smf-space-4);
}

.sapamefa-home-about__links a + a {
  padding-left: var(--smf-space-4);
  border-left: 1px solid rgba(255,255,255,.18);
}

.sapamefa-home-about__media {
  aspect-ratio: 16 / 9;
  min-height: 0;
  width: 100%;
}

.sapamefa-home-about__media::after {
  display: none;
}

.sapamefa-home-about__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sapamefa-home-about__play {
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}

.sapamefa-home-about__play:hover {
  transform: translate(50%, -50%) scale(1.04);
}

@media (max-width: 1023px) {
  .sapamefa-home-about {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .sapamefa-home-about__content {
    order: 2;
  }

  .sapamefa-home-about__media {
    order: 1;
  }

  .sapamefa-home-about__links {
    display: grid;
  }

  .sapamefa-home-about__links a,
  .sapamefa-home-about__links a + a {
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }
}

@media (max-width: 767px) {
  .sapamefa-home-about__content {
    padding: 0;
  }

  .sapamefa-home-about__content > p {
    max-width: none;
  }

  .sapamefa-home-about__media {
    aspect-ratio: 16 / 9;
  }

  .sapamefa-home-about__play {
    top: 50%;
    right: 50%;
    width: 68px;
    height: 68px;
    transform: translate(50%, -50%);
  }
}


/* SAPAMEFA_V3.42-HOTFIX-ABOUT-COPY-LINKS-20260727 — allow natural paragraph wrapping
   and keep each arrow immediately beside its link label. */
.sapamefa-home-about__content > p {
  width: 100%;
  max-width: none;
  white-space: normal;
  text-wrap: normal;
  word-break: normal;
  overflow-wrap: normal;
}
.sapamefa-home-about__links a {
  justify-content: flex-start;
  gap: var(--smf-space-2);
}
.sapamefa-home-about__links a > span:last-child {
  margin-left: 0;
}


/* SAPAMEFA_V3.42-HOTFIX-ABOUT-CTA-SINGLE — replace the 3-column about links with one centered “Xem thêm →” link. */
.sapamefa-home-about__links {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: var(--smf-space-6);
  padding-top: var(--smf-space-4);
  border-top: 1px solid rgba(255,255,255,.28);
}
.sapamefa-home-about__links a,
.sapamefa-home-about__links a + a {
  flex: 0 0 auto;
  min-width: 0;
  min-height: auto;
  padding: 0;
  border: 0;
  color: var(--smf-color-accent-on-dark);
  font-size: clamp(1.875rem, 1.6vw, 2rem);
  font-weight: var(--smf-font-weight-regular);
  line-height: 1.25;
  text-decoration: none;
  justify-content: center;
  gap: .4em;
}
.sapamefa-home-about__links a > span:last-child {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.sapamefa-home-about__links a:hover,
.sapamefa-home-about__links a:focus-visible {
  color: var(--smf-color-accent-on-dark);
  text-decoration: underline;
  text-underline-offset: .18em;
}
@media (max-width: 767px) {
  .sapamefa-home-about__links a,
  .sapamefa-home-about__links a + a {
    font-size: clamp(1.5rem, 5vw, 1.875rem);
  }
}


/* HOME-CAPACITY-SAPAMEFA-01 — canonical merge on latest source. */
#sapamefa-home-page {
  --smf-home-split-left: minmax(0, 45fr);
  --smf-home-split-right: minmax(0, 55fr);
  --smf-home-split-gap: clamp(40px, 3vw, 48px);
}
#sapamefa-home-page .sapamefa-home-about,
#sapamefa-home-page .sapamefa-home-capacity {
  display: grid;
  grid-template-columns: var(--smf-home-split-left) var(--smf-home-split-right);
  column-gap: var(--smf-home-split-gap);
  row-gap: var(--smf-home-split-gap);
}
#sapamefa-home-page .sapamefa-home-about { align-items: center; }
#sapamefa-home-page .sapamefa-home-capacity { align-items: start; }
#sapamefa-home-page .sapamefa-home-capacity__media {
  align-self: start;
  min-width: 0;
  height: auto;
}
#sapamefa-home-page .sapamefa-home-capacity__picture {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--smf-radius-feature);
}
#sapamefa-home-page .sapamefa-home-capacity__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: inherit;
}
#sapamefa-home-page .sapamefa-home-capacity__content {
  min-width: 0;
  height: auto;
}
#sapamefa-home-page .sapamefa-home-capacity__heading > h2 {
  color: var(--smf-color-text-strong);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 700;
  line-height: 1.2;
}
#sapamefa-home-page .sapamefa-home-capacity__heading > p {
  max-width: none;
  color: var(--smf-color-text-strong);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}
#sapamefa-home-page .sapamefa-home-capacity__number {
  color: var(--smf-color-teal);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  font-variant-numeric: tabular-nums lining-nums;
}
#sapamefa-home-page .sapamefa-home-capacity__item-title {
  color: var(--smf-color-text-strong);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
#sapamefa-home-page .sapamefa-home-capacity__item-desc {
  color: var(--smf-color-text-strong);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}
@media (max-width: 767px) {
  #sapamefa-home-page .sapamefa-home-about,
  #sapamefa-home-page .sapamefa-home-capacity { grid-template-columns: 1fr; }
  #sapamefa-home-page .sapamefa-home-about__media,
  #sapamefa-home-page .sapamefa-home-capacity__media { order: 1; width: 100%; }
  #sapamefa-home-page .sapamefa-home-about__content,
  #sapamefa-home-page .sapamefa-home-capacity__content { order: 2; width: 100%; }
  #sapamefa-home-page .sapamefa-home-capacity__picture { aspect-ratio: 4 / 3; }
}

@media (min-width: 768px) {
  #sapamefa-home-page .sapamefa-home-about__content,
  #sapamefa-home-page .sapamefa-home-capacity__media { order: 1; }
  #sapamefa-home-page .sapamefa-home-about__media,
  #sapamefa-home-page .sapamefa-home-capacity__content { order: 2; }
}

/* SAPAMEFA_V3.42 — preserve latest package; refine only the About CTA and Capacity title request. */
#sapamefa-home-page .sapamefa-home-about__links {
  justify-content: flex-start;
  text-align: left;
}
#sapamefa-home-page .sapamefa-home-about__links .sapamefa-button--link {
  justify-content: flex-start;
  font-size: var(--smf-button-font-size);
  font-weight: var(--smf-font-weight-regular);
  line-height: var(--smf-button-line-height);
  letter-spacing: var(--smf-button-tracking);
  text-transform: none;
}
