/* extra visuals */
html,body{height:100%}
.hero-bg{position:absolute;inset:-30vmax;z-index:-1;filter:blur(30px)}
.card-glass{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.shadow-glow{box-shadow:0 0 28px rgba(80,140,255,.35)}
.fade-up{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.fade-up.show{opacity:1;transform:none}
.cursor-dot,.cursor-outline{position:fixed;left:0;top:0;pointer-events:none;z-index:50;transform:translate(-50%,-50%)}
.cursor-dot{width:6px;height:6px;background:#8fb2ff;border-radius:50%}
.cursor-outline{width:28px;height:28px;border:1px solid rgba(143,178,255,.6);border-radius:50%;transition:width .2s,height .2s,border-color .2s}
.tilt{transform-style:preserve-3d;transition:transform .15s ease,box-shadow .2s ease}
.tilt:hover{box-shadow:0 8px 30px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.06) inset}
.tilt>.tilt-inner{transform:translateZ(22px)}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border-radius:.7rem;font-size:.85rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.badge .dot{width:8px;height:8px;border-radius:999px;background:#6aa7ff}
