@charset "UTF-8";
:root{color-scheme:dark;--bg:#080808;--text:#f4f3ef;--muted:#aaa9a5;--line:#292929;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:7px}::selection{background:#f4f3ef;color:#080808}img{max-width:100%;display:block}.wrap{width:min(1440px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:black;padding:14px}.skip:focus{top:15px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:block;width:156px}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:35px;font-size:13px}.header nav>a{transition:color .2s}.header nav>a:hover{color:var(--muted)}.nav-contact{border:1px solid #484848;border-radius:40px;padding:13px 20px}.nav-contact span{margin-left:15px}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;column-gap:20px;padding-top:72px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;line-height:1.6;margin:0;text-transform:uppercase}.hero h1{font-size:clamp(57px,6.5vw,104px);font-weight:500;line-height:.96;letter-spacing:-.065em;margin:34px 0 25px}.hero h1 span,h2 span{color:#8e8e8b}.hero-description{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 28px}.text-link{display:inline-flex;gap:32px;align-items:center;font-size:13px;border-bottom:1px solid #6a6a67;padding-block:10px;transition:gap .25s,color .25s}.text-link:hover{gap:44px;color:#aaa}.text-link span{font-size:20px}.hero-art{position:relative;align-self:center;margin:15px 0 0 40px;padding:0 0 62px;min-width:0}.hero-main{width:100%;height:450px;object-fit:cover;object-position:center;filter:saturate(.85);transition:filter .5s,transform .8s}.hero-art:hover .hero-main{filter:saturate(1.1);transform:translateY(-4px)}.hero-inset{position:absolute;bottom:5px;left:-45px;width:41%;height:205px;object-fit:cover;box-shadow:0 0 0 9px var(--bg);transform:rotate(-5deg);transition:transform .6s}.hero-art:hover .hero-inset{transform:rotate(-2deg) translateY(-8px)}.art-caption{font-size:9px;letter-spacing:.09em;display:flex;align-items:center;justify-content:space-between;margin:17px 0 0 43%;gap:10px}.art-caption>span:last-child{font-size:25px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em;color:#8f8f8c;border-bottom:1px solid var(--line);padding:50px 0 25px;margin-top:32px}.hero-bottom>span:last-child>span{margin-left:18px}.work{padding-top:83px}.section-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.section-note{font-size:12px;color:var(--muted);line-height:1.6;margin:0;max-width:250px}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:40px 0 34px}h2{font-size:clamp(40px,4.4vw,68px);font-weight:400;line-height:1.04;letter-spacing:-.05em;margin:0}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{padding:10px 15px;background:transparent;border:1px solid transparent;border-radius:25px;font-size:11px;color:#a7a7a3;transition:all .2s}.filters button.active{border-color:#747470;color:white}.filters button:hover{border-color:#444;color:white}.filters sup{font-size:8px;margin-left:3px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 25px}.project{display:block;border:0;background:transparent;text-align:left;padding:0;min-width:0;width:100%}.project-image{display:block;position:relative;overflow:hidden;background:#1b1b1b;aspect-ratio:1.35}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.9)}.project:hover .project-image img,.project:focus-visible .project-image img{transform:scale(1.035);filter:saturate(1.1)}.project-open{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#f4f3ef;color:#111;font-size:25px;transform:translateY(65px);transition:transform .3s}.project:hover .project-open,.project:focus-visible .project-open{transform:translateY(0)}.project-meta{display:flex;justify-content:space-between;gap:15px;padding-top:19px}.project strong{font-size:16px;font-weight:400;display:block;line-height:1.4}.project small{display:block;color:#969692;font-size:8px;letter-spacing:.12em;line-height:1.5;margin-top:7px}.project-number{font-size:10px;color:#797976;padding-top:5px}.project-feature{grid-column:1/-1}.project-feature .project-image{aspect-ratio:2.15}.project-feature .project-image img{object-position:center 42%}.video-mark{position:absolute;bottom:22px;left:23px;display:inline-flex;align-items:center;gap:25px;border:1px solid #ffffff70;border-radius:30px;padding:12px 16px;background:#0006;backdrop-filter:blur(8px);font-size:9px;letter-spacing:.1em}.more-work{margin:35px 0 0}.about{padding-top:105px;margin-top:90px;border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin-top:48px}.about-copy{max-width:510px;padding-top:0}.about-copy p{font-size:14px;color:var(--muted);line-height:1.85;margin:0 0 18px}.about-copy p:first-child{font-size:20px;color:var(--text);line-height:1.55;letter-spacing:-.015em}.about-copy .text-link{margin-top:3px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:68px}.services article{padding-top:20px;border-top:1px solid #4a4a47}.services article>span{font-size:10px;color:#8f8f8c}.services h3{font-size:17px;line-height:1.3;font-weight:400;margin:32px 0 14px;letter-spacing:-.02em}.services p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.contact{border-top:1px solid var(--line);padding-top:77px;margin-top:100px;padding-bottom:70px}.contact-top{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.contact h2{font-size:clamp(56px,7.4vw,112px)}.contact-arrow{border:1px solid #555;border-radius:50%;width:105px;height:105px;display:grid;place-items:center;font-size:60px;font-weight:300;transition:background .25s,color .25s,transform .25s}.contact-arrow:hover{color:#080808;background:#f4f3ef;transform:rotate(5deg)}.contact>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;margin:28px 0 22px}.email{display:inline-block;font-size:clamp(8.2944px,1.01376vw,13.824px);letter-spacing:-.035em;border-bottom:1px solid #555;padding-bottom:7px;overflow-wrap:anywhere}.socials{display:flex;gap:28px;margin-top:30px;font-size:12px}footer{padding:25px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:9px;color:#969692;letter-spacing:.06em}footer a{color:var(--text)}dialog{width:min(950px,calc(100% - 32px));max-height:90dvh;background:#121212;border:1px solid #444;color:var(--text);padding:0;overscroll-behavior:contain}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.dialog-close{position:sticky;top:0;z-index:2;background:#121212;display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 25px;border:0;border-bottom:1px solid #333;font-size:12px}.dialog-close span{font-size:28px}.dialog-content{padding:28px}.dialog-content>img{width:100%;max-height:52vh;object-fit:contain;background:#080808}.dialog-content .eyebrow{margin-top:25px;color:#aaa}.dialog-content h2{font-size:38px;margin-top:10px}.dialog-content>p:not(.eyebrow){font-size:14px;color:#aaa;line-height:1.7;max-width:650px}.intro{animation:intro .9s both}.hero h1.intro{animation-delay:.1s}.hero-description.intro{animation-delay:.2s}.hero-art.intro{animation-delay:.25s}.text-link.intro{animation-delay:.3s}@keyframes intro{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}
@media(min-width:1600px){.hero-main{height:530px}.hero-inset{height:230px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{height:95px}.hero{padding-top:55px;grid-template-columns:1.05fr 1fr}.hero-main{height:360px}.hero-inset{height:160px;left:-20px}.hero-art{margin-left:15px}.art-caption{font-size:8px}.hero h1{font-size:clamp(54px,7.5vw,80px)}.work-heading{display:block}.filters{margin-top:25px}.about-grid{gap:35px}.services{grid-template-columns:repeat(2,1fr);row-gap:35px}.contact-arrow{width:80px;height:80px;font-size:45px}}
@media(max-width:650px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{height:90px;gap:16px}.brand{width:123px}.header nav{gap:17px;font-size:11px}.header nav>a:nth-child(2){display:none}.nav-contact{border:0;padding:0}.nav-contact span{margin-left:4px}.hero{display:block;padding-top:45px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(53px,13.8vw,86px);margin-top:27px;line-height:.98}.hero-description{font-size:13px;margin-top:24px}.hero-art{display:block;margin:42px 0 0 20px;padding-bottom:48px}.hero-main{height:320px}.hero-inset{height:145px;width:42%;left:-16px;bottom:0}.art-caption{font-size:7px;margin-left:46%}.hero-bottom{padding-top:35px;margin-top:20px;font-size:7px;line-height:1.8}.hero-bottom>span{max-width:55%}.hero-bottom>span:last-child{text-align:right}.hero-bottom>span:last-child>span{margin-left:3px}.work{padding-top:55px}.section-note{font-size:10px;max-width:160px}.work-heading{margin-top:30px}h2{font-size:43px}.filters{gap:1px;margin-top:24px}.filters button{padding:9px 12px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:30px}.project-feature{grid-column:auto}.project-feature .project-image{aspect-ratio:1.35}.project strong{font-size:15px}.project small{font-size:8px}.project-meta{padding-top:14px}.project-open{width:34px;height:34px;font-size:21px;transform:none;right:13px;bottom:13px}.about{padding-top:55px;margin-top:58px}.about-grid{display:block;margin-top:34px}.about-copy{margin-top:30px}.about-copy p:first-child{font-size:18px}.about-copy p{font-size:13px}.services{gap:27px 19px;margin-top:40px}.services h3{font-size:16px;margin-top:23px}.services p{font-size:11px}.contact{margin-top:65px;padding-top:48px;padding-bottom:50px}.contact-top{margin-top:25px;gap:12px}.contact h2{font-size:clamp(42px,11vw,65px)}.contact-arrow{width:58px;height:58px;flex:0 0 58px;font-size:34px}.contact>p:not(.eyebrow){font-size:13px}.email{font-size:9.216px}footer{font-size:8px;flex-wrap:wrap;gap:14px}footer>span:nth-child(2){display:none}.dialog-content{padding:18px}.dialog-content h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

#animation-controls{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:20px 0 10px;font-size:12px}#animation-toggle{padding:11px 17px;color:var(--text);background:transparent;border:1px solid #666;border-radius:30px}#animation-controls>a{border-bottom:1px solid #666;padding-block:8px}#animation-toggle:hover{background:#eee;color:#111}

.project-context{padding-block:18px 24px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:var(--muted)}.project-context p{margin:0 0 8px}.project-context strong{color:var(--text);font-weight:400}.project-context>div{display:flex;gap:22px;flex-wrap:wrap}.project-context a{border-bottom:1px solid #555}.related-work{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-top:30px;font-size:13px}.related-work a{border-bottom:1px solid #555;padding-block:8px;scroll-margin-top:100px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;letter-spacing:0}.footer-links a{display:inline-flex;align-items:center;min-height:30px}.footer-rights{flex-basis:100%;margin:0;font-size:10px;letter-spacing:0;line-height:1.6;color:#999}footer{flex-wrap:wrap;align-items:center}.gallery-page .header nav>a:nth-child(2){display:inline-flex}.legal-page{padding-block:60px 75px;max-width:1000px}.legal-page h1{font-size:clamp(36px,5vw,66px);font-weight:400;letter-spacing:-.045em;line-height:1.07;margin:28px 0 20px}.legal-updated{font-size:12px;color:var(--muted)}.legal-lead{font-size:19px;line-height:1.65;color:var(--text);max-width:840px;margin-block:32px 40px}.legal-page section{padding-top:30px;margin-top:30px;border-top:1px solid var(--line)}.legal-page h2{font-size:26px;line-height:1.25;letter-spacing:-.02em}.legal-page section p{font-size:15px;line-height:1.85;color:#bbb;max-width:860px}.legal-page p a,.legal-page td a{color:#eee;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.table-scroll{overflow-x:auto;margin-block:22px}.legal-page table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.7;min-width:590px}.legal-page th,.legal-page td{text-align:left;vertical-align:top;padding:15px;border:1px solid #383838}.legal-page th{font-weight:400;color:#eee;background:#151515}.legal-page td{color:#bbb}.legal-reference{font-size:13px!important}.legal-page code{font-size:13px}
@media(max-width:650px){.project-context{padding-block:17px 20px;font-size:11px}.project-context>div{gap:15px}.footer-links{flex-basis:100%;font-size:11px;gap:4px 20px}.footer-links a{min-height:36px}.legal-page{padding-block:40px 50px}.legal-page h1{font-size:39px}.legal-lead{font-size:17px}.legal-page section{padding-top:25px;margin-top:25px}.legal-page h2{font-size:24px}.legal-page section p{font-size:14px}.gallery-page .header nav{gap:15px}.gallery-page .nav-contact{font-size:10px}.related-work{font-size:12px;gap:15px}.footer-rights{font-size:10px}}

.study-notice{border-left:2px solid #92928d;background:#121212;padding:19px 22px;margin:0 0 27px;color:#bababa;line-height:1.8;font-size:12px}.study-notice strong{display:block;font-size:12px;font-weight:500;letter-spacing:.04em;color:#f4f3ef}.study-notice p{margin:7px 0 0;max-width:850px}.portfolio-status{margin-top:14px!important;font-size:11px;color:#9a9a96;max-width:900px}.single-portrait-case{max-width:620px;margin-inline:auto}.single-portrait-case .tall{aspect-ratio:9/16}.single-portrait-case .tall>img{height:100%;object-fit:contain}.legal-page .study-notice{margin-top:30px}.legal-page .study-notice p{font-size:14px;line-height:1.8}.legal-page .study-notice strong{font-size:15px}@media(max-width:650px){.study-notice{padding:16px 18px;font-size:11px}.study-notice strong{font-size:11px}.portfolio-status{font-size:10px}.legal-page .study-notice p{font-size:13px}}

.brand{width:235.2px;flex-shrink:0}.brand-vector{display:block;width:100%;height:auto;overflow:visible}.logo-trace{fill:#fff;fill-opacity:0;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:brand-draw 1.3s ease var(--trace-delay) forwards,brand-fill .55s ease calc(var(--trace-delay) + 1s) forwards}.logo-tagline{opacity:0;animation:brand-tagline .6s ease 1.5s forwards}@keyframes brand-draw{to{stroke-dashoffset:0}}@keyframes brand-fill{to{fill-opacity:1;stroke-opacity:0}}@keyframes brand-tagline{to{opacity:1}}.hero-media-link{display:block}.hero-main,.hero-inset{background:#151515}.hero-toggle{position:absolute;right:12px;top:12px;z-index:2;background:#080808b8;color:#fff;border:1px solid #ffffff55;border-radius:30px;padding:10px 13px;font-size:10px;backdrop-filter:blur(8px);min-height:36px}.hero-toggle:hover{background:#080808e6}.process-visible h3{font-size:15px;font-weight:400;margin:0;padding:22px 0;line-height:1.4}.process-visible .still{margin-bottom:25px}
@media(max-width:650px){.brand{width:174px}.hero-toggle{font-size:9px;right:10px;top:10px;padding:9px 11px}.header nav{gap:12px}.header{gap:12px}}
@media(prefers-reduced-motion:reduce){.logo-trace{animation:none!important;fill-opacity:1;stroke:none}.logo-tagline{animation:none!important;opacity:1}}

/* 2.1 seconds of drawing/fill, followed by 15 seconds with the complete logo. */
.logo-trace{animation:brand-cycle 17.1s linear var(--trace-delay) infinite}.logo-tagline{animation:brand-tagline-cycle 17.1s linear infinite}
@keyframes brand-cycle{0%{stroke-dashoffset:1;fill-opacity:0;stroke-opacity:1}5.848%{fill-opacity:0;stroke-opacity:1}7.602%{stroke-dashoffset:0}9.065%,100%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}}
@keyframes brand-tagline-cycle{0%,8.772%{opacity:0}12.281%,100%{opacity:1}}
@media(max-width:850px){.header nav>a:nth-child(2):not(.nav-contact){display:none}}
@media(max-width:650px){.header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:20px;row-gap:16px}.header nav{margin-left:auto;font-size:10px;gap:12px}}
@media(prefers-reduced-motion:reduce){.logo-trace{animation:none!important;fill-opacity:1;stroke:none}.logo-tagline{animation:none!important;opacity:1}}
