@import"https://hello.myfonts.net/count/386ab7";@font-face{font-family:NeuzeitSLTStd-Book;font-display:swap;src:url(/assets/webfonts/386AB7_0_0.eot);src:url(/assets/webfonts/386AB7_0_0.eot?#iefix) format("embedded-opentype"),url(/assets/webfonts/386AB7_0_0.woff2) format("woff2"),url(/assets/webfonts/386AB7_0_0.woff) format("woff"),url(/assets/webfonts/386AB7_0_0.ttf) format("truetype")}:root{--theme1-primary: #f9f8e6;--theme1-secondary: #9c2525;--theme2-primary: #32b67a;--theme2-secondary: #ffffff;--theme3-primary: #0e38b1;--theme3-secondary: #ffffff;--theme4-primary: #167c80;--theme4-secondary: #ffffff;--theme5-primary: #112378;--theme5-secondary: #fbeccf;--theme6-primary: #a6cfe2;--theme6-secondary: #0b0c11;--theme7-primary: #f9f7e8;--theme7-secondary: #62bfad;--theme8-primary: #0a005a;--theme8-secondary: #f0f0f0;--theme9-primary: #055a5b;--theme9-secondary: #e6e6e6}.style1{background-color:var(--theme1-primary);color:var(--theme1-secondary)}.style2{background-color:var(--theme2-primary);color:var(--theme2-secondary)}.style3{background-color:var(--theme3-primary);color:var(--theme3-secondary)}.style4{background-color:var(--theme4-primary);color:var(--theme4-secondary)}.style5{background-color:var(--theme5-primary);color:var(--theme5-secondary)}.style6{background-color:var(--theme6-primary);color:var(--theme6-secondary)}.style7{background-color:var(--theme7-primary);color:var(--theme7-secondary)}.style8{background-color:var(--theme8-primary);color:var(--theme8-secondary)}.style9{background-color:var(--theme9-primary);color:var(--theme9-secondary)}.style1 header ul li a:hover,.style1 header .header-color a:hover,.style1 .index-container.visual .item:hover .link,.style1 .item:hover .name{color:var(--theme1-primary);background-color:var(--theme1-secondary)}.style2 header ul li a:hover,.style2 header .header-color a:hover,.style2 .index-container.visual .item:hover .link,.style2 .item:hover .name{color:var(--theme2-primary);background-color:var(--theme2-secondary)}.style3 header ul li a:hover,.style3 header .header-color a:hover,.style3 .index-container.visual .item:hover .link,.style3 .item:hover .name{color:var(--theme3-primary);background-color:var(--theme3-secondary)}.style4 header ul li a:hover,.style4 header .header-color a:hover,.style4 .index-container.visual .item:hover .link,.style4 .item:hover .name{color:var(--theme4-primary);background-color:var(--theme4-secondary)}.style5 header ul li a:hover,.style5 header .header-color a:hover,.style5 .index-container.visual .item:hover .link,.style5 .item:hover .name{color:var(--theme5-primary);background-color:var(--theme5-secondary)}.style6 header ul li a:hover,.style6 header .header-color a:hover,.style6 .index-container.visual .item:hover .link,.style6 .item:hover .name{color:var(--theme6-primary);background-color:var(--theme6-secondary)}.style7 header ul li a:hover,.style7 header .header-color a:hover,.style7 .index-container.visual .item:hover .link,.style7 .item:hover .name{color:var(--theme7-primary);background-color:var(--theme7-secondary)}.style8 header ul li a:hover,.style8 header .header-color a:hover,.style8 .index-container.visual .item:hover .link,.style8 .item:hover .name{color:var(--theme8-primary);background-color:var(--theme8-secondary)}.style9 header ul li a:hover,.style9 header .header-color a:hover,.style9 .index-container.visual .item:hover .link,.style9 .item:hover .name{color:var(--theme9-primary);background-color:var(--theme9-secondary)}p,ul{margin:0;padding:0}p{margin-bottom:1rem}html{overflow-y:scroll;min-height:100%;margin:0;font-size:100.01%;-webkit-tap-highlight-color:transparent;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;-ms-content-zooming:none;-ms-overflow-style:scrollbar;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:NeuzeitSLTStd-Book,arial,sans-serif;line-height:1.4;font-size:18px;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body.portfolio-home{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.td-u{text-decoration:underline}#container{box-sizing:border-box;max-width:100%;padding:1.25rem 2rem;min-height:calc(100vh - 40px);height:100%}a{color:inherit;text-decoration:none;cursor:pointer}a:focus-visible,button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}.link{-webkit-transform:rotate(90deg);transform:rotate(90deg);margin:0 1.5rem;display:inline-block;padding:8px}.container{display:flex;flex-flow:row wrap;position:relative}.index-container{display:inline-block;padding-top:4rem}.index-container.hidden,.index-container.visual.hidden,.index-container .screen{display:none}.index-container .screen img{width:100%;height:100%;object-fit:cover;object-position:top;aspect-ratio:16/9}.index-container.visual{display:flex;flex-flow:row wrap;padding-top:calc(3rem + 8px)}.index-container.visual .screen{display:block;height:100%;background-position:center;background-repeat:no-repeat;background-size:cover;background-blend-mode:multiply;transition:all .5s ease-in-out}.index-container.visual .screen:hover{background-blend-mode:initial}.index-container.visual .item{flex-basis:calc(50% - 16px);font-size:18px;margin:8px;position:relative}.index-container.visual .data{display:none!important}.index-container.visual .item:hover .link{display:block;position:absolute;left:0;bottom:0;height:calc(100% - 16px);width:calc(100% - 16px);font-size:20px;margin:0;z-index:2;transform:rotate(0);background:#fff;opacity:.95;top:0}.index-container.visual .item:hover .link a{position:absolute;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);text-align:center;font-size:56px}.index-container.visual .item .link,.index-container.visual .item span,.index-container.visual .item a.name{display:none}.index-container.visual .item .screen a{display:block;height:100%}.info-box{width:calc(33% - 2rem);padding:1rem;display:inline-block}.info-box a:hover{text-decoration:underline}body.info-page-body .info-page.page-inner.wide{margin-left:0;margin-right:auto}.info-page,.info-page .info-box{text-align:start}.info-page__grid{display:flex;flex-flow:row wrap;gap:clamp(1rem,3vw,2rem);justify-content:flex-start;align-items:flex-start}.info-page .info-box{width:calc(33.333% - 1.5rem);min-width:min(100%,260px);flex:1 1 260px;box-sizing:border-box}body.info-page-body .info-page__heading{font-weight:400;margin:0 0 .4em}body.info-page-body .info-page :where(h1,h2,h3,h4,h5,h6){font-weight:400}.info-yaml{margin:0;line-height:1.55}.info-yaml p{margin:0 0 .4em}.info-yaml__section{font-weight:400;margin-bottom:.45rem;letter-spacing:.01em}.info-yaml__list{list-style:none;margin:0;padding:0 0 0 .65rem;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}.info-yaml__list li{margin:0 0 .35em;padding-left:.85rem;position:relative}.info-yaml__list li:before{content:"- ";position:absolute;left:0;opacity:.75}.info-yaml__pair{margin:0 0 .45em!important;padding-left:.65rem;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}.info-yaml__pair--meta{margin-top:.65em!important;opacity:.92;font-size:.92em}.info-yaml__credits-block{margin:.65em 0 0;padding-left:.65rem;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent);opacity:.92;font-size:.92em}.info-yaml__credits-block .info-yaml__k{display:block;margin-bottom:.4em}.info-yaml__credits-body{padding-left:.35rem}.info-yaml__credit-line{margin:0!important;line-height:1.45}.info-yaml__credit-line--design{font-weight:400}.info-yaml__credit-line--design a{text-decoration:underline}.info-yaml__credit-line--self{margin-top:.45em!important;opacity:.78;letter-spacing:.03em;font-size:.95em}.info-yaml__k{opacity:.82;font-weight:400}.info-yaml__v a{text-decoration:underline}.info-yaml__v--plain{font-weight:400}body.info-page-body #container.layout{display:flex;flex-direction:column;min-height:100dvh;height:auto}body.info-page-body #container>main.info-page{flex:1 1 auto;min-height:0}body.info-page-body footer.site-footer{margin-top:auto}footer.site-footer{margin-top:4rem;padding-top:2.5rem;padding-bottom:2.5rem}.site-footer__rule{margin:0 0 1.5rem;border:none;border-top:1px solid currentColor;opacity:.42}.site-footer__line{margin:0}header{z-index:3;position:fixed;width:100%;left:0;top:0;font-size:24px;padding:0;text-align:left}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem 1.25rem;padding:1.5rem 2rem;box-sizing:border-box;width:100%;min-height:3.25rem}.header-brand{justify-self:start;flex-shrink:0;min-width:0}.header-brand h1{font-size:24px;margin:0;line-height:1;font-weight:400;display:inline-block}.header-nav{justify-self:center;min-width:0;display:flex;justify-content:center;text-align:center}.header-nav ul{list-style:none;margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0}.header-nav ul li{display:inline-block;margin:0}header .header-nav ul li a{padding:6px}.header-color{justify-self:end;align-self:center}header .header-color a{padding:6px;display:inline-block;opacity:.92}.info{margin:0 1rem -12px;font-size:16px;display:inline-block}.item .info .credits{display:block;margin-top:.2em;line-height:1.35}.item{display:inline;word-break:break-word;font-size:5.7vw;line-height:1.4;opacity:1}.item .name{transition:opacity .2s ease-out,background-color .1s ease-out;padding:8px 8px 0 4px;word-break:break-word;cursor:pointer}.item .data{display:none;font-size:32px;max-width:1200px;margin:1rem auto;line-height:1.4}.item .data.visible{display:block}.index-container.text{max-width:900px;margin-right:auto}.index-container.text ul{margin-left:1em;margin-bottom:1em}.allow-select,.allow-select *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}body.project-case-page,body.app-case-page,body.apps-index-page{overflow-x:clip;--apps-section-gap: clamp(3.5rem, 6.5vw, 5.5rem)}.index-container--apps{display:inline-block;padding-top:clamp(2rem,4vw,3rem);width:100%;max-width:100%}body.apps-index-page .apps-index{width:100%;box-sizing:border-box}body.apps-index-page .apps-index__bleed{margin-left:-2rem;margin-right:-2rem;width:calc(100% + 4rem);max-width:none;box-sizing:border-box}body.apps-index-page .apps-index__bleed-inner{padding-left:2rem;padding-right:2rem;box-sizing:border-box;width:100%}body.apps-index-page .apps-index__cta-column{margin-left:auto;margin-right:auto;max-width:72rem;width:100%;box-sizing:border-box}@media screen and (max-width:1280px){body.apps-index-page .apps-index__bleed{margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}body.apps-index-page .apps-index__bleed-inner{padding-left:1rem;padding-right:1rem}}body.apps-index-page .index-container--apps-lines{display:block;width:100%}body.apps-index-page .index-container--apps-lines .item{display:block;width:100%;margin-bottom:clamp(.35rem,1.5vw,.85rem)}body.apps-index-page .index-container--apps-lines .item:last-child{margin-bottom:0}.apps-teaser__label{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:400;margin:0 0 .75rem;letter-spacing:-.02em}.apps-teaser__all .name{font-size:clamp(1.5rem,4vw,2.25rem)}.apps-panel{padding:clamp(1.25rem,3vw,2rem);border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);box-sizing:border-box;width:100%;max-width:100%}.apps-cta{margin-top:clamp(2rem,4vw,3rem)}body.apps-index-page .apps-cta{margin-top:var(--apps-section-gap)}.apps-panel__eyebrow,.apps-cta__eyebrow{margin:0 0 clamp(.85rem,2vw,1.15rem);font-size:clamp(1rem,1.8vw,1.15rem);font-weight:400;letter-spacing:.02em;opacity:.92}.apps-cta__title{margin:0 0 .5rem;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:400;letter-spacing:-.03em;line-height:1.15}.apps-panel__lede,.apps-cta__lede{margin:0 0 .85rem;max-width:58ch;font-size:clamp(.95rem,1.45vw,1.05rem);line-height:1.55;font-weight:400;opacity:.94}.apps-panel__lede:last-child{margin-bottom:0}.apps-panel__lede strong,.apps-cta__lede strong{font-weight:400}.apps-cta__actions{display:flex;flex-wrap:wrap;gap:.6rem .65rem;align-items:center}.apps-cta__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1.15rem;font-size:1rem;font-weight:400;line-height:1.2;text-decoration:none;border:1px solid currentColor;box-sizing:border-box;transition:background-color .14s ease,color .14s ease,border-color .14s ease,opacity .14s ease}.apps-cta__btn--primary{background:color-mix(in srgb,currentColor 12%,transparent)}.apps-cta__btn--primary:hover,.apps-cta__btn--primary:focus-visible{background:color-mix(in srgb,currentColor 22%,transparent)}.apps-cta__meta{margin:0;font-size:.88rem;line-height:1.4;opacity:.78;letter-spacing:.02em}body.apps-index-page .apps-index{padding-top:max(clamp(5.75rem,11vw,7.5rem),calc(env(safe-area-inset-top,0px) + 4.75rem));padding-bottom:0}@media screen and (max-width:760px){body.apps-index-page .apps-index{padding-top:max(clamp(6.75rem,20vw,9rem),calc(env(safe-area-inset-top,0px) + 5.5rem))}}body.apps-index-page .index-container.index-container--apps{padding-top:var(--apps-section-gap)}body.apps-index-page .apps-index-intro{margin:0;padding:0;border:none;background:none;box-shadow:none}body.apps-index-page .apps-index-intro__label{margin:0 0 clamp(.65rem,1.4vw,1rem);font-size:clamp(1rem,1.55vw,1.1rem);font-weight:400;letter-spacing:.03em;opacity:.88}body.apps-index-page .apps-index-intro__lead{margin:0;max-width:52ch;font-size:clamp(1.14rem,2.15vw,1.42rem);line-height:1.52;font-weight:400;letter-spacing:-.02em}body.apps-index-page .apps-index-intro__lead strong{font-weight:400}.page-inner{padding-top:5rem;max-width:42rem;margin:0 auto}.page-inner.wide{max-width:72rem}.page-inner h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:1rem;font-weight:700}.page-inner h2{font-size:1.35rem;margin:1.5rem 0 .5rem;font-weight:700}.page-inner h2[id]{scroll-margin-top:5.5rem}.page-inner article p{max-width:65ch}.intro-links{font-size:16px;margin-top:.5rem;margin-bottom:0}.intro-links a{text-decoration:underline}.project-detail .hero-img{margin:1.5rem 0 2rem}.project-detail .hero-img img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;object-position:top}.badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;font-size:16px;opacity:.9}.badge{border:1px solid currentColor;padding:.15rem .5rem;display:inline-block}.stack-list{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.stack-list li{border:1px solid currentColor;padding:.15rem .45rem;font-size:14px}.related{margin-top:3rem;padding-top:1.5rem;border-top:1px solid currentColor}.related ul{list-style:none;margin:0;padding:0}.related li{margin-bottom:.35rem}@media screen and (max-width:1440px){.index-container.visual .item{flex-basis:calc(50% - 16px)}header{font-size:20px}}@media screen and (max-width:1280px){#container{padding:1rem}.item{font-size:7vw}}@media screen and (max-width:1024px){.item{font-size:8vw}.link{margin:0 .5rem}.info{font-size:16px;margin:0 .5rem}.info-box{width:50%}.index-container.visual .item{flex-basis:100%;margin:8px 0}}@media screen and (max-width:760px){body{font-size:14px}.info-box{width:100%;padding:1rem 0}.index-container{width:100%}header{font-size:14px}.header-inner{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:.35rem;column-gap:.75rem;padding:.75rem 1rem}.header-brand{grid-column:1;grid-row:1}.header-color{grid-column:2;grid-row:1;justify-self:end;align-self:start}.header-nav{grid-column:1 / -1;grid-row:2;justify-self:start}.header-brand h1{font-size:16px}.header-nav,.header-nav ul{justify-content:flex-start}header .header-nav ul li a{padding:.5rem .35rem;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}.item{font-size:32px;display:block;margin-bottom:1rem;position:relative;width:100%}.name{display:block}.link{position:absolute;right:0;top:-12px;margin:0}.info{margin:8px 0;font-size:14px}.info-box{width:100%;padding-bottom:0;display:block}.index-container.visual .item:hover .link a{font-size:32px}}
