*{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-primary);scroll-behavior:smooth}body{line-height:1.6;color:#1f2937;overflow-x:hidden}:root{--primary-color: #142b62;--secondary-color: #0053b4;--accent-color: #3b82f6;--text-color: #1f2937;--text-light: #6b7280;--bg-light: #f8fafc;--border-color: #e5e7eb;--white: #ffffff;--bg-blue-transparent: #0054b4da;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition: all .3s ease;--font-primary: "Lato", system-ui, sans-serif;--font-secondary: "Lato", system-ui, sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.section-padding{padding:5rem 0}.title-large{font-size:clamp(2rem,4vw,2.5rem);font-family:LatoBlack,system-ui,sans-serif;color:var(--primary-color);margin-bottom:1rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.title-large.fade-in-up{opacity:1;transform:translateY(0)}.text-subtitle{max-width:600px;margin:0 auto;font-size:1.1rem;color:var(--text-light);line-height:1.6}.divider-gradient{width:60px;height:4px;background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));margin:0 auto 2rem}.btn{position:relative;display:inline-block;padding:.75rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;font-size:1rem;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s;z-index:-1}.btn:active:before{width:300px;height:300px}.btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s;z-index:-1}.btn:hover:after{left:100%}.btn-primary{background-color:var(--primary-color);color:var(--white);box-shadow:0 4px 15px #0053b44d}.btn-primary:hover{background-color:var(--secondary-color);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #0053b466}.btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 2px 10px #0053b44d}.btn-secondary{background-color:transparent;color:var(--white);border:2px solid var(--white);box-shadow:0 4px 15px #ffffff1a}.btn-secondary:hover{background-color:var(--white);color:var(--primary-color);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #ffffff4d}.btn-secondary:active{transform:translateY(-1px) scale(.98)}.icon-circle{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--secondary-color),var(--accent-color));border-radius:50%;color:var(--white);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:2}.icon-circle svg{width:40px;height:40px;stroke-width:2}.info-item .icon-circle{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color));flex-shrink:0}.info-item .icon-circle svg{width:24px;height:24px}.card{background:var(--white);border-radius:1rem;padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);position:relative;overflow:hidden;opacity:0;transform:translateY(40px) scale(.95);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease}.card.fade-in-up,.card.animate-in{opacity:1;transform:translateY(0) scale(1)}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #00000026;border-color:var(--primary-color)}.card:hover:before{transform:scaleX(1)}.card-gradient{position:relative;text-align:center;padding:2rem 1.5rem;background:linear-gradient(135deg,#0053b4,#2970e1,#0251ab,#2f78ee,#0365d6);background-size:400% 400%;animation:gradient-shift 15s ease infinite;border-radius:1rem;box-shadow:0 10px 30px #00000026;transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .4s ease,background-position .3s ease;opacity:0;transform:scale(.8) translateY(20px);overflow:hidden}.card-gradient:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(59,130,246,.4) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(51,85,234,.3) 0%,transparent 50%);pointer-events:none;z-index:0}.card-gradient>*{position:relative;z-index:1}.card-gradient.fade-in-up,.card-gradient.animate-in{opacity:1;transform:scale(1) translateY(0)}.card-gradient:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 15px 40px #00000040}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s}.fade-in-up.animate-in{opacity:1;transform:translateY(0)}.section-title,.title-large{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.section-title.animate-in,.title-large.animate-in{opacity:1;transform:translateY(0)}.section-header,.contact-header,.about-text{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out .2s,transform .8s ease-out .2s}.section-header.animate-in,.contact-header.animate-in,.about-text.animate-in{opacity:1;transform:translateY(0)}@media(max-width:768px){.container{padding:0 1rem}.section-padding{padding:3rem 0}.btn{padding:.625rem 1.5rem;font-size:.9rem}.icon-circle{width:50px;height:50px}.icon-circle svg{width:30px;height:30px}.card{padding:1.5rem}}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-5px) scale(1.05)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-3px) scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}input:focus,textarea:focus{animation:input-focus .3s ease-out}@keyframes input-focus{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:var(--transition);padding:1rem 0}.header.scrolled{background:linear-gradient(180deg,#0053b4de,#0053b4a3);backdrop-filter:blur(10px);padding:.75rem 0;box-shadow:var(--shadow)}.nav{display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative}.nav-brand{flex-shrink:0}.nav-brand .brand-link{display:flex;align-items:center;color:var(--white);text-decoration:none;font-size:1.5rem;font-weight:700;transition:var(--transition);pointer-events:none}.header.scrolled .nav-brand .brand-link{pointer-events:auto}.header.scrolled .nav-brand .brand-link:hover{transform:scale(1.05)}.brand-logo{height:auto;width:auto;max-height:50px;max-width:160px;-o-object-fit:contain;object-fit:contain;opacity:0;transform:translateY(-10px);visibility:hidden;transition:opacity .4s ease,transform .4s ease,max-height .3s ease,visibility .4s}.header.scrolled .brand-logo{opacity:1;transform:translateY(0);visibility:visible;max-height:40px}.nav-list{display:flex;list-style:none;gap:2rem}.nav-link{color:var(--white);text-decoration:none;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding:.5rem 0}.nav-link:hover{color:var(--bg-light);transform:translateY(-2px)}.nav-link:active{transform:translateY(0)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--white);transition:var(--transition)}.nav-link:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px}.nav-toggle-bar{width:25px;height:3px;background-color:var(--white);transition:var(--transition)}@media(max-width:768px){.brand-logo{max-height:40px;max-width:120px;opacity:0;transform:translateY(-10px);visibility:hidden}.header.scrolled .brand-logo{opacity:1;transform:translateY(0);visibility:visible;max-height:35px}.nav-menu{position:fixed;top:70px;right:-100%;width:300px;height:calc(100vh - 70px);background-color:#1e293bfa;backdrop-filter:blur(10px);transition:var(--transition);padding:2rem}.nav-menu.active{right:0}.nav-list{flex-direction:column;gap:1.5rem}.nav-toggle{display:flex}.nav-toggle.active .nav-toggle-bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.active .nav-toggle-bar:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 120%,#3392ff,#237fe7,#1b74da,#0761c8,#025cc3,#0053b4,#0053b4,#0053b4)}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-video video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.3}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:0}.hero-content{text-align:center;color:var(--white);z-index:1}.hero-logo-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.hero-logo{width:auto;height:auto;max-width:350px;max-height:350px;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1);transition:var(--transition)}.hero-logo:hover{transform:scale(1.05)}.hero-title{font-size:clamp(1.75rem,4vw,2.5rem);font-family:LatoBlack,system-ui,sans-serif;margin-bottom:1.5rem;line-height:1.3;font-weight:900;letter-spacing:.5px}.highlight{color:var(--secondary-color);background:linear-gradient(135deg,var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.3rem);margin-bottom:2.5rem;max-width:650px;margin-left:auto;margin-right:auto;color:#fffffff2;line-height:1.6;font-weight:400}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-align:center}.scroll-indicator{color:var(--white);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.8;transition:var(--transition)}.scroll-indicator:hover{opacity:1;transform:translateY(-5px);transition:var(--transition)}.scroll-text{font-size:.875rem;font-weight:500}.scroll-icon{width:30px;height:50px;border:2px solid var(--white);border-radius:15px;position:relative}.scroll-dot{width:6px;height:6px;background-color:var(--white);border-radius:50%;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll-animation 2s infinite}@keyframes scroll-animation{0%{top:8px;opacity:1}to{top:32px;opacity:0}}.sunrise-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,rgba(255,255,255,.4) 30%,rgba(255,255,255,.1) 60%,transparent 100%);animation:sunrise-particle 15s ease-in-out infinite}.particle-1{width:4px;height:4px;top:85%;left:20%;animation-delay:0s;animation-duration:12s}.particle-2{width:6px;height:6px;top:90%;left:40%;animation-delay:2s;animation-duration:14s}.particle-3{width:3px;height:3px;top:88%;left:60%;animation-delay:4s;animation-duration:10s}.particle-4{width:5px;height:5px;top:92%;left:80%;animation-delay:1s;animation-duration:13s}.particle-5{width:4px;height:4px;top:87%;left:10%;animation-delay:3s;animation-duration:11s}@keyframes sunrise-particle{0%{transform:translateY(0) scale(.5);opacity:0}10%{opacity:.6}50%{transform:translateY(-60vh) scale(1.2);opacity:.8}90%{opacity:.3}to{transform:translateY(-100vh) scale(.3);opacity:0}}@media(max-width:768px){.hero-logo{max-width:250px;max-height:250px}.hero-logo-container{margin-bottom:1.5rem}.hero-title{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:1rem}.hero-subtitle{font-size:clamp(1rem,3vw,1.1rem);margin-bottom:2rem}.hero-buttons{flex-direction:column;align-items:center;gap:.75rem}.hero-buttons .btn{width:200px}.hero-scroll{bottom:1rem}.scroll-text{font-size:.75rem}}@media(max-width:480px){.hero-logo{max-width:200px;max-height:200px}.hero-logo-container{margin-bottom:1rem}.hero-title{font-size:clamp(1.25rem,5vw,1.75rem);margin-bottom:.75rem;padding:0 .5rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;padding:0 .5rem}.hero-buttons{gap:.5rem}.hero-buttons .btn{width:180px;padding:.65rem 1.25rem;font-size:.9rem}}@media(max-width:1024px)and (min-width:769px){.hero-logo{max-width:300px;max-height:300px}.hero-title{font-size:clamp(1.75rem,4vw,2.25rem)}}.about{background-color:var(--bg-light)}.section-header{text-align:center;margin-bottom:4rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-description{font-size:1.1rem;color:var(--text-light);margin-bottom:1.5rem;line-height:1.7}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2.5rem 0}.card-gradient:nth-child(1){transition-delay:.2s}.card-gradient:nth-child(2){transition-delay:.4s}.card-gradient:nth-child(3){transition-delay:.6s}.stat-number{font-size:2.5rem;font-weight:700;color:var(--white);margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.stat-label{font-size:.95rem;font-weight:600;color:#fffffff2}.about-image{position:relative;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-lg)}.about-image img{width:100%;height:400px;-o-object-fit:cover;object-fit:cover;transition:var(--transition)}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1e293bcc,#3b82f699);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.about-image:hover .image-overlay{opacity:1}.about-image:hover img{transform:scale(1.05)}.overlay-content{text-align:center;color:var(--white)}.overlay-content h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.overlay-content p{font-size:1rem;opacity:.9}@media(max-width:768px){.about-content{grid-template-columns:1fr;gap:3rem}.about-stats{grid-template-columns:1fr;gap:1rem}.card-gradient{padding:1rem}.stat-number{font-size:2rem}.about-image img{height:300px}}.specialization{background:var(--white)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.card:nth-child(1){transition-delay:.1s}.card:nth-child(2){transition-delay:.2s}.card:nth-child(3){transition-delay:.3s}.card:nth-child(4){transition-delay:.4s}.card:nth-child(5){transition-delay:.5s}.card:nth-child(6){transition-delay:.6s}.card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:all .5s;opacity:0}.card:hover:after{opacity:1;animation:shine 1.5s ease-in-out}.card:active{transform:translateY(-4px) scale(1)}@keyframes shine{0%{left:-50%}to{left:150%}}.card.featured{background:radial-gradient(circle at 50% 120%,#3392ff,#237fe7,#1b74da,#0761c8,#025cc3,#0053b4,#0053b4,#0053b4);color:var(--white);transform:scale(1.05)}.card.featured:before{background:linear-gradient(135deg,var(--primary-color),var(--primary-color));transform:scaleX(1)}.card .icon-circle:before{content:"";position:absolute;inset:0;border-radius:1rem;background:inherit;opacity:.5;z-index:-1;animation:pulse-icon 2s ease-in-out infinite}@keyframes pulse-icon{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:0}}.card:hover .icon-circle{transform:rotateY(360deg) scale(1.1);box-shadow:0 8px 25px #0053b466}.card.featured .icon-circle{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color))}.card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--primary-color)}.card.featured h3{color:var(--white)}.card p{color:var(--text-light);margin-bottom:1.5rem;line-height:1.6}.card.featured p{color:#ffffffe6}.service-features{list-style:none;margin-bottom:1.5rem}.service-features li{position:relative;padding:.5rem 0 .5rem 1.5rem;color:var(--text-light)}.card.featured .service-features li{color:#fffc}.service-features li:before{content:"✓";position:absolute;left:0;color:var(--secondary-color);font-weight:700}.service-price{font-size:1.25rem;font-weight:700;color:var(--secondary-color);text-align:center;padding:1rem;background:#0b46f51a;border-radius:.5rem;margin-top:auto}.card.featured .service-price{background:#fff3;color:var(--white)}.specialization-cta{text-align:center;background:radial-gradient(circle at 50% 120%,#3392ff,#237fe7,#1b74da,#0761c8,#025cc3,#0053b4,#0053b4,#0053b4);padding:3rem 2rem;border-radius:1rem;margin-top:3rem}.specialization-cta h3{font-size:1.75rem;font-weight:700;color:var(--white);margin-bottom:1rem}.specialization-cta p{font-size:1.1rem;color:var(--white);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:768px){.services-grid{grid-template-columns:1fr;gap:1.5rem}.card{padding:1.5rem}.card.featured{transform:scale(1)}.icon-circle{width:60px;height:60px}.specialization-cta{padding:2rem 1rem}.specialization-cta h3{font-size:1.5rem}}.systems{background:var(--white)}.carousel-container{position:relative;margin-bottom:4rem}.carousel-wrapper{overflow:hidden;border-radius:1rem;position:relative;cursor:grab;padding:1rem;background:inherit}.carousel-wrapper:active{cursor:grabbing}.projects-carousel{display:flex;transition:transform .3s cubic-bezier(.25,.46,.45,.94);gap:2rem;padding:0 1rem;will-change:transform}.project-card{background:var(--white);border-radius:1rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:box-shadow .3s ease;position:relative;overflow:hidden;opacity:1;transform:translateY(40px) scale(.95);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease;flex:0 0 calc(50% - 1rem);min-height:600px;display:flex;flex-direction:column}.project-card.animate-in{opacity:1;transform:none}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:var(--primary-color)}.project-card:hover:before{transform:scaleX(1)}.project-card.featured{background:radial-gradient(circle at 50% 120%,#3392ff,#237fe7,#1b74da,#0761c8,#025cc3,#0053b4,#0053b4,#0053b4);color:var(--white)}.project-card.featured:before{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));transform:scaleX(1)}.project-image{position:relative;height:200px;overflow:hidden;border-radius:.5rem .5rem 0 0;flex-shrink:0}.project-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:var(--transition)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0053b4cc,#3b82f699);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:var(--transition)}.project-card:hover .project-overlay{opacity:1}.project-card:hover .project-image img{transform:scale(1.05)}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#fff3;color:var(--white);padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;backdrop-filter:blur(10px)}.tech-tag-extra{background:#ffffff4d;font-weight:700;border:1px solid rgba(255,255,255,.4)}.project-content{padding:2rem;display:flex;flex-direction:column;flex:1}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-shrink:0}.project-header h3{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin:0;flex:1}.project-card.featured .project-header h3{color:var(--white)}.project-category{background:var(--bg-light);color:var(--primary-color);padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;margin-left:1rem;flex-shrink:0}.project-card.featured .project-category{background:#fff3;color:var(--white)}.project-description-container{flex:1;margin-bottom:1.5rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--secondary-color) transparent;min-height:80px;max-height:120px}.project-description-container::-webkit-scrollbar{width:4px}.project-description-container::-webkit-scrollbar-track{background:transparent}.project-description-container::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:2px}.project-description{color:var(--text-light);line-height:1.6;margin:0}.project-card.featured .project-description{color:#ffffffe6}.project-results{margin-bottom:2rem;flex-shrink:0;min-height:140px;display:flex;flex-direction:column;margin-top:auto}.project-results h4{font-size:1rem;font-weight:600;color:var(--primary-color);margin-bottom:.75rem}.project-card.featured .project-results h4{color:var(--white)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;flex:1;align-items:stretch}.result-item{text-align:center;padding:.75rem;background:var(--white);border-radius:.5rem;border:1px solid var(--border-color);height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center}.project-card.featured .result-item{background:#ffffff1a;border-color:#fff3}.project-card.featured .result-metric{color:var(--white)}.result-metric{display:block;font-size:1.1rem;font-weight:700;color:var(--secondary-color);margin-bottom:.25rem;flex-shrink:0}.result-description{font-size:.75rem;color:var(--text-light);line-height:1.2;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;word-wrap:break-word;hyphens:auto}.project-card.featured .result-description{color:#fffc}.project-actions{display:flex;flex-wrap:wrap;margin-top:auto;flex-shrink:0}.project-actions .btn{flex:1;min-width:120px;text-align:center}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--white);border:2px solid var(--border-color);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);z-index:10;box-shadow:var(--shadow)}.carousel-btn:hover:not(:disabled){background:var(--primary-color);color:var(--white);border-color:var(--primary-color);transform:translateY(-50%) scale(1.1)}.carousel-btn:disabled{opacity:.5;cursor:not-allowed;transform:translateY(-50%) scale(.95)}.carousel-btn:disabled:hover{background:var(--white);color:var(--primary-color);border-color:var(--border-color);transform:translateY(-50%) scale(.95)}.carousel-btn-prev{left:-25px}.carousel-btn-next{right:-25px}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.carousel-dot{width:12px;height:12px;border-radius:50%;border:none;background:var(--border-color);cursor:pointer;transition:var(--transition)}.carousel-dot:hover{background:var(--secondary-color)}.carousel-dot.active{background:var(--primary-color);transform:scale(1.2)}.project-card:nth-child(1){transition-delay:.1s}.project-card:nth-child(2){transition-delay:.2s}.project-card:nth-child(3){transition-delay:.3s}.project-card:nth-child(4){transition-delay:.4s}@media(max-width:1024px){.project-card{flex:0 0 calc(100% - 1rem);min-height:550px}.carousel-btn{display:none}}@media(max-width:768px){.projects-carousel{padding:0 .5rem;gap:1.5rem}.project-card{flex:0 0 calc(100% - .5rem);min-height:500px}.project-content{padding:1.5rem}.project-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-category{margin-left:0;align-self:flex-start}.results-grid{grid-template-columns:1fr}.project-actions{flex-direction:column}.project-actions .btn{flex:none}.carousel-dots{margin-top:1.5rem}}@media(max-width:480px){.project-card{min-height:450px}.project-description-container{max-height:100px}.project-image{height:150px}}.contact{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.contact-header{text-align:center;margin-bottom:4rem}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}.info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.info-item h3{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin-bottom:.25rem}.info-item p{color:var(--text-light);margin:0}.social-links{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.social-links h3{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem}.social-icons{display:flex;gap:1rem}.social-link{position:relative;width:40px;height:40px;background:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;overflow:hidden}.social-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s,height .5s}.social-link:active:before{width:100%;height:100%}.social-link svg{width:20px;height:20px;fill:currentColor;transition:transform .3s ease;z-index:1;position:relative}.social-link:hover{background:var(--secondary-color);color:var(--white);transform:translateY(-3px) rotate(5deg) scale(1.1);box-shadow:0 8px 20px #0003}.social-link:hover svg{transform:scale(1.2) rotate(-5deg)}.social-link:active{transform:translateY(-1px) scale(.95)}.contact-form{background:var(--white);padding:2rem;border-radius:1rem;box-shadow:var(--shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--primary-color);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:.5rem;font-size:1rem;transition:var(--transition);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(var(--secondary-color),.1)}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.error-text{color:#dc2626;font-size:.875rem;margin-top:.25rem;display:block}.checkbox-group{position:relative}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-weight:400;font-size:.9rem;line-height:1.4}.checkbox-label input[type=checkbox]{width:auto;margin:0;opacity:0;position:absolute}.checkmark{flex-shrink:0;width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;position:relative;transition:var(--transition)}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--secondary-color);border-color:var(--secondary-color)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;color:var(--white);font-size:12px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.privacy-link{color:var(--secondary-color);text-decoration:none}.privacy-link:hover{text-decoration:underline}.submit-btn{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;position:relative}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.submit-message{margin-top:1rem;padding:1rem;border-radius:.5rem;text-align:center;font-weight:500}.submit-message.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.submit-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}@media(max-width:768px){.contact-content{grid-template-columns:1fr;gap:2rem}.contact-info,.contact-form{padding:1.5rem}.info-item{margin-bottom:1.5rem}.checkbox-label{font-size:.85rem}}.footer{background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(37,99,235,.25) 0%,transparent 50%),radial-gradient(circle at 40% 70%,rgba(30,58,138,.3) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(29,78,216,.2) 0%,transparent 50%),radial-gradient(circle at 10% 90%,rgba(30,64,175,.25) 0%,transparent 50%),radial-gradient(circle at 60% 50%,rgba(37,99,235,.15) 0%,transparent 40%),linear-gradient(135deg,#1e293b,#0f172a,#020617);color:var(--white);padding:3rem 0;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(37,99,235,.08) 0%,transparent 60%);pointer-events:none;z-index:0}.footer .container{position:relative;z-index:1}.footer-content{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:3rem;margin-bottom:2.5rem;padding:3rem 5%;max-width:1400px;margin:0 auto 2.5rem}.footer-section h3,.footer-section h4{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--white)}.footer-logo-container{margin-bottom:1.5rem;display:inline-block}.footer-logo{width:auto;height:auto;max-width:80px;max-height:40px;-o-object-fit:contain;object-fit:contain;transition:transform .6s ease;cursor:pointer}.footer-logo:hover{transform:rotate(360deg);animation:spin .6s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.footer-brand p{color:#fffc;line-height:1.6;margin-bottom:1.5rem}.footer-social{display:flex;gap:1rem}.footer-social .social-link{position:relative;width:40px;height:40px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fffc;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;overflow:hidden}.footer-social .social-link:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .5s,height .5s}.footer-social .social-link:active:before{width:100%;height:100%}.social-icons .social-link{background:var(--primary-color);color:var(--white)}.footer-social .social-link svg{width:20px;height:20px;fill:currentColor;transition:transform .3s ease;z-index:1;position:relative}.social-icons .social-link svg{fill:currentColor}.footer-social .social-link:hover{background:#ffffff40;color:var(--white);transform:translateY(-3px) rotate(10deg) scale(1.1);box-shadow:0 8px 20px #0000004d}.footer-social .social-link:hover svg{transform:scale(1.2) rotate(-10deg)}.footer-social .social-link:active{transform:translateY(-1px) scale(.95)}.footer-links{list-style:none}.footer-links li{margin-bottom:.75rem}.footer-links a{position:relative;color:#fffc;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem;display:inline-block;padding-left:0}.footer-links a:before{content:"→";position:absolute;left:-20px;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.footer-links a:hover{color:var(--accent-color);padding-left:1.2rem;transform:translate(5px)}.footer-links a:hover:before{opacity:1;left:0}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:flex-start;gap:.75rem;color:#ffffffe6;font-size:.95rem;line-height:1.4;transition:var(--transition)}.contact-item:hover{color:var(--white)}.contact-item svg{flex-shrink:0;margin-top:.1rem;color:var(--white);opacity:.8}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;margin-top:1rem}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#fff9;margin:0}.footer-legal{display:flex;gap:2rem}.footer-legal a{color:#fff9;text-decoration:none;font-size:.9rem;transition:var(--transition)}.footer-legal a:hover{color:var(--accent-color)}.footer-brand-display{margin-top:3rem;padding-top:2rem;text-align:center;overflow:hidden}.footer-company-name{font-size:clamp(4rem,15vw,10rem);font-weight:800;letter-spacing:-.02em;margin:0;padding:0;line-height:1;background:linear-gradient(to bottom,#fff3,#ffffff0d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.15);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s ease}.footer-company-name:hover{background:linear-gradient(to bottom,#ffffff40,#ffffff14);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(255,255,255,.2)}@media(max-width:968px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem;padding:2.5rem 5%}.footer-logo{max-width:70px;max-height:35px}.footer-company-name{font-size:clamp(3rem,12vw,8rem)}}@media(max-width:768px){.footer{padding:2.5rem 0 2rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;padding:2rem 5%}.footer-section{text-align:center}.footer-logo-container{display:flex;justify-content:center;margin-bottom:1rem}.footer-logo{max-width:60px;max-height:30px}.footer-brand-display{margin-top:2rem;padding-top:1.5rem}.footer-company-name{font-size:clamp(2.5rem,10vw,6rem)}.footer-social{justify-content:center}.contact-info{align-items:center}.footer-bottom-content{flex-direction:column;text-align:center;gap:1rem}.footer-legal{justify-content:center}.contact-item span{font-size:.9rem}}@media(max-width:480px){.footer-content{gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem 5%}.footer-logo{max-width:50px;max-height:25px}.footer-brand-display{margin-top:1.5rem;padding-top:1rem}.footer-company-name{font-size:clamp(2rem,8vw,4rem)}.footer-brand p{font-size:.9rem}.footer-bottom{padding-top:1.5rem}}@font-face{font-family:Lato;src:url(/fonts/Lato-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LatoBold;src:url(/fonts/Lato-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:LatoBlack;src:url(/fonts/Lato-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}.loader-container[data-v-58660ad0]{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem}.loader[data-v-58660ad0]{display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-spinner[data-v-58660ad0]{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin-58660ad0 1s linear infinite}.loader-text[data-v-58660ad0]{color:var(--text-secondary);font-size:1rem;font-weight:500;margin:0}@keyframes spin-58660ad0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.loader-container[data-v-58660ad0]{min-height:300px;padding:1rem}.loader-spinner[data-v-58660ad0]{width:32px;height:32px;border-width:3px}.loader-text[data-v-58660ad0]{font-size:.9rem}}.loader-wrapper[data-v-7efcb959]{display:flex;justify-content:center;align-items:center;min-height:400px;margin:2rem 0}
