*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a5f;--blue-950:#0f1d33;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--font:"Inter", system-ui, -apple-system, sans-serif;--max-width:1200px;--section-padding:100px 0;--transition:.3s ease}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.nav{z-index:1000;transition:background var(--transition), box-shadow var(--transition), border-color var(--transition);background:0 0;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--gray-100);background:#fffffff2;box-shadow:0 1px 20px #00000014}.nav-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{color:#fff;letter-spacing:-.5px;transition:color var(--transition);align-items:center;gap:10px;font-size:1.35rem;font-weight:900;display:flex}.nav.scrolled .logo{color:var(--blue-800)}.logo-mark{background:linear-gradient(135deg, var(--blue-600), var(--blue-800));color:#fff;letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;font-weight:900;display:flex}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:#ffffffbf;transition:color var(--transition);font-size:.9rem;font-weight:500;position:relative}.nav-links a:hover{color:#fff}.nav.scrolled .nav-links a{color:var(--gray-600)}.nav.scrolled .nav-links a:hover{color:var(--blue-700)}.nav-cta{background:var(--blue-600);border-radius:8px;padding:10px 24px;color:#fff!important;transition:background var(--transition), transform var(--transition)!important;font-weight:600!important}.nav-cta:hover{transform:translateY(-1px);background:var(--blue-700)!important}.mobile-toggle{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.mobile-toggle span{width:24px;height:2px;transition:var(--transition);background:#fff;border-radius:2px;margin:6px 0;display:block}.nav.scrolled .mobile-toggle span{background:var(--gray-700)}.hero{background:var(--blue-950);padding:160px 0 120px;position:relative;overflow:hidden}.hero-content{z-index:2;text-align:center;isolation:isolate;max-width:720px;margin:0 auto;position:relative}.hero h1{color:#fff;letter-spacing:-1.5px;margin-bottom:24px;font-size:3.5rem;font-weight:800;line-height:1.1}.hero h1 span{background:linear-gradient(135deg, var(--blue-400), var(--blue-200));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero p{color:#ffffff8c;max-width:540px;margin-bottom:36px;margin-left:auto;margin-right:auto;font-size:1.15rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn{transition:all var(--transition);cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font);border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 28px;display:inline-flex}.btn-primary{background:var(--blue-600);color:#fff;box-shadow:0 4px 14px #2563eb4d}.btn-primary:hover{background:var(--blue-700);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.btn-outline{color:var(--gray-700);border:1.5px solid var(--gray-200);background:0 0}.btn-outline:hover{border-color:var(--blue-300);color:var(--blue-700);transform:translateY(-2px)}.hero .btn-outline{color:#fffc;border-color:#fff3}.hero .btn-outline:hover{color:#fff;border-color:#fff6}.hero-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.section-label{color:var(--blue-600);text-transform:uppercase;letter-spacing:1.5px;align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;font-weight:600;display:inline-flex}.section-title{color:var(--gray-900);letter-spacing:-1px;margin-bottom:20px;font-size:2.5rem;font-weight:800;line-height:1.2}.section-subtitle{color:var(--gray-500);max-width:600px;font-size:1.1rem;line-height:1.7}.section-header{text-align:center;margin-bottom:60px}.section-header .section-subtitle{margin:0 auto}.services{padding:var(--section-padding);background:#fff}.services-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.service-card{background:var(--gray-50);transition:all var(--transition);cursor:default;border:1px solid #0000;border-radius:16px;padding:36px}.service-card:hover{border-color:var(--blue-100);background:#fff;transform:translateY(-4px);box-shadow:0 10px 40px #0000000f}.service-icon{background:linear-gradient(135deg, var(--blue-100), var(--blue-200));border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:20px;font-size:1.4rem;display:flex}.service-card h3{color:var(--gray-900);margin-bottom:10px;font-size:1.15rem;font-weight:700}.service-card p{color:var(--gray-500);font-size:.92rem;line-height:1.6}.projects{padding:var(--section-padding);background:var(--gray-50)}.projects-grid{flex-direction:column;gap:24px;display:flex}.project-card{border:1px solid var(--gray-100);transition:all var(--transition);cursor:default;color:inherit;background:#fff;border-radius:16px;flex-direction:row;text-decoration:none;display:flex;overflow:hidden}a.project-card{cursor:pointer}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 40px #00000014}.project-image{flex-shrink:0;width:280px;min-height:200px;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-image img{transform:scale(1.03)}.project-info{flex-direction:column;flex:1;justify-content:center;padding:32px;display:flex}.project-tag{color:var(--blue-600);background:var(--blue-50);text-transform:uppercase;letter-spacing:.5px;border-radius:6px;margin-bottom:12px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.project-info h3{color:var(--gray-900);margin-bottom:8px;font-size:1.2rem;font-weight:700}.project-info p{color:var(--gray-500);margin-bottom:12px;font-size:.92rem;line-height:1.6}.project-link{color:var(--blue-600);transition:color var(--transition);font-size:.85rem;font-weight:600}.project-card:hover .project-link{color:var(--blue-700)}.about{padding:var(--section-padding);background:#fff}.about-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.about-feature{background:var(--gray-50);text-align:center;border-radius:12px;padding:28px 24px}.about-feature-icon{background:var(--blue-100);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 14px;display:flex}.about-feature h4{color:var(--gray-900);margin-bottom:8px;font-size:.95rem;font-weight:700}.about-feature p{color:var(--gray-500);font-size:.85rem;line-height:1.6}.cta{padding:var(--section-padding);background:#fff}.cta-inner{background:linear-gradient(135deg, var(--blue-700), var(--blue-900));text-align:center;border-radius:24px;padding:80px;position:relative;overflow:hidden}.cta-inner:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1a,#0000 70%);width:400px;height:400px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.cta-inner h2{color:#fff;letter-spacing:-1px;z-index:1;margin-bottom:16px;font-size:2.5rem;font-weight:800;position:relative}.cta-inner p{color:#ffffffb3;z-index:1;max-width:500px;margin-bottom:36px;margin-left:auto;margin-right:auto;font-size:1.1rem;position:relative}.btn-white{color:var(--blue-700);z-index:1;background:#fff;position:relative;box-shadow:0 4px 14px #0000001a}.btn-white:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.contact{padding:var(--section-padding);background:var(--gray-50)}.contact-content{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.contact-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--gray-700);font-size:.82rem;font-weight:600}.form-group input,.form-group textarea{font-family:var(--font);border:1.5px solid var(--gray-200);color:var(--gray-800);transition:border-color var(--transition), box-shadow var(--transition);resize:vertical;background:#fff;border-radius:10px;outline:none;padding:12px 14px;font-size:.9rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}.form-group input:focus,.form-group textarea:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px #3b82f61a}.contact-form .btn{align-self:flex-start;margin-top:4px}.form-status{margin-top:4px;font-size:.85rem;font-weight:500}.form-status.success{color:#16a34a}.form-status.error{color:#dc2626}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:#fff;border-radius:16px;width:90%;max-width:380px;padding:36px;box-shadow:0 20px 60px #00000026}.modal h3{color:var(--gray-900);margin-bottom:8px;font-size:1.15rem;font-weight:700}.modal .modal-question{color:var(--gray-600);margin-bottom:16px;font-size:1rem}.modal-input{font-family:var(--font);border:1.5px solid var(--gray-200);text-align:center;width:100%;transition:border-color var(--transition);border-radius:10px;outline:none;padding:12px 14px;font-size:1.1rem;font-weight:600}.modal-input:focus{border-color:var(--blue-400)}.modal-buttons{gap:12px;margin-top:20px;display:flex}.modal-buttons .btn{flex:1;justify-content:center}.modal .form-status{text-align:center;margin-top:12px}.footer{background:var(--gray-900);color:#ffffff8c;padding:60px 0 0;font-size:.875rem;line-height:1.7}.footer-grid{border-bottom:1px solid #ffffff14;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:48px;display:grid}.footer-brand .logo{color:#fff;margin-bottom:16px}.footer-brand .logo-mark{background:linear-gradient(135deg, var(--blue-500), var(--blue-700))}.footer-brand p{max-width:280px}.footer h4{color:#ffffffe6;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;font-size:.75rem;font-weight:600}.footer ul li{margin-bottom:8px}.footer ul li a{transition:color var(--transition)}.footer ul li a:hover{color:var(--blue-400)}.footer-contact-group{margin-top:20px}.footer-bottom{color:#ffffff4d;justify-content:space-between;align-items:center;padding:24px 0;font-size:.8rem;display:flex}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}@media (width<=1024px){.hero h1{font-size:2.8rem}.services-grid,.about-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}@media (width<=768px){:root{--section-padding:70px 0}.nav.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 2px 20px #0000001a;background:#fff!important}.nav.menu-open .logo{color:var(--blue-800)}.nav.menu-open .mobile-toggle span{background:var(--gray-700)}.nav-links{background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 8px 24px #0000001a}.nav-links.open{display:flex}.nav-links a{border-bottom:1px solid var(--gray-100);text-align:left;padding:12px 0;font-size:.95rem;display:block;color:var(--gray-700)!important}.nav-links a:last-child{border-bottom:none}.nav-links a:hover{color:var(--blue-700)!important}.nav-links a.nav-cta{text-align:center;border-bottom:none;border-radius:8px;margin-top:8px;padding:12px;display:block;color:#fff!important}.mobile-toggle{display:block}.hero{padding:120px 0 60px}.hero h1{font-size:2.2rem}.services-grid,.about-grid{grid-template-columns:1fr}.project-card{flex-direction:column}.project-image{aspect-ratio:16/10;width:100%;min-height:0}.contact-content{grid-template-columns:1fr;gap:36px}.form-row{grid-template-columns:1fr}.cta-inner{padding:48px 24px}.cta-inner h2{font-size:1.8rem}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{text-align:center;flex-direction:column;gap:16px}.section-title{font-size:2rem}}
