
html { scroll-behavior: smooth; }
.glass { background: rgba(15,23,42,.55); backdrop-filter: blur(18px); }
.hero-grid::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at center, black 35%, transparent 80%); opacity: .18; }
.orb { position:absolute; border-radius:9999px; filter: blur(70px); opacity:.4; }
.hover-lift { transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.hover-lift:hover { transform: translateY(-8px); box-shadow: 0 20px 60px rgba(124,58,237,.22); border-color: rgba(252,211,77,.45); }
.service-image { aspect-ratio: 16/10; object-fit: cover; }
.text-gradient { background: linear-gradient(90deg, #fff, #fde68a, #c084fc); -webkit-background-clip:text; background-clip:text; color: transparent; }
.section-title { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; font-weight: 800; }
