/* Picture keeps the photograph and its overlaid labels in one coordinate system. */
.hero::before { content: none; }
.hero__picture { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero__picture img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; filter: brightness(1.28) saturate(.95); }
.hero__gallery a { min-height: 44px; }
@media (max-width: 999px) {
  .header__inner { gap: 10px; }
  .header__actions { margin-left: 0; }
  .header__nav { order: 4; }
  .header__links a { display: block; padding: 10px 0; }
}
@media (max-width: 767px) {
  .hero { aspect-ratio: 941 / 1672; }
  .hero__picture img { object-fit: contain; filter: brightness(1.16); }
  .hero__title { left: 7%; top: 9%; font-size: clamp(30px, 8vw, 60px); max-width: 85%; }
  .hero__gallery { font-size: clamp(11px, 3vw, 22px); line-height: 1.15; width: auto; }
  .hero__gallery a { padding: 6px 3px; border-radius: 3px; background: #17130d70; }
  .hero__gallery i { margin-top: .6em; font-size: .85em; }
  .hero__gallery--bird { left: 76%; top: 43%; width: 22%; }
  .hero__gallery--poetry { left: 57%; top: 48%; width: 18%; }
  .hero__gallery--figure { left: 43%; top: 55%; width: 14%; font-size: clamp(10px, 2.5vw, 18px); }
  .hero__gallery--geometric { left: 30%; top: 67%; width: 23%; font-size: clamp(11px, 2.6vw, 19px); }
  .hero__gallery--vessel { left: 15%; top: 77%; width: 30%; font-size: clamp(11px, 2.6vw, 19px); }
  .hero__prompt { left: 8%; width: 84%; bottom: 5%; font-size: clamp(13px, 3.3vw, 23px); line-height: 1.5; }
  .patterns__intro { max-width: 100%; line-height: 1.7; }
  .patterns__heading h2 { font-size: clamp(42px, 10vw, 70px); line-height: 1; }
  .patterns__list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
  .patterns__item:last-child { grid-column: 1 / -1; width: 65%; justify-self: center; }
  .dialog { padding: 24px 18px; overflow-y: auto; }
  .dialog h2 { font-size: 22px; overflow-wrap: anywhere; }
  .hall-nav__links { flex-wrap: wrap; }
  .hall-nav__links a, .hall-nav__links button { min-height: 44px; display: inline-flex; align-items: center; gap: 5px; }
  .extraction > * { min-width: 0; }
  .hall-footer, .hall-source-note { overflow-wrap: anywhere; }
}
@media (max-width: 420px) {
  .brand { gap: 7px; font-size: 15px; }
  .brand img { width: 34px; height: 34px; }
  .header__inner { gap: 8px; }
  .header__actions { width: 100%; justify-content: flex-end; }
  .header__menu { min-height: 44px; }
  .icon-button { min-width: 44px; min-height: 44px; }
  .gallery-switch { gap: 8px; }
  .gallery-switch a { padding: 10px; font-size: 13px; }
}
