/* Standards-based fallbacks for photo viewing and restrained motion. */
.hero.hero-minimal{min-height:calc(100vh - 84px);min-height:clamp(650px,calc(100svh - 84px),900px)}
.hero.motion-paused .hero-word,.hero.motion-paused .hero-slide{animation-play-state:paused}
dialog:not([open]){display:none}
.dialog-fallback[open]{position:fixed;inset:0;z-index:100;display:block;overflow:auto;box-shadow:0 0 0 100vmax #082448b8}
.dialog-fallback.auth-dialog,.dialog-fallback.enquiry-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);max-height:90vh;width:min(500px,calc(100vw - 32px));z-index:103}
.dialog-fallback.lightbox{z-index:102}
.lightbox{background:#081b34;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;padding:16px 24px}
.viewer-layout{height:calc(100vh - 90px);height:calc(100dvh - 90px)}
.viewer-stage{position:relative;min-height:0}
.viewer-photo{position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}
.viewer-photo>img{grid-area:1/1;width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.viewer-photo>img[hidden]{display:none}
#image-status{position:absolute;left:15px;right:15px;bottom:42px;text-align:center;font-size:12px;color:#e3f2fd;background:#081b34d9;border-radius:5px;padding:8px 12px;pointer-events:none}
#image-status:empty{display:none}
#image-original{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-size:12px;color:#e3f2fd;white-space:nowrap;padding:8px 12px;border:1px solid #90caf97d;border-radius:5px;background:#081b34dd}
.viewer-arrow{min-width:30px;min-height:44px;touch-action:manipulation}
.photo-community{border-color:#90caf92b;scrollbar-gutter:stable;color:#e3f2fd}
.community-heading button{min-height:44px;border-radius:6px}
.community-heading button[aria-pressed=true]{color:#90caf9;background:#0d47a14d}
.comment-note{font-size:10px;line-height:1.8;color:#a8c6e5;margin:0 0 18px}
.comment-form input,.comment-form textarea{font-size:16px}
.photo-community input,.photo-community textarea{font-size:16px;border-radius:5px;max-width:100%}
.comments-list{padding-block:18px}.comment p{font-size:12px;line-height:1.85}
.album-photo{position:relative;touch-action:manipulation;background:#edf5fd}
.album-photo img{width:100%;height:100%;object-fit:contain;image-orientation:from-image}
.collection{touch-action:manipulation}
@media(prefers-reduced-motion:no-preference){
 .album-dialog[open] .album-photo:nth-child(-n+6){animation:gallery-appear .4s ease both}
 .album-dialog[open] .album-photo:nth-child(2){animation-delay:.04s}.album-dialog[open] .album-photo:nth-child(3){animation-delay:.08s}
 .album-dialog[open] .album-photo:nth-child(4){animation-delay:.12s}.album-dialog[open] .album-photo:nth-child(5){animation-delay:.16s}.album-dialog[open] .album-photo:nth-child(6){animation-delay:.2s}
 .community-heading button[aria-pressed=true] svg{animation:heart-appear .3s ease}
}
@keyframes gallery-appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes heart-appear{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@media(max-width:760px){
 .hero.hero-minimal{min-height:calc(100vh - 76px);min-height:clamp(620px,calc(100svh - 76px),820px)}
 .lightbox{padding:10px 12px;overflow:auto;-webkit-overflow-scrolling:touch}
 .viewer-layout{height:auto;display:block}
 .viewer-stage{height:calc(100vh - 82px);height:calc(100dvh - 82px);grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}
 .lightbox.has-community .viewer-stage{height:55vh;height:55dvh;min-height:220px;max-height:620px}
 .photo-community{width:100%;padding:22px 8px 30px;border-left:0;border-top:1px solid #90caf92b;overflow:visible}
 .community-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
 .community-heading h3{font-size:15px;margin:0}.photo-community .button{min-height:44px}
 .auth-dialog input{font-size:16px}.viewer-photo{overflow:visible}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
