/* Services browser: brief entrances, steady controls, quiet feedback. */
body[data-page="services"]{--services-motion-ease:cubic-bezier(.22,1,.36,1)}
body[data-page="services"] [data-services-reveal]{opacity:1}
body[data-page="services"] .service-card{transition:border-color .22s ease,box-shadow .22s ease}
body[data-page="services"] .service-card:hover{transform:none;border-color:var(--violet)}
body[data-page="services"] .service-card:focus-visible{border-color:var(--violet)}
body[data-page="services"] .service-card::after{content:"";position:absolute;bottom:-1px;left:0;width:58px;height:2px;background:linear-gradient(90deg,var(--violet),var(--gold));transform:scaleX(1);transform-origin:left;pointer-events:none}
body[data-page="services"].services-motion-ready .service-card::after{transition:transform .42s var(--services-motion-ease)}
body[data-page="services"].services-motion-ready .service-card:not(.services-revealed)::after{transform:scaleX(.35)}
body[data-page="services"] .card-visual img{transition:transform .45s var(--services-motion-ease)}
body[data-page="services"] .service-card:hover .card-visual img{transform:none}
body[data-page="services"] .card-link svg{transition:transform .2s var(--services-motion-ease)}
body[data-page="services"] .filter,
body[data-page="services"] .service-view button{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
body[data-page="services"] .service-search{transition:border-color .18s ease}
body[data-page="services"] .service-search:focus-within{border-color:var(--violet)}
body[data-page="services"] .find-help{position:relative;transition:border-color .2s ease}
body[data-page="services"] .find-help::before{content:"";position:absolute;left:-1px;top:22px;bottom:22px;width:3px;background:linear-gradient(var(--violet),var(--gold));transform:scaleY(1);transform-origin:top;pointer-events:none}
body[data-page="services"].services-motion-ready .find-help::before{transition:transform .42s var(--services-motion-ease)}
body[data-page="services"].services-motion-ready .find-help:not(.services-revealed)::before{transform:scaleY(.35)}
body[data-page="services"] .find-help:focus-within{border-color:var(--violet)}
body[data-page="services"] .find-help .btn{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-page="services"] .find-help .btn:hover{transform:none}
body[data-page="services"] .contact-call,
body[data-page="services"] .contact-save{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-page="services"] .contact-save:hover{transform:none}
body[data-page="services"] .contact-email{transition:color .18s ease}
body[data-page="services"] .contact-hub-form{transition:border-color .2s ease,box-shadow .2s ease}
body[data-page="services"] .contact-hub-form:focus-within{border-color:#b49bc4;box-shadow:0 0 0 3px #7944a60c}
@media(hover:hover) and (pointer:fine) and (min-width:651px){
 body[data-page="services"] .service-grid:not(.is-list) .service-card:hover .card-visual img{transform:scale(1.02)}
 body[data-page="services"] .service-card:hover .card-link svg{transform:translateX(2px)}
}
.motion-paused body[data-page="services"] main>section:not([data-motion-banner]) *,
.motion-paused body[data-page="services"] main>section:not([data-motion-banner]) *::before,
.motion-paused body[data-page="services"] main>section:not([data-motion-banner]) *::after{animation:none!important;transition:none!important}
.motion-paused body[data-page="services"] .service-card::after{transform:scaleX(1)!important}
.motion-paused body[data-page="services"] .find-help::before{transform:scaleY(1)!important}
.motion-paused body[data-page="services"] .service-card:hover .card-visual img,
.motion-paused body[data-page="services"] .service-card:hover .card-link svg{transform:none!important}
@media(prefers-reduced-motion:reduce){
 body[data-page="services"] main>section:not([data-motion-banner]) *,
 body[data-page="services"] main>section:not([data-motion-banner]) *::before,
 body[data-page="services"] main>section:not([data-motion-banner]) *::after{animation:none!important;transition:none!important}
 body[data-page="services"] .service-card::after{transform:scaleX(1)!important}
 body[data-page="services"] .find-help::before{transform:scaleY(1)!important}
 body[data-page="services"] .service-card:hover .card-visual img,
 body[data-page="services"] .service-card:hover .card-link svg{transform:none!important}
}
@media print{
 body[data-page="services"] [data-services-reveal]{opacity:1!important;transform:none!important}
 body[data-page="services"] .service-card::after,
 body[data-page="services"] .find-help::before{display:none}
}
