:root {
  --color-bg:#f7f2e7;
  --color-surface:#f3ebda;
  --color-text:#22313c;
  --color-muted:#4e7088;
  --color-accent:#1e44aa;
  --color-on-accent:#ffffff;
  --color-border:#cdd5db;
}

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

html {
  font-size:117.8%;
}

body {
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  line-height:1.55;
}

h1, h2, h3 {
  font-family:Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  font-weight:800;
  line-height:1.07;
  margin:1.58rem 0 0.59rem;
}

h1 {
  font-size:2.63rem;
}

h2 {
  font-size:1.62rem;
}

h3 {
  font-size:1.27rem;
}

p {
  margin:0 0 0.99rem;
}

a {
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--color-accent);
}

a:hover {
  border-bottom-color:currentColor;
  color:var(--color-accent);
}

img {
  max-width:100%;
  height:auto;
  display:block;
}

.site__skip-to-content {
  position:absolute;
  left:-9999px;
  top:0;
}

.site__skip-to-content:focus {
  left:0.99rem;
  top:0.99rem;
  padding:0.39rem 0.79rem;
  background:var(--color-accent);
  color:var(--color-on-accent);
  z-index:10;
}

.site__inner {
  max-width:1060px;
  margin:0 auto;
  padding:0 1.23rem;
}

.site__top {
  padding:1.48rem 0;
  border-bottom:1px solid var(--color-border);
}

.site__top .site__inner {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:0.99rem;
  flex-wrap:wrap;
}

.site__main {
  padding:1.97rem 0 2.96rem;
}

.site__name {
  font-family:Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  font-weight:700;
  font-size:1.18rem;
  text-decoration:none;
  color:inherit;
  border:0;
}

.site__menu {
  display:flex;
  gap:1.18rem;
  flex-wrap:wrap;
}

.site__item {
  text-decoration:none;
  border:0;
  color:var(--color-muted);
}

.site__item[aria-current] {
  text-decoration:underline;
  text-underline-offset:4px;
}

.site__hero {
  padding:2.96rem 0 1.97rem;
  text-align:center;
}

.site__hero-title {
  font-size:3.35rem;
  margin-top:0;
}

.site__lede {
  color:var(--color-muted);
  font-size:1.06rem;
  max-width:50ch;
  margin:0 0 0.99rem;
}

.site__hero .site__illustration {
  width:100%;
  border-radius:2px;
}

.site__btn {
  display:inline-block;
  padding:0.59rem 1.18rem;
  background:var(--color-accent);
  color:var(--color-on-accent);
  border-radius:2px;
  text-decoration:none;
  border:0;
  font-weight:600;
}

.site__region {
  margin:2.46rem 0;
}

.site__heading {
  font-size:1.62rem;
}

.site__points {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(235px, 1fr));
  gap:1.48rem;
}

.site__point {
  border:1px solid var(--color-border);
  padding:1.23rem;
  border-radius:2px;
}

.site__point h3 {
  margin-top:0;
  font-size:1.27rem;
}

.site__quote {
  font-family:Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  font-size:1.62rem;
  margin:2.96rem 0;
  padding-left:1.23rem;
  border-left:5px solid var(--color-accent);
}

.site__entries {
  list-style:none;
  padding:0;
  margin:0;
}

.site__teaser {
  padding:0.49rem 0;
}

.site__teaser ul, .site__entries ul {
  list-style:none;
  padding:0;
}

.site__post-title {
  margin:0 0 0.3rem;
  font-size:1.25rem;
}

.site__post-title a {
  color:inherit;
  text-decoration:none;
  border:0;
}

.site__details {
  color:var(--color-muted);
  font-size:0.87rem;
  margin:0 0 0.39rem;
  font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
}

.site__abstract {
  margin:0;
}

.site__year {
  font-size:1.27rem;
  color:var(--color-muted);
  margin:1.48rem 0 0.39rem;
}

.site__cards {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:1.87rem;
}

.site__panel {
  margin:0;
  border:1px solid var(--color-border);
  border-radius:2px;
  overflow:hidden;
}

.site__preview {
  width:100%;
  aspect-ratio:5 / 4;
  object-fit:cover;
}

.site__caption {
  padding:0.99rem;
}

.site__entry-content {
  max-width:732px;
}

.site__entry-content figure {
  margin:1.48rem 0;
}

.site__entry-content img {
  border-radius:2px;
  width:100%;
}

blockquote {
  margin:1.48rem 0;
  padding:0.2rem 1.18rem;
  border-left:2px solid var(--color-accent);
  color:var(--color-muted);
}

pre {
  background:var(--color-surface);
  padding:0.99rem;
  overflow-x:auto;
  border-radius:2px;
  font-size:0.88rem;
  line-height:1.5;
}

code {
  font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
}

.site__chip {
  display:inline-block;
  margin:0 0.39rem 0.39rem 0;
  padding:0.15rem 0.59rem;
  font-size:0.8rem;
  border-radius:2px;
  border:1px solid var(--color-border);
  color:var(--color-muted);
}

.site__next-prev {
  display:flex;
  justify-content:space-between;
  gap:0.99rem;
  margin:2.96rem auto 0;
  max-width:732px;
  padding-top:1.48rem;
  border-top:1px solid var(--color-border);
  font-size:0.92rem;
}

.site__bottom {
  padding:1.97rem 0;
  color:var(--color-muted);
  font-size:0.88rem;
  background:var(--color-surface);
}

.site__bottom p {
  margin:0 0 0.3rem;
}

@media (max-width: 760px) {
  .site__cards {
    grid-template-columns:1fr;
  }

  h1 {
    font-size:2.07rem;
  }

  .site__hero-title {
    font-size:2.07rem;
  }

}

