:root{--forest-deep:#2d5f5f;--forest-mid:#3d7f7f;--teal-accent:#5fa89f;--teal-glow:#2d5f5f4d;--teal-glow-strong:#5fa89f66;--charcoal-dark:#0d0d0d;--charcoal:#1a1a1a;--charcoal-light:#242424;--charcoal-lighter:#2e2e2e;--text-primary:#e8ede8;--text-secondary:#9aada5;--text-muted:#6b7f78;--glass-bg:#1a1a1a99;--glass-border:#3d7f7f26;--glass-hover:#2d5f5f1f;--font-display:"Space Grotesk", sans-serif;--font-body:"Outfit", sans-serif;--radius:16px;--radius-sm:10px;--transition:.4s cubic-bezier(.25, .46, .45, .94);--transition-fast:.25s cubic-bezier(.25, .46, .45, .94)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--charcoal-dark);color:var(--text-primary);scrollbar-width:none;font-size:16px}html::-webkit-scrollbar{display:none}body{font-family:var(--font-body);background:var(--charcoal-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;overflow-x:hidden}.custom-cursor{border:1.5px solid var(--teal-accent);pointer-events:none;z-index:9999;mix-blend-mode:difference;background:0 0;border-radius:50%;width:36px;height:36px;transition:width .2s,height .2s,border-color .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}.custom-cursor.hovering{border-color:var(--teal-glow-strong);background:#5fa89f14;width:56px;height:56px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15}h1{letter-spacing:-1.5px;color:var(--text-primary);font-size:clamp(2.2rem,5vw,4rem)}h2{letter-spacing:-1px;font-size:clamp(1.7rem,3.5vw,2.8rem)}h3{letter-spacing:-.3px;font-size:clamp(1.1rem,1.8vw,1.35rem)}p{color:var(--text-secondary);font-size:1.05rem;line-height:1.8}.section-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:3px;color:var(--teal-accent);align-items:center;gap:12px;margin-bottom:1.2rem;font-size:.8rem;font-weight:600;display:flex}.section-label:before{content:"";background:var(--teal-accent);width:32px;height:1px}.container{max-width:1200px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}section{z-index:1;padding:clamp(80px,12vw,160px) 0;position:relative}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition)}.glass-card:hover{box-shadow:0 20px 60px #0000004d, 0 0 30px var(--teal-glow);border-color:#3d7f7f4d;transform:translateY(-6px)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}#hero{z-index:1;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;max-width:780px;position:relative}.hero-logo{margin-bottom:1.2rem;position:relative}.hero-logo img{width:auto;height:64px;filter:drop-shadow(0 0 18px var(--teal-glow))}.hero-tagline{margin-bottom:1.5rem}.hero-tagline span{background:linear-gradient(135deg, var(--text-primary) 0%, var(--teal-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--text-secondary);max-width:560px;margin-bottom:2.8rem;font-size:1.15rem;line-height:1.8}.cta-btn{background:linear-gradient(135deg, var(--forest-deep), var(--forest-mid));color:var(--text-primary);font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;transition:all var(--transition);border:1px solid #3d7f7f4d;border-radius:60px;align-items:center;gap:12px;padding:16px 36px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.cta-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.cta-btn:hover:before{left:100%}.cta-btn:hover{box-shadow:0 0 40px var(--teal-glow), 0 8px 32px #0000004d;transform:translateY(-2px)}.cta-btn .arrow{transition:transform var(--transition-fast);font-size:1.2rem}.cta-btn:hover .arrow{transform:translate(4px)}.scroll-indicator{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-family:var(--font-display)}.scroll-line{background:var(--charcoal-lighter);width:1px;height:48px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--teal-accent);width:100%;height:50%;animation:2s ease-in-out infinite scrollAnim;position:absolute;top:-100%}@keyframes scrollAnim{0%{top:-50%}to{top:150%}}#about .about-text{max-width:640px;margin-bottom:4rem}#about h2{margin-bottom:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.stat-card{text-align:center;padding:40px 32px}.stat-card .stat-number{font-family:var(--font-display);color:var(--teal-accent);letter-spacing:-1px;margin-bottom:8px;font-size:2.4rem;font-weight:800}.stat-card .stat-label{color:var(--text-muted);font-size:.95rem}#services h2{margin-bottom:3.5rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;display:grid}.service-card{padding:44px 36px;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--forest-deep), var(--teal-accent));transform-origin:0;height:2px;transition:transform .5s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-icon{width:52px;height:52px;color:var(--teal-accent);margin-bottom:1.5rem}.service-card h3{color:var(--text-primary);margin-bottom:.8rem}.service-card p{font-size:.95rem}#projects h2{margin-bottom:3.5rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;display:grid}.project-card{overflow:hidden}.project-visual{background:linear-gradient(135deg, var(--charcoal) 0%, var(--charcoal-light) 100%);border-radius:var(--radius) var(--radius) 0 0;justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.project-visual canvas{width:100%;height:100%;position:absolute;top:0;left:0}.project-info{padding:32px}.project-info h3{color:var(--text-primary);margin-bottom:.6rem}.project-info p{margin-bottom:1rem;font-size:.9rem}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tag{font-size:.72rem;font-family:var(--font-display);color:var(--teal-accent);letter-spacing:.5px;background:#2d5f5f26;border:1px solid #3d7f7f33;border-radius:40px;padding:4px 14px;font-weight:500}#vision{text-align:center;padding-top:clamp(120px,16vw,220px);padding-bottom:clamp(120px,16vw,220px);position:relative}.vision-quote-mark{font-family:var(--font-display);color:#2d5f5f26;-webkit-user-select:none;user-select:none;margin-bottom:-2rem;font-size:8rem;line-height:1}#vision h2{max-width:700px;margin-bottom:2rem;margin-left:auto;margin-right:auto}#vision>.container>p{max-width:600px;margin:0 auto 5.5rem}.principles-list{text-align:left;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:900px;margin:0 auto;display:grid}.principle-item{align-items:flex-start;gap:20px;display:flex}.principle-num{font-family:var(--font-display);color:#5fa89f40;flex-shrink:0;font-size:2rem;font-weight:800;line-height:1}.principle-item h3{color:var(--text-primary);margin-bottom:.4rem}.principle-item p{font-size:.9rem}#contact{text-align:center}#contact h2{margin-bottom:3rem}.contact-form{max-width:520px;margin:0 auto;padding:48px 40px}.form-group{text-align:left;margin-bottom:20px}.form-group label{font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0d0d0d99;outline:none;padding:14px 18px;font-size:.95rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--forest-mid);box-shadow:0 0 20px var(--teal-glow)}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{background:linear-gradient(135deg, var(--forest-deep), var(--forest-mid));color:var(--text-primary);font-family:var(--font-display);cursor:pointer;transition:all var(--transition);border:1px solid #3d7f7f4d;border-radius:60px;align-items:center;gap:10px;padding:14px 40px;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.submit-btn:hover:before{left:100%}.submit-btn:hover{box-shadow:0 0 40px var(--teal-glow);transform:translateY(-2px)}.submit-btn svg{transition:transform var(--transition-fast)}.submit-btn:hover svg{transform:translate(3px)}footer{border-top:1px solid var(--glass-border);padding:60px 0 0}.footer-top{grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:48px;display:grid}.footer-brand p{max-width:300px;margin-top:12px;font-size:.9rem}.footer-col h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:16px;font-size:.8rem}.footer-col a{color:var(--text-secondary);transition:color var(--transition-fast);padding:4px 0;font-size:.9rem;text-decoration:none;display:block}.footer-col a:hover{color:var(--teal-accent)}.footer-bottom{border-top:1px solid var(--glass-border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:20px 0;font-size:.8rem;display:flex}.footer-bottom a{color:var(--text-muted);transition:color var(--transition-fast);margin-left:24px;text-decoration:none}.footer-bottom a:hover{color:var(--teal-accent)}.footer-logo-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.5px;font-size:1.2rem;font-weight:700}@media (width<=768px){.footer-top{grid-template-columns:1fr;gap:32px}.footer-bottom{text-align:center;flex-direction:column;gap:12px}.footer-bottom a{margin-left:12px}.services-grid,.projects-grid,.stats-grid,.principles-list{grid-template-columns:1fr}.contact-form{padding:32px 24px}.custom-cursor{display:none}h1{letter-spacing:-1px}}
