.services-feature-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; width: 100%; list-style: none; padding: 0; margin: 0; } @media (min-width: 768px) { .services-feature-grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1024px) { .services-feature-grid { grid-template-columns: repeat(3, 1fr); } } .service-feature { position: relative; isolation: isolate; height: 100%; border-radius: 1.5rem; background-color: rgba(255, 255, 255, 0.95); box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8); transition: transform 0.25s ease, box-shadow 0.25s ease; } .service-feature::after { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; background: linear-gradient( 135deg, rgba(56, 189, 248, 0.45), rgba(109, 40, 217, 0.35), rgba(60, 60, 60, 0.15) ); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; pointer-events: none; transition: opacity 0.25s ease; } .service-feature:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(56, 189, 248, 0.12), 0 8px 24px rgba(109, 40, 217, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9); } .service-feature:hover::after { opacity: 1; background: linear-gradient( 135deg, rgba(56, 189, 248, 0.65), rgba(109, 40, 217, 0.55), rgba(60, 60, 60, 0.2) ); } .service-feature-body { position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; padding: 1.5rem; } .service-feature-icon { display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: 0.75rem; color: #6d28d9; background: linear-gradient( 135deg, rgba(56, 189, 248, 0.15), rgba(109, 40, 217, 0.15) ); } .service-feature-title { margin-bottom: 0.75rem; font-size: 1.25rem; font-weight: 600; line-height: 1.4; color: var(--foreground, #171717); } .service-feature-description { flex: 1; font-size: 1rem; line-height: 1.6; color: #52525b; } @media (prefers-color-scheme: dark) { .service-feature { background-color: rgba(24, 24, 27, 0.95); box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06); } .service-feature:hover { box-shadow: 0 12px 32px rgba(56, 189, 248, 0.15), 0 8px 24px rgba(109, 40, 217, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08); } .service-feature-title { color: #ededed; } .service-feature-description { color: #a1a1aa; } } @media (prefers-reduced-motion: reduce) { .service-feature, .service-feature::after { transition: none; } .service-feature:hover { transform: none; } }