/* Motion choreography preserves the established palette, typography and content. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:rc-page-out .2s ease both}
::view-transition-new(root){animation:rc-page-in .65s cubic-bezier(.16,1,.3,1) both}
@keyframes rc-page-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes rc-page-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.motion-ready .hero .wrap{animation:none}
.motion-ready .motion-line-mask{overflow:hidden;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}
.motion-ready .motion-line-inner{display:block;transform-origin:0 100%}
.motion-ready .hero-photo{isolation:isolate}
.motion-ready .hero-photo img{transform:translateY(var(--photo-y,0px)) scale(var(--photo-scale,1.12));transform-origin:50% 50%}
.motion-ready .hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(110deg,transparent 35%,rgba(224,183,91,.14) 48%,rgba(255,255,255,.1) 50%,transparent 65%);transform:translateX(140%);animation:rc-photo-light 1.6s cubic-bezier(.16,1,.3,1) .2s backwards}
@keyframes rc-photo-light{from{transform:translateX(-140%)}to{transform:translateX(140%)}}
.motion-ready .hero-photo figcaption{z-index:1}
.motion-ready .hero-clear h1 .gold{background-image:linear-gradient(100deg,var(--gold) 12%,var(--gold2) 40%,var(--ink) 50%,var(--gold2) 60%,var(--gold) 88%);background-size:240% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:rc-title-light 1.8s ease .35s backwards}
@keyframes rc-title-light{from{background-position:0% 50%}to{background-position:100% 50%}}
.motion-ready .title,.motion-ready .section-heading{position:relative}
.motion-ready .title::after,.motion-ready .section-heading::after{content:"";display:block;width:64px;height:1px;margin-top:20px;background:var(--gold);transform-origin:0 50%;transform:scaleX(0);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.motion-ready .motion-heading-shown::after{transform:scaleX(1)}
.motion-ready .gallery-slide figure{overflow:hidden;transform:scale(var(--slide-scale,1));opacity:var(--slide-opacity,1);transform-origin:50% 50%}
.motion-ready .gallery-slide img{transform:translateY(var(--gallery-y,0px)) scale(1.055);transform-origin:center;clip-path:inset(0)}
.motion-ready .gallery-slide figcaption{position:relative;z-index:1;background:var(--card)}
.motion-ready .service-slide{transform:translateY(var(--slide-y,0px));opacity:var(--slide-opacity,1)}
.motion-ready header{transition:box-shadow .4s ease,border-color .4s ease}
.motion-ready header.motion-scrolled{box-shadow:0 10px 35px rgba(0,0,0,.3);border-bottom-color:rgba(198,154,59,.3)}
.motion-ready .btn{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s,box-shadow .4s}
.motion-ready .btn.main::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.26) 50%,transparent 75%);transform:translateX(-140%)}
@media(hover:hover) and (pointer:fine){.motion-ready .btn:hover{transform:translateY(-3px)}.motion-ready .btn.main:hover::after{animation:rc-button-light .7s ease}.motion-ready .btn:active{transform:translateY(0) scale(.97)}}
@keyframes rc-button-light{to{transform:translateX(140%)}}
.motion-ready .btn:focus-visible{transform:none}
@media(max-width:820px){.motion-ready .hero-photo img{transform:translateY(var(--photo-y,0px)) scale(1.14)}}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto!important}
::view-transition-old(root),::view-transition-new(root){animation:none}
.motion-ready .hero-photo img,.motion-ready .gallery-slide figure,.motion-ready .gallery-slide img,.motion-ready .service-slide{transform:none!important;opacity:1!important}
.motion-line-inner{transform:none!important;opacity:1!important}
.motion-ready .hero-clear h1 .gold{background:none;color:var(--gold2);animation:none}
.motion-ready .hero-photo::after,.motion-ready .btn.main::after{display:none}
.motion-ready .title::after,.motion-ready .section-heading::after{transform:none;transition:none}
}
