.ProjectsSection_projects__4omV5{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:1rem;list-style:none}.ProjectsSection_viewAllLink__VOHL_{display:flex;align-items:center;justify-content:center;gap:.25rem;width:-moz-fit-content;width:fit-content;margin:1.5rem auto 0;color:var(--secondary-color);font-weight:500;font-size:1.25rem;text-decoration:none;transition:transform .2s ease}.ProjectsSection_viewAllLink__VOHL_:hover{transform:scale(1.02);text-decoration:underline}.ProjectsSection_viewAllLink__VOHL_:focus-visible{outline:2px solid var(--secondary-color);outline-offset:3px}.ProjectsSection_viewAllArrow__nbMbZ{transition:transform .2s ease}.ProjectsSection_viewAllLink__VOHL_:hover .ProjectsSection_viewAllArrow__nbMbZ{transform:translateX(4px)}.DynamicIndex_index__TmhJK{display:flex;background-color:none;margin:0;padding:0;justify-content:space-around;width:50%;height:-moz-fit-content;height:fit-content;align-self:center}.DynamicIndex_index__TmhJK li{list-style-type:none;font-size:1rem;padding:1rem;cursor:pointer;height:auto;display:flex;align-items:center;justify-content:center}.DynamicIndex_index__TmhJK button{background:none;font-size:1.25rem;border:none;padding:0;cursor:pointer;outline:inherit;color:var(--shadow-color);transition:all .5s ease-in-out}.DynamicIndex_activeSection__qa0jK{color:var(--secondary-color)!important;font-weight:bolder;text-decoration:underline}.DynamicIndex_inactiveSection__ADKmt{color:var(--shadow-color);text-decoration:none}.DynamicIndex_notAnimated__gUdDD{opacity:0}.DynamicIndex_sectionAnimation__Q866s{animation:DynamicIndex_sectionAnimation__Q866s .6s ease-in-out}@keyframes DynamicIndex_sectionAnimation__Q866s{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (min-width:871px) and (max-width:1050px){.DynamicIndex_index__TmhJK{width:58%}.DynamicIndex_index__TmhJK li{padding:1rem .5rem}.DynamicIndex_index__TmhJK button{font-size:1rem}}@media (max-width:870px){.DynamicIndex_index__TmhJK{display:none}}.LanguageManager_managerContainer__sqdQz .LanguageManager_active__Zgh20{font-weight:800;text-decoration:underline;color:var(--secondary-color)}.LanguageManager_managerContainer__sqdQz a{padding:5px;text-decoration:none;color:var(--shadow-color)}.ThemeToggler_toggler__J0DN9{height:-moz-fit-content;height:fit-content;cursor:pointer}.Menu_menu__dGGWo{position:absolute;width:85%;height:95vh;left:50%;transform:translateX(-50%);border:1px solid var(--text-color);background-color:var(--background-color);color:var(--text-color)}.Menu_menu__dGGWo ul{list-style-type:none;margin:0;padding:0}.Menu_menu__dGGWo li{padding:1rem;width:-moz-fit-content;width:fit-content}.Menu_link__jJIRm{display:inline-block;padding:1rem;text-decoration:none;color:inherit}.Menu_navIcon__KXSFV{width:35px;height:30px;margin:24px;position:relative;cursor:pointer;display:inline-block;z-index:1;order:3}.Menu_navIcon__KXSFV span{background-color:var(--text-color);position:absolute;border-radius:2px;width:100%;height:4px;transition-duration:.5s}.Menu_navIcon__KXSFV span:first-child{top:0;left:0}.Menu_navIcon__KXSFV span:nth-child(2){top:13px;left:0;opacity:1}.Menu_navIcon__KXSFV span:nth-child(3){bottom:0;left:0}.Menu_navIcon__KXSFV:not(.Menu_open__KDEuL):hover span{transform:scaleY(1.5)}.Menu_navIcon__KXSFV.Menu_open__KDEuL span:first-child{transform:rotate(45deg);top:13px}.Menu_navIcon__KXSFV.Menu_open__KDEuL span:nth-child(2){opacity:0}.Menu_navIcon__KXSFV.Menu_open__KDEuL span:nth-child(3){transform:rotate(-45deg);top:13px}@media (min-width:870px){.Menu_navIcon__KXSFV{display:none}}.NavBar_logoContainer__a6RJ3,.NavBar_logo__r4itX{fill:var(--secondary-color);width:70px;height:70px}.NavBar_logoContainer__a6RJ3{display:flex;align-items:center;width:70px;height:70px;margin-left:2.5%}.NavBar_navBar__WAtSv{display:flex;position:fixed;justify-content:space-between;width:100%;height:var(--navbar-height);top:0;transition:background-color .3s ease,-webkit-backdrop-filter .3s ease;transition:background-color .3s ease,backdrop-filter .3s ease;transition:background-color .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.NavBar_scrolled__O49GD{background-color:var(--background-color);-webkit-backdrop-filter:none;backdrop-filter:none}.NavBar_styleContainer__qe_zm{display:flex;align-items:center;gap:1rem;margin-right:1rem}.NavBar_resumeLink__ivxXb{color:var(--background-color);background-color:var(--secondary-color);align-self:center;border-radius:10px;padding:.5rem;margin-left:-1rem;text-decoration:none}.NavBar_resumeLink__ivxXb:hover{text-decoration:underline;scale:1.02}.NavBar_resumeLink__ivxXb:active{color:var(--shadow-color);background-color:var(--primary-color)}@media (max-width:1050px){.NavBar_resumeLink__ivxXb{position:absolute;top:var(--navbar-height);right:1rem;padding:.3rem}}@media (max-width:870px){.NavBar_logo__r4itX{margin-top:1rem}.NavBar_logoContainer__a6RJ3{order:2}.NavBar_styleContainer__qe_zm{flex-direction:column-reverse;justify-content:center;margin-right:0;margin-left:.5rem;gap:0;order:1}.NavBar_resumeLink__ivxXb{display:none}}.Layout_layout__oM4MU{background-color:var(--background-color)}.Layout_layout__oM4MU:before{content:"";height:100vh;width:100vw;color:var(--background-color);position:fixed;z-index:-1;background:linear-gradient(currentcolor 1px,transparent 0) 0 0 /94px 90px,linear-gradient(90deg,currentcolor 1px,transparent 0) transparent;transition:all .5s linear 0s}.MediaPlaceholder_mediaPlaceholder__x9vc9{display:flex;align-items:center;justify-content:center;width:100%;background-color:var(--project-card-color);border:1px solid var(--thin-line-color);border-radius:12px;overflow:hidden}.MediaPlaceholder_label__aXdLQ{font-weight:500;font-size:.9rem;color:var(--shadow-color);text-align:center;padding:0 1rem}.MediaPlaceholder_media__cy0RH{width:100%;height:100%;object-fit:contain}.CaseStudyNav_caseStudyNav__5qtzf{position:-webkit-sticky;position:sticky;top:var(--navbar-height);z-index:90;background-color:var(--background-color);border-bottom:1px solid var(--thin-line-color);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}.CaseStudyNav_caseStudyNav__5qtzf.CaseStudyNav_visible__oJkgi{opacity:1;visibility:visible;transform:translateY(0)}.CaseStudyNav_list__LxCGa{display:flex;justify-content:center;gap:1.5rem;margin:0;padding:.75rem 1rem;list-style:none;flex-wrap:wrap}.CaseStudyNav_list__LxCGa a{color:var(--shadow-color);text-decoration:none;font-size:.9rem;font-weight:500}.CaseStudyNav_active__Cs70n{color:var(--secondary-color)!important;font-weight:bolder;text-decoration:underline}.CaseStudyNav_inactive__dH_FN{text-decoration:none}.CaseStudyNav_list__LxCGa a:focus-visible{outline:2px solid var(--secondary-color);outline-offset:3px}@media (max-width:870px){.CaseStudyNav_caseStudyNav__5qtzf{display:none}}.XnapperCaseStudy_header__PR4eq{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem;max-width:1400px;margin:var(--navbar-height) auto 0;padding:1rem 1.25rem 2rem}.XnapperCaseStudy_headerBody__MBVgE{max-width:65ch}.XnapperCaseStudy_product__GR4ZQ{font-size:2.75rem;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 .75rem;color:var(--text-color)}.XnapperCaseStudy_metadata__INdXi{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0 0 1rem;padding:0;font-size:.9rem;font-weight:500;color:var(--text-color)}.XnapperCaseStudy_summary__OQEbY{font-size:1rem;font-weight:300;line-height:1.6;max-width:65ch;margin:0;color:var(--text-color)}.XnapperCaseStudy_builtReference__7X_O6 a,.XnapperCaseStudy_productLink__Vwefr{color:var(--secondary-color);font-size:.9rem;font-weight:500;text-decoration:underline;text-underline-offset:.2em}.XnapperCaseStudy_productLink__Vwefr{display:inline-flex;margin-top:1.25rem}.XnapperCaseStudy_builtReference__7X_O6 a:focus-visible,.XnapperCaseStudy_productLink__Vwefr:focus-visible{outline:2px solid var(--secondary-color);outline-offset:3px}.XnapperCaseStudy_headerMedia__pDY64{width:100%;max-width:300px}@media (min-width:810px){.XnapperCaseStudy_header__PR4eq{grid-template-columns:minmax(240px,320px) minmax(0,680px);column-gap:clamp(3rem,8vw,9rem);align-items:center;padding-top:3rem;padding-bottom:3rem}.XnapperCaseStudy_headerMedia__pDY64{max-width:320px}}.XnapperCaseStudy_built__8Dc41,.XnapperCaseStudy_challenge__gA_BJ,.XnapperCaseStudy_context__S6AAW,.XnapperCaseStudy_decisions__FqxX6,.XnapperCaseStudy_outcome__fLsge,.XnapperCaseStudy_scope__AglEE,.XnapperCaseStudy_stack__YxHt2{max-width:1400px;margin:0 auto;padding:3rem 1.25rem}.XnapperCaseStudy_context__S6AAW{display:grid;grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem;border-top:1px solid var(--thin-line-color);padding-top:2.5rem;padding-bottom:0}.XnapperCaseStudy_context__S6AAW h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0}.XnapperCaseStudy_contextCopy__q_Y6r{max-width:65ch}.XnapperCaseStudy_contextParagraph__jd6Zv{font-size:1rem;font-weight:300;line-height:1.6;max-width:65ch;color:var(--text-color);margin:0 0 1rem}.XnapperCaseStudy_contextParagraph__jd6Zv:last-child{margin-bottom:0}.XnapperCaseStudy_scope__AglEE{padding-top:1.5rem}@media (min-width:810px){.XnapperCaseStudy_context__S6AAW{grid-template-columns:minmax(180px,320px) minmax(0,680px);column-gap:clamp(3rem,8vw,9rem);padding-top:3rem;padding-bottom:0}}.XnapperCaseStudy_scopeGrid__RZQqN{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem}.XnapperCaseStudy_scopeCard__OCNaQ{background-color:var(--project-card-color);border:1px solid var(--thin-line-color);border-radius:12px;padding:1.25rem 1.5rem}.XnapperCaseStudy_scopeCard__OCNaQ h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .5rem;color:var(--text-color)}.XnapperCaseStudy_scopeCard__OCNaQ p{font-size:1rem;font-weight:300;line-height:1.6;color:var(--text-color);margin:0}.XnapperCaseStudy_diagram__HNyoU{display:flex;flex-direction:column;align-items:center;margin-top:3rem}.XnapperCaseStudy_diagramStep__lPm1X{background-color:var(--project-card-color);border:1px solid var(--thin-line-color);border-radius:10px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:500;color:var(--text-color);text-align:center;position:relative}.XnapperCaseStudy_diagramStep__lPm1X:not(:last-child){margin-bottom:2.25rem}.XnapperCaseStudy_diagramStep__lPm1X:not(:last-child):after{content:"↓";position:absolute;left:50%;bottom:-1.85rem;transform:translateX(-50%);font-size:1.15rem;color:var(--text-color);opacity:.45}.XnapperCaseStudy_builtIntro__KvlMh{font-size:1rem;font-weight:300;line-height:1.6;color:var(--text-color);opacity:.85;margin:0 0 .85rem}.XnapperCaseStudy_builtReference__7X_O6{max-width:65ch;margin:-.5rem 0 1.5rem;color:var(--text-color);font-size:.95rem;font-weight:300;line-height:1.6}.XnapperCaseStudy_challenge__gA_BJ{padding-top:0;padding-bottom:1.5rem}.XnapperCaseStudy_challengeStatement__IxAl_{font-size:1.15rem;font-weight:600;line-height:1.5;letter-spacing:-.01em;max-width:55ch;color:var(--text-color);margin:0;border-left:3px solid var(--secondary-color);padding-left:1.25rem}.XnapperCaseStudy_builtGrid__1WCgW{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.XnapperCaseStudy_builtCard__IlAJu{background-color:var(--project-card-color);border:1px solid var(--thin-line-color);border-radius:12px;padding:1.25rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.XnapperCaseStudy_builtCard__IlAJu:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.XnapperCaseStudy_builtCard__IlAJu h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .75rem;color:var(--text-color)}.XnapperCaseStudy_builtCard__IlAJu ul{margin:0;padding-left:1.1rem;font-size:1rem;font-weight:300;line-height:1.6;color:var(--text-color)}.XnapperCaseStudy_builtCard__IlAJu li{margin-bottom:.35rem}.XnapperCaseStudy_builtCard__IlAJu li:last-child{margin-bottom:0}.XnapperCaseStudy_decisionsGrid__iWqTe{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:2rem;gap:2rem}@media (max-width:768px){.XnapperCaseStudy_decisionsGrid__iWqTe{grid-template-columns:1fr}}.XnapperCaseStudy_decisionCard__EaXy1{background-color:var(--project-card-color);border:1px solid var(--thin-line-color);border-radius:15px;padding:2rem;transition:transform .2s ease,box-shadow .2s ease}.XnapperCaseStudy_decisionCard__EaXy1:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12)}.XnapperCaseStudy_decisionCard__EaXy1 h3{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem;color:var(--text-color)}.XnapperCaseStudy_decisionProblem__0qC_D{font-size:1rem;font-weight:500;line-height:1.6;color:var(--text-color);margin:0 0 .75rem;max-width:70ch}.XnapperCaseStudy_decisionApproach__pXC5O,.XnapperCaseStudy_outcomeList__Vuy5R{font-size:1rem;font-weight:300;line-height:1.6;color:var(--text-color);margin:0;max-width:70ch}.XnapperCaseStudy_outcomeList__Vuy5R{padding-left:1.25rem}.XnapperCaseStudy_outcomeList__Vuy5R li{margin-bottom:.6rem}.XnapperCaseStudy_outcomeList__Vuy5R li:last-child{margin-bottom:0}.XnapperCaseStudy_stackList__O8w_h{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}.XnapperCaseStudy_stackList__O8w_h li{font-size:.9rem;font-weight:500;padding:.35rem .85rem;border-radius:10px;border:1px solid var(--thin-line-color);color:var(--text-color)}.XnapperCaseStudy_cta__Ha43v{display:flex;flex-wrap:wrap;gap:1rem;max-width:1400px;margin:0 auto;padding:1rem 1.25rem 4rem}.XnapperCaseStudy_ctaLink__Jpefc{display:inline-flex;align-items:center;font-size:.9rem;font-weight:500;padding:.65rem 1.25rem;border-radius:10px;background-color:var(--secondary-color);color:var(--primary-color);text-decoration:none;transition:transform .2s ease}.XnapperCaseStudy_ctaLink__Jpefc:hover{transform:scale(1.02);text-decoration:underline}.XnapperCaseStudy_ctaLink__Jpefc:focus-visible{outline:2px solid var(--secondary-color);outline-offset:3px}.XnapperCaseStudy_ctaSecondary__pYWb4{display:inline-flex;align-items:center;font-size:.9rem;font-weight:500;padding:.65rem 0;color:var(--text-color);text-decoration:underline;transition:opacity .2s ease}.XnapperCaseStudy_ctaSecondary__pYWb4:hover{opacity:.75}.XnapperCaseStudy_ctaSecondary__pYWb4:focus-visible{outline:2px solid var(--secondary-color);outline-offset:3px}