.sab-vidy-shou {
  width: 100%;
  max-width: 100%;
  padding: var(--sab-vidy-pt, 134rem) 0 var(--sab-vidy-pb, 80rem);
  background: #fff;
  color: #4a4a5a;
  font-family: "Gilroy", Arial, sans-serif;
}

.sab-vidy-shou,
.sab-vidy-shou *,
.sab-vidy-shou *::before,
.sab-vidy-shou *::after { box-sizing: border-box; }

.sab-vidy-shou__inner {
  width: min(calc(100% - 64rem), 1580rem);
  margin-inline: auto;
}

.sab-vidy-shou__head { max-width: 1500rem; }

.sab-vidy-shou__title {
  width: 100%;
  max-width: 100%;
  margin: 0;
  font: inherit;
  font-size: var(--sab-vidy-title-size, 54rem);
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: -0.015em;
}

.sab-vidy-shou__subtitle {
  max-width: 1300rem;
  margin: 20rem 0 0;
  font-size: 36rem;
  font-weight: 300;
  line-height: 1.38;
}

.sab-vidy-shou__tabs {
  display: grid;
  grid-template-columns: 422rem minmax(0, 1fr);
  gap: 10rem;
  margin-top: 42rem;
  min-width: 0;
}

.sab-vidy-shou__tablist {
  display: flex;
  flex-direction: column;
  gap: 11rem;
  min-width: 0;
}

.sab-vidy-shou__tab {
  position: relative;
  width: 100%;
  height: 62.4rem;
  min-height: 62.4rem;
  margin: 0;
  padding: 6rem 30rem !important;
  border: 1rem solid #e7e9ee;
  border-radius: 12rem;
  background: #fff;
  color: #4a4a5a;
  font: inherit;
  font-size: 17rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.sab-vidy-shou__tab:hover {
  border-color: #d9dce3;
  background: #fcfcfd;
}

.sab-vidy-shou__tab.is-active {
  border-color: rgba(244, 65, 69, .46);
  background: #fff7f7;
  box-shadow: inset 3rem 0 0 #f44145;
  color: #f44145;
}

.sab-vidy-shou__tab:focus-visible {
  outline: 3rem solid rgba(244, 65, 69, 0.2);
  outline-offset: 3rem;
}

.sab-vidy-shou__panel {
  position: relative;
  min-width: 0;
  min-height: 660rem;
  padding: 0 0 48rem 48rem;
  transition: opacity .12s ease, transform .12s ease;
}

.sab-vidy-shou__panel.is-changing {
  opacity: .55;
  transform: translateY(3rem);
}

.sab-vidy-shou__media {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 154rem);
  height: 100%;
  overflow: hidden;
  border-radius: 20rem;
  background: linear-gradient(135deg, #151a4e, #081431 65%, #12154f);
}

.sab-vidy-shou__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sab-vidy-shou__copy {
  position: absolute;
  z-index: 2;
  left: 48rem;
  bottom: 48rem;
  width: 447rem;
  max-width: calc(100% - 96rem);
  padding: 34rem 16rem 16rem;
  border-radius: 20rem;
  background: #fff;
  box-shadow: 0 18rem 42rem rgba(20, 24, 38, 0.08);
}

.sab-vidy-shou__copy h3 {
  margin: 0;
  color: #4a4a5a;
  font-size: 16.1rem;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sab-vidy-shou__copy p {
  margin: 12rem 0 0;
  color: #4a4a5a;
  font-size: 13.84rem;
  font-weight: 400;
  line-height: 1.445;
  white-space: pre-line;
}


.sab-vidy-shou__play {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62rem;
  height: 62rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f44145;
  color: #fff;
  cursor: pointer;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 0 rgba(244,65,69,.6), 0 10rem 25rem rgba(0,0,0,.58);
  isolation: isolate;
  animation: sab-play-pulse-main 3s infinite;
}
.sab-vidy-shou__play[hidden] { display: none; }
.sab-vidy-shou__play > img { position:relative; z-index:1; display:block; width:13rem; height:14rem; margin-left:3rem; }
.sab-vidy-shou__play::before,
.sab-vidy-shou__play::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(244,65,69,.6);
  animation: sab-play-pulse-wave 3s infinite;
  pointer-events: none;
}
.sab-vidy-shou__play::after { animation-delay: .3s; }
.sab-vidy-shou__play::before { animation-delay: .9s; }
.sab-vidy-modal {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 54rem;
  background: rgba(7,2,14,.91);
}
.sab-vidy-modal.is-open { display: flex; }
.sab-vidy-modal__stage { position: relative; width: min(1120rem, calc(100vw - 108rem)); }
.sab-vidy-modal__media { width: 100%; aspect-ratio: 16/9; background: #000; }
.sab-vidy-modal__media iframe,
.sab-vidy-modal__media video { display:block;width:100%;height:100%;border:0;object-fit:contain; }
.sab-vidy-modal__close {
  position: absolute;
  top: -48rem;
  right: 0;
  width: 38rem;
  height: 38rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 34rem;
  line-height: 1;
  cursor: pointer;
}
html.sab-vidy-modal-open,
html.sab-vidy-modal-open body { overflow: hidden; }

/* Tablet deliberately keeps the desktop composition, matching the rest of the site. */
@media (max-width: 767px) {
  .sab-vidy-shou {
    padding-top: var(--sab-vidy-pt-m, 27rem);
    padding-bottom: var(--sab-vidy-pb-m, 23rem);
  }

  .sab-vidy-shou__inner {
    width: calc(100% - 39rem);
  }

  .sab-vidy-shou__head { max-width: 100%; }

  .sab-vidy-shou__title {
    max-width: 336rem;
    font-size: var(--sab-vidy-title-size-m, 30rem);
    line-height: 1.323;
    letter-spacing: 0;
  }

  .sab-vidy-shou__subtitle {
    max-width: 351rem;
    margin-top: 20rem;
    font-size: 16.6rem;
    line-height: 1.375;
  }

  .sab-vidy-shou__tabs {
    display: block;
    margin-top: 20rem;
  }

  .sab-vidy-shou__tablist {
    flex-direction: row;
    gap: 10rem;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2rem;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }

  .sab-vidy-shou__tablist::-webkit-scrollbar { display: none; }

  .sab-vidy-shou__tab {
    flex: 0 0 188rem;
    width: 188rem;
    min-height: 50rem !important;
    height: auto;
    max-width: 188rem;
    padding: 8rem 12rem 8rem 20rem;
    font-size: 13rem;
    line-height: 1.15;
    scroll-snap-align: start;
  }

  .sab-vidy-shou__panel {
    min-height: 0;
    margin-top: 18rem;
    padding: 0;
  }

  .sab-vidy-shou__media {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 312 / 175.5;
    border-radius: 10rem;
  }

  .sab-vidy-shou__copy {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 17rem 0 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .sab-vidy-shou__copy h3,
  .sab-vidy-shou__copy p {
    padding-left: 0;
    padding-right: 0;
  }

  .sab-vidy-shou__copy h3 {
    font-size: 17.6rem;
    line-height: 1.19;
    letter-spacing: .08em;
  }

  .sab-vidy-shou__copy p {
    margin-top: 8rem;
    padding-bottom: 4rem;
    font-size: 13.7rem;
    line-height: 1.445;
  }
}
.sab-vidy-shou__title span { color: #f44145; }

