:root {
    color-scheme: dark;
    --bg: #05070f;
    --accent: #5eead4;
    --accent-2: #38bdf8;
    --ink: #e8eefc;
    --muted: #9aa8c7;
}
html { scroll-behavior: smooth; }
body {
    font-family: 'Sora', system-ui, sans-serif;
    background:
        radial-gradient(ellipse 80% 50% at 10% -10%, rgba(56,189,248,.18), transparent 50%),
        radial-gradient(ellipse 60% 40% at 90% 0%, rgba(94,234,212,.12), transparent 45%),
        radial-gradient(ellipse 50% 30% at 50% 100%, rgba(15,23,42,.9), transparent),
        var(--bg);
    color: var(--ink);
}
h1, h2, h3, .font-display {
    font-family: 'Outfit', system-ui, sans-serif;
}
.glass {
    background: rgba(255,255,255,.035);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,.1);
}
.shadow-glow {
    box-shadow: 0 0 0 1px rgba(94,234,212,.12), 0 30px 80px rgba(14,165,233,.15);
}
.grid-bg {
    background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at center, black 20%, transparent 75%);
}
.orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    pointer-events: none;
    animation: float 10s ease-in-out infinite;
}
.orb-a { width: 280px; height: 280px; background: rgba(56,189,248,.25); top: 8%; left: -4%; }
.orb-b { width: 220px; height: 220px; background: rgba(94,234,212,.2); right: 0; top: 35%; animation-delay: -3s; }
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-22px); }
}
.btn-primary {
    background: linear-gradient(135deg, #2dd4bf, #38bdf8);
    color: #041018;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease;
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(45,212,191,.35);
}
.service-card {
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.service-card:hover {
    border-color: rgba(94,234,212,.35);
    transform: translateY(-6px);
}
.prose-seo p { margin-bottom: 1rem; line-height: 1.75; color: #cbd5e1; }
.prose-seo h2 { margin-top: 2rem; margin-bottom: .75rem; }
.prose-seo h3 { margin-top: 1.5rem; margin-bottom: .5rem; }
.prose-seo ul { margin: 1rem 0 1.25rem; padding-left: 1.1rem; color: #cbd5e1; }
.prose-seo li { margin-bottom: .45rem; list-style: disc; }
details summary::-webkit-details-marker { display: none; }
details[open] summary .faq-chevron { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) {
    .orb, [data-aos] { animation: none !important; transition: none !important; }
}
