.masked-heading {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  text-wrap: balance;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
  /* Do not use overflow:hidden here, with ScrollSmoother it draws
     hard horizontal hairlines at the top/bottom of the type block */
  isolation: isolate;
}

.masked-heading__measure {
  color: transparent;
  -webkit-text-fill-color: transparent;
  opacity: 0;
  user-select: none;
  pointer-events: none;
  caret-color: transparent;
}

.masked-heading__word {
  display: inline-block;
  white-space: pre;
}

.masked-heading__word:not(:last-child)::after {
  content: ' ';
}

.masked-heading__baseline {
  display: inline-block;
  width: 0;
  height: 0;
}

.masked-heading__defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.masked-heading__defs text {
  fill: #ffffff;
  stroke: none;
}

.masked-heading__reveal {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  clip-path: none;
}

.masked-heading__clip {
  position: absolute;
  inset: 0;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.masked-heading__media {
  position: absolute;
  inset: 0;
  display: block;
  will-change: transform, filter;
}

.masked-heading__source {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
