@import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,400&display=swap";.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 6%;transition:background var(--transition),box-shadow var(--transition),padding var(--transition)}.nav--scrolled{background:#0c0c0ceb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:14px 6%;box-shadow:0 1px 0 var(--border)}.nav__logo{font-family:var(--font-head);font-size:1.2rem;font-weight:900;letter-spacing:-.5px;color:var(--text);display:flex;align-items:center;gap:2px}.nav__logo-bracket{color:var(--lime);font-style:italic}.nav__links{display:flex;align-items:center;list-style:none;gap:2px}.nav__link{font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--text-2);padding:6px 12px;border-radius:4px;text-transform:lowercase;transition:color var(--transition),background var(--transition)}.nav__link:hover{color:var(--text)}.nav__link--active{color:var(--lime)}.nav__cta{font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--bg);background:var(--lime);padding:7px 16px;border-radius:4px;margin-left:12px;font-weight:500;transition:background var(--transition),transform var(--transition)}.nav__cta:hover{background:#d4ff1a;transform:translateY(-1px)}.nav__burger{display:none;flex-direction:column;gap:5px;padding:4px}.nav__burger span{display:block;width:22px;height:1.5px;background:var(--text);border-radius:2px;transition:all .3s ease}.nav__burger--open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media (max-width: 768px){.nav__links{display:none;position:fixed;top:60px;left:0;right:0;background:#0c0c0cfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:stretch;padding:20px 6% 32px;border-bottom:1px solid var(--border);gap:4px}.nav__links--open{display:flex}.nav__link{font-size:14px;padding:12px 4px}.nav__cta{margin:12px 0 0;text-align:center;padding:12px}.nav__burger{display:flex}}.footer{border-top:1px solid var(--border);padding:40px 6%;margin-top:80px}.footer__inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer__name{font-family:var(--font-head);font-size:1.1rem;font-weight:900}.footer__name span{color:var(--lime);font-style:italic}.footer__copy{font-size:12px;color:var(--text-3);letter-spacing:.5px}.footer__links{display:flex;gap:20px}.footer__links a{font-size:12px;color:var(--text-3);letter-spacing:1px;text-transform:uppercase;transition:color var(--transition)}.footer__links a:hover{color:var(--lime)}@media (max-width: 600px){.footer__inner{flex-direction:column;align-items:flex-start;gap:12px}}.hero{min-height:100vh;display:flex;align-items:center;padding:140px 6% 100px;position:relative;overflow:hidden}.hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);pointer-events:none;opacity:.03}.hero__grid-cell{border:1px solid #fff}.hero__blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:blobFloat 10s ease-in-out infinite alternate}.hero__blob--1{width:500px;height:500px;background:radial-gradient(circle,var(--lime-glow),transparent 70%);top:-100px;right:-100px;animation-duration:12s}.hero__blob--2{width:300px;height:300px;background:radial-gradient(circle,rgba(100,60,255,.15),transparent 70%);bottom:0;left:10%;animation-duration:9s;animation-direction:alternate-reverse}@keyframes blobFloat{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.05)}}.hero__content{position:relative;z-index:2;max-width:800px;animation:heroLoad .9s cubic-bezier(.22,1,.36,1)}@keyframes heroLoad{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:2px;color:var(--lime);border:1px solid rgba(200,255,0,.3);padding:6px 14px;border-radius:99px;margin-bottom:36px;text-transform:uppercase}.hero__badge-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.hero__name{font-family:var(--font-head);line-height:.92;margin-bottom:28px;letter-spacing:-3px}.hero__name-line{display:block;font-size:clamp(4.5rem,12vw,9rem);font-weight:900;color:var(--text)}.hero__name-line--2 em{font-style:italic;color:var(--lime)}.hero__name-dot{color:var(--lime)}.hero__role-wrap{font-family:var(--font-mono);font-size:clamp(1rem,2.5vw,1.3rem);color:var(--text-2);margin-bottom:24px;display:flex;align-items:center;gap:0}.hero__role{color:var(--text)}.hero__cursor{color:var(--lime);animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero__desc{font-size:15px;color:var(--text-2);max-width:520px;line-height:1.8;margin-bottom:40px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}.hero__btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-family:var(--font-mono);font-size:13px;font-weight:500;border-radius:4px;transition:all var(--transition);letter-spacing:.5px}.hero__btn--primary{background:var(--lime);color:#000;font-weight:700}.hero__btn--primary:hover{background:#d4ff1a;transform:translateY(-2px);box-shadow:0 8px 24px #c8ff0033}.hero__btn--secondary{border:1px solid var(--border);color:var(--text-2)}.hero__btn--secondary:hover{color:var(--text);border-color:#fff3}.hero__stats{display:flex;align-items:center;gap:24px}.hero__stat{display:flex;flex-direction:column}.hero__stat span{font-family:var(--font-head);font-size:2rem;font-weight:900;color:var(--lime);line-height:1}.hero__stat{font-size:11px;color:var(--text-2);letter-spacing:1px;text-transform:uppercase}.hero__stat-div{width:1px;height:36px;background:var(--border)}.hero__scroll-hint{position:absolute;bottom:36px;right:6%;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:3px;color:var(--text-3);text-transform:uppercase;writing-mode:vertical-rl}.hero__scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--text-3),transparent);animation:scrollDrop 2s ease-in-out infinite}@keyframes scrollDrop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (max-width: 600px){.hero{padding:120px 5% 80px}.hero__scroll-hint{display:none}.hero__stats{gap:16px}}.about__inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}.about__left{position:sticky;top:100px}.about__img-wrap{position:relative;margin-top:32px;width:180px}.about__img-placeholder{width:180px;height:200px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:2.5rem;font-weight:900;color:var(--lime);letter-spacing:-2px}.about__img-deco{position:absolute;bottom:-10px;right:-10px;width:100%;height:100%;border:1px solid var(--lime);border-radius:4px;opacity:.3;z-index:-1}.about__right{padding-top:60px}.about__text{font-size:15px;color:var(--text-2);line-height:1.9;margin-bottom:20px}.about__text strong{color:var(--text);font-weight:500}.about__chips{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}.about__chip{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--lime);border:1px solid rgba(200,255,0,.3);padding:5px 12px;border-radius:99px;text-transform:uppercase}.about__links{display:flex;flex-wrap:wrap;gap:12px}.about__link{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);border-bottom:1px solid var(--text-3);padding-bottom:2px;transition:color var(--transition),border-color var(--transition)}.about__link:hover{color:var(--lime);border-color:var(--lime)}@media (max-width: 768px){.about__inner{grid-template-columns:1fr;gap:40px}.about__left{position:static}.about__right{padding-top:0}}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}.project-card{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--lime);transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.project-card:hover{border-color:#ffffff1a;transform:translateY(-4px);box-shadow:0 16px 40px #0006}.project-card:hover:before{transform:scaleX(1)}.project-card--featured{grid-column:span 1}.project-card__top{display:flex;align-items:center;justify-content:space-between}.project-card__emoji{font-size:1.8rem}.project-card__links{display:flex;gap:10px}.project-card__links a{color:var(--text-3);display:flex;align-items:center;transition:color var(--transition)}.project-card__links a:hover{color:var(--lime)}.project-card__title{font-family:var(--font-head);font-size:1.3rem;font-weight:700;letter-spacing:-.5px;color:var(--text)}.project-card__desc{font-size:13px;color:var(--text-2);line-height:1.7;flex:1}.project-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-card__tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-3);background:var(--bg-3);border:1px solid var(--border);padding:3px 8px;border-radius:3px}@media (max-width: 900px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.projects__grid{grid-template-columns:1fr}}.skills__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:56px}.skill{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:16px 18px;transition:border-color var(--transition)}.skill:hover{border-color:#c8ff0033}.skill__top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.skill__icon{font-size:1rem;width:20px;text-align:center}.skill__name{font-size:13px;font-weight:500;color:var(--text);flex:1}.skill__cat{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-3)}.skill__pct{font-size:12px;color:var(--lime);font-weight:500;min-width:32px;text-align:right}.skill__track{height:3px;background:var(--bg-3);border-radius:2px;overflow:hidden}.skill__fill{height:100%;width:var(--w, 0%);background:var(--lime);border-radius:2px;transition:width 1s cubic-bezier(.4,0,.2,1);opacity:.85}@media (max-width: 600px){.skills__grid{grid-template-columns:1fr}}.timeline{position:relative;margin-top:56px;display:flex;flex-direction:column;gap:0}.timeline:before{content:"";position:absolute;left:28px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--lime) 0%,var(--border) 60%,transparent 100%)}.timeline__item{display:flex;gap:28px;padding-bottom:48px;position:relative}.timeline__icon{width:56px;height:56px;background:var(--bg-2);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;z-index:2;position:relative;transition:border-color var(--transition)}.timeline__item--dev .timeline__icon{border-color:#c8ff0066}.timeline__item--business .timeline__icon{border-color:#fb923c66}.timeline__item--work .timeline__icon{border-color:#60a5fa66}.timeline__item--edu .timeline__icon{border-color:#a78bfa66}.timeline__body{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:24px;transition:border-color var(--transition)}.timeline__item:hover .timeline__body{border-color:#ffffff1a}.timeline__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.timeline__role{font-family:var(--font-head);font-size:1.15rem;font-weight:700;letter-spacing:-.3px;color:var(--text);margin-bottom:4px}.timeline__org{font-size:13px;color:var(--lime);opacity:.7}.timeline__period{font-size:11px;letter-spacing:1px;color:var(--text-3);white-space:nowrap;text-transform:uppercase}.timeline__points{list-style:none;display:flex;flex-direction:column;gap:8px}.timeline__points li{font-size:13px;color:var(--text-2);line-height:1.7;padding-left:16px;position:relative}.timeline__points li:before{content:"→";position:absolute;left:0;color:var(--lime);opacity:.6;font-size:11px;top:3px}@media (max-width: 560px){.timeline:before{left:20px}.timeline__icon{width:40px;height:40px;font-size:1rem}.timeline__header{flex-direction:column}.timeline__period{align-self:flex-start}}.contact__inner{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.contact__text{font-size:15px;color:var(--text-2);line-height:1.85;margin-bottom:36px;max-width:360px}.contact__links{display:flex;flex-direction:column;gap:14px}.contact__link{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2);transition:color var(--transition);border-bottom:1px solid transparent;padding-bottom:2px;width:fit-content}.contact__link:hover{color:var(--lime);border-color:var(--lime)}.contact__form{display:flex;flex-direction:column;gap:16px}.contact__field{display:flex;flex-direction:column;gap:6px}.contact__field label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3)}.contact__field input,.contact__field textarea{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:13px;padding:12px 14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition);resize:vertical}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--text-3)}.contact__field input:focus,.contact__field textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c8ff0014}.contact__submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;background:var(--lime);color:#000;font-family:var(--font-mono);font-size:13px;font-weight:700;border-radius:4px;letter-spacing:.5px;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);align-self:flex-start}.contact__submit:hover{background:#d4ff1a;transform:translateY(-2px);box-shadow:0 8px 24px #c8ff0033}.contact__submit--sent{background:#1aff8c}@media (max-width: 768px){.contact__inner{grid-template-columns:1fr;gap:48px}.contact__text{max-width:100%}}:root{--bg: #0c0c0c;--bg-2: #111111;--bg-3: #181818;--border: rgba(255,255,255,.06);--lime: #c8ff00;--lime-dim: rgba(200,255,0,.1);--lime-glow: rgba(200,255,0,.2);--text: #f0f0ea;--text-2: #8a8a7e;--text-3: #3f3f38;--font-head: "Fraunces", serif;--font-mono: "DM Mono", monospace;--transition: .2s ease;--max-w: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);line-height:1.7;overflow-x:hidden;cursor:default}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}img{display:block;max-width:100%}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-3);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-2)}.section{padding:120px 6%;max-width:var(--max-w);margin:0 auto}.section__label{font-family:var(--font-mono);font-size:12px;color:var(--lime);letter-spacing:2px;margin-bottom:12px;opacity:.8}.section__title{font-family:var(--font-head);font-size:clamp(2.4rem,5vw,4rem);font-weight:900;line-height:1.05;letter-spacing:-1.5px;margin-bottom:56px;color:var(--text)}.section__header{margin-bottom:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--delay, 0s)}.reveal.revealed{opacity:1;transform:translateY(0)}
