.hero {
  background: linear-gradient(
    180deg,
    #fffdf7 0%,
    #fff8e8 52%,
    #f8f9f4 78%,
    #f3f8fb 100%
  );
  padding-top: .15rem;
  padding-bottom: 0;
}

.themes-section {
  padding-top: 1.75rem;
  padding-bottom: 2rem;
  background: #f3f8fb;
}

.section h2 {
  font-size: clamp(1.26rem, 2.4vw, 2.01rem);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.hero h1 {
  color: var(--navy);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
}

.hero-welcome {
  margin: 0 0 .55rem;
  color: var(--navy);
  font-size: clamp(1.3rem, 2vw, 1.5rem);
  font-weight: 700 !important;
}

.hero .lead {
  max-width: 610px;
  color: #334e68;
}

.hero .lead a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: .16em;
}

.hero-wordcloud {
  margin: -1.6rem 0 0;
}

.hero-wordcloud img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.hero-art {
  margin-top: -5.5rem;
  margin-bottom: -2.25rem;
}

.hero-art img {
  mix-blend-mode: multiply;
}

.theme-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 1.35rem;
  border: 1px solid var(--line);
  object-fit: cover;
  background: #fff;
}

.animal-showcase { padding-top: 2rem; padding-bottom: 3.5rem; background: linear-gradient(180deg, #f5f8fb 0%, #fff 100%); overflow: hidden; }
.showcase-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2rem; }
.showcase-heading h2 { margin-bottom: 0; }
.gallery-page .showcase-heading h1 { margin: 0; color: var(--blue); font-size: clamp(2.1rem, 4vw, 3.35rem); line-height: 1.08; }
.showcase-heading p { max-width: 520px; margin: 0; color: #52677b; }
.animal-slider { outline: none; }
.animal-slider:focus-visible { box-shadow: 0 0 0 3px rgba(30, 105, 164, .3); }
.animal-slides { position: relative; min-height: 560px; }
.animal-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); background: #fff; border: 1px solid var(--line); opacity: 0; visibility: hidden; transform: translateX(24px); transition: opacity .4s ease, transform .4s ease, visibility .4s; }
.animal-slide.is-active { opacity: 1; visibility: visible; transform: translateX(0); }
.animal-slide figure { margin: 0; min-height: 560px; background: #eef2f5; overflow: hidden; }
.animal-slide figure img { width: 100%; height: 100%; max-height: 560px; object-fit: contain; }
.animal-slide > div { padding: clamp(2rem, 4vw, 4rem); align-self: center; }
.animal-slide h3 { margin: .35rem 0 1rem; color: var(--navy); font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.12; }
.animal-slide > div > p:last-child { color: #40566a; font-size: 1.05rem; line-height: 1.7; }
.slide-count { margin: 0; color: var(--red); font-size: .78rem; font-weight: 800; letter-spacing: .14em; }
.animal-controls { display: grid; grid-template-columns: 48px 1fr 48px; gap: 1rem; align-items: center; margin-top: 1rem; }
.slider-arrow, .slider-dot { border: 0; cursor: pointer; }
.slider-arrow { width: 48px; height: 48px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 1.35rem; }
.slider-arrow:hover { background: var(--blue); }
.slider-dots { display: flex; justify-content: center; gap: .55rem; }
.slider-dot { width: 9px; height: 9px; padding: 0; border-radius: 50%; background: #bac5cf; }
.slider-dot.is-active { background: var(--red); transform: scale(1.35); }
.slider-arrow:focus-visible, .slider-dot:focus-visible { outline: 3px solid rgba(30, 105, 164, .35); outline-offset: 3px; }

@media (max-width: 850px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .hero-wordcloud {
    width: min(680px, 100%);
    margin: 0 auto;
  }

  .hero-art {
    margin-top: -2rem;
  }

  .showcase-heading { display: block; }
  .showcase-heading p { margin-top: .75rem; }
  .animal-slides { min-height: 720px; }
  .animal-slide { grid-template-columns: 1fr; align-content: start; }
  .animal-slide figure { min-height: 0; height: 390px; }
  .animal-slide > div { padding: 1.5rem; }
}

@media (max-width: 560px) {
  .animal-slides { min-height: 650px; }
  .animal-slide figure { height: 270px; }
  .animal-slide > div > p:last-child { font-size: 1rem; line-height: 1.55; }
  .slider-dots { gap: .38rem; }
  .slider-dot { width: 7px; height: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .animal-slide { transition: none; }
}

.home-study-showcase{background:linear-gradient(to bottom,#edf4f8 0,#f3f7fa 5rem,#fafcfd 10rem,#fff 15rem,#fff 100%)}

.gallery-study-showcase{background:linear-gradient(to bottom,#fff 0,#fafcfd 4rem,#f5f8fb 8rem,#fff 100%)}


.gallery-visitors-showcase{background:linear-gradient(to bottom,#fff 0,#fafcfd 4rem,#f5f8fb 8rem,#fff 100%)}


.gallery-page .animal-slide figure,.gallery-study-showcase .animal-slide figure{background:#fff}

.gallery-page .animal-slide::after,.gallery-study-showcase .animal-slide::after{content:"";position:absolute;z-index:4;left:-1px;right:-1px;bottom:-1px;height:1px;background:var(--line);pointer-events:none}


.recent-publications-section{background:linear-gradient(to bottom,#f5f8fb 0,#fafcfd 4rem,#fff 8rem,#fff 100%)}


.homepage-network-section{padding-top:2.5rem;background:linear-gradient(to bottom,#fff 0,#fafcfd 4rem,#edf4f8 8rem,#edf4f8 100%)}


.home-study-showcase .animal-slide figure{background:#fff}
