/* Small, finite movements; the page remains visible without JavaScript. */
:root{--motion-ease:cubic-bezier(.25,.65,.3,1)}
.is-reveal-pending{opacity:0}
.is-revealing{will-change:opacity,transform}
.brand img,.footer-brand img{transform-origin:left center;transition:transform .4s var(--motion-ease)}
.button,.gallery-step,.work-filter,.progress-scroll,.service-examples,.dialog-close{transition:background .32s,color .32s,border-color .32s,box-shadow .32s,transform .32s var(--motion-ease)}
.button:hover{transform:none}
.work-image,.progress-cover{transition:transform .48s var(--motion-ease),box-shadow .48s var(--motion-ease)}
.work-image>img,.progress-cover img{transition:transform .65s var(--motion-ease)}
.work-view{transition:background .32s,color .32s,transform .32s var(--motion-ease)}
.gallery-thumbnail,.progress-thumbnail,.municipal-thumbnail{transition:border-color .3s,transform .32s var(--motion-ease)}
.service-content{display:flow-root;overflow:hidden}
.service-list summary{transition:color .3s}
.service-list summary h3{transform-origin:left center;transition:transform .48s var(--motion-ease)}
.service-list .plus{transform-origin:center}
.service-list .plus:after{transition:transform .42s var(--motion-ease)}
.service-list details.is-closing .plus:after{transform:rotate(90deg)}
dialog[open]::backdrop{animation:condalgo-shade-in .38s ease-out both}
dialog.is-closing::backdrop{animation:condalgo-shade-out .24s ease-out both}
.contact-icon{transform-origin:center}

@media(hover:hover) and (pointer:fine){
  .brand:hover img,.brand:focus-visible img,.footer-brand:hover img,.footer-brand:focus-visible img{transform:scale(1.025)}
  .button:hover:not(:disabled),.gallery-step:hover:not(:disabled),.work-filter:hover,.progress-scroll:hover:not(:disabled),.service-examples:hover{transform:translateY(-2px)}
  .work-open:hover .work-image,.work-open:focus-visible .work-image,.progress-card:hover .progress-cover,.progress-card:focus-visible .progress-cover{transform:translateY(-2px) scale(1.012);box-shadow:0 8px 22px #2f31331a}
  .work-open:hover .work-view,.work-open:focus-visible .work-view{background:var(--orange);transform:translateY(-1px)}
  .gallery-thumbnail:hover,.progress-thumbnail:hover,.municipal-thumbnail:hover{transform:translateY(-2px)}
  .dialog-close:hover{transform:rotate(6deg)}
  .service-list summary:hover h3{transform:scale(1.025)}
  .service-list summary:hover .plus{animation:condalgo-service-plus .64s ease-in-out}
  .contact-data-link:hover .contact-icon{animation:condalgo-contact-ring .48s ease-in-out}
  .email-form-link:hover .contact-icon{animation-name:condalgo-contact-mail}
  .contact-data-link[href*="instagram.com"]:hover .contact-icon{animation-name:condalgo-contact-camera}
}
.service-list summary:focus-visible h3{transform:scale(1.025)}
.service-list summary:focus-visible .plus{animation:condalgo-service-plus .64s ease-in-out}
.contact-data-link:focus-visible .contact-icon{animation:condalgo-contact-ring .48s ease-in-out}
.button:active:not(:disabled),.gallery-step:active:not(:disabled),.work-filter:active,.progress-scroll:active:not(:disabled),.service-examples:active,.dialog-close:active{transform:translateY(0) scale(.985)}
.work-open:active .work-image,.progress-card:active .progress-cover{transform:scale(.995)}
@keyframes condalgo-shade-in{from{opacity:0}to{opacity:1}}
@keyframes condalgo-shade-out{from{opacity:1}to{opacity:0}}
@keyframes condalgo-service-plus{0%,100%{transform:rotate(0)}30%{transform:rotate(-10deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-3deg)}}
@keyframes condalgo-contact-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-11deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
@keyframes condalgo-contact-mail{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2px) rotate(-6deg)}60%{transform:translateY(-1px) rotate(4deg)}}
@keyframes condalgo-contact-camera{0%,100%{transform:scale(1) rotate(0)}35%{transform:scale(1.1) rotate(-5deg)}65%{transform:scale(1.04) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .is-reveal-pending{opacity:1}
  .is-revealing{will-change:auto}
  .service-list summary h3,.service-list .plus{transform:none!important}
  .brand img,.footer-brand img,.work-image,.progress-cover,.button,.gallery-step,.work-filter,.progress-scroll,.service-examples,.dialog-close,.work-view,.gallery-thumbnail,.progress-thumbnail,.municipal-thumbnail,.contact-icon{transform:none!important}
  .work-open:hover .work-image>img{transform:rotate(var(--photo-angle,0deg)) scale(var(--photo-zoom,1))!important}
  .progress-card:hover .progress-cover img{transform:none!important}
}
