/* ================= BLOCK: HERO PROVIDERS ================= */
.c-hero-providers {
  position: relative;
  width: 100%;
  padding-top: var(--pt-o-d);
  padding-right: var(--pr-o-d);
  padding-bottom: var(--pb-o-d);
  padding-left: var(--pl-o-d);
  background-color: var(--bg-val);
  box-sizing: border-box;
}

.c-hero-providers * {
  box-sizing: border-box;
}

.c-hero-providers__wrap {
  position: relative;
  background-color: var(--wrap-bg);
  border-radius: var(--rad-tl-d) var(--rad-tr-d) var(--rad-br-d) var(--rad-bl-d);
  box-shadow: var(--wrap-shad-d);
  overflow: hidden; 
}

/* Constrained Inner Grid */
.c-hero-providers__max-width {
  max-width: var(--max-w);
  margin: 0 auto;
  width: 100%;
  
  padding-top: calc(var(--pt-i-d) + var(--is-first-offset));
  padding-right: var(--pr-i-d);
  padding-bottom: var(--pb-i-d);
  padding-left: var(--pl-i-d);
  
  display: grid;
  grid-template-columns: var(--gc-l) var(--gc-r);
  gap: var(--gap-grid-d);
  align-items: center;
  position: relative;
  z-index: 1; 
}

.c-hero-providers__shape {
  position: absolute;
  top: var(--sh-t-d);
  right: var(--sh-r-d);
  bottom: var(--sh-b-d);
  left: var(--sh-l-d);
  width: var(--sh-w-d);
  transform: scale(1.2) rotate(0deg); 
  transition: transform 0.8s ease-in-out; 
  z-index: 0;
  pointer-events: none;
  object-fit: contain;
}

/* ================= LEFT COL (TEXTS) ================= */
.c-hero-providers__col-left {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--gap-head-d);
  text-align: var(--al-txt-d);
  grid-column: 1;
  grid-row: 1;
}

.c-hero-providers__head {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-hero-providers__tag-wrap {
  display: flex;
  align-items: center;
  justify-content: var(--al-txt-d);
  gap: 8px;
}
.c-hero-providers__tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 800px;
  background-color: var(--c-tagdot);
}
.c-hero-providers__tag {
  font-family: var(--ff-tag-d);
  font-size: var(--fs-tag-d);
  font-weight: var(--fw-tag-d);
  line-height: var(--lh-tag-d);
  color: var(--c-htag);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.c-hero-providers__title {
  font-family: var(--ff-tit-d);
  font-size: var(--fs-tit-d);
  font-weight: var(--fw-tit-d);
  line-height: var(--lh-tit-d);
  color: var(--c-htit);
  letter-spacing: -3px;
  margin: 0;
}
.c-hero-providers__title em {
  font-family: var(--font-secondary);
  font-weight: 400;
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.c-hero-providers__info {
  display: flex;
  flex-direction: column;
  gap: var(--gap-head-d);
}

.c-hero-providers__desc {
  font-family: var(--ff-des-d);
  font-size: var(--fs-des-d);
  font-weight: var(--fw-des-d);
  line-height: var(--lh-des-d);
  color: var(--c-desc);
}
.c-hero-providers__desc p { margin: 0 0 8px 0; }
.c-hero-providers__desc p:last-child { margin: 0; }

/* Buttons */
.c-hero-providers__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: var(--al-b-dir-d);
  justify-content: var(--al-b-jus-d);
  gap: var(--gap-btn-d);
}

.c-hero-providers__btn1, .c-hero-providers__btn2 {
  width: var(--al-b-w-d);
  justify-content: center;
  font-family: var(--ff-btn-d);
  font-size: var(--fs-btn-d);
  font-weight: var(--fw-btn-d);
  line-height: var(--lh-btn-d);
  padding: 16px 24px;
  border-radius: 800px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.c-hero-providers__btn1 { background-color: var(--c-b1bg); color: var(--c-b1tx); border: 1px solid var(--c-b1bo); }
.c-hero-providers__btn1:hover { background-color: var(--c-b1bgh); color: var(--c-b1txh); border-color: var(--c-b1boh); }
.c-hero-providers__btn1:focus-visible { background-color: var(--c-b1bgf); color: var(--c-b1txf); border-color: var(--c-b1bof); outline: none; }
.c-hero-providers__btn1:focus:not(:focus-visible) { outline: none; }

.c-hero-providers__btn2 { background-color: var(--c-b2bg); color: var(--c-b2tx); border: 1px solid var(--c-b2bo); }
.c-hero-providers__btn2:hover { background-color: var(--c-b2bgh); color: var(--c-b2txh); border-color: var(--c-b2boh); }
.c-hero-providers__btn2:focus-visible { background-color: var(--c-b2bgf); color: var(--c-b2txf); border-color: var(--c-b2bof); outline: none; }
.c-hero-providers__btn2:focus:not(:focus-visible) { outline: none; }


/* ================= RIGHT COL (IMAGE SLIDER) ================= */
.c-hero-providers__col-right {
  position: relative;
  z-index: 2;
  width: 100%;
  grid-column: 2;
  grid-row: 1;
}

.c-hero-providers__media-box {
  position: relative;
  width: var(--img-w-d);
  margin-left: auto;
  aspect-ratio: var(--img-r-d);
}

.c-hero-providers__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--med-rad-tl-d) var(--med-rad-tr-d) var(--med-rad-br-d) var(--med-rad-bl-d);
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  z-index: 1;
}

