/* Small, purposeful movement. All content is visible without JavaScript. */
:root{--motion-out:cubic-bezier(.22,1,.36,1)}
.desktop-nav a:after{right:0;transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--motion-out)}
.desktop-nav a:is(:hover,:focus-visible,[aria-current="page"]):after{transform:scaleX(1)}
.text-link{transition:color 160ms ease,border-color 160ms ease}
.text-link:is(:hover,:focus-visible){color:var(--rust);border-color:currentColor}
.button svg,.text-link svg,.card-body h3 svg{transition:transform 180ms var(--motion-out)}
.gallery-filters button{transition:color 140ms ease,background-color 140ms ease,border-color 140ms ease}
.process-step.motion-line{position:relative}
.process-step.motion-line:before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:#d0d5c1;transform:scaleX(0);transform-origin:left}
.process-step.motion-line-drawn:before{transform:scaleX(1)}
@media(prefers-reduced-motion:no-preference){
  .process-step.motion-line:before{transition:transform 620ms var(--motion-out)}
  .process-step:nth-child(2):before{transition-delay:70ms}.process-step:nth-child(3):before{transition-delay:140ms}.process-step:nth-child(4):before{transition-delay:210ms}
  .button:is(:hover,:focus-visible) svg,.text-link:is(:hover,:focus-visible) svg,.card-body h3 a:is(:hover,:focus-visible) svg{transform:translate(3px,-3px)}
  .button:active svg,.text-link:active svg{transform:translate(1px,-1px)}
  .mobile-nav:not([hidden]){animation:gck-menu-in 180ms var(--motion-out)}
  @keyframes gck-menu-in{from{opacity:.4;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .lightbox[open]::backdrop{animation:gck-backdrop-in 180ms ease-out}
  @keyframes gck-backdrop-in{from{opacity:0}to{opacity:1}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .card-image img,.gallery-open img{transition:transform 420ms var(--motion-out)}
  .card-image:is(:hover,:focus-visible) img,.gallery-open:is(:hover,:focus-visible) img{transform:scale(1.025)}
  .service-card:nth-child(2) .card-image:is(:hover,:focus-visible) img{transform:scale(1.22)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .process-step.motion-line:before{transform:scaleX(1);transition:none}
  .card-image:hover img,.gallery-open:hover img{transform:none}
  .service-card:nth-child(2) .card-image:hover img{transform:scale(1.2)}
  .button svg,.text-link svg,.card-body h3 svg{transition:none;transform:none}
}
@media(hover:none){.card-image:hover img,.gallery-open:hover img{transform:none}.service-card:nth-child(2) .card-image:hover img{transform:scale(1.2)}}
@media print{.process-step.motion-line:before{transform:scaleX(1)}}
