/* Product-inspired service cards, shared across service listings. */
.services-grid { perspective: 1400px; }
.service-card.service-product-card {
    padding: 0;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .12);
    transform-style: preserve-3d;
    transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s, border-color .3s;
}
.service-card.service-product-card::before,
.service-card.service-product-card::after { display: none; }
.service-product-card .service-card-image-link { flex-shrink: 0; }
.service-product-card .service-card-image { height: 250px; border-radius: 0; }
.service-product-card .service-card-image img { transition: transform .7s ease; }
.service-product-card .service-card-overlay { background: linear-gradient(180deg, transparent 70%, rgba(5, 15, 25, .16)); }
.service-product-card .service-card-body { padding: 24px; gap: 14px; min-width: 0; }
.service-product-card .service-card-kicker {
    display: flex; align-items: center; gap: 8px;
    color: var(--cyan); font-size: .72rem; font-weight: 800; letter-spacing: .03em;
}
.service-product-card .service-title { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.7rem); line-height: 1.45; }
.service-product-card .service-desc { margin: 0 0 8px; font-size: .95rem; line-height: 1.85; color: var(--text-secondary); }
.service-product-card .service-card-actions { padding-top: 18px; border-top: 1px solid var(--border); gap: 12px; }
.service-product-card .service-link { display: inline-flex; gap: 10px; align-items: center; font-size: .88rem; font-weight: 700; }
.service-product-card .service-card-arrow {
    display: inline-grid; place-items: center; width: 32px; height: 32px;
    border: 1px solid var(--border); border-radius: 50%; transition: background .25s;
}
.service-product-card .service-start-btn { border-radius: 100px; padding: 9px 17px; font-size: .8rem; }
.service-product-card .featured-badge {
    background: rgba(5, 19, 29, .86); color: #9eeaf0;
    border: 1px solid rgba(117, 224, 236, .4); padding: 7px 14px; box-shadow: none;
}
.service-product-card a:focus-visible, .service-product-card button:focus-visible { outline: 2px solid var(--cyan); outline-offset: -3px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .service-card.service-product-card:hover { transform: translateY(-10px) rotateX(3deg) rotateY(-3deg); box-shadow: 0 28px 60px rgba(0, 0, 0, .22); border-color: var(--cyan); }
    .service-product-card:hover .service-card-image img { transform: scale(1.06); }
}
@media (max-width: 640px) {
    .services-grid { grid-template-columns: 1fr; }
    .service-product-card .service-card-image { height: 230px; }
    .service-product-card .service-card-body { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .service-card.service-product-card, .service-product-card .service-card-image img { transition: none; }
    .service-card.service-product-card:hover, .service-product-card:hover .service-card-image img { transform: none; }
}
