/* Shared usability improvements, September 2026. */
:root { --focus-ring: #b98236; }
html { scroll-padding-top: 1.5rem; }
body { overflow-wrap: break-word; }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 5px; }
.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 100;
  transform: translateY(-180%); padding: 12px 18px;
  background: #1d1a19; color: #fff; border: 2px solid #b98236;
  font-size: 1rem; font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
.nav-links a, .gallery-nav a, .hero-paths a {
  display: inline-flex; align-items: center; min-height: 44px;
}
.gallery-nav a, .tile span, .collection-copy small, .collection-copy em {
  font-size: .875rem;
}
.button { white-space: normal; text-align: center; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 1rem; }
.lightbox { padding: 70px 72px; }
.lightbox img { max-width: 100%; max-height: calc(100dvh - 190px); }
.lightbox > div { min-width: 0; max-width: 100%; }
.lightbox button { min-width: 44px; min-height: 44px; }
.lightbox .close { top: max(18px, env(safe-area-inset-top)); }
.lightbox-title { line-height: 1.5; }
@media (max-width: 920px) {
  .nav { position: relative; background: var(--night); flex-wrap: wrap; }
  .nav-links { flex-wrap: wrap; gap: 6px 16px; }
  .hero-copy { min-width: 0; }
}
@media (max-width: 560px) {
  .gallery-nav { gap: 8px; }
  .gallery-nav a { padding: 0 12px; }
  .lightbox { padding: 64px 16px 104px; }
  .lightbox .prev, .lightbox .next {
    top: auto; bottom: max(22px, env(safe-area-inset-bottom));
    transform: none; display: inline-flex; align-items: center; justify-content: center;
  }
  .lightbox .prev { left: calc(50% - 58px); }
  .lightbox .next { right: calc(50% - 58px); }
  .lightbox img { max-width: 100%; max-height: calc(100dvh - 220px); }
  .contact-links a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
}
