.home_container__tUH0R{min-height:100vh;overflow:hidden;--page-width:1120px;--page-gutter:max(1.25rem,calc((100vw - var(--page-width)) / 2))}.home_header__IfXur{position:fixed;inset:0 0 auto;z-index:100;height:4rem;padding:0 var(--page-gutter);display:grid;grid-template-columns:1fr auto;align-items:center;background:rgba(8,8,10,.56);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.home_brand__ojfh5{width:fit-content;display:flex;align-items:center}.home_brandLogoFrame__lGLeO{width:5.5rem;height:4rem;display:flex;align-items:center;overflow:visible}.home_brandLogo__P500P{position:static;width:5.5rem;height:auto;max-width:100%;object-fit:contain;filter:brightness(0) invert(1);transform:translateY(0)}.home_nav__5fkk6{justify-self:end;display:flex;align-items:center;gap:1.75rem}.home_nav__5fkk6 a{position:relative;padding:.5rem 0;color:#9b9ba0;font-size:.82rem;transition:color .16s ease}.home_nav__5fkk6 a:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#dddde0;transform:scaleX(0);transition:transform .16s ease}.home_nav__5fkk6 a:focus-visible,.home_nav__5fkk6 a:hover{color:#f4f4f5}.home_nav__5fkk6 a:focus-visible:after,.home_nav__5fkk6 a:hover:after{transform:scaleX(1)}.home_main__z_Djw{padding-top:4rem}.home_hero__R_VsL{min-height:calc(100vh - 4rem);min-height:calc(100dvh - 4rem);padding:clamp(5rem,12vh,8rem) var(--page-gutter) 2rem;display:flex}.home_heroContent__2__vt{width:100%;max-width:var(--page-width);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}.home_heroTitle__2NcNX{max-width:54rem;margin-top:clamp(2rem,8vh,5rem);font-size:clamp(3rem,6vw,5.5rem);font-weight:600;line-height:1.02;letter-spacing:-.065em}.home_typingName__gsySk{display:inline-flex;align-items:baseline;min-width:6.7ch;color:#b4bdff}.home_typingCursor__S7If3{display:inline-block;margin-left:.04em;color:#818cd4;font-weight:300;animation:home_cursorBlink__x37xw 1.05s step-end infinite}@keyframes home_cursorBlink__x37xw{50%{opacity:0}}.home_heroSubtitle__RZUV4{max-width:38rem;margin-top:1.8rem;color:#a1a1a6;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.home_heroActions__iPaOJ{margin-top:2rem;display:flex;align-items:center;gap:.75rem}.home_heroPrimaryAction__fgDY3,.home_heroSecondaryAction__3PPJR{min-height:2.75rem;padding:0 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:.65rem;font-size:.84rem;font-weight:550;transition:transform .16s ease,background .16s ease,border-color .16s ease}.home_heroPrimaryAction__fgDY3{color:#101012;background:#f2f2f3;border:1px solid #f2f2f3}.home_heroSecondaryAction__3PPJR{color:#d1d1d4;background:#101012;border:1px solid #29292e}.home_heroPrimaryAction__fgDY3:hover,.home_heroSecondaryAction__3PPJR:hover{transform:translateY(-2px)}.home_heroSecondaryAction__3PPJR:hover{background:#17171a;border-color:#3a3a40}.home_heroSecondaryAction__3PPJR span{color:#8f99da}.home_heroSkills__6_d7X{width:100%;margin-top:auto;padding:1rem 1.15rem;background:rgba(18,18,22,.5);border:1px solid rgba(255,255,255,.1);border-radius:.85rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(18px)}.home_heroSkillGroup__auLyA{display:flex;align-items:center;gap:1.5rem}.home_heroSkillLabel__kqkKX{flex:0 0 auto;color:#65656a;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.home_heroSkillList__F3_NX{display:flex;flex-wrap:wrap;gap:.55rem 1.25rem;list-style:none}.home_heroSkillItem__XqEDz{display:inline-flex;align-items:center;gap:.42rem;color:#99999e;font-size:.78rem}.home_heroSkillIcon__Lz9jq{width:.95rem;height:.95rem;color:#7f89c6}.home_section__HRps2{width:min(var(--page-width),calc(100% - 2.5rem));margin:0 auto;padding:clamp(5rem,9vw,7.5rem) 0;border-top:1px solid var(--line)}.home_sectionHeading__1t1oK{margin-bottom:2.5rem}.home_sectionTitle__eDx7u{font-size:clamp(2.1rem,4vw,3.5rem);font-weight:600;line-height:1.08;letter-spacing:-.045em}.home_sectionText__xl5U3{max-width:34rem;margin-top:.75rem;color:#818187;font-size:.98rem;line-height:1.6}.home_contactSection___gq6K,.home_currentProjects__aRhMg{background:transparent}.home_projects__jnybc{display:flex;flex-direction:column;gap:1rem}.home_projectCard__0L_NC{position:relative;min-height:14.5rem;padding:1.5rem;display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:1.5rem;align-items:center;overflow:hidden;background:rgba(17,17,21,.6);border:1px solid rgba(255,255,255,.1);border-radius:.9rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(20px);transition:transform .18s ease,border-color .18s ease,background .18s ease}.home_projects__jnybc>.home_projectCard__0L_NC:only-child{min-height:14.5rem}.home_projectCard__0L_NC[role=button]{cursor:pointer}.home_projectCard__0L_NC[role=button]:focus-visible,.home_projectCard__0L_NC[role=button]:hover{outline:none;transform:translateY(-2px);background:rgba(24,24,29,.72);border-color:rgba(255,255,255,.18)}.home_projectIndex__WSnoA{display:none}.home_projectCardMain__3IapX{order:2;grid-column:1;grid-row:1;margin-top:0;max-width:42rem}.home_projectCard__0L_NC:not(:has(.home_projectCardAside__zcZap)){grid-template-columns:minmax(0,1fr)}.home_projectCard__0L_NC:not(:has(.home_projectCardAside__zcZap)) .home_projectCardMain__3IapX{grid-column:1;max-width:48rem}.home_projectTitle__QheA6{font-size:clamp(1.75rem,3vw,2.6rem);font-weight:600;line-height:1.08;letter-spacing:-.04em}.home_modalMeta__Sixm2,.home_projectMeta__IGd6W{margin-top:.65rem;display:flex;flex-wrap:wrap;gap:.35rem .8rem;color:#6f6f75;font-size:.68rem}.home_modalStack__lBEh4:before,.home_projectMetaStack__uXNiS:before{content:"• ";color:#55555b}.home_projectDescription__0LR_j{max-width:39rem;margin-top:1rem;color:#96969c;font-size:.92rem;line-height:1.6}.home_projectLink__ZVWm5{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.2rem;color:#c7c7cb;font-size:.76rem;font-weight:550}.home_projectLink__ZVWm5 span{color:#8993d4}.home_projectCardAside__zcZap{order:1;grid-column:2;grid-row:1;min-height:0;display:flex;align-items:center;justify-content:flex-end}.home_projectLogo__Zrzrp{width:5.5rem;height:5.5rem;object-fit:contain;filter:saturate(.82);transition:transform .18s ease,filter .18s ease}.home_projectCard__0L_NC:hover .home_projectLogo__Zrzrp{transform:scale(1.04);filter:saturate(1)}.home_pythonProjectsSection__tGLOF{margin-top:1rem;overflow:hidden;background:rgba(16,16,20,.58);border:1px solid rgba(255,255,255,.1);border-radius:.9rem;backdrop-filter:blur(18px)}.home_pythonProjectsSummary__lLPUl{min-height:4.5rem;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.home_pythonProjectsSummary__lLPUl::-webkit-details-marker{display:none}.home_pythonProjectsSummaryContent__qp3o7{display:flex;align-items:center;gap:.75rem}.home_pythonProjectsIcon__qG5WU{width:2rem;height:2rem;display:grid;place-items:center;color:#8892ce;background:#161619;border:1px solid #28282d;border-radius:.5rem}.home_pythonProjectsIconMark__YGXYv{width:1rem;height:1rem}.home_pythonProjectsTitle__WzGli{font-size:.82rem;font-weight:550}.home_pythonProjectsChevron__EARO2{width:1rem;color:#77777c;transition:transform .16s ease}.home_pythonProjectsSection__tGLOF[open] .home_pythonProjectsChevron__EARO2{transform:rotate(180deg)}.home_pythonProjectsBody__HafDg{padding:0 1rem 1rem}.home_timelineWrap__V5_gn{width:100%;max-width:58rem;margin:0 auto;padding:0 0 1.5rem}.home_timeline__pxWm6{position:relative;padding:0 0 3rem;list-style:none}.home_timeline__pxWm6:before{content:"";position:absolute;top:1.5rem;bottom:3rem;left:50%;width:1px;background:#2b2b30}.home_timelineItem__nv5RG{--t:1;min-height:7.6rem;padding:1rem 0;display:grid;grid-template-columns:1fr 3.25rem 1fr;gap:1rem;align-items:stretch}.home_timelineSeparator__zFico,.home_timelineSlot__ltLKn{display:flex;align-items:center}.home_timelineSeparator__zFico{position:relative;z-index:1;flex-direction:column;opacity:var(--t)}.home_timelineConnector__iFRRr{width:1px;min-height:.4rem;flex:1}.home_timelineDot__ELTcs{width:2.1rem;height:2.1rem;display:grid;place-items:center;color:#a0a0a5;background:rgba(21,21,25,.72);border:1px solid #34343a;border-radius:50%;backdrop-filter:blur(12px);transform:scale(calc(.78 + var(--t) * .22))}.home_timelineDot__ELTcs[data-multi=true]{width:2.6rem;height:2.6rem}.home_timelineDot__ELTcs[data-theme=study-track]{border-color:#6571b2}.home_timelineDotIcon__e1qN9,.home_timelineDotImg__d65YV{width:.95rem;height:.95rem;object-fit:contain}.home_timelineDotIcons__Qb2Oo{display:flex;gap:.12rem}.home_timelineDotIcons__Qb2Oo>span{display:grid;place-items:center}.home_timelineContent__FRgJq,.home_timelineOpposite__VtNmM{opacity:var(--t);transform:translateY(calc((1 - var(--t)) * .65rem));transition:opacity .12s linear,transform .12s ease-out}.home_timelineOpposite__VtNmM{padding-top:.45rem;color:#717177;font-size:.72rem}.home_timelineContent__FRgJq{max-width:34rem}.home_timelineTitle__DAIE4{font-size:1.1rem;font-weight:600}.home_timelineBody__IbBKn{margin-top:.25rem;color:#7f7f85;font-size:.88rem;line-height:1.55}.home_timelineEnd__bHeVT{position:absolute;right:0;bottom:0;color:#55555a;font-size:.68rem}.home_timelineItem__nv5RG[data-side=left] .home_timelineSlot__ltLKn:first-child,.home_timelineItem__nv5RG[data-side=right] .home_timelineSlot__ltLKn:first-child{justify-content:flex-end;text-align:right}.home_timelineItem__nv5RG[data-side=left] .home_timelineSlot__ltLKn:last-child,.home_timelineItem__nv5RG[data-side=right] .home_timelineSlot__ltLKn:last-child{justify-content:flex-start;text-align:left}.home_contactGrid__iLYAz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home_contactItem__H3tcw{min-height:6.5rem;padding:1.25rem;display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.9rem;overflow:visible;background:rgba(17,17,21,.58);border:1px solid rgba(255,255,255,.1);border-radius:.85rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(18px);transition:transform .16s ease,border-color .16s ease,background .16s ease}.home_contactItem__H3tcw:focus-within,.home_contactItem__H3tcw:hover{transform:translateY(-2px);background:rgba(24,24,29,.7);border-color:rgba(255,255,255,.18)}.home_contactIconWrap__50siA{width:2.25rem;height:2.25rem;display:grid;place-items:center;color:#aab3e8;background:#17171a;border:1px solid #29292e;border-radius:.6rem}.home_contactIconFill__jnWkC,.home_contactIconStroke__cMcC5{width:1rem;height:1rem}.home_contactLabel__bptKI{color:#68686d;font-size:.68rem}.home_contactValueInline___83qq,.home_contactValue__sBVoK{margin-top:.22rem;color:#d1d1d4;font-size:.83rem;font-weight:550}.home_contactValueInline___83qq{display:flex;flex-wrap:wrap;gap:.3rem}.home_contactHandleWrap__qwPvW{position:relative}.home_contactHandle__UVmQE{padding:0;color:inherit;background:transparent;border:0;cursor:pointer}.home_contactHandle__UVmQE:hover{color:#fff}.home_contactDivider__pN7Qm{color:#4f4f54}.home_contactTooltipBottom__g2Xf9{position:absolute;left:50%;bottom:calc(100% + .5rem);z-index:3;min-width:max-content;padding:.38rem .5rem;display:flex;gap:.35rem;color:#dddddf;background:#202024;border:1px solid #38383e;border-radius:.4rem;font-size:.62rem;opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition:opacity .12s ease,transform .12s ease}.home_contactHandleWrap__qwPvW:focus-within .home_contactTooltipBottom__g2Xf9,.home_contactHandleWrap__qwPvW:hover .home_contactTooltipBottom__g2Xf9{opacity:1;transform:translate(-50%)}.home_contactTooltipHint__rafid{color:#7b7b81}.home_footer__QfX4B{padding:1.75rem var(--page-gutter);color:#606065;border-top:1px solid var(--line)}.home_footerContent__kHBQw,.home_footerLeft__Ezwzs,.home_footerRight__gAQx8,.home_githubLink__jemMy{display:flex;align-items:center}.home_footerContent__kHBQw{max-width:var(--page-width);margin:0 auto;justify-content:space-between;gap:2rem}.home_footerLeft__Ezwzs{gap:.7rem}.home_footerLeftText__Nk3Q9{display:flex;flex-direction:column}.home_calypsoLogo__U1ZC7{width:1.45rem;height:1.45rem;object-fit:contain;filter:grayscale(1);opacity:.6}.home_footerRight__gAQx8{align-items:flex-start;flex-direction:column;gap:.4rem}.home_footerText__Ig_iW,.home_githubLink__jemMy{font-size:.64rem}.home_githubLink__jemMy{gap:.32rem;color:#a3a3a8}.home_externalIcon__I4R_i,.home_githubIcon__wHD6K,.home_githubStarsIcon__8SfHI{width:.85rem;height:.85rem}.home_footerLink__jGxiU,.home_modalInlineLink__LJrQI{color:#aab4f1;text-decoration:underline;text-underline-offset:.18em}.home_modalOverlay__Jy0sS{position:fixed;inset:0;z-index:1000;padding:1.5rem;display:grid;place-items:center;background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.home_modal__6AMTt{width:min(54rem,100%);max-height:calc(100dvh - 3rem);display:flex;flex-direction:column;background:#111113;border:1px solid #303035;border-radius:1.1rem;box-shadow:0 1.5rem 5rem rgba(0,0,0,.52);overflow:hidden}.home_modalFooter__NpHex,.home_modalHeader__UwtYB{flex:0 0 auto;padding:1.4rem 1.7rem}.home_modalHeader__UwtYB{border-bottom:1px solid var(--line)}.home_modalFooter__NpHex{border-top:1px solid var(--line)}.home_modalHeaderInner__FY9DC,.home_modalHeaderMain__Onwgc{display:flex;align-items:center}.home_modalHeaderInner__FY9DC{justify-content:space-between;gap:1rem}.home_modalHeaderMain__Onwgc{gap:1rem}.home_modalLogo__i39Ns{width:3.4rem;height:3.4rem;object-fit:contain}.home_modalTitle__xTEcr{font-size:clamp(1.8rem,4vw,3rem);line-height:1;letter-spacing:-.045em}.home_modalClose__1JVLA{width:2.3rem;height:2.3rem;flex:0 0 auto;display:grid;place-items:center;color:#aaaab0;background:#18181b;border:1px solid #333338;border-radius:50%;font-size:1.3rem;cursor:pointer}.home_modalClose__1JVLA:hover{color:#fff;background:#232327}.home_modalBody__kmil4{min-height:0;overflow-y:auto}.home_modalBodyInner__12x6k{padding:1.7rem}.home_modalBodyInner__12x6k>*+*{margin-top:1.3rem}.home_modalBodyInner__12x6k p,.home_modalList__mCVF0{color:#a5a5aa;font-size:.98rem;line-height:1.65;white-space:pre-line}.home_modalLead__etGbG{color:#dddde0!important;font-size:1.14rem!important}.home_modalMuted__HFzYQ{color:#77777c!important}.home_modalSectionTitle__NX8BL{padding-top:.7rem;font-size:1.35rem}.home_modalList__mCVF0{padding-left:1.25rem}.home_inlineCode__2tSr9{padding:.08em .28em;font-size:.84em;background:#1d1d21;border:1px solid var(--line);border-radius:.3rem}.home_modalEmbedImage__yh202,.home_modalScreenshot__DYtV0{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:.65rem}.home_modalImageRow__3kyCw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.home_modalEmbed__3cAGl{display:block}.home_modalLinks__oAZkQ{display:flex;flex-wrap:wrap;gap:.7rem}.home_githubStarsButton__l5f4A,.home_modalLink__ArXPh{min-height:2.5rem;padding:.62rem .85rem;display:inline-flex;align-items:center;gap:.45rem;color:#dedee0;background:#1b1b1f;border:1px solid #38383d;border-radius:.55rem;font-size:.7rem;font-weight:550}.home_githubStarsCount__hmqEz{color:var(--signal)}.home_modalCarousel__TCy_6{position:relative}.home_modalCarouselTrack__4xpN6{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.home_modalCarouselTrack__4xpN6::-webkit-scrollbar{display:none}.home_modalCarouselSlide__RSFn_{min-width:100%;scroll-snap-align:start}.home_modalCarouselButtons__1PUOT{position:absolute;inset:50% 0 auto;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}.home_modalCarouselButton__Z7f_F{width:2.4rem;height:2.4rem;color:#fff;background:rgba(16,16,18,.9);border:1px solid #3a3a3f;border-radius:.5rem;pointer-events:auto;cursor:pointer}.home_modalCarouselButton__Z7f_F:disabled{opacity:.3}.home_modalCarouselDots__wtlAh{margin-top:.7rem;display:flex;justify-content:center;gap:.35rem}.home_modalCarouselDot__XjbNn{width:1.4rem;height:.16rem;background:#414146;border:0;cursor:pointer}.home_modalCarouselDotActive__NZ8XS{background:var(--signal)}@media (max-width:800px){.home_contactGrid__iLYAz{grid-template-columns:1fr}.home_projectCard__0L_NC,.home_projects__jnybc>.home_projectCard__0L_NC:only-child{min-height:14rem;grid-template-columns:minmax(0,1fr) 6rem}.home_timelineWrap__V5_gn{padding-right:1.25rem;padding-left:1.25rem}}@media (max-width:560px){.home_header__IfXur{height:4rem}.home_main__z_Djw{padding-top:4rem}.home_nav__5fkk6{gap:1rem}.home_nav__5fkk6 a{font-size:.72rem}.home_hero__R_VsL{min-height:calc(100dvh - 4rem);padding-top:4rem;padding-bottom:1.25rem}.home_heroTitle__2NcNX{font-size:clamp(2.9rem,13vw,4.2rem)}.home_heroSubtitle__RZUV4{font-size:.98rem}.home_heroSkills__6_d7X{margin-top:4rem}.home_heroSkillGroup__auLyA{align-items:flex-start;flex-direction:column;gap:.8rem}.home_section__HRps2{width:calc(100% - 2rem)}.home_sectionTitle__eDx7u{font-size:2.4rem}.home_projectCard__0L_NC,.home_projects__jnybc>.home_projectCard__0L_NC:only-child{min-height:0;padding:1.35rem;grid-template-columns:1fr;gap:1rem}.home_projectCardAside__zcZap{grid-column:1;grid-row:1;justify-content:flex-end}.home_projectCardMain__3IapX{grid-column:1;grid-row:2}.home_projectLogo__Zrzrp{width:4.5rem;height:4.5rem}.home_projectDescription__0LR_j{font-size:.88rem}.home_timelineWrap__V5_gn{padding:.5rem .9rem 1.2rem}.home_timeline__pxWm6:before{left:4.9rem}.home_timelineItem__nv5RG{grid-template-columns:3.8rem 1.7rem minmax(0,1fr);gap:.3rem}.home_timelineItem__nv5RG[data-side=left] .home_timelineSlot__ltLKn:first-child{grid-column:3;grid-row:1;justify-content:flex-start;text-align:left}.home_timelineItem__nv5RG[data-side=left] .home_timelineSeparator__zFico{grid-column:2;grid-row:1}.home_timelineItem__nv5RG[data-side=left] .home_timelineSlot__ltLKn:last-child{grid-column:1;grid-row:1;justify-content:flex-end;text-align:right}.home_timelineItem__nv5RG[data-side=right] .home_timelineSlot__ltLKn:first-child{grid-column:1;grid-row:1}.home_timelineItem__nv5RG[data-side=right] .home_timelineSeparator__zFico{grid-column:2;grid-row:1}.home_timelineItem__nv5RG[data-side=right] .home_timelineSlot__ltLKn:last-child{grid-column:3;grid-row:1}.home_timelineDot__ELTcs,.home_timelineDot__ELTcs[data-multi=true]{width:1.7rem;height:1.7rem}.home_timelineContent__FRgJq{padding-left:.6rem}.home_timelineTitle__DAIE4{font-size:1rem}.home_timelineBody__IbBKn{font-size:.82rem}.home_timelineOpposite__VtNmM{font-size:.6rem}.home_footerContent__kHBQw,.home_footerRight__gAQx8{align-items:flex-start;flex-direction:column}.home_modalOverlay__Jy0sS{padding:0}.home_modal__6AMTt{width:100%;max-height:100dvh;min-height:100dvh;border:0;border-radius:0}.home_modalBodyInner__12x6k,.home_modalFooter__NpHex,.home_modalHeader__UwtYB{padding:1.2rem}.home_modalLogo__i39Ns{width:2.7rem;height:2.7rem}.home_modalImageRow__3kyCw{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.home_typingCursor__S7If3{animation:none}.home_contactItem__H3tcw,.home_contactTooltipBottom__g2Xf9,.home_heroPrimaryAction__fgDY3,.home_heroSecondaryAction__3PPJR,.home_nav__5fkk6 a,.home_nav__5fkk6 a:after,.home_projectCard__0L_NC,.home_projectLogo__Zrzrp,.home_pythonProjectsChevron__EARO2,.home_timelineContent__FRgJq,.home_timelineOpposite__VtNmM{transition:none}}