@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap);:root{--background:#080b0a;--surface:#0d1210;--surface-low:#111815;--surface-high:#18221e;--ink:#f1f5f2;--muted:#99a69f;--outline:#27332d;--green:#72e3b2;--green-dark:#a7efd0;--green-soft:#1f4938;--lime:#c8f66f;--max-width:1240px;--page-gutter:clamp(1.25rem,5vw,4rem);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080b0a;background:var(--background);background-image:radial-gradient(circle at 78% 8%,#2a6f5229,#0000 27rem),linear-gradient(hsla(0,0%,100%,.018) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.018) 1px,#0000 0);background-size:auto,64px 64px,64px 64px;color:#f1f5f2;color:var(--ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;margin:0;overflow-x:hidden}a,button{font:inherit}a,button{color:inherit}a{text-decoration:none}img,svg{display:block}img{max-width:100%}::selection{background:#1f4938;background:var(--green-soft);color:#f1f5f2;color:var(--ink)}:focus-visible{outline:3px solid #c8f66f;outline:3px solid var(--lime);outline-offset:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.site-shell{isolation:isolate;min-height:100vh}.section-wrap{margin-inline:auto;width:min(var(--max-width),calc(100% - var(--page-gutter)*2))}.skip-link{background:var(--ink);border-radius:.5rem;color:var(--background);left:.75rem;padding:.75rem 1rem;position:fixed;top:.75rem;transform:translateY(-150%);transition:transform .16s ease;z-index:200}.skip-link:focus{transform:translateY(0)}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080b0ad1;border-bottom:1px solid #ffffff12;inset:0 0 auto;position:fixed;z-index:100}.nav-wrap{align-items:center;display:flex;justify-content:space-between;margin-inline:auto;min-height:76px;width:min(var(--max-width),calc(100% - var(--page-gutter)*2))}.brand-mark{align-items:baseline;color:var(--ink);display:inline-flex;font-size:1.45rem;font-weight:800;letter-spacing:-.05em;min-height:44px;min-width:44px}.brand-dot{color:var(--green)}.desktop-nav{align-items:center;display:flex;gap:clamp(1.5rem,3vw,2.5rem)}.nav-link{align-items:center;color:var(--muted);display:inline-flex;font-family:JetBrains Mono,monospace;font-size:.73rem;font-weight:500;gap:.3rem;letter-spacing:.06em;min-height:44px;text-transform:uppercase;transition:color .18s ease}.nav-link:hover{color:var(--green)}.menu-button,.mobile-nav{display:none}.hero{grid-gap:clamp(2.5rem,7vw,6.5rem);align-items:center;display:grid;gap:clamp(2.5rem,7vw,6.5rem);grid-template-columns:minmax(0,7fr) minmax(320px,5fr);min-height:100svh;padding-bottom:clamp(4rem,8vw,7rem);padding-top:clamp(7.5rem,12vw,10rem)}.hero-copy{animation:rise-in .7s cubic-bezier(.16,1,.3,1) both;position:relative;z-index:1}.eyebrow{color:var(--green);font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;letter-spacing:.09em;margin:0 0 1.25rem;text-transform:uppercase}.hero-eyebrow{align-items:center;background:var(--surface-low);border:1px solid var(--outline);border-radius:999px;color:var(--muted);display:inline-flex;min-height:32px;padding:.4rem .8rem}.about h2,.contact-section h2,.hero h1,.section-heading h2{text-wrap:balance;font-weight:650;letter-spacing:-.055em;margin:0}.hero h1{font-size:clamp(3.15rem,6.25vw,5.35rem);line-height:.99;max-width:820px}.hero-intro{color:var(--muted);font-size:clamp(1.05rem,1.45vw,1.22rem);line-height:1.7;margin:2rem 0 0;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}.button{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.92rem;font-weight:650;gap:.65rem;justify-content:center;min-height:48px;padding:.8rem 1.25rem;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.button svg{height:18px;transition:transform .18s ease;width:18px}.button:hover{transform:translateY(-2px)}.button:hover svg{transform:translateX(3px)}.button-primary{background:var(--green);color:#07110d}.button-primary:hover{background:#91ecc6}.button-secondary{background:#0000;border-color:var(--outline)}.button-secondary:hover{background:var(--surface-high);border-color:#72e3b28c}.hero-note{align-items:center;color:var(--muted);display:flex;font-family:JetBrains Mono,monospace;font-size:.7rem;gap:.6rem;letter-spacing:.04em;margin-top:2.5rem;text-transform:uppercase}.signal-dot{background:var(--green);border-radius:50%;box-shadow:0 0 0 5px #72e3b21f;height:8px;width:8px}.portrait-frame{animation:portrait-in .9s cubic-bezier(.16,1,.3,1) .1s both;aspect-ratio:.76;background:var(--surface-high);border:1px solid #ffffff1a;border-radius:1.5rem;box-shadow:0 28px 90px #0000006b;min-height:520px;overflow:hidden;position:relative}.portrait{filter:grayscale(1) contrast(1.08) brightness(.78);height:100%;object-fit:cover;object-position:50% 45%;transition:filter .5s ease,transform .7s ease;width:100%}.portrait-frame:hover .portrait{filter:grayscale(.2) contrast(1.04) brightness(.88);transform:scale(1.015)}.portrait-caption{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080b0ad1;border:1px solid #ffffff1a;border-radius:.5rem;bottom:1rem;color:var(--muted);display:flex;font-family:JetBrains Mono,monospace;font-size:.62rem;gap:.6rem;padding:.55rem .7rem;position:absolute;right:1rem}.content-section{border-top:1px solid #ffffff14;padding-block:clamp(6rem,11vw,8.5rem)}.section-heading{margin-bottom:clamp(2.75rem,6vw,4.5rem);max-width:780px}.about h2,.contact-section h2,.section-heading h2{font-size:clamp(2.4rem,5vw,4rem);line-height:1.07}.projects-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.project-card{border:1px solid var(--outline);border-radius:1.35rem;box-shadow:0 22px 60px #0000002e;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;overflow:hidden;padding:clamp(1.5rem,3.5vw,2.4rem);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#72e3b266;box-shadow:0 28px 70px #00000047;transform:translateY(-4px)}.project-card-default{background:var(--surface)}.project-card-accent{background:radial-gradient(circle at 88% 10%,#72e3b224,#0000 18rem),linear-gradient(145deg,#111a16,#0c110f 72%);position:relative}.project-card-accent:before{border:1px solid #72e3b22e;border-radius:50%;bottom:-4.5rem;content:"";height:9rem;position:absolute;right:-4.5rem;width:9rem}.project-card>*{position:relative;z-index:1}.project-topline{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:clamp(3.5rem,7vw,6rem)}.capabilities-label,.contribution-caption,.github-handle,.project-index,.project-meta{font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.project-index{color:var(--muted)}.icon-link{border:1px solid #ffffff1f;border-radius:50%;color:var(--ink);display:grid;height:44px;place-items:center;transition:background .18s ease,color .18s ease,transform .18s ease;width:44px}.icon-link svg{height:19px;width:19px}.icon-link:hover{background:var(--ink);color:var(--background);transform:rotate(4deg)}.project-kicker{color:var(--green)!important;font-family:JetBrains Mono,monospace;font-size:.67rem;font-weight:600;letter-spacing:.07em;margin-bottom:.75rem!important;text-transform:uppercase}.project-card h3{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.04em;line-height:1.15;margin:0 0 1rem}.project-card p{color:var(--muted);margin:0;max-width:500px}.project-footer{align-items:flex-end;border-top:1px solid #ffffff17;display:flex;gap:1rem;justify-content:space-between;margin-top:3rem;padding-top:1rem}.project-meta{color:var(--muted);display:flex;flex-wrap:wrap;gap:.55rem}.project-meta span:first-child{color:var(--green);font-weight:600}.text-link{align-items:center;display:inline-flex;font-size:.78rem;font-weight:650;gap:.45rem;min-height:44px}.all-work-link span:last-child,.github-profile-link span,.text-link span{transition:transform .18s ease}.github-profile-link:hover span,.text-link:hover span{transform:translate(2px,-2px)}.all-work-link{align-items:center;border-bottom:1px solid #ffffff26;display:flex;font-family:JetBrains Mono,monospace;font-size:.76rem;justify-content:space-between;letter-spacing:.04em;margin-top:1.25rem;min-height:64px;padding:0 .25rem;text-transform:uppercase}.all-work-link:hover span:last-child{transform:translate(3px,-3px)}.github-panel{background:var(--surface-low);border:1px solid var(--outline);border-radius:1.5rem;color:var(--ink);overflow:hidden;padding:clamp(1.5rem,5vw,3.5rem);position:relative}.github-panel:before{background:#72e3b217;border-radius:50%;content:"";filter:blur(1px);height:420px;position:absolute;right:-200px;top:-220px;width:420px}.github-panel-header{align-items:flex-end;display:flex;gap:2rem;justify-content:space-between;position:relative;z-index:1}.github-handle{color:var(--green);margin:0 0 .8rem}.github-panel h3{font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:-.035em;margin:0 0 .75rem}.github-panel-header p:last-child{color:var(--muted);margin:0;max-width:570px}.github-profile-link{align-items:center;border-bottom:1px solid #72e3b259;color:var(--green);display:inline-flex;flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:.7rem;gap:.5rem;letter-spacing:.04em;min-height:44px;text-transform:uppercase}.contribution-shell{background:#f1f4ef;border-radius:.9rem;margin-top:3rem;padding:clamp(1rem,3vw,1.5rem);position:relative;z-index:1}.contribution-scroll{overflow-x:auto;scrollbar-color:var(--green) var(--surface-high);scrollbar-width:thin}.contribution-scroll img{height:auto;min-width:663px;width:100%}.contribution-caption{color:#55615a;display:flex;font-size:.6rem;gap:1rem;justify-content:space-between;margin-top:.75rem}.about{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(12,minmax(0,1fr))}.about-heading{grid-column:span 5}.about-copy{grid-column:7/span 6}.about-copy>p{color:var(--muted);margin:0 0 1.5rem;max-width:700px}.about-copy .about-lead{color:var(--ink);font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.02em;line-height:1.6}.capabilities{border-top:1px solid #ffffff1a;margin-top:3rem;padding-top:1.5rem}.capabilities-label{color:var(--ink)!important;font-weight:600;margin-bottom:1rem!important}.capabilities ul{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0}.capabilities li{background:var(--surface-high);border:1px solid #ffffff14;border-radius:999px;font-family:JetBrains Mono,monospace;font-size:.68rem;padding:.55rem .85rem}.contact-section{padding-block:clamp(5rem,10vw,8rem)}.contact-inner{align-items:center;background:radial-gradient(circle at 50% 0,#72e3b224,#0000 24rem),var(--surface-low);border:1px solid var(--outline);border-radius:1.75rem;color:var(--ink);display:flex;flex-direction:column;justify-content:center;min-height:470px;padding:clamp(2rem,8vw,6rem);text-align:center}.eyebrow-on-dark{color:var(--lime)}.contact-section h2{max-width:790px}.contact-inner>p:not(.eyebrow){color:var(--muted);margin:1.5rem 0 2rem;max-width:600px}.button-accent{background:var(--lime);color:#19220b}.button-accent:hover{background:#d5ff80}.contact-links{color:var(--muted);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:.68rem;gap:.9rem;justify-content:center;letter-spacing:.05em;margin-top:2.5rem;text-transform:uppercase}.contact-links a{align-items:center;display:inline-flex;min-height:44px;transition:color .18s ease}.contact-links a:hover{color:var(--lime)}.contact-links span{align-items:center;display:inline-flex;opacity:.35}.site-footer{border-top:1px solid #ffffff14}.footer-inner{grid-gap:2rem;align-items:center;color:var(--muted);display:grid;font-family:JetBrains Mono,monospace;font-size:.68rem;gap:2rem;grid-template-columns:1fr auto 1fr;letter-spacing:.03em;min-height:150px;text-transform:uppercase}.footer-inner p{margin:0;text-align:center}.footer-inner>a:last-child{align-items:center;display:inline-flex;justify-self:end;min-height:44px}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-in{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:900px){.desktop-nav{display:none}.menu-button{align-items:center;background:#0000;border:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;height:44px;justify-content:center;padding:0;width:44px}.menu-button span{background:currentColor;height:1.5px;transition:transform .18s ease;width:21px}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{background:var(--background);display:grid;max-height:0;opacity:0;overflow:hidden;padding-inline:var(--page-gutter);transition:max-height .24s ease,opacity .18s ease,padding .24s ease;width:100%}.mobile-nav.is-open{max-height:360px;opacity:1;padding-bottom:1.5rem}.mobile-nav a{align-items:center;border-bottom:1px solid var(--outline);display:grid;font-size:1.05rem;font-weight:600;grid-template-columns:36px 1fr auto;min-height:56px}.mobile-nav a>span{color:var(--green);font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500}.hero{grid-template-columns:1fr;padding-top:8.5rem}.hero-copy{max-width:780px}.portrait-frame{aspect-ratio:.92;min-height:0;width:min(100%,610px)}.projects-grid{grid-template-columns:1fr}.project-card{min-height:390px}.github-panel-header{align-items:flex-start;flex-direction:column}.about-copy,.about-heading{grid-column:1/-1}.about-copy{margin-top:2rem}}@media (max-width:600px){.nav-wrap{min-height:68px}.hero{gap:3.25rem;padding-bottom:5.5rem;padding-top:7.5rem}.hero h1{font-size:clamp(2.8rem,13vw,4rem)}.hero-eyebrow{background:#0000;border:0;border-radius:0;padding-inline:0}.button,.hero-actions{width:100%}.portrait-frame{aspect-ratio:.83;border-radius:1.15rem}.portrait-caption{bottom:.75rem;left:.75rem;right:auto}.content-section{padding-block:5.5rem}.about h2,.contact-section h2,.section-heading h2{font-size:clamp(2.25rem,11vw,3.1rem)}.project-card{border-radius:1.1rem;min-height:420px}.project-footer{align-items:flex-start;flex-direction:column}.contribution-shell{margin-inline:-.5rem}.contribution-caption{align-items:flex-start;flex-direction:column;gap:.25rem}.contact-inner{border-radius:1.25rem;min-height:480px}.footer-inner{align-items:flex-start;display:flex;flex-direction:column;gap:.8rem;justify-content:center;min-height:200px;padding-block:2rem}.footer-inner p{text-align:left}.footer-inner>a:last-child{justify-self:auto}}
/*# sourceMappingURL=main.1b667066.css.map*/