/* Only the marked singular pet template receives this stylesheet. */
.bn-pet-page .bn-library-shell { width: 80%; max-width: 1900px; }
.bn-pet-page .bn-pet-article { width: 100%; max-width: 1100px; margin: 0 auto; }
.bn-pet-page .bn-article-heading { max-width: 820px; }
.bn-pet-page .bn-pet-hero { margin: 0 0 36px; }
.bn-pet-page .bn-pet-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.bn-pet-page .bn-pet-hero--pair .bn-pet-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bn-pet-page .bn-pet-hero-panel { min-width: 0; }
.bn-pet-page .bn-pet-hero-frame { aspect-ratio: 2 / 1; overflow: hidden; border-radius: 14px; background: #f0ebe4; }
.bn-pet-page .bn-pet-hero-frame .bn-pet-hero-image { display: block; width: 100%; height: 100%; max-height: none; object-fit: contain; }
/* Preserve both black dogs' faces in the original wide family photograph. */
.bn-pet-page .bn-pet-hero--dogs .bn-pet-hero-frame { aspect-ratio: 4000 / 1848; }
.bn-pet-page .bn-pet-hero--cats .bn-pet-hero-frame { aspect-ratio: 3 / 2; }
.bn-pet-page .bn-pet-hero--cats .bn-pet-hero-image { object-fit: cover; }
.bn-pet-page .bn-pet-panel-caption,
.bn-pet-page .bn-pet-hero > figcaption { color: #625348; font-size: 14px; line-height: 1.6; padding: 10px 0 0; margin: 0; text-align: left; }
.bn-pet-page .bn-pet-hero > figcaption { max-width: 76ch; }
.bn-pet-page .bn-pet-content { max-width: 76ch; }
.bn-pet-page .bn-pet-photo { margin: 30px 0; }
.bn-pet-page .bn-pet-photo img { display: block; width: 100%; height: auto; max-height: 740px; object-fit: contain; border-radius: 12px; }
.bn-pet-page .bn-pet-photo--portrait { max-width: 460px; margin-left: auto; margin-right: auto; }
.bn-pet-page .bn-pet-photo--portrait img { width: 100%; height: auto; }
.bn-pet-page .bn-pet-photo figcaption { margin: 0; padding: 10px 0 0; color: #625348; font-size: 14px; line-height: 1.65; }
.bn-pet-page .bn-pet-latest { margin: 46px 0 0; padding-top: 30px; border-top: 1px solid #ded0c1; }
body #main-content.bn-pet-page .bn-pet-latest > h2 { font-family: Aptos,"Segoe UI",Helvetica,Arial,sans-serif; font-size: clamp(25px,2.3vw,32px) !important; line-height: 1.25 !important; font-weight: 600; letter-spacing: -.015em; color: #36251c; margin: 0 0 24px; padding: 0; }
body #main-content.bn-pet-page .bn-card-copy h3 { font-family: Aptos,"Segoe UI",Helvetica,Arial,sans-serif; font-size: 22px !important; line-height: 1.3 !important; font-weight: 600; letter-spacing: -.015em; margin: 0 0 14px; padding: 0; }
.bn-pet-page .bn-card-copy h3 a { color: #36251c; text-decoration: none; }
.bn-pet-page .bn-card-copy h3 a:hover { text-decoration: underline; }
.bn-pet-page .bn-card-image { background: #f0ebe4; }
.bn-pet-page .bn-card-image img { object-fit: contain; }
.bn-pet-page .bn-pet-related { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 28px; max-width: 76ch; margin: 38px auto 0; padding-top: 20px; border-top: 1px solid #ded0c1; font-size: 16px; }
.bn-pet-page .bn-pet-related a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 680px) {
    .bn-pet-page .bn-pet-hero--pair .bn-pet-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .bn-pet-page .bn-pet-hero { margin-bottom: 28px; }
    .bn-pet-page .bn-pet-hero-frame { border-radius: 10px; }
    .bn-pet-page .bn-pet-latest { margin-top: 34px; padding-top: 25px; }
    .bn-pet-page .bn-pet-related { justify-content: flex-start; gap: 4px 22px; }
}
