@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-cyrillic-ext-400-normal.0jubk-v6mbidb.woff2)format("woff2"),url(../media/montserrat-cyrillic-ext-400-normal.17_mjoed86o4b.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-cyrillic-400-normal.0zf55za8bifgq.woff2)format("woff2"),url(../media/montserrat-cyrillic-400-normal.1f1gpc2-j84if.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-vietnamese-400-normal.3l1tu2o9v6d22.woff2)format("woff2"),url(../media/montserrat-vietnamese-400-normal.02n3d1glr_lul.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-latin-ext-400-normal.3le1wtubbef57.woff2)format("woff2"),url(../media/montserrat-latin-ext-400-normal.2q9dsui_-353t.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-latin-400-normal.371tplw1c7x8l.woff2)format("woff2"),url(../media/montserrat-latin-400-normal.0h9x9whxy3x24.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../media/montserrat-cyrillic-ext-500-normal.1khtozzgh-cdk.woff2)format("woff2"),url(../media/montserrat-cyrillic-ext-500-normal.1f79ruouz6-js.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../media/montserrat-cyrillic-500-normal.0we8s92r43i_9.woff2)format("woff2"),url(../media/montserrat-cyrillic-500-normal.1bojmgtvd-kaz.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../media/montserrat-vietnamese-500-normal.2785ldvj3jxaa.woff2)format("woff2"),url(../media/montserrat-vietnamese-500-normal.36796l1lpf-3x.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../media/montserrat-latin-ext-500-normal.30x6k186j6w6q.woff2)format("woff2"),url(../media/montserrat-latin-ext-500-normal.3qe839fgez4d9.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(../media/montserrat-latin-500-normal.3fd_6ogmeyto1.woff2)format("woff2"),url(../media/montserrat-latin-500-normal.1mlauasb2zwb0.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-cyrillic-ext-600-normal.31tra9vgrfjm1.woff2)format("woff2"),url(../media/montserrat-cyrillic-ext-600-normal.2f05j9cxi3v9p.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-cyrillic-600-normal.3f5oz0_2-qghk.woff2)format("woff2"),url(../media/montserrat-cyrillic-600-normal.0-wsd0enj-o3l.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-vietnamese-600-normal.0dp4tegfresi_.woff2)format("woff2"),url(../media/montserrat-vietnamese-600-normal.23td7ghmn3nxc.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-latin-ext-600-normal.0ry69b_fwl7to.woff2)format("woff2"),url(../media/montserrat-latin-ext-600-normal.3e1m5x5ilp2_4.woff)format("woff");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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-latin-600-normal.26jk0xu65vwut.woff2)format("woff2"),url(../media/montserrat-latin-600-normal.0fxfd1bbg601r.woff)format("woff");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}
:root{--paper:#f7f2ec;--green:#005d49;--theme-dark:#1f1e1e;--ink:#202020;--muted:gray;--text-inverse:#fff;--line:#85817d;--page-gutter:40px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Montserrat,sans-serif;font-size:14px;line-height:1.43}button,a{font:inherit}button{cursor:pointer}a{color:inherit}.material-icon{vertical-align:middle;flex:none;display:inline-block}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}.home{background:var(--paper);isolation:isolate;min-height:100svh;position:relative;overflow:clip}.home-preview-background{z-index:-1;opacity:0;pointer-events:none;background:#101010;transition:opacity .35s;position:fixed;inset:0;overflow:hidden}.home-preview-background-layer{background-color:#101010;background-position:50%;background-size:cover;position:absolute;inset:0}.home-preview-background-layer:after{content:"";background:linear-gradient(#000000ad,#0000006b 35%,#000000ba);position:absolute;inset:0}.home-preview-background-layer--in{animation:.5s both home-background-in}.case-background:after{content:"";opacity:.18;background-image:linear-gradient(115deg,#0000 40%,#ffffff1f 50%,#0000 61%),repeating-linear-gradient(90deg,#0000 0 130px,#ffffff0a 131px 132px);position:absolute;inset:0}.home--active{color:#fff;background:#0d231e}.home--active .home-preview-background{opacity:1}.site-header{z-index:10;justify-content:space-between;align-items:center;height:88px;margin:0 40px;display:flex;position:relative}.site-header--floating{margin-inline:32px}.site-logo{width:40px;height:40px;display:inline-flex}.site-logo img{width:40px;height:40px;display:block}.header-actions{align-items:center;gap:12px;display:flex}.header-time{width:100px;height:16px;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:12px;line-height:16px;display:inline-flex}.header-clock-window{height:16px;display:block;position:relative;overflow:hidden}.header-clock-window--city{flex:none;width:28px}.header-clock-window--time{--clock-delay:.18s;flex:1}.header-clock-entry{white-space:nowrap;align-items:center;gap:4px;height:16px;display:inline-flex;position:absolute;inset:0 auto auto 0}.header-clock-entry--current{animation:header-clock-in .44s cubic-bezier(.22, 1, .36, 1) var(--clock-delay,0s) both}.header-clock-entry--initial{animation:none}.header-clock-entry--outgoing{animation:header-clock-out .44s cubic-bezier(.22, 1, .36, 1) var(--clock-delay,0s) both}.header-clock-digits{display:inline-flex}.header-clock-colon{animation:1s step-end infinite header-clock-blink}@keyframes header-clock-in{0%{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}@keyframes header-clock-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-105%)}}@keyframes header-clock-blink{0%,49.9%{opacity:1}50%,to{opacity:.2}}.icon-button{background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:opacity .18s,background-color .18s;display:inline-flex;position:relative}.icon-button img{width:40px;height:40px;display:block}.icon-button:disabled{cursor:default}.contact-button{color:var(--green);border-radius:999px;flex:none;justify-content:flex-end;transition:width .34s cubic-bezier(.2,.8,.2,1),opacity .18s,background-color .18s;overflow:hidden}.contact-button img{flex:none}.contact-button-label{white-space:nowrap;align-items:center;width:108px;height:100%;padding-left:12px;font-size:13px;font-weight:500;display:inline-flex;position:absolute;right:40px}@media (min-width:600px) and (hover:hover) and (pointer:fine){.contact-button:hover{width:148px}}@media (min-width:600px){.contact-button:focus-visible{width:148px}}.contact-button:hover{background:#00251d14}.contact-button:active{background:#00251d1f}.contact-button:focus-visible{outline:2px solid var(--green);outline-offset:0;background:#00251d1f}.contact-button:disabled{opacity:.5;background:0 0;outline:none}.theme-control{flex:none;width:40px;height:40px;display:inline-flex;position:relative}.theme-control .icon-button{z-index:1}.theme-control .icon-button:hover{opacity:1;background:#00251d14}.theme-control .icon-button:active{background:#00251d1f}.theme-control .icon-button:focus-visible,.theme-control--open .icon-button{outline:2px solid var(--green);outline-offset:0;background:#00251d1f}.theme-control--open .icon-button:hover{background:#00251d1f}.theme-control .icon-button:disabled{opacity:.5;background:0 0;outline:none}.theme-icon{width:24px;height:24px;display:block;position:relative}.theme-control .theme-icon img{width:24px;height:24px;transition:opacity .18s;position:absolute;inset:0}.theme-control .theme-icon-filled{opacity:0}.theme-control--open .theme-icon{animation:.52s ease-out both theme-icon-bounce}.theme-control--open .theme-icon-outline{opacity:0}.theme-control--open .theme-icon-filled{opacity:1}@keyframes theme-icon-bounce{0%{transform:translate(-9px)scale(.78)}58%{transform:translate(3px)scale(1.12)}78%{transform:translate(-1px)scale(.98)}to{transform:translate(0)scale(1)}}.theme-colors{pointer-events:none;position:absolute;inset:0}.theme-color{opacity:0;border-radius:50%;width:20px;height:20px;transition:transform .36s cubic-bezier(.4,0,.6,1),opacity .22s;display:block;position:absolute;top:calc(50% - 10px);left:calc(50% - 10px);transform:translate(0)scale(.15)}.theme-control--open .theme-color{opacity:1;transform:translate(var(--theme-x), var(--theme-y)) scale(1);transition:transform .52s linear(0, .12 13%, .73 40%, 1.07 60%, .98 78%, 1), opacity .18s ease}.theme-color--dark{--theme-x:-25px;--theme-y:29px;background:var(--theme-dark)}.theme-color--light{--theme-x:-1px;--theme-y:38px;background:var(--paper);box-shadow:inset 0 0 0 1px #2020202e}.theme-color--color{--theme-x:23px;--theme-y:30px;background:var(--green)}.site-header--inverse .site-logo img,.site-header--inverse .icon-button img{filter:brightness(0)invert()}.site-header--inverse .contact-button{color:#fff}.site-header--inverse .contact-button:hover{background:#b6d1cb14}.site-header--inverse .contact-button:active,.site-header--inverse .contact-button:focus-visible{background:#b6d1cb1f}.site-header--inverse .contact-button:focus-visible{outline-color:#e8f0ef}.site-header--inverse .contact-button:disabled{background:0 0}.site-header--inverse .theme-control .icon-button:hover{background:#b6d1cb14}.site-header--inverse .theme-control .icon-button:active,.site-header--inverse .theme-control .icon-button:focus-visible,.site-header--inverse .theme-control--open .icon-button{background:#b6d1cb1f;outline-color:#fff}.site-header--inverse .theme-control--open .icon-button:hover{background:#b6d1cb1f}.site-header--inverse .theme-control .icon-button:disabled{background:0 0}.site-header--inverse .header-time{color:#fff}@media (max-width:1239px){.theme-control{width:32px;height:32px}.theme-icon,.theme-control .theme-icon img{width:16px;height:16px}.theme-color--dark{--theme-x:-24px;--theme-y:24px}.theme-color--light{--theme-x:0px;--theme-y:34px}.theme-color--color{--theme-x:24px;--theme-y:24px}}@media (prefers-reduced-motion:reduce){.theme-color,.theme-control .theme-icon img,.theme-control--open .theme-color{transition:none}.theme-control--open .theme-icon,.header-clock-entry--current,.header-clock-colon{animation:none}.header-clock-entry--outgoing{display:none}}.home-main{min-height:calc(100svh - 88px);margin:0 var(--page-gutter);position:relative}.home>.site-header{animation:.5s cubic-bezier(.22,1,.36,1) .87s both home-intro-enter}.intro{width:min(704px,58vw);position:absolute;top:0;left:0}.greeting{color:var(--green);margin:0 0 16px}.greeting p{margin:0}.greeting p:first-child{font-size:16px;font-weight:500;line-height:24px}.reveal-text{white-space:pre-wrap;display:inline-flex}.reveal-character{opacity:0;animation:.3s forwards reveal-character;display:inline-block;transform:translateY(8px)}.intro-paragraphs p{opacity:0;max-width:704px;margin:0 0 8px;animation:.55s forwards reveal-paragraph;transform:translateY(8px)}.intro-paragraphs p:first-child{opacity:1;animation:none;transform:none}.intro-phrase{white-space:nowrap;opacity:0;clip-path:inset(0 0 100%);animation:.52s cubic-bezier(.22,1,.36,1) both intro-phrase-enter;display:inline-block;transform:translateY(8px)}.about-hover-word{white-space:nowrap;display:inline-block}.about-hover-letter-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.about-hover-letter{transition:transform .34s cubic-bezier(.2,.8,.2,1),color .34s;display:inline-block;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.intro-paragraphs p:hover .about-hover-letter{color:var(--green);transition-delay:var(--hover-letter-delay);transform:translateY(-2px)}}.intro-paragraphs p:nth-child(2){animation-delay:1.9s}.intro-paragraphs p:nth-child(3){animation-delay:2.2s}.intro-links{opacity:0;flex-wrap:wrap;align-items:center;gap:24px;margin-top:18px;animation:.55s 2.45s forwards reveal-paragraph;display:flex}.intro-links button,.intro-links a{color:var(--muted);background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:4px;padding:0;line-height:20px;text-decoration:none;display:inline-flex}.intro-links button:first-child{color:var(--green)}.mobile-scroll-cue{display:none}.projects{width:min(461px,36vw);position:absolute;bottom:40px;right:0}.projects-heading{display:none}.project-list{width:100%}.project-row{animation:home-project-row-enter .62s cubic-bezier(.22,1,.36,1) var(--project-entrance-delay) backwards;border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:48px;color:var(--ink);background:0 0;align-items:center;gap:12px;padding:0 12px;transition:padding-left .22s,color .22s,opacity .22s;display:flex}.project-row:hover,.project-row--active,.project-row:focus-visible,.project-row:active{color:var(--green);padding-left:32px}.project-row:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid}.project-number{width:24px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.project-number .material-icon{width:24px;height:24px}.project-arrow{animation:.52s ease-out both project-arrow-bounce}.project-row:hover .project-number,.project-row--active .project-number,.project-row:focus-visible .project-number,.project-row:active .project-number{color:inherit}.project-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:16px;overflow:hidden}.project-title-letter-mask{white-space:pre;vertical-align:bottom;display:inline-block;overflow:hidden}.project-title-letter{transition:transform .34s cubic-bezier(.2,.8,.2,1);display:inline-block;transform:translateY(0)}.project-row:hover .project-title-letter,.project-row--active .project-title-letter,.project-row:focus-visible .project-title-letter,.contact-button:hover .project-title-letter,.contact-button:focus-visible .project-title-letter{transition-delay:calc(var(--letter-index) * 12ms);transform:translateY(-2px)}@keyframes project-arrow-bounce{0%{opacity:0;transform:translate(-9px)scale(.85)}58%{opacity:1;transform:translate(3px)scale(1.06)}78%{transform:translate(-1px)scale(.99)}to{opacity:1;transform:translate(0)scale(1)}}.lock-icon{color:var(--muted);opacity:.6;flex:none}.home-footer{left:var(--page-gutter);width:min(343px, calc(100vw - 2 * var(--page-gutter)));color:var(--muted);position:absolute;bottom:40px}.footer-social{align-items:center;gap:8px;margin-bottom:16px;display:flex}.footer-icon{background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;padding:8px;display:grid}.footer-icon img{width:24px;height:24px;display:block}.footer-icon:disabled{cursor:default}.footer-copy{margin:0;font-size:14px;line-height:20px}.home-footer{animation:.6s cubic-bezier(.22,1,.36,1) 2.45s both home-intro-enter}@media (min-width:1240px){.intro-links{display:none}.home-footer{width:560px}}.home--active .intro,.home--active .home-footer{visibility:hidden;pointer-events:none}.home--active .project-row{color:#fff;border-color:#fff}.home--active .project-row:not(.project-row--active):not(:hover):not(:focus-visible):not(:active){opacity:.3}.home--active .project-row--active,.home--active .project-row:hover,.home--active .project-row:focus-visible,.home--active .project-row:active{border-color:#fff6}.home--active .project-number{color:inherit}.home--active .lock-icon{color:inherit;opacity:1}.home--active .project-row--active .lock-icon,.home--active .project-row:hover .lock-icon,.home--active .project-row:focus-visible .lock-icon,.home--active .project-row:active .lock-icon{opacity:.6}.project-preview{left:var(--page-gutter);color:#fff;width:min(580px,48vw);position:fixed;bottom:40px}.preview-placeholder{aspect-ratio:1.5;color:#555;border-radius:8px;width:100%;margin-bottom:20px;position:relative;overflow:hidden}.preview-media{background-color:#eee;background-image:linear-gradient(45deg,#e1e1e1 25%,#0000 25%),linear-gradient(-45deg,#e1e1e1 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e1e1e1 75%),linear-gradient(-45deg,#0000 75%,#e1e1e1 75%);background-position:0 0,0 16px,16px -16px,-16px 0;background-size:32px 32px;justify-content:flex-start;align-items:flex-end;padding:16px;display:flex;position:absolute;inset:0}.preview-media--image{background-position:50%;background-size:cover;padding:0}.preview-placeholder span{background:#fffc;border-radius:4px;padding:5px 7px;font-size:11px}.project-opening{z-index:100;top:var(--open-top);left:var(--open-left);width:var(--open-width);height:var(--open-height);border-radius:var(--open-radius);pointer-events:auto;background-color:#eee;background-image:linear-gradient(45deg,#e1e1e1 25%,#0000 25%),linear-gradient(-45deg,#e1e1e1 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e1e1e1 75%),linear-gradient(-45deg,#0000 75%,#e1e1e1 75%);background-position:0 0,0 16px,16px -16px,-16px 0;background-size:32px 32px;align-items:flex-end;padding:16px;transition:top .68s cubic-bezier(.22,1,.36,1),left .68s cubic-bezier(.22,1,.36,1),width .68s cubic-bezier(.22,1,.36,1),height .68s cubic-bezier(.22,1,.36,1),border-radius .68s cubic-bezier(.22,1,.36,1),opacity .2s;display:flex;position:fixed;overflow:hidden}.project-opening--image{background:#172922;padding:0}.project-opening-image{width:var(--open-width);height:var(--open-height);background-size:cover;background-position:var(--open-position);transition:transform .68s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.project-opening span{color:#555;background:#fffc;border-radius:4px;padding:5px 7px;font-size:11px}.project-opening--expanded,.project-opening--fading{border-radius:0;width:100vw;height:100dvh;top:0;left:0}.project-opening--expanded .project-opening-image,.project-opening--fading .project-opening-image{transform:translate(-50%, -50%) scale(var(--open-scale))}.project-opening--fading{opacity:0;pointer-events:none}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.preview-text h2{margin:5px 0 6px;font-size:22px;font-weight:500;line-height:1.2}.preview-text p{margin:0 0 12px}.preview-description-tail{white-space:nowrap}.case-tags{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.case-tags li{color:#656565;white-space:nowrap;background:#dfdcd8;border-radius:999px;padding:5px 10px;font-size:12px;line-height:16px}.preview-text .case-tags{margin:0 0 12px}.preview-text .case-tags li{color:#fff;background:#ffffff2e}.preview-text button{color:#fff;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:4px;padding:0 0 2px;display:inline-flex}.preview-text .preview-close{color:#c8c8c8;margin-left:24px}@media (min-width:1240px){.project-preview{--preview-wide-width:min(38.56vw, 583px);--preview-wide-height:calc(var(--preview-wide-width) * .665523);--preview-square-size:min(30.49vw, 461px);--preview-list-width:min(461px, 36vw);--preview-detail-height:132px;z-index:2;pointer-events:none;width:auto;position:fixed;inset:0}.project-preview--in{z-index:3}.project-preview .preview-placeholder{left:var(--page-gutter);top:calc(100svh - 40px - var(--preview-wide-height));width:var(--preview-wide-width);height:var(--preview-wide-height);aspect-ratio:auto;margin:0;position:absolute}.project-preview--media-above .preview-placeholder{top:calc(100svh - 80px - var(--preview-detail-height) - var(--preview-wide-height))}.project-preview--square-below .preview-placeholder,.project-preview--split-top .preview-placeholder,.project-preview--split .preview-placeholder{top:calc(100svh - 40px - var(--preview-square-size));width:var(--preview-square-size);height:var(--preview-square-size)}.project-preview .preview-text{left:var(--page-gutter);top:calc(100svh - 80px - var(--preview-detail-height) - var(--preview-wide-height));width:var(--preview-wide-width);min-height:var(--preview-detail-height);pointer-events:auto;position:absolute}.project-preview--out .preview-text{pointer-events:none}.project-preview--square-below .preview-text{top:auto;bottom:calc(64px + var(--preview-square-size));width:var(--preview-square-size);min-height:0}.project-preview--media-above .preview-text,.project-preview--split .preview-text,.project-preview--text-only .preview-text{top:calc(100svh - 40px - var(--preview-detail-height))}.project-preview--split-top .preview-text,.project-preview--split .preview-text{left:calc(var(--page-gutter) + var(--preview-square-size) + 24px);width:calc(100vw - 2 * var(--page-gutter) - var(--preview-list-width) - var(--preview-square-size) - 48px)}.project-preview--split-top .preview-text{top:calc(100svh - 40px - var(--preview-square-size) + 32px)}.project-preview--details-above .preview-text{top:auto;bottom:calc(64px + var(--preview-wide-height));width:var(--preview-wide-width);min-height:0}.project-preview--details-above .preview-detail--out{inset:auto 0 0}.project-preview--details-above .case-tags{flex-wrap:nowrap;width:max-content}.project-preview .preview-text h2{margin-top:0}.project-preview--tagged .preview-text h2{margin:0 0 4px;font-size:40px;font-weight:600;line-height:48px}.project-preview--tagged .preview-text p{text-wrap:balance;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}.project-preview[data-project=toyota] .preview-text p{display:block;overflow:visible}.project-preview--tagged .preview-text .case-tags{gap:4px;margin:16px 0 0}.project-preview--tagged .preview-text .case-tags li{color:#fffc;background:#cfcfcf4d;padding:2px 8px;font-size:14px;line-height:20px}.project-preview .preview-text button{display:none}.preview-media--in{animation:.5s cubic-bezier(.22,1,.36,1) both preview-mask-wide-in}.preview-media--out{animation:.28s cubic-bezier(.22,1,.36,1) both preview-mask-wide-out}.preview-media--split-top.preview-media--in,.preview-media--split.preview-media--in{animation-name:preview-mask-tall-in}.preview-media--split-top.preview-media--out,.preview-media--split.preview-media--out{animation-name:preview-mask-tall-out}.preview-detail--in{animation:.5s cubic-bezier(.22,1,.36,1) both preview-detail-in}.preview-detail--out{width:100%;animation:.28s cubic-bezier(.22,1,.36,1) both preview-detail-out;position:absolute;inset:0 0 auto}.project-preview--square-below .preview-detail--out{inset:auto 0 0}.preview-detail--details-above,.preview-detail--split-top,.preview-detail--split{--detail-shift-x:24px;--detail-shift-y:0px}.preview-detail--square-below,.preview-detail--media-above,.preview-detail--text-only{--detail-shift-x:0px;--detail-shift-y:24px}}@keyframes preview-mask-wide-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes home-background-in{0%{opacity:0}to{opacity:1}}@keyframes preview-mask-wide-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@keyframes preview-mask-tall-in{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes preview-mask-tall-out{0%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@keyframes preview-detail-in{0%{opacity:0;transform:translate(var(--detail-shift-x), var(--detail-shift-y))}to{opacity:1;transform:translate(0)}}@keyframes preview-detail-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(var(--detail-shift-x) * -1), calc(var(--detail-shift-y) * -1))}}.dialog-backdrop{z-index:50;background:#000000a3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card{background:var(--paper);width:min(440px,100%);color:var(--ink);padding:34px;position:relative;box-shadow:0 20px 70px #00000038}.dialog-card .eyebrow{color:var(--green)}.dialog-card h2{margin:8px 0 16px;font-size:24px;font-weight:500}.dialog-card p:last-child{margin-bottom:0}.dialog-contact-link{color:var(--green);text-underline-offset:3px}.dialog-close{width:36px;height:36px;color:var(--ink);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:18px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.notice-scrim{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#20202099;position:fixed;inset:0}.notice-content{place-items:center;padding:40px;display:grid;position:absolute;inset:0}.notice-close{color:#fff;background:0 0;border:0;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:40px;right:40px}.notice-close:hover{background:#ffffff14;border-radius:50%}.notice-close:focus-visible,.notice-contact:focus-visible{outline-color:#fff}.notice-message{text-align:center;flex-direction:column;align-items:center;gap:24px;width:min(33.3333vw - 42.6667px,100%);font-size:16px;line-height:24px;display:flex}.notice-message p{margin:0}.notice-contact{color:inherit;line-height:inherit;background:0 0;border:0;border-bottom:1px solid;padding:0;display:inline}.notice-contact:hover{opacity:.7}.notice-hourglass{width:51px;height:48px;display:block}@media (max-width:1239px) and (min-width:600px){.notice-content{padding:32px}.notice-close{top:32px;right:32px}}@media (max-width:1239px) and (min-width:905px){.notice-message{width:min(50vw - 22px,100%)}}@media (max-width:904px) and (min-width:600px){.notice-message{width:min(50vw - 44px,100%)}.notice-content--locked .notice-message{transform:translateY(-12px)}}@media (max-width:599px){.notice-content{padding:16px}.notice-close{top:16px;right:16px}.notice-message{gap:16px;width:100%}.notice-content--locked .notice-message{transform:translateY(-12px)}}.case-study{color:#fff;isolation:isolate;position:relative}.case-close{z-index:12;right:var(--page-gutter);color:#003d2e;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:background-color .18s;display:grid;position:absolute}.not-found{min-height:100svh;padding:10vw}.not-found h1{font-weight:500}.not-found a{color:var(--green);align-items:center;gap:4px;display:inline-flex}@keyframes reveal-character{to{opacity:1;transform:translateY(0)}}@keyframes reveal-paragraph{to{opacity:1;transform:translateY(0)}}@keyframes intro-phrase-enter{to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes home-intro-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes home-project-row-enter{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-18px)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}@media (max-width:1239px) and (min-width:600px){:root{--page-gutter:32px}.site-header{height:80px;margin-inline:32px}.site-header--floating{margin-inline:24px}.header-actions{gap:8px}.icon-button,.icon-button img{width:32px;height:32px}.contact-button-label{right:32px}.contact-button:hover,.contact-button:focus-visible{width:140px}.intro{width:min(600px,62vw)}.projects{width:min(390px,44vw)}.project-title{font-size:14px}.home-footer{width:min(343px, calc(100vw - 2 * var(--page-gutter)))}.footer-social{gap:4px;margin-bottom:8px}.project-preview{width:min(480px,48vw)}}@media (max-width:599px){:root{--page-gutter:16px}.site-header{height:64px;margin:0 16px}.site-header--floating{margin-inline:20px}.site-logo,.site-logo img,.icon-button,.icon-button img{width:32px;height:32px}.contact-button-label{display:none}.header-actions{gap:8px}.home{overflow:visible}.home-main{min-height:0;margin:0}.intro{flex-direction:column;width:100%;min-height:calc(100svh - 64px);padding:16px 16px 24px;display:flex;position:relative}.intro-copy{max-width:520px}.intro-paragraphs p{margin-bottom:10px;line-height:20px}.intro-links{gap:18px;margin-top:16px}.mobile-scroll-cue{color:var(--muted);text-underline-offset:3px;align-self:center;align-items:center;gap:4px;margin-top:auto;padding-top:48px;display:inline-flex}.projects{width:100%;padding:84px 16px 40px;position:relative}.projects-heading{color:var(--green);margin:0 0 20px;font-size:16px;display:block}.project-row{min-height:44px;animation:none}.project-title{font-size:14px}.home-footer{width:auto;padding:42px 16px 24px;position:relative;bottom:auto;left:auto}.footer-social{gap:4px;margin-bottom:8px}.footer-copy{font-size:12px;line-height:16px}.home--active{min-height:100svh}.home--active .home-main{min-height:calc(100svh - 64px)}.home--active .projects{min-height:calc(100svh - 64px);padding-top:min(32svh,220px);padding-bottom:280px}.home--active .projects-heading{display:none}.project-preview{width:auto;position:absolute;bottom:30px;left:24px;right:24px}.preview-placeholder{display:none}.preview-text h2{font-size:18px}.preview-text p{font-size:13px}.preview-text .preview-close{margin-left:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-row{transition:none;animation:none}.project-arrow{animation:none}.project-title-letter,.contact-button{transition:none}.contact-button:hover .project-title-letter,.contact-button:focus-visible .project-title-letter{transform:none}.about-hover-letter{transition:none}.intro-paragraphs p:hover .about-hover-letter{transform:none}.home-preview-background{transition:none}.home-preview-background-layer{animation:none}.project-preview .preview-placeholder,.project-preview .preview-text{transition:none}.preview-media,.preview-detail{animation:none!important}.project-opening,.project-opening-image{transition:none}.home>.site-header,.home-footer,.reveal-character,.intro-paragraphs p,.intro-links{opacity:1;animation:none;transform:none}.intro-phrase{opacity:1;clip-path:none;animation:none;transform:none}}.case-study{--case-entrance-duration:1.2s;background:#172922;height:100svh;min-height:360px;position:relative;overflow:hidden}.case-study--awaiting-open .site-header,.case-study--awaiting-open .case-close,.case-study--awaiting-open .case-intro,.case-study--awaiting-open .chapter-navigation{visibility:hidden}.case-study--awaiting-open .case-intro--entering,.case-study--awaiting-open .chapter-navigation--entering .chapter-items,.case-study--awaiting-open .chapter-navigation--entering .chapter-item,.case-study--awaiting-open .chapter-navigation--entering .chapter-item-title,.case-study--awaiting-open .site-header,.case-study--awaiting-open .case-close{animation-play-state:paused}.case-study--awaiting-chapters .chapter-navigation{visibility:hidden}.case-study--awaiting-chapters .chapter-navigation--entering .chapter-items,.case-study--awaiting-chapters .chapter-navigation--entering .chapter-item,.case-study--awaiting-chapters .chapter-navigation--entering .chapter-item-title{animation-play-state:paused}.case-visual-stage{z-index:0;position:absolute;inset:0}.case-media{z-index:0;background:#20392f;position:absolute;inset:0}@media (min-width:1440px),(max-width:599px){.case-media{transition:transform .3s cubic-bezier(.22,1,.36,1)}.case-study--overview .case-media{transform:translateY(var(--case-intro-bottom))}.case-study--chapter .case-media{transition-duration:.22s;transform:translateY(0)}.case-study--intro-entering.case-study--overview .case-visual-stage{animation:.65s cubic-bezier(.4,0,.2,1) both case-visual-push}.case-study--from-home.case-study--intro-entering.case-study--overview .case-visual-stage{animation-duration:var(--case-entrance-duration)}.case-study--intro-entering.case-study--overview .case-intro--entering,.case-study--intro-entering.case-study--overview .case-media-placeholder{animation:none}.case-study--awaiting-open .case-visual-stage{animation-play-state:paused}}@keyframes case-visual-push{0%{transform:translateY(calc(-1 * var(--case-intro-bottom)))}to{transform:translateY(0)}}.case-media-placeholder{text-align:center;background:linear-gradient(125deg,#203c33,#536c5f 52%,#172b26);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;animation:.42s both case-scene-in;display:flex;position:absolute;inset:0}.case-media-placeholder:after{content:"";z-index:1;pointer-events:none;background-color:#0000001a;background-image:linear-gradient(#0000004d 0%,#0000 30%),linear-gradient(270deg,#0000 60%,#000c 100%);position:absolute;inset:0}.case-media-placeholder--opening{animation:none}.case-media-placeholder span{z-index:2;text-transform:uppercase;letter-spacing:.1em;opacity:.75;font-size:11px;position:relative}.case-media-placeholder strong{z-index:2;font-size:clamp(20px,3vw,38px);font-weight:400;position:relative}@media (min-width:1240px){.case-media-placeholder{padding-left:min(44vw,560px)}.case-media-placeholder strong{max-width:520px}}.case-media-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.case-media-image--opening{width:var(--opening-source-width);height:var(--opening-source-height);object-position:var(--opening-object-position);transform:translate(-50%, -50%) scale(var(--opening-cover-scale));inset:50% auto auto 50%}.case-device-stage{z-index:2;pointer-events:none;position:absolute;inset:0}.case-device-frame{background:#fff;animation:.56s cubic-bezier(.22,1,.36,1) .44s both case-device-rise-in;position:absolute;top:53.67%;overflow:hidden;transform:translateY(-50%);box-shadow:0 4px 8px 3px #00000026,0 1px 3px #0000004d}.case-device-frame:nth-child(2){animation-delay:.62s}.case-device-frame--desktop{aspect-ratio:813/528;border-radius:24px;width:min(53.77vw,813px);right:5.29%}.case-device-frame--mobile{aspect-ratio:294/638;border-radius:40px;width:min(19.44vw,294px);right:26.39%}.case-device-stage--paired .case-device-frame--desktop,.case-device-stage--paired .case-device-frame--mobile{right:7.87%}.case-device-frame img{object-fit:contain;width:100%;height:100%;display:block}@media (max-width:1239px){.case-device-stage{display:none}}.case-header-motion{z-index:12;background:#f9f5f1;position:absolute;inset:0 0 auto}.case-study--chapter .case-header-motion{background:0 0}.case-study .site-header{position:relative}.case-study--from-home .site-header,.case-study--from-home .case-close{animation:case-header-enter var(--case-entrance-duration) cubic-bezier(.25,.55,.25,1) both}.case-study--from-home.case-study--awaiting-open .site-header,.case-study--from-home.case-study--awaiting-open .case-close{animation-play-state:paused}@keyframes case-header-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.case-close{top:102px}.case-close .material-icon path{stroke:#fff;stroke-width:2px;stroke-linejoin:round;paint-order:stroke fill}.case-close:hover{background:#00251d14}.case-close:active,.case-close:focus-visible{background:#00251d1f}.case-close:focus-visible{outline-offset:0;outline:2px solid #003d2e;box-shadow:0 0 0 2px #fff}.case-main{z-index:2;position:absolute;inset:0}.case-intro{--intro-top:0px;z-index:1;top:var(--intro-top);min-height:200px;color:var(--ink);background:var(--paper);padding:92px 40px 24px;position:absolute;left:0;right:0}.case-intro h1{margin:0 0 8px;font-size:clamp(22px,2vw,34px);font-weight:500;line-height:1.15}.case-intro>p{max-width:600px;margin:0}.case-intro{opacity:1;visibility:visible;transition:opacity .3s ease-out,transform .3s ease-out,visibility;transform:translateY(0)}.case-intro--entering{animation:.55s cubic-bezier(.22,1,.36,1) both case-intro-enter}@media (min-width:600px) and (max-width:1439px){.case-study--from-home .case-intro--entering{animation-duration:var(--case-entrance-duration)}}.case-study--chapter .case-intro{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease-out,transform .22s ease-out,visibility 0s .22s;transform:translateY(-8px)}@keyframes case-intro-enter{0%{transform:translateY(calc(-100% - var(--intro-top)))}to{transform:translateY(0)}}.chapter-navigation{--chapter-description-limit:184px;--chapter-surface:#202020;--chapter-text-current:var(--text-inverse);--chapter-text-inactive:var(--muted);--chapter-duration:.48s;--chapter-motion:var(--chapter-duration) cubic-bezier(.25,.8,.25,1);left:80px;top:var(--case-intro-bottom);scrollbar-width:thin;box-sizing:content-box;flex-direction:column;justify-content:safe center;width:calc(33.3333% - 69.3333px);margin-left:-3px;padding:3px;transition:top .3s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:0;overflow-y:auto}.case-study--chapter .chapter-navigation{transition-duration:.22s;top:88px}.chapter-adjacent-arrow{display:none}.chapter-items{--chapter-description-height:min(var(--chapter-content-height,var(--chapter-description-limit)), var(--chapter-description-limit));flex-direction:column;gap:8px;min-width:0;display:flex}.chapter-item{width:min(100%, var(--chapter-pill-width,140px));background:var(--chapter-surface);transition:width var(--chapter-motion), border-radius var(--chapter-motion);border-radius:22px;flex:none;overflow:clip}.chapter-item--active{border-radius:8px;width:100%}.chapter-item-heading{margin:0;font-size:14px;font-weight:500;line-height:20px}.chapter-item-title{background:var(--chapter-surface);color:#fff;text-align:left;border:0;align-items:center;width:100%;min-height:44px;padding:12px;font-weight:500;line-height:20px;transition:background-color .18s;display:flex;position:relative}.chapter-title-label{white-space:nowrap;flex:none;width:max-content}.chapter-plus-icon{opacity:1;width:20px;transition:width var(--chapter-motion), margin-right var(--chapter-motion), opacity var(--chapter-motion);flex:none;margin-right:8px;display:inline-flex;overflow:hidden}.chapter-item--active .chapter-plus-icon{opacity:0;width:0;margin-right:0}.chapter-collapse-icon{color:gray;opacity:0;transition:opacity var(--chapter-motion);display:inline-flex;position:absolute;right:12px}.chapter-item--active .chapter-collapse-icon{opacity:1}.chapter-item:has(.chapter-item-title:focus-visible){outline-offset:1px;outline:2px solid #fff}.chapter-item-title:hover,.chapter-step:hover{background:#2e2e2e}.chapter-item-title:active,.chapter-step:active{background:#353535}.chapter-item-description:focus-visible,.chapter-step:focus-visible{outline-offset:1px;outline:2px solid #fff}.chapter-item-title:focus-visible{outline:none}.chapter-item--disabled{opacity:.38}.chapter-item-title:disabled{cursor:default}.chapter-item-expansion{background:var(--chapter-surface);visibility:hidden;transition:grid-template-rows var(--chapter-motion), visibility 0s var(--chapter-duration);border-radius:0 0 8px 8px;grid-template-rows:0fr;display:grid}.chapter-item--active .chapter-item-expansion{visibility:visible;transition:grid-template-rows var(--chapter-motion), visibility 0s;grid-template-rows:1fr}.chapter-item-clip{min-height:0;overflow:hidden}.chapter-item-description{width:var(--chapter-body-width,100%);height:var(--chapter-description-height);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7c7976 transparent;transition:height var(--chapter-motion);border-radius:0 0 8px 8px;padding:12px;font-size:14px;line-height:20px;overflow-y:auto}.chapter-item-description:focus-visible{outline-offset:-3px}.chapter-text-section{color:var(--chapter-text-inactive);padding-bottom:16px}.chapter-text-section[data-current=true]{color:var(--chapter-text-current)}.chapter-text-section:last-child{padding-bottom:0}.chapter-text-section[role=button]{cursor:pointer}.chapter-text-section[role=button]:focus-visible{outline-offset:2px;outline:1px solid #fff}.chapter-text-section h3{font-size:inherit;margin:0 0 8px;font-weight:600}.chapter-text-section p{margin:0;font-weight:400}@media (min-width:905px) and (hover:hover) and (pointer:fine){.chapter-item-description{scrollbar-color:transparent transparent}.chapter-item--active:hover .chapter-item-description,.chapter-item--active:focus-within .chapter-item-description{scrollbar-color:#7c7976 transparent}.chapter-item-description::-webkit-scrollbar{width:12px}.chapter-item-description::-webkit-scrollbar-track{background:0 0}.chapter-item-description::-webkit-scrollbar-thumb{background:padding-box padding-box;border:4px solid #0000;border-radius:999px}.chapter-item--active:hover .chapter-item-description::-webkit-scrollbar-thumb{background-color:#7c7976}.chapter-item--active:focus-within .chapter-item-description::-webkit-scrollbar-thumb{background-color:#7c7976}@supports selector(::-webkit-scrollbar){.chapter-item-description,.chapter-item--active:hover .chapter-item-description,.chapter-item--active:focus-within .chapter-item-description{scrollbar-width:auto;scrollbar-color:auto}}}.chapter-item--active .chapter-text-reveal{animation:chapter-text-in .26s cubic-bezier(.25,.8,.25,1) var(--chapter-duration) both}@keyframes chapter-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chapter-step{color:#fff;background:var(--chapter-surface);border:0;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:none;position:relative}.chapter-step:after{content:"";position:absolute;inset:-2px}.chapter-step--next:after{left:-4px;right:0}.chapter-step--previous:after{left:0;right:-4px}.chapter-step--first,.chapter-step--last{border-radius:1000px;gap:8px;width:max-content;min-height:44px;margin-top:8px;padding:0 12px;display:flex}.chapter-step--first{margin-top:0;margin-bottom:8px}.chapter-step:disabled{opacity:.38;cursor:default}.chapter-next-label{font-size:12px}@keyframes case-scene-in{0%{opacity:.25}to{opacity:1}}@keyframes case-device-rise-in{0%{opacity:0;transform:translateY(calc(24px - 50%))}to{opacity:1;transform:translateY(-50%)}}@keyframes chapter-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chapter-expand-in{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@media (min-width:1240px) and (max-width:1439px){.case-intro{--intro-top:112px;width:340px;min-height:0;padding:20px;left:40px;right:auto}}@media (max-width:1239px){.case-intro{--intro-top:80px;width:min(340px,100% - 64px);min-height:0;padding:18px;left:32px;right:auto}.chapter-navigation,.case-study--chapter .chapter-navigation{--chapter-gap:16px;--chapter-description-limit:min(153px, calc(100svh - 200px));top:auto;left:0;right:0;bottom:max(32px, env(safe-area-inset-bottom));box-sizing:border-box;grid-template-columns:40px minmax(0,1fr) 40px;align-items:end;gap:16px;width:auto;margin:0;padding:0;transition:none;display:grid;overflow:visible}.chapter-navigation--overview{padding:3px 16px;display:block}.chapter-navigation--overview .chapter-items{scrollbar-width:thin;flex-direction:row;padding:3px;overflow-x:auto}.chapter-navigation--overview .chapter-item{width:var(--chapter-pill-width,140px)}.chapter-navigation--overview .chapter-item-expansion{display:none}.chapter-navigation--expanded .chapter-items{height:calc(44px + var(--chapter-description-height));transition:height var(--chapter-motion);grid-area:1/2;position:relative}.chapter-navigation--expanded .chapter-item{visibility:hidden;pointer-events:none;width:40px;transform:translateX(calc(var(--chapter-body-width) + var(--chapter-gap) + 56px));transition:width var(--chapter-motion), border-radius var(--chapter-motion), transform var(--chapter-motion), visibility 0s var(--chapter-duration);border-radius:1000px 0 0 1000px;position:absolute;bottom:0;left:0}.chapter-navigation--expanded .chapter-item[data-offset="-2"]{transform:translateX(calc(-96px - var(--chapter-gap)));border-radius:0 1000px 1000px 0}.chapter-navigation--expanded .chapter-item[data-offset="-1"]{transform:translateX(calc(-40px - var(--chapter-gap)));border-radius:0 1000px 1000px 0}.chapter-navigation--expanded .chapter-item[data-offset="1"]{transform:translateX(calc(var(--chapter-body-width) + var(--chapter-gap)))}.chapter-navigation--expanded .chapter-item[data-offset="-1"],.chapter-navigation--expanded .chapter-item[data-offset="1"],.chapter-navigation--expanded .chapter-item--active{visibility:visible;pointer-events:auto;transition:width var(--chapter-motion), border-radius var(--chapter-motion), transform var(--chapter-motion), visibility 0s}.chapter-navigation--expanded .chapter-item--active{border-radius:8px;width:100%;transform:translate(0)}.chapter-navigation--expanded .chapter-item-title{height:40px;min-height:40px;transition:height var(--chapter-motion), min-height var(--chapter-motion), padding var(--chapter-motion), background-color .18s ease;padding:10px 12px}.chapter-navigation--expanded .chapter-item--active .chapter-item-title{height:44px;min-height:44px;padding:12px}.chapter-navigation--expanded .chapter-plus-icon{display:none}.chapter-navigation--expanded .chapter-title-label{opacity:0;transition:opacity var(--chapter-motion)}.chapter-navigation--expanded .chapter-item--active .chapter-title-label{opacity:1}.chapter-navigation--expanded .chapter-adjacent-arrow{opacity:1;transition:opacity var(--chapter-motion);display:inline-flex;position:absolute;top:10px;left:10px}.chapter-navigation--expanded .chapter-item--active .chapter-adjacent-arrow{opacity:0}.chapter-navigation--expanded .chapter-step:not(.chapter-step--first):not(.chapter-step--last){display:none}.chapter-step{z-index:2;display:flex}.chapter-step--previous{border-radius:0 1000px 1000px 0;grid-area:1/1}.chapter-step--next{border-radius:1000px 0 0 1000px;grid-area:1/3}.chapter-step--first,.chapter-step--last{width:40px;min-height:40px;margin:0;padding:0}.chapter-next-label{display:none}.chapter-step--previous:disabled{visibility:hidden}.chapter-navigation--overview .chapter-step{display:none}}@media (min-width:905px) and (max-width:1239px){.chapter-navigation{--chapter-description-limit:min(184px, calc(100svh - 200px));grid-template-columns:minmax(40px,calc(9.09091% - 19.6364px)) minmax(0,1fr) 40px}}@media (max-width:599px){.case-study .site-header{margin:0 16px}.case-close{top:76px;right:16px}.case-intro{--intro-top:64px;width:auto;padding:18px 16px;left:0;right:0}.case-intro h1{font-size:20px}.chapter-navigation{--chapter-gap:8px;--chapter-description-limit:min(169px, calc(100svh - 200px));bottom:max(24px, env(safe-area-inset-bottom));gap:8px}.chapter-item-description{font-size:12px;line-height:16px}}@media (prefers-reduced-motion:reduce){.case-visual-stage,.case-media,.case-media-placeholder,.case-device-frame,.chapter-navigation .chapter-item--active,.chapter-navigation .chapter-item--active .chapter-item-expansion,.case-study--intro-entering.case-study--overview .case-visual-stage,.case-study--chapter .case-media{transition:none;animation:none}.case-study--from-home.case-study--intro-entering.case-study--overview .case-visual-stage,.case-study--from-home .case-intro--entering,.chapter-item--active .chapter-text-reveal{animation:none}.chapter-navigation,.chapter-plus-icon,.chapter-collapse-icon,.chapter-item,.chapter-item-title,.chapter-item-expansion,.chapter-item--active .chapter-item-expansion,.chapter-item-description,.chapter-navigation--expanded .chapter-items{transition:none}.case-intro,.case-intro--entering,.case-study--chapter .case-intro{transition:none;animation:none;transform:none}.case-study--from-home .site-header,.case-study--from-home .case-close{animation:none}}@media (max-width:1239px){.chapter-navigation--overview .chapter-step--first{border-radius:1000px;width:max-content;margin-bottom:8px;padding:0 12px;display:flex}.chapter-navigation--overview .chapter-step--first .chapter-next-label{display:inline}}@media (prefers-reduced-motion:reduce){.chapter-navigation--expanded .chapter-item,.chapter-navigation--expanded .chapter-item--active,.chapter-navigation--expanded .chapter-item,.chapter-navigation--expanded .chapter-item[data-offset],.chapter-navigation--expanded .chapter-item .chapter-item-title,.chapter-navigation--expanded .chapter-title-label,.chapter-navigation--expanded .chapter-adjacent-arrow{transition:none}}@media (min-width:1240px) and (prefers-reduced-motion:no-preference){.chapter-navigation--entering{overflow:visible}.chapter-navigation--entering .chapter-items{animation:.55s cubic-bezier(.22,1,.36,1) both chapter-stack-arrive}.chapter-navigation--entering .chapter-item{z-index:calc(10 - var(--chapter-order));animation:.48s cubic-bezier(.25,.8,.25,1) .55s both chapter-stack-spread;position:relative}.chapter-navigation--entering .chapter-item:not(:first-child) .chapter-item-title{animation:.24s ease-out .55s both chapter-stack-label}.chapter-navigation--entering .chapter-step--first{animation:.24s ease-out .79s both chapter-stack-label}}@keyframes chapter-stack-arrive{0%{transform:translate(calc(-100% - 80px))}to{transform:translate(0)}}@keyframes chapter-stack-spread{0%{transform:translateY(calc(var(--chapter-stack-center) - var(--chapter-order) * 52px));width:min(100%,140px)}to{width:min(100%, var(--chapter-pill-width,140px));transform:translateY(0)}}@keyframes chapter-stack-label{0%{opacity:0}to{opacity:1}}@media (min-width:1240px){.chapter-step--previous{display:none}}
