.rich-text-heading{margin:1.4em 0;text-transform:uppercase}.rich-text-quote{margin:1.4em 0 1.4em 1.4em}.rich-text-list{margin-block:1.4em;padding-inline-start:1.4em}.rich-text-list .rich-text-list{margin-block:0}.rich-text-strong{font-weight:700}.rich-text-link{text-decoration:underline;text-underline-offset:.12em}@font-face{font-family:Nimbus Sans FANG;src:url(/fonts/nimbus-sans-l-regular-webfont.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nimbus Sans FANG;src:url(/fonts/nimbus-sans-l-italic-webfont.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--text-base: min(1.26vw, 20.16px);--text-base-mobile: 2.88vw;--line-height: 1.4em;font-size:var(--text-base);font-family:Nimbus Sans FANG,Helvetica,Arial,sans-serif;color:#000;--black: #000;--white: #fff;--gray: #9c9c9c;--accent: #52a9f0;--accent-ink: #000;--highlight-fill: var(--accent);--highlight-ink: var(--accent-ink);--hairline: .0625rem;--rule: var(--hairline) solid #000;--rule-white: var(--hairline) solid #fff;--nav-height: 1.4rem;--nav-gap: 1.4rem;--site-content-max-width: 1600px;--site-content-width: min(100vw, var(--site-content-max-width));--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--viewport-height: 100vh;--letter-spacing: .06em;--text-stroke: .03em;--button-size-sm: 1.75rem;--button-size-md: 2rem}@supports (height: 100svh){:root{--viewport-height: 100svh}}@supports (height: 100dvh){:root{--viewport-height: 100dvh}}*{box-sizing:border-box}html{overflow:hidden}body{margin:0;min-height:100vh;min-height:var(--viewport-height);overflow:hidden;background:#fff;font-size:1rem;line-height:var(--line-height);letter-spacing:var(--letter-spacing);-webkit-text-stroke:var(--text-stroke) currentColor}#root{min-height:var(--viewport-height)}button,input,a,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,summary,strong{font:inherit;font-weight:400;letter-spacing:inherit}button{border-radius:0}em,i{font-style:italic}a{color:inherit;text-decoration:none}.prototype-root{min-height:var(--viewport-height);background:#fff;color:#000}.prototype-root ::selection{background:var(--accent);color:var(--accent-ink)}.page-surface{--page-surface-padding-top: calc(var(--safe-area-top) + var(--nav-height) + 2.5rem);--page-surface-padding-bottom: calc(var(--safe-area-bottom) + var(--nav-height) + 2.5rem);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-content:start;width:100%;max-width:var(--site-content-max-width);min-height:100%;margin-inline:auto;padding:var(--page-surface-padding-top) 1.4rem var(--page-surface-padding-bottom)}.section-label{margin:0 0 1.4rem;color:var(--gray);text-transform:uppercase}.text-box :where(p){margin:0;text-indent:1.4em}.text-box>p:first-child,.text-box :where(h1,h2,h3,h4,h5,h6)+p{text-indent:0}.text-box :where(h1,h2,h3,h4,h5,h6){margin:1.4em 0;text-indent:0;text-transform:uppercase}.text-box>:where(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.frame-shell{height:var(--viewport-height);min-height:var(--viewport-height);overflow:hidden;padding:0;display:grid}.site-frame{position:relative;width:100vw;height:100%;min-height:0;overflow:hidden;background:#fff;display:block}.frame-main{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:calc(var(--safe-area-top) + var(--nav-height) + 1rem) calc(var(--safe-area-bottom) + var(--nav-height) + 1rem);background:#fff;scrollbar-width:thin}.frame-nav{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));--site-content-width: min(var(--frame-content-width, 100vw), var(--site-content-max-width));position:absolute;gap:var(--nav-gap);grid-auto-rows:var(--nav-height);background:transparent;z-index:3}.frame-nav--top{left:calc((var(--frame-content-width, 100vw) - var(--site-content-width)) / 2 + var(--nav-gap));bottom:0;width:calc((var(--site-content-width) - var(--nav-gap) * 4) / 3);grid-template-columns:1fr}.frame-nav--top .nav-box{grid-column:1/-1}.frame-nav--bottom{top:0;left:calc(var(--frame-content-width, 100vw) / 2);width:var(--site-content-width);transform:translate(-50%);padding:0 var(--nav-gap)}.frame-nav--bottom .nav-box{position:relative}.frame-nav--bottom .nav-box:not(:first-child):before,.frame-nav--bottom .nav-box:not(:last-child):after{content:"";position:absolute;inset-block:0;width:var(--nav-gap)}.frame-nav--bottom .nav-box:not(:first-child):before{right:100%;transform:translate(50%)}.frame-nav--bottom .nav-box:not(:last-child):after{left:100%;transform:translate(-50%)}.nav-box{--nav-box-background: #000;--nav-box-color: #fff;grid-column:span 4;height:var(--nav-height);display:grid;place-items:center;text-transform:uppercase;color:var(--nav-box-color);background:var(--nav-box-background)}.nav-box.active{background:var(--nav-active-fill, var(--highlight-fill));color:var(--highlight-ink)}@media(hover:hover){.site-frame:has(.nav-box:hover) .nav-box.active:not(:hover){background:var(--nav-box-background);color:var(--nav-box-color)}.nav-box:hover{background:var(--highlight-fill);color:var(--black)}}.nav-box:active{background:var(--white);color:var(--highlight-fill);outline:none}.nav-box__label-mobile{display:none}html.is-home-route,.prototype-root--home{--home-background: #000;--home-color: #fff}html.is-home-route[data-home-background=white],.prototype-root--home[data-home-background=white]{--home-background: #fff;--home-color: #000}html.is-home-route,html.is-home-route body,.prototype-root--home,.prototype-root--home .frame-shell,.prototype-root--home .site-frame,.prototype-root--home .frame-main{background:var(--home-background)}.prototype-root--home{color:var(--home-color)}.prototype-root--home .nav-box{--nav-box-background: var(--home-background);--nav-box-color: var(--home-color)}.home-startup-cover{position:fixed;inset:0;z-index:2;display:grid;place-items:center;background:var(--home-background);color:var(--home-color);opacity:1;transition:opacity .18s ease}.home-startup-cover__labels{display:grid;justify-items:center}.home-startup-cover__label{opacity:0;text-transform:uppercase;animation:home-loading-cycle .75s steps(1,end) infinite}.home-startup-cover__label:nth-child(2){animation-delay:.25s}.home-startup-cover__label:nth-child(3){animation-delay:.5s}@keyframes home-loading-cycle{0%,33.333%{opacity:1}33.334%,to{opacity:0}}.prototype-root--home:is([data-home-status=ready],[data-home-status=error]) .home-startup-cover{opacity:0;pointer-events:none}.home-page.page-surface{position:relative;display:block;min-height:100%;padding:0;overflow:hidden;background:var(--home-background);color:var(--home-color)}.home-page__title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.home-motion-toggle{position:absolute;z-index:3;right:var(--nav-gap);bottom:var(--safe-area-bottom);min-height:var(--nav-height);padding:0 .5em;border:var(--hairline) solid currentColor;background:var(--home-background);color:var(--home-color);font:inherit;text-transform:uppercase;cursor:pointer}.home-motion-toggle:focus-visible{outline:var(--hairline) solid var(--accent);outline-offset:.2rem}.home-reel{--home-reel-gap: clamp(2rem, 7vh, 6rem);position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--safe-area-top) + var(--nav-height) + var(--nav-gap) + 2rem) 0 calc(var(--safe-area-bottom) + var(--nav-height) + var(--nav-gap) + 2rem);scrollbar-width:none}.home-reel::-webkit-scrollbar{display:none}.home-reel__track{display:flex;flex-direction:column}.home-reel__set{display:grid;gap:var(--home-reel-gap);padding-bottom:var(--home-reel-gap)}.home-reel__item.media-block{width:100%;margin:0;padding:1.4rem;gap:0;grid-column:auto;background:var(--home-background);color:var(--home-color)}.home-reel__video-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.home-reel__statement{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;width:100%;margin:0;padding:0 1rem}.home-reel__statement-text{grid-column:4/span 6}.home-reel__video-shell.video-shell{overflow:hidden;background:transparent}.home-reel__video-shell video{pointer-events:none}@media(orientation:portrait){.home-reel{--home-reel-gap: clamp(1.4rem, 6vh, 4rem)}}@media(max-width:35rem){.home-reel__statement{padding:0 1.4rem}.home-reel__statement-text{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.home-startup-cover{transition:none}.home-startup-cover__label{animation:none;opacity:0}.home-startup-cover__label:first-child{opacity:1}}.project-index{grid-template-rows:auto auto;row-gap:1.4rem}.project-category-heading{grid-column:1/span 3;grid-row:1;margin:0}.project-results-heading{grid-column:4/span 6;grid-row:1;margin:0;color:var(--gray);text-transform:uppercase}.project-view-control{grid-column:10/-1;grid-row:1;justify-self:end;display:flex;align-items:baseline;gap:1.4rem;white-space:nowrap}.project-view-control .section-label{margin:0}.project-view-toggle{display:flex;gap:1.4rem}.project-view-toggle button{appearance:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer}.project-view-toggle button.is-selected,.project-view-toggle button:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}.project-view-toggle button:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}@media(hover:hover)and (pointer:fine){.project-view-toggle button:hover{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}}.service-filter{--service-code-width: 1.5rem;--service-code-gap: 1.4rem;display:grid;grid-column:1/span 3;grid-row:2;align-self:start}.service-filter button{appearance:none;padding:0;border:0;background:transparent;color:inherit;display:inline-grid;grid-template-columns:auto auto;column-gap:var(--service-code-gap);align-items:center;justify-self:start;width:max-content;text-align:left;text-transform:uppercase;cursor:pointer}.service-filter button:first-child{grid-template-columns:1fr;margin-inline-start:calc(var(--service-code-width) + var(--service-code-gap))}.service-filter button.is-selected{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink)}.service-filter button span{width:var(--service-code-width)}@media(hover:hover){.service-filter:has(button:hover) button.is-selected:not(:hover){background:transparent;box-shadow:none;color:inherit}.service-filter button:hover{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink)}}.service-filter button:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}.index-note p:last-child{margin:0}.project-table{grid-column:4/-1;grid-row:2;align-self:start;width:100%;text-transform:uppercase}.project-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:1.4rem;opacity:0;animation:lineIn .22s ease forwards}.project-row .project-row__client{grid-column:1/span 4}.project-row .project-row__title{grid-column:5/span 6}.project-row .project-row__client,.project-row .project-row__title{padding-inline-start:1.2em;text-indent:-1.2em}.project-row .service-codes{grid-column:11/-1;justify-self:end}a.project-row:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}@media(hover:hover)and (pointer:fine){a.project-row:hover{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}}a.project-row:focus-visible{outline:none}a.project-row:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}a.project-row:active .service-codes{color:inherit}.service-codes{display:grid;grid-template-columns:repeat(4,1.54rem);gap:.5rem;color:var(--black)}.service-codes span{min-height:1em}a.project-row:focus-visible .service-codes{color:var(--black)}@media(hover:hover)and (pointer:fine){a.project-row:hover .service-codes{color:var(--black)}}.project-thumbnail-grid{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2.8rem 1.4rem;align-items:start;align-self:start}.project-index[data-view=grid] .project-results-heading{grid-column:1/span 9}@media(max-width:64rem){.project-category-heading{grid-column:1/span 6}.project-view-control{grid-column:7/-1}.service-filter{grid-column:1/-1}.project-index[data-view=list] .project-results-heading{grid-column:1/-1;grid-row:3}.project-table{grid-column:1/-1;grid-row:4}.project-index[data-view=grid] .project-results-heading{grid-column:1/span 6}.project-thumbnail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.project-thumbnail{display:grid;align-content:start;align-self:start;opacity:0;animation:lineIn .22s ease forwards}.project-thumbnail__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:transparent;isolation:isolate}.project-thumbnail__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.project-thumbnail:focus-visible{outline:none}.project-thumbnail:focus-visible .project-thumbnail__media{outline:1px solid var(--accent);outline-offset:.15rem}.project-thumbnail:active,.project-thumbnail:focus-visible{background:transparent}.project-thumbnail:active .project-thumbnail__media:after,.project-thumbnail:focus-visible .project-thumbnail__media:after{content:"";position:absolute;inset:0;background:var(--project-thumbnail-image) center/contain no-repeat;filter:brightness(0) saturate(1) invert(68.12%) sepia(41.01%) saturate(27.1348) hue-rotate(179.53deg) brightness(93.51%) contrast(101.41%);mix-blend-mode:screen;pointer-events:none}.project-thumbnail:active .project-thumbnail__media img,.project-thumbnail:focus-visible .project-thumbnail__media img{filter:grayscale(1) contrast(1.35)}@media(hover:hover)and (pointer:fine){.project-thumbnail:hover{background:transparent}.project-thumbnail:hover .project-thumbnail__media:after{content:"";position:absolute;inset:0;background:var(--project-thumbnail-image) center/contain no-repeat;filter:brightness(0) saturate(1) invert(68.12%) sepia(41.01%) saturate(27.1348) hue-rotate(179.53deg) brightness(93.51%) contrast(101.41%);mix-blend-mode:screen;pointer-events:none}.project-thumbnail:hover .project-thumbnail__media img{filter:grayscale(1) contrast(1.35)}}.project-page{--page-surface-padding-bottom: calc(var(--safe-area-bottom) + var(--nav-height) + 2.5em);padding-bottom:var(--page-surface-padding-bottom)}.project-header{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;grid-column:1/-1;margin-bottom:1.4rem}.project-title-block{grid-column:1/span 6;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.4rem;align-content:start;padding-right:15%}.project-title-block h1{grid-column:2/-1}.project-title-label{grid-column:1/span 1;margin:0}.project-title-block h1,.information-page h1,.contact-page h1{margin:0;max-width:40.625rem;text-transform:uppercase}.project-summary{grid-column:1/-1;margin:0;display:grid;gap:0}.project-summary p{margin:0;text-indent:1.4em}.project-summary p:first-child{text-indent:0}.spec-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;grid-column:7/-1;margin:0;row-gap:0;align-content:start;text-transform:uppercase}.spec-grid div{grid-column:span 4;display:grid;grid-template-columns:3.75rem 1fr;column-gap:1.4rem;row-gap:0}.spec-grid .spec-grid__scope{grid-column:1/-1}.spec-grid dt{color:var(--gray)}.spec-grid dd{margin:0}.spec-grid a{display:inline-block;line-height:var(--line-height);color:inherit;text-decoration:none}.spec-grid a:hover,.spec-grid a:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}.spec-grid a:hover>.section-label,.spec-grid a:focus-visible>.section-label{color:#000}.spec-grid a:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}.spec-grid__category-list a{display:inline}.book-flow{grid-column:1/-1;display:grid;gap:2.5rem}.project-pagination{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--nav-gap);margin-top:2.5rem;text-transform:uppercase}.project-pagination a{color:inherit;text-decoration:none}.project-pagination a:hover,.project-pagination a:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}.project-pagination a:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}.project-pagination__item{min-width:0;display:grid;place-items:center}.project-pagination__view-all{display:none}@media(hover:hover){.project-pagination__all:hover .project-pagination__position,.project-pagination__all:focus-visible .project-pagination__position{display:none}.project-pagination__all:hover .project-pagination__view-all,.project-pagination__all:focus-visible .project-pagination__view-all{display:inline}}.case-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start}.case-media-band{--case-media-band-bleed: 1.4rem;--case-media-band-padding: 1.4rem;--case-media-band-background: var(--black);--case-media-band-color: var(--white);--video-shell-background: var(--case-media-band-background);--case-media-max-height: max( 12rem, calc(var(--viewport-height) - var(--page-surface-padding-top) - var(--page-surface-padding-bottom)) );--media-stagger: clamp(2.5rem, 8vw, 9rem);grid-column:1/-1;width:calc(100% + var(--case-media-band-bleed) + var(--case-media-band-bleed));margin-inline:calc(0rem - var(--case-media-band-bleed));padding:var(--case-media-band-padding);overflow-x:clip;background:var(--case-media-band-background);box-shadow:0 0 0 100vmax var(--case-media-band-background);clip-path:inset(0 -100vmax);color:var(--case-media-band-color)}.case-media-band[data-color-scheme=light]{--case-media-band-background: var(--white);--case-media-band-color: var(--black)}.case-media-strip{--active-media-columns: var(--media-columns);--case-media-row-gap: 1.4rem;--waterfall-layout: waterfall;display:grid;grid-template-columns:repeat(var(--media-columns),minmax(0,1fr));column-gap:1.4rem;row-gap:var(--case-media-row-gap);align-items:start}.case-media-band[data-carousel=true]{--case-media-max-height: min( 42rem, max( 12rem, calc( var(--viewport-height) - var(--page-surface-padding-top) - var(--page-surface-padding-bottom) - (var(--case-media-band-padding) * 2) - 2.05rem ) ) )}.case-media-band[data-carousel=true] .case-media-strip{position:relative;display:block;height:56.25vw;max-height:var(--case-media-max-height);overflow:hidden;outline:none;touch-action:pan-y pinch-zoom}.case-media-band[data-carousel=true] .case-media-strip:focus-visible{outline:var(--hairline) solid var(--accent);outline-offset:.2rem}.case-carousel-track{display:flex;width:100%;height:100%;transform:translate3d(calc(-100% + var(--carousel-offset-x, 0px)),0,0)}.case-carousel-track[data-motion=dragging],.case-carousel-track[data-motion=settling]{will-change:transform}.case-carousel-track[data-motion=settling]{transition:transform .36s cubic-bezier(.22,1,.36,1)}.case-media-band[data-carousel=true] .case-media-slide,.case-media-band[data-carousel=true] .media-block{min-height:0;height:100%;overflow:hidden}.case-media-band[data-carousel=true] .media-block>img{min-height:0;height:100%;max-height:100%;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.case-media-band[data-carousel=true] .video-shell{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}.case-media-band[data-carousel=true] .video-frame{min-height:0;overflow:hidden}.case-media-band[data-carousel=true] .video-frame video{height:100%;max-height:100%;aspect-ratio:auto}.case-media-band[data-carousel=true] .video-shell[data-controls=hidden]{grid-template-rows:minmax(0,1fr)}.case-media-band[data-carousel=true] .case-media-slide{isolation:isolate;clip-path:inset(0)}.case-carousel-track[data-motion=idle] .case-media-slide:not(.case-media-slide--active){visibility:hidden}.case-media-band[data-layout=waterfall] .case-media-strip{row-gap:calc(var(--case-media-row-gap) + var(--media-stagger) * 3);padding-bottom:calc(var(--media-stagger) * 3)}.case-media-band[data-layout=waterfall][data-last-row-media-count="1"] .case-media-strip{padding-bottom:0}.case-media-band[data-layout=waterfall][data-last-row-media-count="2"] .case-media-strip{padding-bottom:var(--media-stagger)}.case-media-band[data-layout=waterfall][data-last-row-media-count="3"] .case-media-strip{padding-bottom:calc(var(--media-stagger) * 2)}.case-media-band[data-layout=waterfall] .case-media-strip[data-waterfall-ready=true]{position:relative;display:block;row-gap:var(--case-media-row-gap);padding-bottom:0}.case-media-band[data-layout=waterfall] .case-media-strip[data-waterfall-ready=true]>.media-block{position:absolute;top:0;left:0}.case-media-band[data-layout=straight] .case-media-strip{align-items:center}.case-media-band .media-block{grid-column:auto;min-width:0;padding:0;color:inherit}.case-media-band .media-block img,.case-media-band .media-block .video-frame,.case-media-band .media-block .video-frame video{max-height:var(--case-media-max-height)}.case-media-band .media-block--black{padding:0;background:transparent}.case-media-slide{position:relative;flex:0 0 100%;min-width:0}.case-media-band[data-layout=stacked] .media-block img,.case-media-band[data-layout=stacked] .media-block .video-frame,.case-media-band[data-layout=stacked] .media-block .video-frame video{max-height:none}.case-media-band[data-layout=waterfall][data-media-columns="2"] .case-media-strip>.media-block:nth-child(2n+2),.case-media-band[data-layout=waterfall][data-media-columns="3"] .case-media-strip>.media-block:nth-child(3n+2),.case-media-band[data-layout=waterfall][data-media-columns="4"] .case-media-strip>.media-block:nth-child(4n+2){transform:translateY(var(--media-stagger))}.case-media-band[data-layout=waterfall][data-media-columns="3"] .case-media-strip>.media-block:nth-child(3n+3),.case-media-band[data-layout=waterfall][data-media-columns="4"] .case-media-strip>.media-block:nth-child(4n+3){transform:translateY(calc(var(--media-stagger) * 2))}.case-media-band[data-layout=waterfall][data-media-columns="4"] .case-media-strip>.media-block:nth-child(4n+4){transform:translateY(calc(var(--media-stagger) * 3))}.case-carousel-status{margin-top:.65rem;margin-bottom:0;text-align:center;text-transform:uppercase}.case-carousel-cursor{position:absolute;z-index:2;top:var(--carousel-cursor-y, 50%);left:var(--carousel-cursor-x, 50%);display:none;pointer-events:none;opacity:0;color:#fff;font:inherit;line-height:1;text-shadow:0 .0625rem .1875rem black;white-space:nowrap;transform:translate(-50%,-50%)}@media(hover:hover)and (pointer:fine){.case-media-band[data-carousel=true] .case-media-strip,.case-media-band[data-carousel=true] .video-shell video{cursor:none}.case-media-band[data-carousel=true] .case-media-slide .video-control-bar{cursor:default}.case-media-strip>.case-carousel-cursor{display:block}.case-media-strip>.case-carousel-cursor[data-visible=true]{opacity:1}}@media(max-width:35rem){.case-media-band[data-carousel=true]{--case-media-max-height: clamp(10rem, 42svh, 24rem)}}.case-copy{grid-column:4/span 6;display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:.5rem;row-gap:1rem;text-align:left}.case-copy>.section-label{grid-column:1;margin:0}.case-copy>h2{grid-column:2;margin:0}.case-copy>.case-body{grid-column:1/-1;display:grid;gap:0}.case-copy>.case-body>p:first-child{text-indent:0}.media-block{grid-column:span 6;margin:0;display:grid;gap:1rem}.media-block img,.media-block .video-frame video{width:100%;aspect-ratio:var(--media-ratio, auto);object-fit:contain;display:block}.media-block .video-frame video{aspect-ratio:var(--video-ratio, var(--media-ratio, 16/9))}.media-block--black,.media-block--white,.media-block--neutral{padding:1rem}.media-block--black{color:#fff}.media-block--white,.media-block--neutral{background:transparent}.video-shell{position:relative;background:var(--video-shell-background, #000)}.video-shell video{cursor:pointer}.video-shell[data-controls=hidden] video{cursor:default}.video-shell:fullscreen{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;background:#000}.video-shell:fullscreen .video-frame{min-width:0;min-height:0;max-height:none;display:grid;place-items:center;overflow:hidden}.video-shell:fullscreen .video-frame video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain}.video-shell:fullscreen .video-control-bar{width:100%}.video-shell:-webkit-full-screen{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;background:#000}.video-shell:-webkit-full-screen .video-frame{min-width:0;min-height:0;max-height:none;display:grid;place-items:center;overflow:hidden}.video-shell:-webkit-full-screen .video-frame video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain}.video-shell:-webkit-full-screen .video-control-bar{width:100%}.video-shell.is-fullscreen-fallback{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;background:#000}.video-shell.is-fullscreen-fallback .video-frame{min-width:0;min-height:0;max-height:none;display:grid;place-items:center;overflow:hidden}.video-shell.is-fullscreen-fallback .video-frame video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain}.video-shell.is-fullscreen-fallback .video-control-bar{width:100%}.video-shell.is-fullscreen-fallback{position:fixed;inset:0;z-index:30;width:100vw;height:100dvh}body.has-video-fullscreen-fallback{overflow:hidden}body.has-video-fullscreen-fallback .frame-nav,body.has-video-fullscreen-fallback .project-header,body.has-video-fullscreen-fallback .case-copy,body.has-video-fullscreen-fallback .credits-panel,body.has-video-fullscreen-fallback .project-pagination,body.has-video-fullscreen-fallback .case-carousel-status,body.has-video-fullscreen-fallback .case-carousel-cursor,body.has-video-fullscreen-fallback .case-section:not(.contains-video-fullscreen-fallback),body.has-video-fullscreen-fallback .media-block:not(.contains-video-fullscreen-fallback){visibility:hidden}body.has-video-fullscreen-fallback .page-reveal,body.has-video-fullscreen-fallback .media-block{transform:none!important}body.has-video-fullscreen-fallback .case-media-band{overflow:visible;box-shadow:none;clip-path:none}body.has-video-fullscreen-fallback .contains-video-fullscreen-fallback .case-media-strip,body.has-video-fullscreen-fallback .contains-video-fullscreen-fallback .case-carousel-track,body.has-video-fullscreen-fallback .contains-video-fullscreen-fallback .case-media-slide,body.has-video-fullscreen-fallback .contains-video-fullscreen-fallback .media-block{overflow:visible;clip-path:none;transform:none}.video-shell::backdrop{background:#000}.video-frame{position:relative}.video-frame>img.video-poster{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;pointer-events:none}.video-control-bar{display:grid;grid-template-rows:auto 1.1rem auto 0;row-gap:0;padding:.125rem 0;background:var(--highlight-fill);color:var(--highlight-ink);text-transform:uppercase}.video-scrubber{position:relative;display:block;width:calc(100% - 2rem);height:1rem;margin-top:.1rem;margin-inline:1rem;border:.1em solid #000;background:transparent;box-sizing:border-box;cursor:pointer}.video-scrubber:focus-within{outline:var(--rule);outline-offset:.125rem}.video-scrubber__fill{display:block;height:100%;background:#000}.video-scrubber__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.video-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:1.35em;padding:0 1rem}.video-action-group{display:inline-flex;align-items:center;gap:.6em;justify-self:start;min-width:0}.video-action-button{appearance:none;padding:0;border:0;background:transparent;width:1.35em;min-height:1.35em;display:inline-grid;place-items:center;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.video-action-button:focus-visible{outline:var(--rule);outline-offset:.125rem}.video-action-button--labeled{width:auto;grid-auto-flow:column;column-gap:.4em}.video-action-icon{width:1em;height:1em;display:block;background:currentColor;mask:var(--video-action-icon-url) center/100% 100% no-repeat;-webkit-mask:var(--video-action-icon-url) center/100% 100% no-repeat}.video-play-toggle{justify-self:center;min-height:1.35em;display:inline-grid;grid-auto-flow:column;align-items:center;column-gap:.4em;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.video-play-toggle:focus-visible{outline:var(--rule);outline-offset:.125rem}.video-time{white-space:nowrap}.video-time--duration{text-align:right}.video-title{padding:0 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credits-panel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-column:1/-1;column-gap:1rem;margin-top:1.4rem;text-transform:uppercase}.credits-panel .credits-panel__heading{grid-column:4/span 6;margin:0;font:inherit}.credits-panel .credits-panel__toggle{appearance:none;padding:0;border:0;background:transparent;color:inherit;width:100%;display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:.5rem;row-gap:1.4rem;font:inherit;text-align:left;text-transform:inherit;cursor:pointer}.credits-panel .credits-panel__toggle>.section-label{grid-column:1;margin:0}.credits-panel .credits-panel__toggle>:where(.credits-panel__label,.credits-panel__action){grid-column:2;margin:0;font:inherit}.credits-panel .credits-panel__toggle>.credits-panel__action{display:none}.credits-panel .credits-panel__toggle:hover,.credits-panel .credits-panel__toggle:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}.credits-panel .credits-panel__toggle:hover>.section-label,.credits-panel .credits-panel__toggle:focus-visible>.section-label{color:var(--black)}.credits-panel .credits-panel__toggle:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}.credits-panel .credits-panel__toggle:active>.section-label{color:inherit}@media(hover:hover){.credits-panel .credits-panel__toggle:hover>.credits-panel__label,.credits-panel .credits-panel__toggle:focus-visible>.credits-panel__label{display:none}.credits-panel .credits-panel__toggle:hover>.credits-panel__action,.credits-panel .credits-panel__toggle:focus-visible>.credits-panel__action{display:inline}}.credits-panel dl{grid-column:1/-1;margin:1.4rem 0 0;padding:0;scroll-margin-block:calc(var(--nav-height) + 1.4rem);columns:3;column-gap:1.4rem}.credits-panel dl div{break-inside:avoid;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.credits-panel dt{color:var(--gray)}.credits-panel dd{margin:0;text-align:left}.content-status-page>.text-box{grid-column:1/-1;max-width:40rem}.page-surface--slow-reveal .page-reveal,.project-page .page-reveal,.contact-page .page-reveal{animation-duration:.12s}.info-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;grid-column:1/-1}.info-grid>:first-child{grid-column:1/span 6}.info-grid>:first-child h1{font-size:1.5em;line-height:var(--line-height);padding-right:25%;text-transform:none}.info-grid>:last-child{grid-column:7/-1}.info-disciplines{display:grid;line-height:var(--line-height);text-transform:uppercase}.info-disciplines div{display:inline-grid;grid-template-columns:auto auto;column-gap:1rem;justify-self:start;width:max-content}.info-disciplines span:first-child{width:1.5em}.highlight-specimen{grid-column:7/-1;max-width:40.625rem;display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;text-transform:uppercase}.highlight-specimen span:nth-child(odd){color:var(--gray)}.highlight-specimen .is-highlighted{grid-column:1/-1;background:var(--highlight-fill);color:var(--highlight-ink);padding:1rem}.fang-diagram{grid-column:1/-1;display:flex;justify-content:center;margin:0 0 clamp(2rem,5vw,4rem)}.fang-diagram__inline{width:clamp(180px,24vw,360px);max-width:100%}.fang-diagram__svg{display:block;margin-top:1.5rem;width:100%;height:auto;overflow:visible}.fang-diagram [data-diagram-group=arrow]{opacity:1}.fang-diagram [data-diagram-group=arrow][data-visible=false],.fang-diagram [data-diagram-group=center-reveal]{opacity:0}.fang-diagram [data-diagram-group=center-reveal][data-visible=true],.fang-diagram [data-diagram-group=letter]{opacity:1}.team-copy{grid-column:1/-1;margin-top:2.5rem}.team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;column-gap:1rem;row-gap:1.4rem}.team-member{display:grid;align-content:start;row-gap:.5rem}.team-member p{margin:0}.team-member__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;text-transform:uppercase}.team-member__meta span:first-child{color:var(--gray)}.contact-page{align-items:start}.contact-list{grid-column:9/-1;display:grid;gap:0;line-height:var(--line-height);margin:0;text-transform:uppercase}.contact-list div{display:grid;grid-template-columns:3.5em 1fr;gap:1rem}.contact-list dt{color:var(--gray)}.contact-list dd{margin:0}.contact-list a{display:inline-block;line-height:var(--line-height)}.contact-list a:hover,.contact-list a:focus-visible{background:var(--highlight-fill);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--highlight-fill),var(--highlight-x, .18em) 0 0 var(--highlight-fill);color:var(--highlight-ink);outline:none}.contact-list a:active{background:var(--white);box-shadow:calc(var(--highlight-x, .18em) * -1) 0 0 var(--white),var(--highlight-x, .18em) 0 0 var(--white);color:var(--highlight-fill);outline:none}@keyframes lineIn{0%{opacity:1}to{opacity:1}}.page-reveal{opacity:0;animation:lineIn .22s ease forwards}@media(min-width:35.0625rem)and (max-width:64rem){:root{--text-base: min(2.1vw, 33.6px)}.service-codes{grid-template-columns:repeat(4,1.2em);gap:.5em}.spec-grid div{grid-column:span 6}}@media(max-width:35rem){.site-frame{min-height:0}.project-header,.book-flow,.credits-panel,.home-page h1,.info-grid,.fang-diagram,.highlight-specimen,.team-copy,.contact-page>*,.case-copy,.case-media-band{grid-column:1/-1}.project-title-block,.spec-grid,.info-grid>:first-child,.info-grid>:last-child{grid-column:1/-1}.project-title-block{padding-right:0}.service-codes{grid-template-columns:repeat(4,1.3rem)}.spec-grid{row-gap:0}.spec-grid div{grid-column:1/-1}.case-media-band{padding-block:var(--case-media-band-padding)}.case-media-strip{--active-media-columns: var(--mobile-media-columns);--case-media-row-gap: .5rem;grid-template-columns:repeat(var(--mobile-media-columns),minmax(0,1fr));column-gap:.5rem;row-gap:var(--case-media-row-gap)}.case-media-band[data-layout=waterfall][data-media-columns][data-mobile-media-columns] .case-media-strip{--waterfall-layout: grid;row-gap:var(--case-media-row-gap);padding-bottom:0}.case-media-band[data-layout=waterfall][data-media-columns][data-mobile-media-columns] .case-media-strip>.media-block{transform:none}.case-media-band[data-mobile-media-columns="2"] .video-control-bar{grid-template-rows:auto .75rem auto;padding:.15rem 0 .45rem}.case-media-band[data-mobile-media-columns="2"] .video-title{padding-inline:.35rem;font-size:.75em}.case-media-band[data-mobile-media-columns="2"] .video-scrubber{width:calc(100% - .7rem);height:.75rem;margin-inline:.35rem}.case-media-band[data-mobile-media-columns="2"] .video-meta-row{grid-template-columns:1fr;justify-items:center;min-height:1.2em;padding-inline:.35rem;font-size:.75em}.case-media-band[data-mobile-media-columns="2"] .video-action-group,.case-media-band[data-mobile-media-columns="2"] .video-time{display:none}.case-media-band[data-mobile-media-columns="2"] .video-play-toggle{max-width:100%;column-gap:.25em}.team-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.media-block{grid-column:1/-1}.credits-panel dl{columns:1}.credits-panel .credits-panel__heading{grid-column:1/-1}:root{--text-base: var(--text-base-mobile)}.page-surface{--page-surface-padding-top: calc(var(--safe-area-top) + (var(--nav-height) * 2) + var(--nav-gap));--page-surface-padding-bottom: calc(var(--safe-area-bottom) + (var(--nav-height) * 2) + var(--nav-gap));padding-top:var(--page-surface-padding-top);padding-bottom:var(--page-surface-padding-bottom)}.nav-box__label-mobile{display:inline;white-space:nowrap}.nav-box__label--has-mobile{display:none}.project-pagination__previous{justify-self:start}.project-pagination__next{justify-self:end}.team-roster{grid-template-columns:1fr}.info-grid>:first-child h1{padding-right:0}.project-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:.75em}.project-row .project-row__client,.project-row .project-row__title{grid-column:auto;min-width:0}.project-row .project-row__client,.project-row .project-row__title{overflow-wrap:anywhere}.project-row>.service-codes{display:none}.service-codes{grid-template-columns:repeat(4,1.35em);gap:.125em}}
