:root{--primary:#4f7dff;--secondary:#8a2be2;--bg:#0b0f18;--text:#d6e2ff;}
.bg-body{background:radial-gradient(140% 120% at 80% 10%, #1b2340, transparent 60%), var(--bg);color:var(--text)}
.nav-blur{background:rgba(10,14,24,.65);backdrop-filter:blur(8px)}
.footer-grad{background:linear-gradient(135deg, rgba(79,125,255,.35), rgba(138,43,226,.35))}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.btn-outline-primary:hover{background:var(--primary);color:#fff}
.hero-title{font-weight:800;letter-spacing:.5px}
.glow{text-shadow:0 0 20px rgba(79,125,255,.35)}
.card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px}
.card-hover:hover{transform:translateY(-6px);transition:.25s;box-shadow:0 .75rem 2rem rgba(0,0,0,.25)}
.avatar{width:100px;height:100px;object-fit:cover;border-radius:100px;border:2px solid rgba(255,255,255,.2)}
.section{padding:80px 0}
.swiper-slide img{width:100%;height:420px;object-fit:cover;border-radius:16px}
.icon-btn i{width:1.25rem;text-align:center}
small.muted{color:#8fa6d9}
.preview-lights::before,.preview-lights::after{content:"";position:absolute;filter:blur(60px);opacity:.25;z-index:-1}
.preview-lights::before{width:320px;height:320px;background:#4f7dff;top:-40px;right:10%;border-radius:50%;animation:float1 8s ease-in-out infinite}
.preview-lights::after{width:260px;height:260px;background:#21d07a;bottom:-40px;left:5%;border-radius:50%;animation:float2 10s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(18px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}