#demo {
  position: relative;

  .container {
    margin-block-start: -10vw;
  }

  .card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    inline-size: 100%;
    padding: 6rem;
    text-align: center;
    z-index: 1;

    @media screen and (max-width: 767px) {
      padding: 3rem 1rem;
    }

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 0.5rem;
      background-color: var(--primary-50);
      opacity: 0.75;
      z-index: -1;
    }

    .cta {
      --color: var(--primary-600);
      --border-color: var(--primary-500);

      margin-block-start: 0.8rem;

      &:hover {
        --color: var(--neutral-50);
        --background: var(--primary-500);
      }
    }

    .demo-eyebrow {
      color: var(--primary-800);
      letter-spacing: -0.48px;
    }

    .demo-headline {
      letter-spacing: -0.72px;

      mark {
        text-decoration: none;
        color: var(--primary-500);
        font-weight: 600;
      }
    }
  }

  .tooltip {
    position: fixed;
    top: 0;
    left: 0;
    max-width: 26rem;
    padding: 0.8rem 2rem 0.8rem 1.6rem;
    border-radius: 1.8rem;
    border-top-left-radius: 0.2rem;
    background: var(--primary-700);
    color: var(--white);
    z-index: 1;
    opacity: 0;
    visibility: hidden;

    &::before {
      content: attr(data-caption);
      color: var(--primary-700);
      opacity: 0.8;
      font-size: 1.2rem;
      font-weight: 500;
      position: fixed;
      top: calc(100% + 0.5rem);
      left: 1.6rem;
    }

    .tooltip-copy {
      color: inherit;
      opacity: 0.8;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.5;
    }
  }
}
