@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500;600&family=DM+Mono:wght@300;400;500&display=swap";:root{--black:#000;--white:#fff;--acid:#7fff00;--acid-dim:#7fff0012;--acid-border:#7fff0061;--text:#ffffff85;--text-bright:#fffffff0;--text-dim:#ffffff42;--border:#ffffff14;--nav-h:64px;--font-display:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace;--font-label:"DM Mono", monospace;--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px);overflow-x:hidden}body{background:var(--black);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:none;font-size:14px;line-height:1.7;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9999;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");position:fixed;inset:0}#root{width:100%;min-height:100vh;overflow-x:hidden}.site-wrapper{opacity:0;transition:opacity .8s var(--ease-expo), transform .8s var(--ease-expo);pointer-events:none;transform:translateY(16px)}.site-wrapper--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.preloader{z-index:99999;background:var(--black);transition:opacity .7s var(--ease-expo), transform .7s var(--ease-expo);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader--exit{opacity:0;pointer-events:none;transform:translateY(-40px)}.preloader-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.preloader-label{font-family:var(--font-label);letter-spacing:.35em;text-transform:uppercase;color:var(--text-dim);font-size:9px}.preloader-counter{align-items:flex-end;gap:1px;height:70px;line-height:1;display:flex;overflow:hidden}.preloader-pct{font-family:var(--font-display);color:var(--text-dim);align-self:flex-end;margin-bottom:6px;margin-left:4px;font-size:48px;font-weight:800}.ticker-col{width:46px;height:70px;display:inline-block;overflow:hidden}.ticker-inner{transition:transform .15s var(--ease-expo);flex-direction:column;display:flex}.ticker-digit{height:70px;font-family:var(--font-display);color:var(--text-bright);flex-shrink:0;justify-content:center;align-items:center;font-size:56px;font-weight:800;display:flex}.scroll-progress{background:var(--acid);width:0%;height:1px;box-shadow:0 0 8px var(--acid);z-index:10000;transition:width 80ms linear;position:fixed;top:0;left:0}.cursor-canvas{pointer-events:none;z-index:9998;position:fixed;inset:0}.nav{z-index:1000;height:var(--nav-h);background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,72px);transition:background .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(24px);border-bottom-color:var(--border);background:#000000d1}.nav-logo{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.01em;text-transform:uppercase;font-size:17px;font-weight:700;text-decoration:none}.nav-logo-accent{color:var(--acid)}.nav-status{background:#7fff0012;border:1px solid #7fff0033;border-radius:100px;align-items:center;gap:8px;padding:6px 14px;display:flex}.nav-status-dot{background:var(--acid);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #7fff0066}50%{opacity:.7;box-shadow:0 0 0 4px #7fff0000}}.nav-status-label{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--acid);font-size:9px}@media (width<=600px){.nav-status{display:none}}.nav-menu-btn{cursor:none;background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.nav-menu-label{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);font-size:9px;transition:color .2s}.nav-menu-btn:hover .nav-menu-label{color:var(--text-bright)}.nav-hamburger{flex-direction:column;gap:5px;width:22px;display:flex}.nav-hamburger span{background:var(--text-bright);height:1px;transition:transform .3s,opacity .3s;display:block}.nav-hamburger span:last-child{width:14px}.menu-overlay{z-index:5000;-webkit-backdrop-filter:blur(24px);transition:transform .7s var(--ease-expo);border-left:1px solid var(--border);pointer-events:none;background:#000000f7;flex-direction:column;padding:clamp(72px,10vh,100px) clamp(24px,7vw,120px) clamp(24px,4vh,48px);display:flex;position:fixed;inset:0;overflow:hidden;transform:translate(100%)}.menu-overlay--open{pointer-events:auto;transform:translate(0)}.menu-close{cursor:none;color:var(--text-dim);background:0 0;border:none;align-items:center;gap:12px;transition:color .2s;display:flex;position:absolute;top:clamp(20px,4vh,36px);right:clamp(20px,5vw,72px)}.menu-close:hover{color:var(--text-bright)}.menu-close-label{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;font-size:9px}.menu-close-icon{font-size:14px}.menu-nav{flex:1;align-items:center;min-height:0;display:flex}.menu-list{width:100%;list-style:none}.menu-item{border-bottom:1px solid var(--border);opacity:0;transition:opacity .5s var(--ease-expo), transform .5s var(--ease-expo);transform:translateY(20px)}.menu-item:first-child{border-top:1px solid var(--border)}.menu-overlay--open .menu-item{opacity:1;transform:translateY(0)}.menu-link{cursor:none;text-align:left;width:100%;transition:padding-left .3s var(--ease-expo);background:0 0;border:none;align-items:center;gap:20px;padding:clamp(10px,1.6vh,18px) 0;display:flex}.menu-link:hover{padding-left:12px}.menu-link:hover .menu-link-text{color:var(--text-bright)}.menu-link:hover .menu-link-arrow{opacity:1;color:var(--acid)}.menu-link-num{font-family:var(--font-label);letter-spacing:.2em;color:var(--acid);min-width:36px;font-size:10px}.menu-link-text{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;font-size:clamp(24px,4.5vw,56px);font-weight:700;line-height:1;transition:color .3s}.menu-link-arrow{color:#0000;opacity:0;margin-left:auto;font-size:18px;transition:opacity .25s,color .25s}.menu-footer{border-top:1px solid var(--border);opacity:0;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:20px;padding-top:16px;transition:opacity .5s .5s;display:flex}.menu-overlay--open .menu-footer{opacity:1}.menu-socials{gap:24px;display:flex}.menu-social{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:9px;text-decoration:none;transition:color .2s}.menu-social:hover{color:var(--text-bright)}.menu-footer-text{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}section{z-index:1;padding:120px clamp(24px,6vw,120px);position:relative;overflow:visible}section:not(#hero){padding-top:clamp(80px,10vh,120px)}.section-inner{max-width:1200px;margin:0 auto}.section-label{font-family:var(--font-label);letter-spacing:.28em;text-transform:uppercase;color:var(--acid);align-items:center;gap:16px;font-size:9px;display:flex}.section-label:after{content:"";background:var(--acid-border);flex:1;max-width:64px;height:1px}h1,h2,h3{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.02em;line-height:1}h2{font-size:clamp(32px,6vw,72px);font-weight:700}h3{font-size:clamp(18px,2.5vw,26px);font-weight:600}p{font-family:var(--font-mono);color:var(--text);font-size:13px;line-height:1.85}.divider{z-index:1;background:linear-gradient(90deg, transparent, var(--border), transparent);height:1px;margin:0 clamp(24px,6vw,120px);position:relative}.reveal{opacity:0;transition:opacity .9s var(--ease-expo), transform .9s var(--ease-expo);transform:perspective(1200px)translateY(32px)rotateX(6deg)}.reveal.revealed{opacity:1;transform:perspective(1200px)translateY(0)rotateX(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.26s}.reveal-delay-4{transition-delay:.36s}.reveal-delay-5{transition-delay:.46s}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;overflow:clip visible;padding-top:var(--nav-h)!important;padding-bottom:0!important;padding-left:clamp(24px,6vw,120px)!important;padding-right:clamp(24px,6vw,120px)!important}.hero-grid{pointer-events:none;opacity:.025;background-image:linear-gradient(#7fff00e6 1px,#0000 1px),linear-gradient(90deg,#7fff00e6 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 30%,#0000 100%);mask-image:radial-gradient(70% 70%,#000 30%,#0000 100%)}.hero-corner{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);animation:fade-in 1s var(--ease-expo) 1s both;flex-direction:column;gap:4px;font-size:8px;display:flex;position:absolute}.hero-corner--tl{top:calc(var(--nav-h) + 24px);left:clamp(24px,6vw,120px)}.hero-corner--tr{top:calc(var(--nav-h) + 24px);flex-direction:row;align-items:center;gap:10px;right:clamp(24px,6vw,120px)}.hero-corner-dot{background:var(--acid);border-radius:50%;width:5px;height:5px;animation:2s infinite pulse-dot}@media (width<=600px){.hero-corner{display:none}}.hero-cta{animation:fade-in 1s var(--ease-expo) .9s both;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.hero-btn{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;cursor:none;transition:transform .3s var(--ease-expo), box-shadow .3s ease;border:none;align-items:center;gap:10px;padding:14px 30px;font-size:9px;display:inline-flex}.hero-btn--primary{background:var(--acid);color:var(--black);font-weight:700}.hero-btn--primary:hover{transform:translateY(-3px);box-shadow:0 0 32px #7fff0066}.hero-btn--secondary{color:var(--text-bright);border:1px solid var(--border);background:0 0}.hero-btn--secondary:hover{border-color:var(--acid-border);color:var(--acid);transform:translateY(-3px)}.hero-btn-arrow{animation:1.8s infinite bounce-y;display:inline-block}@keyframes bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.hero-stats{border:1px solid var(--border);animation:fade-in 1s var(--ease-expo) 1.1s both;background:#ffffff05;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:16px 28px;display:flex}.hero-stat{flex-direction:column;align-items:center;gap:3px;display:flex}.hero-stat-num{font-family:var(--font-display);color:var(--text-bright);font-size:18px;font-weight:700;line-height:1}.hero-stat-num--green{color:var(--acid);font-size:10px}.hero-stat-label{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:7px}.hero-stat-sep{color:var(--border);-webkit-user-select:none;user-select:none;font-size:18px}.hero-ticker-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100vw;animation:fade-in 1s var(--ease-expo) 1.2s both;flex-shrink:0;margin:0 calc(-1*clamp(24px,6vw,120px));padding:18px 0;overflow:hidden}.hero-ticker{align-items:center;width:max-content;animation:30s linear infinite hero-scroll;display:flex}@keyframes hero-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-ticker-item{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;color:#ffffff38;-webkit-text-stroke:1px #ffffff59;white-space:nowrap;padding:0 clamp(14px,1.8vw,24px);font-size:clamp(16px,2.2vw,28px);font-weight:700;transition:color .3s,-webkit-text-stroke-color .3s}.hero-ticker-item:hover{color:#ffffffa6;-webkit-text-stroke-color:#ffffffa6}.hero-ticker-dot{color:#7fff0099;-webkit-text-stroke-color:#7fff0099;padding:0 6px;font-size:.55em}.hero-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.hero-overline{font-family:var(--font-label);letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);animation:fade-in 1s var(--ease-expo) .3s both;align-items:center;gap:16px;font-size:9px;display:flex}.hero-overline:before,.hero-overline:after{content:"";background:var(--border);width:40px;height:1px}.hero-name-wrap{will-change:transform;transition:transform .2s ease-out}.hero-name{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;animation:name-reveal 1.2s var(--ease-expo) .2s both;font-size:clamp(24px,5.8vw,96px);font-weight:800;line-height:.92}@keyframes name-reveal{0%{opacity:0;filter:blur(6px);transform:translateY(40px)rotateX(12deg)}to{opacity:1;filter:blur();transform:translateY(0)rotateX(0)}}.hero-tagline{font-family:var(--font-mono);color:var(--text);max-width:380px;animation:fade-in 1s var(--ease-expo) .6s both;font-size:clamp(11px,1.3vw,14px);line-height:1.9}.hero-cursor{color:var(--acid);animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-bottom-bar{border-top:1px solid var(--border);width:100%;animation:fade-in 1s var(--ease-expo) .8s both;justify-content:space-between;align-items:flex-end;margin-top:60px;padding:32px 0 clamp(32px,6vh,64px);display:flex}.hero-meta-label{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:8px;display:block}.hero-meta-value{font-family:var(--font-mono);color:var(--text);font-size:12px}.hero-scroll-cue{cursor:none;color:var(--text-dim);background:0 0;border:none;flex-direction:column;align-items:center;gap:10px;transition:color .25s;display:flex}.hero-scroll-cue:hover{color:var(--text-bright)}.hero-scroll-line{width:1px;height:40px;animation:scroll-line 2s var(--ease-expo) infinite;transform-origin:top;background:currentColor;display:block}@keyframes scroll-line{0%{transform-origin:top;opacity:1;transform:scaleY(0)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(1)}}.hero-scroll-text{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;writing-mode:vertical-rl;font-size:8px}.year-ticker{align-items:flex-end;gap:1px;display:flex}.year-col{width:14px;height:24px;display:inline-block;overflow:hidden}.year-inner{transition:transform .8s var(--ease-expo);flex-direction:column;display:flex}.year-digit{height:24px;font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.about-section{background:0 0}.about-grid{grid-template-columns:auto 1fr;align-items:start;gap:60px;display:grid}.about-number{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #ffffff0f;letter-spacing:-.06em;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;font-size:clamp(100px,16vw,220px);font-weight:800;line-height:.85}.about-content{padding-top:8px}.about-title{margin-bottom:24px;font-size:clamp(26px,4vw,50px)!important;line-height:1.12!important}.about-bio{color:var(--text);max-width:520px;margin-bottom:44px;font-size:13px;line-height:2}.about-meta{flex-wrap:wrap;gap:44px;display:flex}.about-meta-item label{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;color:var(--acid);margin-bottom:6px;font-size:8px;display:block}.about-meta-item span{font-family:var(--font-mono);color:var(--text-bright);font-size:12px;font-weight:500}@media (width<=860px){.about-grid{grid-template-columns:1fr;gap:16px}.about-number{font-size:80px}}.skills-section{overflow:visible}.skills-header-right{margin-top:-50px}.skills-header{grid-template-columns:auto 1fr;align-items:start;gap:48px;margin-bottom:56px;display:grid}.skills-header .section-label{margin-bottom:0;padding-top:4px}.skills-heading{margin-bottom:10px;font-size:clamp(28px,5vw,64px)!important;line-height:1!important}.skills-sub{color:#fff6;max-width:280px;font-size:11px}@media (width<=640px){.skills-header{grid-template-columns:1fr;gap:12px;margin-bottom:36px}}.skills-grid{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:0;display:grid}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.skills-grid{grid-template-columns:1fr}}.skill-category{border-right:1px solid var(--border);padding:32px 28px 40px;transition:background .3s;position:relative}.skill-category:last-child{border-right:none}.skill-category:before{content:"";background:var(--acid);transform-origin:0;height:2px;transition:transform .4s var(--ease-expo);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.skill-category:hover:before{transform:scaleX(1)}.skill-category:hover{background:#7fff0004}@media (width<=900px){.skill-category:nth-child(2n){border-right:none}.skill-category:nth-child(odd){border-right:1px solid var(--border)}.skill-category:first-child,.skill-category:nth-child(2){border-bottom:1px solid var(--border)}.skill-category:nth-child(3),.skill-category:nth-child(4){border-bottom:none}}@media (width<=480px){.skill-category{border-right:none;border-bottom:1px solid var(--border)}.skill-category:last-child{border-bottom:none}}.skill-cat-header{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:24px;padding-bottom:16px;display:flex}.skill-cat-index{font-family:var(--font-label);letter-spacing:.2em;color:var(--acid);opacity:.65;font-size:8px}.skill-cat-label{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:#fffc;font-size:9px;font-weight:500}.skill-list{flex-direction:column;gap:11px;list-style:none;display:flex}.skill-item{font-family:var(--font-mono);color:#ffffff8c;cursor:default;align-items:center;gap:10px;font-size:12px;font-weight:500;transition:color .2s,transform .2s;display:flex}.skill-item:hover{color:#ffffffeb;transform:translate(4px)}.skill-item:hover .skill-dot{background:var(--acid);box-shadow:0 0 6px var(--acid)}.skill-dot{background:#ffffff2e;border-radius:50%;flex-shrink:0;width:3px;height:3px;transition:background .2s,box-shadow .2s}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:48px;display:grid}.project-card{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-top:2px solid var(--acid);transform-style:preserve-3d;will-change:transform;background:#ffffff05;flex-direction:column;padding:36px 32px;transition:box-shadow .4s,background .4s;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#7fff0006 0%,#0000 55%);position:absolute;inset:0}.project-card:hover{background:#ffffff0a;box-shadow:0 24px 64px #0009,0 0 36px #7fff0012}.project-card-id{font-family:var(--font-label);letter-spacing:.32em;text-transform:uppercase;color:var(--acid);margin-bottom:16px;font-size:8px}.project-card-title{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(18px,2.5vw,24px);font-weight:700;line-height:1.15}.project-card-desc{font-family:var(--font-mono);color:var(--text);margin-bottom:24px;font-size:11px;line-height:1.85}.project-tech-list{flex-wrap:wrap;gap:6px;margin-bottom:24px;list-style:none;display:flex}.project-tech-tag{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:#ffffff59;border:1px solid #ffffff12;padding:3px 9px;font-size:8px}.project-links{gap:16px;margin-top:auto;padding-top:20px;display:flex}.project-link{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--acid);align-items:center;gap:5px;font-size:8px;text-decoration:none;transition:opacity .2s;display:flex}.project-link:hover{opacity:.6}.project-link svg{width:10px;height:10px}.fl-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;display:flex}.fl-sub{color:#fff6;text-align:right;max-width:280px;font-size:11px}@media (width<=640px){.fl-header{flex-direction:column;align-items:flex-start}.fl-sub{text-align:left}}.fl-list{border-top:1px solid var(--border)}.fl-row{border-bottom:1px solid var(--border);transition:background .3s ease, padding-left .3s var(--ease-expo);cursor:default;grid-template-columns:52px 1fr auto 48px;align-items:start;gap:28px;padding:28px 16px;display:grid;position:relative}.fl-row:before{content:"";background:var(--acid);transform-origin:top;width:2px;transition:transform .4s var(--ease-expo);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.fl-row:hover{background:#7fff0004;padding-left:24px}.fl-row:hover:before{transform:scaleY(1)}.fl-index{font-family:var(--font-label);letter-spacing:.2em;color:var(--acid);opacity:.6;padding-top:4px;font-size:9px}.fl-info{min-width:0}.fl-title{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.01em;margin-bottom:4px;font-size:clamp(15px,2vw,20px);font-weight:600;line-height:1.2}.fl-client{font-family:var(--font-label);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;margin-bottom:10px;font-size:9px}.fl-client-label{color:#ffffff2e}.fl-desc{font-family:var(--font-mono);color:var(--text);max-width:480px;font-size:11px;line-height:1.8}.fl-link{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:var(--acid);border-bottom:1px solid #7fff004d;align-items:center;gap:6px;margin-top:12px;padding-bottom:1px;font-size:8px;text-decoration:none;transition:border-color .2s,opacity .2s;display:inline-flex}.fl-link:hover{border-color:var(--acid);opacity:.75}.fl-link-arrow{font-size:10px;transition:transform .2s}.fl-link:hover .fl-link-arrow{transform:translate(2px,-2px)}.fl-tech{flex-direction:column;align-items:flex-end;gap:5px;min-width:90px;padding-top:4px;list-style:none;display:flex}.fl-tech-tag{font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;color:#ffffff52;white-space:nowrap;font-size:8px}.fl-year{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;padding-top:4px;font-size:11px}@media (width<=760px){.fl-row{grid-template-rows:auto auto;grid-template-columns:44px 1fr}.fl-tech{flex-flow:wrap;align-items:flex-start;gap:6px}.fl-year{display:none}}@media (width<=480px){.fl-row{grid-template-columns:1fr;gap:12px}.fl-index{display:none}}.exp-list{margin-top:48px}.exp-item{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;align-items:start;gap:48px;padding:32px 0;display:grid}.exp-item:first-child{border-top:1px solid var(--border)}.exp-period{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--acid);margin-bottom:6px;font-size:9px}.exp-company{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.exp-role{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(16px,2vw,22px);font-weight:600}.exp-desc{font-family:var(--font-mono);color:var(--text);max-width:480px;font-size:11px;line-height:1.9}@media (width<=640px){.exp-item{grid-template-columns:1fr;gap:8px}}.contact-section{text-align:center;padding-bottom:120px}.contact-headline{letter-spacing:-.04em;background:linear-gradient(170deg, var(--text-bright) 0%, #ffffff40 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:56px;font-size:clamp(40px,9vw,120px)!important;line-height:.92!important}.contact-email-wrapper{cursor:none;border:1px solid var(--border);background:0 0;align-items:center;gap:16px;padding:18px 36px;transition:border-color .3s,box-shadow .3s,transform .3s;display:inline-flex;position:relative;overflow:hidden}.contact-email-wrapper:before{content:"";background:var(--acid-dim);transform-origin:0;transition:transform .4s var(--ease-expo);position:absolute;inset:0;transform:scaleX(0)}.contact-email-wrapper:hover:before{transform:scaleX(1)}.contact-email-wrapper:hover{border-color:var(--acid-border);transform:translateY(-3px);box-shadow:0 0 40px #7fff001a}.contact-email{font-family:var(--font-mono);color:var(--text-bright);z-index:1;font-size:clamp(12px,1.6vw,17px);font-weight:500;text-decoration:none;position:relative}.contact-copy-hint{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--acid);z-index:1;font-size:8px;position:relative}.copy-toast{background:var(--acid);color:var(--black);font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;opacity:0;pointer-events:none;z-index:99999;padding:10px 20px;font-size:9px;font-weight:600;transition:opacity .3s,transform .3s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(16px)}.copy-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.contact-socials{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:48px;display:flex}.contact-social-link{font-family:var(--font-label);letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:7px;font-size:8px;text-decoration:none;transition:color .2s;display:flex}.contact-social-link:hover{color:var(--text-bright)}.footer{z-index:1;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px clamp(24px,6vw,120px);display:flex;position:relative}.footer-text{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:8px}.footer-acid{color:var(--acid)}.btn-primary{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--black);background:var(--acid);cursor:none;border:none;align-items:center;gap:8px;padding:13px 28px;font-size:9px;font-weight:600;text-decoration:none;transition:box-shadow .3s,transform .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 28px #7fff0080}.btn-secondary{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-bright);border:1px solid var(--border);cursor:none;background:0 0;align-items:center;gap:8px;padding:13px 28px;font-size:9px;text-decoration:none;transition:border-color .3s,color .3s,transform .3s;display:inline-flex}.btn-secondary:hover{border-color:var(--acid-border);color:var(--acid);transform:translateY(-2px)}.glow-blob{filter:blur(80px);pointer-events:none;will-change:transform;border-radius:50%;position:absolute}@media (width<=1024px){section{padding:80px clamp(20px,5vw,80px)}section:not(#hero){padding-top:clamp(70px,8vh,100px)}.projects-grid{grid-template-columns:1fr;max-width:540px}}@media (width<=640px){section{padding:60px 20px}section:not(#hero){padding-top:72px}.hero-bottom-bar{border-top:none;flex-direction:column;align-items:center;gap:24px;margin-top:32px;padding-top:0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
