/* motion: reveals, hero entrance, tactile hover/press */
:root{--ease-out:cubic-bezier(.16,.8,.24,1)}
.mo .rv{opacity:0;translate:0 26px;transition:opacity .9s var(--ease-out) var(--rd,0ms),translate .9s var(--ease-out) var(--rd,0ms),transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s,background-color .35s}
.mo .rv.in{opacity:1;translate:0 0}
.mo .hi{animation:mo-rise 1s var(--ease-out) both}
@keyframes mo-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}

header{transition:box-shadow .35s var(--ease-out),background-color .35s}
header.is-scrolled{box-shadow:0 10px 30px -12px rgba(10,20,36,.35)}

/* buttons: lift on hover, press on tap */
.btn,.submit-btn,.service-cta-btn,.filter-btn,.type-option-btn,.timeline-pill,.btn-gold,.btn-outline{transition:transform .2s var(--ease-out),box-shadow .25s var(--ease-out),background-color .2s,color .2s,border-color .2s}
@media (hover:hover){
  .btn:hover,.submit-btn:hover,.service-cta-btn:hover,.btn-gold:hover,.btn-outline:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(10,20,36,.45)}
}
.btn:active,.submit-btn:active,.service-cta-btn:active,.filter-btn:active,.type-option-btn:active,.timeline-pill:active,.btn-gold:active,.btn-outline:active{transform:translateY(0) scale(.97);box-shadow:0 3px 8px -4px rgba(10,20,36,.4);transition-duration:.08s}

/* cards: lift + photo push-in */
.card,.service-card,.standard-card,.reviews figure,.glance > div{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s}
@media (hover:hover){
  .card:hover,.service-card:hover,.standard-card:hover,.reviews figure:hover,.glance > div:hover{transform:translateY(-5px);box-shadow:0 22px 40px -22px rgba(10,20,36,.45)}
}
.card:active,.service-card:active{transform:scale(.985);transition-duration:.1s}
.card img,.service-thumb img{transition:transform .9s var(--ease-out)}
@media (hover:hover){.card:hover img,.service-card:hover .service-thumb img{transform:scale(1.05)}}
.card,.service-thumb{overflow:hidden}

/* form fields: soft focus glow */
input,select,textarea{transition:border-color .2s,box-shadow .25s var(--ease-out)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(201,162,74,.22)}

/* FAQ open: content eases in */
details[open] > :not(summary),.faq-item.open .faq-answer{animation:mo-rise .45s var(--ease-out) both}

@media (prefers-reduced-motion:reduce){
  .mo .rv,.mo .hi{opacity:1!important;translate:none!important;animation:none!important;transition:none!important}
  *{scroll-behavior:auto!important}
  .btn,.card,.service-card,.card img{transition:none!important;transform:none!important}
}
