:root{--paper:#f4f1e8;--gray:#a1a1a1;--line:#333;--mono:"Azeret Mono",monospace;--sans:Helvetica,Arial,sans-serif;--gutter:24px;--project-radius:12px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:#fff;font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{background:var(--paper);color:#000}:focus-visible{outline:1px solid currentColor;outline-offset:7px}img,video{display:block;max-width:100%}.skip-link{position:fixed;top:10px;left:24px;z-index:200;padding:14px;background:#fff;color:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-nav{position:fixed;top:0;left:0;z-index:90;display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:19px var(--gutter);color:#fff;font:700 13px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;mix-blend-mode:difference}.site-nav a{position:relative;flex:none;height:25px;padding:4px 0 8px}.site-nav a::after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.eyebrow{margin:0;font:400 10px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}.muted{color:var(--gray)}.page-intro{padding:150px var(--gutter) 0}.section-marker{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:13px}.page-title{margin:64px 0 34px;font:400 clamp(64px,16.1vw,310px)/.79 var(--sans);letter-spacing:-.075em;text-transform:uppercase}.discipline-description{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:0 0 65px}.discipline-description p{max-width:440px;margin:0;color:var(--gray);font:400 13px/1.65 var(--mono)}.index-label{white-space:nowrap}.project-index{padding:0 var(--gutter) 120px}.project-card{display:block}.project-cover{position:relative;overflow:hidden;border-radius:var(--project-radius);aspect-ratio:16/9;background:#101010}.project-cover video,.project-cover img{width:100%;height:100%;object-fit:contain;transition:transform 1s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-cover video,.project-card:hover .project-cover img{transform:scale(1.025)}.cover-link{position:absolute;inset:0;z-index:1}.cover-link:focus-visible{outline-offset:-8px}.cover-cta{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:28px;pointer-events:none;transition:background .3s,color .3s}.project-cover:hover .cover-cta{background:#fff;color:#000}.project-caption{display:grid;grid-template-columns:55px 1fr auto;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding:24px 0 28px}.project-caption h2{margin:0;font:400 clamp(38px,4.3vw,70px)/.85 var(--sans);letter-spacing:-.055em}.project-caption .eyebrow{padding-top:3px}.caption-details{text-align:right}.caption-details p{margin:0}.caption-details p+p{margin-top:8px}
.project-heading{padding:130px var(--gutter) 38px}.breadcrumb{display:flex;justify-content:space-between;gap:20px}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:5px}.project-heading-row{display:grid;grid-template-columns:1fr 260px;align-items:end;gap:40px;margin-top:65px}.project-title{margin:0 0 -.035em -.04em;font:400 clamp(72px,13.98vw,252px)/.76 var(--sans);letter-spacing:-.025em;color:var(--gray)}.project-heading-row p{max-width:240px;margin:0;font:400 12px/1.65 var(--mono);color:var(--gray)}.project-topline{display:flex;justify-content:space-between;gap:20px;margin-top:39px}.project-hero{margin:0 var(--gutter)}.project-hero .motion-frame{aspect-ratio:16/9}.motion-frame{position:relative;overflow:hidden;background:#0d0d0d}.motion-frame video{width:100%;height:100%;object-fit:contain}.motion-control{position:absolute;z-index:3;bottom:16px;left:16px;display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 13px;border:1px solid rgba(255,255,255,.35);border-radius:0;background:rgba(0,0,0,.6);color:#fff;font:400 9px/1 var(--mono);letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(10px)}.motion-control:hover{background:#fff;color:#000}
.project-overview{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;padding:120px var(--gutter) 130px}.overview-heading h2{max-width:550px;margin:30px 0 0;font:400 clamp(45px,5.1vw,82px)/.96 var(--sans);letter-spacing:-.055em}.overview-copy{padding-top:35px}.overview-copy>p{max-width:590px;margin:0 0 22px;color:var(--gray);font:400 14px/1.7 var(--mono)}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:45px 0 0;padding:22px 0 0;border-top:1px solid var(--line)}.project-facts div{min-width:0}.project-facts dt{color:var(--gray);margin-bottom:10px}.project-facts dd{margin:0;font:400 11px/1.7 var(--mono)}
.project-gallery{padding:0 var(--gutter)}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.gallery-wide{margin-bottom:12px}.gallery-pair .motion-frame{aspect-ratio:1400/1602}.gallery-image{display:block;width:100%;padding:0;border:0;background:#111;cursor:zoom-in}.gallery-image img{width:100%;height:auto}.gallery-wide .gallery-image img{width:100%}.gallery-caption{display:flex;justify-content:space-between;gap:30px;padding:16px 0 75px;color:var(--gray)}.project-credits{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;margin:80px var(--gutter) 0;border-top:1px solid var(--line);padding-top:25px}.credits-copy{font:400 12px/1.7 var(--mono);color:var(--gray)}.credits-copy p{margin:0 0 24px}.credits-copy strong{font-weight:400;color:#fff}.inline-link{display:inline-block;padding:0 0 6px;border-bottom:1px solid currentColor;font:400 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em}.inline-link:hover{opacity:.6}.end-navigation{margin:110px var(--gutter) 0;border-top:1px solid var(--line)}.end-navigation>a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 42px;font:400 clamp(42px,7vw,110px)/1 var(--sans);letter-spacing:-.055em}.end-navigation>a span:last-child{transition:transform .35s}.end-navigation>a:hover span:last-child{transform:translateX(-12px)}
.work-footer{display:flex;justify-content:space-between;gap:30px;margin:0 var(--gutter);border-top:1px solid var(--line);padding:24px 0 30px;color:var(--gray);font:400 9px/1.6 var(--mono);letter-spacing:.03em;text-transform:uppercase}.work-footer p{margin:0}.work-footer a:hover{color:#fff}.category-footer{margin-top:10px}.category-return{display:flex;justify-content:space-between;align-items:center;padding:50px var(--gutter) 100px;font-size:clamp(40px,6.8vw,100px);letter-spacing:-.055em}.category-return:hover span:last-child{transform:translateX(-10px)}
.lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;padding:64px 70px;margin:0;border:0;background:#080808;color:#fff}.lightbox::backdrop{background:#080808}.lightbox[open]{display:grid;grid-template-rows:1fr 30px;gap:14px}.lightbox-image{height:100%;width:100%;min-height:0;object-fit:contain}.lightbox-close{position:absolute;top:22px;right:24px;padding:7px 0;border:0;border-bottom:1px solid #fff;background:none;font:400 11px var(--mono);cursor:pointer}.lightbox-caption{margin:0;text-align:center;font:400 10px/1.5 var(--mono);color:var(--gray)}.lightbox-arrow{position:absolute;top:50%;display:grid;place-items:center;width:45px;height:60px;border:0;background:transparent;font-size:26px;cursor:pointer}.lightbox-prev{left:12px}.lightbox-next{right:12px}body.lightbox-open{overflow:hidden}
.cursor-orb{position:fixed;top:0;left:0;z-index:150;display:none;width:30px;height:30px;border:1.5px solid #fff;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(0,0,0,.5);pointer-events:none;mix-blend-mode:difference;transform:translate(calc(var(--cursor-x,-100px) - 15px),calc(var(--cursor-y,-100px) - 15px));opacity:0;transition:width .25s,height .25s,margin .25s,opacity .2s}.cursor-orb::after{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}body.cursor-ready .cursor-orb{opacity:1}body.cursor-link .cursor-orb{width:58px;height:58px;margin:-14px}body.cursor-link .cursor-orb::after{width:6px;height:6px}.reveal{opacity:1}.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.has-js .reveal.is-visible{opacity:1;transform:none}
@media(any-hover:hover) and (any-pointer:fine){body.cursor-ready,body.cursor-ready a,body.cursor-ready button{cursor:none}.cursor-orb{display:block}}
/* Keep a native fallback until the shared cursor has entered the modal's top layer. */
body.cursor-ready dialog:modal,body.cursor-ready dialog:modal *{cursor:auto}
body.cursor-ready dialog:modal::backdrop{cursor:auto}
body.cursor-ready dialog:modal :is(a,button,[role="button"]),body.cursor-ready dialog:modal :is(a,button,[role="button"]) *{cursor:pointer}
@media(any-hover:hover) and (any-pointer:fine) and (prefers-reduced-motion:no-preference){
 body.cursor-ready dialog:modal:has(>.cursor-orb),body.cursor-ready dialog:modal:has(>.cursor-orb) *,body.cursor-ready dialog:modal:has(>.cursor-orb)::backdrop{cursor:none}
}

@media(min-width:1800px){.project-gallery,.project-hero{max-width:1920px;margin-right:auto;margin-left:auto}.project-hero{padding:0 var(--gutter)}}
@media(max-width:800px){:root{--gutter:16px}.site-nav{padding:15px 10px;font-size:9px;letter-spacing:0}.site-nav a{height:23px}.page-intro{padding-top:110px}.page-title{margin-top:52px;margin-bottom:30px;font-size:15.5vw}.discipline-description{display:block;padding-bottom:42px}.discipline-description p{max-width:330px;font-size:11px}.index-label{display:block;margin-top:24px}.project-index{padding-bottom:55px}.project-caption{grid-template-columns:23px 1fr;gap:13px;padding:22px 0}.caption-details{grid-column:2;text-align:left;margin-top:3px}.caption-details p{display:inline}.caption-details p+p{margin:0 0 0 12px}.project-caption h2{font-size:42px}.cover-cta{width:42px;height:42px;right:12px;bottom:12px;font-size:22px}.project-heading{padding-top:105px;padding-bottom:24px}.project-heading-row{display:block;margin-top:55px}.project-title{font-size:17.4vw}.project-heading-row p{max-width:270px;margin-top:30px;font-size:11px}.project-topline{margin-top:30px}.eyebrow{font-size:9px;letter-spacing:.05em}.project-overview{display:block;padding-top:75px;padding-bottom:75px}.overview-heading h2{font-size:clamp(44px,10vw,65px);max-width:550px;margin-top:24px}.overview-copy{padding-top:32px}.overview-copy>p{font-size:12px;line-height:1.75}.project-facts{gap:18px;margin-top:30px}.project-facts dd{font-size:10px}.gallery-pair{gap:6px;margin-bottom:6px}.gallery-wide{margin-bottom:6px}.gallery-caption{padding:15px 0 45px;gap:20px}.motion-control{bottom:8px;left:8px;min-height:32px;padding:9px;font-size:8px}.motion-control .control-label{display:none}.project-credits{display:block;margin-top:60px;padding-top:20px}.credits-copy{margin-top:30px;font-size:11px}.end-navigation{margin-top:65px}.end-navigation>a{font-size:11vw;padding:28px 0}.work-footer{font-size:8px;gap:20px;flex-wrap:wrap}.category-return{padding-top:35px;padding-bottom:65px;font-size:10vw}.lightbox{padding:65px 42px}.lightbox-arrow{width:30px}.lightbox-prev{left:3px}.lightbox-next{right:3px}}
@media(max-width:480px){.gallery-pair{grid-template-columns:1fr}.project-topline .eyebrow:last-child{max-width:145px;text-align:right}.section-marker .eyebrow:last-child{max-width:145px;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.has-js .reveal{opacity:1;transform:none}.cursor-orb{display:none!important}body.cursor-ready,body.cursor-ready a,body.cursor-ready button{cursor:auto}}
.project-card+.project-card{margin-top:90px}
.project-hurry-up .project-heading-row{grid-template-columns:minmax(0,1fr) 230px;gap:30px}
.project-hurry-up .project-title{font-size:clamp(48px,8.52vw,156px);white-space:nowrap}
.hurry-feature-pair{grid-template-columns:2fr 3fr;align-items:center}
.hurry-feature-pair .motion-frame{aspect-ratio:1}
.hurry-motion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.hurry-motion-grid .motion-frame{aspect-ratio:1}
.project-neighbor{margin:70px var(--gutter) 0;padding-top:20px;border-top:1px solid var(--line)}
.project-neighbor>a{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:22px;font:400 clamp(32px,4vw,58px)/1 var(--sans);letter-spacing:-.045em}
.project-neighbor>a span:last-child{transition:transform .35s}
.project-neighbor>a:hover span:last-child{transform:translateX(8px)}
@media(max-width:800px){.project-card+.project-card{margin-top:55px}.project-hurry-up .project-heading-row{display:block}.project-hurry-up .project-title{font-size:12vw}.hurry-motion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:6px}.project-neighbor{margin-top:55px}}
@media(max-width:480px){.hurry-feature-pair{grid-template-columns:1fr}.hurry-feature-pair .motion-frame{width:100%}}
.branding-index .project-index{display:flex;flex-direction:column;align-items:center;gap:clamp(100px,18svh,200px);padding-bottom:85px}
.branding-index .project-card{width:min(80.5%,949.9px,calc((100svh - 200px)*16/9*.805));min-width:0;margin-top:0;scroll-margin-block:100px;transition:transform .8s cubic-bezier(.22,1,.36,1)}

.branding-index .project-cover>.motion-frame{width:100%;height:100%}
.branding-index .project-caption{grid-template-columns:26px minmax(0,1fr);gap:11px 12px;padding:19px 0 22px}
.branding-index .project-caption h2{font-size:clamp(32px,3.4vw,48px);line-height:1;letter-spacing:-.025em}
.branding-index .caption-details{grid-column:2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;font-size:9px}
.branding-index .caption-details p+p{margin:0}
.branding-index .cover-cta{right:12px;bottom:12px;width:38px;height:38px;font-size:22px}
.branding-index .motion-control{bottom:12px;left:12px;min-height:32px;padding:9px}
.branding-index .motion-control .control-label{display:none}
@media(max-width:800px){.branding-index .project-index{gap:clamp(96px,22svh,180px);padding-bottom:60px}.branding-index .project-card{width:80.5%;max-width:547.4px}.branding-index .project-caption{gap:9px 10px;padding:16px 0 20px}.branding-index .caption-details{margin-top:0;font-size:9px}}
@media(max-height:500px) and (min-width:801px){.branding-index .project-card{width:min(56.35%,627.9px)}}

.project-film{position:relative;aspect-ratio:16/9;overflow:hidden;background:#15170d}
.project-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Photography: full portrait frames, arranged as an editorial sequence. */
.photography-index .page-title{font-size:clamp(48px,11.8vw,216px);letter-spacing:-.055em}
.photography-index .project-index{display:flex;flex-direction:column;align-items:center;gap:clamp(100px,18svh,200px);padding-bottom:85px}
.photography-index .project-card{width:min(80.5%,949.9px,calc((100svh - 200px)*16/9*.805));min-width:0;margin-top:0;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.photography-index .photo-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:#fff}
.photography-index .photo-cover img{min-width:0;min-height:0;object-fit:contain;transform:none}
.photography-index .project-caption{grid-template-columns:26px minmax(0,1fr);gap:11px 12px;padding:19px 0 22px}
.photography-index .project-caption h2{font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.025em}
.photography-index .caption-details{grid-column:2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;font-size:9px}
.photography-index .caption-details p+p{margin:0}
.photography-index .cover-cta{width:38px;height:38px;right:12px;bottom:12px;font-size:22px;color:#000;border-color:rgba(0,0,0,.5)}
.photography-index .project-cover:hover .cover-cta{background:#000;color:#fff}
.photo-heading{padding-top:108px;padding-bottom:44px}
.photo-heading-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:end;margin-top:38px}
.photo-title{margin:0;color:var(--gray);font:400 clamp(54px,6vw,104px)/.94 var(--sans);letter-spacing:-.025em}
.photo-title>span{display:block;margin-bottom:18px;font:400 10px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.photo-heading-row>p{margin:0 0 3px;color:var(--gray);font:400 11px/1.7 var(--mono)}
.photo-heading .project-topline{margin-top:28px}
.photo-gallery{padding:0 var(--gutter)}
.photo-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.76fr);gap:clamp(40px,9vw,144px);max-width:1040px;margin:0 auto 140px;align-items:start}
.photo-figure{min-width:0;margin:0}
.photo-spread>.photo-figure:nth-child(2){margin-top:130px}
.photo-spread--reverse{grid-template-columns:minmax(0,.76fr) minmax(0,1fr)}
.photo-spread--reverse>.photo-figure:first-child{margin-top:90px}
.photo-spread--reverse>.photo-figure:nth-child(2){margin-top:0}
.photo-image{position:relative;display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in;overflow:hidden}
.photo-image img{width:100%;height:auto;aspect-ratio:1920/2439;object-fit:contain}
.photo-enlarge{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(0,0,0,.3);border-radius:50%;color:#111;font-size:20px;background:rgba(255,255,255,.65);opacity:0;transition:opacity .25s}
.photo-image:hover .photo-enlarge,.photo-image:focus-visible .photo-enlarge{opacity:1}
.photo-figure figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:13px;font-size:9px;letter-spacing:.03em}
.photo-figure figcaption span:last-child{text-align:right}
.photo-about{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;max-width:1040px;margin:0 auto 100px;padding:24px 0 0;border-top:1px solid var(--line)}
.photo-about h2{margin:0 0 32px;font:400 clamp(38px,4.4vw,64px)/1 var(--sans);letter-spacing:-.025em}
.photo-about p:not(.eyebrow){max-width:590px;color:var(--gray);font:400 12px/1.8 var(--mono);margin:0 0 24px}
.project-color-blue .end-navigation>a{font-size:clamp(35px,6.4vw,88px);letter-spacing:-.025em}
@media(max-width:1100px){.photo-about{margin-right:var(--gutter);margin-left:var(--gutter)}}
@media(max-width:800px){.photography-index .project-card{width:80.5%;max-width:547.4px}.photography-index .project-caption{gap:9px 10px;padding:16px 0 20px}.photography-index .caption-details{margin-top:0}.photo-heading{padding-top:100px;padding-bottom:36px}.photo-heading-row{grid-template-columns:minmax(0,1fr) 210px;gap:24px;margin-top:34px}.photo-title{font-size:7.8vw}.photo-heading-row>p{font-size:10px}.photo-spread{gap:40px;margin-bottom:90px}.photo-spread>.photo-figure:nth-child(2){margin-top:90px}.photo-spread--reverse>.photo-figure:first-child{margin-top:70px}.photo-spread--reverse>.photo-figure:nth-child(2){margin-top:0}.photo-figure figcaption{display:block;font-size:8px;line-height:1.7}.photo-figure figcaption span{display:block}.photo-figure figcaption span:last-child{text-align:left}.photo-about{gap:40px;margin-bottom:65px}.photo-about p:not(.eyebrow){font-size:11px}}
@media(max-width:640px){.photo-heading-row{display:block}.photo-title{font-size:clamp(48px,12vw,72px)}.photo-heading-row>p{margin-top:24px;max-width:300px}.photo-heading .project-topline{display:block;line-height:1.8;margin-top:24px}.photo-heading .project-topline>span{display:block}.photo-heading .breadcrumb{font-size:8px;gap:16px}.photo-heading .breadcrumb>span{text-align:right;max-width:110px}.photo-spread,.photo-spread--reverse{grid-template-columns:1fr;gap:48px;margin-bottom:48px;max-width:440px;padding:0 8px}.photo-spread>.photo-figure:nth-child(2),.photo-spread--reverse>.photo-figure:first-child{margin-top:0}.photo-spread>.photo-figure:nth-child(2){width:84%;justify-self:end}.photo-spread--reverse>.photo-figure:first-child{width:84%;justify-self:start}.photo-spread--reverse>.photo-figure:nth-child(2){width:100%}.photo-figure figcaption{display:flex}.photo-figure figcaption span:last-child{text-align:right}.photo-about{display:block;margin-top:75px}.photo-about>div{margin-top:30px}.photo-about h2{font-size:40px}.project-color-blue .end-navigation>a{font-size:8vw}.photography-index .project-card{width:88%}.photography-index .project-caption h2{font-size:28px}.photography-index .caption-details{font-size:8px}}
@media(max-height:500px) and (min-width:801px){.photography-index .project-card{width:min(56.35%,627.9px)}}


.photography-index .valonvs-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.photography-index .valonvs-cover .cover-cta{color:#fff;border-color:rgba(255,255,255,.5)}
.photography-index .valonvs-cover:hover .cover-cta{background:#fff;color:#000}
@media(max-width:800px){.photography-index .project-index{gap:clamp(96px,22svh,180px)}}
