*{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-gutter:stable;overflow-y:auto}body{color:#fff;caret-color:#0000;background:#000;min-height:100svh;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}input,textarea,[contenteditable=true],[role=textbox]{caret-color:auto}#main-content{width:var(--content-width);padding-block:var(--page-space);margin-inline:auto}.site-header{width:var(--content-width);justify-content:space-between;align-items:center;gap:var(--header-gap);margin-inline:auto;padding-block:24px;display:flex}.site-header nav{min-width:0;max-width:calc(100% - 112px - var(--header-gap));flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px clamp(16px,5vw - 24px,32px);display:flex}.site-mark{flex:0 325px;align-items:center;min-width:0;max-width:325px;display:flex}.site-mark img{width:100%;height:auto;display:block}h1,h2,p{margin:0 0 16px}h1{font-size:32px;font-weight:500;line-height:1.2}h2{font-size:24px;font-weight:500;line-height:1.3}.page-title{margin:0 0 24px;font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1.3}a{color:inherit;text-underline-offset:4px}.site-header a{text-decoration:none}.site-header a:hover{text-decoration:underline}.site-header nav a{letter-spacing:.02em;text-transform:none;white-space:nowrap;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;font-size:13px;font-weight:300}.studio-profile{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:start;gap:64px;display:grid}.studio-portrait img{filter:grayscale();width:100%;height:auto;display:block}.studio-intro{max-width:680px}.studio-intro p{margin-bottom:24px}.contact-sections{gap:clamp(40px,7svh,72px);display:grid}.contact-sections h2{margin-bottom:24px}.contact-sections section:first-child a{font-size:18px}.contact-links{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (max-width:700px){.site-header{width:var(--portfolio-width);flex-direction:column;align-items:stretch;gap:clamp(16px,4vw,24px);padding-block:20px}.site-mark{flex:none;align-self:center;width:min(100%,300px);max-width:100%}.site-header nav{flex-wrap:wrap;justify-content:space-between;gap:clamp(4px,1vw,12px);width:100%;max-width:none}.site-header nav a{font-size:clamp(11px,3vw,13px)}.studio-profile{grid-template-columns:1fr;gap:40px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:#b3b3b3;--page-space:clamp(32px, 5svh, 56px);--viewport-image-width:100cqw;--portfolio-width:min(1560px, max(61cqw, min(72cqw, 480px)), var(--viewport-image-width));--content-width:min(calc(100cqw - 48px), max(var(--portfolio-width), 480px));--header-gap:clamp(16px, calc(100cqw - 480px), 48px);container-type:inline-size}@media (min-width:701px){:root{--viewport-image-width:max(480px, calc((100svh - 200px - 2 * var(--page-space)) * 1.5))}}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{background:0 0;border:0}:focus:not(:focus-visible){box-shadow:none;outline:none}:focus-visible{outline:none;box-shadow:0 2px #b3b3b3}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#000;border-color:#555}select option{color:#eee;background-color:#111}select option:checked{color:#fff;background-color:#333}@media (forced-colors:active){:focus-visible{outline-offset:3px;outline:1px solid canvastext}}.skip-link{z-index:20;color:#000;background:#fff;padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.studio-process-link{padding-top:24px}.demo-label{color:#aaa;letter-spacing:.025em;font-size:12px;display:block}.featured-work{margin-top:0}.carousel-stage{--feature-width:var(--portfolio-width);--gap:clamp(24px, calc(18cqw - 72px), 144px);--neighbor-width:min(calc(var(--feature-width) * .55), calc(100cqw - var(--feature-width) - 2 * var(--gap)));width:100cqw;height:calc(var(--feature-width) * 2 / 3);touch-action:pan-y pinch-zoom;cursor:grab;margin-left:calc(50% - 50cqw);position:relative;overflow:clip}.carousel-stage:before{content:"";width:var(--feature-width);height:var(--neighbor-width);visibility:hidden;pointer-events:none;position:absolute}.carousel-slide{width:var(--feature-width);transform:translate3d(calc(var(--offset) * 50cqw - 50%), 0, 0);transform-origin:50% 0;will-change:transform;position:absolute;top:0;left:50%}.carousel-image{display:block}.carousel-image:focus-visible img{filter:brightness(.8)}.carousel-image img{width:100%;height:auto;max-height:calc(var(--feature-width) * 2 / 3);object-fit:contain;object-position:top;-webkit-user-select:none;user-select:none;display:block}.is-dragging,.is-dragging a{cursor:grabbing}.carousel-bottom{width:var(--portfolio-width);margin-left:calc(50% - var(--portfolio-width) / 2);justify-content:space-between;align-items:flex-start;gap:24px;padding-top:22px;display:flex}.carousel-caption h3{margin:0 0 5px;font-size:21px;font-weight:400;line-height:1.3}.carousel-caption h3 a{text-decoration:none}.carousel-caption h3 a:hover{text-decoration:underline}.carousel-caption p{color:#bbb;margin-bottom:6px;font-size:13px}.carousel-caption p span{padding-inline:6px}.carousel-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.carousel-controls button{min-width:36px;min-height:44px;font-size:20px}.carousel-controls .play-toggle{justify-content:center;align-items:center;margin-left:10px;display:inline-flex}.carousel-counter{color:#aaa;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.work-page{min-height:60vh}.archive-toolbar{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.archive-toolbar label{color:#aaa;flex-direction:column;flex:1;gap:8px;min-width:0;font-size:12px;display:flex}.archive-toolbar .archive-search{flex:1.6}.archive-toolbar input,.archive-toolbar select{color:#fff;background:#000;border:0;border-bottom:1px solid #555;border-radius:0;width:100%;height:44px;padding:8px 0;font-size:14px}.archive-toolbar input::placeholder{color:#999;opacity:1}.view-switch{gap:16px;display:flex}.view-switch button{color:#aaa;min-height:44px;padding:10px 0;font-size:14px}.view-switch button[aria-pressed=true]{color:#fff;text-underline-offset:7px;text-decoration:underline}.archive-status{color:#aaa;justify-content:space-between;min-height:28px;margin:24px 0 32px;font-size:12px;display:flex}.archive-status p{margin:0}.archive-status button{min-height:24px;padding:0;text-decoration:underline}.archive-projects{margin:0;padding:0;list-style:none}@media (prefers-reduced-motion:no-preference){.featured-work[data-entry=true] .carousel-slide[data-position="0"] .carousel-image,.featured-work[data-entry=true] .carousel-caption,.studio-page .studio-portrait{animation:2.2s cubic-bezier(.22,1,.36,1) both homepage-center-enter}.featured-work[data-entry=true] .carousel-slide[data-position="-1"] .carousel-image,.featured-work[data-entry=true] .carousel-slide[data-position="1"] .carousel-image{animation:2.3s cubic-bezier(.22,1,.36,1) .8s both homepage-side-enter}}@keyframes homepage-center-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes homepage-side-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.work-page .archive-projects[data-sequence=true]>li{opacity:0;transition:opacity 1.25s cubic-bezier(.22,1,.36,1),transform 1.25s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.work-page .archive-projects[data-sequence=true]>li[data-revealed=true]{opacity:1;transform:none}}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px;display:grid}.project-card{text-decoration:none;display:block}.project-card-image{aspect-ratio:3/2;background:#111;position:relative;overflow:hidden}.project-card-image img{object-fit:cover;transition:transform .5s}.project-card:hover .project-card-image img{transform:scale(1.035)}.project-card-info{padding-top:16px}.project-card h2{margin-bottom:4px;font-size:20px;transition:color .4s}.project-card p{color:#bbb;margin-bottom:2px;font-size:13px}.project-card p span{padding-inline:5px}.project-card .demo-label{margin-top:9px}.project-card:hover h2,.project-card:focus-visible h2{color:#bbb;text-underline-offset:5px;text-decoration:underline}.project-card-arrow{display:none}.archive-list{gap:32px;display:grid}.archive-list .project-card{grid-template-columns:160px 1fr auto;align-items:center;gap:32px;display:grid}.archive-list .project-card-info{padding:0}.archive-list .project-card-arrow{font-size:24px;display:block}.archive-empty{padding-block:64px}.archive-empty p{color:#aaa}.process-intro{max-width:640px;margin-block:0 64px;font-size:clamp(22px,3vw,32px);line-height:1.45}.process-stages{gap:80px;margin-bottom:96px;display:grid}.process-stage{grid-template-columns:44px 1fr 1.5fr;gap:32px;display:grid}.process-number{color:#aaa;padding-top:7px;font-size:13px}.process-stage h2{font-size:28px}.process-stage p{max-width:540px}.process-stage .process-scope{color:#aaa;margin-bottom:20px;font-size:13px}.project-heading h1{letter-spacing:normal;margin-bottom:16px;font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1.3}.project-premise{width:100%;margin-block:36px 48px;font-size:clamp(20px,2.5vw,28px);line-height:1.45}.project-lead,.project-gallery figure{margin:0}.project-lead img,.project-gallery img,.project-lead video,.project-gallery video{width:100%;height:auto;display:block}.project-image-trigger{text-align:left;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.project-image-trigger:focus-visible{outline-offset:3px;outline:2px solid #eee}.project-lead figcaption,.project-gallery figcaption{color:#aaa;margin-top:12px;font-size:12px}.project-editorial{grid-template-columns:1fr 1.5fr;gap:72px;margin-block:64px 88px;display:grid}.project-facts{align-content:start;gap:12px;margin:0;font-size:13px;display:grid}.project-facts>div{grid-template-columns:100px 1fr;gap:16px;display:grid}.project-facts dt{color:#aaa}.project-facts dd{margin:0}.project-description p{margin-bottom:24px}.project-tags{color:#aaa;flex-wrap:wrap;gap:8px 20px;margin-top:32px;padding:0;font-size:12px;list-style:none;display:flex}.project-gallery{gap:56px;display:grid}.project-gallery figcaption{justify-content:space-between;gap:20px;display:flex}.project-lightbox{color:#fff;background:#050505;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.project-lightbox::backdrop{background:#000}.project-lightbox-media{justify-content:center;align-items:center;display:flex;position:absolute;inset:clamp(8px,1.5vw,24px)}.project-lightbox-media img{object-fit:contain;width:100%;height:100%;display:block}.project-lightbox-close,.project-lightbox-arrow{z-index:1;color:#fff;background:#000000bf;border:1px solid #666;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;font-size:26px;line-height:1;display:grid;position:absolute}.project-lightbox-close:hover,.project-lightbox-arrow:hover{background:#333}.project-lightbox-close{top:12px;right:12px}.project-lightbox-arrow{top:50%;transform:translateY(-50%)}.project-lightbox-prev{left:10px}.project-lightbox-next{right:10px}.project-lightbox-counter{color:#ddd;font-variant-numeric:tabular-nums;background:#000000bf;padding:4px 9px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.project-credits{color:#aaa;max-width:720px;margin-top:64px;font-size:13px}.project-navigation{justify-content:space-between;gap:32px;margin-top:88px;display:flex}.project-navigation a{font-size:24px;text-decoration:none}.project-navigation a:last-child{text-align:right}.project-navigation a:hover{text-decoration:underline}.project-navigation span{color:#aaa;margin-bottom:8px;font-size:12px;display:block}@media (min-width:701px) and (max-width:1023px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-toolbar{flex-wrap:wrap;gap:20px}.archive-toolbar .archive-search{flex-basis:100%}.carousel-bottom{flex-wrap:wrap}}@media (max-width:700px){.page-title,.project-heading h1,.project-heading .demo-label,.project-heading .project-premise,.carousel-caption,.project-card-info{text-align:center}.carousel-bottom{flex-direction:column;gap:16px;padding-top:18px}.carousel-caption{width:100%}.carousel-caption h3{font-size:20px}.carousel-controls{justify-content:center;align-self:stretch;gap:clamp(6px,2vw,12px);position:relative}.carousel-controls button:not(.play-toggle){min-width:40px;min-height:48px;font-size:28px;line-height:1}.carousel-controls .play-toggle{margin-left:0;position:absolute;right:0}.archive-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.archive-toolbar .archive-search{grid-column:1/-1}.view-switch{justify-content:flex-end}.archive-grid{grid-template-columns:1fr;gap:40px}.archive-list .project-card{grid-template-columns:28vw 1fr;gap:16px}.archive-list .project-card h2{font-size:18px}.archive-list .project-card-arrow{display:none}.process-stages{gap:56px;margin-bottom:64px}.process-stage{grid-template-columns:32px 1fr;gap:16px}.process-stage>div{grid-column:2}.process-stage h2{margin:0}.project-editorial{grid-template-columns:1fr;gap:40px;margin-block:40px 56px}.project-gallery{gap:40px}.project-gallery figcaption{flex-direction:column;gap:4px}.project-navigation{margin-top:64px}.project-navigation a{font-size:18px}}@media (prefers-reduced-motion:reduce){.project-card-image img,.project-card h2{transition:none}.project-card:hover .project-card-image img{transform:none}}
