/* Cross-browser fallbacks. Modern declarations in later files override these when supported. */
.skip-link {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 10000;
  padding: 10px 14px;
  border-radius: 8px;
  background: #2f3e4d;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 0.2s ease;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  color: #fff;
  outline: 2px solid #9ec5ea;
  outline-offset: 3px;
}
.navbar-container,
.page-shell,
.section-table {
  width: 100%;
}
.navbar-container {
  max-width: 1100px;
}
.experience-logo-card,
.publication-entry .entry-visual,
.thesis-entry .entry-visual.is-teaser,
.project-entry .entry-visual,
.project-showcase-media,
.profile-portrait {
  min-height: 1px;
}
.project-showcase-media,
.results-carousel img,
.results-carousel video {
  height: auto;
}
.profile-portrait {
  height: 260px;
}
a:focus,
button:focus,
.gallery-tab-button:focus,
.blog-card-link:focus {
  outline: 2px solid #2a6fbb;
  outline-offset: 3px;
}
