html {
  --base-font-size: 21px;
  --base-line-height: 1.2;
  --base-scale-factor: 1.618;
  --base-units: px;
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
}
body {
  font-family: sans-serif;
  font-size: 0sx;
  line-height: auto;
  max-width: 560px;
  margin: auto;
}
h1 {
  font-size: 3sx;
  line-height: auto;
  margin-top: 1gr;
  margin-bottom: 2gr;
}
p, ul, ol, pre , table, blockquote {
  margin-top: 0gr;
  margin-bottom: 1gr;
}
ul ul, ol ol, ul ol, ol ul {
  margin-top: 0gr;
  margin-bottom: 0gr;
}

@media (max-width: 500px) {
  html {
    --base-font-size: 15px;
    --base-line-height: 1.32;
    --base-scale-factor: 1.333;
    --base-units: px;
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
  }
  body {
    font-size: 0sx;
    line-height: auto;
    max-width: 320px;
  }
  h1 {
    font-size: 3sx;
    line-height: auto;
    margin-top: 1gr;
    margin-bottom: 2gr;
  }
}


/* Clean up any elements that might throw off the grid */
hr {
  border: 1px solid;
  margin: -1px 0;
}
a, b, i, strong, em, small, code {
  line-height: 0;
}
sub, sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
