@keyframes lbPulse { 0% { transform:scale(.8); opacity:.55; } 100% { transform:scale(1.9); opacity:0; } }
@keyframes lbFloat { 0%, 100% { transform:translateY(0px); } 50% { transform:translateY(-14px); } }
@keyframes lbFadeUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes lbPulseDot { 0%,100% { opacity:1; } 50% { opacity:.3; } }

.lb-ring { position:absolute; width:clamp(260px, 30vw, 400px); aspect-ratio:1/1; border-radius:50%; border:2px solid #ffd9ad; animation:lbPulse 3s ease-out infinite; }
.lb-card { animation:lbFloat 5s ease-in-out infinite; }
.lb-fade { animation:lbFadeUp .8s cubic-bezier(.2,.7,.2,1) both; }

.lb-btn-primary { transition:transform .18s ease, box-shadow .18s ease; }
.lb-btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 28px -8px rgba(194,84,10,.5); }

.lb-btn-outline { transition:border-color .18s ease, color .18s ease, background .18s ease; }
.lb-btn-outline:hover { background:#f97316 !important; color:#fff !important; }

.lb-btn-ghost-dark { transition:background .18s ease, border-color .18s ease; }
.lb-btn-ghost-dark:hover { background:rgba(255,255,255,.16) !important; border-color:#fff !important; }

.lb-card-hover { transition:transform .25s ease, box-shadow .25s ease; }
.lb-card-hover:hover { transform:translateY(-6px); box-shadow:0 24px 40px -20px rgba(17,24,39,.22); }