.c-hero-providers__slide.is-active {
  opacity: 1;
  z-index: 2;
}

/* Play Button */
.c-hero-providers__play-btn {
  position: absolute;
  bottom: -64px;
  right: 0;
  width: 48px;
  height: 48px;
  border-radius: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: var(--c-pbg);
  color: var(--c-ptx);
  border: 1px solid var(--c-pbo);
  z-index: 11;
  transition: all 0.3s ease;
}
.c-hero-providers__play-btn:hover { background-color: var(--c-pbgh); color: var(--c-ptxh); border-color: var(--c-pboh); }
.c-hero-providers__play-btn:focus-visible { background-color: var(--c-pbgf); color: var(--c-ptxf); border-color: var(--c-pbof); outline: none; }
.c-hero-providers__play-btn:focus:not(:focus-visible) { outline: none; }


/* ================= TABLET (<= 1024px) ================= */
@media (max-width: 1024px) {
  .c-hero-providers { 
    padding-top: var(--pt-o-t);
    padding-right: var(--pr-o-t);
    padding-bottom: var(--pb-o-t);
    padding-left: var(--pl-o-t);
  }
  .c-hero-providers__wrap { 
    border-radius: var(--rad-tl-t) var(--rad-tr-t) var(--rad-br-t) var(--rad-bl-t);
    box-shadow: var(--wrap-shad-t);
  }
  .c-hero-providers__max-width {
    padding-top: calc(var(--pt-i-t) + var(--is-first-offset-t));
    padding-right: var(--pr-i-t);
    padding-bottom: var(--pb-i-t);
    padding-left: var(--pl-i-t); 
    display: flex;
    flex-direction: column;
    gap: var(--gap-grid-t);
  }

  .c-hero-providers__col-right { order: 1; }
  .c-hero-providers__col-left { order: 2; width: 100%; }

  .c-hero-providers__col-left { gap: var(--gap-head-t); text-align: var(--al-txt-t); }
  .c-hero-providers__tag-wrap { justify-content: var(--al-txt-t); }
  .c-hero-providers__buttons { flex-direction: var(--al-b-dir-t); justify-content: var(--al-b-jus-t); gap: var(--gap-btn-t); }
  .c-hero-providers__btn1, .c-hero-providers__btn2 { width: var(--al-b-w-t); }

  .c-hero-providers__media-box { width: var(--img-w-t); margin: 0 auto; aspect-ratio: var(--img-r-t); }
  
  .c-hero-providers__slide { border-radius: var(--med-rad-tl-t) var(--med-rad-tr-t) var(--med-rad-br-t) var(--med-rad-bl-t); }

  .c-hero-providers__shape { 
    top: var(--sh-t-t); right: var(--sh-r-t); bottom: var(--sh-b-t); left: var(--sh-l-t);
    width: var(--sh-w-t);
  }

  .c-hero-providers__tag { font-family: var(--ff-tag-t); font-size: var(--fs-tag-t); font-weight: var(--fw-tag-t); line-height: var(--lh-tag-t); }
  .c-hero-providers__title { font-family: var(--ff-tit-t); font-size: var(--fs-tit-t); font-weight: var(--fw-tit-t); line-height: var(--lh-tit-t); }
  .c-hero-providers__desc { font-family: var(--ff-des-t); font-size: var(--fs-des-t); font-weight: var(--fw-des-t); line-height: var(--lh-des-t); }
  .c-hero-providers__btn1, .c-hero-providers__btn2 { font-family: var(--ff-btn-t); font-size: var(--fs-btn-t); font-weight: var(--fw-btn-t); line-height: var(--lh-btn-t); }
}

