body {
    background-color: #05070a;
    color: #f8fafc;
    overflow-x: hidden;
}

.glass {
    background: rgba(13, 17, 23, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.gradient-text {
    background: linear-gradient(135deg, #f8fafc 0%, #94a3b8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Reserve space for descenders (e.g. "g" in Intelligence) when using gradient text */
.hero-tagline {
    padding-bottom: 0.2em;
    box-sizing: border-box;
}

.gradient-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-gradient {
    background: radial-gradient(circle at 50% 50%, rgba(59, 130, 246, 0.12) 0%, transparent 70%);
}

.grid-bg {
    background-image: linear-gradient(rgba(31, 41, 55, 0.1) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(31, 41, 55, 0.1) 1px, transparent 1px);
    background-size: 40px 40px;
}

.grid-bg-inner {
    background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 24px 24px;
}

.vertical-card:hover {
    transform: translateY(-8px);
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 20px 40px -20px rgba(59, 130, 246, 0.3);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #05070a;
}
::-webkit-scrollbar-thumb {
    background: #1f2937;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #374151;
}
