/* Light, glass and depth. Every effect is a progressive enhancement of visible content. */
.alb-scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;overflow:hidden}.alb-scroll-progress span{display:block;width:100%;height:100%;background:var(--alb-blue);transform:scaleX(var(--alb-scroll-progress,0));transform-origin:left center}
.alb-motion-ready .alb-hero-media{isolation:isolate;transform:perspective(1400px) rotateX(var(--alb-tilt-y,0deg)) rotateY(var(--alb-tilt-x,0deg));transition:transform .8s cubic-bezier(.16,1,.3,1)}
.alb-motion-ready:not(.alb-motion-paused) .alb-hero-media>img{animation:none;transform:translate3d(0,var(--alb-hero-pan,0px),0) scale(1.12);transform-origin:center center}
.alb-motion-ready .alb-hero-media:before{content:'';position:absolute;z-index:2;inset:-30% -65%;background:linear-gradient(110deg,transparent 42%,rgb(255 255 255 / 4%) 45%,rgb(255 255 255 / 35%) 50%,rgb(255 255 255 / 4%) 55%,transparent 58%);transform:translate3d(-35%,0,0);pointer-events:none;animation:alb-glass-pass 13s cubic-bezier(.45,0,.2,1) infinite;animation-play-state:paused}
.alb-motion-ready .alb-hero-media.alb-loop-visible:before{animation-play-state:running}
.alb-motion-ready .alb-subscription{position:relative;isolation:isolate;overflow:clip}
.alb-motion-ready .alb-subscription:before{content:'';position:absolute;z-index:-1;inset:-90px -20%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255 / 2%) 40%,rgb(255 255 255 / 9%) 48%,transparent 57%);animation:alb-blue-light 18s ease-in-out infinite;animation-play-state:paused}
.alb-motion-ready .alb-subscription.alb-loop-visible:before{animation-play-state:running}
.alb-motion-ready:not(.alb-motion-paused) .alb-service-photo img{transform:translate3d(0,var(--alb-photo-pan,0px),0) scale(1.09);transition:transform .25s linear}
.alb-motion-ready:not(.alb-motion-paused) .alb-service:hover .alb-service-photo img{transform:translate3d(0,var(--alb-photo-pan,0px),0) scale(1.12)}
.alb-motion-ready:not(.alb-motion-paused) .alb-about-photo{overflow:hidden;border-radius:2px}
.alb-motion-ready:not(.alb-motion-paused) .alb-about-photo img{transform:translate3d(0,var(--alb-about-pan,0px),0) scale(1.09);border-radius:0}
.alb-motion-ready:not(.alb-motion-paused) details[open] .tw-faq__answer,.alb-motion-ready:not(.alb-motion-paused) .alb-service details[open] ul{animation:alb-answer-open .4s cubic-bezier(.16,1,.3,1)}
@media(min-width:761px){
.alb-motion-ready .alb-menu a{position:relative;border-bottom-color:transparent}.alb-motion-ready .alb-menu a:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--alb-blue);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.alb-motion-ready .alb-menu a:hover:after,.alb-motion-ready .alb-menu a[aria-current=location]:after{transform:scaleX(1)}
}
@keyframes alb-glass-pass{0%,18%{transform:translate3d(-34%,0,0);opacity:0}24%{opacity:1}67%{opacity:1}76%,100%{transform:translate3d(36%,0,0);opacity:0}}
@keyframes alb-blue-light{0%,100%{transform:translateX(-15%)}50%{transform:translateX(20%)}}
@keyframes alb-answer-open{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1024px) and (min-height:650px){
 .alb-motion-ready .alb-services{padding-bottom:60px;position:relative}
 .alb-motion-ready .alb-service{position:sticky;top:var(--alb-sticky-top,124px);z-index:var(--alb-card-index,1);min-height:min(700px,calc(100svh - 160px));padding:44px 32px;margin-bottom:64px;border:1px solid var(--alb-line);border-radius:12px;background:var(--alb-white);transform:translate3d(0,calc(var(--alb-card-depth,0)*-12px),0) scale(calc(1 - var(--alb-card-depth,0)*.035));transform-origin:center top;box-shadow:none}
 .alb-motion-ready .alb-service:first-child{border:1px solid var(--alb-line)}
 .alb-motion-ready .alb-service:last-child{margin-bottom:0}
 .alb-motion-ready .alb-service-photo{height:clamp(330px,46svh,490px)}
 .alb-motion-ready .alb-service.alb-service-tall{position:relative;top:auto;transform:none}
 .alb-motion-ready .alb-service:has(:focus-visible){z-index:20}
}
@media(max-width:760px){
 .alb-header-inner{gap:12px}.alb-js .alb-menu-toggle{padding-inline:10px;gap:9px}
 .alb-motion-ready .alb-hero-media{transform:none;transition:none}.alb-motion-ready .alb-hero-media:before{animation-duration:18s}
 .alb-motion-ready:not(.alb-motion-paused) .alb-service-photo img{transform:scale(1.04);transition:transform .5s ease-out}
 .alb-motion-ready:not(.alb-motion-paused) .alb-service:hover .alb-service-photo img{transform:scale(1.04)}
 .alb-motion-ready:not(.alb-motion-paused) .alb-about-photo img{transform:scale(1.03)}
}
/* Pause affects all decorative loops, including offscreen and hidden-page states. */
.alb-motion-paused .alb-hero-media:before,.alb-motion-paused .alb-subscription:before,
.alb-page-hidden .alb-hero-media:before,.alb-page-hidden .alb-subscription:before{animation-play-state:paused!important}
.alb-motion-paused .alb-hero-media{transform:none;transition:none}.alb-motion-paused .alb-hero-media>img{animation:none}
@media(prefers-reduced-motion:reduce){.alb-motion-ready .alb-service{position:relative;top:auto;transform:none;box-shadow:none}.alb-motion-ready .alb-hero-media:before,.alb-motion-ready .alb-subscription:before{display:none}}
