:root {
  color-scheme: light;
  background: #ff5838;
  color: #16110f;
}

.poster {
  --pointer-x: 50%;
  --pointer-y: 50%;
  position: relative;
  min-height: 100svh;
  display: grid;
  align-content: center;
  padding: clamp(6rem, 10vw, 9rem) max(1.25rem, calc((100% - 76rem) / 2));
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(22, 17, 15, 0.16) 50%, transparent 50.2%),
    #ff5838;
}

.poster::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 1rem;
  border: 2px solid currentColor;
  pointer-events: none;
}

.poster__issue,
.poster__caption {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: clamp(0.7rem, 1.5vw, 0.9rem);
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.poster__issue {
  margin-bottom: 2rem;
}

.poster__caption {
  justify-self: end;
  margin-top: 2rem;
}

h1 {
  position: relative;
  z-index: 1;
  max-width: 9ch;
  margin: 0;
  font-size: clamp(4.8rem, 15vw, 13rem);
  font-weight: 950;
  line-height: 0.72;
  letter-spacing: -0.095em;
  text-transform: uppercase;
}

h1 .a11y-text-split__letter {
  display: inline-block;
  transform:
    translate(
      calc((var(--pointer-rx, 0) - 0.5) * (var(--a11y-text-split-letter-index) - 8) * 0.025em),
      calc((var(--pointer-ry, 0) - 0.5) * (var(--a11y-text-split-letter-index) - 8) * 0.02em)
    )
    rotate(calc((var(--a11y-text-split-letter-index) - 8) * var(--pointer-rx, 0) * 0.4deg));
  will-change: transform;
}

h1 .a11y-text-split__letter:nth-child(3n) {
  color: #fff6dc;
}

.poster__orb {
  position: absolute;
  z-index: -1;
  left: var(--pointer-x);
  top: var(--pointer-y);
  width: clamp(12rem, 28vw, 24rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #c7ff4b;
  transform: translate(-50%, -50%);
  will-change: left, top;
}

.recipe {
  background: #fff6dc;
}

@media (max-width: 42rem) {
  h1 {
    font-size: clamp(4.2rem, 22vw, 7rem);
    line-height: 0.77;
  }
}
