/* Afinityinc — Service "Related projects" section (add-on) */
.service-projects-section{background:#09090b;position:relative;overflow:hidden}
.service-projects-section:before{content:"";position:absolute;left:50%;top:-180px;width:720px;height:360px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(157,130,232,.18),transparent);pointer-events:none}
.service-projects-section .container{position:relative}
.service-projects-section .service-detail-section-head h2{color:#fff}
.service-projects-section .service-detail-section-head>p{color:#85818b}
.sp-all-link{display:inline-block;margin-left:6px;color:var(--purple);font-weight:600;text-decoration:none;white-space:nowrap}
.sp-all-link:hover{text-decoration:underline}

.sp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sp-card{border-radius:18px;overflow:hidden;background:#0d0d10;border:1px solid rgba(255,255,255,.1);transition:transform .4s,border-color .4s}
.sp-card:hover{transform:translateY(-6px);border-color:rgba(200,182,255,.4)}
.sp-card-inner{display:block;height:100%;color:inherit;text-decoration:none}
.sp-media{position:relative;aspect-ratio:1.4;background:linear-gradient(135deg,#2b2340,#110f18);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-weight:800;font-size:22px;letter-spacing:-.03em;text-align:center;padding:16px}
.sp-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.sp-card:hover .sp-media img{transform:scale(1.04)}
.sp-visit{position:absolute;right:14px;top:14px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(7,7,7,.78);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);font-size:11px;color:#fff;opacity:0;transform:translateY(-4px);transition:.3s}
.sp-card:hover .sp-visit,.sp-card-inner:focus-visible .sp-visit{opacity:1;transform:none}
.sp-body{padding:22px 24px 26px;border-top:1px solid rgba(200,182,255,.14)}
.sp-label{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}
.sp-body h3{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.045em;color:#fff}

@media(max-width:980px){.sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sp-grid{grid-template-columns:1fr;gap:16px}.sp-body{padding:18px 20px 22px}.sp-body h3{font-size:23px}.sp-visit{opacity:1;transform:none}}
