*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --ink:#0f0a1e;
    --paper:#f8f7fc;
    --white:#ffffff;
    --muted:#7c6fa0;
    --border:#e0daf0;
    --accent:#933aff;
    --accent-light:#f3ebff;
    --accent-mid:#b67cff;
    --accent-glow:rgba(147,58,255,0.15);
    --accent-hover:#7c1fe0;
}
html{scroll-behavior:smooth}
body{font-family:'Sora',sans-serif;background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden}
.bg-glow{
    position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:100vw;height:900px;
    background:radial-gradient(circle at 15% 20%,rgba(147,58,255,0.08) 0%,transparent 45%),
               radial-gradient(circle at 85% 35%,rgba(147,58,255,0.05) 0%,transparent 45%);
    z-index:-2;pointer-events:none
}

/* Animações Globais */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* Botão Flutuante Suporte */
@keyframes pulseGlow {
    0% { box-shadow: 0 0 0 0 rgba(147, 58, 255, 0.5); }
    70% { box-shadow: 0 0 0 20px rgba(147, 58, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(147, 58, 255, 0); }
}
.floating-btn {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 28px rgba(147, 58, 255, 0.3);
    z-index: 1000;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    text-decoration: none;
    animation: pulseGlow 2.5s infinite cubic-bezier(0.66, 0, 0, 1);
}
.floating-btn:hover {
    transform: scale(1.1) translateY(-4px);
    background: var(--accent-hover);
}
.floating-btn svg { width: 32px; height: 32px; fill: currentColor; }
