:root{--t-move:.9s;--t-settle:.35s;--t-band:.25s;--t-overlay:.25s;--d-band:0s;--d-overlay:0s;--ease-move:cubic-bezier(.2,.75,.2,1);--ease-settle:cubic-bezier(.12,.72,.14,1);--ease-fade:ease-out;--card-radius:16px;--band-h:64px;--target-y:50%;--start-scale:.62;--overshoot-scale:1.04;--final-scale:1;--overlay-alpha:.36;--shadow:0 8px 24px rgba(0,0,0,.16);--shadow-hover:0 18px 44px rgba(0,0,0,.32)}
.services-grid{align-items:stretch}
.service-card{position:relative;border-radius:var(--card-radius);overflow:hidden;background-size:cover;background-position:center;box-shadow:var(--shadow);transition:transform .25s cubic-bezier(.2,.75,.2,1),box-shadow .25s cubic-bezier(.2,.75,.2,1)}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.service-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(0 0 0 / var(--overlay-alpha)) 0%,rgba(0 0 0 / var(--overlay-alpha)) calc(100% - var(--band-h)),rgba(0 0 0 / 0) calc(100% - var(--band-h)),rgba(0 0 0 / 0) 100%);opacity:1;transition:opacity var(--t-overlay) var(--ease-fade) var(--d-overlay)}
.service-card:hover::before{opacity:0}
.card-band{position:absolute;left:0;right:0;bottom:0;z-index:3;background:#000;min-height:var(--band-h);display:flex;align-items:center;justify-content:center;padding:18px 24px;text-align:center;font-weight:700;letter-spacing:.4px;opacity:1;transform:translateY(0);transition:opacity var(--t-band) var(--ease-fade) var(--d-band),transform var(--t-band) var(--ease-fade) var(--d-band)}
.service-card:hover .card-band{opacity:0;transform:translateY(8px)}
.card-hover{position:absolute;left:50%;bottom:0;z-index:4;background:#007951;padding:16px 22px;border-radius:10px;text-align:center;font-weight:700;pointer-events:none;opacity:0;transform:translate(-50%,0) scale(var(--start-scale));transform-origin:50% 100%}
.service-card:hover .card-hover{animation:hoverBoxMove var(--t-move) var(--ease-move) forwards,hoverBoxSettle var(--t-settle) var(--ease-settle) forwards calc(var(--t-move) - .08s);opacity:1}
@keyframes hoverBoxMove{0%{bottom:0;top:auto;transform:translate(-50%,0) scale(var(--start-scale))}78%{bottom:auto;top:var(--target-y);transform:translate(-50%,-50%) scale(var(--overshoot-scale))}100%{bottom:auto;top:var(--target-y);transform:translate(-50%,-50%) scale(var(--overshoot-scale))}}
@keyframes hoverBoxSettle{0%{top:var(--target-y);transform:translate(-50%,-50%) scale(var(--overshoot-scale))}100%{top:var(--target-y);transform:translate(-50%,-50%) scale(var(--final-scale))}}
.service-card .elementor-widget,.service-card .elementor-widget-container{text-align:center}
@media (max-width:767px){.service-card:hover .card-hover{animation:none;opacity:0;bottom:0;top:auto;transform:translate(-50%,0) scale(var(--start-scale))}}
.card-band,.card-hover{pointer-events:none}
.service-card{position:relative}
.service-card .stretched-link,.service-card .stretched-link .elementor-widget-container{position:static !important;z-index:auto !important;margin:0 !important;padding:0 !important}
.service-card .stretched-link p{margin:0 !important}
.service-card .stretched-link a{position:absolute !important;inset:0 !important;display:block !important;z-index:999 !important;pointer-events:auto !important;background:transparent !important;border:0 !important;outline:0 !important;color:transparent !important;text-decoration:none !important;text-indent:-9999px !important;font-size:0 !important;line-height:0 !important;opacity:0 !important}
.service-card .stretched-link a:after{content:" ";position:absolute;inset:0}
@media (prefers-reduced-motion:reduce){.service-card,.card-band,.card-hover,.service-card::before{transition:none !important;animation:none !important}}
