body {
  font-family: 'Noto Sans', sans-serif;
}

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 2rem; }
.publication-title { line-height: 1.15; letter-spacing: -0.025em; }
.publication-author-info { margin: 1.5rem auto; }
.publication-author-info .publication-authors { line-height: 1.9; }
.publication-author-info .author-block { white-space: nowrap; }
.publication-affiliations { margin-top: 1rem; color: #555; font-size: 0.9rem; line-height: 1.65; }
.publication-author-notes { margin-top: 0.75rem; color: #666; font-size: 0.85rem; }
.publication-links, .section-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem; }
.publication-links .button { height: auto; min-height: 2.6rem; padding: 0.65rem 1.2rem; }
.publication-links .button[disabled] { opacity: 0.55; cursor: default; }
.section-links { margin-top: 1.5rem; gap: 0.6rem 1.4rem; }
.section-links a { color: #3273dc; }
.section-links a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible { outline: 3px solid #3273dc; outline-offset: 4px; }
.abstract-section { background: #f5f5f5; }
.gate-section { background: #f5f5f5; }
.gate-intro { line-height: 1.75; margin-bottom: 2rem; }
.gate-figure { margin: 0 0 1.5rem; padding: 0.75rem; background: #fff; border: 1px solid #e5e5e5; border-radius: 6px; }
.gate-figure a { display: block; }
.gate-figure a:hover { opacity: 0.9; }
.gate-figure img { display: block; width: 100%; height: auto; }
.gate-figure figcaption { margin-top: 0.75rem; color: #555; font-size: 0.85rem; line-height: 1.6; text-align: center; }
.abstract-section .content { max-width: 52rem; margin: auto; line-height: 1.8; }
.method-figure { display: block; height: auto; margin: auto; }
.overview-figure { width: 100%; }
.inference-figure { width: 65%; }
.content figcaption { line-height: 1.65; color: #555; }
.footer { margin-top: 2rem; padding: 2.5rem 1.5rem; }
@media screen and (max-width: 768px) {
  .hero-body { padding: 2.5rem 1.25rem; }
  .publication-title.title.is-1 { font-size: 2rem; }
  .publication-affiliations { font-size: 0.8rem; }
  .inference-figure { width: 85%; }
  .content figure { margin-left: 0; margin-right: 0; }
  .abstract-section .has-text-justified { text-align: left !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


.footer .icon-link {
    font-size: 25px;
    color: #000;
}

.link-block a {
    margin-top: 5px;
    margin-bottom: 5px;
}

.dnerf {
  font-variant: small-caps;
}


.teaser .hero-body {
  padding-top: 0;
  padding-bottom: 3rem;
}

.teaser {
  font-family: 'Google Sans', sans-serif;
}


.publication-title {
}

.publication-banner {
  max-height: parent;

}

.publication-banner video {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  object-fit: fit;
}

.publication-header .hero-body {
}

.publication-title {
    font-family: 'Google Sans', sans-serif;
}

.publication-authors {
    font-family: 'Google Sans', sans-serif;
}

.publication-venue {
    color: #555;
    width: fit-content;
    font-weight: bold;
}

.publication-awards {
    color: #ff3860;
    width: fit-content;
    font-weight: bolder;
}

.publication-authors {
}

.publication-authors a {
   color: hsl(204, 86%, 53%) !important;
}

.publication-authors a:hover {
    text-decoration: underline;
}

.author-block {
  display: inline-block;
}

.publication-banner img {
}

.publication-authors {
  /*color: #4286f4;*/
}

.publication-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;

    overflow: hidden;
    border-radius: 10px !important;
}

.publication-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.publication-body img {
}

.results-carousel {
  overflow: hidden;
}

.results-carousel .item {
  margin: 5px;
  overflow: hidden;
  border: 1px solid #bbb;
  border-radius: 10px;
  padding: 0;
  font-size: 0;
}

.results-carousel video {
  margin: 0;
}


.interpolation-panel {
  background: #f5f5f5;
  border-radius: 10px;
}

.interpolation-panel .interpolation-image {
  width: 100%;
  border-radius: 5px;
}

.interpolation-video-column {
}

.interpolation-panel .slider {
  margin: 0 !important;
}

.interpolation-panel .slider {
  margin: 0 !important;
}

#interpolation-image-wrapper {
  width: 100%;
}
#interpolation-image-wrapper img {
  border-radius: 5px;
}
