/* The article lifts the homepage's dark palette. Header and footer keep
   their normal tokens; the taped media components live in pillar.css. */
.zoo main { --bg: #1b2736; --panel: #253344; --zoo-floor: linear-gradient(0deg, #1b2736cc, #1b273600 35%); background: var(--bg); }
.zoo [id] { scroll-margin-top: calc(var(--header-h) + 24px); }
.zoo-skip { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 16px; background: var(--gold); color: var(--bg); transform: translateY(-150%); }
.zoo-skip:focus { transform: none; }
.zoo-hero { justify-content: center; padding: 64px 0 48px; min-height: 0; background-image: var(--zoo-floor), linear-gradient(100deg, #1b2736ed 0%, #1b2736c9 46%, #1b27366b 100%), url('/images/hero-bg.webp'); }
.zoo-hero .rp-hero-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; padding-bottom: 0; }
.zoo-hero h1 { font-size: 28px; }
.zoo-byline { margin-top: 24px; }
.zoo-cover .rp-polaroid img { aspect-ratio: 3 / 4; object-fit: cover; }
.zoo-encounter { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
.zoo-encounter--reverse { grid-template-columns: 1fr 1.2fr; }
.zoo-encounter--reverse .rp-keepsake { order: 2; }
.zoo-copy { min-width: 0; }
.zoo-copy p { margin: 0 0 18px; }
.zoo-copy .rp-eyebrow { margin-bottom: 16px; }
.zoo-copy .rp-eyebrow::before { display: none; }
.zoo .rp-section { padding-block: 88px; }
.zoo-scene { --scene-scrim: var(--zoo-floor), linear-gradient(90deg, #1b2736ed 0%, #1b2736d9 44%, #1b273659 100%); }
.zoo-cat-marker { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.zoo-visit { max-width: 680px; margin: 0 auto; padding: 72px 20px; }
.zoo-visit .rp-h2 { font-size: 16px; }
@media (max-width: 979px) {
  .zoo-hero .rp-hero-inner { gap: 24px; }
  .zoo-hero h1 { font-size: 24px; }
  .zoo-encounter { gap: 32px; }
}
@media (max-width: 719px) {
  .zoo-hero { padding: 40px 0 36px; background-image: var(--zoo-floor), linear-gradient(180deg, #1b2736e8 0%, #1b2736c9 40%, #1b273652 75%, #1b2736c9 100%), url('/images/hero-bg-mobile.webp'); }
  .zoo-hero .rp-hero-inner, .zoo-encounter, .zoo-encounter--reverse { grid-template-columns: 1fr; gap: 28px; }
  .zoo-hero h1 { font-size: 24px; }
  .zoo .rp-section { padding-block: 56px; }
  .zoo-encounter .zoo-copy { order: -1; }
  .zoo-encounter--reverse .rp-keepsake { order: 0; }
  .zoo-scene { --scene-scrim: var(--zoo-floor), linear-gradient(180deg, #1b2736f2 0%, #1b2736e6 43%, #1b273659 78%, #1b2736c9 100%); }
  .zoo-visit { padding: 48px 20px; }
}
@media (forced-colors: active) { .zoo-hero { background-image: none; } }