/* ================= MOBILE (<= 768px) ================= */
@media (max-width: 768px) {
  .c-hero-providers { 
    padding-top: var(--pt-o-m);
    padding-right: var(--pr-o-m);
    padding-bottom: var(--pb-o-m);
    padding-left: var(--pl-o-m);
  }
  .c-hero-providers__wrap { 
    border-radius: var(--rad-tl-m) var(--rad-tr-m) var(--rad-br-m) var(--rad-bl-m);
    box-shadow: var(--wrap-shad-m);
  }
  .c-hero-providers__max-width {
    padding-top: calc(var(--pt-i-m) + var(--is-first-offset-m));
    padding-right: var(--pr-i-m);
    padding-bottom: var(--pb-i-m);
    padding-left: var(--pl-i-m); 
    gap: var(--gap-grid-m);
    display: flex;
    flex-direction: column;
  }

  .c-hero-providers__col-right { order: 1; }
  .c-hero-providers__col-left { order: 2; width: 100%; }

  .c-hero-providers__col-left { gap: var(--gap-head-m); text-align: var(--al-txt-m); }
  .c-hero-providers__head { gap: 32px; }
  .c-hero-providers__tag-wrap { justify-content: var(--al-txt-m); }
  
  .c-hero-providers__buttons { flex-direction: var(--al-b-dir-m); justify-content: var(--al-b-jus-m); gap: var(--gap-btn-m); }
  .c-hero-providers__btn1, .c-hero-providers__btn2 { width: var(--al-b-w-m); font-size: var(--fs-btn-m); }

  .c-hero-providers__media-box {
    width: var(--img-w-m);
    aspect-ratio: var(--img-r-m);
  }

  .c-hero-providers__slide { border-radius: var(--med-rad-tl-m) var(--med-rad-tr-m) var(--med-rad-br-m) var(--med-rad-bl-m); }

  .c-hero-providers__shape {
    top: var(--sh-t-m); right: var(--sh-r-m); bottom: var(--sh-b-m); left: var(--sh-l-m);
    width: var(--sh-w-m);
  }

  .c-hero-providers__tag { font-family: var(--ff-tag-m); font-size: var(--fs-tag-m); font-weight: var(--fw-tag-m); line-height: var(--lh-tag-m); }
  .c-hero-providers__title { font-family: var(--ff-tit-m); font-size: var(--fs-tit-m); font-weight: var(--fw-tit-m); line-height: var(--lh-tit-m); letter-spacing: -1.5px;}
  .c-hero-providers__desc { font-family: var(--ff-des-m); font-size: var(--fs-des-m); font-weight: var(--fw-des-m); line-height: var(--lh-des-m); }
  .c-hero-providers__btn1, .c-hero-providers__btn2 { font-family: var(--ff-btn-m); font-size: var(--fs-btn-m); font-weight: var(--fw-btn-m); line-height: var(--lh-btn-m); }
}