:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#161616;--bg-card-hover:#1c1c1c;--text-primary:#fff;--text-secondary:#999;--text-muted:#555;--accent-lime:#d4ff00;--accent-lime-dark:#b8de00;--accent-purple:#a78bfa;--accent-purple-dark:#7c3aed;--border-color:#222;--border-subtle:#1a1a1a;--nav-bg:#0a0a0a99;--card-shadow:0 8px 32px #0006;--glow-color:#d4ff0014;--font-main:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-hero:clamp(3rem, 8vw, 7.5rem);--fs-section:clamp(2rem, 5vw, 4rem);--fs-h3:clamp(1.25rem, 2vw, 1.75rem);--fs-body:clamp(.95rem, 1.2vw, 1.125rem);--fs-small:.875rem;--fs-tag:.8125rem;--fs-footer-brand:clamp(3rem, 12vw, 10rem);--container-width:1200px;--section-padding:clamp(4rem, 8vw, 8rem);--gap:2rem;--radius:16px;--radius-sm:8px;--radius-pill:100px;--transition:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#fafafa;--bg-secondary:#f0f0f0;--bg-card:#fff;--bg-card-hover:#f5f5f5;--text-primary:#0a0a0a;--text-secondary:#666;--text-muted:#aaa;--border-color:#e0e0e0;--border-subtle:#eee;--nav-bg:#fafafab3;--card-shadow:0 8px 32px #00000014;--glow-color:#d4ff0026}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-main);font-size:var(--fs-body);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition), color var(--transition);line-height:1.6;overflow-x:hidden}a{color:var(--text-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-lime)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit;font-size:inherit}::selection{background:var(--accent-lime);color:#0a0a0a}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}.section{padding:var(--section-padding) 0;position:relative}.navbar{z-index:1000;transition:background var(--transition), backdrop-filter var(--transition);padding:1.25rem clamp(1.25rem,4vw,2.5rem);position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle)}.nav-inner{max-width:var(--container-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.accent-dot{color:var(--accent-lime)}.nav-right{align-items:center;gap:1rem;display:flex}.theme-toggle{border:1px solid var(--border-color);width:40px;height:40px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--accent-lime);color:var(--accent-lime)}[data-theme=dark] .theme-icon-dark{display:none}[data-theme=dark] .theme-icon-light{display:inline}[data-theme=light] .theme-icon-light{display:none}[data-theme=light] .theme-icon-dark{display:inline}.nav-cta{border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:var(--fs-small);transition:all var(--transition);align-items:center;gap:.4rem;padding:.6rem 1.5rem;font-weight:500;display:flex}.nav-cta:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.nav-cta .arrow{transition:transform var(--transition)}.nav-cta:hover .arrow{transform:translate(2px,-2px)}.menu-toggle{border:1px solid var(--border-color);width:40px;height:40px;transition:all var(--transition);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.menu-toggle span{background:var(--text-primary);width:18px;height:2px;transition:all var(--transition);border-radius:2px;display:block}.menu-toggle:hover{border-color:var(--accent-lime)}.menu-toggle.active span:first-child{transform:rotate(45deg)translate(2.5px,2.5px)}.menu-toggle.active span:last-child{transform:rotate(-45deg)translate(2.5px,-2.5px)}.mobile-menu{background:var(--bg-primary);z-index:999;opacity:0;pointer-events:none;width:100%;height:100vh;transition:opacity var(--transition-slow);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.mobile-menu.active{opacity:1;pointer-events:all}.mobile-menu-inner{text-align:center;flex-direction:column;gap:2rem;display:flex}.mobile-link{opacity:0;transition:opacity .4s ease, transform .4s ease, color var(--transition);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;display:block;transform:translateY(30px)}.mobile-menu.active .mobile-link{opacity:1;transform:translateY(0)}.mobile-menu.active .mobile-link:first-child{transition-delay:.1s}.mobile-menu.active .mobile-link:nth-child(2){transition-delay:.15s}.mobile-menu.active .mobile-link:nth-child(3){transition-delay:.2s}.mobile-menu.active .mobile-link:nth-child(4){transition-delay:.25s}.mobile-link:hover{color:var(--accent-lime)}.mobile-socials{opacity:0;justify-content:center;gap:1.5rem;margin-top:1rem;transition:opacity .4s .35s;display:flex}.mobile-menu.active .mobile-socials{opacity:1}.mobile-socials a{border:1px solid var(--border-color);width:48px;height:48px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.mobile-socials a:hover{background:var(--accent-lime);color:#0a0a0a;border-color:var(--accent-lime)}.hero{min-height:100vh;max-width:var(--container-width);flex-direction:column;justify-content:center;margin:0 auto;padding:8rem clamp(1.25rem,4vw,2.5rem) 2rem;display:flex;position:relative}.hero-content{z-index:2;position:relative}.hero-title{font-size:var(--fs-hero);letter-spacing:-.03em;margin-bottom:3rem;font-weight:700;line-height:1.05}.hero-line{display:block}.highlight{background:var(--accent-lime);color:#0a0a0a;border-radius:var(--radius-pill);padding:.05em .3em;display:inline-block}.sparkle{color:var(--accent-lime);vertical-align:middle;font-size:.6em}.sparkle.large{font-size:2rem}.hero-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.hero-description{max-width:380px;color:var(--text-secondary);font-size:var(--fs-body);line-height:1.7}.hero-socials{font-size:var(--fs-small);align-items:center;gap:.75rem;display:flex}.hero-socials a{color:var(--text-secondary);transition:color var(--transition)}.hero-socials a:hover{color:var(--accent-lime)}.social-label{color:var(--accent-lime);font-size:.65rem}.hero-image-wrap{z-index:1;opacity:.12;pointer-events:none;position:absolute;top:50%;right:clamp(2rem,8vw,6rem);transform:translateY(-50%)}.hero-avatar{filter:grayscale(30%);border-radius:50%;width:clamp(200px,30vw,450px)}.scroll-indicator{flex-shrink:0;width:80px;height:80px;position:relative}.scroll-text-circle{animation:10s linear infinite rotateScroll}.scroll-circle-text{fill:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;font-size:8.5px;font-weight:500}.scroll-arrow{color:var(--text-primary);font-size:1.2rem;animation:2s ease-in-out infinite bounceArrow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rotateScroll{to{transform:rotate(360deg)}}@keyframes bounceArrow{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-30%)}}.marquee-section{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:2rem 0;overflow:hidden}.marquee-track{width:max-content;animation:25s linear infinite marquee;display:flex}.marquee-content{color:var(--text-muted);white-space:nowrap;align-items:center;gap:2rem;padding-right:2rem;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:600;display:flex}.marquee-content .sparkle{color:var(--text-muted);font-size:.5em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-title{font-size:var(--fs-section);letter-spacing:-.03em;font-weight:700;line-height:1.1}.highlight-text{color:var(--accent-lime)}.section-header{margin-bottom:3rem}.section-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:3rem;display:flex}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.about-text p{color:var(--text-secondary);font-size:var(--fs-body);margin-bottom:1.25rem;line-height:1.8}.skills-label{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:1rem;font-weight:600}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:var(--fs-tag);transition:all var(--transition);padding:.5rem 1.25rem;font-weight:500}.skill-tag:hover{border-color:var(--accent-lime);color:var(--accent-lime)}.projects-layout{grid-template-columns:1fr 1.5fr;align-items:start;gap:3rem;display:grid}.projects-header{position:sticky;top:8rem}.projects-header .pill-button{margin-top:1.5rem}.projects-cards{flex-direction:column;gap:2.5rem;display:flex}.past-projects-list{border-top:1px solid var(--border-color)}.past-project-row{border-bottom:1px solid var(--border-color);transition:all var(--transition);cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;padding:2rem 0;display:grid}.past-project-row:hover{color:var(--accent-lime);padding-left:1rem}.past-project-row:hover .past-project-name h3{color:var(--accent-lime)}.past-project-name h3{font-size:var(--fs-h3);transition:color var(--transition);font-weight:600}.past-project-meta{gap:.5rem;display:flex}.past-project-tag{font-size:var(--fs-tag);color:var(--text-secondary)}.past-project-year{font-size:var(--fs-body);color:var(--text-secondary);font-weight:500}.services-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition);padding:2.5rem;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-lime), transparent);opacity:0;height:2px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.service-card:hover{border-color:var(--border-color);background:var(--bg-card-hover);box-shadow:var(--card-shadow);transform:translateY(-4px)}.service-card:hover:before{opacity:1}.service-icon{background:var(--bg-secondary);width:48px;height:48px;color:var(--accent-lime);border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:1.25rem;display:flex}.service-card h3{font-size:var(--fs-h3);margin-bottom:.75rem;font-weight:600}.service-card p{color:var(--text-secondary);font-size:var(--fs-small);line-height:1.7}.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact-desc{color:var(--text-secondary);margin:1.5rem 0 2rem;line-height:1.7}.contact-info-list{flex-direction:column;gap:1.25rem;display:flex}.contact-info-list li{color:var(--text-secondary);font-size:var(--fs-small);align-items:flex-start;gap:1rem;display:flex}.contact-info-list li i{color:var(--accent-lime);margin-top:.25rem;font-size:1rem}.contact-info-list li strong{color:var(--text-primary);margin-bottom:.15rem;display:block}.contact-info-list li a{color:var(--text-secondary)}.contact-info-list li a:hover{color:var(--accent-lime)}.footer{border-top:1px solid var(--border-subtle);padding:4rem 0 2rem}.footer-brand{text-align:center;margin-bottom:3rem;overflow:hidden}.footer-big-text{font-size:var(--fs-footer-brand);letter-spacing:-.04em;color:var(--text-primary);opacity:.08;-webkit-user-select:none;user-select:none;font-weight:700;line-height:1;display:block}.footer-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.footer-socials{gap:.75rem;display:flex}.footer-socials a{border:1px solid var(--border-color);width:40px;height:40px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.footer-socials a:hover{background:var(--accent-lime);color:#0a0a0a;border-color:var(--accent-lime)}.footer-copy{font-size:var(--fs-small);color:var(--text-muted)}.back-to-top{border:1px solid var(--border-color);width:40px;height:40px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.back-to-top:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}@media (width<=900px){.about-grid,.contact-layout,.projects-layout{grid-template-columns:1fr}.projects-header{position:static}.services-grid{grid-template-columns:1fr}.hero-image-wrap,.nav-cta{display:none}.hero-bottom{flex-direction:column;align-items:flex-start}}@media (width<=600px){.past-project-row{grid-template-columns:1fr;gap:.5rem}.past-project-meta{flex-wrap:wrap}.footer-row{text-align:center;flex-direction:column;gap:1.5rem}.section-header-row{flex-direction:column}}.pill-button{border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:var(--fs-small);color:var(--text-primary);transition:all var(--transition);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.75rem 2rem;font-weight:500;text-decoration:none;display:inline-flex}.pill-button:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.pill-button .arrow{transition:transform var(--transition);font-size:1.1em}.pill-button:hover .arrow{transform:translate(2px,-2px)}.project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition);position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--card-shadow);border-color:#d4ff0026;transform:translateY(-4px)}.project-card-image{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.project-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.project-card:hover .project-card-image img{transform:scale(1.04)}.project-card-placeholder{background:linear-gradient(135deg, var(--bg-secondary), var(--bg-card));justify-content:center;align-items:center;display:flex}.placeholder-content{color:var(--text-muted);font-size:var(--fs-body);flex-direction:column;align-items:center;gap:1rem;font-weight:500;display:flex}.project-card-glow{background:radial-gradient(ellipse, var(--glow-color), transparent 70%);pointer-events:none;opacity:0;width:60%;height:60%;transition:opacity var(--transition-slow);position:absolute;bottom:-40%;left:50%;transform:translate(-50%)}.project-card:hover .project-card-glow{opacity:1}.project-card-info{padding:1.5rem 2rem 2rem}.project-tags{gap:.5rem;margin-bottom:.75rem;display:flex}.project-tag{font-size:var(--fs-tag);color:var(--accent-lime);border-radius:var(--radius-pill);border:1px solid #d4ff0033;padding:.2rem .75rem;font-weight:500}.project-card-info h3{font-size:var(--fs-h3);margin-bottom:.5rem;font-weight:600}.project-card-info h3 a{transition:color var(--transition)}.project-card-info h3 a:hover{color:var(--accent-lime)}.project-card-info h3 .arrow{transition:transform var(--transition);font-size:.85em;display:inline-block}.project-card-info h3 a:hover .arrow{transform:translate(3px,-3px)}.project-card-info p{color:var(--text-secondary);font-size:var(--fs-small);line-height:1.7}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--fs-body);transition:all var(--transition);outline:none;padding:1rem 1.25rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-lime);box-shadow:0 0 0 3px #d4ff0014}.form-group textarea{resize:vertical;min-height:120px}.submit-button{background:var(--accent-purple);color:#fff;border-radius:var(--radius-pill);font-size:var(--fs-body);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-weight:600;display:inline-flex}.submit-button:hover{background:var(--accent-purple-dark);transform:translateY(-2px);box-shadow:0 8px 24px #a78bfa4d}.submit-button .arrow{transition:transform var(--transition)}.submit-button:hover .arrow{transform:translate(2px,-2px)}.lightbox{z-index:2000;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.lightbox.active{opacity:1;pointer-events:all}.lightbox-close{color:#fff;cursor:pointer;z-index:10;transition:color var(--transition);font-size:2.5rem;line-height:1;position:absolute;top:1.5rem;right:2rem}.lightbox-close:hover{color:var(--accent-lime)}.lightbox-prev,.lightbox-next{color:#fff9;cursor:pointer;z-index:10;transition:color var(--transition);padding:1rem;font-size:3rem;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-prev:hover,.lightbox-next:hover{color:#fff}.lightbox-counter{color:#ffffff80;font-size:var(--fs-small);font-weight:500;position:absolute;top:1.5rem;left:50%;transform:translate(-50%)}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex}.lightbox-content img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:78vh}.lightbox-caption{color:#ffffffb3;font-size:var(--fs-small);text-align:center;margin-top:1rem}.reveal-up{opacity:0;transform:translateY(40px)}.reveal-text .hero-line{opacity:0;transform:translateY(60px)}body,.navbar,.service-card,.project-card,.form-group input,.form-group textarea,.skill-tag,.footer-socials a,.mobile-menu{transition:background-color var(--transition), color var(--transition), border-color var(--transition)}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
