.contact-form_form__ajkJi{padding:22px}.contact-form_form__ajkJi h3{font-size:20px;font-weight:600;letter-spacing:-.02em}.contact-form_field__ccuNX{margin-top:20px}.contact-form_field__ccuNX label{display:block;margin-bottom:8px;font:500 12px var(--mono);color:var(--tx2)}.contact-form_field__ccuNX input,.contact-form_field__ccuNX textarea{width:100%;padding:13px 14px;border:1px solid var(--line2);border-radius:10px;background:hsla(0,0%,100%,.02);font-size:15px;color:var(--tx);transition:border-color .3s,box-shadow .3s,background-color .3s}.contact-form_field__ccuNX textarea{min-height:130px;resize:vertical}.contact-form_field__ccuNX input::-moz-placeholder,.contact-form_field__ccuNX textarea::-moz-placeholder{color:var(--tx3)}.contact-form_field__ccuNX input::placeholder,.contact-form_field__ccuNX textarea::placeholder{color:var(--tx3)}.contact-form_field__ccuNX input:focus,.contact-form_field__ccuNX textarea:focus{outline:none;border-color:var(--ac);background:hsla(0,0%,100%,.035);box-shadow:0 0 0 3px rgba(52,211,153,.15)}.contact-form_honeypot__rFLF8{display:none}.contact-form_submit__mGRF5{width:100%;margin-top:24px}.contact-form_submit__mGRF5:disabled{opacity:.6;cursor:not-allowed}.contact-form_status__E8pk3{min-height:20px;margin-top:12px;font:13px var(--mono);color:var(--tx2)}.contact-form_status__E8pk3[data-status=success]{color:var(--ac)}.contact-form_status__E8pk3[data-status=error]{color:#f87171}@media (min-width:641px){.contact-form_form__ajkJi{padding:32px}}.hero-section_wrap__CCbtt{display:flex;flex-direction:column}.hero-section_hero__YKzXe{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:32px;padding:12px var(--gutter) 56px}.hero-section_dots__6wqsR{position:absolute;inset:calc(-1 * var(--navH)) 0 0;background-image:radial-gradient(hsla(0,0%,100%,.11) 1px,transparent 0);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 28% 40%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse 60% 70% at 28% 40%,#000 15%,transparent 72%);pointer-events:none}.hero-section_glow__m06QY{position:absolute;inset:0;background:radial-gradient(560px circle at var(--mx,28%) var(--my,42%),rgba(52,211,153,.085),transparent 62%);pointer-events:none}.hero-section_side__NpXIf,.hero-section_text__kwa80{position:relative;min-width:0}.hero-section_eyebrow__toynL{display:inline-flex;align-items:center;gap:10px;padding:5px 11px 5px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(9,9,11,.7);font:500 11px/1.4 var(--mono);color:var(--tx2)}.hero-section_eyebrow__toynL .pulse{color:var(--ac)}.hero-section_sep__2VbsL{color:var(--tx3)}.hero-section_name__c4Hhu{margin-top:20px;font-size:44px;font-weight:600;letter-spacing:-.052em;line-height:1}.hero-section_roles__BU7PS{display:grid;gap:8px;margin-top:22px}.hero-section_role__UKg59{position:relative;padding-left:17px;font-size:18px;font-weight:500;letter-spacing:-.025em;line-height:1.3}.hero-section_role__UKg59:before{content:"";position:absolute;top:.55em;left:0;width:7px;height:7px;border-radius:50%;background:var(--ac)}.hero-section_role__UKg59[data-kind=dev]:before{background:var(--dev)}.hero-section_role__UKg59 span{display:block;margin-top:2px;font-size:15px;color:var(--tx3)}.hero-section_roleSep__5Wi97{display:none;font-weight:inherit}.hero-section_lede__kp39t{max-width:580px;margin-top:22px;font-size:15.5px;line-height:1.68;color:var(--tx2)}.hero-section_ctas__ZSX4v{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero-section_ctas__ZSX4v .btn{flex:1}.hero-section_stats__y0Uc8{margin:0 var(--gutter)}@media (min-width:641px){.hero-section_hero__YKzXe{gap:40px;padding-top:24px;padding-bottom:88px}.hero-section_side__NpXIf{max-width:560px}.hero-section_eyebrow__toynL{padding:6px 13px 6px 11px;font-size:12px}.hero-section_name__c4Hhu{margin-top:30px;font-size:64px}.hero-section_role__UKg59{padding-left:21px;font-size:24px}.hero-section_role__UKg59:before{top:.5em;width:9px;height:9px}.hero-section_role__UKg59 span{display:inline;margin:0;font-size:inherit}.hero-section_roleSep__5Wi97{display:inline}.hero-section_lede__kp39t{font-size:17px}.hero-section_ctas__ZSX4v .btn{flex:none}}@media (min-width:1101px){.hero-section_wrap__CCbtt{min-height:min(calc(100vh - var(--navH)),860px);min-height:min(calc(100svh - var(--navH)),860px)}.hero-section_hero__YKzXe{flex:1;grid-template-columns:1.2fr .8fr;gap:64px;padding:32px var(--gutter) 56px}.hero-section_side__NpXIf{max-width:none}.hero-section_name__c4Hhu{font-size:76px}}.about-section_top__jS_Th{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.about-section_facts__iGRPd{margin-top:32px;border-top:1px solid var(--line)}.about-section_facts__iGRPd div{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.about-section_facts__iGRPd dt{font:500 11.5px/1.9 var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}.about-section_story__Wof0X p{font-size:16px;line-height:1.75;color:var(--tx2)}.about-section_story__Wof0X p+p{margin-top:18px}.about-section_story__Wof0X p:first-child{color:var(--tx)}.about-section_table__UC53h{margin-top:56px;border:1px solid var(--line);border-radius:16px;background:var(--s1);overflow:hidden}.about-section_row__x5rtm,.about-section_tableHead__SPx_2{display:grid;grid-template-columns:minmax(0,1fr);padding:0 18px}.about-section_tableHead__SPx_2{grid-template-columns:auto auto;justify-content:start;gap:18px;padding-top:20px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:16px;font-weight:600;letter-spacing:-.02em}.about-section_tableHead__SPx_2 span{display:flex;align-items:center;gap:10px}.about-section_tableHead__SPx_2 .about-section_by__2KgD7{display:none}.about-section_build__cJtde:before,.about-section_verify__IAurT:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dev)}.about-section_verify__IAurT:before{background:var(--ac)}.about-section_row__x5rtm{gap:6px;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--tx2);transition:background-color .5s var(--e),color .4s}.about-section_row__x5rtm:last-child{border-bottom:0}.about-section_row__x5rtm:hover{background:var(--s2);color:var(--tx)}.about-section_buildItem__0OcKU,.about-section_verifyItem__d9Jlg{display:flex;align-items:baseline;gap:10px}.about-section_buildItem__0OcKU:before,.about-section_verifyItem__d9Jlg:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--dev);transform:translateY(-2px)}.about-section_verifyItem__d9Jlg:before{background:var(--ac)}.about-section_swap__hYTOS{display:none;text-align:center;font-family:var(--mono);color:var(--tx3);transition:color .4s,transform .5s var(--e)}.about-section_row__x5rtm:hover .about-section_swap__hYTOS{color:var(--ac);transform:scale(1.2)}.about-section_how__uf1bh{margin-top:56px}.about-section_howGrid__6RzG1{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px}.about-section_howCard__qF_ym{height:100%;padding:22px}.about-section_number__UPziW{font:12px var(--mono);color:var(--tx3);transition:color .45s}.about-section_number__UPziW:before{content:"("}.about-section_number__UPziW:after{content:")"}.about-section_howCard__qF_ym:hover .about-section_number__UPziW{color:var(--ac)}.about-section_howCard__qF_ym h3{margin-top:16px;font-size:17px;font-weight:600;letter-spacing:-.015em}.about-section_howCard__qF_ym p{margin-top:8px;font-size:14px;line-height:1.62;color:var(--tx2)}.about-section_learning__QPQvT{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:var(--tx2)}.about-section_learning__QPQvT b{margin-right:6px;font:500 12px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}.about-section_learning__QPQvT span+span:before{content:"·";margin-right:12px;color:var(--tx3)}@media (min-width:641px){.about-section_story__Wof0X p{font-size:17px}.about-section_row__x5rtm,.about-section_tableHead__SPx_2{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;padding-left:28px;padding-right:28px}.about-section_tableHead__SPx_2{justify-content:stretch;gap:0;font-size:19px}.about-section_tableHead__SPx_2 .about-section_by__2KgD7{display:flex;justify-content:center;white-space:nowrap;font:500 11px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.08em}.about-section_row__x5rtm{gap:0;font-size:15px}.about-section_buildItem__0OcKU:before,.about-section_verifyItem__d9Jlg:before{display:none}.about-section_swap__hYTOS{display:block}.about-section_howGrid__6RzG1{grid-template-columns:repeat(3,minmax(0,1fr))}.about-section_howCard__qF_ym{padding:26px}}@media (min-width:1101px){.about-section_top__jS_Th{grid-template-columns:.9fr 1.1fr;gap:64px}.about-section_facts__iGRPd{max-width:460px}}.experience-section_list__URDER{margin-top:52px;border-top:1px solid var(--line)}.experience-section_row__8hiTC{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:40px 0;border-bottom:1px solid var(--line)}.experience-section_period__xMHRp{font:500 13px var(--mono);color:var(--tx2)}.experience-section_badge____Vbu{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:4px 10px;border:1px solid rgba(52,211,153,.2);border-radius:999px;background:rgba(52,211,153,.08);font:500 11px var(--mono);color:var(--ac)}.experience-section_title__NAPZb{font-size:22px;font-weight:600;letter-spacing:-.03em}.experience-section_org__E8TzT{margin-top:6px;font-size:15px;color:var(--tx2)}.experience-section_highlights__zVWD0{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:30px}.experience-section_highlights__zVWD0 h4{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:600;letter-spacing:-.01em}.experience-section_highlights__zVWD0 h4:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ac);transform:translateY(-2px)}.experience-section_highlights__zVWD0 p{margin-top:6px;padding-left:16px;font-size:14px;line-height:1.62;color:var(--tx2)}.experience-section_chips__lfoLc{margin-top:28px}.experience-section_coursework__N9WG1{max-width:720px;margin-top:14px;font-size:14px;line-height:1.62;color:var(--tx2)}.experience-section_coursework__N9WG1 b{margin-right:8px;font:500 12px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}@media (min-width:641px){.experience-section_title__NAPZb{font-size:26px}.experience-section_highlights__zVWD0{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}}@media (min-width:1101px){.experience-section_row__8hiTC{grid-template-columns:240px minmax(0,1fr);gap:48px}}.github-cards_card__LbZBI{height:100%;padding:20px 18px}.github-cards_card__LbZBI h3{font-size:18px;font-weight:600;letter-spacing:-.015em}.github-cards_caption__I4mgL{margin-top:6px;font:12px/1.5 var(--mono);color:var(--tx3)}.github-cards_bar__Y8_74{display:flex;gap:3px;height:10px;margin-top:24px;border-radius:999px;overflow:hidden}.github-cards_bar__Y8_74 i{height:100%;transform-origin:left;transition:transform 1.1s var(--e);transition-delay:calc(var(--k) * 90ms)}.js .github-cards_bar__Y8_74 i{transform:scaleX(0)}.in .github-cards_bar__Y8_74 i{transform:none}.github-cards_legend__wYIaZ{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:13.5px;color:var(--tx2)}.github-cards_legend__wYIaZ li{display:flex;align-items:center;gap:8px}.github-cards_legend__wYIaZ i{width:9px;height:9px;border-radius:50%}.github-cards_legend__wYIaZ b{font:500 12px var(--mono);color:var(--tx3)}.github-cards_tools__IYGEu{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.github-cards_tools__IYGEu li{padding:6px 11px;border:1px solid var(--line);border-radius:8px;background:hsla(0,0%,100%,.02);font:12.5px/1.5 var(--mono);color:var(--tx2);transition:color .4s,border-color .4s,background-color .4s;transition-delay:calc(var(--i) * 25ms)}.github-cards_tools__IYGEu li.github-cards_top__Gm8wq{border-color:rgba(96,165,250,.35);background:rgba(96,165,250,.08);color:var(--tx)}.github-cards_card__LbZBI:hover .github-cards_tools__IYGEu li{border-color:var(--line2);color:var(--tx)}@media (min-width:641px){.github-cards_card__LbZBI{padding:26px 28px 28px}}@media (prefers-reduced-motion:reduce){.github-cards_bar__Y8_74 i{transition:none}}.repo-card_card__dCz6m{display:flex;flex-direction:column;height:100%;padding:24px}.repo-card_name__36AQs{display:flex;align-items:center;gap:10px;min-width:0;font:500 15px var(--mono);letter-spacing:-.01em}.repo-card_name__36AQs svg{flex:none;color:var(--tx3)}.repo-card_name__36AQs span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.repo-card_description__0Dcn1{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-top:12px;font-size:14px;line-height:1.6;color:var(--tx2)}.repo-card_meta__1x2kk{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:20px;font:12px var(--mono);color:var(--tx3)}.repo-card_language__X8vHR{display:inline-flex;align-items:center;gap:7px;color:var(--tx2)}.repo-card_language__X8vHR i{width:9px;height:9px;border-radius:50%}.repo-card_updated__dYvK9{margin-left:auto}.github-section_stats__w2YiN{margin-top:48px}.github-section_cards__3gtHP,.github-section_repos__YqcPY{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:28px}.github-section_profile__suDt0{margin-top:28px}@media (min-width:641px){.github-section_cards__3gtHP{grid-template-columns:1.15fr .85fr}.github-section_repos__YqcPY{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1101px){.github-section_repos__YqcPY{grid-template-columns:repeat(3,minmax(0,1fr))}}.contact-section_grid__8xNMl{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:32px;margin-top:52px}.contact-section_intro__gNs4g{max-width:640px;font-size:16px;line-height:1.62;color:var(--tx2)}.contact-section_list__6VvVQ{margin-top:28px;border-top:1px solid var(--line)}.contact-section_list__6VvVQ a,.contact-section_list__6VvVQ div{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-section_key__8DYj5{flex:none;width:72px;font:500 12px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}.contact-section_value__JZL_8{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;transition:color .3s}.contact-section_arrow__e4pyZ{margin-left:auto;color:var(--tx3)}.contact-section_list__6VvVQ a:hover .contact-section_arrow__e4pyZ,.contact-section_list__6VvVQ a:hover .contact-section_value__JZL_8{color:var(--ac)}.contact-section_list__6VvVQ a:hover .contact-section_arrow__e4pyZ{transform:translate(3px,-3px)}@media (min-width:641px){.contact-section_key__8DYj5{width:84px}}@media (min-width:1101px){.contact-section_grid__8xNMl{grid-template-columns:1fr 1fr;gap:64px}}.footer_footer__mqdak{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:88px;padding:40px var(--gutter);border-top:1px solid var(--line);font-size:13px;color:var(--tx3)}.footer_footer__mqdak nav{display:flex;gap:20px}.footer_footer__mqdak a{transition:color .3s}.footer_footer__mqdak a:hover{color:var(--tx)}@media (min-width:641px){.footer_footer__mqdak{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:120px}}.pipeline-card_card__ynWTb{padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#121215,#0c0c0e);box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}.pipeline-card_head__eno82{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pipeline-card_file__fyRXt{font:500 13px var(--mono)}.pipeline-card_branch__ThUQB{margin-top:3px;font:12px var(--mono);color:var(--tx3)}.pipeline-card_badge__5n0ZR{padding:4px 10px;border:1px solid rgba(251,191,36,.28);border-radius:999px;background:rgba(251,191,36,.08);font:500 11px var(--mono);color:var(--warn);transition:color .4s,background-color .4s,border-color .4s}.pipeline-card_badge__5n0ZR[data-done=true]{border-color:rgba(52,211,153,.32);background:rgba(52,211,153,.08);color:var(--ac)}.pipeline-card_bar__CG5fl{height:2px;margin:18px 0 4px;border-radius:2px;background:var(--line);overflow:hidden}.pipeline-card_bar__CG5fl i{display:block;height:100%;background:var(--ac);transform-origin:left;transition:transform .7s var(--e)}.pipeline-card_group__ncUic{margin:16px 0 8px;font:500 11px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.08em}.pipeline-card_list__5YVIj{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.pipeline-card_row__mHdHE{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:hsla(0,0%,100%,.015);transition:background-color .45s,border-color .45s}.pipeline-card_row__mHdHE[data-state=running]{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.04)}.pipeline-card_status__GEXLs{display:grid;place-items:center;flex:none;width:16px;height:16px;border:1.5px solid var(--tx3);border-radius:50%;opacity:.7}.pipeline-card_row__mHdHE[data-state=running] .pipeline-card_status__GEXLs{border-color:var(--warn);border-top-color:transparent;opacity:1;animation:pipeline-card_spin__4qabz .8s linear infinite}.pipeline-card_row__mHdHE[data-state=passed] .pipeline-card_status__GEXLs{border-color:var(--ac);background:var(--ac);opacity:1;animation:pipeline-card_pop__NDKli .4s var(--e)}.pipeline-card_row__mHdHE[data-state=passed] .pipeline-card_status__GEXLs:after{content:"";width:7px;height:4px;border-left:1.7px solid var(--bg);border-bottom:1.7px solid var(--bg);transform:translateY(-1px) rotate(-45deg)}.pipeline-card_rowText__5XaIW{min-width:0}.pipeline-card_stage__Cmm9W{font-size:13.5px}.pipeline-card_tools__8qv2y{margin-top:1px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:12px var(--mono);color:var(--tx3)}.pipeline-card_label__l8iCD{flex:none;margin-left:auto;font:11.5px var(--mono);color:var(--tx3);transition:color .35s}.pipeline-card_row__mHdHE[data-state=running] .pipeline-card_label__l8iCD{color:var(--warn)}.pipeline-card_row__mHdHE[data-state=passed] .pipeline-card_label__l8iCD{color:var(--ac)}.pipeline-card_done__gTYXZ{margin-top:14px;font-size:13px;color:var(--ac);opacity:0;transform:translateY(4px);transition:opacity .5s var(--e),transform .5s var(--e)}.pipeline-card_done__gTYXZ[data-show=true]{opacity:1;transform:none}@keyframes pipeline-card_spin__4qabz{to{transform:rotate(1turn)}}@keyframes pipeline-card_pop__NDKli{0%{transform:scale(.4)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (min-width:641px){.pipeline-card_card__ynWTb{padding:22px}}.side-panel_scrim__jdCl6{position:fixed;inset:0;z-index:90;background:rgba(9,9,11,.35);backdrop-filter:blur(7px);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .55s var(--e),visibility 0s linear .55s}.side-panel_scrimOpen__VGEiQ{opacity:1;visibility:visible;transition:opacity .55s var(--e)}.side-panel_panel__1RYEF{position:fixed;top:0;right:0;bottom:0;z-index:91;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:#0c0c0f;border-left:1px solid var(--line);box-shadow:-30px 0 80px -20px rgba(0,0,0,.7);transform:translateX(100%);visibility:hidden;transition:transform .7s var(--e),visibility 0s linear .7s}.side-panel_panelOpen__g2AWK{transform:none;visibility:visible;transition:transform .7s var(--e)}.side-panel_menu__mjBd2{width:min(440px,84vw)}.side-panel_case__k12PN{width:min(660px,84vw)}.side-panel_close__yFyQ9{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line2);border-radius:12px;transition:background-color .25s}.side-panel_close__yFyQ9:hover{background:hsla(0,0%,100%,.06)}.side-panel_close__yFyQ9 i{position:relative;display:block;width:16px;height:1.5px}.side-panel_close__yFyQ9 i:after,.side-panel_close__yFyQ9 i:before{content:"";position:absolute;top:0;left:0;width:16px;height:1.5px;background:var(--tx)}.side-panel_close__yFyQ9 i:before{transform:rotate(45deg)}.side-panel_close__yFyQ9 i:after{transform:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.side-panel_panelOpen__g2AWK,.side-panel_panel__1RYEF,.side-panel_scrimOpen__VGEiQ,.side-panel_scrim__jdCl6{transition:none}}.side-menu_inner__iEFWW{display:flex;flex-direction:column;flex:1;padding:0 var(--pad) 24px}.side-menu_head__Kr_YV{display:flex;justify-content:space-between;align-items:center;flex:none;min-height:var(--navH)}.side-menu_head__Kr_YV span{font:500 12px var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.08em}.side-menu_links___N224{display:flex;flex-direction:column;margin-top:12px}.side-menu_links___N224 a{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:26px;font-weight:600;letter-spacing:-.035em;opacity:0;transform:translateX(40px);transition:opacity .45s var(--e),transform .7s var(--e),color .3s}.side-menu_shown__p12_Z a{opacity:1;transform:none;transition-delay:calc(.13s + var(--i) * 45ms),calc(.13s + var(--i) * 45ms),0s}.side-menu_number__jYpiV{width:20px;font:500 12px var(--mono);color:var(--tx3)}.side-menu_arrow__OT74N{margin-left:auto;font-size:18px;color:var(--tx3);transition:transform .35s var(--e),color .3s}.side-menu_links___N224 a:focus-visible .side-menu_arrow__OT74N,.side-menu_links___N224 a:hover .side-menu_arrow__OT74N{transform:translateX(4px);color:var(--ac)}.side-menu_links___N224 a.side-menu_active__TG3zi,.side-menu_links___N224 a.side-menu_active__TG3zi .side-menu_number__jYpiV{color:var(--ac)}.side-menu_foot__zj6AR{margin-top:auto;padding-top:28px;opacity:0;transform:translateY(12px);transition:opacity .5s var(--e),transform .6s var(--e)}.side-menu_foot__zj6AR.side-menu_shown__p12_Z{opacity:1;transform:none;transition-delay:.4s}.side-menu_availability__mPv1b{display:flex;align-items:center;gap:10px;font:500 12px var(--mono);color:var(--tx2)}.side-menu_availability__mPv1b .pulse{color:var(--ac)}.side-menu_mail__GYvb5{display:block;margin-top:8px;font:13px var(--mono);color:var(--tx3);word-break:break-all}.side-menu_foot__zj6AR .btn{width:100%;margin-top:18px}@media (prefers-reduced-motion:reduce){.side-menu_foot__zj6AR,.side-menu_links___N224 a{opacity:1;transform:none;transition:none}}.navbar_nav__dCdXi{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--navH);padding:0 var(--gutter);border-bottom:1px solid transparent;transition:background-color .4s,border-color .4s}.navbar_scrolled__8FNGx{background:rgba(9,9,11,.74);backdrop-filter:blur(14px) saturate(140%);border-color:var(--line)}.navbar_logo__wXwXy{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;white-space:nowrap}.navbar_monogram__KVu4i{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--tx);color:var(--bg);font:600 12px var(--mono)}.navbar_cta__VnhVB,.navbar_links__jysVN,.navbar_name__kP2Ex{display:none}.navbar_menuButton__BJwt4{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line2);border-radius:12px;transition:background-color .25s}.navbar_menuButton__BJwt4:hover{background:hsla(0,0%,100%,.06)}.navbar_menuButton__BJwt4 i,.navbar_menuButton__BJwt4 i:after,.navbar_menuButton__BJwt4 i:before{display:block;width:16px;height:1.5px;background:var(--tx)}.navbar_menuButton__BJwt4 i{position:relative}.navbar_menuButton__BJwt4 i:after,.navbar_menuButton__BJwt4 i:before{content:"";position:absolute;left:0}.navbar_menuButton__BJwt4 i:before{top:-5px}.navbar_menuButton__BJwt4 i:after{top:5px}.navbar_indicator__Ki1mh{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:hsla(0,0%,100%,.085);pointer-events:none;transition:transform .5s var(--e),width .5s var(--e),opacity .3s}@media (min-width:641px){.navbar_name__kP2Ex{display:inline}}@media (min-width:1101px){.navbar_menuButton__BJwt4{display:none}.navbar_links__jysVN{position:relative;display:flex;padding:4px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.02)}.navbar_links__jysVN a{position:relative;z-index:1;padding:7px 15px;font-size:13px;color:var(--tx2);transition:color .3s}.navbar_links__jysVN a.navbar_active__Oz98t,.navbar_links__jysVN a:hover{color:var(--tx)}.navbar_cta__VnhVB{display:inline-flex;padding:9px 16px;border-radius:999px;background:var(--tx);color:var(--bg);font-size:13px;font-weight:500;white-space:nowrap}}.case-study-panel_head__Q4px6{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:var(--navH);padding:0 var(--pad);border-bottom:1px solid var(--line);background:rgba(12,12,15,.9);backdrop-filter:blur(10px)}.case-study-panel_tag__DLbKF{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--mono);color:var(--tx2)}.case-study-panel_tag__DLbKF:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ac)}.case-study-panel_body__TIAjD{padding:28px var(--pad) 48px}.case-study-panel_title__N38AE{font-size:26px;font-weight:600;letter-spacing:-.04em;line-height:1.1}.case-study-panel_confidential__9clEE{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font:12px var(--mono);color:var(--tx3)}.case-study-panel_facts__ExAXZ{margin-top:26px;border-top:1px solid var(--line)}.case-study-panel_facts__ExAXZ div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.5}.case-study-panel_facts__ExAXZ dt{font:500 11.5px/1.9 var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}.case-study-panel_points__i60bQ{display:grid;gap:26px;margin-top:32px}.case-study-panel_points__i60bQ li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;opacity:0;transform:translateX(24px);transition:opacity .5s var(--e),transform .7s var(--e)}.case-study-panel_shown__2gjq8 .case-study-panel_points__i60bQ li{opacity:1;transform:none;transition-delay:calc(.18s + var(--i) * 60ms)}.case-study-panel_number__wMPYc{font:500 12px/1.9 var(--mono);color:var(--ac)}.case-study-panel_points__i60bQ h3{font-size:16px;font-weight:600;letter-spacing:-.015em}.case-study-panel_points__i60bQ p{margin-top:6px;font-size:14.5px;line-height:1.68;color:var(--tx2)}.case-study-panel_points__i60bQ code{font-family:var(--mono);font-size:.88em;color:var(--tx)}.case-study-panel_chips__A_Noy{margin-top:32px}.case-study-panel_cta__XZDAJ{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding:22px;border:1px dashed var(--line2);border-radius:14px;font-size:14px;color:var(--tx2)}@media (min-width:641px){.case-study-panel_body__TIAjD{padding-top:32px}.case-study-panel_title__N38AE{font-size:34px}.case-study-panel_facts__ExAXZ div{grid-template-columns:96px minmax(0,1fr);gap:16px}.case-study-panel_points__i60bQ li{grid-template-columns:32px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.case-study-panel_points__i60bQ li{opacity:1;transform:none;transition:none}}.project-card_card___7_AH{display:flex;flex-direction:column;flex:none;width:calc(100vw - 2 * var(--pad) - 20px);padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--s1);transition:transform .45s var(--e),border-color .45s,background-color .45s}.project-card_card___7_AH>*{flex-shrink:0}.project-card_card___7_AH:hover{transform:translateY(-4px);border-color:var(--line2)}.project-card_top__acyKl{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-card_tag__YCNS_{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:500 11.5px var(--mono);color:var(--tx2)}.project-card_tag__YCNS_:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ac)}.project-card_card___7_AH[data-kind=dev] .project-card_tag__YCNS_:before{background:var(--dev)}.project-card_meta__qDuId{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:11.5px var(--mono);color:var(--tx3)}.project-card_wip__O1TzE{display:inline-flex;align-items:center;gap:7px;padding:3px 9px;border:1px solid rgba(251,191,36,.22);border-radius:999px;background:rgba(251,191,36,.08);font:500 11px var(--mono);color:var(--warn)}.project-card_wip__O1TzE .pulse{width:6px;height:6px}.project-card_title___m7_L{margin-top:18px;font-size:20px;font-weight:600;letter-spacing:-.025em;line-height:1.2}.project-card_context__eH3w8{margin-top:6px;font:12px var(--mono);color:var(--tx3)}.project-card_summary__AuM3_{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;margin-top:16px;font-size:13.5px;line-height:1.62;color:var(--tx2)}.project-card_featured__OuTch .project-card_summary__AuM3_{-webkit-line-clamp:3}.project-card_checks__6R75L{display:grid;gap:5px;margin-top:16px;font:11.5px/1.5 var(--mono);color:var(--tx2)}.project-card_checks__6R75L li{display:flex;gap:10px}.project-card_checks__6R75L li[data-status=pass]{display:none}.project-card_checks__6R75L i{font-style:normal;color:var(--ac)}.project-card_checks__6R75L li[data-status=fail] i{color:#f87171}.project-card_checks__6R75L em{display:block;font-style:normal;color:var(--warn)}.project-card_chips__ZSTdX{margin-top:auto;padding-top:18px}.project-card_foot__5JEZu{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--tx3)}.project-card_foot__5JEZu a,.project-card_read__fJ8u2{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-weight:500;color:var(--tx)}.project-card_read__fJ8u2{font-size:13px}.project-card_card___7_AH:hover .project-card_foot__5JEZu a .arr{transform:translate(2px,-2px)}.project-card_card___7_AH:hover .project-card_read__fJ8u2 .arr,.project-card_end__lbZGW:hover .project-card_go__msFiT .arr{transform:translateX(4px)}.project-card_end__lbZGW{justify-content:space-between;border-style:dashed;background:transparent}.project-card_end__lbZGW h4{font-size:22px;font-weight:600;letter-spacing:-.02em}.project-card_end__lbZGW p{margin-top:10px;font-size:14px;line-height:1.6;color:var(--tx2)}.project-card_go__msFiT{font-weight:500}@media (min-width:641px){.project-card_card___7_AH{width:380px;padding:26px}.project-card_featured__OuTch{width:600px}.project-card_end__lbZGW{width:320px}.project-card_title___m7_L{margin-top:22px;font-size:22px}.project-card_summary__AuM3_{-webkit-line-clamp:6;font-size:14px}.project-card_featured__OuTch .project-card_summary__AuM3_{-webkit-line-clamp:3}.project-card_checks__6R75L{gap:7px;font-size:12.5px}.project-card_checks__6R75L li[data-status=pass]{display:flex}.project-card_checks__6R75L em{display:inline;margin-left:8px;white-space:nowrap}}[data-tier~=compact] .project-card_card___7_AH{padding:20px}[data-tier~=compact] .project-card_title___m7_L{margin-top:14px;font-size:20px}[data-tier~=compact] .project-card_summary__AuM3_{-webkit-line-clamp:3;margin-top:10px}[data-tier~=compact] .project-card_checks__6R75L li[data-status=pass]{display:none}[data-tier~=compact] .project-card_chips__ZSTdX{max-height:68px;overflow:hidden;padding-top:14px}[data-tier~=compact] .project-card_foot__5JEZu{margin-top:12px;padding-top:12px}[data-tier~=tight] .project-card_context__eH3w8{display:none}[data-tier~=tight] .project-card_title___m7_L{margin-top:10px}[data-tier~=tight] .project-card_summary__AuM3_{-webkit-line-clamp:2}[data-tier~=tight] .project-card_checks__6R75L{margin-top:10px}[data-tier~=tight] .project-card_chips__ZSTdX{max-height:40px;padding-top:12px}[data-tier~=free] .project-card_card___7_AH{scroll-snap-align:start;scroll-margin-left:var(--pad)}.project-rail_rail__koVGa{position:relative}.project-rail_sticky__GThZC{position:sticky;top:var(--navH);display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);height:calc(100vh - var(--navH));height:calc(100svh - var(--navH));overflow:hidden}.project-rail_head__CXkOx{align-self:end;padding:12px var(--gutter) 16px}.project-rail_eyebrow__HXqa1{font:500 11px var(--mono);color:var(--ac);text-transform:uppercase;letter-spacing:.08em}.project-rail_rail__koVGa[data-kind=personal] .project-rail_eyebrow__HXqa1{color:var(--dev)}.project-rail_title__H5pql{margin-top:10px;font-size:22px;font-weight:600;letter-spacing:-.035em;line-height:1.15}.project-rail_subtitle__aWDui{display:none;max-width:620px;margin-top:8px;font-size:15px;line-height:1.6;color:var(--tx2)}.project-rail_viewport__BKTOL{overflow:hidden}.project-rail_track__xzfMv{display:flex;align-items:stretch;gap:12px;width:-moz-max-content;width:max-content;padding:6px var(--gutter);will-change:transform}.project-rail_foot__iJwJJ{align-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px var(--gutter) 0}.project-rail_progress__MX90j{flex:1;height:2px;border-radius:2px;background:var(--line);overflow:hidden}.project-rail_progress__MX90j i{display:block;height:100%;background:var(--ac);transform:scaleX(0);transform-origin:left}.project-rail_rail__koVGa[data-kind=personal] .project-rail_progress__MX90j i{background:var(--dev)}.project-rail_count__LAvpp{min-width:58px;text-align:right;font:500 12px var(--mono);color:var(--tx3)}.project-rail_count__LAvpp b{font-weight:500;color:var(--tx)}.project-rail_hint__ZY9XG{flex-basis:100%;font:12px var(--mono);color:var(--tx3)}.project-rail_hintFree__nP_vT{display:none}@media (min-width:641px){.project-rail_head__CXkOx{padding:16px var(--gutter) 24px}.project-rail_eyebrow__HXqa1{font-size:12px}.project-rail_title__H5pql{font-size:30px}.project-rail_track__xzfMv{gap:20px}.project-rail_foot__iJwJJ{padding-top:22px}.project-rail_progress__MX90j{flex:none;width:160px}.project-rail_hint__ZY9XG{flex-basis:auto;margin-left:auto}}@media (min-width:1101px){.project-rail_subtitle__aWDui{display:block}}.project-rail_rail__koVGa[data-tier~=compact] .project-rail_subtitle__aWDui{display:none}.project-rail_rail__koVGa[data-tier~=compact] .project-rail_head__CXkOx{padding-bottom:16px}.project-rail_rail__koVGa[data-tier~=compact] .project-rail_foot__iJwJJ{padding-top:16px}.project-rail_rail__koVGa[data-tier~=tight] .project-rail_head__CXkOx{padding-top:8px;padding-bottom:14px}.project-rail_rail__koVGa[data-tier~=tight] .project-rail_foot__iJwJJ{padding-top:12px}.project-rail_rail__koVGa[data-tier~=tight] .project-rail_hint__ZY9XG{display:none}.project-rail_rail__koVGa[data-tier~=free] .project-rail_sticky__GThZC{position:static;display:block;height:auto;padding:24px 0}.project-rail_rail__koVGa[data-tier~=free] .project-rail_viewport__BKTOL{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}.project-rail_rail__koVGa[data-tier~=free] .project-rail_viewport__BKTOL::-webkit-scrollbar{display:none}.project-rail_rail__koVGa[data-tier~=free] .project-rail_track__xzfMv{transform:none!important}.project-rail_rail__koVGa[data-tier~=free] .project-rail_hint__ZY9XG{display:block}.project-rail_rail__koVGa[data-tier~=free] .project-rail_hintPinned__ETx_T{display:none}.project-rail_rail__koVGa[data-tier~=free] .project-rail_hintFree__nP_vT{display:inline}.stat-strip_strip__Dthjo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-strip_cell__h4iqb{padding:20px 14px;border-left:1px solid var(--line)}.stat-strip_cell__h4iqb:nth-child(odd){padding-left:0;border-left:0}.stat-strip_cell__h4iqb:nth-child(n+3){border-top:1px solid var(--line)}.stat-strip_value__4eqai{flex:none;font-size:34px;font-weight:600;letter-spacing:-.045em;line-height:1}.stat-strip_text__MwVZ9{min-width:0;margin-top:10px}.stat-strip_label__Mk6c4{font-size:14px;font-weight:500}.stat-strip_context__UWUG1{margin-top:4px;font:12px/1.5 var(--mono);color:var(--tx3)}@media (min-width:641px){.stat-strip_cell__h4iqb{display:flex;align-items:center;gap:20px;padding:26px 28px}.stat-strip_cell__h4iqb:nth-child(odd){padding-left:0}.stat-strip_value__4eqai{font-size:42px}.stat-strip_text__MwVZ9{margin-top:0}}@media (min-width:1101px){.stat-strip_strip__Dthjo{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-strip_cell__h4iqb:nth-child(odd){padding-left:28px;border-left:1px solid var(--line)}.stat-strip_cell__h4iqb:first-child{padding-left:0;border-left:0}.stat-strip_cell__h4iqb:nth-child(n+3){border-top:0}}.section-heading_kicker__Y9e3t{display:flex;align-items:center;gap:12px;font:500 12px/1.5 var(--mono);color:var(--tx3);text-transform:uppercase;letter-spacing:.08em}.section-heading_kicker__Y9e3t b{font-weight:500;color:var(--ac)}.section-heading_kicker__Y9e3t:after{content:"";width:48px;height:1px;background:var(--line2)}.section-heading_title__a__wu{margin-top:18px;font-size:34px;font-weight:600;letter-spacing:-.045em;line-height:1.05}.section-heading_subtitle__y_Gsr{max-width:640px;margin-top:14px;font-size:16px;line-height:1.62;color:var(--tx2)}@media (min-width:641px){.section-heading_title__a__wu{font-size:46px}}.skills-section_grid__SLn_E{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:36px}.skills-section_card__lYTHw{height:100%;padding:22px}.skills-section_top__aa__F{display:flex;justify-content:space-between;align-items:center;font:12px var(--mono);color:var(--tx3)}.skills-section_number__Kg4cH{transition:color .45s}.skills-section_number__Kg4cH:before{content:"("}.skills-section_number__Kg4cH:after{content:")"}.skills-section_card__lYTHw:hover .skills-section_number__Kg4cH{color:var(--ac)}.skills-section_title__QPs5C{margin-top:20px;font-size:18px;font-weight:600;letter-spacing:-.015em}.skills-section_summary__58jK0{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--tx2)}.skills-section_items__G23lq{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.skills-section_items__G23lq li{padding:4px 9px;border:1px solid var(--line);border-radius:7px;background:hsla(0,0%,100%,.02);font:12px/1.5 var(--mono);color:var(--tx2);transition:color .4s,border-color .4s,background-color .4s;transition-delay:calc(var(--i) * 25ms)}.skills-section_card__lYTHw:hover .skills-section_items__G23lq li{border-color:var(--line2);background:hsla(0,0%,100%,.035);color:var(--tx)}@media (min-width:641px){.skills-section_grid__SLn_E{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:52px}.skills-section_card__lYTHw{padding:26px}}@media (min-width:1101px){.skills-section_grid__SLn_E{grid-template-columns:repeat(3,minmax(0,1fr))}}.projects-section_section___5Dg_{padding-top:88px}.projects-section_head__BeRen{padding:0 var(--gutter)}@media (min-width:641px){.projects-section_section___5Dg_{padding-top:104px}}