html, body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FAFAF8;
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-optical-sizing: auto;
  font-size: clamp(1.75rem, 5vw, 3rem);
  color: #1A1A1A;
  text-align: center;
}

/* App pages (forms, lists, content): normal reading size, not the
   large centered hero treatment used on the marketing/home page. */
body.app {
  display: block;
  font-size: 1rem;
  text-align: left;
  padding: 2rem 1.5rem;
}

body.app > div {
  max-width: 640px;
  margin: 0 auto;
}

body.app h1 {
  font-size: 1.5rem;
}

body.app input,
body.app textarea,
body.app select,
body.app button {
  font-family: inherit;
  font-size: 1rem;
}

body.app textarea {
  width: 100%;
  box-sizing: border-box;
}

body.app summary {
  color: #0D6EFD;
  cursor: pointer;
  font-size: 0.9rem;
  width: fit-content;
}
