a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:initial;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}button{border-radius:0}button,input,select,textarea{appearance:none;background:rgba(0,0,0,0)}input,select,textarea{margin:0;padding:0;border:0;border-radius:0;outline:0}:root{--viewport-height:100%;--outer-margin-y:.7rem;--outer-margin-x:.75rem;--leading:1.2em;--gap:.75rem;--max-width:5000px;--page-transition-duration:.4s;--page-transition-delay:.1s;--page-transition-easing:ease-in}@media(prefers-reduced-motion:no-preference){html[data-circle-transition=true]::view-transition-group(root){animation-duration:var(--page-transition-duration);animation-timing-function:var(--page-transition-easing)}html[data-circle-transition=true]::view-transition-new(root),html[data-circle-transition=true]::view-transition-old(root){transform:translateZ(0);will-change:clip-path;backface-visibility:hidden}html[data-circle-transition=true]:not([data-circle-mode=contract])::view-transition-old(root){animation:none;z-index:1}html[data-circle-transition=true]:not([data-circle-mode=contract])::view-transition-new(root){clip-path:circle(0 at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%));animation:page-transition-reveal var(--page-transition-duration) var(--page-transition-easing) var(--page-transition-delay) forwards;background:rgba(0,0,0,0);z-index:2}html[data-circle-transition=true]:not([data-circle-mode=contract])[data-circle-target=project-detail]::view-transition-new(root){background:#fff;color:#222}html[data-circle-transition=true]:not([data-circle-mode=contract])[data-circle-target=info]::view-transition-new(root){background:#222;color:#ccc}html[data-circle-transition=true]:not([data-circle-mode=contract])[data-circle-target=snippet]::view-transition-new(root){background:#ccc url(/images/body-bg.webp);background-size:256px 256px;color:#222}html[data-circle-transition=true][data-circle-mode=contract]::view-transition-old(root){clip-path:circle(var(--page-transition-radius,150%) at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%));animation:page-transition-contract var(--page-transition-duration) var(--page-transition-easing) var(--page-transition-delay) forwards;z-index:2}html[data-circle-transition=true][data-circle-mode=contract]::view-transition-old(root)[data-circle-target=snippet]{background:#ccc url(/images/body-bg.webp);background-size:256px 256px;color:#222}html[data-circle-transition=true][data-circle-mode=contract]::view-transition-new(root){animation:none;z-index:1}@keyframes page-transition-reveal{0%{clip-path:circle(0 at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%))}to{clip-path:circle(var(--page-transition-radius,150%) at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%))}}@keyframes page-transition-contract{0%{clip-path:circle(var(--page-transition-radius,150%) at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%))}to{clip-path:circle(0 at var(--page-transition-origin-x,50%) var(--page-transition-origin-y,50%))}}}*,:after,:before{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font-size:13px}body{background:#ccc url(/images/body-bg.webp);background-size:256px 256px;color:#222;font-family:var(--font-oracle-triple);font-size:1rem;line-height:var(--leading);-webkit-text-size-adjust:none;text-size-adjust:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss06" 1,"dlig" 1;hanging-punctuation:first allow-end last}body.page--project-detail{background:#fff}body.page--info{background:#222;color:#ccc}.loading-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:url(/images/disabled.png);background-size:2px 2px;opacity:0;pointer-events:none;z-index:200}.loading-overlay.loading-overlay--visible{opacity:1;pointer-events:auto}body.snippet-open{overflow:hidden}.snippet-modal-layer{position:fixed;inset:0;pointer-events:none;z-index:1200}audio,canvas,embed,iframe,img,object,video{max-width:100%;height:auto}cite,em,i{font-style:italic}a,button,input{color:#222;cursor:url(/images/cursor-white.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-white.svg") 1x,url("/images/cursor-white@2x.svg") 2x) 6 6,auto}@media(hover:hover){a:hover,button:hover,input:hover{color:#fff}}.site-container--project-detail a,.site-container--project-detail button,.site-container--project-detail input{cursor:url(/images/cursor-gray.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-gray.svg") 1x,url("/images/cursor-gray@2x.svg") 2x) 6 6,auto}@media(hover:hover){input:hover{color:#222}}button,input,textarea{font-family:Oracle Triple,sans-serif;font-size:1rem;line-height:var(--leading);text-rendering:optimizeLegibility}.text h1,.text h2,.text h3,.text h4,.text h5,.text h6,.text ol,.text p,.text ul{margin-bottom:calc(var(--leading)/2)}.text h1,.text h2,.text h3,.text h4,.text h5,.text h6{margin-top:var(--leading)}.text h1:first-child,.text h2:first-child,.text h3:first-child,.text h4:first-child,.text h5:first-child,.text h6:first-child{margin-top:0}.site-container{padding:var(--outer-margin-y) var(--outer-margin-x);min-height:100vh}.site-container.site-container--error,.site-container.site-container--home{cursor:url(/images/cursor-black.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-black.svg") 1x,url("/images/cursor-black@2x.svg") 2x) 6 6,auto}.site-container.site-container--error ::selection,.site-container.site-container--home ::selection{background:rgba(34,34,34,.97);color:#ccc}.site-container.site-container--home{padding-bottom:0}.site-container.site-container--info{background:#222;color:#ccc;cursor:url(/images/cursor-gray.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-gray.svg") 1x,url("/images/cursor-gray@2x.svg") 2x) 6 6,auto}.site-container.site-container--info ::selection{background:hsla(0,0%,80%,.97);color:#222}.site-container.site-container--info a{color:#ccc}@media(hover:hover){.site-container.site-container--info a:hover{color:#fff}}.site-container.site-container--project-detail{color:#222;cursor:url(/images/cursor-black.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-black.svg") 1x,url("/images/cursor-black@2x.svg") 2x) 6 6,auto}.site-container.site-container--project-detail ::selection{background:rgba(34,34,34,.97);color:#fff}.site-container.site-container--project-detail a{color:#222}@media(hover:hover){.site-container.site-container--project-detail a:hover{color:#ccc}}.site-inner-container{max-width:var(--max-width);margin:0 auto}.page-close{position:fixed;top:0;right:0;z-index:10002}.page-close__link{display:block;width:2.5rem;height:2.5rem;background:url(/images/close-black.svg) 50% no-repeat;background-size:.825rem auto;text-indent:300%;white-space:nowrap;overflow:hidden}@media(hover:hover){.page-close__link:hover{transition:none;background-image:url(/images/close-gray.svg)}}.site-container--info .page-close__link{background-image:url(/images/close-gray.svg)}@media(hover:hover){.site-container--info .page-close__link:hover{background-image:url(/images/close-white.svg)}}.page-close.invert .page-close__link{background-image:url(/images/close-white.svg)}@media(hover:hover){.page-close.invert .page-close__link:hover{background-image:url(/images/close-gray.svg)}}.project-header{display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr)}.site-container--home .project-header{position:sticky;top:calc(var(--outer-margin-y) + var(--leading) - 1px);padding-top:1px;z-index:2;background:#ccc url(/images/body-bg.webp);background-size:256px 256px;border-bottom:1px solid #3e3e3e;padding-bottom:calc(var(--leading)/3 - 1px)}.project-header .project-header__label{margin-bottom:calc(var(--leading)/2 + 1px)}.project-header .project-header__row{display:contents}@media(max-width:767px){.project-header .project-header__row{display:flex;flex-direction:column;gap:0;grid-column:3/13}.project-header--with-categories .project-header__row--primary{grid-column:3/9}.project-header--with-categories .project-header__row--secondary{grid-column:9/13;align-self:flex-start}}.project-header__cell--categories,.project-header__cell--client,.project-header__cell--collaborators,.project-header__cell--date{grid-column:span 2}.project-card__content{position:relative}.project-card__link--case-study .project-header__cell--title{text-wrap:balance}@media(min-width:768px){.project-card__link--case-study .project-header__cell--title{position:sticky;top:calc(var(--outer-margin-y) + var(--leading)*2.667 - 1px);grid-column:span 4}}.project-header__cell--date{position:relative;grid-column:span 2;font-variant-numeric:tabular-nums}.site-container--home .project-header__cell--date{padding:calc(var(--leading)/3) 0;visibility:hidden;margin-top:-1px}.site-container--home .project-header__cell--date:after{content:"";position:absolute;top:0;left:0;width:calc(100% + var(--gap));border-top:1px solid #3e3e3e}.site-container--home .projects-directory__header .project-header__cell--date{visibility:visible;padding:0;margin:0}.site-container--home .projects-directory__header .project-header__cell--date:after{display:none}.project-header__cell--title{grid-column:span 6}@media(max-width:767px){.project-header__cell--title{order:1}.projects-directory__header .project-header__cell--title:after,.site-container--project-detail .project-header__cell--title .project-header__label:after{content:"/client"}}@media(min-width:768px){.project-header__cell--title{grid-column:span 4}}.project-header__cell--categories,.project-header__cell--client,.project-header__cell--collaborators{grid-column:span 10}@media(min-width:768px){.project-header__cell--categories,.project-header__cell--client,.project-header__cell--collaborators{grid-column:span 2}}.project-header__cell--categories li,.project-header__cell--client li,.project-header__cell--collaborators li{display:inline}.project-header__cell--categories li:after,.project-header__cell--client li:after,.project-header__cell--collaborators li:after{content:", "}.project-header__cell--categories li:last-child:after,.project-header__cell--client li:last-child:after,.project-header__cell--collaborators li:last-child:after{content:""}@media(max-width:767px){.project-header__cell--client{order:3}.site-container--home .project-header__cell--client{grid-column-start:1;grid-column-end:7}.projects-directory__header .project-header__cell--client{display:none}.site-container--project-detail .project-header__cell--client{grid-column-start:3;grid-column-end:9}.site-container--project-detail .project-header__cell--client .project-header__label{display:none}.project-header__cell--categories{grid-column:span 4;order:2}}.project-header__cell--categories li{text-transform:lowercase}.project-header__cell--categories li:first-child{text-transform:none}.project-header__cell--collaborators{order:4}@media(max-width:767px){.project-header__cell--collaborators{font-size:.667rem;line-height:var(--leading);margin-left:1px;order:5}.project-header__cell--collaborators:before{content:"with  "}.projects-directory__header .project-header__cell--collaborators,.site-container--project-detail .project-header__cell--collaborators{display:none}.project-header__cell--collaborators.meta-list{padding-left:1px;padding-top:.08rem}}.project-header__cell--media{grid-column:span 10;margin:calc(var(--leading)/3) 0;line-height:0;filter:grayscale(1) contrast(1.2);opacity:.87;mix-blend-mode:darken;transform:translateZ(0);background:#222 url(/images/disabled.png);background-size:2px 2px;order:5}.project-header__cell--media.transparent{background:none}.project-header__cell--media.project-header__cell--media-active{filter:none;opacity:1;mix-blend-mode:normal}@media(hover:hover){.project-card__link:hover .project-header__cell--media{filter:none;opacity:1;mix-blend-mode:normal}}@media(max-width:767px){.project-header__cell--media{order:5}}@media(min-width:768px){.project-header__cell--media{grid-column-start:5;grid-column-end:11}}.projects-directory{position:relative}.projects-directory .projects-directory__year-group{position:relative;border-top:1px solid #3e3e3e;margin-top:-1px}.projects-directory .projects-directory__year-group .projects-directory__year-heading-wrapper{position:sticky;top:calc(var(--leading)*2.333 + var(--outer-margin-y));left:0;height:0;pointer-events:none}.projects-directory .projects-directory__year-group .projects-directory__year-heading-wrapper .projects-directory__year-heading{position:absolute;top:0;left:0;padding:calc(var(--leading)/3 - 1px) 0 calc(var(--leading)/3);background:#ccc url(/images/body-bg.webp);background-size:256px 256px}.projects-directory .project-card__thumbnail--active{opacity:1!important;transition:none!important}.projects-directory .project-card__link{position:relative;display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr)}.projects-directory .project-card__link .project-header__date-value{opacity:0;pointer-events:none;grid-column:span 2}.projects-directory .project-card__link .project-card__content{display:grid;gap:0 var(--gap);grid-template-columns:repeat(10,1fr);padding:calc(var(--leading)/3 - 1px) 0 calc(var(--leading)/3);border-top:1px solid #3e3e3e;margin-top:-1px;grid-column:span 10}@media(min-width:768px){.projects-directory .project-card__link .project-card__content{grid-column:span 10;grid-template-columns:repeat(10,1fr)}}.projects-directory .project-card__link .project-card__content .project-header__row{display:contents}@media(max-width:767px){.projects-directory .project-card__link .project-card__content .project-header__row{display:flex;flex-direction:column;grid-column:1/11;gap:0}.projects-directory .project-card__link .project-card__content.project-card__content--with-categories .project-header__row--primary{grid-column:1/7}.projects-directory .project-card__link .project-card__content.project-card__content--with-categories .project-header__row--secondary{grid-column:7/11;align-self:flex-start}}.projects-directory .project-card__link:before{display:none;position:absolute;top:0;padding:calc(var(--leading)/3 - 1px) 0 calc(var(--leading)/3);left:0;width:12rem;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#ccc url(/images/body-bg.webp);background-size:256px 256px}@media(min-width:1400px){.projects-directory .project-card__link:before{width:auto}}.projects-directory .project-card__link.project-card__link--external .project-card__content{border-bottom:1px solid #3e3e3e}@media(hover:hover){.project-card--activating .projects-directory .project-card__link.project-card__link--external,.projects-directory .project-card__link.project-card__link--external:hover{color:blue;cursor:url(/images/cursor-blue.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-blue.svg") 1x,url("/images/cursor-blue@2x.svg") 2x) 6 6,auto}}.projects-directory .project-card__link.project-card__link--external:before{content:"↗ " attr(data-url-label)}@media(hover:none){.projects-directory .project-card__link.project-card__link--external .project-header__cell--title:after{content:" ↗"}}.projects-directory .project-card__link.project-card__link--case-study .project-card__content{border-bottom:1px solid #3e3e3e}.projects-directory .project-card__link.project-card__link--case-study:before{content:"Case study"}@media(hover:hover){.project-card--activating .projects-directory .project-card__link.project-card__link--case-study .project-header__cell--media,.projects-directory .project-card__link.project-card__link--case-study:hover .project-header__cell--media{background-color:#fff}.project-card--activating .projects-directory .project-card__link.project-card__link--case-study .project-header__cell--media.transparent,.projects-directory .project-card__link.project-card__link--case-study:hover .project-header__cell--media.transparent{background:none}.project-card--activating .projects-directory .project-card__link.project-card__link--case-study .project-header__cell--media.transparent img,.projects-directory .project-card__link.project-card__link--case-study:hover .project-header__cell--media.transparent img{filter:invert(1)}}.projects-directory .project-card__link.project-card__link--snippet .project-card__content{border-bottom:1px solid #3e3e3e}.projects-directory .project-card__link.project-card__link--snippet:before{content:"Snippet"}@media(hover:hover){.project-card--activating .projects-directory .project-card__link.project-card__link--snippet,.projects-directory .project-card__link.project-card__link--snippet:hover{color:#ff0;cursor:url(/images/cursor-yellow.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-yellow.svg") 1x,url("/images/cursor-yellow@2x.svg") 2x) 6 6,auto}}.projects-directory .project-card__link.project-card__link--disabled .project-card__content{border-top:1px dotted #3e3e3e}.projects-directory .project-card__link.project-card__link--disabled .project-card__content .project-header__cell{position:relative}.projects-directory .project-card__link.project-card__link--disabled .project-card__content .project-header__cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/disabled.png);background-size:2px 2px;pointer-events:none}@media(hover:hover)and (min-width:768px){.project-card--activating .projects-directory .project-card__link:before,.projects-directory .project-card__link:hover:before{display:block}.project-card--activating .projects-directory .project-card__link.project-card__link--case-study .project-header__date-value,.project-card--activating .projects-directory .project-card__link.project-card__link--external .project-header__date-value,.projects-directory .project-card__link:hover.project-card__link--case-study .project-header__date-value,.projects-directory .project-card__link:hover.project-card__link--external .project-header__date-value{visibility:hidden}}@media(hover:hover){.project-card--activating .projects-directory .project-card__link .project-card__thumbnail,.projects-directory .project-card__link:hover .project-card__thumbnail{transition:opacity .1s ease-in .5s;opacity:1}.scrolling .project-card--activating .projects-directory .project-card__link .project-card__thumbnail,.scrolling .projects-directory .project-card__link:hover .project-card__thumbnail{transition:opacity .1s ease-in-out 0s;opacity:0}}.projects-directory .project-card__link .project-card__thumbnail{position:fixed;top:9rem;bottom:9rem;left:50%;width:calc(100% - var(--outer-margin-x)*6);max-width:var(--max-width);transform:translateX(-50%);z-index:100;pointer-events:none;opacity:0;background-repeat:no-repeat;background-size:contain;background-position:50%;mix-blend-mode:screen;filter:grayscale(1)}.projects-directory .project-card__link .project-card__thumbnail video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:calc(100vh - 18rem)}@media(hover:hover)and (min-width:768px){.projects-directory .project-card--activating .project-card__link:before{display:block}.projects-directory .project-card--activating .project-card__link.project-card__link--case-study .project-header__date-value,.projects-directory .project-card--activating .project-card__link.project-card__link--external .project-header__date-value{visibility:hidden}}@media(hover:hover){.projects-directory .project-card--activating .project-card__link.project-card__link--external{color:blue}.projects-directory .project-card--activating .project-card__link.project-card__link--snippet{color:#ff0}.projects-directory .project-card--activating .project-card__link.project-card__link--case-study{color:#fff}.projects-directory .project-card--activating .project-card__link.project-card__link--case-study .project-header__cell--media{background-color:#fff}.projects-directory .project-card--activating .project-card__link.project-card__link--case-study .project-header__cell--media.transparent{background:none}.projects-directory .project-card--activating .project-card__link.project-card__link--case-study .project-header__cell--media.transparent img{filter:invert(1)}.projects-directory .project-card--activating .project-card__thumbnail{transition:none;opacity:1}}.site-container--error{position:relative;min-height:100vh;background:red;-webkit-user-select:none;user-select:none}.site-container--error .site-footer,.site-container--error .site-header__info,.site-container--error .site-header__title{background:red}.site-container--error .site-footer:after,.site-container--error .site-header__info:after,.site-container--error .site-header__title:after{display:none}.site-container--error .error-heading{position:absolute;top:50%;right:0;left:0;transform:translateY(-50%);text-align:center;font-size:3rem;line-height:var(--leading);font-feature-settings:"zero" 1}@media(min-width:768px){.site-container--error .error-heading{font-size:9rem;line-height:var(--leading)}}.site-container--error .error-heading a{display:inline-block;transform:rotate(180deg)}.site-container--error .site-footer{position:absolute;bottom:0;left:50%;width:calc(100vw - var(--outer-margin-x)*2);max-width:var(--max-width);transform:translateX(-50%);border-top:0}.projects-filter{position:relative;grid-column:span 10}@media(min-width:768px){.projects-filter{grid-column:span 2}}.projects-filter__trigger{background:none;border:none;padding:0;font:inherit;font-family:var(--font-oracle-triple);font-feature-settings:"ss06" 1,"dlig" 1;color:inherit;text-align:left;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}@media(min-width:768px){.projects-filter__trigger{width:100%;pointer-events:auto;cursor:url(/images/cursor-white.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-white.svg") 1x,url("/images/cursor-white@2x.svg") 2x) 6 6,auto}.projects-filter__trigger[data-active-filter=true]{color:#fff}.projects-filter__trigger[data-active-filter=true]:after{background-image:url(/images/close-white.svg)}}@media(min-width:768px)and (hover:hover){.projects-filter__trigger[data-active-filter=true]:hover:after{background-image:url(/images/close-white.svg)}}@media(min-width:768px){.projects-filter__trigger:after{content:"";display:inline-block;width:1.2em;height:1em;vertical-align:-.1em;background:url(/images/chevron-black.svg) 100% 100% no-repeat;background-size:.825rem auto}}@media(min-width:768px)and (hover:hover){.projects-filter__trigger:hover{color:#fff}.projects-filter__trigger:hover:after{background-image:url(/images/chevron-white.svg)}}.projects-filter__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ccc url(/images/body-bg.webp);background-size:256px 256px;z-index:2000;padding:0 var(--outer-margin-x)}.projects-filter__panel{max-width:var(--max-width);height:calc(100% + 3px);display:grid;grid-template-columns:repeat(12,1fr);gap:0 var(--gap);pointer-events:none;padding-top:var(--projects-directory-header-top);margin:-3px auto 0}.projects-filter__content{background:var(--main-bg);position:relative;max-height:100vh;overflow-y:auto;overflow-x:hidden;margin:0 auto;pointer-events:auto;padding-bottom:calc(var(--outer-margin-y) + var(--leading)*3 - 2px);-ms-overflow-style:none;scrollbar-width:none}.projects-filter__content::-webkit-scrollbar{display:none}@media(min-width:768px){.projects-filter__content{width:100%;margin:0;grid-column:span 2}.projects-filter[data-column=client] .projects-filter__content{grid-column:7/span 2}.projects-filter[data-column=categories] .projects-filter__content{grid-column:9/span 2}.projects-filter[data-column=collaborators] .projects-filter__content{grid-column:11/span 2}}@media(max-width:767px){.project-header__cell--client.projects-filter{order:3}.site-container--home .project-header__cell--client.projects-filter{grid-column-start:1;grid-column-end:7}.projects-directory__header .project-header__cell--client.projects-filter{display:none}.site-container--project-detail .project-header__cell--client.projects-filter{grid-column-start:3;grid-column-end:9}.projects-filter.project-header__cell--categories{grid-column:span 4;order:2}.projects-filter.project-header__cell--categories,.projects-filter.project-header__cell--categories ul{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.projects-filter__list{list-style:none}.projects-filter__list li{display:block}.projects-filter__list li:after{content:none}.projects-filter__list li:last-child button{border-bottom:1px solid #222}.projects-filter__list button{position:relative;padding:calc(var(--leading)/3 - 1px) 0 calc(var(--leading)/3);width:100%;text-align:left;cursor:pointer;border-top:1px solid #3e3e3e;margin-top:-1px;padding-right:1.5em;font-family:var(--font-oracle-triple);font-feature-settings:"ss06" 1,"dlig" 1;cursor:url(/images/cursor-white.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-white.svg") 1x,url("/images/cursor-white@2x.svg") 2x) 6 6,auto}@media(hover:hover){.projects-filter__list button:hover{color:#fff}}.projects-filter__list .projects-filter__list-item--all{position:sticky;top:0;background:#ccc url(/images/body-bg.webp);background-size:256px 256px;border-bottom:1px solid #3e3e3e;z-index:100}.projects-filter__list .projects-filter__list-item--all button{position:relative;padding-bottom:calc(var(--leading)/3 - 1px)}.projects-filter__list .projects-filter__list-item--all button:after{content:"";position:absolute;top:0;right:0;width:2em;height:100%;background:url(/images/close-black.svg) right 47% no-repeat;background-size:.825rem auto}@media(hover:hover){.projects-filter__list .projects-filter__list-item--all button:hover:after{background-image:url(/images/close-white.svg)}}.projects-filter__count{position:absolute;top:calc(var(--leading)/3 - 1px);right:0;display:block;width:1.5em;text-align:right}.media-component{position:relative}.media-component--cover{width:100%;background-size:cover;background-position:50%;background-repeat:no-repeat}.media-component--content .media-component__image,.media-component--content .media-component__video,.media-component--featured .media-component__image,.media-component--featured .media-component__video{width:100%;height:auto}.media-component__video{width:100%;height:100%;object-fit:cover}.meta-list{list-style:none;margin:0;padding:0}.meta-list__item{display:inline}.meta-list__item:not(:last-child):after{content:", "}.projects-empty{padding:2rem 0;text-align:center}.projects-empty p{margin:0}.site-header{margin-bottom:var(--leading)}.site-header.invert,.site-header.invert a{color:#fff}.site-header__nav-container{position:fixed;top:0;right:0;left:0;width:100vw;z-index:2;padding:0 var(--outer-margin-x)}.site-container--info .site-header__nav-container{position:absolute}.site-header__nav{position:relative;max-width:var(--max-width);margin:0 auto}.site-header__info,.site-header__title{position:absolute;top:0;text-transform:uppercase;font-feature-settings:"ss17" 1;background:#ccc url(/images/body-bg.webp);background-size:256px 256px;width:50%;padding-top:var(--outer-margin-y);transition:background-color .125s,color .125s}.site-header__info a,.site-header__title a{transition:color .125s}.site-container--info .site-header__info,.site-container--info .site-header__title{background:#222;color:#fff}.site-container--project-detail .site-header__info,.site-container--project-detail .site-header__title{background:#fff}.project-detail__media-active .site-header__info,.project-detail__media-active .site-header__title{background:rgba(0,0,0,0)}.site-header__title{left:0}.page--snippet .site-header__title,.site-container--home .site-header__title a{pointer-events:none}.page--snippet .site-header__title a{pointer-events:auto}.site-container--info .site-header__title,.site-container--project-detail .site-header__title{width:100%;pointer-events:none}.site-container--info .site-header__title a,.site-container--project-detail .site-header__title a{pointer-events:auto}.site-header__info{right:0;text-align:right}.page--snippet .site-header__info,.project-detail__media-active .site-header__info,.site-container--info .site-header__info,.site-container--project-detail .site-header__info{display:none}.site-header__subtitle{margin-top:var(--leading);opacity:1;transition:opacity .1s ease-out}.site-header__subtitle--hidden{opacity:0}.page--snippet .site-header__subtitle,.site-container--info .site-header__subtitle,.site-container--project-detail .site-header__subtitle{display:none}.site-footer{position:sticky;bottom:0;border-top:1px solid #222;margin-top:-1px;padding:calc(var(--leading)/3) 0 calc(var(--outer-margin-y) - 2px);display:flex;justify-content:space-between;background:#ccc url(/images/body-bg.webp);background-size:256px 256px}.site-footer__item{flex-shrink:0}@media(min-width:768px){.site-footer__item{width:50%}}.site-footer__item--contact{text-align:right;text-transform:uppercase;font-feature-settings:"ss17" 1}.site-container--project-detail .project-header{grid-auto-rows:min-content;position:sticky;top:calc(var(--outer-margin-y) + var(--leading));background:#fff;z-index:200;transition:background-color .125s,color .125s}.site-container--project-detail .project-header.invert{color:#fff;background:rgba(0,0,0,0)}.site-container--project-detail .project-header.invert a{color:#fff}.site-container--project-detail .project-header.invert:after{opacity:0}.site-container--project-detail .project-header:after{content:"";position:absolute;top:100%;right:0;left:0;height:3rem;background:linear-gradient(180deg,rgb(255,255,255) 0,rgba(255,255,255,0));pointer-events:none;opacity:1;transition:opacity .125s}.project-detail__media-active .site-container--project-detail .project-header{background:rgba(0,0,0,0)}.project-detail__media-active .site-container--project-detail .project-header:after{opacity:0}@media(max-width:767px){.project-detail__media-active .site-container--project-detail .project-header .meta-list,.project-detail__media-active .site-container--project-detail .project-header .project-header__cell--client,.project-detail__media-active .site-container--project-detail .project-header .project-header__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-detail__media-active .site-container--project-detail .project-header .project-header__cell--client{display:none}}.site-container--project-detail .project-detail__pager-wrapper{position:fixed;top:0;right:2.5rem;z-index:201}.site-container--project-detail .project-detail__pager{display:flex;flex-wrap:wrap;align-items:flex-end}.site-container--project-detail .project-detail__pager:empty{display:none}.site-container--project-detail .project-detail__pager-link{display:block;width:2.5rem;height:2.5rem;overflow:hidden;text-indent:-9999px;background:url(/images/arrow-left-black.svg) 50% no-repeat;background-size:.825rem auto}@media(hover:hover){.site-container--project-detail .project-detail__pager-link:hover{background-image:url(/images/arrow-left-gray.svg)}}.site-container--project-detail .project-detail__pager-link--next{background-image:url(/images/arrow-right-black.svg)}@media(hover:hover){.site-container--project-detail .project-detail__pager-link--next:hover{background-image:url(/images/arrow-right-gray.svg)}}.site-container--project-detail .project-detail__pager.invert .project-detail__pager-link{background-image:url(/images/arrow-left-white.svg)}@media(hover:hover){.site-container--project-detail .project-detail__pager.invert .project-detail__pager-link:hover{background-image:url(/images/arrow-left-gray.svg)}}.site-container--project-detail .project-detail__pager.invert .project-detail__pager-link--next{background-image:url(/images/arrow-right-white.svg)}@media(hover:hover){.site-container--project-detail .project-detail__pager.invert .project-detail__pager-link--next:hover{background-image:url(/images/arrow-right-gray.svg)}}.site-container--project-detail .project-card__thumbnail{position:fixed;top:9rem;bottom:9rem;left:50%;width:calc(100% - var(--outer-margin-x)*6);max-width:var(--max-width);transform:translateX(-50%);background-repeat:no-repeat;background-size:contain;background-position:50%;cursor:url(/images/cursor-gray.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-gray.svg") 1x,url("/images/cursor-gray@2x.svg") 2x) 6 6,auto}.site-container--project-detail .project-card__thumbnail:after{content:"";position:absolute;top:100%;left:50%;width:2.5rem;height:2.5rem;background:url(/images/chevron-black.svg) 50% no-repeat;background-size:.825rem auto;text-indent:300%;white-space:nowrap;overflow:hidden;transform:translateX(-50%)}@media(hover:hover){.site-container--project-detail .project-card__thumbnail:hover:after{background-image:url(/images/chevron-gray.svg)}}.yarl__no_scroll .site-container--project-detail .project-card__thumbnail{display:none}.site-container--project-detail .project-card__thumbnail video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:calc(100vh - 18rem)}.site-container--project-detail .project-detail__content{position:relative;z-index:1;display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr);border-top:1px solid #3e3e3e;padding-top:calc(var(--leading)/3);margin-top:calc(100vh - var(--leading)*12);background:#fff;grid-auto-rows:min-content}@media(min-width:768px){.site-container--project-detail .project-detail__content{margin-top:calc(100vh - var(--leading)*10)}}.site-container--project-detail .project-detail__article,.site-container--project-detail .project-detail__sidebar{margin-bottom:var(--leading)}.site-container--project-detail .project-detail__article{grid-column:span 12}@media(min-width:768px){.site-container--project-detail .project-detail__article{grid-column:span 6;display:grid;gap:0 var(--gap);grid-template-columns:repeat(6,1fr)}.site-container--project-detail .project-detail__article .project-detail__article-heading{grid-column:span 2}.site-container--project-detail .project-detail__article .project-detail__article-body{grid-column:span 4}}.site-container--project-detail .project-detail__article .project-detail__article-body p{text-indent:1.5em;margin-bottom:0}.site-container--project-detail .project-detail__article .project-detail__article-body p:first-child{text-indent:0}.site-container--project-detail .project-detail__sidebar{grid-column:span 12;display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr)}@media(min-width:768px){.site-container--project-detail .project-detail__sidebar{grid-column:span 6;grid-template-columns:repeat(6,1fr)}}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link-anchor:before{content:"↗ "}@media(hover:hover){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link-anchor:hover{color:blue;cursor:url(/images/cursor-blue.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-blue.svg") 1x,url("/images/cursor-blue@2x.svg") 2x) 6 6,auto}}@media(max-width:767px){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-section{margin-bottom:var(--leading)}}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-section>:last-child{margin-bottom:0}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link{grid-column:span 6}@media(min-width:768px){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link{grid-column-start:3;grid-column-end:5}}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link .project-detail__sidebar-link-anchor{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:none){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-link .project-detail__sidebar-link-anchor:after{content:" ↗"}}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-credits{grid-column:span 6}@media(min-width:768px){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-credits{grid-column-start:5;grid-column-end:7}}.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-collaborators{grid-column:span 6}@media(min-width:768px){.site-container--project-detail .project-detail__sidebar .project-detail__sidebar-collaborators{display:none}}.site-container--project-detail .project-detail__media-grid{grid-column:span 12;display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr);padding-top:calc(var(--leading)*6)}@media(min-width:768px){.site-container--project-detail .project-detail__media-grid{padding-top:calc(var(--leading)*8)}}.site-container--project-detail .project-detail__media-grid .project-detail__media-item{line-height:0;padding-bottom:var(--outer-margin-x);grid-column:span 12;text-align:center}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .media-component{background:url(/images/disabled.png);background-size:2px 2px}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth]{grid-column:span 6}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption{grid-template-columns:repeat(6,1fr)}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption .project-detail__media-caption-index{grid-column:span 1}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption .project-detail__media-caption-text{grid-column:span 5}@media(min-width:768px){.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption{grid-template-columns:repeat(12,1fr)}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption .project-detail__media-caption-index{grid-column:span 1}.site-container--project-detail .project-detail__media-grid .project-detail__media-item[data-display=halfWidth] .project-detail__media-caption .project-detail__media-caption-text{grid-column:span 11}}.site-container--project-detail .project-detail__media-grid .project-detail__media-item:last-child{padding-bottom:0}.site-container--project-detail .project-detail__media-grid .project-detail__media-item video{width:100%}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption{display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr);line-height:var(--leading);padding:calc(var(--leading)/3) 0 var(--leading);text-align:left}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption .project-detail__media-caption-index{grid-column:span 1}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption .project-detail__media-caption-text{grid-column:span 11}@media(min-width:768px){.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption{grid-template-columns:repeat(24,1fr)}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption .project-detail__media-caption-index{grid-column:span 1}.site-container--project-detail .project-detail__media-grid .project-detail__media-item .project-detail__media-caption .project-detail__media-caption-text{grid-column:span 23}}.site-container--info .info-page{display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr)}.site-container--info .info-page__section{grid-column:span 6;margin-bottom:var(--leading);text-wrap:pretty}@media(min-width:768px){.site-container--info .info-page__section{grid-column:span 3}}.site-container--info .info-page__heading{margin-top:var(--leading);margin-bottom:calc(var(--leading)/2)}.site-container--info .info-page__heading:first-child{margin-top:0}.site-container--info .info-page__content{margin-bottom:var(--leading)}.site-container--info .info-page__content p{margin-bottom:calc(var(--leading)/2)}.site-container--info .info-page__content ul li{text-indent:-1.5em;padding-left:1.5em}.site-container--info .info-page__social-list a:before{content:"↗ "}.site-container--info .info-page__section--press ul{margin-bottom:calc(var(--leading)/2)}.site-container--info .info-page__section--press p{margin-bottom:0}.site-container--info .info-page__subsection{margin-bottom:var(--leading)}.site-container--snippet,body.page--snippet{background:#ccc url(/images/body-bg.webp);background-size:256px 256px;color:#222;cursor:url(/images/cursor-black.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-black.svg") 1x,url("/images/cursor-black@2x.svg") 2x) 6 6,auto}.site-container--snippet .page-close__link,body.page--snippet .page-close__link{cursor:url(/images/cursor-white.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-white.svg") 1x,url("/images/cursor-white@2x.svg") 2x) 6 6,auto}@media(hover:hover){.site-container--snippet .page-close__link:hover,body.page--snippet .page-close__link:hover{background-image:url(/images/close-white.svg)}}body[data-snippet-close-hover=true] .page-close__link{background-image:url(/images/close-white.svg)}.snippet-slideshow{position:fixed;top:0;right:0;bottom:0;left:0}.snippet-slideshow__inner{position:relative;width:100%;height:100vh;max-width:calc(var(--max-width) + var(--outer-margin-x)*2);margin:0 auto}.snippet-slideshow__count{font-size:1rem;letter-spacing:.05em}.snippet-slideshow__viewport{position:fixed;top:9rem;bottom:9rem;left:50%;width:calc(100% - var(--outer-margin-x)*6);max-width:var(--max-width);transform:translateX(-50%)}.snippet-slideshow__image,.snippet-slideshow__video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:calc(100vh - 18rem)}.snippet-slideshow__nav{position:fixed;top:0;bottom:0;cursor:url(/images/cursor-yellow.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-yellow.svg") 1x,url("/images/cursor-yellow@2x.svg") 2x) 6 6,auto}.snippet-slideshow__nav--prev{left:0;width:2.5rem;z-index:1}.snippet-slideshow__nav--prev:hover:after{background-image:url(/images/arrow-left-yellow.svg)}.snippet-slideshow__nav--next{left:0;right:0}.snippet-slideshow__nav--next:hover:after{background-image:url(/images/arrow-right-yellow.svg)}.snippet-slideshow__nav--next[aria-label="Close snippet"]:after{display:none}.snippet-slideshow__nav--next:hover[aria-label="Close snippet"]{cursor:url(/images/cursor-white.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-white.svg") 1x,url("/images/cursor-white@2x.svg") 2x) 6 6,auto}.snippet-slideshow__nav:after{content:"";position:fixed;top:50%;width:2.5rem;height:2.5rem;transform:translateY(-50%);background-size:.825rem auto;background-repeat:no-repeat;background-position:50%;pointer-events:none}.snippet-slideshow__nav--prev:after{background-image:url(/images/arrow-left-black.svg);left:0}.snippet-slideshow__nav--next:after{background-image:url(/images/arrow-right-black.svg);right:0}.snippet-slideshow__nav:disabled{display:none}.snippet-slideshow__footer{position:absolute;right:var(--outer-margin-x);left:var(--outer-margin-x);bottom:var(--outer-margin-y)}.snippet-slideshow__footer .snippet-slideshow__caption{display:grid;gap:0 var(--gap);grid-template-columns:repeat(12,1fr);pointer-events:none}@media(min-width:768px){.snippet-slideshow__footer .snippet-slideshow__caption{grid-template-columns:repeat(24,1fr)}}.snippet-slideshow__footer .snippet-slideshow__caption-count{grid-column:span 1}.snippet-slideshow__footer .snippet-slideshow__caption-text{grid-column:span 11;padding-right:12em}@media(min-width:768px){.snippet-slideshow__footer .snippet-slideshow__caption-text{grid-column:span 23}}.snippet-slideshow__caption-text,.snippet-slideshow__link{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snippet-slideshow__link{position:absolute;right:0;bottom:0;width:12em;text-align:right;pointer-events:none}.snippet-slideshow__link a{pointer-events:auto;cursor:url(/images/cursor-blue.svg) 6 6,auto;cursor:-webkit-image-set(url("/images/cursor-blue.svg") 1x,url("/images/cursor-blue@2x.svg") 2x) 6 6,auto}.snippet-slideshow__link a:before{content:"↗ "}@media(hover:hover){.snippet-slideshow__link a:hover{color:blue}}.ai-search{margin:4rem 0;display:grid;gap:2rem}.ai-search__form{display:grid;gap:.75rem}.ai-search__label{font-size:1.25rem;font-weight:600}.ai-search__input-row{display:flex;gap:1rem}.ai-search__input-row input{flex:1;padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem}.ai-search__input-row button{min-width:7rem;padding:.75rem 1.25rem;border-radius:.5rem;background:#000;color:#fff;border:none;font-weight:600}.ai-search__examples ul{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.ai-search__examples button{padding:.5rem .75rem;border:1px solid #ccc;border-radius:999px;background:#fff;cursor:pointer}.ai-search__filters pre{background:#f5f5f5;border-radius:.75rem;padding:1rem;max-height:12rem;overflow:auto}.ai-search__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ai-search__result-link{color:inherit;text-decoration:none}.ai-search__card{display:grid;gap:1rem;border:1px solid #e1e1e1;border-radius:1rem;overflow:hidden;background:#fff;min-height:100%}.ai-search__thumb img{width:100%;height:180px;object-fit:cover}.ai-search__card-body{padding:1rem 1.25rem 1.5rem;display:grid;gap:.75rem}.ai-search__card-title{font-size:1.125rem;font-weight:600}.ai-search__meta{display:grid;gap:.25rem}.ai-search__meta div{display:flex;gap:.5rem;font-size:.95rem}.ai-search__meta dt{font-weight:500;color:#555}.ai-search__chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.ai-search__chips li{padding:.25rem .75rem;border-radius:999px;background:#eef4ff;font-size:.85rem}.ai-search__error{color:#c00}.ai-search-debug{padding:4rem 2rem;display:grid;gap:2rem}.ai-search-debug__section{display:grid;gap:.75rem}.ai-search-debug textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:.5rem;font-size:.95rem}.ai-search-debug button{justify-self:flex-start;padding:.6rem 1.2rem;border:none;border-radius:.5rem;background:#000;color:#fff;font-weight:600}.ai-search-debug pre{background:#f5f5f5;padding:1rem;border-radius:.75rem;overflow:auto}