/* Motion enhances the static page; text and images are always visible by default. */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--clay);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:100;opacity:.8}
.motion-frame{overflow:hidden;isolation:isolate}
.centre-gallery .motion-frame img{display:block}
.motion-enabled .hero-image,.motion-enabled .service-photo-frame,.motion-enabled .motion-frame>img{transition:none;transform:translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-scale,1.08))}
.motion-enabled .hero-photo:hover .hero-image{transform:translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-scale,1.08))}
.motion-enabled .outline-flower{transform:rotate(var(--flower-turn,-12deg))}
.motion-enabled .motion-near{will-change:transform}
.button .icon,.text-link .icon{transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){.button:hover .icon,.text-link:hover .icon{transform:translate(3px,-2px)}}
@media(max-width:800px),(pointer:coarse){.scroll-progress{display:none}.motion-enabled .hero-image,.motion-enabled .service-photo-frame,.motion-enabled .motion-frame>img{transform:none}.motion-enabled .outline-flower{transform:rotate(-12deg)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scroll-progress{display:none}
  .motion-enabled .hero-image,.motion-enabled .hero-photo:hover .hero-image,.motion-enabled .service-photo-frame,.motion-enabled .motion-frame>img{transform:none}

  .motion-enabled .outline-flower{transform:rotate(-12deg)}
  .button,.button .icon,.text-link .icon{transition:none}
  .button:hover,.button:hover .icon,.text-link:hover .icon{transform:none}
}
