/* Design TLC Background Video – Frontend Styles
-------------------------------------------------- */
.dtlc-hero {
  position: relative;
  overflow: hidden;
}

/*
 * Fix: mega menu rendering behind the hero video.
 * The site's "sitewide-scroll-reveal" animation applies a CSS transform to
 * the header row. Any transform on an ancestor turns position:fixed
 * descendants into pseudo-absolute elements confined to that ancestor's own
 * stacking context, so the Max Mega Menu's fixed, max z-index panel gets
 * trapped inside the header row instead of competing at the page level -
 * and the hero row (which paints after the header in DOM order) covers it.
 * The header never needs a scroll-reveal transform, so neutralize it here.
 */
header .sitewide-scroll-reveal {
  transform: none !important;
}

.dtlc-hero__video,
.dtlc-hero__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.dtlc-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.dtlc-hero__content {
  position: relative;
  z-index: 3;
  display: grid;
  min-height: inherit;
  padding: 2rem;
}

.dtlc-hero__content > * + * {
  margin-top: 1rem;
}

/* Heading */
.dtlc-hero__heading {
  color: #fff;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 1.1;
  margin: 0;
}

/* Animated heading */
.dtlc-hero__heading--animated .dtlc-hero__char {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  animation: dtlc-fadeUp 0.5s ease forwards;
}

@keyframes dtlc-fadeUp {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Screen-reader text */
.screen-reader-text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Alignment helpers */
.dtlc-align-left {
  justify-items: start;
  text-align: left;
}

.dtlc-align-center {
  justify-items: center;
  text-align: center;
}

.dtlc-align-right {
  justify-items: end;
  text-align: right;
}