:root {
  --i-width: calc(8 / 28);
  --copy-font: 'IBM Plex Serif', sans-serif;
  --copy-size: 11pt;
  --link-color: var(--c-aqua);
  scroll-behavior: smooth;
  scroll-padding-top: 2rem;
}

aqua {
  color: var(--c-aqua);
}

div.ticker {
  position: fixed;
  z-index: 10;
  margin-bottom: 2rem;
  background-color: var(--r-blue);
  padding: 1rem 0;
  width: 100vw;
  text-align: center;
}

div.ticker a {
  color: var(--white);
}

div.ticker a:link {
  text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

html {
  color: var(--r-blue);
  font-family: 'Inter', sans-serif;
  overflow-wrap: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

.bg-c-aqua {
  --link-color: var(--white);
  background-color: var(--c-aqua);
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  -webkit-box-decoration-break: clone;
  display: inline;
  box-decoration-break: clone;
  background-color: var(--r-blue);
  padding: calc(var(--i-width) * 1.5ch);
  color: var(--white);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: -10;
}

h1 {
  max-width: 30ch;
  font-size: 2.3rem;
}

h1.unlimited {
  max-width: unset;
}

h2 {
  max-width: 30ch;
  font-size: 1.8rem;
}

h3 {
  max-width: 30ch;
  font-size: 1.5rem;
}

h4 {
  max-width: 30ch;
  font-size: 1.2rem;
}

.text-sans {
  --copy-font: 'Inter', sans-serif;
  --copy-size: 1rem;
}

.text-serif {
  --copy-font: 'IBM Plex Serif', sans-serif;
  --copy-size: 11pt;
}

p {
  text-wrap: balance;
  max-width: 60ch;
  font-weight: 'regular';
  font-size: var(--copy-size);
  line-height: 1.8;
  font-family: var(--copy-font);
}

p > a:link,
p > a:visited {
  text-decoration: underline;
}

a:link,
a:visited {
  color: var(--link-color);
  text-decoration: none;
}

body {
  height: 100dvh;
}

li {
  line-height: 1.8;
  font-family: var(--copy-font);
}

a:has(img) {
  display: block;
  margin: 1rem 0;
  padding: 0;
}

img,
a img {
  box-sizing: border-box;
  margin: 0;
  border: solid var(--white) 0.4rem;
  padding: 0;
  width: 100%;
}

img.border-br-blue {
  border-color: var(--r-blue);
}
