.topography-container{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.topography-container canvas{display:block;width:100%!important;height:100%!important}.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:28px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#120f17);display:grid;position:relative;overflow:visible;transform:translateZ(.01px);box-shadow:0 1px 2px #0000001a,0 2px 4px #0000001a,0 4px 8px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a,0 32px 64px #0000001a}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;z-index:-1;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{background:linear-gradient(var(--card-bg,#120f17) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) border-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) border-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) border-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) border-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) border-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) border-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) border-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{background:var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color,#f5daa3), inset 0 0 1px 0 var(--glow-color-60,#f5daa399), inset 0 0 3px 0 var(--glow-color-50,#f5daa380), inset 0 0 6px 0 var(--glow-color-40,#f5daa366), inset 0 0 15px 0 var(--glow-color-30,#f5daa34d), inset 0 0 25px 2px var(--glow-color-20,#f5daa333), inset 0 0 50px 2px var(--glow-color-10,#f5daa31a), 0 0 1px 0 var(--glow-color-60,#f5daa399), 0 0 3px 0 var(--glow-color-50,#f5daa380), 0 0 6px 0 var(--glow-color-40,#f5daa366), 0 0 15px 0 var(--glow-color-30,#f5daa34d), 0 0 25px 2px var(--glow-color-20,#f5daa333), 0 0 50px 2px var(--glow-color-10,#f5daa31a);position:absolute}.border-glow-inner{z-index:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.border-glow-card.eco-glow-card{--border-radius:20px;--glow-padding:28px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#fff;background:#050510;font-family:Space Grotesk,Noto Sans SC,sans-serif;overflow-x:hidden}main{width:100%}@keyframes shine{0%{background-position:200%}to{background-position:-200%}}.shiny{background-image:linear-gradient(110deg, var(--base-color,#fff) 0%, var(--base-color,#fff) 35%, var(--shine-color,#fff) 50%, var(--base-color,#fff) 65%, var(--base-color,#fff) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite shine}.title-gradient.shiny{--base-color:#a855f7;--shine-color:#fff;-webkit-text-fill-color:transparent;background-image:linear-gradient(110deg,#ff6bcb 0% 35%,#fff 50%,#a855f7 65%,#6366f1 100%);background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite shine}.hero{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#050510 100%);height:200px;position:absolute;bottom:0;left:0;right:0}.hero>.topography-container{z-index:0;position:absolute;inset:0}.hero nav,.hero .hero-content,.hero .scroll-indicator{z-index:1;position:relative}.hero-nav{z-index:10;-webkit-backdrop-filter:blur(16px);background:#05051066;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;width:100%;padding:20px 48px;display:flex;position:sticky;top:0;left:0;right:0}.nav-brand .brand-name{letter-spacing:.02em;color:#fff;font-size:1.1rem;font-weight:600}.nav-links{gap:32px;display:flex}.nav-links a{color:#ffffffb3;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}.nav-cta{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:8px 20px;font-size:.9rem;transition:background .2s,border-color .2s}.nav-cta:hover{background:#ffffff2e;border-color:#fff6}.hero-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:80px 24px 100px;display:flex}.hero-tagline{color:#fff9;letter-spacing:.08em;margin-bottom:20px;font-size:1rem;font-weight:400}.hero-title{letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(3rem,10vw,8rem);font-weight:700;line-height:1}.title-line{display:block}.title-gradient{background:linear-gradient(135deg,#ff6bcb 0%,#a855f7 50%,#6366f1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#ffffff80;letter-spacing:.04em;margin-bottom:40px;font-size:1.2rem;font-weight:400}.hero-actions{gap:16px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border-radius:8px;padding:14px 32px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s}.btn-primary{color:#fff;background:#a855f7;border:none;box-shadow:0 0 24px #a855f766}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 32px #a855f799}.btn-secondary{color:#fff;background:0 0;border:1px solid #ffffff40}.btn-secondary:hover{border-color:#ffffff80;transform:translateY(-1px)}.scroll-indicator{color:#fff6;letter-spacing:.1em;flex-direction:column;align-items:center;gap:8px;font-size:.75rem;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(#fff6,#0000);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}.about{opacity:0;max-width:1200px;margin:0 auto;padding:120px 48px;transition:opacity .6s,transform .6s;transform:translateY(30px)}.about.visible{opacity:1;transform:translateY(0)}.about-content{grid-template-columns:1fr 1fr;align-items:stretch;gap:64px;display:grid}.about-left{flex-direction:column;display:flex}.section-label{letter-spacing:.15em;text-transform:uppercase;color:#a855f7;margin-bottom:12px;font-size:.8rem;font-weight:600;display:block}.section-title{margin-bottom:24px;font-size:2.5rem;font-weight:700;line-height:1.1}.title-accent{background:linear-gradient(135deg,#a855f7,#ff6bcb);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.about-bio{color:#ffffffb3;margin-bottom:32px;font-size:1rem;line-height:1.8}.skill-tag{color:#c084fc;background:#a855f726;border:1px solid #a855f74d;border-radius:4px;margin:0 4px 4px 0;padding:2px 10px;font-size:.85rem;display:inline-block}.contact-grid{flex-direction:column;flex:1;justify-content:space-between;gap:12px;display:flex}.contact-item{flex-direction:column;align-items:flex-start;gap:4px;padding:20px;display:flex}.contact-label{color:#ffffff80;min-width:60px}.contact-value{color:#ffffffe6;text-decoration:none}.contact-value:hover{color:#a855f7}.stats-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px;display:grid}.stat-card{padding:20px}.stat-number{color:#a855f7;margin-bottom:4px;font-size:2rem;font-weight:700;line-height:1;display:block}.stat-label{color:#ffffff80;font-size:.8rem}.skills-section{margin-top:8px}.skills-title{color:#ffffffe6;margin-bottom:20px;font-size:1.1rem;font-weight:600}.skills-list{flex-direction:column;gap:16px;display:flex}.skill-item{grid-template-columns:100px 1fr 50px;align-items:center;gap:12px;display:grid}.skill-name{color:#fffc;font-size:.9rem}.skill-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.skill-fill{background:linear-gradient(90deg,#a855f7,#ff6bcb);border-radius:2px;height:100%;transition:width .8s}.skill-level{color:#fff6;text-align:right;font-size:.75rem}.projects{max-width:1400px;margin:0 auto;padding:80px 48px 120px}.projects .content{flex-direction:column;gap:80px;display:flex}.project-category{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.project-category.visible{opacity:1;transform:translateY(0)}.category-header{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.category-title{font-size:2rem;font-weight:700;line-height:1.2}.category-count{color:#fff6;padding-bottom:6px;font-size:.85rem}.projects-list-wrap{align-items:center;gap:12px;display:flex;position:relative}.projects-list{scrollbar-width:none;flex:1;overflow-x:auto}.projects-list::-webkit-scrollbar{display:none}.projects-list-row{gap:24px;padding-right:40px;display:flex}.project-card-col{flex-shrink:0;width:380px;padding:0 8px}.eco-project-card{cursor:pointer;opacity:0;border-radius:20px;transition:transform .2s;overflow:hidden;transform:translateY(20px)}.eco-project-card.visible{opacity:1;transition:opacity .5s,transform .5s;transform:translateY(0)}.eco-project-card:hover{transform:translateY(-4px)}.eco-card-images{aspect-ratio:16/10;background:#1a1a2e;border-radius:12px;width:100%;position:relative;overflow:hidden}.eco-scroll-track{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;gap:0;display:flex;overflow-x:auto}.eco-scroll-track::-webkit-scrollbar{display:none}.eco-scroll-img{object-fit:cover;scroll-snap-align:start;flex-shrink:0;width:100%;height:100%}.eco-card-video{object-fit:cover;width:100%;height:100%}.eco-video-wrapper{width:100%;height:100%;position:relative}.eco-video-playline{color:#fffc;background:#0000004d;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.85rem;transition:background .2s;display:flex;position:absolute;inset:0}.eco-video-wrapper:hover .eco-video-playline{background:#00000080}.eco-card-info{padding:24px 20px}.eco-card-count{font-size:.75rem;font-weight:600}.eco-card-title{color:#fff;margin:6px 0 4px;font-size:1.1rem;font-weight:600}.eco-card-subtitle{margin-bottom:8px;font-size:.8rem}.eco-card-desc{color:#fff9;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:.85rem;line-height:1.6;display:-webkit-box;overflow:hidden}.eco-card-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.eco-tag{border:1px solid;border-radius:4px;padding:2px 8px;font-size:.7rem}.eco-card-cta{color:#ffffff80;align-items:center;gap:6px;font-size:.8rem;display:flex}.list-nav-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,border-color .2s;display:flex}.list-nav-btn:hover{background:#ffffff1f;border-color:#fff6}.lightbox-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:900px;display:flex;position:relative}.lightbox-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:-40px;right:0}.lightbox-close:hover{color:#fff}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-image-wrap,.lightbox-video-wrap{aspect-ratio:16/10;background:#1a1a2e;border-radius:12px;width:100%;overflow:hidden}.lightbox-image{object-fit:contain;width:100%;height:100%}.lightbox-video{object-fit:contain;border-radius:12px;width:100%;height:100%}.lightbox-footer{text-align:center}.lightbox-counter{font-size:.8rem}.lightbox-title{margin:4px 0 2px;font-size:1.1rem;font-weight:600}.lightbox-desc{color:#ffffff80;font-size:.85rem}.lightbox-thumbs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lightbox-thumb{cursor:pointer;opacity:.5;border:2px solid #0000;border-radius:6px;width:64px;height:48px;transition:opacity .2s,border-color .2s;overflow:hidden}.lightbox-thumb:hover,.lightbox-thumb.active{opacity:1}.lightbox-thumb img,.lightbox-thumb-video{object-fit:cover;width:100%;height:100%}.lightbox-thumb-video{color:#fff9;background:#1a1a2e;justify-content:center;align-items:center;gap:2px;font-size:.6rem;display:flex}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:.3s slideInRight}.slide-in-left{animation:.3s slideInLeft}.contact{opacity:0;max-width:1200px;margin:0 auto;padding:120px 48px 60px;transition:opacity .6s,transform .6s;transform:translateY(30px)}.contact.visible{opacity:1;transform:translateY(0)}.contact-content{grid-template-columns:1fr;gap:48px;margin-bottom:64px;display:grid}.contact-title{margin-bottom:20px;font-size:3rem;font-weight:700;line-height:1.1}.contact-bio{color:#fff9;max-width:480px;margin-bottom:32px;font-size:1rem;line-height:1.8}.contact-details{flex-direction:column;gap:16px;display:flex}.contact-link{color:#fffc;align-items:center;gap:12px;font-size:1rem;text-decoration:none;transition:color .2s;display:flex}.contact-link:hover{color:#a855f7}.contact-icon{font-size:1.2rem}.contact-footer{text-align:center;color:#ffffff4d;border-top:1px solid #ffffff14;padding-top:32px;font-size:.85rem}
