:root{--font:"Neue Haas Grotesk Display Pro","Neue Haas Grotesk Text Pro","Helvetica Neue",Helvetica,Arial,sans-serif;--gutter:20px;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:#fff;color:#000;font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}h1,h2,h3,p{margin:0;font-size:inherit;font-weight:400}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #9765d4;outline-offset:6px}a:not(.project-card):hover{text-decoration:underline;text-underline-offset:4px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;color:#000;padding:10px}.skip-link:focus{top:10px}.nav{position:fixed;top:0;left:0;width:100%;z-index:5;padding:20px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:14px;line-height:20px;mix-blend-mode:difference}.nav nav{display:flex;gap:14px}.nav>a,.nav nav{flex:1}.nav nav{justify-content:center}.nav .inquire{text-align:right}.hero{height:900px;min-height:640px;max-height:1100px;position:relative;background:#000;color:#fff;overflow:hidden}.hero-heading{position:absolute;top:80px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:40px;font-size:32px;line-height:1.2;letter-spacing:0}.hero-heading p{text-align:right}.hero-stage{position:absolute;inset:100px 0;display:grid;place-items:center}.hero-stack{width:720px;height:560px;position:relative;touch-action:pan-y;cursor:ew-resize}.hero-card{position:absolute;width:355px;height:355px;left:50%;top:50%;overflow:hidden;background:#d9d9d9;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)));transition:transform .65s var(--ease),opacity .5s;will-change:transform;pointer-events:none}.hero-card>img{width:100%;height:100%;object-fit:cover}.hero-card.packaging{background:#a56dfc}.hero-card.packaging>img{height:145%;width:106%;max-width:none;object-fit:cover;position:absolute;top:-20%;left:0}.hero-card.packaging .pack-logo{position:absolute;inset:10% 18% auto 7%;width:75%;height:75%;transform:rotate(-20deg)}.hero-card.identity{background:#bcbdc1}.hero-card.identity>img{position:absolute;width:280%;height:384%;max-width:none;object-fit:cover;transform:rotate(61.46deg);left:-100%;top:-130%}.hero-card.identity .identity-logo{position:absolute;width:41%;height:59%;object-fit:contain;inset:21% auto auto 30%;transform:none}.hero-logo{position:absolute;width:338px;height:auto;pointer-events:none;filter:invert(1);mix-blend-mode:exclusion;z-index:30}.disciplines{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:14px}.intro{height:975px;position:relative;padding:78px var(--gutter);overflow:hidden;background:#fff}.intro h2{font-size:52px;line-height:1.2;letter-spacing:0;max-width:1160px;position:relative;z-index:1;text-indent:40%;pointer-events:none}.intro-bottom{position:absolute;bottom:99px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;z-index:2;pointer-events:none}.intro-notes{display:flex;gap:18px;font-size:14px;line-height:1.3}.intro-bottom>img{width:338px;height:auto}.image-trail{position:absolute;inset:0;pointer-events:none;z-index:3}.trail-image{position:absolute;width:230px;height:280px;object-fit:cover;border-radius:4px;animation:trail 1.3s var(--ease) both;will-change:transform,opacity}@keyframes trail{0%{opacity:0;transform:translate(-50%,-45%) scale(.85) rotate(var(--rotation))}12%,55%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--rotation))}100%{opacity:0;transform:translate(-50%,-65%) scale(.94) rotate(var(--rotation))}}.cases{position:relative;padding:80px var(--gutter) 80px;min-height:1425px}.cases>h2{font-size:32px;line-height:1.2;letter-spacing:0;max-width:600px;position:relative;z-index:1}.project-group{position:relative;width:100%;aspect-ratio:1396.8/1080;margin-top:101px}.project-group+.project-group{margin-top:180px}.project-card{display:block;position:absolute;font-size:16px;line-height:1.4}.project-card .cover{overflow:hidden;border-radius:4px;position:relative;width:100%;background:#eee}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.project-card:hover img{transform:scale(1.035)}.project-card .caption{margin-top:11px}.project-card .note{color:#999;display:block}.project-card.slot-0{left:0;top:12.22%;width:24%}.slot-0 .cover{aspect-ratio:335.23/375}.project-card.slot-1{left:40%;top:20.55%;width:20%}.slot-1 .cover{aspect-ratio:279.36/246}.project-card.slot-2{right:0;top:0;width:26%}.slot-2 .cover{aspect-ratio:363.16/440}.project-card.slot-3{left:14.1%;bottom:0;width:21%}.slot-3 .cover{aspect-ratio:293.32/333}.project-card.slot-4{right:8.3%;bottom:12.96%;width:24%}.slot-4 .cover{aspect-ratio:335.23/312}.show-more{display:block;margin:100px auto 0;font-size:18px;padding:12px 0;border-bottom:1px solid}.show-more[hidden]{display:none}.about{height:900px;position:relative;padding:80px var(--gutter)}.about h2{font-size:52px;line-height:1.2;letter-spacing:0;max-width:1100px}.bio{position:absolute;right:40px;bottom:80px;width:374px;display:flex;flex-direction:column;gap:32px;align-items:flex-start}.bio>img{object-fit:cover;border-radius:4px;width:152px;height:190px}.bio p{font-size:16px;line-height:1.4;max-width:365px}.contact{height:116px;background:#000;color:#fff;overflow:hidden;display:flex;align-items:center}.contact-track{display:flex;gap:32px;width:max-content;animation:marquee 28s linear infinite}.contact-track:hover{animation-play-state:paused;text-decoration:none!important}.contact-unit{display:flex;align-items:center;gap:32px;flex-shrink:0}.contact-unit strong{font-size:48px;font-weight:400;white-space:nowrap;letter-spacing:0}.contact-unit>span{font-size:16px;line-height:1.4;white-space:nowrap}@keyframes marquee{to{transform:translateX(-33.333%)}}footer{background:#000;color:#fff;padding:60px var(--gutter) 20px}.footer-logo{height:min(13.65vw,196.54px);width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:60px}.footer-logo img{width:min(39.32vw,550.49px);height:auto;filter:invert(1)}.footer-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:14px;line-height:1.4;padding-bottom:8px}.footer-links{display:flex;gap:16px}.footer-links button{font:inherit}.footer-row p span,.fine{color:#aaa}.fine{padding-bottom:0}.overlay{position:fixed;inset:0;z-index:50;visibility:hidden;pointer-events:none}.overlay[hidden]{display:none}.overlay.visible{visibility:visible;pointer-events:auto}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .45s}.overlay.visible .backdrop{opacity:1}.project-panel{position:absolute;right:0;top:0;bottom:0;width:60%;max-width:1000px;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:0 64px 64px;transform:translateX(100%);transition:transform .65s var(--ease);outline:none}.overlay.visible .project-panel{transform:translateX(0)}.overlay.closing{visibility:visible}.panel-bar{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.96);padding:40px 0 30px;text-align:right}.panel-bar button{font-size:18px;line-height:1.4}.project-heading{margin:25px 0 48px}.project-heading h2{font-size:36px;line-height:1.15;letter-spacing:-.7px}.project-meta{display:flex;gap:10px;flex-wrap:wrap;color:#999;margin-top:20px;font-size:16px}.project-body{display:flex;flex-direction:column;gap:48px}.media-sequence{display:flex;flex-direction:column;gap:16px}.text-block h3{font-size:18px;line-height:1.4;margin-bottom:11px}.text-block p{font-size:16px;line-height:1.4;white-space:pre-line}.media-block{margin:0}.media-block img,.media-block video{width:100%;height:auto;border-radius:4px}.media-block figcaption{font-size:13px;color:#777;margin-top:8px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.credit{font-size:16px;color:#aaa;line-height:1.4}.project-next{font-size:18px;text-align:left;border-top:1px solid #ddd;padding-top:24px;margin-top:16px}dialog{border:0;max-width:560px;padding:40px;font-size:16px;line-height:1.5}dialog::backdrop{background:#0008}dialog button{display:block;margin-left:auto;margin-bottom:30px}dialog h2{font-size:28px;margin-bottom:20px}dialog p{margin-top:16px}
@media(min-width:1600px){.hero{height:100svh}.hero-stage{transform:scale(1.12)}.intro h2{max-width:81%}.intro,.about{height:100svh;min-height:900px}.cases{min-height:0}.project-group{margin-top:101px}.about h2{max-width:78%;font-size:clamp(52px,3.61vw,72px)}}
@media(max-width:1000px){.hero-heading{font-size:26px}.intro h2,.about h2{font-size:42px}.desktop-break{display:none}.hero-stack{transform:scale(.85)}.project-panel{width:72%;padding:0 36px 48px}.intro h2{text-indent:22%}.intro-bottom>img{width:260px}.project-card{font-size:14px}.cases{min-height:0;padding-bottom:100px}.project-group{margin-top:140px}.about h2{max-width:90%}.footer-logo{margin-top:40px}}
@media(max-width:600px){:root{--gutter:16px}.nav{padding:18px 16px;font-size:13px}.hero{height:100svh;min-height:640px;max-height:950px}.hero-heading{top:90px;font-size:24px;letter-spacing:-.7px;display:block;max-width:300px}.hero-heading p{margin-top:6px;text-align:left}.hero-stage{inset:170px 0 100px}.hero-stack{width:100%;height:100%;transform:none}.hero-card{width:57vw;height:57vw;max-width:300px;max-height:300px;transform:translate(calc(-50% + var(--x)*.4),calc(-50% + var(--y)*.4))}.hero-logo{width:52vw}.disciplines{font-size:12px;bottom:22px}.intro{height:780px;padding-top:70px}.intro h2{font-size:34px;line-height:1.15;letter-spacing:-1px;text-indent:15%;max-width:100%}.intro-bottom{bottom:40px;flex-direction:column;gap:40px;align-items:stretch}.intro-bottom>img{width:180px;align-self:flex-end}.intro-notes{font-size:12px;gap:20px}.trail-image{width:155px;height:185px}.cases{padding-top:55px;padding-bottom:70px}.cases>h2{font-size:24px;letter-spacing:-.6px}.project-group{aspect-ratio:auto;display:flex;flex-direction:column;gap:54px;margin-top:70px}.project-group+.project-group{margin-top:54px}.project-card[class]{position:static;width:100%;font-size:14px}.project-card .cover{aspect-ratio:4/5;max-height:520px}.project-card:nth-child(even){width:82%;align-self:flex-end}.project-card:nth-child(3n) .cover{aspect-ratio:1}.about{height:auto;min-height:780px;padding-top:50px;padding-bottom:70px}.about h2{font-size:34px;line-height:1.15;letter-spacing:-1px;max-width:100%}.bio{position:static;width:80%;margin:90px 0 0 auto;gap:26px}.bio p{font-size:15px}.bio>img{width:128px;height:160px}.contact{height:100px}.contact-unit strong{font-size:38px}.contact-unit>span{font-size:13px}.contact-unit{gap:24px}footer{padding-top:40px}.footer-logo{height:auto;margin-bottom:45px}.footer-logo img{width:min(100%,450px)}.footer-row{font-size:12px;gap:16px}.footer-links{gap:12px}.fine{font-size:10px}.project-panel{width:100%;max-width:none;padding:0 24px 40px}.panel-bar{padding:22px 0}.panel-bar button{font-size:16px}.project-heading{margin:25px 0 36px}.project-heading h2{font-size:30px}.project-meta{font-size:13px}.project-body{gap:32px}.text-block p{font-size:15px}.text-block h3{font-size:17px}.image-pair{gap:8px}dialog{width:calc(100% - 32px);padding:24px}}
.hero-card.identity>img:not(.identity-logo){width:994.752px;height:1364.214px;left:-194.082px;top:-393.497px;transform:rotate(61.46deg)}
@media(max-width:600px){.hero-card.identity>img:not(.identity-logo){width:280.21%;height:384.28%;left:-54.67%;top:-110.84%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.image-trail{display:none}}
/* Use viewport dimensions for the desktop presentation instead of fixed pixel caps. */
@media(min-width:601px){.hero{height:100vh;height:100svh;min-height:0;max-height:none}.intro h2{width:46vw;max-width:none}.project-panel{width:40vw;max-width:none}}
@media(max-width:600px){.hero{height:100vh;height:100svh;min-height:0;max-height:none}.intro h2{width:100%;max-width:100%}}
/* Vimeo background embeds follow the selected/source aspect ratio and hide the player chrome. */
.media-block iframe{display:block;width:100%;height:auto;aspect-ratio:var(--media-ratio,16/9);border:0;border-radius:4px;background:transparent}.media-block.vimeo-background{aspect-ratio:var(--media-ratio,16/9);overflow:hidden;border-radius:4px;background:transparent}.media-block.vimeo-background iframe{height:100%}

.project-panel{background:var(--project-bg,#fff);color:var(--project-text,#000)}
.project-panel .panel-bar{background:var(--project-bg,#fff)}
.project-panel .project-meta,.project-panel .media-block figcaption,.project-panel .credit{color:inherit;opacity:.65}

.youtube-embed iframe{min-height:200px}
