*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:oklch(.18 .012 290);font-family:Hanken Grotesk,-apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}@-webkit-keyframes wobble{0%,to{-webkit-transform:rotate(-2deg);transform:rotate(-2deg)}50%{-webkit-transform:rotate(2deg);transform:rotate(2deg)}}@keyframes wobble{0%,to{-webkit-transform:rotate(-2deg);transform:rotate(-2deg)}50%{-webkit-transform:rotate(2deg);transform:rotate(2deg)}}@-webkit-keyframes dotpulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@keyframes dotpulse{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@-webkit-keyframes marquee{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.navlink{transition:color .15s}.navlink:hover{color:oklch(.96 .015 95)}.get-in-touch{transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.get-in-touch:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.cta{transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.cta-primary:hover{-webkit-transform:translateY(-3px) rotate(-1deg);transform:translateY(-3px) rotate(-1deg)}.cta-secondary:hover{-webkit-transform:translateY(-3px) rotate(1deg);transform:translateY(-3px) rotate(1deg)}.proj-card{transition:border-color .18s,-webkit-transform .18s;transition:transform .18s,border-color .18s;transition:transform .18s,border-color .18s,-webkit-transform .18s}.proj-card:hover{border-color:#fff;border-color:var(--card-hover,#fff);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.contact-btn{transition:border-color .15s,-webkit-transform .15s;transition:transform .15s,border-color .15s;transition:transform .15s,border-color .15s,-webkit-transform .15s}.contact-btn:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px)}.contact-btn-outline:hover{border-color:#fff}.social-link{transition:color .15s}.social-link:hover{color:#fff}.lift{transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.lift:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px)}@-webkit-keyframes termIn{0%{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes termIn{0%{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes onlinePulse{0%,to{box-shadow:0 0 0 0 var(--accent);opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:.6}}@keyframes onlinePulse{0%,to{box-shadow:0 0 0 0 var(--accent);opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:.6}}@-webkit-keyframes typingBlink{0%,80%,to{opacity:.35;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}@keyframes typingBlink{0%,80%,to{opacity:.35;-webkit-transform:translateY(0);transform:translateY(0)}40%{opacity:1;-webkit-transform:translateY(-3px);transform:translateY(-3px)}}.chat-term{-webkit-animation:termIn .5s ease both;animation:termIn .5s ease both;background:oklch(.2 .012 290);border:1px solid #ffffff1f;border-radius:14px;border-top:3px solid var(--accent);box-shadow:8px 8px 0 rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}.chat-term__bar{align-items:center;background:oklch(.24 .012 290);border-bottom:1px solid #ffffff14;color:#9a988f;display:flex;font-family:JetBrains Mono,monospace;font-size:12px;gap:8px;padding:11px 14px}.chat-term__dot{border-radius:50%;height:9px;width:9px}.chat-term__title{margin-left:6px}.chat-term__live{align-items:center;color:var(--accent);display:inline-flex;gap:7px;margin-left:auto}.chat-term__live i{-webkit-animation:onlinePulse 2s ease-in-out infinite;animation:onlinePulse 2s ease-in-out infinite;background:var(--accent);border-radius:50%;height:7px;width:7px}.chat-term__body{display:flex;flex-direction:column;gap:14px;height:clamp(340px,44vh,480px);overflow-y:auto;padding:24px 20px;scrollbar-color:#ffffff22 transparent;scrollbar-width:thin}.chat-term__body::-webkit-scrollbar{width:7px}.chat-term__body::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:99px}.chat-term__msg{font-size:14.5px;line-height:1.55;max-width:88%}.chat-term__msg--bot{align-self:flex-start;border-left:2px solid var(--accent);color:#d7d5d0;padding-left:13px}.chat-term__msg--bot b{color:#fff;font-weight:600}.chat-term__who{color:var(--accent);display:block;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.04em;margin-bottom:5px}.chat-term__msg--user{align-self:flex-end;background:oklch(.52 .2 300/.22);border:1px solid oklch(.62 .18 300/.5);border-radius:11px 11px 3px 11px;color:#efeef0;padding:9px 13px}.chat-term__chips{display:flex;flex-wrap:wrap;gap:8px}.chat-chip{background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;color:#cfcdc9;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:12px;padding:7px 11px;transition:border-color .15s,color .15s,-webkit-transform .15s;transition:border-color .15s,color .15s,transform .15s;transition:border-color .15s,color .15s,transform .15s,-webkit-transform .15s}.chat-chip:hover{border-color:var(--accent);color:#fff;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.chat-term__typing{align-self:flex-start;display:inline-flex;gap:4px;padding-left:13px}.chat-term__typing span{-webkit-animation:typingBlink 1.1s ease-in-out infinite;animation:typingBlink 1.1s ease-in-out infinite;background:var(--accent);border-radius:50%;height:6px;width:6px}.chat-term__typing span:nth-child(2){-webkit-animation-delay:.18s;animation-delay:.18s}.chat-term__typing span:nth-child(3){-webkit-animation-delay:.36s;animation-delay:.36s}.chat-term__form{align-items:center;background:oklch(.18 .012 290);border-top:1px solid #ffffff14;display:flex;gap:10px;padding:12px 14px}.chat-term__prompt{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:15px}.chat-term__field{align-items:center;cursor:text;display:flex;flex:1 1;font-family:JetBrains Mono,monospace;font-size:14px;min-width:0;overflow:hidden}.chat-term__input{background:transparent;border:none;caret-color:transparent;color:#efeef0;font:inherit;max-width:100%;padding:0}.chat-term__input:focus,.chat-term__input:focus-visible{outline:none}.chat-term__caret{background:var(--accent);flex:none;height:1.05em;margin-left:1px;opacity:.4;width:8px}.chat-term__field.is-focused .chat-term__caret{-webkit-animation:caretBlink 1.05s step-end infinite;animation:caretBlink 1.05s step-end infinite;box-shadow:0 0 7px var(--accent);opacity:1}.chat-term__ph{color:#6f6d66;flex:none;margin-left:6px;white-space:nowrap}@-webkit-keyframes caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.chat-term__send{align-items:center;background:var(--accent);border:none;border-radius:8px;color:var(--accent-ink);cursor:pointer;display:inline-flex;font-size:16px;height:34px;justify-content:center;transition:opacity .15s,-webkit-transform .15s;transition:transform .15s,opacity .15s;transition:transform .15s,opacity .15s,-webkit-transform .15s;width:34px}.chat-term__send:hover:not(:disabled){-webkit-transform:translateY(-2px);transform:translateY(-2px)}.chat-term__send:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:1080px){.hero-inner{gap:40px!important;grid-template-columns:1fr!important;max-width:640px!important}.hero-terminal-wrap{max-width:470px;width:100%}}@media (max-width:900px){.nav{padding:16px 20px!important}.navlinks{gap:18px!important}.navlinks-extra{display:none!important}.section-pad{padding-left:22px!important;padding-right:22px!important}.about-grid{gap:36px!important}.about-grid,.grid2,.grid3,.job-row,.stack-grid{grid-template-columns:1fr!important}.job-row{gap:10px!important}.hero{min-height:auto!important;padding:48px 22px 64px!important}.hero-badges{display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation:none!important;animation:none!important}}
/*# sourceMappingURL=main.f2abb8f2.css.map*/