html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}button:focus,input:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}.gradient-bg{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{animation:spin 1s linear infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px #00000040}.mobile-menu-enter{opacity:0;transform:translateY(-10px)}.mobile-menu-enter-active{opacity:1;transform:translateY(0);transition:all .3s ease-out}.btn-primary{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #3b82f680}.btn-primary:active{transform:translateY(0)}.icon-bounce{transition:transform .2s ease-in-out}.icon-bounce:hover{transform:scale(1.1)}.section-reveal{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.section-reveal.revealed{opacity:1;transform:translateY(0)}.form-input{transition:all .2s ease-in-out}.form-input:focus{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a}.nav-link{position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#3b82f6;transition:width .3s ease-in-out}.nav-link:hover:before{width:100%}.logo-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.service-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease-in-out}.service-card:hover:before{left:100%}.service-card:hover{transform:translateY(-8px) scale(1.02)}@keyframes scroll-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-scroll-carousel{animation:scroll-carousel 20s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.banner-title-animate{animation:fadeInUp 1s ease-out .2s both}.banner-paragraph-animate{animation:fadeInScale 1s ease-out .5s both}.banner-button-1-animate{animation:fadeInLeft .8s ease-out 1s both}.banner-button-2-animate{animation:fadeInRight .8s ease-out 1s both}@media (max-width: 768px){.mobile-padding{padding-left:1rem;padding-right:1rem}.mobile-text-center{text-align:center}.hero-title{font-size:2.5rem;line-height:1.2}}@media (prefers-color-scheme: dark){.dark-mode-ready{transition:background-color .3s ease,color .3s ease}}@media print{.no-print{display:none}*{box-shadow:none!important}}
