.custom-cursor{pointer-events:none;position:fixed;top:0;left:0;z-index:99999}.cursor-dot{position:absolute;width:32px;height:32px;background-image:url(/assets/logo/responsive/notch-logo-192.avif);background-size:contain;background-repeat:no-repeat;background-position:center;transform:translate(-50%,-50%);transition:transform .15s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));opacity:.9}.cursor-outline{display:none}.custom-cursor.cursor-hover .cursor-dot{transform:translate(-50%,-50%) scale(1.2) rotate(5deg);opacity:1}.loading-progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--notch-accent),#25D366,var(--notch-accent));background-size:200% 100%;animation:progressGradient 1.5s ease infinite;z-index:99999;width:0;transition:width .3s cubic-bezier(.16,1,.3,1),opacity .3s ease;box-shadow:0 2px 8px #153f3480}@keyframes progressGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.text-reveal span{display:inline-block;opacity:0;transform:translateY(20px) rotateX(-90deg);animation:revealChar .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes revealChar{to{opacity:1;transform:translateY(0) rotateX(0)}}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.fade-in-up.revealed{opacity:1;transform:translateY(0)}.values-grid .value,.contact-grid .contact-block{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.glass-effect{background:#ffffff0d;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.pulse-animation{animation:pulse 2s ease-in-out infinite}@keyframes gradientBorder{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gradient-border{position:relative;border:2px solid transparent;background-clip:padding-box}.gradient-border:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(90deg,var(--notch-accent),#25D366,var(--notch-accent));background-size:200% 100%;animation:gradientBorder 3s ease infinite;z-index:-1}.glow-effect{position:relative}.glow-effect:before{content:"";position:absolute;inset:-4px;border-radius:inherit;background:radial-gradient(circle,var(--notch-accent) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(8px)}.glow-effect:hover:before{opacity:.6}.hover-lift{transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.hover-lift:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.ripple-effect:active:after{width:300px;height:300px}.scale-hover{transition:transform var(--transition-smooth)}.scale-hover:hover{transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}@media(max-width:768px){.custom-cursor{display:none}.text-reveal span{animation-duration:.3s}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
