/* Global preferences */

*,
::before,
::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion:no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}



/* Styles */

body {
  color: var(--offblack);
  font: normal normal 112.5%/1.333 proxima, Helvetica, Arial, sans-serif;
  font-variant-numeric: oldstyle-nums;
  inline-size: 100%;
  margin: 0 auto;
  max-inline-size: 48rem;
  padding: 16px;
}

@media all and (min-width: 30rem) {
  body {
    padding: 3rem;
  }
}

main {
  border-bottom: 1px dotted var(--gray-support-color);
  padding-block-end: 1.3333rem;
}

p {
  margin: 0;
}

p + p {
  margin-block-start: .6667rem;
}

h1,
h2,
h3 {
  hyphens: auto;
  word-break: break-word;
}

h1 {
  border-block-end: 1px dotted var(--gray-support-color-light);
  font-size: 1.6667rem;
  margin: 0;
  padding: 0 0 .6667rem;
  font-weight: normal;
}

h1 + p {
  margin-block-start: 1.1667rem;
}

h2 {
  font-family: proxima-sc-condensed, proxima, Helvetica, Arial, sans-serif;
  font-size: 1.3333rem;
  margin: 2.3333rem 0 .6667rem;
  text-transform: lowercase;
}

h3 {
  font-size: 1.1667rem;
  margin: 1.1667rem 0 0;
}

h2 + h3 {
  margin-block-start: .6667rem;
}

@media all and (min-width: 18rem) {
  h1 {
    font-size: 3.6667rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.3333rem;
  }
}

.table-container {
  margin-block-end: 1.6667rem;
  overflow-x: auto;
}

h3 + .table-container {
  margin-block-start: .3333rem;
}

table,
tr,
th,
td {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  text-align: start;
}

table:has(thead) {
  inline-size: 100%;
}

th[scope="row"] {
  min-inline-size: 9rem;
}

td,
th {
  border-block-end: 1px dotted var(--gray-support-color-light);
  padding: .1667rem .3333rem;
  vertical-align: top;
}

th {
  border-block-end-style: solid;
}

td:first-child,
th:first-child {
  padding-inline-start: 0;
}

td:last-child,
th:last-child {
  padding-inline-end: 0;
}

.column-numeric {
  text-align: end;
}

ul {
  margin: .6667rem 0 .6667rem 1rem;
  padding: 0;
}

li::marker {
  color: var(--gray-support-color-light);
}

a:link {
  color: var(--blue-support-color);
}

a:visited {
  color: var(--purple-support-color);
}

a:hover {
  color: var(--red-support-color);
}

a:active {
  color: var(--red-contrast-color);
}

.small-caps {
  text-transform: lowercase;
  font-variant: small-caps oldstyle-nums;
}
