@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Instrument+Serif:ital@0;1&display=swap";:root{color-scheme:dark;font-family:DM Sans,Arial,sans-serif;color:#f4f3ed;background:#070707;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#070707}body{margin:0;min-width:320px;background:#070707}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}main{position:relative;overflow:clip}.atmosphere{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#070707;pointer-events:none}.atmosphere__grid{position:absolute;width:150%;height:150%;left:-25%;top:-25%;opacity:.34;background-image:linear-gradient(rgba(244,243,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(244,243,237,.06) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at center,black 2%,transparent 65%);mask-image:radial-gradient(ellipse at center,black 2%,transparent 65%);will-change:transform}.atmosphere__glow{position:absolute;width:min(64vw,900px);aspect-ratio:1;border-radius:50%;filter:blur(90px);opacity:.3;will-change:transform}.atmosphere__glow--lime{top:0;left:0;background:#a5ff00}.atmosphere__glow--violet{top:0;left:0;background:#7469ff;opacity:.25}.atmosphere__glow--coral{top:0;left:0;background:#ff6c5d;opacity:.21}.atmosphere__vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 17%,rgba(7,7,7,.38) 72%,rgba(7,7,7,.82))}.scroll-progress{position:fixed;z-index:12;top:0;bottom:0;left:8px;width:2px;transform-origin:top;background:#d5ff47;box-shadow:0 0 16px #d5ff47cc;pointer-events:none}.signal-field{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.92}.signal-field canvas{height:100%!important;width:100%!important}.grain{position:fixed;top:-45%;right:-45%;bottom:-45%;left:-45%;z-index:2;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");transform:translateZ(0)}.site-header{position:absolute;top:0;z-index:5;width:100%;display:flex;align-items:center;justify-content:space-between;padding:29px clamp(22px,4vw,64px);mix-blend-mode:screen;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.03em;text-transform:uppercase}.wordmark{display:inline-flex;align-items:center;gap:7px;font-weight:500;letter-spacing:.12em}.wordmark span{display:grid;width:21px;height:21px;place-items:center;border:1px solid rgba(244,243,237,.8);font-family:DM Sans,sans-serif;font-size:13px;letter-spacing:0;transition:transform .42s cubic-bezier(.2,.9,.22,1),background .25s ease,color .25s ease}.wordmark:hover span{transform:rotate(180deg) scale(1.2);background:#d5ff47;color:#070707}.site-header nav{display:flex;gap:clamp(14px,2.1vw,34px)}.site-header nav a{position:relative;color:#f4f3eda3;transition:color .25s ease}.site-header nav a:after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:1px;background:#d5ff47;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.9,.22,1)}.site-header nav a:hover{color:#d5ff47}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:18px}.resume-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;overflow:hidden;border:1px solid rgba(213,255,71,.76);color:#d5ff47;transition:color .3s ease,transform .3s cubic-bezier(.2,.9,.22,1)}.resume-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#d5ff47;transform:translateY(102%);transition:transform .3s cubic-bezier(.2,.9,.22,1)}.resume-button:hover{color:#070707;transform:translateY(-2px)}.resume-button:hover:before{transform:translateY(0)}.availability{display:inline-flex;align-items:center;gap:8px;transition:color .25s ease,transform .25s ease}.availability:hover{color:#d5ff47;transform:translate(4px)}.availability i,.status-dot{width:6px;height:6px;border-radius:100%;background:#d5ff47;box-shadow:0 0 13px #d5ff47}.hero{position:relative;z-index:3;min-height:100svh;padding:clamp(142px,17vh,210px) clamp(22px,4vw,64px) 32px;display:flex;flex-direction:column;justify-content:space-between}.hero__content{position:relative;z-index:2}.hero__intro{display:flex;align-items:center;gap:8px;margin-bottom:clamp(25px,4vh,48px);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:#f4f3eda3}h1{max-width:1000px;margin:0;font-size:clamp(58px,10.1vw,168px);font-weight:600;line-height:.77;letter-spacing:-.075em}h1 span{display:block}.hero__accent{color:#d5ff47}.hero__edge-copy{position:absolute;z-index:2;top:46%;right:clamp(22px,4vw,64px);max-width:155px;color:#f4f3ed8a;font-family:DM Mono,monospace;font-size:10px;line-height:1.55;text-align:right;text-transform:uppercase}.hero__statement{align-self:flex-end;position:relative;z-index:2;width:min(290px,43vw);margin:0 0 8px;color:#f4f3edc2;font-size:clamp(14px,1.25vw,18px);line-height:1.4}.scroll-cue{position:absolute;z-index:3;bottom:38px;display:flex;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#f4f3ed9e;transition:color .25s ease}.scroll-cue:hover{color:#d5ff47}.motion-ticker{position:relative;z-index:3;overflow:hidden;padding:46px 0 12px;border-top:1px solid rgba(244,243,237,.14);border-bottom:1px solid rgba(244,243,237,.14)}.motion-ticker__track{display:flex;align-items:center;width:max-content;gap:clamp(18px,2.5vw,40px);color:#f4f3ed73;font-size:clamp(44px,6.2vw,96px);font-weight:600;line-height:.78;letter-spacing:-.08em;white-space:nowrap;will-change:transform}.motion-ticker__track i{color:#d5ff47;font-family:"Instrument Serif",Georgia,serif;font-size:.55em;font-style:normal}.section-shell{position:relative;z-index:3;width:min(100%,1500px);margin:auto;padding-inline:clamp(22px,9.7vw,156px)}.eyebrow{margin:0;color:#d5ff47;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.intro{padding-top:clamp(148px,21vw,320px);padding-bottom:clamp(130px,19vw,280px)}.intro>p{max-width:940px;margin:32px 0 50px;font-size:clamp(32px,5vw,73px);line-height:.98;letter-spacing:-.055em}em{font-family:"Instrument Serif",Georgia,serif;font-weight:400}.intro em{color:#a9a9ff}.intro__meta{display:flex;justify-content:space-between;gap:20px;padding-top:17px;border-top:1px solid rgba(244,243,237,.22);font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;color:#f4f3ed94}.work{padding-bottom:clamp(120px,16vw,250px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:45px}.section-heading>p{margin:0;color:#f4f3ed9e;font-size:15px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.github-portal{position:relative;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;gap:18px;min-height:136px;margin-top:14px;padding:18px;overflow:hidden;border:1px solid rgba(244,243,237,.38);background:#090909b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .35s ease,box-shadow .4s ease}.github-portal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 22%,rgba(213,255,71,.19) 50%,transparent 78%);transform:translate(-115%);transition:transform .7s cubic-bezier(.2,.9,.22,1)}.github-portal>*{position:relative;z-index:1}.github-portal:hover{border-color:#d5ff47;box-shadow:0 22px 75px #d5ff4724}.github-portal:hover:before{transform:translate(115%)}.github-portal__icon{display:grid;width:52px;height:52px;place-items:center;border:1px solid #d5ff47;color:#d5ff47;transition:transform .55s cubic-bezier(.2,.9,.22,1),background .3s ease,color .3s ease}.github-portal:hover .github-portal__icon{transform:rotate(360deg) scale(1.12);background:#d5ff47;color:#070707}.github-portal__copy{display:flex;flex-direction:column;gap:6px}.github-portal__copy small{color:#f4f3ed94;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.github-portal__copy strong{font-size:clamp(27px,4vw,53px);font-weight:500;line-height:.85;letter-spacing:-.065em;transition:color .3s ease,letter-spacing .35s ease}.github-portal:hover .github-portal__copy strong{color:#d5ff47;letter-spacing:-.04em}.github-portal__arrow{justify-self:end;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#f4f3ed;color:#070707;transition:transform .4s cubic-bezier(.2,.9,.22,1),background .3s ease}.github-portal:hover .github-portal__arrow{transform:rotate(45deg) scale(1.15);background:#d5ff47}.project-card{--accent: #d5ff47;min-height:450px;padding:20px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid rgba(244,243,237,.16);background:#111111c9;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);transition:border-color .35s ease,transform .5s cubic-bezier(.2,.9,.22,1),background .35s ease,box-shadow .4s ease}.project-card:before{content:"";position:absolute;z-index:0;width:270px;aspect-ratio:1;left:-110px;top:-150px;border-radius:50%;background:var(--accent);filter:blur(70px);opacity:0;transform:scale(.35);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.9,.22,1);pointer-events:none}.project-card:after{content:"";position:absolute;z-index:0;top:-20%;left:-40%;width:28%;height:150%;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(22deg) translate(-110%);transition:transform .75s cubic-bezier(.2,.9,.22,1),opacity .25s ease;pointer-events:none}.project-card>*{position:relative;z-index:1}.project-card:hover{border-color:var(--accent);background:#161616e6;box-shadow:0 20px 70px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-6px)}.project-card:hover:before{opacity:.16;transform:scale(1)}.project-card:hover:after{opacity:.7;transform:rotate(22deg) translate(560%)}.project-card--acid{--accent: #d5ff47}.project-card--lavender{--accent: #a9a9ff}.project-card--blue{--accent: #62b4ff}.project-card--coral{--accent: #ff8375}.project-card__topline{display:flex;justify-content:space-between;gap:16px;color:#f4f3ed96;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.025em;text-transform:uppercase}.project-card__topline span:last-child{max-width:180px;text-align:right}.project-card__body{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;padding:26px 0}.project-card h3{margin:0 0 12px;font-size:clamp(33px,4vw,58px);font-weight:500;line-height:.9;letter-spacing:-.06em}.project-card:hover h3{color:var(--accent)}.project-card__body>div:first-child>p{max-width:310px;margin:0;color:#f4f3eda8;font-size:14px;line-height:1.45}.project-card__visual{position:relative;width:min(100%,190px);aspect-ratio:1;justify-self:end;overflow:hidden;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 43%)}.project-card:hover .project-card__visual{box-shadow:0 0 55px color-mix(in srgb,var(--accent) 45%,transparent);filter:saturate(1.45) brightness(1.18)}.orb{position:absolute;display:block;border:1px solid var(--accent);border-radius:50%;opacity:.72}.orb--one{top:16%;right:16%;bottom:16%;left:16%;animation:pulse 4s ease-in-out infinite}.orb--two{top:29%;right:29%;bottom:29%;left:29%;border-width:2px;animation:spin 9s linear infinite}.orb--three{width:12px;height:12px;left:28%;top:22%;background:var(--accent);box-shadow:0 0 24px var(--accent);animation:float 3.5s ease-in-out infinite}.scan-line{position:absolute;inset:0 auto 0 48%;width:1px;background:var(--accent);opacity:.6;transform:rotate(37deg);animation:scan 6s ease-in-out infinite}.project-card__footer{display:grid;grid-template-columns:1fr auto 32px;align-items:end;gap:14px;padding-top:15px;border-top:1px solid rgba(244,243,237,.16)}.project-card__footer>p{max-width:280px;margin:0;color:#f4f3ed7a;font-family:DM Mono,monospace;font-size:9px;line-height:1.45}.project-card__footer ul{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px;max-width:180px;padding:0;margin:0;list-style:none}.project-card__footer li{padding:4px 6px;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);color:var(--accent);font-family:DM Mono,monospace;font-size:8px;white-space:nowrap}.project-card__footer a{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--accent);color:var(--accent);transition:color .4s ease,background .4s ease,transform .52s cubic-bezier(.2,.9,.22,1)}.project-card__footer a:hover{background:var(--accent);color:#070707;transform:rotate(45deg)}.award-band{position:relative;z-index:3;padding:0 clamp(22px,4vw,64px) clamp(130px,16vw,240px)}.award-band__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1372px;margin:auto;padding:18px 22px;border:1px solid #d5ff47;color:#d5ff47;transition:background .35s ease,color .35s ease,transform .35s cubic-bezier(.2,.9,.22,1)}.award-band__inner:hover{background:#d5ff47;color:#070707;transform:scale(1.015) rotate(-.35deg)}.award-band p{margin:0 auto 0 0;font-size:clamp(16px,2vw,22px);letter-spacing:-.04em}.award-band span{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.capabilities{padding-bottom:clamp(140px,20vw,300px)}.capability-list{border-top:1px solid rgba(244,243,237,.22)}.capability-row{display:grid;grid-template-columns:.2fr .8fr 1.6fr;gap:20px;align-items:start;padding:26px 0;border-bottom:1px solid rgba(244,243,237,.22);transition:color .25s ease,padding .35s ease}.capability-row:hover{padding-left:12px;color:#d5ff47}.capability-row__index{color:#f4f3ed73;font-family:DM Mono,monospace;font-size:10px}.capability-row h3{margin:0;font-size:clamp(24px,3vw,45px);line-height:.95;letter-spacing:-.06em;font-weight:500}.capability-tags{display:flex;flex-wrap:wrap;gap:6px;padding-top:1px}.capability-tags span{padding:6px 8px;border:1px solid rgba(244,243,237,.25);color:#f4f3edb8;font-family:DM Mono,monospace;font-size:9px;line-height:1;transition:border-color .2s ease,color .2s ease,background .2s ease}.capability-row:hover .capability-tags span{border-color:color-mix(in srgb,#d5ff47 46%,transparent);color:#d5ff47}.capability-tags span:hover{background:#d5ff47;border-color:#d5ff47;color:#070707!important}.experience{padding-bottom:clamp(140px,20vw,300px)}.experience__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(44px,9vw,150px);padding-top:34px}.large-copy{max-width:540px;margin:0 0 42px;font-size:clamp(26px,3.2vw,47px);line-height:1.01;letter-spacing:-.055em}.text-link{display:inline-flex;align-items:center;gap:7px;color:#d5ff47;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid rgba(213,255,71,.5);padding-bottom:6px;transition:letter-spacing .25s ease}.text-link svg{transition:transform .3s cubic-bezier(.2,.9,.22,1)}.text-link:hover{letter-spacing:.11em}.text-link:hover svg{transform:translate(5px,5px)}dl{margin:0}dl>div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid rgba(244,243,237,.18)}dt{color:#d5ff47;font-family:DM Mono,monospace;font-size:10px}dd{margin:0;font-size:17px;line-height:1.25;letter-spacing:-.025em}dd span{display:block;margin-top:5px;color:#f4f3ed85;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.02em;text-transform:uppercase}.footer{position:relative;z-index:3;padding:clamp(27px,4vw,64px) clamp(22px,4vw,64px) 28px;background:#d5ff47;color:#090909}.footer .eyebrow{color:#090909}.footer__main{display:flex;justify-content:space-between;gap:35px;padding:clamp(80px,12vw,175px) 0 clamp(85px,13vw,190px)}.footer__main>p{margin:0;font-size:clamp(42px,6.7vw,104px);font-weight:500;line-height:.84;letter-spacing:-.075em}.footer__main em{font-size:1.07em}.email-link{align-self:end;display:inline-flex;align-items:center;gap:10px;max-width:310px;padding-bottom:9px;border-bottom:2px solid #090909;font-size:clamp(15px,1.65vw,23px);line-height:1;letter-spacing:-.04em;transition:padding .3s cubic-bezier(.2,.9,.22,1),letter-spacing .3s ease}.email-link:hover{padding-left:10px;padding-right:10px;letter-spacing:-.01em}.email-link svg{flex:0 0 auto}.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid rgba(9,9,9,.46);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.025em;text-transform:uppercase}.footer__socials{display:flex;flex-wrap:wrap;gap:9px}.social-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:7px;min-width:124px;padding:4px 5px 4px 4px;overflow:hidden;border:1px solid rgba(9,9,9,.55);transition:color .3s ease,transform .3s cubic-bezier(.2,.9,.22,1)}.social-button:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:#090909;transform:translate(-102%);transition:transform .35s cubic-bezier(.2,.9,.22,1)}.social-button>span{display:grid;width:26px;height:26px;place-items:center;border:1px solid currentColor;transition:transform .45s cubic-bezier(.2,.9,.22,1),background .3s ease}.social-button b{margin-right:auto;font-size:9px;font-weight:500}.social-button>svg{transition:transform .4s cubic-bezier(.2,.9,.22,1)}.social-button:hover{color:#d5ff47;transform:translateY(-4px)}.social-button:hover:before{transform:translate(0)}.social-button:hover>span{background:#d5ff47;color:#090909;animation:social-icon-spin .55s cubic-bezier(.2,.9,.22,1) both}.social-button:hover>svg{transform:rotate(45deg) scale(1.2)}@keyframes pulse{50%{transform:scale(.58);opacity:.28}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translate(50px,70px)}}@keyframes scan{50%{transform:translate(130px) rotate(37deg)}}@keyframes social-icon-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.site-header{padding-top:20px}.site-header nav{display:none}.header-actions{gap:10px}.resume-button{padding:7px 8px}.availability{font-size:9px}.hero{min-height:820px;padding-top:150px}h1{font-size:clamp(58px,17vw,94px);line-height:.79}.hero__edge-copy{display:none}.hero__statement{width:min(265px,84vw);margin-bottom:75px}.scroll-cue{bottom:31px}.intro>p{font-size:clamp(31px,9vw,48px)}.intro__meta{font-size:8px}.section-heading{align-items:start;flex-direction:column;margin-bottom:28px}.projects-grid{grid-template-columns:1fr}.github-portal{grid-template-columns:54px 1fr 42px;min-height:110px;gap:11px;padding:14px}.github-portal__icon{width:42px;height:42px}.github-portal__arrow{width:38px;height:38px}.project-card{min-height:420px}.project-card__body{grid-template-columns:1fr .77fr}.project-card__visual{width:142px}.project-card__footer{grid-template-columns:1fr 32px}.project-card__footer ul{display:none}.award-band__inner{align-items:flex-start;flex-wrap:wrap}.award-band p{margin:0}.award-band span{width:100%;padding-left:38px}.capability-row{grid-template-columns:36px 1fr;gap:12px}.capability-tags{grid-column:2}.experience__grid{grid-template-columns:1fr}.footer__main{flex-direction:column}.email-link{align-self:start}.footer__bottom{flex-direction:column}.footer__bottom>div{flex-wrap:wrap;gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
