body {
    font-family: 'Poppins', sans-serif;
    background-color: #090D16;
    color: #E2E8F0;
}
.glass-card {
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.glow-text {
    text-shadow: 0 0 20px rgba(0, 229, 255, 0.5);
}
@keyframes float {
    0%, 100% { transform: translate(0,0); }
    50% { transform: translate(20px,-20px); }
}
.float-slow { animation: float 10s ease-in-out infinite; }
.float-slower { animation: float 14s ease-in-out infinite reverse; }

.service-card {
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -20px rgba(0, 229, 255, 0.25);
    border-color: rgba(34, 211, 238, 0.5);
}

.nav-link {
    position: relative;
    padding-bottom: 4px;
    transition: color 0.2s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    left: 0; bottom: -4px;
    width: 0%; height: 2px;
    background: linear-gradient(90deg, #22d3ee, #6366f1);
    transition: width 0.3s ease;
}
.nav-link:hover { color: #22d3ee; }
.nav-link:hover::after { width: 100%; }
.nav-link.active-link { color: #22d3ee; }
.nav-link.active-link::after { width: 100%; }

.status-dot {
    box-shadow: 0 0 0 0 rgba(34,197,94,0.6);
    animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
    0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.6); }
    70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}

.page-hero {
    padding: 160px 24px 80px;
}