*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#7b4a24}
body{min-height:100svh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.poster-page{min-height:100svh;width:100%;display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden;background:#7b4a24}
.poster-stage{position:relative;width:min(100vw,864px);line-height:0}
.poster-art{display:block;width:100%;height:auto;margin:0}
.animal-map{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%}
.animal-link{cursor:pointer;touch-action:manipulation;outline:none!important;-webkit-tap-highlight-color:transparent}
.animal-shape{fill:transparent;stroke:transparent;pointer-events:all;vector-effect:non-scaling-stroke}
.animal-link:focus-visible .animal-shape{fill:rgba(255,255,255,.10);stroke:transparent;filter:none}
.animal-link:active .animal-shape{fill:rgba(255,255,255,.12);stroke:transparent}
@media (hover:hover){.animal-link:hover .animal-shape{fill:transparent;stroke:transparent}}
@media (min-width:865px){.poster-stage{box-shadow:0 18px 50px rgba(38,17,5,.34)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.animal-map a,
.animal-map a:focus,
.animal-map a:active{outline:none!important;-webkit-tap-highlight-color:transparent}

.animal-link.is-flashing .animal-shape{animation:animalTapFlash 90ms ease-out both}
@keyframes animalTapFlash{
  0%{fill:rgba(255,255,255,0)}
  35%{fill:rgba(255,255,255,.20)}
  100%{fill:rgba(255,255,255,0)}
}

/* Small archive return path above the poster; never covers animal hotspots. */
.poster-back-nav{width:min(100%,864px);margin:auto;min-height:44px;padding:0 12px;display:flex;align-items:center}
.poster-back-nav a{display:inline-flex;align-items:center;min-height:44px;color:#fff8e9;font-size:.95rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.poster-back-nav a:focus-visible{outline:3px solid #fff0b4;outline-offset:2px}
@media print{.poster-back-nav{display:none!important}}
