/* Opal Voyages visual editorial layer — 24 September 2026 */
.editorial-hero,
.library-feature-image,
.category-feature-image {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto 72px;
}

.editorial-hero {
  margin-top: -26px;
}

.editorial-hero img,
.library-feature-image img,
.category-feature-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 11 / 6;
  object-fit: cover;
  border-radius: 2px;
  background: #ded8ce;
}

.editorial-hero figcaption,
.library-feature-image figcaption,
.category-feature-image figcaption {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 10px;
  color: #68645e;
  font-size: .72rem;
  letter-spacing: .04em;
}

.library-feature-image {
  margin-top: -36px;
}

.category-feature-image {
  margin-top: -26px;
}

.library-card .card-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 12 / 7;
  background: #ded8ce;
}

.library-card .card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.library-card:hover .card-image img,
.library-card:focus-visible .card-image img {
  transform: scale(1.025);
}

.library-card .card-top {
  border-top: 0;
}

@media (max-width: 720px) {
  .editorial-hero,
  .library-feature-image,
  .category-feature-image {
    width: calc(100% - 28px);
    margin-bottom: 48px;
  }

  .editorial-hero,
  .category-feature-image {
    margin-top: -10px;
  }

  .library-feature-image {
    margin-top: -18px;
  }

  .editorial-hero img,
  .library-feature-image img,
  .category-feature-image img {
    aspect-ratio: 4 / 3;
  }

  .editorial-hero figcaption,
  .library-feature-image figcaption,
  .category-feature-image figcaption {
    display: block;
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .library-card .card-image img { transition: none; }
}
