.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:translate(0,0)}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}
.reveal-d4{transition-delay:.4s}
.hero-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.65;pointer-events:none;z-index:0}
.hero-blob-1{width:500px;height:500px;background:rgba(4,107,252,.22);top:-180px;left:-120px}
.hero-blob-2{width:360px;height:360px;background:rgba(255,153,0,.16);top:30px;right:-70px}
.hero-blob-3{width:320px;height:320px;background:rgba(4,107,252,.18);bottom:-70px;left:28%}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(4,107,252,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(4,107,252,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:1}
.section-blob{position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:0}
.section-blob-blue{background:rgba(4,107,252,.14)}
.section-blob-orange{background:rgba(255,153,0,.11)}
.section-blob-green{background:rgba(16,185,129,.11)}
.back-to-top{position:fixed;bottom:5rem;right:1.5rem;z-index:60;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .2s,color .2s,border-color .2s}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{background:#046bfc;color:#fff;border-color:#046bfc}
@media (max-width:768px){.hero-blob{opacity:.38;filter:blur(120px)}.hero-blob-1{width:280px;height:280px}.hero-blob-2{width:220px;height:220px}.hero-blob-3{width:200px;height:200px}.back-to-top{bottom:1.25rem;right:1rem}}
.faq-tab:focus-visible,.faq-question:focus-visible,.back-to-top:focus-visible{outline:2px solid #046bfc;outline-offset:3px;border-radius:8px}
a:focus-visible{outline:2px solid #046bfc;outline-offset:2px;border-radius:4px}
