@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0fec32c78403d184-s.04k1kxag3vb-a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9d30e1ac529a223a-s.13-z0d191nlw2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9056bf441d45cedc-s.0m41chdbo3wya.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e6c3b2b7c3a61f79-s.0p6j_jmp08.12.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e557826f452dbd06-s.0ef8f_5ne8d7r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1497d94d4ac5c969-s.098tawn2q_~b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e4505858a30c79c2-s.p.14m88r~v.m-cq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0fec32c78403d184-s.04k1kxag3vb-a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9d30e1ac529a223a-s.13-z0d191nlw2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9056bf441d45cedc-s.0m41chdbo3wya.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e6c3b2b7c3a61f79-s.0p6j_jmp08.12.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e557826f452dbd06-s.0ef8f_5ne8d7r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1497d94d4ac5c969-s.098tawn2q_~b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e4505858a30c79c2-s.p.14m88r~v.m-cq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0fec32c78403d184-s.04k1kxag3vb-a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9d30e1ac529a223a-s.13-z0d191nlw2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9056bf441d45cedc-s.0m41chdbo3wya.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e6c3b2b7c3a61f79-s.0p6j_jmp08.12.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e557826f452dbd06-s.0ef8f_5ne8d7r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1497d94d4ac5c969-s.098tawn2q_~b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e4505858a30c79c2-s.p.14m88r~v.m-cq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0fec32c78403d184-s.04k1kxag3vb-a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9d30e1ac529a223a-s.13-z0d191nlw2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9056bf441d45cedc-s.0m41chdbo3wya.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6c3b2b7c3a61f79-s.0p6j_jmp08.12.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e557826f452dbd06-s.0ef8f_5ne8d7r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1497d94d4ac5c969-s.098tawn2q_~b0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e4505858a30c79c2-s.p.14m88r~v.m-cq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond Fallback;src:local(Times New Roman);ascent-override:106.26%;descent-override:31.44%;line-gap-override:0.0%;size-adjust:94.77%}.eb_garamond_815de942-module__dEAY5q__className{font-family:EB Garamond,EB Garamond Fallback;font-style:normal}.eb_garamond_815de942-module__dEAY5q__variable{--app-font-heading:"EB Garamond", "EB Garamond Fallback"}
@font-face{font-family:Lato;font-style:normal;font-weight:100;font-display:swap;src:url(../media/7d256325d16c464a-s.0d6_ed9mt57o1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:100;font-display:swap;src:url(../media/80dbc432bf467303-s.p.0ucnnm22nbe4-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(../media/20f1c48c725d3555-s.09l1jz5ihg0p~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(../media/f30fd2e485acf1bc-s.p.0_qs2mjxez25z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b529365fa126a3f2-s.17~hndooavd5u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8e451580e5e95631-s.p.0put2--9ix-3p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d74bdd14d6019bc6-s.02x781ca3~dwt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(../media/345c85a432359eed-s.p.0az0.9544w3d6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:swap;src:url(../media/da28569d36042d01-s.0wf~e3vwy0y3..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:swap;src:url(../media/9be384ea93fe3f49-s.p.05qlfybzfat._.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato Fallback;src:local(Arial);ascent-override:101.03%;descent-override:21.8%;line-gap-override:0.0%;size-adjust:97.69%}.lato_6ec5678a-module__8BwrWa__className{font-family:Lato,Lato Fallback;font-style:normal}.lato_6ec5678a-module__8BwrWa__variable{--app-font-body:"Lato", "Lato Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grid-columns:12;--projects-hero-frame-bg:#8b97a5;--projects-hero-frame-radius:clamp(22px, 2.8vw, 36px);--projects-hero-mockup-radius:clamp(12px, 1.4vw, 18px)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{font-family:var(--app-font-body), var(--font-body);font-weight:var(--font-weight-light);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);background:var(--surface-page);color:var(--color-fg);margin:0;padding:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}h1{font-family:var(--app-font-heading), var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--text-h1-size);line-height:var(--text-h1-line-height);color:var(--text-primary);margin:0}h2{font-family:var(--app-font-heading), var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--text-h2-size);line-height:var(--text-h2-line-height);color:var(--text-primary);margin:0}h3{font-family:var(--app-font-heading-text), var(--font-heading-text);font-weight:var(--font-weight-regular);font-size:var(--text-h3-size);line-height:var(--text-h3-line-height);color:var(--text-primary);margin:0}h4{font-family:var(--app-font-heading-text), var(--font-heading-text);font-weight:var(--font-weight-regular);font-size:var(--text-h4-size);line-height:var(--text-h4-line-height);color:var(--text-primary);margin:0}.container{max-width:var(--container);padding:0 var(--space-500);margin:0 auto}.pageShell{padding-top:var(--space-700);padding-bottom:0}.resumePageShell{min-height:100vh;padding-top:var(--space-700);padding-bottom:var(--space-600);flex-direction:column;display:flex}.resumeViewerStack{width:min(100%,680px);margin:0 auto}.resumePageToolbar{margin-top:var(--space-400);justify-content:flex-end;display:flex}.resumeViewer{aspect-ratio:8.5/11;border:1px solid var(--color-border);background:var(--neutral-100);border-radius:6px;flex:0 auto;width:100%;max-height:min(78vh,920px);overflow:hidden}.resumePageImage{object-fit:contain;width:100%;height:100%;display:block}.topNavShell{margin-bottom:var(--space-700)}.topNav{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.topNavDividerWrap{padding:24px 0}.topNavDividerLine{background:var(--color-border);height:1px}.topNavLink.active{color:var(--red-500)}.topNavBrand{font-weight:var(--font-weight-bold);transition:opacity .16s}.topNavBrand:hover{opacity:.85}.topNavLinks{gap:var(--space-300);display:flex}.topNavMobileMenu{display:none;position:relative}.topNavMenuButton{cursor:pointer;border:1px solid var(--color-border);background:var(--surface-page);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);color:var(--text-primary);border-radius:0;padding:6px 10px;list-style:none}.topNavMenuButton::-webkit-details-marker{display:none}.topNavMobileLinks{z-index:5;border:1px solid var(--color-border);background:var(--surface-page);gap:8px;min-width:160px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.topNavMobileMenu:not([open]) .topNavMobileLinks{display:none}.topNavRight{align-items:center;gap:var(--space-400);display:flex}.topNavIconLink{color:var(--text-primary);justify-content:center;align-items:center;transition:color .16s,opacity .16s;display:flex}.topNavIconLink:hover{opacity:.85;color:var(--red-500)}.topNavLinkedInSvg{width:22px;height:22px;display:block}.topNavLink{transition:color .16s}.topNavLink:hover:not(.active){opacity:.85}.topNavLink.active:hover{color:var(--red-500)}.heroTitle{color:color-mix(in srgb, var(--color-accent2) 86%, var(--neutral-50));max-width:none;font-weight:var(--font-weight-medium);letter-spacing:.01em;grid-column:1/span 10;line-height:1.12}.profileGrid{--profile-col-gap:clamp(16px, 2vw, 28px);grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));column-gap:var(--profile-col-gap);row-gap:32px;margin-top:0;display:grid;container:profilegrid/inline-size}.sectionTitle{font-family:var(--app-font-heading-text), var(--font-heading-text);font-weight:var(--font-weight-regular);font-size:var(--text-h3-size);line-height:var(--text-h3-line-height);color:var(--text-primary);margin:var(--space-500) 0 var(--space-200);grid-column:1/-1}.projectsMetaLabel{font-family:var(--app-font-heading-text), var(--font-heading-text);font-weight:var(--font-weight-regular);font-size:var(--text-h4-size);line-height:var(--text-h4-line-height);color:var(--text-primary);margin:0 0 var(--space-200)}.profilePhotoColumn{align-self:start;align-items:center;gap:var(--space-400);flex-direction:column;grid-column:1/span 2;width:100%;min-width:0;display:flex}.profileImageWrap{aspect-ratio:1;border-radius:50%;width:100%;max-width:100%;margin:0;overflow:hidden}.profileImage{object-fit:cover;width:100%;max-width:100%;height:100%;display:block}.profileCertifications{gap:var(--space-100);text-align:center;width:100%;display:grid}.profileCertificationsLine{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);font-weight:var(--font-weight-regular);color:var(--text-secondary);margin:0}.capabilitiesColumn{grid-column:7/span 6;align-self:start;gap:clamp(28px,3vw,44px);margin-top:0;display:grid}@media (min-width:901px){.capabilitiesColumn{margin-top:calc(100cqw / 6 - var(--profile-col-gap) * 5 / 6)}}.capability{box-shadow:none;background:0 0;border:none;margin:0;padding:0}h2.capabilityTitle{margin:0 0 6px}.capabilityBody{margin:0 0 var(--space-300);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-large-size);line-height:var(--text-paragraph-large-line-height);color:var(--text-secondary)}.processPointsCta{align-items:center;gap:var(--space-100);cursor:pointer;font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-line-height);color:var(--color-accent2);text-align:left;background:0 0;border:none;margin:0;padding:0;text-decoration:none;transition:color .16s;display:inline-flex}.processPointsCtaIcon{width:.85em;font-size:.92em;font-weight:var(--font-weight-regular);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.processPointsCta:hover{color:var(--red-600)}.processPointsCta:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}.processPointsList{margin:var(--space-300) 0 0;padding:0 0 0 var(--space-500);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-secondary);list-style:outside}.processPointsList li{margin:0 0 var(--space-100);padding-left:var(--space-100)}.processPointsList li:last-child{margin-bottom:0}.logoGrid{z-index:1;gap:var(--space-500);flex-direction:column;width:100%;display:flex;position:relative}.logoGridRows{flex-direction:column;gap:80px;display:flex}.logoGridRow{place-items:center;column-gap:clamp(16px,2.2vw,30px);width:100%;display:grid}.logoGridRow--5{grid-template-columns:repeat(5,minmax(0,1fr))}.logoGridRow--6{grid-template-columns:repeat(6,minmax(0,1fr))}.clientLogo{object-fit:contain;object-position:center;filter:grayscale()contrast(1.02);width:auto;max-width:100%;height:clamp(22px,2vw,32px)}.clientLogo--compact{height:clamp(16px,1.45vw,24px)}.projectsCaseStudyBanner{width:100%;min-width:0;margin:0 0 clamp(28px,4vw,48px)}.projectsCaseStudyBannerLink{color:inherit;border-radius:0;line-height:0;text-decoration:none;transition:box-shadow .18s,transform .18s;display:block;overflow:hidden;box-shadow:0 12px 40px #2c2c2a1a}.projectsCaseStudyBannerLink:hover{box-shadow:0 16px 48px #2c2c2a24}.projectsCaseStudyBannerLink:focus-visible{outline:2px solid var(--color-accent2);outline-offset:4px}.projectsCaseStudyBannerImage{vertical-align:top;width:100%;height:auto;display:block}.projectsIndexHeading{margin:0 0 var(--space-300);font-family:var(--app-font-heading), var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--text-h2-size);line-height:var(--text-h2-line-height);color:var(--text-primary)}.projectsIntroLarge{max-width:50%;font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-large-size);line-height:var(--text-paragraph-large-line-height);color:var(--text-secondary);margin:0 auto 40px 0}.projectsIntroLink{color:var(--red-500);text-decoration:none}.projectsIntroLink:hover{color:var(--red-600)}@media (max-width:520px){.projectsIntroLarge{max-width:100%}}.projectsIndexGrid{grid-template-columns:repeat(12,minmax(0,1fr));gap:80px clamp(20px,2.5vw,32px);margin:0 0 clamp(40px,5vw,72px);padding:0;list-style:none;display:grid}.projectsIndexTile{min-width:0;margin:0;padding:0}.projectsIndexTile--span6{grid-column:span 6}.projectsIndexTile--span4{grid-column:span 4}.projectsIndexTile--span12{grid-column:span 12}.projectsIndexTile--start1{grid-column-start:1}.projectsIndexTile--mutualmobile{grid-column:1/-1}.projectsTileLink,.projectsTileStatic{width:100%;color:inherit;text-decoration:none;display:block}.projectsTileLink:focus-visible{outline:2px solid var(--color-accent2);outline-offset:4px;border-radius:0}.projectsTileStatic{cursor:default}.projectsTileCardShell{width:100%;min-width:0;position:relative}.projectsTileFigure{box-sizing:border-box;border-radius:0;width:100%;position:relative;overflow:hidden}.projectsTileFigure--image{background:0 0;justify-content:stretch;align-items:stretch;padding:0;display:flex}.projectsTileFigure--imageBleedBottom{flex-direction:column;justify-content:center;align-items:stretch;padding:clamp(12px,2vw,20px)}.projectImagePicture{width:100%;display:block}.projectsTileFigure--imageBleedBottom .projectsTileImage{object-fit:contain;object-position:center;flex:none;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%;display:block;transform:none}.projectsTileImage{width:100%;max-width:none;height:auto;max-height:none;display:block}.projectsTileOverlay{z-index:1;opacity:0;pointer-events:none;background:#0c0c0ee0;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:clamp(14px,2.2vw,22px) clamp(14px,2.2vw,22px) clamp(14px,2.2vw,22px) 40px;transition:opacity .2s;display:flex;position:absolute;inset:0}@media (hover:hover){.projectsTileLink:hover .projectsTileOverlay--desktopHover,.projectsTileLink:focus-within .projectsTileOverlay--desktopHover,.projectsTileStatic:hover .projectsTileOverlay--desktopHover{opacity:1}}@media (prefers-reduced-motion:reduce){.projectsTileOverlay{transition-duration:.01ms}}.projectsTileOverlayText{max-width:36ch;font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:1.32;font-weight:var(--font-weight-regular);color:#fffffff0;text-align:left;margin:0}.projectsTileRole{margin-top:var(--space-300)}.projectsTileOverlayHeading{margin:0 0 var(--space-200);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:1.32;font-weight:var(--font-body-weight-semi-bold);color:#fffffffa}.projectsTileOverlayPills{margin:var(--space-300) 0 0;gap:var(--space-200);flex-wrap:wrap;max-width:44ch;padding:0;list-style:none;display:flex}.projectsTileOverlayPill{color:#ffffffeb;font-family:var(--app-font-body), var(--font-body);font-weight:var(--font-body-weight-medium);white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:12px;line-height:1}.projectsTileMobileOverviewBtn{z-index:3;font-family:var(--app-font-body), var(--font-body);font-size:12px;font-weight:var(--font-body-weight-semi-bold);color:#fffffff5;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0c0c0eb8;border:1px solid #fff3;border-radius:999px;margin:0;padding:8px 12px;line-height:1;display:none;position:absolute;top:clamp(10px,2vw,14px);right:clamp(10px,2vw,14px)}.projectsTileMobileOverviewBtn:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}.projectsTileModalBackdrop{z-index:2000;box-sizing:border-box;background:#0c0c0e8c;justify-content:center;align-items:center;padding:clamp(16px,4vw,28px);display:flex;position:fixed;inset:0}.projectsTileModal{box-sizing:border-box;background:#121216fa;border:1px solid #ffffff1f;width:100%;max-width:36rem;max-height:min(88vh,640px);padding:clamp(20px,4vw,28px) clamp(18px,4vw,24px) clamp(22px,4vw,28px);position:relative;overflow:auto;box-shadow:0 24px 80px #00000073}.projectsTileModalClose{width:44px;height:44px;font-family:var(--app-font-body), var(--font-body);color:#ffffffe0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:28px;line-height:1;display:flex;position:absolute;top:clamp(10px,2vw,14px);right:clamp(10px,2vw,14px)}.projectsTileModalClose:hover{color:#fff}.projectsTileModalClose:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}.projectsTileModalTitle{margin:0 48px var(--space-300) 0;font-family:var(--app-font-heading), var(--font-heading);font-size:var(--text-h4-size);line-height:var(--text-h4-line-height);font-weight:var(--font-weight-regular);color:#fffffffa}.projectsTileModalSectionHeading{margin:0 0 var(--space-200);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:1.32;font-weight:var(--font-body-weight-semi-bold);color:#fffffffa}.projectsTileModalBody{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:1.32;font-weight:var(--font-weight-regular);color:#ffffffeb;margin:0}.projectsTileModalPills{margin:var(--space-300) 0 0;gap:var(--space-200);flex-wrap:wrap;padding:0;list-style:none;display:flex}.projectsTileModalPill{color:#ffffffeb;font-family:var(--app-font-body), var(--font-body);font-weight:var(--font-body-weight-medium);white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:12px;line-height:1}@media (max-width:900px){.projectsTileOverlay--desktopHover{display:none!important}.projectsTileMobileOverviewBtn{justify-content:center;align-items:center;display:inline-flex}}.projectsTileLabel{margin-top:var(--space-300);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);font-weight:var(--font-weight-light);color:var(--text-primary);display:block}.projectsBackLink{margin:0 0 var(--space-500);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--link-default);border-bottom:1px solid var(--link-underline);padding-bottom:var(--space-50);display:inline-block}.projectsBackLink:hover{border-color:var(--link-underline)}@media (max-width:520px){.projectsIndexGrid{grid-template-columns:1fr}.projectsIndexTile--span4,.projectsIndexTile--span6,.projectsIndexTile--span12{grid-column:span 1}.projectsIndexTile--mutualmobile{grid-column:1/-1}}@media (max-width:900px){.projectsIndexGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.projectsIndexTile--span4,.projectsIndexTile--span6,.projectsIndexTile--span12{grid-column:span 2}.projectsIndexTile--mutualmobile{grid-column:1/-1}}.projectsPage{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));text-align:left;align-items:start;gap:clamp(40px,5vw,72px) clamp(16px,2vw,28px);margin-top:0;display:grid}.projectsHeroFigure{box-sizing:border-box;background:var(--projects-hero-frame-bg);border-radius:var(--projects-hero-frame-radius);aspect-ratio:5/6;flex-direction:column;grid-area:1/1/auto/span 4;align-self:start;align-items:center;width:100%;min-width:0;max-width:none;max-height:min(72vh,480px);margin:0;padding:clamp(16px,2.2vw,26px) clamp(14px,2vw,22px) 0;display:flex;overflow:hidden}.projectsHeroFrame{flex:none;justify-content:center;width:100%;display:flex}.projectsHeroImage{object-fit:contain;border-radius:var(--projects-hero-mockup-radius);background:var(--surface-page);width:100%;max-width:100%;height:auto;display:block;box-shadow:0 12px 40px #2c2c2a1f}.projectsHeroCopy{text-align:left;grid-area:1/7/auto/span 6;min-width:0}@media (min-width:901px){.projectsHeroCopy{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);display:grid}.projectsHeroCopy>.projectsFeaturedTitle,.projectsHeroCopy>.projectsFeaturedBody,.projectsHeroCopy>.projectsHighlightsTitle{grid-column:1/-1}.projectsHeroHighlights{grid-column:1/-1;min-width:0}}.surfacePrimaryFullBleed{isolation:isolate;min-width:0;padding-block:clamp(32px,4vw,56px);position:relative}.surfacePrimaryFullBleed:before{content:"";z-index:0;background:var(--surface-primary);pointer-events:none;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.projectsWorkSamplesBleed{grid-area:2/1/auto/-1}.profileLogosBleed{margin-top:var(--space-900);grid-column:1/-1}.profileLogosBleed.surfacePrimaryFullBleed{padding-block:80px}.siteContactFooter{isolation:isolate;padding-top:var(--space-900);padding-bottom:var(--space-900);margin-top:0;position:relative}.siteContactFooter:before{content:"";z-index:0;background:var(--color-accent2);pointer-events:none;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.siteContactFooter .container{z-index:1;position:relative}.siteContactHeading{margin:0 0 var(--space-300);color:var(--neutral-50)}.siteContact{max-width:50%;font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);font-style:normal;font-weight:var(--font-weight-regular);color:var(--neutral-50);text-align:left;margin:0;padding:0}.siteContactLine{margin:0}.siteContactLine+.siteContactLine{margin-top:var(--space-100)}.siteContact a{color:var(--neutral-50);text-decoration:none}.siteContact a:hover{color:var(--neutral-100);text-decoration:underline}@media (max-width:600px){.siteContact{max-width:100%}}.projectsSectionBottom{z-index:1;gap:var(--space-700);text-align:left;flex-direction:column;min-width:0;display:flex;position:relative}@media (min-width:901px){.projectsSectionBottom{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));column-gap:clamp(16px,2vw,28px);row-gap:var(--space-700);display:grid}.projectsWorkSamples{grid-column:1/span 6;min-width:0}.projectsExperience{grid-column:1/span 11;width:100%;min-width:0;max-width:100%}.projectsWorkSamplesGrid--desktop{grid-template-columns:repeat(6,minmax(0,1fr));justify-content:stretch;justify-items:stretch;gap:clamp(16px,2vw,24px) clamp(16px,2vw,28px);width:100%;max-width:100%;display:grid}.projectsWorkSamplesGrid--desktop .projectsQuadCol{width:100%;min-width:0}.projectsQuadCol--continued{padding-top:calc(var(--text-paragraph-medium-line-height) + var(--space-200))}}h1.projectsFeaturedTitle{font-family:var(--app-font-heading), var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--text-h2-size);line-height:var(--text-h2-line-height);color:var(--text-primary);margin:0 0 6px}.projectsFeaturedBody{margin:0 0 var(--space-300);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-large-size);line-height:var(--text-paragraph-large-line-height);color:var(--text-secondary)}h4.projectsHighlightsTitle{margin:0 0 var(--space-200);font-family:var(--app-font-body), var(--font-body);font-weight:var(--font-body-weight-semi-bold);font-size:var(--text-label-size);line-height:var(--text-label-line-height);color:var(--text-secondary)}.projectsHighlightsList{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;column-gap:clamp(16px,2vw,28px);margin:0;display:grid}.projectsHeroHighlights .processPointsList.projectsHighlightsList{margin-top:0}.projectsHighlightsList li{margin:0 0 var(--space-100);padding-left:var(--space-100);display:list-item}.projectsHighlightsList li:nth-child(3),.projectsHighlightsList li:last-child{margin-bottom:0}.projectsAsideIntro{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-secondary);margin:0}.projectsWorkSamplesGrid--desktop{text-align:left;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:start;gap:clamp(16px,2vw,24px);display:grid}.projectsWorkSamplesGridMobile{width:100%;max-width:100%;display:none}.projectsWorkSamplesMobileLeft{flex-direction:column;gap:clamp(24px,3vw,40px);min-width:0;display:flex}.projectsWorkSamplesMobileRight{min-width:0}h4.projectsQuadHeading{margin:0 0 var(--space-200);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:1.32;font-weight:var(--font-body-weight-semi-bold);color:var(--text-primary)}.projectsQuadList{gap:var(--space-200);align-content:start;margin:0;padding:0;list-style:none;display:grid}.projectsQuadList li{font-family:var(--app-font-body), var(--font-body);font-weight:var(--font-weight-regular);font-size:var(--text-paragraph-medium-size);color:var(--text-secondary);margin:0;line-height:1.32}.projectsBanner{background:var(--surface-accent);border-radius:var(--radius-md);padding:var(--space-500);margin-bottom:var(--space-700)}.projectsBanner h2{margin:0 0 var(--space-200)}.projectsBanner p{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-primary);margin:0}.projectList{gap:var(--space-700);display:grid}.projectRow{gap:var(--space-500);grid-template-columns:200px 1fr;align-items:start;display:grid}.projectThumb{aspect-ratio:1;border-radius:calc(var(--radius-md) - 2px);background:var(--surface-accent);width:100%}.projectInfo h3{margin:0 0 var(--space-300)}.projectInfo p{margin:0 0 var(--space-300);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-primary)}.projectMeta{margin:0 0 var(--space-300);font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);font-weight:var(--font-body-weight-semi-bold);color:var(--text-primary)}.projectLink{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--link-default);border-bottom:1px solid var(--link-underline);padding-bottom:var(--space-50)}.projectLink:hover{border-color:var(--link-underline)}@media (max-width:900px){.topNavLinks{display:none}.topNavMobileMenu{display:block}.heroTitle{grid-column:1/-1;max-width:none;font-size:clamp(22px,5.5vw,34px);line-height:1.2}.profileGrid{grid-template-columns:1fr;row-gap:32px}.sectionTitle,.profilePhotoColumn,.capabilitiesColumn,.profileLogosBleed{grid-column:1}.capabilitiesColumn{margin-top:0}.profilePhotoColumn{justify-self:center;max-width:min(360px,100%)}.logoGridRows{grid-template-columns:repeat(3,minmax(0,1fr));place-content:center;place-items:center;gap:40px clamp(16px,2vw,24px);display:grid}.profileLogosBleed.surfacePrimaryFullBleed{justify-content:center;align-items:center;display:flex}.profileLogosBleed.surfacePrimaryFullBleed .logoGrid{text-align:center;justify-content:center;width:100%}.logoGridRow--5,.logoGridRow--6{display:contents}.projectsHeroFigure{aspect-ratio:10/11;grid-area:auto/1/auto/span 4;max-height:min(62vh,420px)}.projectsHeroCopy{grid-area:auto/7/auto/span 6}.projectsWorkSamplesBleed{grid-area:auto/1/auto/-1}.projectsWorkSamplesGrid--desktop{display:none}.projectsWorkSamplesGridMobile{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));place-items:start stretch;gap:clamp(16px,2vw,24px);display:grid}}@media (max-width:520px){.projectsHeroFigure,.projectsHeroCopy{grid-column:1/-1}h1.projectsFeaturedTitle{font-size:clamp(22px,5.5vw,26px);line-height:1.3}.projectsHighlightsList{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}.projectsHighlightsList li,.projectsHighlightsList li:nth-child(3){margin-bottom:var(--space-100)}.projectsHighlightsList li:last-child{margin-bottom:0}.projectsWorkSamplesGridMobile{grid-template-columns:1fr}.projectsWorkSamplesMobileRight{grid-column:1}}.caseStudyPageShell{padding-bottom:var(--space-900)}.caseStudyPageHeader{margin-bottom:var(--space-700);max-width:52rem}.caseStudyPageIntro{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-large-size);line-height:var(--text-paragraph-large-line-height);color:var(--text-secondary);margin:0}.caseStudyList{gap:clamp(48px,6vw,80px);display:grid}.caseStudyCarousel{--case-study-nav-size:44px;gap:var(--space-300);display:grid}.caseStudyCarouselStage{grid-template-columns:var(--case-study-nav-size) minmax(0, 1fr) var(--case-study-nav-size);align-items:center;column-gap:clamp(8px,1.5vw,16px);display:grid}.caseStudyCarouselNav{appearance:none;border:1px solid var(--color-border);background:var(--surface-page);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:border-color .16s,color .16s,opacity .16s;display:flex}.caseStudyCarouselNav:hover:not(:disabled){border-color:var(--text-primary)}.caseStudyCarouselNav:disabled{opacity:.35;cursor:not-allowed}.caseStudyCarouselNav:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}.caseStudyCarouselChevron{width:28px;height:28px;display:block}.caseStudyCarouselCounter{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);line-height:var(--text-label-line-height);font-weight:var(--font-body-weight-medium);color:var(--text-primary);margin:0}.caseStudyCarouselFooter{grid-template-columns:var(--case-study-nav-size) minmax(0, 1fr) var(--case-study-nav-size);column-gap:clamp(8px,1.5vw,16px);display:grid}.caseStudyCarouselFooterInset{justify-content:space-between;align-items:center;gap:var(--space-200) var(--space-400);flex-wrap:wrap;grid-column:2;display:flex}.caseStudyCarouselFooterActions{justify-content:flex-end;align-items:center;gap:var(--space-300);margin-left:auto;display:inline-flex}.caseStudyCarouselTextBtn{align-items:center;gap:var(--space-100);cursor:pointer;font-family:var(--app-font-body), var(--font-body);font-size:var(--text-label-size);font-weight:var(--font-weight-regular);line-height:var(--text-label-line-height);color:var(--color-accent2);background:0 0;border:none;margin:0;padding:0;transition:color .16s,opacity .16s;display:inline-flex}.caseStudyCarouselTextBtn:hover:not(:disabled){color:var(--red-600)}.caseStudyCarouselTextBtn:disabled{opacity:.35;cursor:not-allowed}.caseStudyCarouselTextBtn:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}.caseStudyCarouselTextBtn--icon{gap:var(--space-100)}.caseStudyCarouselFullscreenIcon{flex-shrink:0;width:16px;height:16px;display:block}.caseStudyCarousel--fullscreen,.caseStudyCarousel:fullscreen{z-index:3000;align-content:center;gap:var(--space-300);box-sizing:border-box;background:var(--surface-page);padding:clamp(16px,3vw,28px);display:grid;position:fixed;inset:0;overflow:auto}.caseStudyCarousel--fullscreen .caseStudyCarouselImage,.caseStudyCarousel:fullscreen .caseStudyCarouselImage,.caseStudyCarousel--fullscreen .caseStudyCarouselPlaceholder,.caseStudyCarousel:fullscreen .caseStudyCarouselPlaceholder{max-height:calc(100vh - 120px)}.caseStudyCarouselViewport{border:1px solid var(--color-border);background:var(--neutral-100);overflow:hidden}.caseStudyCarouselContainer{touch-action:pan-y pinch-zoom;display:flex}.caseStudyCarouselSlide{box-sizing:border-box;flex:0 0 100%;justify-content:center;align-items:center;min-width:0;padding:clamp(12px,2vw,20px);display:flex}.caseStudyCarouselImage{object-fit:contain;width:100%;height:auto;max-height:min(72vh,820px);display:block}.caseStudyCarouselPlaceholder{aspect-ratio:16/9;background:var(--neutral-200);width:100%;max-height:min(72vh,820px)}.caseStudyEmpty{font-family:var(--app-font-body), var(--font-body);font-size:var(--text-paragraph-medium-size);line-height:var(--text-paragraph-medium-line-height);color:var(--text-secondary);margin:0}@media (max-width:600px){.caseStudyCarousel{--case-study-nav-size:36px}.caseStudyCarouselFooterInset{align-items:stretch;gap:var(--space-200);flex-direction:column}.caseStudyCarouselFooterActions{justify-content:flex-end}.caseStudyCarouselStage,.caseStudyCarouselFooter{column-gap:var(--space-100)}.caseStudyCarouselNav{width:36px;height:36px}.caseStudyCarouselChevron{width:22px;height:22px}}
