/* Motion enhances the existing layout; content is never hidden by default. */
.page-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--color-decoration),var(--color-accent-end));transform-origin:left center;pointer-events:none;z-index:80}
@media(prefers-reduced-motion:no-preference){
  .site-header{transition:box-shadow .3s ease}
  .site-header.is-scrolled{box-shadow:0 8px 24px #59341212}
  .button,.header-contact{transition:translate .25s ease,scale .2s ease,background .2s ease,box-shadow .25s ease}
  .button:hover,.header-contact:hover{translate:0 -3px;box-shadow:0 7px 18px #5934121c}
  .button:active,.header-contact:active{translate:0 0;scale:.98}
  .button svg,.header-contact svg{transition:translate .25s ease}
  .button:hover svg,.header-contact:hover svg{translate:2px 0}
  .text-link,.hero-work-link{transition:color .2s ease,text-underline-offset .25s ease}
  .text-link:hover{ text-underline-offset:8px }
  #navigation>a{position:relative}
  #navigation>a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-decoration);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  #navigation>a:hover::after,#navigation>a:focus-visible::after{transform:scaleX(1)}
  .audience-card,.primary-service,.service-card,.gallery-card,.featured-project{transition:translate .35s ease,box-shadow .35s ease}
  .audience-card:focus-within,.primary-service:focus-within,.service-card:focus-within,.gallery-card:focus-within,.featured-project:focus-within{box-shadow:0 8px 24px #59341212}
  .primary-service-image img,.audience-image img,.service-image img,.image-button img{transition:scale .6s cubic-bezier(.2,.65,.3,1),transform .6s cubic-bezier(.2,.65,.3,1)}
  .lightbox[open],.share-dialog[open]{animation:dialog-enter .25s ease-out}
  dialog::backdrop{animation:backdrop-enter .2s ease-out}
  .faq-plus{transition:transform .25s ease}
  @media(hover:hover) and (pointer:fine){
    .audience-card:hover,.primary-service:hover,.service-card:hover,.gallery-card:hover,.featured-project:hover{translate:0 -5px;box-shadow:0 10px 30px #59341212}
    .primary-service-image:hover img,.audience-image:hover img,.service-image:hover img,.image-button:hover img{scale:1.035}
  }
  @media(max-width:1020px){#navigation.is-open{animation:menu-enter .25s ease-out}}
}
@keyframes dialog-enter{from{opacity:0;scale:.98;translate:0 10px}to{opacity:1;scale:1;translate:0 0}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes menu-enter{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .page-progress{display:none}
}
@media print{[data-motion-reveal]{opacity:1!important;transform:none!important}.page-progress{display:none}}
