.cta {
  --background: var(--background-color);
  color: contrast-color(var(--background));
  margin-block: var(--section-margin) 0;
  padding-block-end: calc(var(--section-margin) + 2vw);

  background-image:
    var(--cta-halftone, none),
    radial-gradient(ellipse farthest-side at bottom,
      hsl(from var(--key-color) h calc(s - 20) calc(l + 10) / 0.65),
      transparent 75%
    ),
    linear-gradient(to top,
      transparent 5px,
      var(--key-color) 5px,
      var(--key-color) 6px,
      transparent 6px
    ),
    var(--cta-background, none);
    
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain, auto, auto, contain;

  border-block-end: 2px solid white;
}

.cta .contents {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--gap);
}

.cta-cards {
  gap: 0;
  background-color: hsl(from var(--background-color) h s calc(l + 15));
  border-radius: var(--border-radius);
  overflow: hidden;

  background-image:
    radial-gradient(circle at top,
      hsl(from var(--key-color) h s l / 0.65),
      transparent 75%
    ),
    radial-gradient(circle at bottom,
      hsl(from var(--background-color) h s l / 0.65),
      transparent 75%
    ),
    linear-gradient(to top,
      transparent 5px,
      var(--key-color) 5px,
      var(--key-color) 6px,
      transparent 6px
    ),
    linear-gradient(to bottom,
      transparent 5px,
      var(--key-color) 5px,
      var(--key-color) 6px,
      transparent 6px
    );

  filter: drop-shadow(0 3px 3px hsl(from var(--background-color) h s l / 0.75));
}

@media (width <= 900px) {
  .cta .contents {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 2.5rem;
  }
  .cta-cards {
    grid-column: span 2;
  }
  .cta-cards:nth-child(3) {
    grid-column: 2 / span 2;
  }
}

@media (width <= 600px) {
  .cta-cards {
    grid-column: span 4;
  }
  .cta-cards:nth-child(3) {
    grid-column: 1/-1;
  }
}

.cta .live {
  display: flex;
  justify-content: center;
  margin-block-start: 2.5rem;
}

#get-drafted,
#loggedin {
  font-size: clamp(1.750rem, calc(1.409rem + 0.909vw), 2.500rem);
}

.cta .contents figcaption {
  padding: clamp(1.000rem, calc(0.943rem + 0.152vw), 1.125rem);
  padding-block-start: 0;
  flex: 1 1 auto;

  h3 {
    text-transform: uppercase;
    font-size: clamp(1.750rem, calc(1.409rem + 0.909vw), 2.500rem);
    font-family: 'Anton', 'Impact', sans-serif;
    font-weight: 400;
    line-height: 1;
    filter: drop-shadow(0 0 10px var(--key-color));
    margin-block-end: 0.25em;
  }

   p {
    font-size: clamp(1.000rem, calc(0.943rem + 0.152vw), 1.125rem);
    text-wrap: balance;
  }
}