:root{--color-cream:#fdf6e3;--color-orange:#f5a623;--color-orange-dark:#e8941a;--color-orange-light:#ffb84d;--color-navy:#1a1a2e;--color-coral:#ff6b6b;--color-gray-dark:#2d3436;--color-gray-light:#eaeaea}html{scroll-behavior:smooth}::selection{background-color:var(--color-orange);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-cream)}.dark ::-webkit-scrollbar-track{background:var(--color-navy)}::-webkit-scrollbar-thumb{background:var(--color-orange);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-orange-dark)}body{font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.6}.font-display{font-family:'Poppins',system-ui,-apple-system,sans-serif}#loader{transition:opacity .5s ease-out , visibility .5s ease-out}#loader.hidden{opacity:0;visibility:hidden}#navbar{transition:transform .5s ease-out , background-color .3s ease}#navbar.visible{transform:translateY(0)}#navbar.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.1)}.nav-link{position:relative}.nav-indicator{position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-orange);border-radius:1px;transition:width .3s ease}.nav-link:hover .nav-indicator,.nav-link.active .nav-indicator{width:100%}#mobile-menu.open{transform:translateX(0)}.mobile-nav-link{opacity:0;transform:translateX(20px);transition:all .3s ease}#mobile-menu.open .mobile-nav-link{opacity:1;transform:translateX(0)}#mobile-menu.open .mobile-nav-link:nth-child(1) {transition-delay:.1s}#mobile-menu.open .mobile-nav-link:nth-child(2) {transition-delay:.15s}#mobile-menu.open .mobile-nav-link:nth-child(3) {transition-delay:.2s}#mobile-menu.open .mobile-nav-link:nth-child(4) {transition-delay:.25s}#theme-toggle{border:2px solid transparent}#theme-toggle:hover{border-color:rgba(245,166,35,.3)}#theme-toggle:focus-visible{box-shadow:0 0 0 3px rgba(245,166,35,.2)}.theme-toggle-circle{left:4px;top:50%;transform:translateY(-50%)}.dark .theme-toggle-circle{left:calc(100% - 28px)}.dark .sun-icon{opacity:0}.dark .moon-icon{opacity:1}.btn-primary,.btn-secondary{position:relative;overflow:hidden;z-index:1}.btn-primary::before,.btn-secondary::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease , height .6s ease;z-index:-1}.btn-primary:hover::before,.btn-secondary:hover::before{width:300px;height:300px}.btn-primary:active,.btn-secondary:active{transform:scale(.95)}.typewriter-cursor{animation:blink 1s step-end infinite;font-weight:100;color:var(--color-orange)}@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}.shape{will-change:transform}.service-card{transform-style:preserve-3d;perspective:1000px}.service-card:hover{transform:translateY(-8px) rotateX(2deg) rotateY(-2deg)}.service-card::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.1),
        transparent
    );transition:left .5s ease;pointer-events:none}.service-card:hover::after{left:100%}.contact-card{transform-style:preserve-3d}.contact-card:hover{transform:translateY(-8px)}.paw{will-change:transform}.paw-1{animation-delay:0s}.paw-2{animation-delay:.3s}.paw-3{animation-delay:.6s}.paw-4{animation-delay:.9s}.counter{font-variant-numeric:tabular-nums}#back-to-top{animation:bounceLight 2s ease-in-out infinite}@keyframes bounceLight {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}#back-to-top:hover{animation:none}@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}@keyframes wiggle {
    0%, 100% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
}@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 20px rgba(245, 166, 35, 0.4); }
    50% { box-shadow: 0 0 50px rgba(245, 166, 35, 0.8); }
}@keyframes bounceSoft {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}[data-aos="bounce-in"]{opacity:0;transform:scale(.5);transition-property:transform , opacity}[data-aos="bounce-in"].aos-animate{opacity:1;transform:scale(1)}[data-aos="flip-up"]{opacity:0;transform:perspective(2500px) rotateX(-100deg);transition-property:transform , opacity}[data-aos="flip-up"].aos-animate{opacity:1;transform:perspective(2500px) rotateX(0)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-float,.animate-bounce-slow,.animate-wiggle,.animate-pulse-glow{animation:none!important}}*:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}@media (max-width:768px){.service-card:hover,.contact-card:hover{transform:translateY(-4px)}.shape{opacity:.5}}.dark{color-scheme:dark}.dark .service-card::after{background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.05),
        transparent
    )}.gradient-text{background:linear-gradient(135deg,var(--color-orange),var(--color-coral));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.link-underline{position:relative}.link-underline::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width .3s ease}.link-underline:hover::after{width:100%}.glass{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:rgba(26,26,46,.8);border:1px solid rgba(255,255,255,.1)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--color-orange);border-radius:50%;animation:loadingDot 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1) {animation-delay:-.32s}.loading-dots span:nth-child(2) {animation-delay:-.16s}@keyframes loadingDot {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}.section-divider{width:60px;height:4px;background:linear-gradient(90deg,var(--color-orange),var(--color-coral));border-radius:2px;margin:0 auto}.img-hover-zoom{overflow:hidden}.img-hover-zoom img{transition:transform .5s ease}.img-hover-zoom:hover img{transform:scale(1.1)}.service-card{position:relative;background:linear-gradient(white,white) padding-box , linear-gradient(135deg,transparent 40%,rgba(245,166,35,.3) 100%) border-box;border:2px solid transparent}.dark .service-card{background:linear-gradient(#1f2937,#1f2937) padding-box , linear-gradient(135deg,transparent 40%,rgba(245,166,35,.3) 100%) border-box}.service-card:hover{background:linear-gradient(white,white) padding-box , linear-gradient(135deg,rgba(245,166,35,.5),rgba(255,107,107,.5)) border-box}.dark .service-card:hover{background:linear-gradient(#1f2937,#1f2937) padding-box , linear-gradient(135deg,rgba(245,166,35,.5),rgba(255,107,107,.5)) border-box}.contact-card:hover .w-16{animation:iconBounce .6s ease}@keyframes iconBounce {
    0%, 100% { transform: scale(1) rotate(0deg); }
    25% { transform: scale(1.2) rotate(-5deg); }
    50% { transform: scale(1.1) rotate(5deg); }
    75% { transform: scale(1.15) rotate(-3deg); }
}#mobile-menu{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.wave-divider{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}.wave-divider svg{position:relative;display:block;width: calc(100% + 1.3px);height:70px}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--color-orange),var(--color-coral));z-index:100;transition:width .1s ease-out}nav a img:hover{box-shadow:0 0 20px rgba(245,166,35,.4)}.btn-primary{background:linear-gradient(135deg,var(--color-orange) 0%,var(--color-orange-dark) 100%);position:relative;overflow:hidden}.btn-primary::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background: linear-gradient(
        to bottom right,
        rgba(255, 255, 255, 0.3) 0%,
        rgba(255, 255, 255, 0) 50%,
        rgba(255, 255, 255, 0) 100%
    );transform:rotate(45deg);transition:all .5s ease}.btn-primary:hover::after{left:100%;top:100%}.counter{text-shadow:0 0 20px currentColor}.custom-cursor{position:fixed;width:24px;height:24px;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s ease , opacity .2s ease;opacity:0}.custom-cursor::before{content:'';position:absolute;width:100%;height:100%;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'%23F5A623\'%3E%3Cpath\ d=\'M12\ 10c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm6-1c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zM6\ 9c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm3.5-4C8.4\ 5\ 7.5\ 5.9\ 7.5\ 7s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm5\ 0c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm-2.5\ 8c-2.8\ 0-5\ 2.2-5\ 5h10c0-2.8-2.2-5-5-5z\'/%3E%3C/svg%3E);background-size:contain;background-repeat:no-repeat}.custom-cursor.visible{opacity:1}.custom-cursor.clicking{transform:translate(-50%,-50%) scale(.8)}.custom-cursor.hovering{transform:translate(-50%,-50%) scale(1.3)}.cursor-trail-container{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}.paw-trail{position:absolute;width:16px;height:16px;opacity:.4;transform:translate(-50%,-50%);animation:pawFade 1s ease-out forwards;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ fill=\'%23F5A623\'%3E%3Cpath\ d=\'M12\ 10c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm6-1c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zM6\ 9c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm3.5-4C8.4\ 5\ 7.5\ 5.9\ 7.5\ 7s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm5\ 0c-1.1\ 0-2\ .9-2\ 2s.9\ 2\ 2\ 2\ 2-.9\ 2-2-.9-2-2-2zm-2.5\ 8c-2.8\ 0-5\ 2.2-5\ 5h10c0-2.8-2.2-5-5-5z\'/%3E%3C/svg%3E);background-size:contain}@keyframes pawFade {
    0% { opacity: 0.4; transform: translate(-50%, -50%) scale(1); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
}@media (hover:hover) and (pointer:fine){body.custom-cursor-enabled{cursor:none}body.custom-cursor-enabled a,body.custom-cursor-enabled button,body.custom-cursor-enabled input,body.custom-cursor-enabled [role="button"]{cursor:none}}.animated-gradient{background: linear-gradient(
        -45deg,
        var(--color-cream),
        #FFF5E6,
        #FFE4C4,
        var(--color-cream)
    );background-size:400% 400%;animation:gradientShift 15s ease infinite}.dark .animated-gradient{background: linear-gradient(
        -45deg,
        var(--color-navy),
        #1F1F3A,
        #252547,
        var(--color-navy)
    );background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}#home{position:relative}#home::before{content:'';position:absolute;inset:0;background: radial-gradient(
        ellipse at 30% 20%,
        rgba(245, 166, 35, 0.1) 0%,
        transparent 50%
    ),
    radial-gradient(
        ellipse at 70% 80%,
        rgba(255, 107, 107, 0.1) 0%,
        transparent 50%
    );animation:heroGlow 10s ease-in-out infinite alternate;pointer-events:none}@keyframes heroGlow {
    0% {
        opacity: 0.5;
        transform: scale(1);
    }
    100% {
        opacity: 1;
        transform: scale(1.1);
    }
}#matrix-canvas{background:rgba(0,0,0,.95)}#matrix-canvas.active{display:block;animation:matrixFadeIn .5s ease}@keyframes matrixFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}.toast{background:#fff;color:#333;padding:12px 20px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);animation:toastSlideIn .3s ease , toastSlideOut .3s ease 2.7s forwards;display:flex;align-items:center;gap:8px;font-weight:500}.dark .toast{background:#2d3748;color:#fff}@keyframes toastSlideIn {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}@keyframes toastSlideOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100px);
    }
}#cat-mascot{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}#cat-mascot.pet-animation{animation:catPet .5s ease}@keyframes catPet {
    0% { transform: scale(1) rotate(0deg); }
    25% { transform: scale(1.1) rotate(-5deg); }
    50% { transform: scale(1.15) rotate(5deg); }
    75% { transform: scale(1.1) rotate(-3deg); }
    100% { transform: scale(1) rotate(0deg); }
}#meow-bubble.show{opacity:1;transform:scale(1)}#cat-tooltip.show{opacity:1}.magnetic-btn{transition:transform .2s cubic-bezier(.25,.46,.45,.94)}.meow-text{position:absolute;white-space:nowrap;font-weight:bold;color:var(--color-orange);animation:meowFloat 2s ease forwards;pointer-events:none}@keyframes meowFloat {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-50px) scale(1.2);
    }
}