:root{--bg-primary:#1e3a5f;--bg-secondary:#2d4a6b;--bg-tertiary:#1a2f4a;--text-primary:#fff;--text-secondary:#e0e0e0;--text-tertiary:#b0b0b0;--primary-color:#4a90e2;--primary-dark:#2d6fb8;--primary-light:#6ba3f0;--secondary-color:#f39c12;--accent-color:#e74c3c;--accent-blue:#4a90e2;--text-dark:#fff;--text-light:#e0e0e0;--bg-light:#2d4a6b;--bg-white:#1e3a5f;--border-color:hsla(0,0%,100%,.1);--shadow:0 2px 8px rgba(0,0,0,.3);--shadow-lg:0 4px 16px rgba(0,0,0,.4);--shadow-xl:0 8px 24px rgba(0,0,0,.5);--transition:all 0.3s ease;--gradient-primary:linear-gradient(135deg,#4a90e2,#2d6fb8 50%,#4a90e2);--gradient-hero:linear-gradient(135deg,#1e3a5f,#1a2f4a 50%,#2d4a6b);--gradient-card:linear-gradient(135deg,#2d4a6b,#1e3a5f);--gradient-accent:linear-gradient(135deg,#f39c12,#e67e22);--gradient-section:linear-gradient(135deg,#1e3a5f,#2d4a6b)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);line-height:1.7;overflow-x:hidden;background:var(--bg-primary);background-image:radial-gradient(circle at 20% 50%,rgba(74,144,226,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(243,156,18,.05) 0,transparent 50%);min-height:100vh}a{color:inherit;text-decoration:none;transition:var(--transition)}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.2;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.02em}h2{position:relative;padding-bottom:1rem}h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:4px;background:var(--gradient-accent);border-radius:2px;box-shadow:0 0 10px rgba(243,156,18,.5)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1rem}.btn{display:inline-block;padding:1rem 2.5rem;font-size:1rem;font-weight:700;text-align:center;border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;text-decoration:none;position:relative;overflow:hidden;letter-spacing:.5px;text-transform:uppercase;font-size:.875rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:after{width:300px;height:300px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px rgba(26,84,144,.4)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(26,84,144,.5)}.btn-secondary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 15px rgba(243,156,18,.4)}.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(243,156,18,.5)}.btn-outline{background-color:transparent;color:var(--accent-blue);border:2px solid var(--accent-blue);box-shadow:none}.btn-outline:hover{background:var(--gradient-primary);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 8px 25px rgba(74,144,226,.4)}.btn-large{padding:1.125rem 2.5rem;font-size:1.125rem}.section{padding:5rem 0;position:relative}.section-alt{background:var(--gradient-section);position:relative}.section-alt:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-primary);opacity:.3}.hero{background:var(--gradient-hero);color:#fff;padding:8rem 0;text-align:center;position:relative;overflow:hidden;background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(243,156,18,.1) 0,transparent 50%),url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.5;animation:patternMove 20s linear infinite}@keyframes patternMove{0%{transform:translate(0)}to{transform:translate(100px,100px)}}.hero:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,hsla(0,0%,100%,.03) 0,hsla(0,0%,100%,.03) 20px);animation:diagonalMove 30s linear infinite}@keyframes diagonalMove{0%{transform:translate(0) rotate(0deg)}to{transform:translate(100px,100px) rotate(1turn)}}.hero-content{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:0 1.5rem;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero h1{color:#fff;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2);animation:fadeInUp 1s ease-out .2s both;font-weight:800;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1.125rem,2.5vw,1.5rem);margin-bottom:2rem;opacity:.95;animation:fadeInUp 1s ease-out .4s both;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease-out .6s both}.hero-buttons .btn{position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.hero-buttons .btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.hero-buttons .btn:hover:before{width:300px;height:300px}.hero-buttons .btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.3)}.hero-buttons .btn:active{transform:translateY(-1px)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.service-card{background:var(--gradient-card);padding:2.5rem;border-radius:16px;box-shadow:var(--shadow-lg);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.1)}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(74,144,226,.2),transparent);transition:left .5s}.service-card:hover:before{left:100%}.service-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--accent-blue)}.service-card h3{color:var(--text-primary);margin-bottom:1rem;font-weight:700;font-size:1.5rem}.service-card p{color:var(--text-secondary);margin-bottom:1.5rem}.service-card .btn-link{color:var(--accent-blue);font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.service-card .btn-link:hover{color:var(--primary-light);gap:.75rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.feature{text-align:center;padding:2rem;background:var(--gradient-card);border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid hsla(0,0%,100%,.1);position:relative;overflow:hidden}.feature:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .4s}.feature:hover:before{transform:scaleX(1)}.feature:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:var(--accent-blue)}.feature h3{color:var(--text-primary);margin-bottom:1rem}.feature p{color:var(--text-secondary)}.cta-section{background:var(--gradient-hero);color:#fff;padding:5rem 0;text-align:center;position:relative;overflow:hidden;background-size:200% 200%;animation:gradientShift 15s ease infinite}.cta-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(243,156,18,.1) 0,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cta-section h2{color:#fff;margin-bottom:1rem}.cta-section p{font-size:1.125rem;margin-bottom:2rem;opacity:.95}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.testimonial-card{background:var(--gradient-card);padding:2.5rem;border-radius:16px;box-shadow:var(--shadow-lg);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid hsla(0,0%,100%,.1)}.testimonial-card:before{content:'"';font-size:5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.3;position:absolute;top:.5rem;left:1rem;line-height:1;font-weight:700}.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-left-color:var(--secondary-color)}.testimonial-text{font-style:italic;margin-bottom:1rem;position:relative;z-index:1;color:var(--text-secondary)}.testimonial-author{font-weight:600;color:var(--accent-blue)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.gallery-item{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/3;box-shadow:var(--shadow-lg);transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid hsla(0,0%,100%,.1)}.gallery-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:0;transition:opacity .4s;z-index:1}.gallery-item:hover:before{opacity:.2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.gallery-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--accent-blue)}.gallery-item:hover img{transform:scale(1.1)}.contact-form{max-width:600px;margin:0 auto;background:var(--gradient-card);padding:3rem;border-radius:20px;box-shadow:var(--shadow-xl);border:1px solid hsla(0,0%,100%,.1);position:relative;overflow:hidden}.contact-form:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(26,84,144,.05) 0,transparent 70%);animation:rotate 30s linear infinite}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(74,144,226,.2);transform:translateY(-2px);background:var(--bg-tertiary)}.form-group textarea{min-height:120px;resize:vertical}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--accent-color)}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(231,76,60,.1)}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:var(--gradient-card);margin-bottom:1.5rem;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;border:1px solid hsla(0,0%,100%,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-item:hover{transform:translateX(5px);box-shadow:var(--shadow-lg);border-color:var(--accent-blue)}.faq-question{padding:1.75rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:1.125rem;transition:all .3s}.faq-item:hover .faq-question{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-answer{padding:0 1.5rem 1.5rem;color:var(--text-secondary)}.page-header{background:var(--gradient-hero);color:#fff;padding:5rem 0;text-align:center;position:relative;overflow:hidden;background-size:200% 200%;animation:gradientShift 15s ease infinite}.page-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--gradient-accent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.page-header h1{color:#fff;margin-bottom:1rem}@keyframes paintDrip{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100vh);opacity:0}}.paint-drip{position:fixed;width:4px;height:100px;background:var(--primary-color);border-radius:0 0 50% 50%;pointer-events:none;z-index:9999;animation:paintDrip 3s ease-in-out infinite;opacity:.3}.scroll-progress{position:fixed;top:0;left:0;height:4px;background:var(--gradient-accent);z-index:10000;transform-origin:left;transition:transform .1s}@media (max-width:768px){.hero{padding:5rem 0}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{width:100%}.section{padding:3rem 0}.features-grid,.services-grid,.testimonials-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:stretch}.cta-buttons .btn{width:100%}.feature,.service-card,.testimonial-card{padding:1.5rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-blue);outline-offset:2px}.footer{background:linear-gradient(135deg,#152536,#1a2f4a 50%,#1e3a5f);color:#fff;padding:4rem 0 1rem;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-accent)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:2rem}.footer-section h3{color:#fff;margin-bottom:1rem}.footer-section h4{color:var(--secondary-color);margin-bottom:1rem;font-size:1.125rem}.footer-section p{color:hsla(0,0%,100%,.8);line-height:1.6}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:hsla(0,0%,100%,.8);transition:var(--transition)}.footer-section a:hover{color:var(--secondary-color)}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);padding-top:1.5rem;text-align:center;color:hsla(0,0%,100%,.6);font-size:.875rem}.footer-bottom a{color:hsla(0,0%,100%,.8)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;flex-direction:column;gap:1rem}.loading-spinner{width:50px;height:50px;border-top:4px solid var(--bg-secondary);border:4px solid var(--bg-secondary);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--text-secondary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.service-link-tag{padding:.5rem 1rem;background:var(--gradient-card);border-radius:4px;color:var(--accent-blue);font-weight:500;text-decoration:none;transition:var(--transition);border:1px solid hsla(0,0%,100%,.1);display:inline-block}.service-link-tag:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.blog-post-link{display:block;padding:1.5rem;background:var(--gradient-card);border-radius:8px;text-decoration:none;color:inherit;transition:var(--transition);border:1px solid hsla(0,0%,100%,.1)}.blog-post-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.category-tag{padding:.5rem 1rem;background:var(--bg-light);color:var(--primary-color);font-weight:600;text-decoration:none;transition:var(--transition);border:2px solid transparent;border-radius:4px;display:inline-block}.category-tag:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.blog-post-card{background:var(--gradient-card);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}.blog-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-card{transition:all .3s}.hover-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}