.content-card { position: relative; isolation: isolate; 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; } .content-card::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; } .content-card: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); } .content-card: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) ); } .content-card-body { position: relative; z-index: 1; } .content-card-image { overflow: hidden; border-radius: 1rem; background-color: rgba(0, 0, 0, 0.04); } .content-card-image img { transition: transform 0.35s ease; } .content-card:hover .content-card-image img { transform: scale(1.05); } .content-card-cta { display: inline-flex; align-items: center; border-radius: 9999px; padding: 0.625rem 1rem; font-size: 0.875rem; font-weight: 600; line-height: 1.25rem; text-decoration: none; color: #fff; background: linear-gradient(90deg, #38bdf8, #6d28d9); box-shadow: 0 2px 12px rgba(56, 189, 248, 0.25); transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease; } .content-card-cta:hover { transform: translateY(-1px); box-shadow: 0 4px 20px rgba(109, 40, 217, 0.35); filter: brightness(1.08); } .content-card-cta:focus-visible { outline: 2px solid #38bdf8; outline-offset: 2px; } @media (prefers-color-scheme: dark) { .content-card { 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); } .content-card: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); } .content-card-image { background-color: rgba(255, 255, 255, 0.04); } } @media (prefers-reduced-motion: reduce) { .content-card, .content-card::after, .content-card-image img, .content-card-cta { transition: none; } .content-card:hover, .content-card:hover .content-card-image img, .content-card-cta:hover { transform: none; } }