.service-preview { position:fixed; left:0; top:0; width:224px; margin:0; border:1px solid #ece7e8; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 12px 32px -10px #0004; z-index:45; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .16s ease,visibility .16s; }
.service-preview.is-visible { opacity:1; visibility:visible; }
.service-preview img { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:#f6f4f5; }
.service-preview figcaption { padding:11px 14px; color:#1a1214; font:500 12px/1.45 Rubik,sans-serif; }
#abCols .has-service-preview:focus-visible { outline:2px solid #ff5a70; outline-offset:5px; border-radius:2px; }
@media(max-width:1023px),(hover:none),(pointer:coarse) { .service-preview { display:none; } }
@media(prefers-reduced-motion:reduce) { .service-preview { transition:none; } }

/* Frost only the lower image area; keep the card copy and link crisp. */
.svc3::before { content:''; position:absolute; inset:auto 0 0; height:42%; z-index:0; pointer-events:none; opacity:0; background:linear-gradient(to bottom,transparent,rgba(12,8,10,.64)); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 65%); mask-image:linear-gradient(to bottom,transparent 0%,#000 65%); transition:opacity .3s ease; }
.svc3-title,.svc3-desc,.svc3-go { position:relative; z-index:1; }
.svc3.is-compact,.pilot-home .svc3.is-compact { aspect-ratio:auto; height:var(--compact-card-height,350px); padding:24px; }
.svc3.is-compact .svc3-desc { display:none; }
.svc3.is-compact .svc3-img { top:auto; bottom:0; height:auto; width:100%; object-fit:contain; }
@media(hover:hover) and (pointer:fine) { .svc3:hover::before { opacity:1; } }
.svc3:focus-visible::before { opacity:1; }
@media(prefers-reduced-motion:reduce) { .svc3::before { transition:none; } }
