.About_about__fFfvC{padding:0 var(--space-0);color:var(--text-primary);transition:color var(--trans-dur),background-color var(--trans-dur)}.About_container__k5jTA{display:flex;flex-direction:column;gap:var(--space-8);max-width:67rem;margin:var(--space-0) auto;padding:var(--space-29) var(--space-6)}@media (min-width:640px){.About_container__k5jTA{padding:var(--space-36) var(--space-18)}}.About_container__k5jTA h2{font-size:var(--font-size-3xl);color:var(--text-primary)}.About_container__k5jTA p{font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--text-primary)}.About_container__k5jTA a{display:block;margin:var(--space-0) auto;padding:var(--space-3-5) var(--space-6);background-color:transparent;border:3px solid var(--color-brand);color:var(--color-brand);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);letter-spacing:.025em;border-radius:2rem;transition:all .25s ease-out;width:-moz-fit-content;width:fit-content}.About_container__k5jTA a:hover{background-color:var(--color-brand);color:var(--text-on-brand)}body.dark .About_container__k5jTA a:hover,html.dark-init .About_container__k5jTA a:hover{color:#444}.About_container__k5jTA a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.Modal_overlay__zu8jP{position:fixed;display:flex;justify-content:center;align-items:center;z-index:10000;width:100vw;height:100vh;top:var(--space-0);left:var(--space-0);overflow:auto;background-color:var(--overlay-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.Modal_dialog__u_uN6{position:relative;z-index:10001;display:flex;flex-direction:column;gap:var(--space-6);top:var(--space-5);background-color:var(--modal-surface);color:var(--text-primary);border-radius:28px;max-width:800px;width:100%;min-height:400px;margin:auto var(--space-6);padding:var(--space-18) var(--space-8) var(--space-14) var(--space-8);box-shadow:0 2px 20px 2px var(--color-black-shadow-15)}@media (min-width:800px){.Modal_dialog__u_uN6{padding:var(--space-16)}}.Modal_heading__04mbW{font-size:var(--font-size-28);color:var(--text-primary)}.Modal_dialogHeaderColumn__pQhY2{display:flex;flex-direction:column;gap:var(--space-4)}.Modal_closeButton__T9Wem{position:absolute;top:var(--space-8);right:var(--space-8);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#444;border-radius:50%;cursor:pointer;transition:background-color .4s ease-out,transform .4s ease;transform:rotate(45deg);border:none}.Modal_closeButton__T9Wem:hover{background-color:#707070;transform:rotate(135deg)}.Modal_closeButton__T9Wem:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.Modal_closeButton__T9Wem svg{width:1.25rem;height:1.25rem;color:var(--color-white)}.Modal_dialogContent__C6SGq{display:flex;flex-direction:column;gap:var(--space-2)}.Modal_dialogContent__C6SGq p{font-size:var(--font-size-15);color:var(--text-primary)}.Modal_siteLink__kcd5J{display:flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:.25rem;color:var(--color-brand);font-size:var(--font-size-16);letter-spacing:.025em;margin-top:var(--space-2);transition:color var(--trans-dur)}.Modal_siteLink__kcd5J:hover{text-decoration:underline}.Modal_siteLink__kcd5J:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.Modal_siteLink__kcd5J svg{width:1rem;height:1rem}.CaseStudies_caseStudies__yVD6J{padding:var(--space-29) var(--space-0);display:flex;flex-direction:column;gap:var(--space-8);color:var(--text-primary);transition:color var(--trans-dur);background-color:var(--surface-elevated)}.CaseStudies_container__1FsHm{display:flex;flex-direction:column;gap:var(--space-8);max-width:60rem;margin:var(--space-0) auto;padding:var(--space-0) var(--space-6)}.CaseStudies_container__1FsHm h2{font-size:var(--font-size-3xl);color:var(--text-primary)}.CaseStudies_container__1FsHm p{font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--text-primary)}.CaseStudies_sliderContainer__R0cV1{display:flex;column-gap:var(--space-6);margin-top:var(--space-8);padding:var(--space-0) var(--space-6);scroll-padding-block-end:1.5rem;scroll-padding-block-start:1.5rem;overflow:hidden;scroll-behavior:smooth}@media (min-width:1200px){.CaseStudies_sliderContainer__R0cV1{column-gap:var(--space-8);padding:var(--space-0) calc((100% - 70rem) / 2) var(--space-0) calc((100% - 70rem) / 2);scroll-padding-block-end:calc((100% - 70rem) / 2);scroll-padding-block-start:calc((100% - 70rem) / 2)}}.CaseStudies_sliderItem__z_qUU{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;aspect-ratio:1680/1024;background-color:var(--slider-track);border-radius:28px;border:4px solid var(--color-dot-pattern);overflow:hidden}.CaseStudies_sliderButtons__XBJwE{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-0) var(--space-6);width:100%;margin:var(--space-0) auto}@media (min-width:800px){.CaseStudies_sliderButtons__XBJwE{gap:var(--space-4)}}@media (min-width:1200px){.CaseStudies_sliderButtons__XBJwE{padding:var(--space-0) calc((100vw - 70rem - 104px) / 2) var(--space-0) calc((100vw - 70rem - 104px) / 2);transition:padding .4s ease-in-out}.CaseStudies_sliderButtons__XBJwE.CaseStudies_navDrawerOpen__j1_Un{padding:var(--space-0) calc((100vw - 70rem - 240px) / 2) var(--space-0) calc((100vw - 70rem - 240px) / 2)}}.CaseStudies_sliderButton__amhmx{border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:var(--slider-btn);transition:background-color .4s ease-out;color:var(--text-primary);border:none}@media (min-width:800px){.CaseStudies_sliderButton__amhmx{width:3rem;height:3rem}}.CaseStudies_sliderButton__amhmx:hover{background-color:var(--slider-btn-hover)}.CaseStudies_sliderButton__amhmx:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.CaseStudies_sliderButton__amhmx:disabled{background-color:var(--slider-btn-disabled);cursor:not-allowed}.CaseStudies_viewDetailsButton__8SfNp{position:absolute;display:flex;align-items:center;justify-content:center;right:var(--space-3);bottom:var(--space-3);width:2rem;height:2rem;background-color:#444;border-radius:50%;cursor:pointer;transition:background-color .4s ease-out,transform .4s ease;border:none;z-index:1}@media (min-width:800px){.CaseStudies_viewDetailsButton__8SfNp{right:var(--space-5);bottom:var(--space-5)}}.CaseStudies_viewDetailsButton__8SfNp:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.CaseStudies_viewDetailsButton__8SfNp:hover{background-color:#707070;transform:rotate(180deg)}.CaseStudies_viewDetailsButton__8SfNp svg{width:20px;height:20px;color:var(--color-white)}.Contact_contact__fU08Y{background-color:var(--surface-elevated);color:var(--text-primary);transition:color var(--trans-dur),background-color var(--trans-dur)}.Contact_container__W7WJL{display:flex;flex-direction:column;gap:var(--space-8);max-width:60rem;margin:var(--space-0) auto;padding:var(--space-29) var(--space-6)}.Contact_container__W7WJL h2{font-size:var(--font-size-3xl);color:var(--text-primary)}.Contact_container__W7WJL p{font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--text-primary)}.Contact_contactForm__lMX68{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.Contact_formField__HEkWA{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.Contact_formField__HEkWA input,.Contact_formField__HEkWA select,.Contact_formField__HEkWA textarea{width:100%;padding:var(--space-3) var(--space-4);font:inherit;color:var(--text-primary);background-color:var(--input-bg);border:3px solid var(--input-border);border-radius:2.5rem}.Contact_formFieldLabel__C8bvp{color:var(--text-primary);font-weight:var(--font-weight-medium)}.Contact_formField__HEkWA input:focus-visible,.Contact_formField__HEkWA select:focus-visible,.Contact_formField__HEkWA textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.Contact_formField__HEkWA select option{color:var(--text-primary);background-color:var(--input-bg)}.Contact_formField__HEkWA select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:20px}body.dark .Contact_formField__HEkWA select,html.dark-init .Contact_formField__HEkWA select{background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="%23f1f1f1"/></svg>')}.Contact_formField__HEkWA textarea{resize:none;min-height:9rem;border-radius:1rem}.Contact_contactForm__lMX68 button{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--space-3-5) var(--space-6);background-color:var(--color-white);border:3px solid var(--color-brand);color:var(--color-brand);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);letter-spacing:.025em;border-radius:2rem;transition:all .25s ease-out;cursor:pointer}.Contact_contactForm__lMX68 button:hover{background-color:var(--color-brand);color:var(--text-on-brand)}body.dark .Contact_contactForm__lMX68 button,html.dark-init .Contact_contactForm__lMX68 button{background-color:var(--surface-elevated)}body.dark .Contact_contactForm__lMX68 button:hover,html.dark-init .Contact_contactForm__lMX68 button:hover{background-color:var(--color-white);color:#444}.Contact_contactForm__lMX68 button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.Contact_contactForm__lMX68 button:disabled{opacity:.7;cursor:not-allowed}.Contact_errorText__vyc4m{margin:0;color:var(--text-error);font-size:var(--font-size-sm)}.Contact_successText__4qRMT{margin:0;color:var(--text-success);font-size:var(--font-size-sm)}.Typewriter_typewriteContainer__JHv95{display:flex;align-items:center;gap:var(--space-3)}.Typewriter_start__4ZEQe{color:var(--text-muted);transition:color var(--trans-dur);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}@media (min-width:640px){.Typewriter_start__4ZEQe{font-size:var(--font-size-3xl)}}.Typewriter_typewrite__KxrG8{font-size:var(--font-size-lg);color:var(--text-primary);margin:var(--space-0);font-family:var(--font-family-sans);font-weight:var(--font-weight-regular);transition:color var(--trans-dur)}@media (min-width:640px){.Typewriter_typewrite__KxrG8{font-size:var(--font-size-xl)}}.Intro_intro__nJMyb{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;position:relative;overflow:hidden;color:var(--text-primary);transition:color var(--trans-dur);background-color:var(--surface-elevated)}.Intro_container__ZNdoB{z-index:10;width:calc(100% - 3rem);margin:var(--space-0) var(--space-6);background-color:var(--surface-page);border:4px solid var(--color-dot-pattern);border-radius:28px;padding:var(--space-6) var(--space-6) var(--space-8) var(--space-6)}@media (min-width:55rem){.Intro_container__ZNdoB{width:52.5rem;padding:var(--space-10) var(--space-10)}}.Intro_container__ZNdoB h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);color:var(--text-primary)}.Technical_technical__Z2uYq{padding:0 var(--space-0);color:var(--text-primary);transition:color var(--trans-dur),background-color var(--trans-dur)}.Technical_container__1khyU h2{font-size:var(--font-size-3xl);color:var(--text-primary)}.Technical_container__1khyU p{font-size:var(--font-size-md);line-height:var(--line-height-base);margin-bottom:var(--space-4);color:var(--text-primary)}.Technical_container__1khyU{display:flex;flex-direction:column;gap:var(--space-8);max-width:67rem;margin:var(--space-0) auto;padding:var(--space-29) var(--space-6)}@media (min-width:640px){.Technical_container__1khyU{padding:var(--space-36) var(--space-18)}}.Technical_grid__KoOZn{display:flex;column-gap:var(--space-8);justify-content:center}.Technical_grid__KoOZn img,.Technical_grid__KoOZn svg{max-width:45px;height:45px;flex-shrink:1}.Technical_html__mHYc6,.Technical_nodejs__I1Jm4,.Technical_python__O0dZq,.Technical_python__O0dZq path,.Technical_react__kqsup,.Technical_sass__smXaK,.Technical_typescript__uhmnh{color:var(--text-muted);transition:color .5s ease,transform .5s ease;transform:scale(1)}.Technical_python__O0dZq{max-width:44px;position:relative}@media (min-width:640px){.Technical_python__O0dZq{max-width:50px}}.Technical_typescript__uhmnh:hover{color:var(--color-tech-typescript)}.Technical_nodejs__I1Jm4:hover{color:var(--color-tech-node)}.Technical_react__kqsup:hover{color:var(--color-tech-react)}.Technical_python__O0dZq:hover .Technical_pythonRight__yEtEz{color:var(--color-tech-python-blue)}.Technical_python__O0dZq:hover .Technical_pythonLeft__ldTnI{color:var(--color-tech-python-yellow)}.Technical_sass__smXaK:hover{color:var(--color-tech-sass)}.Technical_html__mHYc6:hover{color:var(--color-tech-html)}.page_main__F9YOK{position:relative;transition:all .125s ease-in-out .125s}@media (min-width:1100px){.page_main__F9YOK{max-width:calc(100% - 104px);left:104px}.page_main__F9YOK.page_navDrawerOpen__a_lT1{left:240px;max-width:calc(100% - 240px)}}