html,body{background:#fff;margin:0;padding:0}body{-webkit-font-smoothing:antialiased}#root{min-height:100%}a{color:#000;text-decoration:none}a:hover{color:#000;-webkit-text-stroke:.4px currentColor;text-decoration:none}.modal-scroll{scrollbar-width:none}.modal-scroll::-webkit-scrollbar{width:0;height:0}.home-list{margin:0;padding:0;list-style:none}.home-row{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:baseline;gap:clamp(.8em,1.8vw,2em);display:flex}.home-row .home-name{color:#b3b1a6;overflow-wrap:break-word;flex:auto;min-width:0;font-weight:400;transition:color .2s ease-out}.home-row .home-category{white-space:nowrap;color:#b3b1a6;transition:color .2s ease-out}.home-row .home-meta{color:#b3b1a6;flex:none;align-items:baseline;gap:clamp(.8em,1.8vw,1.8em);transition:color .2s ease-out;display:flex}.home-row .home-visit{color:#000;white-space:nowrap;opacity:0;flex:none;text-decoration:none;transition:opacity .2s ease-out}.home-row.active .home-name,.home-row:focus-visible .home-name,.home-row.active .home-category,.home-row:focus-visible .home-category,.home-row.active .home-meta,.home-row:focus-visible .home-meta{color:#000}.home-row.active .home-visit,.home-row:focus-visible .home-visit{opacity:1}.home-row:focus-visible{outline:none}@media (hover:hover) and (pointer:fine){.home-row:hover .home-name,.home-row:hover .home-category,.home-row:hover .home-meta{color:#000}.home-row:hover .home-visit{opacity:1}}@media (width<=859px){.home-row .home-category{text-align:right;flex:0 0 72px;min-width:0;margin-left:auto;margin-right:32px;position:static!important;top:auto!important;left:auto!important;transform:none!important}.home-row .home-meta{flex:0 0 82px;justify-content:flex-end;min-width:0}}.heading-break-desktop{display:none}@media (width>=860px){.heading-break-desktop{display:block}}.home-panel{display:none}@media (width>=860px){.home-panel{display:block}}.home-expand{display:none}@media (width<=859px){.home-expand{display:grid}}.tch{--bg:#fff;--fg:#000;--muted:#c7c5ba;--line:#000;--font:"Akkurat", "Akkurat LL", "Akkurat Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--fg);font-family:var(--font)}.tch,.tch *{box-sizing:border-box}.tch .bg-layer{z-index:0;background:var(--bg);position:fixed;inset:0}.tch .bg-img{opacity:0;transition:opacity .5s;position:absolute;inset:0}.tch .bg-img.active{opacity:1}.tch .bg-img img,.tch .bg-img video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tch .stage{z-index:1;border:1px solid var(--line);grid-template-columns:33.8% 32% 34.2%;transition:grid-template-columns .45s cubic-bezier(.65,0,.35,1);display:grid;position:fixed;inset:0}@media (width>=860px){.tch .stage.preview-expanded{grid-template-columns:21% 23% 56%}}.tch .col-intro{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(2px);background:#ffffff73;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(16px,3vh,32px) clamp(14px,1.4vw,26px);transition:background .4s;display:flex}.tch .col-intro h1,.tch .col-intro .nav-list a,.tch .col-intro .social-list a{text-shadow:0 1px 12px #fffc,0 1px 2px #ffffffe6}.tch .col-intro h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(18px,2.15vw,34px);font-weight:400;line-height:1.04}.tch .intro-bottom{flex-direction:column;gap:clamp(10px,2vh,18px);display:flex}.tch .nav-list,.tch .social-list{flex-direction:column;gap:.5em;margin:0;padding:0;font-size:clamp(12px,1vw,15px);list-style:none;display:flex}.tch .nav-list a{font-weight:400}.tch .nav-list a.active{font-weight:700}.tch .nav-list a .omega{opacity:0;margin-left:.4em;transition:opacity .15s}.tch .nav-list a:hover .omega,.tch .nav-list a.active .omega{opacity:1}.tch .social-list a .arrow{opacity:0;margin-left:.4em;transition:opacity .15s}.tch .social-list a:hover .arrow{opacity:1}.tch .social-list a .copied{opacity:0;margin-left:.4em;transition:opacity .6s}.tch .social-list a .copied.show{opacity:1;transition:opacity .1s}.tch .col-list,.tch .col-preview,.tch .col-photo,.tch .col-bio{display:none}.tch .col-photo{grid-area:1/2}.tch .col-bio{grid-area:1/3}.tch .stage:not(.about-view) .col-list,.tch .stage:not(.about-view) .col-preview,.tch .stage.about-view .col-photo,.tch .stage.about-view .col-bio{animation:.3s tch-fadeIn;display:block}@keyframes tch-fadeIn{0%{opacity:0}to{opacity:1}}.tch .col-photo{border-right:1px solid var(--line);position:relative;overflow:hidden}.tch .col-photo img{object-fit:cover;object-position:62% 22%;width:100%;height:100%;position:absolute;inset:0}.tch .col-bio{position:relative}.tch .bio-scroll{height:100%;padding:clamp(18px,3vh,32px) clamp(16px,1.6vw,28px);overflow-y:auto}@media (width>=860px){.tch .bio-scroll{flex-direction:column;justify-content:flex-end;display:flex}}.tch .bio-scroll p{margin:0 0 1.4em;font-size:clamp(13px,1.1vw,16px);line-height:1.6}.tch .bio-scroll p:last-child{margin-bottom:0}.tch .col-list{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#ffffffe0;min-width:0;padding:clamp(16px,3vh,32px) clamp(14px,1.2vw,22px) 0;overflow-y:auto}.tch .project-list{margin:0;padding:0;list-style:none}.tch .row{cursor:pointer;align-items:center;gap:clamp(.8em,1.4vw,1.6em);padding:clamp(.45em,1.1vh,.7em) 0;display:flex}.tch .row .name{min-width:0;color:var(--fg);overflow-wrap:break-word;flex:auto;font-size:clamp(14px,1.5vw,20px);transition:color .2s ease-out}.tch .row .meta{color:var(--fg);flex:none;align-items:center;gap:clamp(.8em,1.4vw,1.4em);font-size:clamp(11px,.9vw,14px);transition:color .2s ease-out;display:flex}.tch .stage.preview-expanded .row .meta{display:none}.tch .row .visit{color:var(--fg);opacity:0;white-space:nowrap;font-size:clamp(11px,.9vw,14px);transition:opacity .2s ease-out}.tch .row.active .name,.tch .row.active .meta{color:var(--fg)}.tch .row.active .visit{opacity:1}.tch .col-list.spotlight .row:not(.active) .name,.tch .col-list.spotlight .row:not(.active) .meta{color:var(--muted)}.tch .col-preview{position:relative}.tch .preview-caption{opacity:0;pointer-events:none;background:linear-gradient(#0000,#ffffffd9 60%);padding:clamp(12px,1.8vh,20px) clamp(12px,1.2vw,20px);font-size:clamp(11px,.9vw,14px);transition:opacity .35s;position:absolute;bottom:0;left:0;right:0}.tch .preview-caption.active{opacity:1}.tch .preview-caption .pname{font-size:clamp(13px,1.1vw,16px);font-weight:700}.tch .preview-caption .pmeta{opacity:.6;margin-top:.2em}.tch .preview-caption.case-hover{background:linear-gradient(#0000,#ffffffeb 40%);padding-top:clamp(50px,9vh,100px)}.tch .preview-caption.case-hover .pmeta{margin-top:.4em}.tch .pinned-view{z-index:2;background:#fff;flex-direction:column;display:none;position:absolute;inset:0}.tch .pinned-view.active{animation:.3s tch-fadeIn;display:flex}.tch .pinned-scroll{background:#000;flex-direction:column;flex:auto;justify-content:safe center;min-height:0;display:flex;overflow-y:auto}.tch .pinned-scroll img,.tch .pinned-scroll video{flex-shrink:0;width:100%;height:auto;display:block}.tch .pinned-scroll.has-video{background:#000;position:relative;overflow:hidden}.tch .pinned-scroll.has-video video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.tch .pinned-bar{border-top:1px solid var(--line);background:#fff;flex:none;padding:clamp(12px,1.8vh,20px) clamp(12px,1.2vw,20px);font-size:clamp(11px,.9vw,14px)}.tch .pinned-bar .pname{font-size:clamp(13px,1.1vw,16px);font-weight:700}.tch .pinned-bar .pmeta{opacity:.6;margin-top:.2em}.tch .pinned-bar .plink{margin-top:.5em;display:inline-block}.tch .pinned-bar .plink:hover{-webkit-text-stroke:.4px currentColor}.tch .case-view{z-index:2;background:#fff;display:none;position:absolute;inset:0}.tch .case-view.active{animation:.3s tch-fadeIn;display:block}.tch .case-scroll{height:100%;overflow-y:auto}.tch .case-close,.tch .pinned-close{z-index:3;border:1px solid var(--line);cursor:pointer;width:32px;height:32px;color:var(--fg);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:clamp(12px,1.8vh,20px);right:clamp(12px,1.2vw,20px)}.tch .case-close svg,.tch .pinned-close svg{width:12px;height:12px;display:block}.tch .case-close:hover,.tch .pinned-close:hover{background:#fff}.tch .case-view img,.tch .case-view video{object-fit:cover;object-position:top;width:100%;height:auto;max-height:46vh;display:block}.tch .case-body{padding:clamp(18px,2.6vh,32px) clamp(16px,1.6vw,28px) clamp(24px,4vh,48px)}.tch .case-body .cname{margin:0;font-size:clamp(18px,1.8vw,24px);font-weight:700}.tch .case-body .ctagline{opacity:.7;margin:.4em 0 0;font-size:clamp(13px,1.1vw,16px)}.tch .case-meta{border-top:1px solid var(--line);gap:clamp(1.4em,2.4vw,2.4em);margin-top:clamp(14px,2vh,20px);padding-top:clamp(14px,2vh,20px);font-size:clamp(11px,.9vw,13px);display:flex}.tch .case-meta .clabel{opacity:.5;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3em;font-size:.85em;display:block}.tch .case-section{margin-top:clamp(20px,3vh,32px)}.tch .case-section h3{margin:0 0 .5em;font-size:clamp(13px,1.1vw,15px);font-weight:700}.tch .case-section p{margin:0;font-size:clamp(13px,1.05vw,15px);line-height:1.6}.tch .case-impact{border-top:1px solid var(--line);margin-top:clamp(20px,3vh,32px);padding-top:clamp(14px,2vh,20px)}.tch .case-impact h3{margin:0 0 .7em;font-size:clamp(13px,1.1vw,15px);font-weight:700}.tch .case-impact-list{flex-direction:column;gap:.8em;font-size:clamp(13px,1.05vw,15px);line-height:1.5;display:flex}.tch .case-impact-list>div{gap:.7em;display:flex}.tch .case-extlink{margin-top:clamp(20px,3vh,28px);font-size:clamp(12px,1vw,14px);font-weight:700;display:inline-block}.tch .case-extlink:hover{-webkit-text-stroke:.4px currentColor}.tch .case-gallery{flex-direction:column;gap:14px;margin-top:clamp(20px,3vh,28px);display:flex}.tch .case-gallery img{border-radius:4px;width:100%;height:auto;display:block}.tch .mobile-menu-btn{display:none}@media (width<=859px){.tch .stage{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.tch .col-intro{grid-row:1}.tch .col-list{grid-row:2}.tch .col-preview{grid-row:3}.tch .col-intro,.tch .col-list{border-right:none;border-bottom:1px solid var(--line)}.tch .col-list{max-height:46vh;padding-bottom:clamp(16px,3vh,32px)}.tch .col-preview{min-height:30vh}.tch .stage.preview-expanded .col-list{display:none}.tch .stage.preview-expanded .col-intro{border-bottom:none}.tch .col-photo,.tch .col-bio{grid-area:auto}.tch .col-photo{border-right:none;border-bottom:1px solid var(--line);height:36vh}.tch .col-bio{min-height:30vh}.tch .stage.menu-open .col-photo,.tch .stage.menu-open .col-bio,.tch .intro-bottom{display:none}.tch .stage.menu-open{grid-template-rows:1fr}.tch .stage.menu-open .col-list,.tch .stage.menu-open .col-preview{display:none}.tch .stage.menu-open .col-intro{border-bottom:none}.tch .stage.menu-open .intro-bottom{animation:.3s tch-fadeIn;display:flex}.tch .mobile-menu-btn{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:12;cursor:pointer;background:#000;border:none;border-radius:50%;width:54px;height:54px;transition:background .2s;display:block;position:fixed;box-shadow:0 6px 18px #00000040}.tch .mobile-menu-btn.open{background:#b5ed12}.tch .col-intro h1{font-size:clamp(20px,5.2vw,28px)}.tch .nav-list,.tch .social-list{font-size:clamp(15px,4vw,18px)}.tch .bio-scroll p{font-size:clamp(16px,4vw,18px)}.tch .row .name{font-size:clamp(16px,4.2vw,19px)}.tch .row .meta,.tch .row .visit,.tch .preview-caption,.tch .pinned-bar{font-size:clamp(13px,3.2vw,15px)}.tch .preview-caption .pname,.tch .pinned-bar .pname{font-size:clamp(15px,3.6vw,17px)}.tch .case-body .cname{font-size:clamp(20px,5.5vw,24px)}.tch .case-body .ctagline{font-size:clamp(15px,4vw,17px)}.tch .case-meta{font-size:clamp(13px,3.2vw,14px)}.tch .case-section h3,.tch .case-impact h3{font-size:clamp(15px,3.8vw,16px)}.tch .case-section p,.tch .case-impact-list{font-size:clamp(14px,3.6vw,16px)}.tch .case-extlink{font-size:clamp(14px,3.4vw,15px)}}
