.firecracker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;overflow:hidden;pointer-events:none}.firework-burst{position:absolute;width:100px;height:100px;transform-origin:center center}.particle{position:absolute;width:10px;height:10px;background:hsl(var(--hue),100%,60%);border-radius:50%;opacity:.9;animation:fireworkBurst 1.6s ease-out forwards;--dx:calc((50% - 100%) * (1 + (var(--rand-x, 0) * 4)));--dy:calc((50% - 100%) * (1 + (var(--rand-y, 0) * 4)));animation-delay:calc(var(--j) * 1s)}.firework-burst span{--dx:0px;--dy:0px;animation-delay:0s}@keyframes fireworkBurst{0%{transform:translate(0) scale(1);opacity:1}50%{transform:translate(var(--dx),var(--dy)) scale(3);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.blast-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;color:#fff;font-weight:700;animation:fadeText .6s ease-in-out forwards;z-index:10;text-align:center}@keyframes fadeText{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.animate-from-bottom{display:block;transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.animate-from-bottom img{display:block;width:100%;height:auto;object-fit:cover;will-change:transform,opacity}@keyframes waveBounce{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(-2deg)}50%{transform:translateY(0) rotate(2deg)}75%{transform:translateY(-5px) rotate(-1deg)}to{transform:translateY(0) rotate(0deg)}}.wave-bounce{animation:waveBounce 2.5s ease-in-out infinite;transform-origin:center}@keyframes pulsePop{0%{transform:scale(1) rotate(0deg);opacity:1}30%{transform:scale(1.2) rotate(3deg);opacity:.9}60%{transform:scale(.95) rotate(-3deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}.pulse-pop{animation:pulsePop 1.8s ease-in-out infinite;transform-origin:center}@keyframes swirlPointOut{0%{transform:rotate(0deg) scale(1);opacity:1}30%{transform:rotate(10deg) scale(1.05) translateX(-2px)}60%{transform:rotate(-10deg) scale(.98) translateX(2px)}to{transform:rotate(0deg) scale(1) translateX(0)}}.swirl-point-out{animation:swirlPointOut 2.5s ease-in-out infinite;transform-origin:center}@media (max-width:576px){.contact_underline{width:150px!important}}@media (max-width:1024px){.contact_underline{width:200px}}@media (max-width:1200px){.contact_underline{width:250px}}#smooth-wrapper{height:100%;overflow:hidden}#smooth-content{will-change:transform}