:root{--bg:#10100e;--bg2:#191916;--fg:#e9e6db;--dim:#a5a399;--dimmer:#8c8a80;--accent:#c88c59;--line:#34342e;--sans:'IBM Plex Sans',Arial,sans-serif;--serif:'Fraunces',Georgia,serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:active,.btn:active{transform:scale(.98)}::selection{background:var(--accent);color:var(--bg)}.wrap{width:calc(100% - 88px);max-width:1680px;margin:auto}.skip{position:fixed;left:20px;top:-80px;background:var(--fg);color:var(--bg);z-index:30;padding:12px}.skip:focus{top:12px}nav{position:absolute;top:0;left:0;width:100%;z-index:5}nav .wrap{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:var(--serif);font-size:37px;letter-spacing:-3px;line-height:1}.logo span{font:25px var(--sans);color:var(--accent);display:inline-block;padding-left:8px}.navlinks{display:flex;gap:36px}.navlinks a,.navcta,.hero-kicker,.hero-line,.hero-bottom,.section-index,.text-link,.cli,.tags,.badge,.go,.clients .lbl,.ribbon-heading,.cinema-help,.close-cinema,figcaption,.stack dt,footer{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.navlinks a{color:var(--dim)}.navlinks a:hover,.text-link:hover,.alt a:hover{color:var(--accent)}sup{font-size:8px;padding-left:4px;color:var(--accent)}.navcta{display:flex;align-items:center;gap:30px}.navcta span{font-size:23px;color:var(--accent)}.hero{padding-top:118px}.hero-kicker{display:flex;justify-content:space-between;color:var(--dim)}.live-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:9px;vertical-align:middle}.hero h1{font-family:var(--serif);font-size:clamp(60px,12.4vw,195px);font-weight:400;line-height:1.08;letter-spacing:-.065em;white-space:nowrap;margin:18px 0 12px}.hero h1 em{font-weight:400}.name-dot{color:var(--accent)}.hero-line{display:flex;justify-content:space-between;margin-bottom:28px;color:var(--dim)}.hero-line p{color:var(--fg)}.hero-gallery{display:grid;grid-template-columns:1.6fr .72fr 1fr;gap:16px;align-items:start}.frame{display:block;position:relative;overflow:hidden;background:var(--bg2);isolation:isolate}.frame img,.frame video{display:block;width:100%;height:100%;object-fit:cover}.frame img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.frame video{position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none}.frame.video-ready video{opacity:1}.frame:hover img{transform:scale(1.035)}.hero-gallery .frame{height:clamp(270px,36vw,500px)}.hero-gallery .hero-tall{margin-top:40px}.hero-gallery .hero-side{height:clamp(230px,29vw,420px)}.hero-caption{position:absolute;bottom:0;left:0;width:100%;padding:52px 19px 19px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-size:14px}.hero-caption>span{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-top:6px;color:#ddd}.hero-gallery .play{top:15px;right:15px;bottom:auto;left:auto;background:transparent;padding:0}.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 0;color:var(--dim);border-bottom:1px solid var(--line)}.hero-bottom>a{color:var(--fg)}.hero-bottom>a span{padding-left:20px;color:var(--accent);font-size:18px}.motion-toggle{background:none;border:0;padding:8px 0;font:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}.motion-toggle:hover{color:var(--accent)}.intro{padding:120px 0 100px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.section-index{color:var(--accent)}.intro h2{font:400 clamp(45px,5.8vw,90px)/1.06 var(--serif);letter-spacing:-.045em}.intro h2 em{color:var(--dim)}.intro p{color:var(--dim);font-size:18px;max-width:510px;margin:30px 0 22px}.text-link{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:8px}section{padding:70px 0}.shead{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:60px}.shead h2{font:400 clamp(36px,5.6vw,85px)/1.05 var(--serif);letter-spacing:-.045em}.shead h2 em{color:var(--dim)}.shead p{color:var(--dim);max-width:300px;font-size:14px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:5vw;row-gap:90px;align-items:start}.item{grid-column:span 7;min-width:0}.item:nth-child(even){grid-column:span 5;margin-top:130px}.item.v{grid-column:span 5}.item.v:nth-child(even){grid-column:span 7}.frame.r169{aspect-ratio:16/10}.frame.r916{aspect-ratio:4/5}.frame.r916 img,.frame.r916 video{object-fit:contain;background:#151513}.item.v:nth-child(2) .frame{aspect-ratio:1}.meta{padding-top:21px}.cli{color:var(--accent)}.meta h3{font:400 clamp(26px,3vw,45px)/1.1 var(--serif);letter-spacing:-.035em;margin:8px 0 12px}.meta p{color:var(--dim);font-size:14px;max-width:420px}.tags{display:flex;gap:18px;flex-wrap:wrap;margin-top:15px;color:var(--dim);font-size:9px}.badge{color:var(--accent);margin-top:14px}.badge:before{content:'✳ ';font-size:15px}.play{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;z-index:1;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;text-shadow:0 1px 4px #000}.play i{font:normal 24px var(--sans);display:grid;place-items:center;width:45px;height:45px;border:1px solid #ffffff70;border-radius:50%;background:#10100e40;backdrop-filter:blur(6px);transition:background .25s,transform .25s}.frame:hover .play i{background:var(--fg);color:var(--bg);transform:rotate(45deg);text-shadow:none}.cards{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw}.card{border-top:1px solid var(--line);padding:35px 0 42px;display:block}.card h3{font:400 clamp(25px,3vw,41px)/1.15 var(--serif);letter-spacing:-.025em;margin:12px 0 15px;overflow-wrap:anywhere}.card p{font-size:15px;color:var(--dim);max-width:500px}.card .go{margin-top:24px;color:var(--accent)}a.card:hover h3{color:var(--accent)}.ribbon-section{padding-top:100px;overflow:hidden}.ribbon-heading{display:flex;justify-content:space-between;margin-bottom:25px}.ribbon{overflow:hidden}.ribbon-track{display:flex;width:max-content;animation:drift 45s linear infinite}.ribbon-set{display:flex;gap:22px;padding-right:22px}.ribbon-film{width:32vw;display:block}.ribbon-film img{display:block;width:100%;height:21vw;object-fit:cover}.ribbon-film span{display:block;font:11px var(--mono);margin-top:12px}.ribbon:hover .ribbon-track,.ribbon:focus-within .ribbon-track{animation-play-state:paused}.motion-paused .ribbon-track{animation-play-state:paused}.clients{padding:45px 0 20px}.clients .lbl{color:var(--dim);margin-bottom:25px}.clients .row{display:flex;gap:20px 40px;align-items:center;flex-wrap:wrap;font:400 clamp(20px,2.5vw,35px) var(--serif);color:var(--dim)}.clients .row span{white-space:nowrap}.press{padding:0;list-style:none}.press li{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:baseline}.press .who{font-size:16px}.press .what{color:var(--dim);font-size:14px}.press .when{font:10px var(--mono);color:var(--dim)}.about{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:5vw}.portrait img{width:100%;filter:grayscale(1);display:block}.portrait figcaption{margin-top:15px;color:var(--dim)}.about p{font-size:16px;color:var(--dim);margin-bottom:20px}.about strong{color:var(--fg);font-weight:500}.stack{margin:0}.stack dt{color:var(--accent);margin:0 0 7px}.stack dd{margin:0 0 25px;font-size:13px;color:var(--dim)}.contact{padding:110px 0 95px;text-align:center;border-top:1px solid var(--line);margin-top:50px}.contact h2{font:400 clamp(62px,10vw,156px)/.99 var(--serif);letter-spacing:-.045em}.contact h2 em{color:var(--dim)}.contact p{max-width:460px;margin:28px auto;color:var(--dim)}.btn{display:inline-flex;align-items:center;gap:70px;background:var(--fg);color:var(--bg);padding:20px 28px;font:12px var(--mono);transition:background .2s}.btn span{font-size:22px}.btn:hover{background:var(--accent)}.email{display:block;margin:25px auto 0;font-size:14px;width:fit-content}.alt{display:block;margin-top:40px;color:var(--dim);font-size:12px}.alt a{border-bottom:1px solid var(--line)}footer .wrap{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;color:var(--dim)}dialog{border:1px solid var(--line);background:var(--bg);color:var(--fg);width:min(1200px,96vw);max-width:96vw;max-height:96dvh;padding:24px}dialog::backdrop{background:#080808e8;backdrop-filter:blur(15px)}.cinema-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.cinema-top h2{font:400 30px var(--serif);margin-top:5px}.close-cinema{background:transparent;border:1px solid var(--line);padding:12px 18px}.close-cinema:hover{background:var(--fg);color:var(--bg)}#cinema-video{display:block;width:100%;max-height:70dvh;background:#080808}.cinema-help{margin-top:18px;color:var(--dim);display:flex;justify-content:space-between;gap:10px}.cinema-help a{color:var(--fg)}@keyframes drift{to{transform:translateX(-50%)}}@keyframes enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.hero h1{animation:enter 1s cubic-bezier(.2,.7,.2,1) both}.hero-gallery .frame{animation:enter 1s .12s cubic-bezier(.2,.7,.2,1) both}.hero-gallery .frame:nth-child(2){animation-delay:.24s}.hero-gallery .frame:nth-child(3){animation-delay:.36s}@media(min-width:900px){.work-section .item:nth-child(even){translate:0 var(--parallax,0px)}}@media(min-width:1700px){.hero h1{font-size:195px}}@media(max-width:900px){.wrap{width:calc(100% - 44px)}.navlinks{gap:20px}.hero h1{font-size:12vw}.hero-gallery{grid-template-columns:1.3fr 1fr}.hero-gallery .hero-side{display:none}.hero-gallery .frame{height:43vw}.hero-gallery .hero-tall{margin-top:25px}.hero-bottom>span{display:none}.intro{grid-template-columns:1fr 2.5fr;gap:20px;padding-top:90px}.grid{column-gap:25px;row-gap:65px}.item:nth-child(even){margin-top:85px}.about{grid-template-columns:1fr 1.4fr}.stack{grid-column:2}.press li{grid-template-columns:1fr 2fr;gap:12px}.press .when{grid-column:2}.shead{margin-bottom:40px}.ribbon-film{width:48vw}.ribbon-film img{height:32vw}}@media(max-width:600px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 36px)}nav .wrap{height:72px}.logo{font-size:30px}.navlinks a{font-size:9px}.navlinks a:nth-child(2),.navlinks a:nth-child(3){display:none}.navcta{gap:10px;font-size:9px}.hero{padding-top:98px}.hero-kicker{font-size:8px}.hero-kicker>span:last-child{display:none}.hero h1{font-size:12.3vw;margin:21px 0}.hero-line{font-size:8px;display:block;margin-bottom:20px}.hero-line>span{display:block;margin-top:5px;color:var(--dim)}.hero-gallery{gap:10px;grid-template-columns:1.12fr 1fr}.hero-gallery .frame{height:69vw}.hero-gallery .hero-tall{margin-top:24px}.hero-caption{font-size:12px;padding:35px 10px 12px}.hero-caption>span{font-size:8px}.hero-gallery .play{top:10px;right:10px}.play i{width:34px;height:34px;font-size:20px}.hero-bottom{font-size:8px;gap:8px;padding:15px 0}.intro{grid-template-columns:1fr;padding:75px 0 30px;gap:25px}.intro h2{font-size:43px}.intro p{font-size:16px;margin-top:22px}.section-index{font-size:9px}section{padding:55px 0}.shead{display:block;padding-top:24px;margin-bottom:30px}.shead h2{font-size:43px}.shead p{margin-top:18px;font-size:13px}.grid{display:block}.item,.item:nth-child(even){margin:0 0 45px}.frame.r916,.item.v:nth-child(2) .frame{aspect-ratio:4/5}.meta h3{font-size:33px}.meta p{font-size:14px}.cards{grid-template-columns:1fr}.card{padding:28px 0}.card h3{font-size:32px}.ribbon-section{padding-top:30px}.ribbon-film{width:70vw}.ribbon-film img{height:48vw}.clients .row{gap:16px 25px;font-size:22px}.press li{display:flex;flex-wrap:wrap;gap:9px}.press .who{width:100%;font-size:15px}.press .what{width:100%;font-size:13px}.about{display:block}.portrait{max-width:270px;margin-bottom:35px}.about p{font-size:15px}.stack{display:grid;grid-template-columns:100px 1fr;margin-top:35px;gap:15px}.stack dd{margin:0}.contact{padding:70px 0 55px}.contact h2{font-size:65px}.contact p{font-size:14px}.btn{gap:40px;padding:18px 22px}.email{font-size:12px}.alt{font-size:10px;line-height:2}footer .wrap{display:block;font-size:9px}footer span{display:block;margin-bottom:7px}dialog{padding:16px}.cinema-top h2{font-size:22px}.close-cinema{padding:10px}.cinema-help{font-size:8px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.work-section .item{translate:none!important}.frame video{display:none}}.motion-paused .item{translate:none!important}
.film-versions{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;font:10px var(--mono)}.film-versions a{padding-bottom:5px;border-bottom:1px solid var(--line)}.film-versions a:hover{color:var(--accent)}#cinema-embed:empty{display:none}#cinema-embed iframe{display:block;border:0;width:100%;height:min(65dvh,650px);aspect-ratio:16/9}.frame[data-youtube] img{object-fit:cover;scale:1.03}[hidden]{display:none!important}
@media(min-width:901px){.hero-gallery .frame{height:clamp(240px,31vw,430px)}.hero-gallery .hero-side{height:clamp(210px,25vw,360px)}.hero{padding-top:112px}.hero h1{font-size:clamp(60px,13.7vw,210px);margin:10px 0}.hero-line{margin-bottom:22px}.work-section:first-of-type{padding-top:70px}}
/* The living wall is shared by the opening and the infinite gallery. */
.immersive-hero{height:100svh;min-height:680px;max-height:1100px;position:relative;overflow:hidden;isolation:isolate;padding:0;background:#10100e}.motion-wall{position:absolute;inset:-150px -3vw -300px;display:grid;grid-template-columns:1fr .78fr 1fr;gap:3vw;transform:rotate(-7deg) scale(1.05);transform-origin:center;will-change:transform}.wall-lane{will-change:transform;min-width:0}.wall-group{display:flex;flex-direction:column;gap:35px;padding-bottom:35px}.wall-film{height:34vw;min-height:300px;max-height:550px;flex-shrink:0}.wall-lane:nth-child(2) .wall-film{height:42vw;max-height:650px}.wall-lane:nth-child(3) .wall-film{height:30vw}.wall-film img,.wall-film video{object-fit:cover}.wall-caption{position:absolute;inset:auto 0 0;padding:55px 20px 18px;background:linear-gradient(transparent,#000a);color:#fff;font:11px var(--mono);display:flex;justify-content:space-between;gap:12px}.wall-caption span{font-size:24px}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10100e8c 0%,transparent 24%,#10100e15 35%,#10100ed9 79%,#10100e 100%);pointer-events:none}.hero-copy{position:absolute;bottom:105px;left:0;right:0;pointer-events:none}.hero-copy .hero-kicker{color:#e9e6db;margin-bottom:8px;text-shadow:0 1px 15px #000}.hero-copy h1{font-size:clamp(70px,13.5vw,212px);line-height:1.02;margin:10px 0 24px;letter-spacing:-.065em;color:#f0ecdf;text-shadow:0 2px 35px #10100e33}.hero-copy .hero-line{margin:0;align-items:end;color:var(--fg)}.hero-copy .hero-line p{font:400 20px/1.3 var(--sans);text-transform:none;letter-spacing:-.02em}.hero-copy .hero-line p em{font-family:var(--serif);font-size:24px}.enter-gallery{pointer-events:auto;background:#e9e6db;color:#10100e;border:0;padding:17px 22px;display:flex;align-items:center;gap:40px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em;transition:background .2s}.enter-gallery:hover{background:var(--accent)}.enter-gallery span{font-size:22px}.immersive-hero .hero-bottom{position:absolute;bottom:0;left:0;right:0;height:78px;border-color:#e9e6db30}.immersive-hero~main{position:relative;background:var(--bg)}body>nav .wrap{border-color:#e9e6db44}body>nav{color:#f0ecdf}body>nav .navlinks a{color:#f0ecdf}.wall-film:hover img{transform:scale(1.05)}#infinite-gallery{position:fixed;inset:0;width:100%;height:100dvh;max-width:100%;max-height:100dvh;margin:0;border:0;padding:0;overflow:hidden;background:var(--bg);touch-action:none}#infinite-gallery .motion-wall{inset:-160px -1vw -300px;transform:rotate(-6deg) scale(1.04)}.gallery-toolbar{position:absolute;z-index:2;inset:0 0 auto;display:flex;align-items:center;gap:28px;padding:24px 35px;background:linear-gradient(#10100eee,#10100e00)}.gallery-toolbar h2{font:400 32px var(--serif);margin-right:auto;letter-spacing:-.04em}.gallery-toolbar button,.gallery-select button{background:var(--fg);color:var(--bg);border:0;padding:13px 18px;font:10px var(--mono);text-transform:uppercase}.gallery-toolbar .gallery-index{background:var(--bg);color:var(--fg);border:1px solid var(--line)}.gallery-floor{position:absolute;z-index:1;inset:auto 0 0;display:flex;justify-content:space-between;padding:70px 35px 24px;background:linear-gradient(transparent,#10100ef0);pointer-events:none;font:10px var(--mono);text-transform:uppercase;color:var(--fg)}.gallery-select{position:absolute;z-index:2;right:30px;bottom:70px;display:flex;gap:8px;align-items:center;padding:8px;background:#10100ecc}.gallery-select label{font:9px var(--mono);margin-right:5px}.gallery-select select{min-width:160px;max-width:220px;background:var(--bg);color:var(--fg);border:1px solid var(--line);padding:12px;font:11px var(--sans)}.gallery-select:focus-within{outline:1px solid var(--accent)}@media(max-width:900px){.motion-wall{grid-template-columns:1fr 1fr;gap:25px;inset:-100px -10vw -200px}.wall-lane:nth-child(3){display:none}.wall-film,.wall-lane:nth-child(2) .wall-film{height:54vw;min-height:320px;max-height:650px}.hero-copy h1{font-size:13vw}.hero-copy .hero-line p{font-size:17px}.hero-copy .hero-line p em{font-size:21px}.enter-gallery{gap:18px}#infinite-gallery .motion-wall{inset:-100px -10vw -200px}}@media(max-width:600px){.immersive-hero{min-height:710px;max-height:1000px}.hero-copy{bottom:97px}.hero-copy h1{font-size:19vw;white-space:normal;line-height:.95;max-width:100%;margin:16px 0 22px}.hero-copy h1 em{display:inline}.hero-copy .hero-kicker{font-size:8px}.hero-copy .hero-line{display:flex;flex-wrap:wrap;gap:20px}.hero-copy .hero-line p{font-size:15px}.hero-copy .hero-line p em{font-size:19px}.enter-gallery{font-size:9px;padding:13px 15px;gap:18px}.hero-shade{background:linear-gradient(#10100e60,transparent 25%,#10100e4d 45%,#10100ee8 79%,#10100e)}.wall-film,.wall-lane:nth-child(2) .wall-film{height:80vw;min-height:300px}.wall-group{gap:20px;padding-bottom:20px}.gallery-toolbar{padding:20px 16px;gap:8px}.gallery-toolbar h2{font-size:25px}.gallery-toolbar button{padding:12px;font-size:8px}.gallery-floor{padding:70px 18px 20px;font-size:8px}.gallery-floor>span{display:none}.gallery-select{left:12px;right:12px;bottom:52px;gap:6px}.gallery-select label{display:none}.gallery-select select{max-width:none;min-width:0;flex:1}.gallery-select button{font-size:9px;white-space:nowrap}}
.gallery-toolbar button{white-space:nowrap}.gallery-toolbar .gallery-motion{background:#10100ebd;color:var(--fg);border:1px solid #e9e6db55}.gallery-toolbar button:hover{background:var(--accent);color:var(--bg)}@media(max-width:600px){.gallery-toolbar h2{font-size:23px}.gallery-toolbar{gap:7px;padding:18px 14px}.gallery-toolbar button{padding:11px 9px;font-size:8px}}
/* Ribbon films use the same live previews as the work grid. */
.ribbon-film video{height:21vw}.ribbon-film.frame{background:transparent}.ribbon-film>span{position:relative;z-index:1}@media(max-width:900px){.ribbon-film video{height:32vw}}@media(max-width:600px){.ribbon-film video{height:48vw}}
