@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_372bf1ad-module__GL__7q__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_372bf1ad-module__GL__7q__variable{--font-ibm-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--outline:#f3f4f6;--surfacewhite:#fff;--onbackground:#323232;--background:#fafafa;--onsurface:#161616;--surfacegrey:#f3f4f6;--toggle-border:#32323224;--toggle-surface:#ffffffd1;--toggle-dot:#161616;--text-grey-50:gray}html.dark-theme{--outline:#252525;--surfacewhite:#171717;--onbackground:#d8d8d8;--background:#0d0d0d;--onsurface:#fff;--surfacegrey:#181818;--toggle-border:#ffffff29;--toggle-surface:#171717c7;--toggle-dot:#f5f5f5;--text-grey-50:gray}html{scroll-behavior:smooth;min-height:100%}body{background:var(--background);min-height:100%;color:var(--onbackground);text-align:center;font-family:var(--font-ibm-plex-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1em;font-weight:400;line-height:1em;transition:background-color .22s,color .22s}*{box-sizing:border-box}img,video{max-width:100%;display:block}a{color:inherit}main{width:100%}.route-fade{animation:5s cubic-bezier(.22,1,.36,1) both routeFadeIn}@keyframes routeFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.route-fade{animation:none}}.theme-toggle{z-index:50;border:1px solid var(--toggle-border);background:var(--toggle-surface);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:50%;place-items:center;width:38px;height:38px;padding:0;transition:background-color .18s,border-color .18s,transform .18s;display:grid;position:fixed;top:18px;right:18px}.theme-toggle:hover{transform:scale(1.04)}.theme-toggle span{background:var(--toggle-dot);width:14px;height:14px;box-shadow:0 0 0 5px color-mix(in srgb, var(--toggle-dot) 12%, transparent);border-radius:50%;transition:transform .22s,background-color .18s,box-shadow .18s;display:block}html.dark-theme .theme-toggle span{box-shadow:8px -4px 0 1px var(--toggle-surface), 0 0 0 5px color-mix(in srgb, var(--toggle-dot) 12%, transparent);transform:scale(.72)}.grid-toggle{z-index:50;border:1px solid var(--toggle-border);background:var(--toggle-surface);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:50%;grid-template-columns:repeat(3,3px);place-content:center;gap:4px;width:38px;height:38px;padding:0;transition:background-color .18s,border-color .18s,transform .18s;display:grid;position:fixed;top:64px;right:18px}.grid-toggle:hover{transform:scale(1.04)}.grid-toggle span{background:var(--toggle-dot);opacity:.78;border-radius:4px;width:3px;height:16px;display:block}.grid-toggle[aria-pressed=true]{border-color:color-mix(in srgb, #1d8fff 62%, var(--toggle-border))}.grid-toggle[aria-pressed=true] span{opacity:1;background:#1d8fff}.layout-grid-overlay{pointer-events:none;z-index:40;justify-content:center;padding:0;display:flex;position:fixed;inset:0}.layout-grid-overlay>div{border-left:1px solid #1d8fff80;border-right:1px solid #1d8fff80;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;width:100%;max-width:1140px;min-height:100vh;display:grid}.layout-grid-overlay span{background:#1d8fff1f;border-left:1px solid #1d8fff29;border-right:1px solid #1d8fff29;min-height:100vh}html.dark-theme .layout-grid-overlay span{background:#68b8ff1f}.site-nav{background:0 0;width:100%;max-width:1140px;margin:0 auto;padding:12px 0}.site-nav ul{border:1px solid var(--outline);background:var(--surfacewhite);border-radius:16px;justify-content:space-between;align-items:center;width:max-content;margin:0;padding:4px 0;list-style:none;display:flex}.site-nav li{justify-content:center;width:132px;display:flex}.site-nav a{width:132px;color:var(--onbackground);letter-spacing:.25px;justify-content:center;align-items:center;margin:0 4px;padding:12px 4px;font-size:14px;line-height:20px;text-decoration:none;display:flex}.site-nav a:hover,.site-nav a:focus{background:var(--background);color:var(--onsurface);border-radius:12px}.hero{width:100%;max-width:1140px;height:75vh;min-height:560px;margin:0 auto 100px;position:relative}.hero h1{text-align:left;max-width:50vh;min-height:0;margin:0;font-size:32px;font-weight:500;line-height:44px;display:flex;position:absolute;top:140px;left:0}.hero h2{text-align:left;max-width:50vh;margin:0;font-size:1.5em;font-weight:400;line-height:1.2em;display:flex;position:absolute;top:240px;left:0}.hero>p{text-align:left;max-width:40vh;margin:0;font-size:20px;line-height:32px;display:flex;position:absolute;inset:auto auto 0 0}.section-heading{width:100%;max-width:1140px;margin:0 auto;display:block}.section-heading p,.section-heading h2{margin:0 10px}.section-heading{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.section-heading p{font-size:16px;font-weight:500;line-height:20px}.section-heading h2{text-transform:uppercase;font-size:16px;font-weight:300;line-height:20px}.projects{display:block}.project{width:100%}.project-header{flex-direction:column;align-items:center;width:100%;max-width:940px;margin:0 auto;display:flex}.project-header>div,.project-header>p,.project-meta{width:60%;max-width:60%}.project-header>div{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.project-header h3{margin:0;font-size:20px;font-weight:400;line-height:24px}.project-header div>p{margin:0;font-size:16px;font-weight:300;line-height:24px}.project-header>p{text-align:left;margin:0;padding-bottom:0;font-size:17px;font-weight:400;line-height:24px;display:flex}.project-meta{margin:4px 0 100px;padding:0;display:block}.project-meta div{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:center;padding:20px 0 4px;display:flex}.project-meta dt,.project-meta dd{margin:0;font-size:16px;line-height:24px}.project-meta dt{color:var(--onbackground)}.project-meta dd{text-align:right}.project-meta a{color:var(--onbackground);text-decoration:none}.project-meta a:hover{color:var(--onsurface)}.media-grid{grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr;gap:4px;width:calc(100% - 20px);max-width:1140px;margin:0 auto 100px;display:grid}.media-item{background:var(--surfacegrey);border-radius:24px;justify-content:center;align-items:center;min-height:520px;margin:0;padding:60px 0;display:flex;overflow:hidden}.media-item img,.media-item video{border-radius:24px;max-width:80%;max-height:80%;box-shadow:5px 4px 19px #0003}.media-item-phone{flex-direction:column}.media-item-phone video{aspect-ratio:888/1920;object-fit:cover;border-radius:24px;width:250px;max-width:250px;max-height:none}.media-item-wide{grid-column:span 2}.media-item-full{aspect-ratio:16/9;background:0 0;border-radius:16px;grid-column:1/-1;width:100%;min-height:0;margin-bottom:100px;padding:0}.media-item-full img,.media-item-full video,.media-item-full iframe{object-fit:cover;width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:none;border:0;border-radius:24px}.media-video-trigger{border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.media-video-trigger img{transition:transform .28s,filter .28s}.media-video-trigger:hover img{filter:brightness(.92);transform:scale(1.015)}.media-video-trigger span{background:#ffffffdb;border-radius:50%;width:64px;height:64px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000038}.media-video-trigger span:after{content:"";border-top:11px solid #0000;border-bottom:11px solid #0000;border-left:16px solid #111;width:0;height:0;position:absolute;top:21px;left:26px}.publications{flex-direction:column;justify-content:center;width:100%;max-width:1140px;margin:0 auto;padding:20px 0;display:flex}.publications-list{width:100%;margin-bottom:100px}.publications-list header{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.publications-list h2{margin:0;font-size:20px;font-weight:400;line-height:24px}.links-list{padding:4px 0;line-height:1.4em}.link-row{border-bottom:1px solid var(--outline);grid-template-columns:minmax(0,1fr) 96px 128px;align-items:center;gap:24px;padding:20px 0 4px;display:grid}.link-row p{text-align:left;min-width:0;margin:0;font-size:16px;line-height:24px}.link-row-year{color:var(--text-grey-50);text-align:left;font-size:16px;line-height:24px}.link-row a{color:var(--onbackground);text-align:right;justify-self:end;font-size:16px;line-height:24px;text-decoration:none}.link-row a:hover{color:var(--onsurface)}.footer{flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;max-width:1140px;margin:0 auto;padding:0 0 20px;display:flex}.footer h2{margin:0 0 20px;font-size:20px;font-weight:400;line-height:24px}.footer ul{justify-content:space-between;align-self:stretch;width:100%;margin:0 0 20px;padding:0;list-style:none;display:flex}.footer a{color:var(--onbackground);text-align:center;font-size:16px;line-height:24px;text-decoration:none}.footer a:hover{color:var(--onsurface)}@media screen and (max-width:991px){.site-nav,.hero,.section-heading,.media-grid,.publications,.footer{max-width:728px}.footer{margin-left:8px;margin-right:8px}}@media screen and (max-width:767px){.hero h1,.hero h2{max-width:calc(100% - 20px);left:10px}.hero>p{max-width:calc(100% - 20px);inset:auto auto 0 10px}.footer{margin-left:8px;margin-right:8px}}@media screen and (max-width:479px){.theme-toggle{width:34px;height:34px;top:14px;right:12px}.grid-toggle{width:34px;height:34px;top:56px;right:12px}.layout-grid-overlay{padding-left:8px;padding-right:8px}.site-nav{padding-left:8px;display:flex}.site-nav ul{flex:1;max-width:359px}.site-nav li{align-items:center;width:96px;height:44px;padding:0}.site-nav a{width:auto;padding:12px 24px}.hero{height:75vh;min-height:560px;padding-left:8px;padding-right:8px}.hero h1{font-size:2em}.hero>p{padding-left:0}.section-heading p,.section-heading h2{margin-left:10px;margin-right:10px}.project-header>div,.project-header>p,.project-meta{width:100%;max-width:100%;padding-left:10px;padding-right:10px}.project-header h3{margin-bottom:20px}.project-meta dd{max-width:60%}.media-grid{width:auto;margin-left:8px;margin-right:8px;padding-bottom:10px;display:block}.media-item{border-radius:24px;height:300px;min-height:0;margin-bottom:20px;padding:20px 0}.media-item img,.media-item video{border-radius:8px}.media-item-phone{height:auto;padding-top:40px;padding-bottom:40px}.media-item-phone video{border-radius:16px}.media-item-full{aspect-ratio:auto;background:0 0;border-radius:8px;height:auto;margin-left:0;margin-right:0;padding:0}.media-item-full img,.media-item-full video{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:none}.media-item-playing{aspect-ratio:16/9}.media-item-playing iframe{width:100%;height:100%}.media-video-trigger span{width:52px;height:52px}.media-video-trigger span:after{border-top-width:9px;border-bottom-width:9px;border-left-width:14px;top:17px;left:21px}.publications{padding-left:8px;padding-right:8px}.publications-list header,.link-row{margin-left:10px;margin-right:10px}.link-row{grid-template-columns:minmax(0,1fr) 56px auto;gap:12px}.link-row p{max-width:none}.link-row-year{text-align:left}.footer{margin-left:8px;margin-right:8px}.footer ul{flex-direction:column;align-items:flex-start}.footer li{padding-bottom:10px}}
