.rwsr {
  height: 230vh;
  min-height: 180vh;
  position: relative;
}
.rwsr-sticky {
  align-items: stretch;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
  overflow: hidden;
  padding: 60px 30px;
  position: sticky;
  top: 0;
}
.rwsr-inner {
  margin-inline: auto;
  width: 100%;
}
.rwsr-subtitle {
  margin: 0 0 30px;
}
.rwsr-text {
  --rwsr-active: #000;
  --rwsr-inactive: rgba(0, 0, 0, 0.16);
  color: var(--rwsr-active);
  font-size: clamp(34px, 4.5vw, 76px);
  font-weight: 400;
  line-height: 1.12;
  margin: 0;
}
.rwsr-accessible {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.rwsr-visual {
  display: contents;
}
.rwsr-word {
  display: inline-block;
}
.rwsr-char {
  color: var(--rwsr-inactive);
  display: inline-block;
  position: relative;
}
.rwsr-char::after {
  color: var(--rwsr-active);
  content: attr(data-char);
  inset: 0;
  opacity: var(--rwsr-reveal, 0);
  position: absolute;
}
.rwsr-space {
  white-space: pre;
}
.rwsr-break {
  display: inline;
}
.rwsr-media {
  border-radius: var(--rwsr-media-radius, 100%);
  display: inline-flex;
  height: var(--rwsr-media-size, 0.92em);
  margin-inline: 0.12em;
  opacity: var(--rwsr-media-idle, 0.2);
  overflow: hidden;
  position: relative;
  transform: scale(0.94);
  vertical-align: -0.08em;
  width: var(--rwsr-media-size, 0.92em);
}
.rwsr-media-image {
  border-radius: var(--rwsr-media-radius, 50%);
  display: block;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  width: 100% !important;
}
@media (prefers-reduced-motion: reduce) {
  .rwsr {
    height: auto !important;
    min-height: 0 !important;
  }
  .rwsr-sticky {
    height: auto !important;
    position: relative;
  }
  .rwsr-char::after,
  .rwsr-media {
    opacity: 1;
  }
  .rwsr-media {
    transform: none;
  }
}

.wp-block-richway-scroll-reveal {
  position: relative;
  background: var(--rwsr-background, #10141a);
  margin: 0 !important;
  isolation: isolate;
}
.rwsr {
  z-index: 1;
}
.rwsr-backdrop {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.rwsr-backdrop::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--rwsr-grid-color, #ffffff08) 1px, transparent 1px),
    linear-gradient(
      90deg,
      var(--rwsr-grid-color, #ffffff08) 1px,
      transparent 1px
    );
  background-size: 140px 140px;
  mask-image: radial-gradient(ellipse at center, #000, transparent 75%);
}
.rwsr-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 90% 10%,
    var(--rwsr-glow, #bbdb0055),
    transparent 55%
  );
}
.rwsr-no-grid .rwsr-backdrop::before,
.rwsr-no-glow .rwsr-backdrop::after {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .rwsr-media {
    opacity: 1 !important;
    transform: none !important;
  }
  .rwsr-text {
    color: var(--rwsr-active);
  }
}

/* Natural document flow ignores the optional sticky scroll-height controls. */
.rwsr.rwsr-flow { height: auto !important; min-height: 0; }
.rwsr.rwsr-flow .rwsr-sticky { position: relative; top: auto !important; height: auto !important; min-height: 0; }
