.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),url(/_astro/inter-greek-400-normal.q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),url(/_astro/inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),url(/_astro/inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-600-normal.plRanbMR.woff2) format("woff2"),url(/_astro/inter-greek-600-normal.BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),url(/_astro/inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),url(/_astro/inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),url(/_astro/inter-greek-700-normal.BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),url(/_astro/inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Timeless Sans;src:url(/fonts/TimelessSans-SansRegular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Timeless Sans;src:url(/fonts/TimelessSans-SansSemibold.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Timeless Sans;src:url(/fonts/TimelessSans-SansBold.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--color-text: #1e1e1e;--color-muted: #5c5c5c;--font-primary: "Timeless Sans", Arial, sans-serif;--font-ui: "Inter", Arial, sans-serif;--page-gutter: 24px;--content-max: 2000px;--page-inset: max(var(--page-gutter), calc((100% - var(--content-max)) / 2));--grid-columns: 12;--grid-gap: 24px;--fluid-unit: clamp(1px, calc(((100vw - 408px) * 5 / 12 + 96px) / 526), 1.5577px);--z-header: 50;--header-blur-amount: 6px;--header-blur-falloff: 64px;--header-scrim: rgba(255, 255, 255, .6);color:var(--color-text);background:#fff;font-family:var(--font-primary);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;min-width:0;background:#fff;text-wrap:pretty}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}h1,h2,h3,p{margin:0}.site-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;min-height:72px;padding:24px var(--page-inset);position:sticky;top:0;white-space:nowrap;z-index:var(--z-header)}.site-header:before{-webkit-backdrop-filter:blur(var(--header-blur-amount));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--header-blur-falloff)),transparent 100%);backdrop-filter:blur(var(--header-blur-amount));background:var(--header-scrim);content:"";inset:0 0 calc(-1 * var(--header-blur-falloff)) 0;mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--header-blur-falloff)),transparent 100%);pointer-events:none;position:absolute;z-index:-1}.site-name{font-family:var(--font-ui);font-size:calc(14 * var(--fluid-unit));font-weight:700;line-height:calc(24 * var(--fluid-unit))}.site-nav{display:flex;gap:16px;font-family:var(--font-ui);font-size:13px;line-height:24px}.site-nav a{position:relative;color:var(--color-muted);transition:color var(--motion-dur-2) var(--ease-standard)}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--motion-dur-2) var(--ease-standard)}.site-nav a:focus-visible{color:var(--color-text)}.site-nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}@media(hover:hover)and (pointer:fine){.site-nav a:hover{color:var(--color-text)}.site-nav a:hover:after{transform:scaleX(1);transform-origin:left}}.site-nav a.active,.site-nav a[aria-current=page]{color:var(--color-text);font-weight:700}.site-nav a[aria-expanded=true]{color:var(--color-text)}.site-nav a[aria-expanded=true]:after{transform:scaleX(1);transform-origin:left}:root{--email-options-enter: var(--motion-dur-3);--email-options-exit: var(--motion-dur-2);--email-options-item-step: var(--motion-stagger-tight);--email-options-rise: var(--motion-rise-sm);--email-options-veil: var(--motion-veil-ui)}.email-options{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 8px 24px #00000014;display:flex;flex-direction:column;font-family:var(--font-ui);font-size:14px;font-weight:400;left:0;letter-spacing:0;line-height:20px;min-width:220px;padding:6px;pointer-events:auto;position:absolute;top:0;transform-origin:top left;white-space:nowrap;z-index:1}.email-options[data-phase=hidden]{visibility:hidden}.email-options[data-phase=visible]{animation:email-options-in var(--email-options-enter) var(--ease-settle) both}.email-options[data-phase=visible] button{animation:email-options-item-in var(--email-options-enter) var(--ease-settle) both}.email-options[data-phase=visible] button:nth-of-type(1){animation-delay:var(--email-options-item-step)}.email-options[data-phase=visible] button:nth-of-type(2){animation-delay:calc(2 * var(--email-options-item-step))}.email-options[data-phase=exiting]{animation:email-options-out var(--email-options-exit) var(--ease-recede) both}.email-options button{appearance:none;background:none;border:0;border-radius:4px;color:var(--color-text);cursor:pointer;font:inherit;padding:8px 10px;text-align:left;transition:background-color var(--motion-dur-2) var(--ease-standard)}.email-options button:focus-visible{outline:2px solid var(--color-text);outline-offset:-2px}@media(hover:hover)and (pointer:fine){.email-options button:hover{background:#f3f4f6}}@media(prefers-reduced-motion:reduce){.email-options[data-phase],.email-options[data-phase] button{animation:none}}@keyframes email-options-in{0%{opacity:0;transform:translateY(calc(-1 * var(--email-options-rise))) scale(.97);filter:blur(var(--email-options-veil))}to{opacity:1;transform:none;filter:blur(0)}}@keyframes email-options-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes email-options-out{0%{opacity:1}to{opacity:0;transform:translateY(-4px) scale(.98)}}@property --menu-reveal{syntax: "<length-percentage>"; inherits: false; initial-value: 0px;}:root{--menu-falloff: 96px;--menu-scrim: rgba(255, 255, 255, .78);--menu-blur: 32px;--header-height: 72px;--menu-exit-span: .42s;--menu-item-step: var(--motion-stagger-tight)}.site-menu{display:contents}.site-menu__toggle,.site-menu__scrim,.site-menu__catch{display:none}@media(max-width:639px){.site-header{position:sticky}.site-header[data-menu-phase=visible]{--header-blur-falloff: 0px;--header-scrim: transparent;--header-blur-amount: 0px;touch-action:none}.site-header:before{transition:background-color var(--motion-dur-3) var(--ease-standard),-webkit-backdrop-filter var(--motion-dur-3) var(--ease-standard),backdrop-filter var(--motion-dur-3) var(--ease-standard)}.site-menu{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none}.site-header[data-menu-phase=visible] .site-menu{pointer-events:auto}.site-menu__scrim{display:block;position:absolute;inset:0;background:var(--menu-scrim);-webkit-backdrop-filter:blur(var(--menu-blur));backdrop-filter:blur(var(--menu-blur));pointer-events:none;visibility:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 var(--menu-reveal),transparent calc(var(--menu-reveal) + var(--menu-falloff)));mask-image:linear-gradient(to bottom,#000 0,#000 var(--menu-reveal),transparent calc(var(--menu-reveal) + var(--menu-falloff)))}.site-menu__catch{display:block;position:fixed;inset:0;z-index:-2;pointer-events:none;touch-action:none;overscroll-behavior:contain}.site-menu__toggle{display:block;position:relative;width:44px;height:44px;margin-right:-13px;padding:0;appearance:none;background:none;border:0;cursor:pointer;color:var(--color-muted);transition:color var(--motion-dur-2) var(--ease-standard),scale var(--motion-dur-1) var(--ease-recede)}.site-menu__toggle:active{scale:.88;color:var(--color-text)}.site-menu__rule{position:absolute;top:50%;left:50%;width:18px;height:1px;margin:-.5px 0 0 -9px;background:currentColor;translate:0 -3px;rotate:0deg;scale:1 1;transition:translate .16s var(--ease-standard),rotate .2s var(--ease-standard),scale .2s var(--ease-standard)}.site-menu__rule:last-child{translate:0 3px}.site-header[data-menu-phase=visible] .site-menu__rule{translate:0 0;rotate:45deg;scale:1.22 1;transition:translate .16s var(--ease-standard),rotate .26s var(--ease-morph) .25s,scale .26s var(--ease-morph) .25s}.site-header[data-menu-phase=visible] .site-menu__rule:last-child{rotate:-45deg}.site-header[data-menu-phase=exiting] .site-menu__rule{translate:0 -3px;rotate:0deg;scale:1 1;transition:rotate .2s var(--ease-standard),scale .2s var(--ease-standard),translate .14s var(--ease-standard) .26s}.site-header[data-menu-phase=exiting] .site-menu__rule:last-child{translate:0 3px}.site-header[data-menu-phase=visible] .site-menu__toggle{color:var(--color-text)}.site-nav{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:start;gap:8px;padding:calc(var(--header-height) + 48px) var(--page-inset) 0;font-size:28px;line-height:36px}.site-nav a{padding:14px 0;font-size:28px;font-weight:600;line-height:36px;letter-spacing:-.01em;color:var(--color-text);opacity:0;translate:0 var(--motion-rise-sm);filter:blur(var(--motion-veil-ui));transition:opacity var(--motion-dur-2) var(--ease-recede),translate var(--motion-dur-2) var(--ease-recede),color var(--motion-dur-2) var(--ease-standard)}.site-nav a:after{bottom:10px;height:1.5px}.site-header[data-menu-phase=visible] .site-nav a{opacity:1;translate:0 0;filter:blur(0);transition:opacity var(--motion-dur-3) var(--ease-settle),translate var(--motion-dur-3) var(--ease-settle),filter var(--motion-dur-3) var(--ease-settle),color var(--motion-dur-2) var(--ease-standard)}.site-header[data-menu-phase=visible] .site-nav a:nth-child(1){transition-delay:.12s}.site-header[data-menu-phase=visible] .site-nav a:nth-child(2){transition-delay:calc(.12s + var(--menu-item-step))}.site-header[data-menu-phase=visible] .site-nav a:nth-child(3){transition-delay:calc(.12s + 2 * var(--menu-item-step))}.site-header[data-menu-phase=exiting] .site-nav a{opacity:0;translate:0 -4px;filter:blur(0)}.site-header[data-menu-phase=exiting] .site-nav a[data-menu-chosen]{transition-delay:.12s}.site-nav a[data-menu-chosen]:after{transform:scaleX(1);transform-origin:left;transition:transform var(--motion-dur-1) var(--ease-standard)}.site-header[data-menu-phase=visible] .site-menu__scrim{visibility:visible;--menu-reveal: 100%;will-change:mask-image;transition:--menu-reveal .52s var(--ease-settle)}.site-header[data-menu-phase=exiting] .site-menu__scrim{visibility:visible;--menu-reveal: calc(-1 * var(--menu-falloff));will-change:mask-image;transition:--menu-reveal var(--motion-dur-3) var(--ease-recede) 60ms,visibility 0s linear var(--menu-exit-span)}.site-header[data-menu-phase=visible] .site-menu__catch{pointer-events:auto}html:not(.motion-enabled) .site-nav a{opacity:1;translate:none;filter:none}}html.is-menu-open{overflow:hidden}@media(prefers-reduced-motion:reduce){:root{--menu-exit-span: 0ms}.site-menu__scrim,.site-menu__rule,.site-menu__toggle,.site-nav a,.site-nav a:after{transition:none!important}.site-nav a{translate:none!important;filter:none!important}}.about-full{display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.intro{padding:40px var(--page-inset) 32px}.intro__content{display:flex;flex-direction:column;gap:16px}.intro h1{font-family:var(--font-ui);font-size:20px;font-weight:700;line-height:28px}.intro__body{color:var(--color-muted);font-family:var(--font-ui);font-size:14px;line-height:22px}.intro__desktop,.intro__tablet{display:none}.stories__heading{padding:12px var(--page-inset)}.stories__heading h2{color:var(--color-muted);font-family:var(--font-ui);font-size:11px;font-weight:700;line-height:normal;text-transform:uppercase}.project-filters{display:flex;gap:16px;align-items:center}.project-filters button{appearance:none;background:none;border:0;color:var(--color-muted);cursor:pointer;font:inherit;padding:0;position:relative}.project-filters button:after{background:currentColor;bottom:-4px;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:right;transition:transform var(--motion-dur-2) var(--ease-standard)}.project-filters button:focus-visible,.project-filters button.is-active{color:var(--color-text)}.project-filters button:focus-visible:after,.project-filters button.is-active:after{transform:scaleX(1);transform-origin:left}@media(hover:hover)and (pointer:fine){.project-filters button:hover{color:var(--color-text)}.project-filters button:hover:after{transform:scaleX(1);transform-origin:left}}.project-grid{display:grid;gap:32px;padding:12px var(--page-inset) 64px}.project-card{display:flex;min-height:400px;min-width:0}.project-card.is-filter-hidden{display:none}.project-card__link{display:flex;flex:1;flex-direction:column;gap:24px;min-height:inherit}.project-card__media{flex:none;height:var(--project-image-height, 280px);overflow:hidden;position:relative;width:100%}.project-card__media picture,.project-card__media img{display:block;height:100%;width:100%;position:absolute;inset:0}.project-card__media:after{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(0,0,0,.06);pointer-events:none}.project-card__media img{object-fit:cover;transform:scale(1);transition:transform var(--motion-dur-3) var(--ease-standard)}.project-card__copy{padding:0 24px 24px 0}.project-card__copy h3{position:relative;width:fit-content;max-width:100%;font-family:var(--font-primary);font-size:calc(14 * var(--fluid-unit));font-weight:700;line-height:calc(24 * var(--fluid-unit));text-box-trim:trim-both;text-box-edge:cap alphabetic}.project-card__copy h3:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--motion-dur-2) var(--ease-standard)}.project-card__copy p{font-family:var(--font-primary);font-size:calc(12 * var(--fluid-unit));line-height:calc(20 * var(--fluid-unit));margin-top:calc(16 * var(--fluid-unit));text-box-trim:trim-both;text-box-edge:cap alphabetic}.project-card__link:focus-visible:not(:active) .project-card__media img{transform:scale(1.018);transition-duration:var(--motion-dur-6);transition-timing-function:var(--ease-emerge)}.project-card__link:focus-visible:not(:active) .project-card__copy h3:after{transform:scaleX(1);transform-origin:left}@media(hover:hover)and (pointer:fine){.project-card__link:hover:not(:active) .project-card__media img{transform:scale(1.018);transition-duration:var(--motion-dur-6);transition-timing-function:var(--ease-emerge)}.project-card__link:hover:not(:active) .project-card__copy h3:after{transform:scaleX(1);transform-origin:left}}.project-card__link:active .project-card__media img{transform:scale(1);transition-duration:var(--motion-dur-1);transition-timing-function:var(--ease-recede)}@media(min-width:640px){:root{--page-gutter: 48px}.site-header{min-height:88px;padding-bottom:32px;padding-top:32px}.site-nav{gap:32px;font-size:14px}.about-full{display:inline}.about-short{display:none}.intro{padding-bottom:48px;padding-top:64px}.intro__content{gap:24px}.intro h1{font-size:24px;line-height:32px}.intro__body{font-size:16px;line-height:26px}.intro__mobile{display:none}.intro__tablet{display:block}.stories__heading{padding-bottom:16px;padding-top:16px}.stories__heading h2{font-size:12px}.project-grid{grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));column-gap:var(--grid-gap);row-gap:40px;padding:24px var(--page-inset) 80px}.project-card{--project-image-height: 360px;grid-column:span 6;min-height:500px}}@media(min-width:640px)and (max-width:1099px){.project-card--full,.project-card:nth-child(odd):has(+.project-card--full),.project-card:nth-child(odd):last-child{grid-column:span 12}}@media(min-width:1100px){:root{--page-gutter: 72px}.site-header{border-bottom:0;min-height:86px;padding-bottom:24px;padding-top:24px}.site-nav{font-family:var(--font-primary);font-size:12px;font-weight:400;position:absolute;top:32px;left:var(--page-inset);right:var(--page-inset);margin:0;display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap);pointer-events:none}.site-nav a{pointer-events:auto}.site-nav a[href="/about"]{grid-column:4;justify-self:end}.site-nav a[href*=linkedin]{grid-column:5;justify-self:end}.site-nav a[href^="mailto:"]{grid-column:6;justify-self:end}.email-options{font-family:var(--font-primary)}.site-name{font-family:var(--font-primary);font-weight:700}.intro{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap);min-height:502px;padding-left:var(--page-inset);padding-right:var(--page-inset);padding-top:221px}.intro__content{grid-column:7 / span 5;gap:calc(25 * var(--fluid-unit))}.intro h1{font-family:var(--font-primary);font-size:calc(14 * var(--fluid-unit));line-height:calc(24 * var(--fluid-unit))}.intro__body{color:var(--color-text);font-family:var(--font-primary);font-size:calc(12 * var(--fluid-unit));line-height:calc(24 * var(--fluid-unit))}.intro__tablet{display:none}.intro__desktop{display:block}.intro__desktop+.intro__desktop{margin-top:calc(24 * var(--fluid-unit))}.stories__heading{padding:24px var(--page-inset)}.project-filters{font-family:var(--font-primary);font-size:calc(14 * var(--fluid-unit));gap:calc(24 * var(--fluid-unit));line-height:calc(24 * var(--fluid-unit))}.project-grid{grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap);padding:0 var(--page-inset) 80px}.project-card--pair{--project-image-height: calc(480 * var(--fluid-unit));grid-column:span 6;min-height:calc(624 * var(--fluid-unit))}.project-card--triple{--project-image-height: calc(348 * var(--fluid-unit));grid-column:span 4;min-height:calc(492 * var(--fluid-unit))}.project-card--full{--project-image-height: calc(493 * var(--fluid-unit));grid-column:span 12;min-height:calc(637 * var(--fluid-unit))}.project-card__copy{padding-bottom:24px}}:root{--ease-emerge: cubic-bezier(0, 0, .2, 1);--ease-recede: cubic-bezier(.4, 0, 1, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-settle: cubic-bezier(.05, .7, .1, 1);--ease-morph: cubic-bezier(.2, 0, 0, 1);--motion-dur-1: .12s;--motion-dur-2: .2s;--motion-dur-3: .32s;--motion-dur-4: .44s;--motion-dur-5: .56s;--motion-dur-6: .72s;--motion-stagger-tight: 60ms;--motion-stagger-base: .1s;--motion-stagger-loose: .16s;--motion-rise-sm: 8px;--motion-rise-md: 14px;--motion-rise-lg: 20px;--motion-veil-text: 4px;--motion-veil-ui: 2px}[data-reveal]{opacity:1;transform:none;filter:none}.motion-enabled [data-reveal].motion-reveal-pending{opacity:0;transform:translateY(var(--reveal-rise, var(--motion-rise-md)))}.motion-enabled [data-reveal].motion-reveal-pending.motion-reveal-pending--veiled{filter:blur(var(--reveal-veil, var(--motion-veil-text)))}.site-name[data-name-shuffle]{display:inline-block;overflow:clip;vertical-align:top}.project-card__media,.case-study__image,.case-study__inline-media{isolation:isolate}.project-card.is-motion-selected{position:relative;z-index:1}@supports (view-transition-name: none){::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-dur-3);animation-timing-function:var(--ease-standard)}}@media(prefers-reduced-motion:reduce){.motion-enabled [data-reveal].motion-reveal-pending{opacity:1;transform:none;filter:none}.project-card__media img,.project-card__copy h3:after,.site-nav a,.site-nav a:after,.case-study__back,.case-study__back img{transition:none!important}.project-card__link:is(:hover,:focus-visible,:active) .project-card__media img,.case-study__back:is(:hover,:focus-visible,:active) img{transform:none!important}.case-study__image,::view-transition-old(root),::view-transition-new(root){animation:none!important;transition:none!important}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
