.tsp-hero {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    padding: 32px;
    background: linear-gradient(135deg, #0f79f3 0%, #138bfd 55%, #796df6 100%);
    color: #fff;
}

.tsp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 85% 20%, rgba(255, 255, 255, 0.16), transparent 55%);
    pointer-events: none;
}

.tsp-hero-body {
    max-width: 760px;
    position: relative;
}

.tsp-hero-body p {
    color: rgba(255, 255, 255, 0.92);
}

.tsp-hero-cta {
    background: #fff;
    color: #0f79f3 !important;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}

.tsp-hero-cta:hover {
    background: #f1f2fd;
    color: #0f79f3;
}

[data-theme="dark"] .tsp-hero-cta {
    color: #0f79f3 !important;
}

@media (max-width: 767.98px) {
    .tsp-hero {
        padding: 24px;
    }
}
