/* Small, non-blocking transitions; all content stays visible without JavaScript. */
.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.3,1)}
.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0)}
.service{transition:opacity .55s ease,transform .3s ease,box-shadow .22s ease,border-color .22s ease}
.service .num,.service h3{transition:color .22s ease}
.work-category,.project-photo{overflow:hidden}
.work-category>img,.project-photo img,.about-photo img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.about-photo{overflow:hidden}
.btn{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.btn .motion-arrow{display:inline-block;transition:transform .2s ease}
.btn:focus-visible .motion-arrow{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){
 .service:hover{transform:translateY(-5px);box-shadow:0 12px 25px #1a24100b;border-color:#c77a27}
 .service:hover .num,.service:hover h3{color:#a95a0b}
 .work-category:hover>img,.project-photo:hover img,.about-photo:hover img{transform:scale(1.035)}
 .btn:hover .motion-arrow{transform:translateX(4px)}
 .btn:hover{box-shadow:0 5px 14px #00000014}
}
@media(prefers-reduced-motion:reduce){
 .reveal-on-scroll,.reveal-on-scroll.is-revealed{opacity:1;transform:none;transition:none}
 .service,.service .num,.service h3,.work-category>img,.project-photo img,.about-photo img,.btn,.btn .motion-arrow{transition:none}
 .service:hover,.work-category:hover>img,.project-photo:hover img,.about-photo:hover img,.btn:hover .motion-arrow,.btn:focus-visible .motion-arrow{transform:none}
}
