.Carousel_carousel-wrapper__TcHiI{width:100%;position:relative;display:flex;flex-direction:column;gap:var(--space-5)}.Carousel_embla__PC0uB,.Carousel_embla__viewport__BE9F4{width:100%;overflow:hidden}.Carousel_embla__container__ZXxVJ{display:flex;gap:var(--space-5);padding:0 var(--space-4)}.Carousel_embla__slide__L_Pbv{flex:0 0 420px;min-width:0;display:flex}.Carousel_controls__ZeUgt{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-inline:auto}.Carousel_navButton__1MEXo{--icon-button-shadow:none}.Carousel_counter__9__O8{min-width:5ch;text-align:center;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:var(--leading-body);color:var(--color-muted-ink)}.Carousel_counterLabel__RkWi_{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:1100px){.Carousel_embla__slide__L_Pbv{flex:0 0 360px}}@media(max-width:768px){.Carousel_embla__container__ZXxVJ{padding:0 var(--space-3)}.Carousel_embla__slide__L_Pbv{flex:0 0 85%}}.Button_button__AHROa{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;line-height:var(--leading-heading);min-height:var(--control-size);text-decoration:none;cursor:pointer;transition:transform var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.Button_button__AHROa:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.Button_button__AHROa:hover:not(:disabled){transform:translateY(-1px)}.Button_button__AHROa:active:not(:disabled){transform:none}.Button_button__AHROa:disabled{opacity:.5;cursor:not-allowed}.Button_primary__Xpoji{background:var(--color-brand);color:var(--color-on-brand);border-color:color-mix(in oklab,var(--color-brand) 75%,var(--color-ink))}.Button_primary__Xpoji:hover:not(:disabled){background:var(--color-brand-600);color:var(--color-on-brand)}.Button_secondary__wBfMC{background:var(--color-surface);color:var(--color-ink)}.Button_secondary__wBfMC:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-ink)}.Button_soft__4jrSi{background:var(--color-surface-2);color:var(--color-muted-ink);border-color:rgba(0,0,0,0)}.Button_soft__4jrSi:hover:not(:disabled){background:var(--color-brand);color:var(--color-on-brand)}.Button_inverse__8HEvF{background:var(--color-ink);color:var(--color-bg)}.Button_inverse__8HEvF:hover:not(:disabled){background:var(--color-brand);color:var(--color-on-brand)}.Button_lg__iHOV6{padding:var(--space-4);font-weight:var(--weight-semibold)}.Button_button__AHROa.Button_icon__ZiVw2{width:var(--control-size);height:var(--control-size);padding:0;border-radius:var(--radius-pill);flex-shrink:0}.Button_button__AHROa.Button_icon__ZiVw2.Button_lg__iHOV6{width:var(--control-size-lg);height:var(--control-size-lg)}.Button_button__AHROa.Button_icon__ZiVw2.Button_secondary__wBfMC{box-shadow:var(--icon-button-shadow,var(--shadow))}.Button_button__AHROa.Button_icon__ZiVw2 svg{width:22px;height:22px}.Button_button__AHROa.Button_icon__ZiVw2.Button_lg__iHOV6 svg{width:24px;height:24px}.Contact_contactSection__xN77b{padding-top:70px;padding-bottom:80px;background-color:var(--color-bg)}.Contact_heading__jtEVn{font-size:var(--text-section);font-weight:var(--weight-heavy);text-align:center;margin-bottom:var(--space-12);color:var(--color-ink)}@media(max-width:600px){.Contact_heading__jtEVn{font-size:2rem;margin-bottom:var(--space-8)}}.Contact_container__ohjaa{display:grid;grid-template-columns:1fr;grid-gap:var(--space-12);gap:var(--space-12)}@media(min-width:1024px){.Contact_container__ohjaa{grid-template-columns:2fr 3fr;gap:var(--space-24)}}.Contact_contactInfo__UqvxX,.Contact_formContainer__QCEcb{padding:var(--space-12)}@media(max-width:600px){.Contact_contactInfo__UqvxX,.Contact_formContainer__QCEcb{padding:var(--space-8)}}.Contact_profile__N5ao1{margin-bottom:var(--space-12)}.Contact_name__VBq0t{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-ink)}.Contact_title__5J809{font-size:var(--text-lg);color:var(--color-brand)}.Contact_availability__Ap8qj{margin-top:var(--space-4);font-size:var(--text-base);color:var(--color-muted-ink);line-height:var(--leading-body)}.Contact_socials__aEjE_{margin-top:var(--space-12)}.Contact_socialsHeading__fsGxQ{text-transform:uppercase;font-size:var(--text-sm);letter-spacing:.1rem;margin-bottom:var(--space-4);font-weight:var(--weight-semibold);color:var(--color-muted-ink)}.Contact_formGrid__l_0NY{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:768px){.Contact_formGrid__l_0NY{grid-template-columns:repeat(2,1fr)}}.Contact_submissionMessage__NyoM0{margin-top:var(--space-4);text-align:center;font-weight:var(--weight-semibold)}.Contact_success__j0lfU{color:var(--color-brand)}.Contact_error__D9C_8{color:var(--color-danger)}.Contact_backToTop__j5s3U{margin-top:var(--space-16);display:flex;justify-content:center}.Contact_backToTop__j5s3U a{display:flex;justify-content:center;align-items:center;width:56px;height:56px;border-radius:9999px;background-color:var(--color-surface-2);box-shadow:var(--shadow);color:var(--color-brand);transition:all var(--dur-1) var(--ease)}.Contact_backToTop__j5s3U a:hover{transform:translateY(-4px);background-color:var(--color-brand);color:var(--color-bg)}.Contact_submitBtn__ZIXCu{margin-top:var(--space-6)}@media(max-width:600px){.Contact_submitBtn__ZIXCu{width:100%}}.CarouselCard_card-link__jYc02{text-decoration:none;color:inherit;display:block;width:100%}.CarouselCard_card__icvpR{position:relative;width:100%;min-height:300px;height:100%;border-radius:18px;padding:1.4rem;background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden;border:1px solid hsla(0,0%,100%,.07);transition:transform .3s cubic-bezier(.22,.61,.36,1),border-color .3s ease,background .3s ease}.CarouselCard_card__icvpR:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(255,255,255,.06),transparent 60%);pointer-events:none}.CarouselCard_card__icvpR:hover{border-color:hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.03)}.CarouselCard_card__icvpR:hover .CarouselCard_card-cta__thFwQ span{transform:translateX(4px)}.CarouselCard_card-top__xjSgg{display:flex;align-items:center;gap:.8rem}.CarouselCard_card-logo-container__Hr03l{width:52px;height:52px;min-width:52px;border-radius:12px;background:hsla(0,0%,100%,.05);display:flex;align-items:center;justify-content:center;overflow:hidden}.CarouselCard_card-logo__qD1jK{object-fit:contain}.CarouselCard_card-title__51uab{font-size:var(--text-base);font-weight:var(--weight-bold);line-height:var(--leading-heading);margin:0}.CarouselCard_card-content__2JBep{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem;flex:1 1}.CarouselCard_card-description__v7d4o{font-size:.86rem;line-height:var(--leading-body);opacity:.7;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.CarouselCard_card-technologies__WAqdd{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:.2rem 0 0}.CarouselCard_card-cta__thFwQ{margin-top:auto;font-weight:var(--weight-semibold);font-size:.8rem;color:var(--color-brand,#0070f3);display:flex;align-items:center;gap:.3rem}.CarouselCard_card-cta__thFwQ span{transition:transform .2s ease}.FormField_field__w8MK1{display:flex;flex-direction:column}.FormField_label__2RUBM{text-transform:uppercase;font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-block:var(--space-1);color:var(--color-ink)}.FormField_optional__nKiQa{text-transform:none;font-weight:var(--weight-medium);color:var(--color-muted-ink)}.FormField_control__jJNaa{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);width:100%;background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-base);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.FormField_control__jJNaa:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.FormField_control__jJNaa[aria-invalid=true]{border-color:var(--color-danger)}textarea.FormField_control__jJNaa{resize:vertical;min-height:120px}.FormField_error__l7kwR{color:var(--color-danger);font-size:var(--text-xs);margin:var(--space-1) 0 0}.DeveloperAvatar_avatar__asYN4{position:absolute;inset:0}.DeveloperAvatar_stage__qgh22{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);overflow:hidden;cursor:pointer}.DeveloperAvatar_stage__qgh22:disabled{cursor:default}.DeveloperAvatar_stage__qgh22:focus-visible{outline:3px solid var(--color-focus);outline-offset:-5px}.DeveloperAvatar_fallback__X84s4{object-fit:contain}.DeveloperAvatar_canvas__bdd5q{position:absolute;inset:0;width:100%;height:100%}.HeroAbout_section__HKKgK{position:relative;padding-top:clamp(32px,3vw,56px);padding-bottom:0;background:radial-gradient(1200px 600px at 10% -10%,color-mix(in oklab,var(--color-brand) 22%,transparent) 0,transparent 60%),radial-gradient(900px 500px at 110% 0,color-mix(in oklab,var(--color-sky) 45%,transparent) 0,transparent 70%),var(--color-bg);color:var(--color-ink);scroll-margin-top:calc(var(--header-h) + 12px);overflow:hidden}.HeroAbout_section__HKKgK:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E")}.HeroAbout_grid__9UEuA{display:grid;grid-gap:clamp(20px,2.5vw,32px);gap:clamp(20px,2.5vw,32px)}.HeroAbout_copy__8WYxF{display:grid;grid-gap:var(--space-3);gap:var(--space-3);align-content:start;max-width:var(--measure-copy)}.HeroAbout_kicker__7XYMM{letter-spacing:.09em;text-transform:uppercase;font-size:.8rem;color:var(--color-muted-ink);margin:0}.HeroAbout_title__Lt_zf{margin:0;font-size:var(--text-display);font-weight:var(--weight-heavy);line-height:var(--leading-tight)}.HeroAbout_highlight__RcfAu{color:var(--color-brand-600)}.HeroAbout_subtitle__WapNI{margin:.1em 0 .35em;font-size:clamp(1.2rem,1rem + 1.2vw,2rem);color:var(--color-brand-700);font-weight:var(--weight-bold)}.HeroAbout_lead___J6iG{margin:6px 0 8px;color:var(--color-muted-ink);max-width:var(--measure-copy);line-height:var(--leading-relaxed)}.HeroAbout_actions__qsGS2{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:6px}.HeroAbout_socials__oeUmU{display:flex;gap:var(--space-3);margin-top:8px}.HeroAbout_side____anr{display:grid;grid-gap:var(--space-4);gap:var(--space-4);align-content:start}.HeroAbout_photoWrap__8d_1o{position:relative;width:100%;aspect-ratio:1/1;max-width:320px;border-radius:50%;overflow:hidden;background:var(--color-sky);border:2px solid color-mix(in oklab,var(--color-brand) 65%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.12),0 0 0 10px color-mix(in oklab,var(--color-brand) 8%,transparent);justify-self:center;isolation:isolate}.HeroAbout_photoRing__WUEZ_{position:absolute;inset:-6px;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,color-mix(in oklab,var(--color-brand) 65%,transparent),transparent 40%,color-mix(in oklab,var(--color-brand) 65%,transparent));filter:blur(16px);opacity:.35;pointer-events:none;animation:HeroAbout_spin__swQ4c 14s linear infinite}@keyframes HeroAbout_spin__swQ4c{to{transform:rotate(1turn)}}.HeroAbout_bio__CnwjE{color:var(--color-muted-ink);justify-self:center}.HeroAbout_bioHeading__9QsCB{font-size:var(--text-lg);color:var(--color-brand-700);font-weight:var(--weight-bold)}@media(min-width:768px){.HeroAbout_grid__9UEuA{grid-template-columns:1.1fr 1fr;align-items:center}}.HeroAbout_cursor__AdSQy{visibility:hidden;display:inline-block;margin-left:2px;width:1ch;animation:HeroAbout_blink__XhYgB 1s steps(2,start) infinite}@keyframes HeroAbout_blink__XhYgB{0%,50%,to{opacity:1}25%,75%{opacity:0}}@media(prefers-reduced-motion:reduce){.HeroAbout_cursor__AdSQy{display:none}.HeroAbout_photoRing__WUEZ_{animation:none}}.Layout_container__awVnQ{width:min(var(--content-width),100% - var(--space-8));margin-inline:auto}.Layout_wide__qEsYU{--content-width:var(--content-width-wide)}.Layout_section__jTtV_{scroll-margin-top:calc(var(--header-h) + var(--space-3))}.Layout_spaced__iRBXx{padding-block:var(--section-space)}.Layout_prose__qZmMn{--prose-gap:var(--space-4);max-width:var(--measure-prose);line-height:var(--leading-relaxed)}.Layout_prose__qZmMn>:first-child{margin-top:0}.Layout_prose__qZmMn>:last-child{margin-bottom:0}.Layout_prose__qZmMn>*{margin-block:0}.Layout_prose__qZmMn>*+*{margin-top:var(--prose-gap)}.Layout_compact__yOChd{--prose-gap:var(--space-2);line-height:var(--leading-body)}.SocialLinks_links__ZnAR7{display:flex;gap:var(--space-3)}.SocialLinks_large__8lDpq{gap:var(--space-6)}.Tag_tag__9OaEW{display:inline-block;padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-2);color:var(--color-muted-ink);font-size:var(--text-xs);line-height:var(--leading-body)}.Tag_small__7JlGA{padding:var(--space-1) var(--space-2);font-size:var(--text-2xs)}.ProjectsSection_section-header__rtjHe{display:flex;justify-content:space-between;align-items:center}.ProjectsSection_section-title__9iOc6{font-size:var(--text-section);font-weight:var(--weight-heavy);text-align:center;margin-bottom:var(--space-12);color:var(--color-ink)}.ProjectsSection_section-link__m4OW9{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-accent);text-decoration:none;position:relative;transition:color var(--dur-1) var(--ease)}.ProjectsSection_section-link__m4OW9:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--color-brand);transition:width var(--dur-2) var(--ease)}.ProjectsSection_section-link__m4OW9:hover{color:var(--color-brand)}.ProjectsSection_section-link__m4OW9:hover:after{width:100%}