/* Hero runtime overrides moved out of index.html */
.pattern-overlay-2 {
  height: auto;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  padding-top: max(var(--anchor-offset, 88px), clamp(1.25rem, 2.2vh, 2rem)) !important;
  padding-bottom: clamp(2rem, 5vh, 3.25rem) !important;
}

.pattern-overlay-2 > .container {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex;
  align-items: center;
}

.pattern-overlay-2 > .container > .row {
  width: 100%;
}

.pattern-overlay-2 .content-hero,
.pattern-overlay-2 .container .content-hero {
  max-width: 34rem;
  height: auto;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: clamp(1rem, 2.5vh, 2rem) !important;
  padding-bottom: clamp(1rem, 2.5vh, 2rem) !important;
}

.pattern-overlay-2 .display-5 {
  font-size: clamp(2.05rem, 4.2vw, 3.5rem);
  line-height: 1.12;
}

.pattern-overlay-2 > .position-absolute.bottom-0 {
  z-index: 1;
  pointer-events: none;
}

.video-card-wrap {
  width: 100%;
  max-width: 500px;
}

.about-icon {
  font-size: 2.5rem;
}

.about-list {
  max-width: 320px;
}

/* Publications cards: keep a consistent visual height even with variable text lengths */
#publications-list .tiny-slider-inner {
  display: flex;
  align-items: stretch;
}

#publications-list .tiny-slider-inner > .item {
  display: flex;
  height: auto;
}

#publications-list .tiny-slider-inner > .item > .card {
  width: 100%;
}

#publications .card .card-body h3 {
  min-height: calc(1.25em * 3);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

#publications .card .card-body p.mb-4 {
  min-height: calc(1.6em * 3);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .pattern-overlay-2 {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    padding-top: calc(var(--anchor-offset, 84px) + clamp(0.75rem, 2.2vh, 1.25rem)) !important;
    padding-bottom: clamp(1.75rem, 4vh, 2.75rem) !important;
  }

  .pattern-overlay-2 > .container {
    min-height: calc(100dvh - var(--anchor-offset, 84px));
    align-items: center;
  }

  .pattern-overlay-2 .content-hero,
  .pattern-overlay-2 .container .content-hero {
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: clamp(0.75rem, 1.8vh, 1.25rem) !important;
    transform: translateY(clamp(0.35rem, 1.8vh, 1rem));
  }
}

@media (max-width: 575.98px) {
  .pattern-overlay-2 > .container {
    min-height: calc(100dvh - var(--anchor-offset, 76px));
  }

  .pattern-overlay-2 .display-5 {
    font-size: clamp(1.8rem, 8vw, 2.5rem);
  }
}
