body {
  margin: 0;
  padding: 0;

  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);

  color: var(--c-text);

  background-color: var(--c-bg);
  background-image:
    radial-gradient(
      1100px 520px at 18% -140px,
      color-mix(in srgb, var(--c-primary) 14%, transparent),
      transparent 62%
    ),
    radial-gradient(
      980px 520px at 82% -160px,
      color-mix(in srgb, var(--c-primary-2) 10%, transparent),
      transparent 64%
    ),
    radial-gradient(
      820px 520px at 50% 120%,
      color-mix(in srgb, var(--c-primary) 8%, transparent),
      transparent 68%
    );

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--space-20);
  padding-right: var(--space-20);
}

.overflow-hidden {
  overflow: hidden;
}

.container-margin {
  margin-top: var(--space-40);
  margin-bottom: var(--space-40);
  padding-top: var(--space-20);
  padding-bottom: var(--space-20);
}

@media (max-width: 768px) {
  .container {
    padding-left: var(--space-16);
    padding-right: var(--space-16);
  }

  .container-margin {
    margin-top: var(--space-32);
    margin-bottom: var(--space-32);
    padding-top: var(--space-16);
    padding-bottom: var(--space-16);
  }
}
