.projectModal_dialog__iZq_a{position:fixed;inset:0;margin:auto;width:min(62.5rem,calc(100vw - 2rem));max-width:none;max-height:calc(100svh - 2rem);padding:3rem 3.5rem;overflow:hidden;border:0;border-radius:.5rem;color:#fff;background:rgba(0,0,0,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font:inherit;transform-origin:center}.projectModal_dialog__iZq_a[open]{animation:projectModal_expand___9vMU .42s cubic-bezier(.22,1,.36,1) both}.projectModal_dialog__iZq_a::backdrop{background:transparent}.projectModal_content__Kz0Kg{max-height:calc(100svh - 8rem);overflow-y:auto}.projectModal_project__H0ryz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem;animation:projectModal_reveal__Nnilx .3s ease .15s both}.projectModal_visual__YxKXs{position:relative;width:100%;aspect-ratio:1}.projectModal_visual__YxKXs>div>div:last-child{color:hsla(0,0%,100%,.75)}.projectModal_copy__LQ_9f{font-size:.85rem;line-height:1.7}.projectModal_copy__LQ_9f h2{font-size:1.35rem;line-height:1.4;margin-bottom:1rem}.projectModal_copy__LQ_9f h3{font-size:.8rem;margin-top:1.75rem;margin-bottom:.5rem;font-weight:600}.projectModal_count__Cq4fO{font-size:.7rem;opacity:.6;margin-bottom:.75rem}.projectModal_stack__HFKo2{margin-top:1rem;opacity:.8}.projectModal_arrow__L_0fp,.projectModal_close__LcWVL{position:absolute;display:grid;place-items:center;width:44px;height:44px;background:transparent;color:#fff;border:0;cursor:pointer;opacity:.7;transition:opacity .18s ease}.projectModal_arrow__L_0fp:hover,.projectModal_close__LcWVL:hover{opacity:1}.projectModal_arrow__L_0fp:focus-visible,.projectModal_close__LcWVL:focus-visible{outline:1px solid #fff;outline-offset:-5px;border-radius:4px;opacity:1}.projectModal_arrow__L_0fp svg,.projectModal_close__LcWVL svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1}.projectModal_close__LcWVL{top:.5rem;right:.5rem}.projectModal_arrow__L_0fp{top:50%;transform:translateY(-50%)}.projectModal_previous__DPHYu{left:.3rem}.projectModal_next__eEqUl{right:.3rem}@keyframes projectModal_expand___9vMU{0%{transform:scaleX(.05) scaleY(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes projectModal_reveal__Nnilx{0%{opacity:0}to{opacity:1}}@media (max-width:767px){.projectModal_dialog__iZq_a{padding:3rem 2.75rem 1.5rem}.projectModal_content__Kz0Kg{max-height:calc(100svh - 6.5rem)}.projectModal_project__H0ryz{grid-template-columns:1fr;gap:1rem}.projectModal_visual__YxKXs{max-width:20rem;margin:auto}.projectModal_copy__LQ_9f h2{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){.projectModal_dialog__iZq_a[open],.projectModal_project__H0ryz{animation:none}.projectModal_arrow__L_0fp,.projectModal_close__LcWVL{transition:none}}.projects_layout__Rzp9e{display:flex;width:100%;max-width:160rem;margin-inline:auto}.projects_content__DZivq{flex:1;min-width:0;padding:2rem 1.5rem}.projects_grid__YllP1{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem 2rem}.projects_visual__sRI_G{position:relative;width:min(20rem,100%);aspect-ratio:1;margin-inline:auto;overflow:hidden;border-radius:.5rem}@media (min-width:640px){.projects_grid__YllP1{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1200px){.projects_content__DZivq{padding-left:6rem}.projects_grid__YllP1{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes projects_fadeIn__w9P6g{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects_projectContainer__nQwDk{opacity:0;position:relative;z-index:0;background-color:transparent;border-radius:.5rem;overflow:hidden;cursor:pointer}.projects_projectContainer__nQwDk.projects_cardVisible__awVAu{animation:projects_fadeIn__w9P6g .65s ease-out both}@media (min-width:640px) and (max-width:1199px){.projects_projectContainer__nQwDk.projects_cardVisible__awVAu:nth-child(2n){animation-delay:.22s}}@media (min-width:1200px){.projects_projectContainer__nQwDk.projects_cardVisible__awVAu:nth-child(3n+2){animation-delay:.15s}.projects_projectContainer__nQwDk.projects_cardVisible__awVAu:nth-child(3n){animation-delay:.3s}}.projects_projectContainer__nQwDk:focus-within{opacity:1;animation:none}.projects_projectTitle__Te3PQ{width:min(20rem,100%);margin-top:.75rem;margin-inline:auto;font-size:.9rem;font-weight:500;line-height:1.4;color:#333;text-align:center}.projects_sectionLabel__8_4WP{color:#536348;font-size:.5625rem;font-weight:400;letter-spacing:.15em}@media (prefers-reduced-motion:reduce){.projects_projectContainer__nQwDk,.projects_projectContainer__nQwDk.projects_cardVisible__awVAu{opacity:1;animation:none}}.projects_projectImage__L3rhb{transition:transform .3s ease-out}.projects_projectContainer__nQwDk:hover .projects_projectImage__L3rhb{transform:translateY(-2%)}.projects_hoverAnimate__6hsNU{animation:projects_hoverAnimation__cFStx 2s ease-in-out infinite alternate}.projects_sidebar__S1YIU{position:sticky;align-self:flex-start;flex-shrink:0;height:auto;width:12.5rem;top:8.75rem;right:0;background-color:#f3f4f6;overflow-x:hidden;transition:all .3s;background-color:hsla(0,0%,100%,.1)}.projects_sidebar__S1YIU ul{list-style:none;padding:0;margin:0;font-size:.8rem}.projects_sidebar__S1YIU li a{display:block;padding:10px;text-decoration:none;color:#536348;font-size:.61875rem;letter-spacing:.15em;transition:background-color .5s ease;margin:0}.projects_sidebar__S1YIU li a:hover{background-color:rgba(0,0,0,.2);color:#536348}.projects_sidebarLabel__ZDjMY{display:inline-block;min-height:1.5em;white-space:nowrap}.projects_activeIcon__zJKK1{display:inline-block;width:8px;height:8px;background-color:#000;margin-left:.2em;vertical-align:-.05em;animation:projects_blinkCursor___XFZq .9s step-end infinite}@keyframes projects_blinkCursor___XFZq{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.projects_activeIcon__zJKK1{animation:none}}@media (max-width:1199px){.projects_sidebar__S1YIU{display:none}}.projects_hoverDetails__2vKE3{max-height:calc(100% - 1rem);overflow-y:auto}@media (max-width:1599px){.projects_hoverDetails__2vKE3{width:75%}}@media (hover:none),(pointer:coarse){.projects_hoverDetails__2vKE3{display:none}}.projects_projectContainer__nQwDk:focus-visible{outline:1px solid #536348;outline-offset:4px}.timeline_timeline__GWCKK{color:#333;font:inherit}.timeline_heading__eMtr_{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.5rem;font-size:.9rem}.timeline_heading__eMtr_ h3{color:#536348;font-size:.5625rem;font-weight:400;letter-spacing:.15em}.timeline_heading__eMtr_>span{color:#71717a;font-size:.75rem;white-space:nowrap}.timeline_scroller__8mPPk{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#aaa5 transparent;padding-bottom:1rem}.timeline_axis__9Pe3q{display:grid;grid-template-columns:repeat(9,1fr);margin-left:17.5rem;min-width:45rem;padding-bottom:.75rem;border-bottom:1px solid rgba(51,51,51,.2);color:#71717a;font-size:.7rem}.timeline_track__3jUa0{min-width:62.5rem;list-style:none;margin:0;padding:0}.timeline_stop__OEukE{width:100%;display:grid;grid-template-columns:17.5rem 1fr;min-height:4rem;padding:0;text-align:left;font:inherit;background:transparent;border:0;cursor:pointer;color:#646469;transition:color .2s ease}.timeline_stop__OEukE:focus-visible{outline:1px dashed #555;outline-offset:-2px;border-radius:2px}.timeline_label__Ynf47{display:flex;flex-direction:column;justify-content:center;padding:.5rem 1.5rem .5rem 0}.timeline_role__he7PR{font-size:.8rem;line-height:1.5}.timeline_organization__MWeIH{font-size:.68rem;line-height:1.5}.timeline_rail__z7s0_{position:relative;background:repeating-linear-gradient(90deg,rgb(51 51 51/7%) 0 1px,transparent 1px calc(100% / 9))}.timeline_range__sDOZ5{position:absolute;top:50%;height:3px;border-radius:2px;background:#9a999e;transition:background .22s ease,box-shadow .22s ease}.timeline_range__sDOZ5:after,.timeline_range__sDOZ5:before{content:"";position:absolute;top:-2px;width:1px;height:7px;background:currentColor}.timeline_range__sDOZ5:before{left:0}.timeline_range__sDOZ5:after{right:0}.timeline_stop__OEukE[data-active=true]{color:#242429}.timeline_stop__OEukE[data-active=true] .timeline_range__sDOZ5{background:#333;box-shadow:0 0 0 3px rgb(51 51 51/6%)}.timeline_detail__dHRb0{border-top:1px solid rgba(51,51,51,.12);margin-top:1rem;padding-top:1.5rem;min-height:9rem;font-size:.8rem;line-height:1.8;color:#646469}.timeline_detailTitle__5Vr2Z{color:#333;margin-bottom:.3rem}.timeline_detailDates__ftbql{font-size:.7rem;margin-top:.6rem}.timeline_detailContent__DpNvI{animation:timeline_reveal__iy556 .2s ease-out}@keyframes timeline_reveal__iy556{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px) and (max-width:1199px){.timeline_axis__9Pe3q{margin-left:14rem;min-width:30rem}.timeline_track__3jUa0{min-width:44rem}.timeline_stop__OEukE{grid-template-columns:14rem 1fr}}@media (max-width:767px){.timeline_heading__eMtr_{margin-bottom:1.5rem}.timeline_axis__9Pe3q{margin-left:0;min-width:0;font-size:.6rem}.timeline_track__3jUa0{min-width:0}.timeline_stop__OEukE{grid-template-columns:minmax(0,1fr);padding-block:.5rem}.timeline_label__Ynf47{padding:.25rem 0}.timeline_role__he7PR{font-size:.85rem}.timeline_organization__MWeIH{font-size:.75rem}.timeline_rail__z7s0_{height:1.5rem}.timeline_detail__dHRb0{min-height:12rem;font-size:.85rem}.timeline_detailDates__ftbql{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.timeline_range__sDOZ5,.timeline_stop__OEukE{transition:none}.timeline_detailContent__DpNvI{animation:none}}.experienceCharts_charts__xikAB{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:clamp(2rem,3vw,3rem);margin-bottom:clamp(5rem,10vw,10rem)}.experienceCharts_chart__sZQka{min-width:0;opacity:0;transform:translateY(20px);color:#646469}.experienceCharts_chart__sZQka[data-visible=true]{animation:experienceCharts_fadeIn__O_tf_ .65s ease-out var(--delay) both}.experienceCharts_heading__Rgs7r{margin-bottom:1.5rem;font-size:.5625rem;color:#536348;letter-spacing:.15em;text-transform:uppercase;font-weight:400}.experienceCharts_svg__sQxfu{display:block;width:100%;max-width:24rem;margin-inline:auto;overflow:visible}.experienceCharts_ring__wGmvJ{fill:none;stroke:rgba(51,51,51,.12);stroke-width:.75}.experienceCharts_axis__vb5G8{stroke:rgba(51,51,51,.15);stroke-width:.75}.experienceCharts_shape__Rv64x{fill:rgba(83,99,72,.45);stroke:none;transform-origin:180px 139px}.experienceCharts_chart__sZQka[data-visible=true] .experienceCharts_shape__Rv64x{animation:experienceCharts_build__7S3zf .9s cubic-bezier(.22,1,.36,1) calc(var(--delay) + .15s) both}.experienceCharts_metric__UJz5E{cursor:pointer;outline:none}.experienceCharts_dot__2Lgq_{fill:#536348}.experienceCharts_highlight__usig8{fill:rgba(83,99,72,.2);opacity:0;transition:opacity .18s ease}.experienceCharts_metric__UJz5E:focus-visible .experienceCharts_highlight__usig8,.experienceCharts_metric__UJz5E[data-active=true] .experienceCharts_highlight__usig8{opacity:1}.experienceCharts_metric__UJz5E:focus-visible rect{stroke:#536348;stroke-width:.7;stroke-dasharray:2 2}.experienceCharts_label__ieN_C{font:inherit;font-size:10px;fill:#646469}.experienceCharts_value__ysyew{font:inherit;font-size:10px;fill:#333;pointer-events:none}.experienceCharts_metric__UJz5E[data-active=true] .experienceCharts_label__ieN_C{fill:#333}@keyframes experienceCharts_fadeIn__O_tf_{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes experienceCharts_build__7S3zf{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width:899px){.experienceCharts_charts__xikAB{grid-template-columns:1fr;gap:2.5rem}.experienceCharts_chart__sZQka{width:100%;max-width:26rem;margin-inline:auto}.experienceCharts_chart__sZQka[data-visible=true]{animation-delay:0ms}.experienceCharts_chart__sZQka[data-visible=true] .experienceCharts_shape__Rv64x{animation-delay:.15s}}@media (prefers-reduced-motion:reduce){.experienceCharts_chart__sZQka,.experienceCharts_chart__sZQka[data-visible=true]{opacity:1;transform:none;animation:none}.experienceCharts_chart__sZQka[data-visible=true] .experienceCharts_shape__Rv64x{animation:none}.experienceCharts_highlight__usig8{transition:none}}.about_experienceSection__uMuRz{width:100%;max-width:80rem;margin-inline:auto;padding:6rem 2rem 2rem}@media (max-width:767px){.about_experienceSection__uMuRz{padding:5rem 1.5rem 1rem}.about_profile__UkV1I{margin-block:3rem}.about_profile__UkV1I a{min-height:44px;font-size:.85rem}.about_profile__UkV1I a span{font-size:.85rem}.about_profile__UkV1I p{overflow-wrap:break-word}}.about_profile__UkV1I svg{width:1.08rem;height:1.08rem;flex-shrink:0}.about_animate-on-scroll__kiD81{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.about_fadeIn__Xx_eB{opacity:1;transform:translateY(0)}.about_intersectionText__ZADgL{font-size:1.5rem;text-align:center;margin-top:2rem;position:relative;overflow:hidden;white-space:nowrap}.about_animatedText__UgWLN{display:inline-block;position:relative;opacity:0;transition:opacity 2s ease-in-out}.about_animatedText__UgWLN.about_fadeIn__Xx_eB{opacity:1}.about_lookingForwardText__Jw7qk{text-align:center;margin-top:2rem;font-size:1.2rem;color:#4a4a4a}.aboutTyping_line__KIoWI{display:block;min-height:1.5em;margin-top:.75rem}.aboutTyping_caret__71ZAv{display:inline-block;width:.6em;height:1em;margin-left:.1em;vertical-align:-.1em;font-weight:400;background:currentColor;color:currentColor;animation:aboutTyping_blink___iEbu .9s step-end infinite}@keyframes aboutTyping_blink___iEbu{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.aboutTyping_caret__71ZAv{display:none}}.portfolio_portfolio__ozRan{overflow-x:clip}.portfolio_section__DNRkE{min-height:100svh;scroll-margin-top:3.5rem}.portfolio_home__iT9Rj{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:6rem 1.5rem}.portfolio_home__iT9Rj:before{background:rgba(75,85,99,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portfolio_home__iT9Rj:after,.portfolio_home__iT9Rj:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(180deg,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent)}.portfolio_home__iT9Rj:after{background:radial-gradient(ellipse 360px 300px at var(--home-light-x,50%) var(--home-light-y,50%),rgba(255,254,245,.9) 0,rgba(255,244,220,.48) 30%,rgba(255,234,209,.12) 65%,transparent 100%),radial-gradient(ellipse 750px 600px at var(--home-light-x,50%) var(--home-light-y,50%),rgba(255,246,228,.36),hsla(34,13%,89%,.12) 45%,transparent 80%),radial-gradient(ellipse 850px 700px at var(--home-light-x,50%) var(--home-light-y,50%),transparent 0,rgb(61 73 94/5%) 30%,rgba(61,73,94,.17) 65%,rgba(47,59,80,.28) 100%);opacity:var(--light-active,0);transition:opacity .65s ease}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.portfolio_home__iT9Rj:after{display:none}}.portfolio_homeIntro__5sn6e{text-align:center;opacity:1;transition:opacity .45s ease}.portfolio_homeIntro__5sn6e[data-visible=false]{opacity:0}.portfolio_introLink__OoR39{display:block;color:inherit;text-decoration:none;cursor:pointer}.portfolio_introLink__OoR39:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:2px}.portfolio_scrollPrompt__r_xJ_{width:27ch;min-height:1.5em;margin-inline:auto;margin-top:.75rem;font-size:.875rem;font-weight:400;color:#5b616b}.portfolio_homeTitle__Hn2cP{width:24ch;margin:0;font-size:clamp(1rem,4.2vw,1.25rem);font-weight:700;line-height:1.5;color:#333}.portfolio_typedText__jQ3Lm{display:block;position:relative;width:0;white-space:nowrap;animation:portfolio_typeHeadline__8iCvJ 1.62s steps(24) .25s forwards}.portfolio_typedText__jQ3Lm>span{display:block;overflow:hidden}.portfolio_typedText__jQ3Lm:after{content:"";position:absolute;left:100%;margin-left:.1em;top:.15em;height:1.15em;width:.6em;background:currentColor;opacity:0;animation:portfolio_blinkCaret__5XH1a 405ms step-end .25s 4 forwards}.portfolio_scrollPrompt__r_xJ_ .portfolio_typedText__jQ3Lm{animation:portfolio_typeHeadline__8iCvJ 1.215s steps(27) 2.37s forwards}.portfolio_scrollPrompt__r_xJ_ .portfolio_typedText__jQ3Lm:after{animation:portfolio_blinkCaret__5XH1a .65s step-end 2.37s infinite}@keyframes portfolio_typeHeadline__8iCvJ{to{width:100%}}@keyframes portfolio_blinkCaret__5XH1a{0%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.portfolio_homeIntro__5sn6e{transition:none}.portfolio_scrollPrompt__r_xJ_ .portfolio_typedText__jQ3Lm,.portfolio_typedText__jQ3Lm{width:100%;animation:none}.portfolio_typedText__jQ3Lm:after{display:none}}