:root {
  /* Most visual adjustments can be made here. */
  --page-width: 1080px;
  --figure-width: 1000px;
  --title-size: 84px;
  --subtitle-size: 34px;
  --body-size: 18px;
  --section-gap: 76px;
  --link-color: #172234;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #242424; background: #fff; font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
.page { width: min(var(--page-width), calc(100% - 40px)); margin-inline: auto; }

.hero { padding: 88px 0 56px; text-align: center; }
h1 { margin: 0; font-size: clamp(56px, 8vw, var(--title-size)); line-height: 1; letter-spacing: -.055em; }
.subtitle { max-width: 1000px; margin: 22px auto 0; font: var(--subtitle-size)/1.2 Georgia, "Times New Roman", serif; }
.authors { margin: 27px 0 0; color: var(--link-color); font-size: 22px; line-height: 1.7; }
.authors a { text-decoration: underline; text-underline-offset: 3px; }
sup { font-size: .65em; }
.affiliations { margin: 3px 0 0; color: #666; font-size: 22px; line-height: 1.5; }
.links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.links a { padding: 11px 18px; border-radius: 22px; background: #363636; color: #fff; font-size: 20px; font-weight: 700; }
.links a:hover { background: #111; }

section { padding-top: var(--section-gap); }
h2 { margin: 0; text-align: center; font: 700 34px/1.2 Georgia, "Times New Roman", serif; }
.abstract { max-width: 1000px; padding-top: 42px; }
.abstract p { margin: 18px 0 0; font: var(--body-size)/1.65 Georgia, "Times New Roman", serif; text-align: justify; }
.description { max-width: 1000px; margin: 14px auto 0; color: #5d5d5d; font: 17px/1.5 Georgia, "Times New Roman", serif; text-align: center; }

figure {
  width: min(var(--figure-width), 100%);
  margin: 30px auto 0;
  display: flex;
  justify-content: center;
}
figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.bibtex { padding-bottom: 70px; }
pre { margin: 20px 0 0; padding: 22px; overflow: auto; border-radius: 5px; background: #f5f5f5; font: 13px/1.65 "SFMono-Regular", Consolas, monospace; white-space: pre-wrap; }
footer { margin-top: 0; padding: 25px 0 40px; border-top: 1px solid #e8e8e8; color: #999; font-size: 12px; text-align: center; }

@media (max-width: 720px) {
  :root {
    --subtitle-size: 25px;
    --body-size: 16px;
    --section-gap: 56px;
  }
  .hero { padding-top: 62px; }
  .authors { font-size: 15px; }
  .abstract p { text-align: left; }
  h2 { font-size: 29px; }
  figure { width: 100%; }
  figure img { width: 100%; max-width: 100%; }
}
