html {
  scroll-behavior: smooth;
  background:
    radial-gradient(circle at top left, rgba(201, 169, 110, 0.18), transparent 32%),
    radial-gradient(circle at top right, rgba(237, 217, 176, 0.3), transparent 25%),
    linear-gradient(180deg, var(--color-ivory) 0%, #fbf7f1 100%);
  color: var(--color-text-primary);
  font-family: var(--font-body);
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--color-text-primary);
  font-family: var(--font-body);
  background: transparent;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  background-image:
    linear-gradient(rgba(26, 26, 26, 0.7) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 26, 26, 0.7) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 85%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

::selection {
  background: rgba(201, 169, 110, 0.26);
}

main {
  display: block;
}
