.species-photo {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.species-photo-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1.22;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(169, 234, 222, .28);
  border-radius: 32px;
  background: #0d2735;
  box-shadow: 0 32px 75px rgba(0, 10, 23, .3), inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.species-photo-frame::after {
  position: absolute;
  inset: 0;
  content: '';
  background: linear-gradient(180deg, rgba(2, 18, 30, .03) 48%, rgba(2, 18, 30, .79) 100%);
  pointer-events: none;
}

.species-photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
}

.species-photo-note {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 26px;
  left: 28px;
  display: grid;
  gap: 8px;
  color: #f7fffa;
}

.species-photo-note span {
  color: #a5f2cf;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.species-photo-note strong {
  max-width: 290px;
  font: 750 clamp(1rem, 1.45vw, 1.3rem)/1.35 Manrope, sans-serif;
  letter-spacing: -.025em;
}

.species-photo figcaption {
  margin-top: 13px;
  color: #a2bec0;
  font-size: .72rem;
  line-height: 1.45;
  text-align: right;
}

@media (max-width: 800px) {
  .species-photo-frame { aspect-ratio: 1.6; min-height: 0; }
}

@media (max-width: 560px) {
  .species-photo-frame { aspect-ratio: 1.22; border-radius: 22px; }
  .species-photo-frame img { object-position: 59% center; }
  .species-photo-note { right: 18px; bottom: 18px; left: 18px; gap: 5px; }
  .species-photo-note strong { max-width: 245px; font-size: 1rem; }
}
