.wff {
  position: relative;
  background: var(--paper);
  overflow: hidden;
}

.wff::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../../img/hero-paper-texture.webp") center / cover no-repeat;
  pointer-events: none;
  filter: var(--paper-texture-filter);
  mix-blend-mode: var(--paper-texture-blend-mode);
  opacity: calc(var(--paper-texture-opacity) * 0.72);
}

.wff > * {
  position: relative;
  z-index: 1;
}

.wff__shell {
  width: min(calc(100% - 3.5rem), 94rem);
  margin-inline: auto;
  padding-block: var(--space-fluid-xl);
}

.wff__content {
  position: relative;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.wff__heading-row {
  justify-content: center;
  text-align: center;
  width: 100%;
}

.wff__heading {
  max-width: none;
  color: var(--red);
  font-size: var(--text-fluid-display);
  text-align: left;
}

@media (min-width: 48rem) {
  .demand-index__groups {
    justify-content: center;
    gap: 2.5rem;
    width: min(100%, 60rem);
    margin-inline: auto;
  }
}

@media (min-width: 90rem) {
  .wff__shell {
    width: min(calc(100% - 5rem), 96rem);
    padding-block: clamp(1.5rem, 2.5vw, 2.5rem);
  }

  .wff__content {
    margin-inline: auto;
    padding: var(--space-fluid-md) clamp(2rem, 3vw, 3rem) var(--space-fluid-md) clamp(1.5rem, 2.5vw, 2.25rem);
  }
}

@media (max-width: 47.999rem) {
  .demand-index__groups {
    gap: 2rem;
  }
}
