body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;}.animate-fade-in{animation-duration:1s;animation-timing-function:ease-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:both;animation-play-state:running;animation-name:fadeIn;}.animate-fade-in-delay{animation-duration:1s;animation-timing-function:ease-out;animation-delay:0.3s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:both;animation-play-state:running;animation-name:fadeIn;}.nav-link{transition-duration:0.3s;transition-timing-function:ease;transition-delay:0s;transition-property:all;}.nav-link.active{color:rgb(59, 130, 246);border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:rgb(59, 130, 246);}.product-card{transition-duration:0.3s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-delay:0s;transition-property:all;}.product-card:hover{transform:translateY(-5px);box-shadow:rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;}.service-card{transition-duration:0.3s;transition-timing-function:ease;transition-delay:0s;transition-property:all;}.service-card:hover{transform:translateY(-3px);}.gallery-item{transition-duration:0.3s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-delay:0s;transition-property:all;}.gallery-item:hover{transform:scale(1.05);}.hero-canvas{position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:-1;}#mobile-menu{display:none;}#mobile-menu.show{display:block;}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background-color:rgb(241, 241, 241);}::-webkit-scrollbar-thumb{background-color:rgb(136, 136, 136);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;}::-webkit-scrollbar-thumb:hover{background-color:rgb(85, 85, 85);}.animate-float{animation-duration:3s;animation-timing-function:ease-in-out;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:float;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.animate-shine{background-image:linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.8) 50%, transparent 70%);background-position-x:initial;background-position-y:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-color:initial;background-size:200% 100%;background-clip:text;animation-duration:3s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:shine;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.animate-typing{overflow-x:hidden;overflow-y:hidden;border-right-width:0.15em;border-right-style:solid;border-right-color:orange;white-space-collapse:collapse;text-wrap-mode:nowrap;animation-duration:3.5s, 0.5s;animation-timing-function:steps(30), step-end;animation-delay:0s, 0s;animation-iteration-count:1, infinite;animation-direction:normal, normal;animation-fill-mode:none, none;animation-play-state:running, running;animation-name:typing, blink-caret;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}.animate-blur-focus{animation-duration:4s;animation-timing-function:ease-in-out;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:blur-focus;animation-timeline:auto;animation-range-start:normal;animation-range-end:normal;}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px);}100%{opacity:1;transform:translateY(0px);}}@keyframes float{0%, 100%{transform:translateY(0px);}50%{transform:translateY(-20px);}}@keyframes shine{0%{background-position-x:-200%;background-position-y:center;}100%{background-position-x:200%;background-position-y:center;}}@keyframes typing{0%{width:0px;}100%{width:100%;}}@keyframes blur-focus{0%, 100%{filter:blur(20px);opacity:0;}50%{filter:blur(0px);opacity:1;}}@media (max-width: 768px){.hero-content{padding-top:4rem;}.nav-links{display:none;}.mobile-menu-toggle{display:block;}}