/* Content remains visible without JavaScript; motion is progressively added. */
.home .reveal-item{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.home .reveal-pending{opacity:0;transform:translateY(24px)}
.home .service-grid article{position:relative;isolation:isolate;transition:background-color .25s ease,opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.home .service-grid article:before{content:'';position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:1}
.home .service-grid article:hover:before,.home .service-grid article:focus-within:before{transform:scaleX(1)}
.home .service-grid article:hover,.home .service-grid article:focus-within{background:#f2e8dd}
.home .service-grid h3{transition:color .25s ease}
.home .service-grid article:hover h3,.home .service-grid article:focus-within h3{color:var(--orange)}
.home .button{position:relative;overflow:hidden;transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease}
.home .button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(81,35,31,.14)}
.home .button:active{transform:translateY(0)}
.home .button span,.home .text-link span,.home .work h3 span{display:inline-block;transition:transform .25s ease}
.home .button:hover span,.home .text-link:hover span,.home .work:hover h3 span{transform:translate(3px,-3px)}
.home .hero-photo{overflow:hidden}
.home .hero-photo img{transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
.home .hero-photo:hover img{transform:scale(1.035)}
.home .home-nav nav a{position:relative;padding-bottom:4px}
.home .home-nav nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.home .home-nav nav a:hover:after,.home .home-nav nav a:focus-visible:after,.home .home-nav nav a[aria-current=page]:after{transform:scaleX(1)}
.home .home-form input,.home .home-form textarea{transition:border-color .25s ease,background-color .25s ease}
.home .home-form input:focus,.home .home-form textarea:focus{border-bottom-color:var(--orange);background:#fff9f3}
@media(hover:none){.home .hero-photo:hover img,.home .work:hover img{transform:none}.home .button:hover{transform:none;box-shadow:none}}

