/* Photographs alone reveal. The document, captions and controls remain steady.
   No resting image is hidden: enhancement is finite and owned by the script. */
@keyframes skyline-frame-unfold {
  from { transform: scaleX(.62); }
  to { transform: scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .ux-home .hero-image-frame.architectural-reveal::before {
    transform-origin: left center;
    animation: skyline-frame-unfold 1500ms cubic-bezier(.22,.61,.36,1) both;
  }
  .ux-home .btn, .ux-home .clip-toggle {
    transition: background-color 160ms ease, border-color 160ms ease;
  }
}
/* Existing frame geometry and image focal positions are intentionally untouched. */
@media (max-width: 900px) {
  .ux-home .hero-image-frame.architectural-reveal::before { animation-duration: 1400ms; }
}
@media (max-width: 768px) {
  .ux-home .hero-image-frame.architectural-reveal::before { animation-duration: 1300ms; }
}
@media (max-width: 480px) {
  .ux-home .hero-image-frame.architectural-reveal::before { transform-origin: left center; }
}
@media (prefers-reduced-motion: reduce), print {
  html { scroll-behavior: auto !important; }
  .ux-home *, .ux-home *::before, .ux-home *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
