/* Adapt short, touch-screen landscape viewports without changing desktop layouts. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1100px) and (pointer: coarse) {
  :root { --header: 58px; --footer: 42px; --gutter: 22px; }
  .site-header, .dialog-header, .lightbox-header {
    padding-left: max(22px, env(safe-area-inset-left));
    padding-right: max(22px, env(safe-area-inset-right));
  }
  .site-identity { font-size: clamp(22px, 3.5vw, 30px); gap: 8px; }
  .works-view--expanded {
    width: calc(100% - max(18px, env(safe-area-inset-left)) - max(18px, env(safe-area-inset-right)));
    max-width: none;
    padding-top: 12px;
  }
  .works-view--expanded > .works-grid--archive:not(.works-grid--single),
  .prints-view > .prints-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    width: 100%;
    column-gap: 22px;
    row-gap: 36px;
  }
  .works-view--expanded .work-cover, .prints-view .print-image {
    height: max(150px, calc(100svh - 155px));
    aspect-ratio: auto;
  }
  .works-view--expanded .work-cover img, .prints-view .print-image img {
    width: 100%; height: 100%; max-height: 100%; object-fit: contain;
  }
  .project-photo-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .project-photo-row--single, .project-photo-row--landscape { grid-template-columns: 1fr; }
  .project-photo-gallery .project-figure .hero-photo {
    width: 100%; height: auto; max-height: calc(100svh - 88px); object-fit: contain;
  }
  .pdf-gallery-page {
    width: min(100%, calc((100svh - 58px) * 1.777778));
    margin-inline: auto;
  }
  .lightbox { height: 100dvh; }
  .lightbox-header { height: 48px; }
  .lightbox figure { height: calc(100dvh - 92px); padding: 0 48px 8px; }
  .lightbox > .arrow-button { top: auto; bottom: 0; height: 44px; transform: none; }
  .lightbox-prev { left: calc(50% - 80px); }
  .lightbox-next { right: calc(50% - 80px); }
  .menu-layout { flex-direction: row; align-items: flex-start; padding: 12px 6vw 28px; gap: 32px; min-height: 0; }
  .menu-main { font-size: 25px; gap: 6px; }
  .menu-secondary { font-size: 20px; gap: 6px; margin-top: 12px; }
  .menu-note { align-self: flex-start; font-size: 14px; }
  .biography-view, .contact-view { display: block; padding-block: 24px; }
  .contact-view .contact-copy { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; }
}
