*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#101010;color:#f1f1ee;font-family:"helvetica-neue-lt-pro",Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #d3ff87;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.project-name,.studio-list,.email{font-family:"degular-display",Helvetica,Arial,sans-serif;font-weight:500}h1,h2,h3{letter-spacing:-.025em}img{display:block;max-width:100%}.top{height:78px;padding:0 28px;display:flex;align-items:center;gap:35px}.brand{font-size:30px;letter-spacing:-1px;white-space:nowrap}.discipline{font-size:12px}.top nav{margin-left:auto;display:flex;gap:25px;font-size:13px}.top nav a{padding:10px 0}.top nav a:hover,.social a:hover{color:#aaa}.menu-toggle{display:none}.hero{position:relative;height:min(76vw,660px);min-height:440px;overflow:hidden;background:#191919}.hero-poster,.hero>video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero>video{opacity:0}.hero.video-ready>video{opacity:1;z-index:1}.hero:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(transparent 45%,#0009);pointer-events:none}.hero-caption{position:absolute;z-index:3;bottom:30px;left:28px;right:28px;display:flex;align-items:end;justify-content:space-between;gap:25px}.eyebrow{font-size:12px;line-height:1.5}.hero-caption .eyebrow{margin-bottom:10px}.hero h1{font-size:44px;line-height:1}.hero-open{display:flex;align-items:center;gap:16px;font-size:13px;padding-bottom:6px;border-bottom:1px solid #ffffff70}.hero-open span{font-size:24px}.hero-pause{position:absolute;top:20px;right:28px;z-index:4;font-size:11px;padding:10px 14px;border:1px solid #ffffff70;border-radius:30px;background:#0006}.sectionbar{padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sectionbar h2{font-size:27px}.sectionbar>a{font-size:13px}.filters{display:flex;gap:25px}.filters button{font-size:12px;color:#999;padding:8px 0}.filters [aria-pressed=true]{color:#fff;border-bottom:1px solid #fff}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.project-card{text-align:left;display:block;width:100%;min-width:0}.project-card[hidden]{display:none}.picture{display:block;aspect-ratio:1.66;background:#191919;overflow:hidden;position:relative}.picture img,.picture video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.picture img{transition:transform .6s}.picture video{opacity:0;transition:opacity .2s}.playing .picture video{opacity:1}.project-card:hover .picture img{transform:scale(1.025)}.caption{display:flex;justify-content:space-between;gap:20px;padding:18px 28px 26px;align-items:center}.project-name{display:block;font-size:27px;line-height:1.1;letter-spacing:-.02em}.category{display:block;font-size:11px;color:#969696;line-height:1.6;margin-top:8px}.caption>span:last-child{font-size:20px;color:#aaa}.work-grid .project-card:nth-child(7){grid-column:1/-1}.work-grid .project-card:nth-child(7) .picture{aspect-ratio:3}.work-end{padding:25px 28px;border-bottom:1px solid #303030;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#999}.work-end a{color:#eee}.lab-preview{padding-top:30px}.lab-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.lab-preview-grid .picture{aspect-ratio:1.2}.section{padding:80px 28px}.about{display:grid;grid-template-columns:300px 1fr;gap:88px;padding-bottom:45px}.portrait{width:240px;height:331px;object-fit:cover;margin-top:28px}.about aside>.category{margin-top:16px}.about-copy{padding-top:35px}.about h2{font-size:43px;line-height:1.12;max-width:800px}.bio{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.bio p,.services p,.contact-right>p{font-size:14px;line-height:1.8;color:#aaa}.bio p+p{margin-top:22px}.collaborations{padding-top:20px;padding-bottom:50px}.brand-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:50px 7%;padding:55px 20px}.brand-logos img{width:10%;height:44px;object-fit:contain}.studio-block{display:grid;grid-template-columns:300px 1fr;gap:88px;border-top:1px solid #303030;padding-top:30px}.studio-list{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:23px;line-height:1.3}.services{background:#151515;padding-top:60px;padding-bottom:0}.services-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:45px;align-items:end}.services-heading h2{font-size:45px;line-height:1.08}.service-row{display:grid;grid-template-columns:50px 1fr 1fr;gap:22px;padding:28px 0;border-top:1px solid #353535}.service-row h3{font-size:29px}.service-row p{max-width:480px}.services .work-end{padding:28px 0;border-top:1px solid #353535;border-bottom:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact h2{font-size:70px;line-height:1.03;margin-top:25px}.contact-right{padding-top:35px}.contact-right>p{max-width:400px}.email{display:inline-block;font-size:32px;border-bottom:1px solid #777;padding-bottom:8px;margin-top:23px}.social{display:flex;gap:25px;margin-top:28px;font-size:12px}footer{margin:0 28px;min-height:92px;border-top:1px solid #333;display:flex;align-items:center;justify-content:space-between;gap:20px}footer span,footer>a:last-child{font-size:11px;color:#999}.lab-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;padding-top:60px;padding-bottom:55px}.lab-intro h1{font-size:110px;line-height:1;margin-top:8px}.lab-intro>p{max-width:350px;color:#aaa;font-size:14px;line-height:1.8}.lab-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.lab-grid .project-card{grid-column:span 3}.lab-grid .picture{aspect-ratio:1.1}.lab-grid .project-card:nth-child(n+3):nth-child(-n+5){grid-column:span 2}.lab-grid .project-card:nth-child(n+3):nth-child(-n+5) .picture{aspect-ratio:.7}.lab-grid .project-card:nth-child(6){grid-column:span 4}.lab-grid .project-card:nth-child(7){grid-column:span 2}.lab-grid .project-card:nth-child(n+6) .picture{height:550px;aspect-ratio:auto}.skip{position:fixed;left:12px;top:-100px;background:#fff;color:#000;padding:15px;z-index:100}.skip:focus{top:12px}dialog{width:min(1200px,94vw);max-height:94dvh;padding:0;border:1px solid #383838;background:#101010;color:#eee;overscroll-behavior:contain}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;background:#101010f5;padding:19px 24px;font-size:12px}.close{padding:8px}.project-media{background:#080808}.project-media img,.project-media video{display:block;width:100%;max-height:68vh;object-fit:contain}.project-details{padding:35px 28px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-details h2{font-size:42px;margin-top:8px}.project-details>p{font-size:14px;color:#aaa;line-height:1.8;padding-top:8px}.project-pagination{display:flex;justify-content:space-between;padding:25px 28px;border-top:1px solid #333;font-size:12px}.modal-open{position:fixed;width:100%;overflow:hidden}
@media(min-width:1700px){.hero{height:760px}.about,.studio-block{grid-template-columns:27% 1fr}.picture{aspect-ratio:1.8}}
@media(max-width:1000px){.discipline{display:none}.about{grid-template-columns:230px 1fr;gap:40px}.portrait{width:210px;height:290px}.about h2{font-size:36px}.bio{grid-template-columns:1fr;gap:20px}.studio-block{grid-template-columns:230px 1fr;gap:40px}.contact h2{font-size:56px}.email{font-size:27px}}
@media(max-width:640px){.top{height:70px;padding:0 18px;position:relative;z-index:10}.brand{font-size:28px}.menu-toggle{display:block;margin-left:auto;font-size:13px;padding:12px 0}.top nav{display:none;position:absolute;top:70px;left:0;right:0;background:#101010;padding:20px;flex-direction:column;gap:8px;border-bottom:1px solid #333}.menu-toggle[aria-expanded=true]+nav{display:flex}.hero{min-height:430px;height:66svh;max-height:650px}.hero-caption{left:18px;right:18px;bottom:24px;align-items:start;flex-direction:column}.hero-caption .eyebrow{font-size:10px}.hero h1{font-size:39px}.hero-open{font-size:12px}.hero-pause{right:18px}.sectionbar{padding:24px 18px;flex-wrap:wrap}.sectionbar h2{font-size:26px}.filters{gap:23px;width:100%}.work-grid{grid-template-columns:1fr}.picture{aspect-ratio:1.45}.work-grid .project-card:nth-child(7){grid-column:auto}.work-grid .project-card:nth-child(7) .picture{aspect-ratio:1.45}.caption{padding:15px 18px 25px}.project-name{font-size:26px}.work-end{padding:22px 18px;flex-wrap:wrap;font-size:11px}.lab-preview-grid{grid-template-columns:1fr 1fr}.lab-preview-grid .project-card:last-child{display:none}.lab-preview-grid .picture{aspect-ratio:.85}.lab-preview-grid .caption{padding:14px 15px 20px}.lab-preview-grid .project-name{font-size:22px}.section{padding:55px 18px}.about{grid-template-columns:1fr;gap:28px}.about aside{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}.about aside>.eyebrow{grid-column:1/-1}.portrait{margin:0;width:170px;height:235px}.about-copy{padding-top:5px}.about h2{font-size:35px}.bio{margin-top:24px}.collaborations{padding-top:0}.brand-logos{gap:35px 12%;padding:35px 0 40px}.brand-logos img{width:23%;height:36px}.studio-block{grid-template-columns:1fr;gap:24px}.studio-list{font-size:22px;gap:14px 24px}.services-heading{grid-template-columns:1fr;gap:22px;padding-bottom:30px}.services-heading h2{font-size:39px}.service-row{grid-template-columns:28px 1fr;gap:10px;padding:24px 0}.service-row h3{font-size:27px}.service-row p{grid-column:2}.services{padding-bottom:0}.contact{grid-template-columns:1fr;gap:28px}.contact h2{font-size:59px}.contact-right{padding:0}.email{font-size:30px}.social{gap:25px}footer{margin:0 18px;flex-wrap:wrap;padding:25px 0}footer span{width:100%;order:3}.lab-intro{align-items:start;gap:25px;flex-direction:column}.lab-intro h1{font-size:90px}.lab-grid{grid-template-columns:1fr 1fr}.lab-grid .project-card,.lab-grid .project-card:nth-child(n+3):nth-child(-n+5),.lab-grid .project-card:nth-child(6),.lab-grid .project-card:nth-child(7){grid-column:auto}.lab-grid .project-card:nth-child(6){grid-column:1/-1}.lab-grid .project-card:nth-child(n+6) .picture{height:auto;aspect-ratio:1}.lab-grid .project-card:nth-child(7){grid-column:1/-1}.lab-grid .project-card:nth-child(7) .picture{aspect-ratio:.85}.lab-grid .caption{padding:14px 14px 24px}.lab-grid .project-name{font-size:23px}.lab-grid .caption>span:last-child{display:none}dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;margin:0}.project-details{grid-template-columns:1fr;gap:15px;padding:25px 18px}.project-details h2{font-size:35px}.project-pagination{padding:24px 18px}.dialog-toolbar{padding:14px 18px}.project-media img,.project-media video{max-height:60dvh}.hero-poster{object-position:center}}
.hero{height:clamp(460px,68svh,720px)}
.work-grid .project-card:last-child{grid-column:1/-1}.work-grid .project-card:last-child .picture{aspect-ratio:3}
@media(max-width:640px){.hero{height:66svh;min-height:430px}.work-grid .project-card:last-child .picture{aspect-ratio:1.45}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* About and collaboration hierarchy */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.about-email{display:inline-block;margin-top:28px;padding-bottom:5px;border-bottom:1px solid #777;font-size:17px}
.brand-logos{gap:50px 3%;padding:55px 10px}.brand-logos img{width:14%;height:64px}
.studio-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 25px;font-size:17px;line-height:1.4}
@media(max-width:640px){.about aside{display:block}.about aside>.eyebrow{margin-bottom:20px}.brand-logos{gap:35px 10%;padding:35px 0 40px}.brand-logos img{width:26%;height:50px}.studio-list{grid-template-columns:repeat(2,minmax(0,1fr));font-size:16px;gap:16px 20px}}

/* Faster browsing: three project columns with short editorial excerpts. */
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-grid .caption{align-items:start;padding:17px 24px 26px;gap:14px}
.work-grid .caption>span:first-child{min-width:0}
.project-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:11px;font-size:12px;line-height:1.65;color:#aaa;max-width:620px}
.about-email{margin-top:18px}
@media(min-width:641px) and (max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.work-grid{grid-template-columns:minmax(0,1fr)}.work-grid .caption{padding:15px 18px 25px}}
.work-grid .project-card{align-self:start}
.hero{height:clamp(630px,calc(68svh + 170px),890px)} @media(max-width:640px){.hero{height:calc(66svh + 170px);min-height:600px;max-height:820px}}
#project-description{white-space:pre-line}
.project-media[hidden],.project-gallery[hidden]{display:none}
.project-media-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:transparent;padding:0 28px;align-items:stretch}
.project-media-split img,.project-media-split video{height:62vh;max-height:720px;min-height:280px;object-fit:contain;background:#171717}
.project-media-split img{object-fit:cover}
.project-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:8px;padding:12px 28px 40px}
.project-gallery figure{margin:0;min-width:0;overflow:hidden;grid-column:span 7;height:clamp(220px,38vw,500px)}
.project-gallery figure:nth-child(4n+2),.project-gallery figure:nth-child(4n+3){grid-column:span 5}
.project-gallery figure:last-child:nth-child(odd){grid-column:1/-1}
.project-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.project-gallery .gallery-wide{grid-column:1/-1;height:auto;aspect-ratio:16/9}
.project-gallery:has(.gallery-wide) figure:not(.gallery-wide){grid-column:span 6}
.project-gallery:has(.gallery-wide) .gallery-portrait{height:clamp(300px,55vw,720px)}
.project-gallery:not(:has(.gallery-square)):not(:has(.gallery-wide)) .gallery-portrait{height:clamp(300px,55vw,720px)}
@media(max-width:640px){
 .project-media-split{padding:0 12px;gap:8px}
 .project-media-split img,.project-media-split video{height:36vh;min-height:180px}
 .project-gallery{padding:12px 12px 28px;gap:5px}
 .project-gallery figure{height:clamp(160px,46vw,280px)}
 .project-gallery .gallery-wide{height:auto}
 .project-gallery:has(.gallery-wide) .gallery-portrait,.project-gallery:not(:has(.gallery-square)):not(:has(.gallery-wide)) .gallery-portrait{height:clamp(230px,65vw,400px)}
}
@media(min-width:1001px){.work-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Keep the portrait and biography together in a centered composition. */
.about{max-width:1240px;margin-inline:auto;grid-template-columns:280px minmax(0,1fr);column-gap:48px}
.about .portrait,.about aside>.eyebrow{margin-left:auto;width:240px}
@media(min-width:641px) and (max-width:1000px){.about{grid-template-columns:220px minmax(0,1fr);column-gap:32px}.about .portrait,.about aside>.eyebrow{width:210px}}
@media(max-width:640px){.about{grid-template-columns:minmax(0,1fr);gap:28px}.about .portrait{width:170px;margin-left:0}.about aside>.eyebrow{width:auto;margin-left:0}}

.brand-logos{max-width:1120px;margin-inline:auto;padding-inline:36px}
@media(max-width:640px){.brand-logos{padding-inline:18px}}
/* Original photo stays fixed; only the formula layer moves toward the viewer. */
.portrait-thinking{position:relative;overflow:hidden;isolation:isolate}
.portrait-thinking>img{width:100%;height:100%;object-fit:cover}
.thoughts{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .18s ease;color:#fff}
.thought{position:absolute;display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;white-space:nowrap;line-height:1.2;text-shadow:0 1px 3px #0007;transform-origin:center;opacity:0;will-change:transform,opacity}
.t1{left:8%;top:6%;font-size:13px;--delay:0s;--dx:-5px;--dy:-8px}
.t2{left:5%;top:23%;font-size:11px;--delay:-1.7s;--dx:-9px;--dy:-4px}
.t3{right:6%;top:34%;font-size:13px;--delay:-.8s;--dx:7px;--dy:-4px}
.t4{right:5%;top:47%;font-size:12px;--delay:-2.5s;--dx:9px;--dy:2px}
.t5{left:3%;top:48%;font-size:10px;--delay:-1.2s;--dx:-8px;--dy:2px}
.t6{left:1%;top:30%;width:54px;height:54px;--delay:-2s;--dx:-7px;--dy:-2px}
.t7{right:3%;top:13%;width:51px;height:51px;--delay:-.4s;--dx:6px;--dy:-7px}
@keyframes thinking-depth{0%{opacity:0;transform:translate(0,0) scale(.72)}22%{opacity:.82}72%{opacity:.8}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.28)}}
@media(hover:hover){.portrait-thinking:hover .thoughts{opacity:1}.portrait-thinking:hover .thought{animation:thinking-depth 3.6s linear infinite;animation-delay:var(--delay)}}
.portrait-thinking:focus-visible{outline:1px solid #aaa;outline-offset:5px}
.portrait-thinking:focus-visible .thoughts{opacity:1}
.portrait-thinking:focus-visible .thought{animation:thinking-depth 3.6s linear infinite;animation-delay:var(--delay)}
@media(prefers-reduced-motion:reduce){.portrait-thinking .thoughts{transition:none}.portrait-thinking:hover .thought,.portrait-thinking:focus-visible .thought{animation:none;opacity:.8;transform:none}}
/* Open word gaps only in the About heading; retain approved letter spacing. */
.about-copy h2{word-spacing:.08em}

.inline-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.orion-link{display:inline-block;position:relative;width:auto;margin:0;text-align:center;white-space:nowrap;color:inherit;text-decoration:none}
.orion-link span{text-decoration:underline;text-decoration-color:rgba(170,170,170,.3);text-decoration-thickness:1px;text-underline-offset:.18em;transition:opacity .2s ease}
.orion-link img{position:absolute;left:50%;top:50%;width:3.5em;max-width:none;height:auto;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .2s ease}
.orion-link:focus-visible img{transform:translate(-50%,-50%) scale(1.65)}
.orion-link:focus-visible span{opacity:0}
.orion-link:focus-visible img{opacity:1}
@media(hover:hover){.orion-link:hover span{opacity:0}.orion-link:hover img{opacity:1;transform:translate(-50%,-50%) scale(1.65)}}
.orion-link img{transition:opacity .2s ease,transform .35s ease}
.orion-word{display:inline-block;white-space:nowrap}
.orion-letter{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1);transform:translate(var(--scatter-x,0px),var(--scatter-y,0px)) rotate(var(--scatter-angle,0deg))}
@media(prefers-reduced-motion:reduce){.orion-link,.orion-link span,.orion-link img{transition:none}}
.portfolio-cursor{display:none}
@media(hover:hover) and (pointer:fine){
 html.custom-pointer,html.custom-pointer *{cursor:none!important}
 .portfolio-cursor{display:grid;place-items:center;position:fixed;left:-100px;top:-100px;width:10px;height:10px;border-radius:50%;background:#fff;color:#000;mix-blend-mode:difference;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);opacity:0;transition:width .18s ease,height .18s ease,opacity .12s ease}
 .portfolio-cursor.visible{opacity:1}
 .portfolio-cursor.link{width:20px;height:20px}
 .portfolio-cursor.view{width:32px;height:32px}
 .portfolio-cursor.orion{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){.portfolio-cursor,.portfolio-cursor span{transition:none}}

.project-gallery figure:has(video){height:auto;aspect-ratio:auto}.project-gallery video{display:block;width:100%;max-height:75vh;object-fit:contain;background:#080808}.project-gallery figcaption{padding:12px 0;color:#aaa;font-size:14px}


.lab-grid .lab-process{grid-column:span 2;align-self:start;margin:0;padding:0;min-width:0}
.process-picture{position:relative;aspect-ratio:.7;background:#080808;overflow:hidden}
.process-picture img,.process-picture video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.process-picture video{opacity:0}.process-picture.video-ready video{opacity:1;z-index:1}.process-picture.video-ready img{visibility:hidden}
.lab-process:nth-child(n+6) .process-picture{height:550px;aspect-ratio:auto}
.lab-process p{margin:0;padding:18px 28px 26px;font-size:20px;color:#ccc;line-height:1.2}.lab-process p span{display:block;color:#969696;font-size:11px;margin-top:8px;line-height:1.6}
@media(max-width:640px){.lab-grid .lab-process{grid-column:span 1}.lab-process:nth-child(n+6) .process-picture{height:auto;aspect-ratio:1}.lab-process p{padding:14px 14px 24px;font-size:18px}}
