:root {
  /* Background & Base */
  --global-bg: #FAF4EB;
  --global-text: #000000;

  /* Links */
  --link: #BC002D;              /* Japan red */
  --link-visited: #990024;      /* ~20% darker */
  --link-hover: #990024;

  /* Headings & Titles */
  --site-title: #BC002D;
  --subtitle: #BC002D;
  --h1: #BC002D;
  --h2: #BC002D;
  --h3: #BC002D;
  --h4: #BC002D;
  --h5: #BC002D;
  --h6: #BC002D;

  /* Typography Defaults */
  --body-font-family: 'Arial', sans-serif;
  --body-font-size: 1rem;
  --body-font-weight: 400;

  --site-title-font-family: 'Georgia', serif;
  --site-title-font-size: 2rem;
  --site-title-font-weight: 700;

  --subtitle-font-family: 'Georgia', serif;
  --subtitle-font-size: 1.25rem;
  --subtitle-font-weight: 400;

  --h1-font-size: 2rem;
  --h2-font-size: 1.75rem;
  --h3-font-size: 1.5rem;
  --h4-font-size: 1.25rem;
  --h5-font-size: 1.125rem;
  --h6-font-size: 1rem;
}

/* Base */
body {
  background-color: var(--global-bg);
  color: var(--global-text);
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
}

/* Headings + Titles */
.site-title, .site-title a {
  color: var(--site-title);
  font-family: var(--site-title-font-family);
  font-size: var(--site-title-font-size);
  font-weight: var(--site-title-font-weight);
}

.subtitle {
  color: var(--subtitle);
  font-family: var(--subtitle-font-family);
  font-size: var(--subtitle-font-size);
  font-weight: var(--subtitle-font-weight);
}

h1 {
  color: var(--h1);
  font-family: var(--h1-font-family);
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
}
h2 {
  color: var(--h2);
  font-family: var(--h2-font-family);
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
}
h3 {
  color: var(--h3);
  font-family: var(--h3-font-family);
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
}
h4 {
  color: var(--h4);
  font-family: var(--h4-font-family);
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
}
h5 {
  color: var(--h5);
  font-family: var(--h5-font-family);
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
}
h6 {
  color: var(--h6);
  font-family: var(--h6-font-family);
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
}

/* Links */
a {
  color: var(--link);
  font-family: var(--link-font-family);
  font-size: var(--link-font-size);
  font-weight: var(--link-font-weight);
  text-decoration: underline;
}

a:visited {
  color: var(--link-visited);
}
a:hover, a:focus {
  color: var(--link-hover);
}

/* Common Elements */
p, li, span, div, section, article {
  color: var(--global-text);
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
}

blockquote {
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  color: var(--global-text);
  border-left: 4px solid var(--link);
  padding-left: 1em;
}

button, input, select, textarea {
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  color: var(--global-text);
}

.blocks-container {
  width: 70%;
  margin: 0 auto;
}
