@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/InterVariable.woff2") format("woff2");
}
:root {
  --ink: #2b2a2e;
  --grey: #6a6870;
  --accent: #3275d6;
  --bg: #f6f5f3;
}
html {
  font-family:
    InterVariable,
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    Open Sans,
    Helvetica Neue,
    sans-serif;
}
a,
body,
h1,
h2,
h3,
p {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-size: 17px;
  line-height: 1.6em;
  color: var(--ink);
}
body {
  padding-top: 8vw;
  padding-left: 8vw;
  padding-right: 8vw;
  padding-bottom: 16vw;
  margin: 0;
  background-color: var(--bg);
}
h1,
h2 {
  margin: 0;
}
h1 {
  font-weight: 450;
}
li,
ul {
  list-style-type: none;
  padding: 0;
  margin-bottom: 0.8em;
}
a {
  text-decoration: none;
  color: var(--ink);
  transition: color 0.1s;
}
p a {
  border-bottom: 1px solid var(--grey);
  padding-bottom: 1px;
}
a:active,
a:hover {
  color: var(--accent);
  border-color: var(--accent);
}
.ne-arrow {
  display: inline-block;
  opacity: 0;
  font-size: 16px;
  transform: translate(-0.2em, 0.2em);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}
.links li:hover .ne-arrow {
  opacity: 0.75;
  transform: translate(0, 0);
}
.links small {
  font-size: 14px;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.links li:hover small {
  opacity: 1;
}
.columns {
  display: flex;
  flex-wrap: wrap;
  gap: 15vw;
  margin-top: 1.5em;
}
.content {
  max-width: 56ch;
}
.experience {
  margin-top: 8em;
  clear: both;
}
.experience-title {
  margin: 0 0 1.6em;
  font-size: 14px;
  font-weight: 450;
  color: var(--ink);
}
.role {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 2.5em;
  max-width: 60ch;
  margin-bottom: 1.6em;
}
.role-period {
  font-size: 14px;
  font-weight: 450;
  color: var(--grey);
  /* equal-width digits so the hyphen and end year line up
     vertically across every row */
  font-variant-numeric: tabular-nums;
}
.role-title {
  margin: 0;
}
.role-place {
  margin: 0.1em 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--grey);
}
.role:hover .ne-arrow {
  opacity: 0.75;
  transform: translate(0, 0);
}
@media (max-width: 600px) {
  .role {
    grid-template-columns: 1fr;
    gap: 0.2em;
  }
}
@media (prefers-reduced-motion: reduce) {
  a,
  .ne-arrow,
  .links small {
    transition: none;
  }
  .ne-arrow {
    transform: none;
  }
}
