@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
@font-face{font-family:instrumentSerif;src:url(../media/instrumentserif_regular-s.p.6654c5de.ttf)format("truetype");font-display:swap}@font-face{font-family:instrumentSerif Fallback;src:local(Arial);ascent-override:128.92%;descent-override:40.37%;line-gap-override:0.0%;size-adjust:76.79%}.instrumentserif_48a4b26a-module__N4ATaW__className{font-family:instrumentSerif,instrumentSerif Fallback}.instrumentserif_48a4b26a-module__N4ATaW__variable{--font-instrument-serif:"instrumentSerif","instrumentSerif Fallback"}
.instrument-serif{font-family:var(--font-instrument-serif),serif!important}:root{--bg-color:#0c0c0c;--text-primary:#f5f5f5;--text-secondary:#8a8a8a;--capsule-bg:#f16a4b}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes capsuleSlideUp{0%{opacity:0;transform:translate(-50%)translateY(32px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes textBlurIn{0%{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur()}}@keyframes avatarReveal{0%{opacity:0;transform:scale(.05)}to{opacity:1;transform:scale(1)}}.loading-screen{z-index:9999;pointer-events:all;display:flex;position:fixed;inset:0}.loading-screen--exit{pointer-events:none}.loading-panel{background-color:var(--capsule-bg);will-change:transform;flex:1;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}.loading-screen--exit .loading-panel{transform:translateY(-100%)}.loading-screen--exit .loading-panel:first-child{transition-delay:0s}.loading-screen--exit .loading-panel:nth-child(2){transition-delay:.1s}.loading-screen--exit .loading-panel:nth-child(3){transition-delay:.2s}.loading-screen--exit .loading-panel:nth-child(4){transition-delay:.3s}.loading-content{z-index:1;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.loading-screen--exit .loading-content{opacity:0}.loading-screen__text{font-family:var(--font-instrument-serif),serif;color:#fff;letter-spacing:-.05em;margin:0;font-size:clamp(4rem,12vw,8rem);font-weight:400;line-height:1}body:not(.loading-done) .top-nav,body:not(.loading-done) .content-area,body:not(.loading-done) .bottom-vignette,body:not(.loading-done) .bottom-capsule{opacity:0;pointer-events:none}body:not(.loading-done) .content-area,body:not(.loading-done) .bottom-capsule,body:not(.loading-done) .hero-name-curve,body:not(.loading-done) .avatar-wrapper,body:not(.loading-done) .highlights-section,body:not(.loading-done) .experience-section{animation:none}body.loading-done .top-nav{animation:.6s ease-out .1s both fadeSlideDown}body.loading-done .content-area{animation:.55s ease-out .15s both fadeSlideUp}body.loading-done .hero-name-curve{animation:1.5s ease-out .2s both fadeIn}body.loading-done .avatar-wrapper{animation:.7s cubic-bezier(.34,1.56,.64,1) .4s both avatarReveal}body.loading-done .highlights-section{animation:.55s ease-out .1s both fadeSlideUp}body.loading-done .experience-section{animation:.55s ease-out .2s both fadeSlideUp}body.loading-done .bottom-capsule.animate-on-home{animation:.6s ease-out .25s both capsuleSlideUp}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);flex-direction:column;align-items:center;min-height:100vh;line-height:1.5;display:flex;position:relative;overflow-x:hidden}.top-nav{z-index:10;justify-content:center;width:100%;padding:48px 0;display:flex}nav{align-items:center;gap:40px;display:flex}.nav-logo{color:var(--text-primary);justify-content:center;align-items:center;display:flex}.nav-link{color:var(--text-primary);font-size:.95rem;font-weight:400;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.7}.nav-link.active{opacity:1;text-shadow:0 0 8px #f5f5f54d;font-weight:500}.content-area{flex-direction:column;flex:1;width:100%;max-width:800px;padding:0 24px 240px;display:flex}.bottom-capsule{background-color:var(--capsule-bg);z-index:50;border-radius:64px;gap:8px;padding:12px 24px;animation:.6s ease-out both capsuleSlideUp;display:flex;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.capsule-link{color:#fff;border-radius:9999px;justify-content:center;align-items:center;padding:10px 20px;font-size:.95rem;font-weight:400;text-decoration:none;transition:color .2s;display:flex;position:relative}.nav-indicator{z-index:0;background-color:#ffffff1f;border-radius:9999px;position:absolute;inset:0}.capsule-link:hover{opacity:.8}.bottom-vignette{background:linear-gradient(to bottom,transparent,var(--bg-color)80%);z-index:40;pointer-events:none;width:100%;height:150px;position:fixed;bottom:0;left:0}@media (max-width:640px){nav{gap:24px}.bottom-capsule{gap:20px;padding:14px 28px;bottom:24px}}.hero-section{text-align:center;flex-direction:column;align-items:center;margin-top:2rem;display:flex}.hero-name-curve{z-index:2;pointer-events:none;margin-bottom:-96px;animation:1.5s ease-out .2s both fadeIn}.curve-svg{overflow:visible}.hero-avatar{z-index:1}.avatar-wrapper{background-color:var(--capsule-bg);border-radius:50%;justify-content:center;align-items:center;width:122px;height:122px;animation:.7s cubic-bezier(.34,1.56,.64,1) .4s both avatarReveal;display:flex;overflow:hidden}.interactive-avatar{cursor:url(/hand.png),pointer}.raining-stars-container{pointer-events:none;z-index:1000;width:100%;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.falling-star{color:var(--text-primary);opacity:0;will-change:transform,opacity;text-shadow:0 0 10px #f5f5f599;animation-name:starFall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-50px}@keyframes starFall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.hero-subtitle{color:var(--text-primary);margin-top:24px;font-size:1.1rem;font-weight:400}.hero-description{max-width:500px;color:var(--text-secondary);margin-top:32px;font-size:.95rem;line-height:1.6}.more-section{flex-direction:column;align-items:center;margin-top:16px;display:flex}.more-command-wrap{color:var(--text-primary);letter-spacing:.02em;background:#1e1e1ef2;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:0;padding:10px 12px 10px 16px;font-family:ui-monospace,SF Mono,Monaco,Cascadia Code,monospace;font-size:.9rem;display:inline-flex;box-shadow:0 2px 8px #0003}.more-command{align-items:center;gap:8px;display:inline-flex}.more-prompt{color:var(--capsule-bg);-webkit-user-select:none;user-select:none}.more-command code{font-family:inherit}.more-copy-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin-left:12px;padding:6px;transition:color .2s,background .2s;display:flex}.more-copy-btn:hover{color:var(--text-primary);background:#ffffff14}.more-copy-btn:focus-visible{outline-offset:2px;outline:1px solid #ffffff4d}.more-copy-notification{max-width:220px;color:var(--text-primary);text-align:left;border:1px solid var(--capsule-bg);z-index:99999;pointer-events:none;background:#1a1a1a;border-radius:18px;padding:12px 18px;font-size:.8rem;line-height:1.5;animation:.35s ease-out both moreNotificationIn;position:fixed;top:20px;right:20px;box-shadow:0 4px 20px #00000059}.more-copy-notification.more-copy-notification-fade-out{animation:.5s ease-out forwards moreNotificationOut}.more-copy-notification:after{content:"";border:7px solid #0000;border-left-color:var(--capsule-bg);border-right:none;width:0;height:0;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.more-copy-notification:before{content:"";z-index:1;border:6px solid #0000;border-left-color:#1a1a1a;border-right:none;width:0;height:0;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}@keyframes moreNotificationIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes moreNotificationOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.highlights-section{flex-direction:column;align-items:center;width:100%;margin-top:48px;animation:.55s ease-out .1s both fadeSlideUp;display:flex}.section-title-wrapper{align-items:flex-start;gap:4px;display:flex}.section-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-family:inherit;font-size:1.15rem;font-weight:400}.sparkle-icon{margin-top:-2px}.section-subtitle{color:var(--text-secondary);margin-top:8px;font-size:.9rem}.carousel-container{justify-content:center;align-items:center;gap:20px;width:100%;margin-top:32px;display:flex}.carousel-nav{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:opacity .2s;display:flex}.carousel-nav:hover{opacity:.7}.carousel-nav:disabled{cursor:default}.carousel-container-query{container:carousel/inline-size}.carousel-track{gap:16px;display:flex}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{grid-template-columns:1fr 1fr;gap:16px;display:grid}.carousel-slide-single,.carousel-slide-double{display:block}.project-card{aspect-ratio:220/160;background-color:#dfdfdf;border-radius:16px;flex-shrink:0;width:100%}.experience-section{flex-direction:column;align-items:center;width:100%;margin-top:64px;animation:.55s ease-out .2s both fadeSlideUp;display:flex}.experience-list{flex-direction:column;gap:40px;width:100%;max-width:600px;margin-top:48px;display:flex}.experience-item{align-items:flex-start;gap:24px;width:100%;display:flex}.experience-avatar{background-color:#fff;border-radius:50%;flex-shrink:0;width:48px;height:48px}.experience-content{flex-direction:column;flex:1;min-width:0;display:flex}.experience-header{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.experience-info{flex-direction:column;display:flex}.company-name{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:400}.role-name{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.experience-date{color:var(--text-secondary);white-space:nowrap;text-align:right;margin-top:2px;font-size:.85rem}.experience-details{overflow:hidden}.experience-dropdown{grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .8s cubic-bezier(.25,1,.5,1);display:grid}.experience-dropdown-inner{opacity:0;color:var(--text-secondary);padding-top:0;font-size:.85rem;line-height:1.6;transition:opacity .5s ease-out,padding-top .8s cubic-bezier(.25,1,.5,1);overflow:hidden}.experience-details.open .experience-dropdown{grid-template-rows:1fr}.experience-details.open .experience-dropdown-inner{opacity:1;padding-top:12px;transition:opacity .6s ease-out .2s,padding-top .8s cubic-bezier(.25,1,.5,1)}.experience-summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.8rem;list-style:none;transition:color .4s;display:inline-flex}.experience-summary:hover{color:var(--text-primary)}.experience-summary::-webkit-details-marker{display:none}.summary-icon{color:var(--capsule-bg);font-size:.5rem;transition:transform .8s cubic-bezier(.25,1,.5,1)}.experience-details.open .summary-icon{transform:rotate(90deg)}@media (max-width:640px){.experience-header{flex-direction:column;gap:8px}.experience-date{margin-top:0}}.skill-stack-section{flex-direction:column;align-items:center;width:100%;margin-top:64px;display:flex}.skills-container{flex-direction:column;gap:40px;width:100%;max-width:600px;margin-top:48px;display:flex}.skill-category{flex-direction:column;gap:16px;display:flex}.category-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:400}.skill-pills{flex-wrap:wrap;gap:12px;display:flex}.skill-pill{background-color:var(--text-primary);color:var(--bg-color);border-radius:20px;justify-content:center;align-items:center;padding:6px 14px;font-size:.75rem;font-weight:500;display:inline-flex}.about-page{flex-direction:column;align-items:center;width:100%;display:flex}.who-am-i-curve{z-index:2;pointer-events:none;margin-bottom:-84px;animation:1.5s ease-out .2s both fadeIn}.about-title{color:var(--text-primary);letter-spacing:-.02em;margin-top:12px;font-size:1.1rem;font-weight:500}.about-content{text-align:left;flex-direction:column;gap:24px;max-width:580px;margin-top:32px;display:flex}.about-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.contact-page{flex-direction:column;align-items:center;width:100%;display:flex}.contact-name-curve{z-index:2;pointer-events:none;margin-bottom:-88px;animation:1.5s ease-out .2s both fadeIn}.contact-avatar{margin-top:10px}.contact-title{color:var(--text-primary);letter-spacing:-.02em;margin-top:24px;font-size:1.1rem;font-weight:400}.contact-description{text-align:center;max-width:480px;color:var(--text-secondary);margin-top:32px;font-size:.95rem;line-height:1.6}.social-links{justify-content:center;gap:24px;margin-top:48px;display:flex}.social-icon{border:1px solid var(--capsule-bg);width:56px;height:56px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.social-icon:hover{background-color:var(--capsule-bg);color:#fff;transform:translateY(-2px)}.project-page-container{flex-direction:column;align-items:center;width:100%;padding-top:2rem;padding-bottom:2rem;display:flex;position:relative}.project-page-header{text-align:center;margin-bottom:3rem}.project-page-title{letter-spacing:-.05em;margin-bottom:.5rem;font-size:1.5rem;font-weight:500}.project-page-subtitle{color:var(--text-secondary);font-size:.85rem}.project-list{flex-direction:column;gap:4rem;width:100%;display:flex}.project-list-card{flex-direction:row;align-items:center;gap:2.5rem;display:flex}.project-list-image-placeholder{background-color:#dfdfdf;border-radius:12px;flex-shrink:0;width:440px;height:260px;overflow:hidden}.project-list-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.project-list-title{margin:0;font-size:1.25rem;font-weight:500}.project-list-description{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.5}@media (max-width:768px){.project-list-card{flex-direction:column;align-items:flex-start;gap:1.5rem}.project-list-image-placeholder{aspect-ratio:16/9;width:100%;height:auto}.bottom-capsule{justify-content:space-between;gap:4px;width:90%;max-width:380px;padding:8px 12px;bottom:24px}.capsule-link{padding:8px 12px;font-size:.85rem}.content-area{padding:0 16px 160px}.carousel-slide{grid-template-columns:1fr}}@media (max-width:480px){.bottom-capsule{justify-content:space-evenly;width:calc(100% - 32px);max-width:none}.capsule-link{padding:8px 10px;font-size:.8rem}.hero-name-curve svg,.contact-name-curve svg,.who-am-i-curve svg{max-width:100%;height:auto}}
