:root {
  --fg: #000000;
  --bg: goldenrod;
  --link: #0000EE;
  --link-visited: #551A8B;
  --rule: green;
  --max-width: 760px;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  background-color: var(--bg);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><circle cx='12' cy='18' r='3' fill='purple'/><circle cx='42' cy='46' r='2.5' fill='pink'/><circle cx='70' cy='12' r='3.5' fill='turquoise'/><circle cx='104' cy='34' r='3' fill='orange'/><circle cx='24' cy='80' r='2.5' fill='turquoise'/><circle cx='62' cy='98' r='3' fill='pink'/><circle cx='92' cy='74' r='3.5' fill='purple'/><circle cx='124' cy='110' r='2.5' fill='orange'/><circle cx='18' cy='122' r='3' fill='orange'/><circle cx='52' cy='64' r='2.5' fill='purple'/><circle cx='86' cy='126' r='3' fill='turquoise'/><circle cx='118' cy='16' r='2.5' fill='pink'/><circle cx='134' cy='62' r='3' fill='pink'/><circle cx='6' cy='50' r='2.5' fill='orange'/></svg>");
  background-repeat: repeat;
  color: var(--fg);
  font-family: "Courier New", Courier, ui-monospace, monospace;
  font-size: 16px;
  line-height: 1.5;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 40px 20px 80px;
}

a {
  color: var(--link);
  text-decoration: underline;
}

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

a:hover {
  color: var(--fg);
}

hr {
  border: none;
  height: 12px;
  margin: 32px 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'><polyline points='0,12 6,0 12,12 18,0 24,12' fill='none' stroke='green' stroke-width='2'/></svg>");
  background-repeat: repeat-x;
  background-size: 24px 12px;
}

.site-header {
  margin-bottom: 8px;
}

.eyebrow {
  font-size: 13px;
  letter-spacing: 0.1em;
  margin: 0 0 12px;
}

.big-title {
  font-family: "Arial Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: clamp(48px, 12vw, 96px);
  line-height: 0.95;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}

.tagline {
  font-size: 16px;
  margin: 0 0 28px;
}

.toc-label {
  font-family: "Arial Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 10px;
}

.toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: toc-counter;
}

.toc li {
  counter-increment: toc-counter;
  margin-bottom: 6px;
}

.toc li::before {
  content: counter(toc-counter) ". ";
  font-weight: bold;
}

.toc a {
  font-weight: bold;
}

section h2 {
  font-family: "Arial Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: clamp(28px, 6vw, 40px);
  margin: 0 0 20px;
}

section p {
  margin: 0 0 16px;
}

.social-list {
  list-style: none;
  margin: 16px 0;
  padding: 0;
}

.social-list li {
  margin-bottom: 8px;
}

.social-list a {
  font-weight: bold;
}

.cv-download {
  margin-top: 28px;
}

.cv-download a {
  display: inline-block;
  font-weight: bold;
  font-size: 17px;
  border: 2px solid var(--fg);
  padding: 10px 16px;
  text-decoration: none;
}

.cv-download a:hover {
  background: var(--fg);
  color: var(--bg);
}

footer {
  font-size: 13px;
}
