@font-face{font-family:Manrope;src:url('/fonts/Manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Anton;src:url('/fonts/Anton-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f7f6f2;--ink:#191918;--muted:#7e7c76;--line:#d7d5ce;--gutter:clamp(22px,4.2vw,84px);--ease:cubic-bezier(.19,1,.22,1);--header:94px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.5 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:disabled{opacity:.3;cursor:default}img{display:block;max-width:100%;height:auto}button img{pointer-events:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.06;letter-spacing:-.045em}p{line-height:1.7}::selection{background:#aaa79d;color:#111}:focus-visible{outline:1px solid currentColor;outline-offset:6px}[hidden]{display:none!important}.skip-link{position:fixed;z-index:200;left:15px;top:15px;padding:12px;background:var(--paper);color:var(--ink);translate:0 -200%}.skip-link:focus{translate:0 0}
/* The Small / Large identity is consistent at every scale. */
.logo{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;line-height:1}.logo-small{font:900 10px/.88 Arial,sans-serif;letter-spacing:-.04em}.logo-large{font:400 31px/.95 Anton,Impact,sans-serif;letter-spacing:-.035em}.site-header{height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;z-index:20}.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:6vw}.desktop-nav a,.text-link,.header-contact,.footer-socials a{position:relative}.desktop-nav a:after,.text-link:after,.header-contact:after,.footer-socials a:after{content:'';position:absolute;bottom:-5px;left:0;height:1px;background:currentColor;width:100%;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after,.text-link:hover:after,.header-contact:hover:after,.footer-socials a:hover:after{transform:scaleX(1);transform-origin:left}.header-contact{border-bottom:1px solid #8885;padding-bottom:6px}.menu-toggle,.mobile-nav{display:none}.is-home .site-header{background:#191918;color:var(--paper)}
/* Opening: three real photographs, constructed as hinged planes in space. */
.opening{height:min(820px,calc(100svh - var(--header)));min-height:540px;background:#191918;color:var(--paper);position:relative;display:grid;grid-template-columns:29% 71%;align-items:center;padding:20px var(--gutter) 94px;overflow:clip;isolation:isolate}.opening-copy{position:relative;z-index:3;align-self:center;padding-bottom:3vh;pointer-events:none}.opening h1{font:400 clamp(49px,5.05vw,92px)/.97 Anton,Impact,sans-serif;letter-spacing:-.025em}.opening h1>span{display:block;width:max-content;animation:title-entry 1.15s var(--ease) both}.opening h1>span:nth-child(2){animation-delay:.08s}.opening-credit{margin-top:40px;padding-top:18px;border-top:1px solid #7776;width:max-content;font-size:11px;letter-spacing:.015em}.opening-credit p:first-child{font-size:13px;margin-bottom:14px}.opening-credit p{color:#d5d3cb;line-height:1.6}.opening-art{height:100%;min-width:0;position:relative;perspective:1500px;touch-action:pan-y}.fold-panels{position:absolute;inset:5% -2% 7% 0;transform-style:preserve-3d;transform:rotateX(var(--pitch,-2deg)) rotateY(var(--yaw,-6deg));transition:transform 1s var(--ease)}.fold-panel{position:absolute;top:6%;height:87%;transform-style:preserve-3d;transform-origin:center;transition:transform 1.1s var(--ease),width 1.1s var(--ease),left 1.1s var(--ease);animation:panel-entry 1.5s var(--ease) backwards}.fold-surface{position:absolute;inset:0;overflow:hidden;background:#272725;box-shadow:0 25px 55px #0005;backface-visibility:hidden}.fold-surface img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.fold-panel-0{left:0;width:30%;transform:translateZ(-90px) rotateY(31deg);animation-delay:.12s}.fold-panel-1{left:26%;width:46%;height:100%;top:0;z-index:2;transform:translateZ(45px) rotateY(-15deg);animation-delay:.22s}.fold-panel-2{left:69%;width:30%;transform:translateZ(-65px) rotateY(-30deg);animation-delay:.32s}.fold-panel-1 img{object-position:33% center}.fold-panel-2 img{object-position:40% center}.fold-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0000,#0004);pointer-events:none;opacity:.5;transition:opacity .6s}.fold-panel:hover .fold-shade{opacity:0}.fold-panel:hover img{transform:scale(1.035)}.fold-caption{position:absolute;bottom:-30px;left:0;font-size:10px;letter-spacing:.035em;opacity:0;transform:translateY(-4px);transition:opacity .5s,transform .7s var(--ease)}.fold-panel:hover .fold-caption,.fold-panel:focus-visible .fold-caption{opacity:1;transform:none}.fold-panels:has(.fold-panel-0:hover) .fold-panel-0{transform:translateZ(70px) rotateY(10deg);z-index:4}.fold-panels:has(.fold-panel-2:hover) .fold-panel-2{transform:translateZ(70px) rotateY(-10deg);z-index:4}.fold-panel-1:hover{transform:translateZ(100px) rotateY(-3deg)}.opening-nav{position:absolute;bottom:34px;left:calc(var(--gutter) + (100% - var(--gutter)*2)*.29);right:var(--gutter);display:flex;align-items:center;gap:40px;padding-top:20px;border-top:1px solid #7775;font-size:15px}.opening-nav a{position:relative;white-space:nowrap;padding-bottom:8px}.opening-nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.opening-nav a:hover:after,.opening-nav a:focus-visible:after{transform:scaleX(1)}.opening-edition{position:absolute;bottom:41px;left:var(--gutter);font-size:8px;letter-spacing:.16em;color:#93918b}
@keyframes title-entry{from{opacity:0;transform:translateY(18px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes panel-entry{from{opacity:0;translate:0 12%;clip-path:inset(0 0 100% 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
/* The index is an editorial spread: navigation and a living contact print. */
.portfolio-section{padding:100px var(--gutter) 120px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:38px}.section-heading h1,.section-heading h2{font-size:16px;letter-spacing:0}.section-heading>span{font-size:10px;color:var(--muted)}.work-composer{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:start}.work-list{border-top:1px solid var(--line)}.work-row{position:relative;display:grid;grid-template-columns:24px 1fr 30px;gap:12px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:color .4s}.work-row h2,.work-row h3{font-weight:650;font-size:clamp(27px,3.9vw,65px);letter-spacing:-.055em;transition:translate .7s var(--ease)}.work-number{font-size:9px;align-self:start;margin-top:7px;color:var(--muted)}.work-total{font-size:10px;text-align:right;align-self:end;margin-bottom:4px;color:var(--muted)}.work-row:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}.work-row.is-active:after,.work-row:hover:after{transform:scaleX(1)}.work-row.is-active h2,.work-row.is-active h3,.work-row:hover h2,.work-row:hover h3{translate:10px 0}.work-row-thumb{display:none}.work-window{position:relative;aspect-ratio:1/1.1;perspective:1400px;align-self:stretch;min-height:420px}.work-view{position:absolute;inset:0;visibility:hidden;pointer-events:none}.work-view.is-active{visibility:visible;pointer-events:auto}.work-view-image{height:calc(100% - 40px);overflow:hidden;transform-origin:left center;background:#e6e4df;transition:transform 1s var(--ease);transform:none}.work-view-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:scale 1.1s var(--ease)}.work-view:hover img{scale:1.025}.work-view-caption{display:flex;justify-content:space-between;gap:20px;margin-top:17px;font-size:11px}.work-view-caption>span:last-child{color:var(--muted);font-size:10px}.full-index{padding-top:28px;min-height:calc(100svh - var(--header))}.full-index .section-heading{margin-bottom:50px}.full-index .work-window{max-height:650px}.short-section{background:#e9e7e0;padding:65px var(--gutter) 85px;overflow:hidden}.short-section .section-heading h2{font-size:clamp(26px,3vw,48px);letter-spacing:-.04em}.reel-preview{display:flex;gap:20px;perspective:1700px;overflow-x:auto;scrollbar-width:none;padding:25px 0 35px}.reel-cover{position:relative;flex:0 0 calc((100% - 100px)/6);aspect-ratio:9/16;overflow:hidden;transform:rotateY(-12deg) translateY(calc(var(--i)*7px));transition:transform .85s var(--ease);background:#222}.reel-cover:hover{transform:rotateY(0) translateY(-10px)}.reel-cover img{width:100%;height:100%;object-fit:cover}.reel-cover>span{position:absolute;bottom:12px;left:12px;color:white;font-size:9px;text-shadow:0 1px 3px #000}
/* Complete originals retain their shape throughout browsing. */
.section{padding:45px var(--gutter) 90px}.breadcrumb{display:flex;gap:10px;font-size:10px;color:var(--muted);margin-bottom:24px}.breadcrumb a:hover{color:var(--ink)}.gallery-page{padding:23px var(--gutter) 35px;overflow:hidden;--gallery-height:clamp(280px,58svh,750px)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.gallery-heading h1{font-weight:600;font-size:clamp(28px,3.3vw,53px);line-height:1.05;letter-spacing:-.05em}.gallery-tools{display:flex;gap:28px;font-size:10px}.gallery-tools button{padding:8px 0;position:relative;border-bottom:1px solid var(--line)}.gallery-tools button:hover{border-color:var(--ink)}.gallery-shell{position:relative}.gallery-track{display:flex;gap:10px;overflow:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;perspective:1600px;perspective-origin:center 45%;padding:25px 12vw 18px 5vw;margin:0 calc(var(--gutter)*-1);touch-action:pan-x pan-y;cursor:grab;position:relative}.gallery-track:active{cursor:grabbing}.gallery-track::-webkit-scrollbar,.gallery-thumbs::-webkit-scrollbar,.portrait-track::-webkit-scrollbar{display:none}.gallery-slide{margin:0;flex:0 0 min(82vw,calc(var(--gallery-height)*var(--ratio,1.5)));min-width:28vw;scroll-snap-align:center;transform-origin:center;transform:translateY(var(--rise,0px)) scale(var(--scale,1));backface-visibility:hidden}.gallery-slide>button{display:block;width:100%;height:var(--gallery-height);padding:0;cursor:zoom-in;position:relative;background:transparent;overflow:hidden}.gallery-slide img{width:100%;height:100%;object-fit:contain}.gallery-slide>button:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:var(--shade,0);background:linear-gradient(90deg,#0000,#000);transition:opacity .15s}.gallery-slide figcaption{display:flex;justify-content:space-between;gap:25px;padding-top:12px;min-height:30px;font-size:10px}.gallery-slide figcaption>span{font-size:9px;color:var(--muted);margin-left:auto;flex-shrink:0}.gallery-bottom{display:grid;grid-template-columns:70px 1fr auto;gap:30px;align-items:center;margin-top:12px;padding-top:20px;border-top:1px solid var(--line)}[data-photo-counter]{font-size:10px;font-variant-numeric:tabular-nums}.gallery-thumbs{display:flex;gap:6px;overflow:auto;scrollbar-width:none;position:relative;padding:4px 0 9px}.gallery-thumbs button{padding:0;flex:0 0 59px;position:relative;opacity:.5;transition:opacity .4s,transform .5s var(--ease)}.gallery-thumbs button[aria-current],.gallery-thumbs button:hover{opacity:1}.gallery-thumbs button[aria-current]:after{content:'';height:1px;position:absolute;bottom:-7px;left:0;right:0;background:var(--ink)}.gallery-thumbs img{width:100%;height:40px;object-fit:cover}.arrow-pair{display:flex;gap:22px}.arrow-pair button{font-size:10px;padding:12px 0;position:relative}.arrow-pair button:not(:disabled):hover{opacity:.55}.collection-nav{display:flex;gap:30px;margin-top:32px;font-size:11px;flex-wrap:wrap}.collection-nav a{padding-bottom:6px;color:var(--muted)}.collection-nav a[aria-current],.collection-nav a:hover{color:var(--ink);border-bottom:1px solid}.contact-sheet{columns:4;column-gap:20px;padding:10px 0 30px}.contact-sheet button{display:block;width:100%;break-inside:avoid;margin:0 0 22px;padding:0;text-align:left;cursor:zoom-in}.contact-sheet img{width:100%;height:auto;transition:transform .7s var(--ease)}.contact-sheet button:hover img{transform:scale(.98)}.contact-sheet span{display:block;font-size:9px;color:var(--muted);padding-top:8px}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:62px 5vw;margin:0;background:#171716;color:#f7f6f2;overflow:hidden}.lightbox::backdrop{background:#171716}.lightbox>img:not(.lightbox-flight){width:100%;height:100%;object-fit:contain;cursor:crosshair}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:15;color:inherit;font-size:11px;padding:12px}.lightbox-close{top:17px;right:calc(5vw - 12px)}.lightbox-prev{bottom:13px;left:calc(5vw - 12px)}.lightbox-next{bottom:13px;right:calc(5vw - 12px)}.lightbox-count{position:absolute;bottom:25px;left:50%;translate:-50% 0;font-size:10px;font-variant-numeric:tabular-nums}.lightbox-flight{position:fixed!important;max-width:none!important;pointer-events:none!important;margin:0!important;object-fit:fill!important;z-index:12;will-change:transform}
/* Film controls stay quiet until the viewer needs them. */
.film-page{padding-top:22px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px;margin-top:40px}.film-grid>article:first-child{grid-column:1/-1;margin-bottom:20px}.film-grid>article:first-child .player{height:auto;aspect-ratio:var(--media-ratio,16/9);width:min(100%,calc(70svh * var(--media-aspect,1.777778)));margin-inline:auto}.film-caption{display:flex;gap:20px;align-items:baseline;margin-top:17px}.film-caption>span{font-size:9px;color:var(--muted);flex-shrink:0}.film-caption h2{font-size:15px;line-height:1.4;letter-spacing:-.015em;max-width:90%}.film-caption a:hover{text-decoration:underline;text-underline-offset:5px}.film-poster{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#242422}.film-poster img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .7s}.film-poster:hover img{transform:scale(1.025);filter:brightness(.8)}.poster-play{position:absolute;left:25px;bottom:22px;font-size:12px;color:white;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .7s var(--ease)}.film-poster:hover .poster-play,.film-poster:focus-visible .poster-play{opacity:1;transform:none}.duration{position:absolute;right:20px;bottom:20px;color:white;font-size:10px;text-shadow:0 1px 3px #000}.player{position:relative;isolation:isolate;background:#171716;aspect-ratio:16/9;overflow:hidden;color:white}.player video{width:100%;height:100%;object-fit:contain;display:block;cursor:pointer}.video-toggle{position:absolute;left:50%;top:50%;translate:-50% -50%;border:1px solid #fff7;width:80px;height:80px;border-radius:50%;background:#0001;color:white;font-size:11px;align-items:center;justify-content:center;transition:scale .6s var(--ease),background .6s,opacity .35s}.video-toggle:hover{scale:1.12;background:#0004}.player.is-playing .video-toggle{opacity:0;pointer-events:none}.video-toggle,.player-controls{display:none}.js .video-toggle{display:flex}.js .player-controls{display:block}.player-controls{position:absolute;left:0;bottom:0;width:100%;padding:65px 24px 14px;background:linear-gradient(transparent,#000b);transition:opacity .4s,translate .6s var(--ease)}.player.is-playing:not(:hover):not(:focus-within) .player-controls{opacity:0;pointer-events:none;translate:0 6px}.control-row{display:flex;align-items:center;gap:20px;font-size:10px;font-variant-numeric:tabular-nums}.control-row button{color:inherit;font-size:10px;padding:10px 0}.control-spacer{flex:1}.seek{appearance:none;-webkit-appearance:none;width:100%;height:22px;margin:0;background:transparent;position:relative;z-index:2;cursor:ew-resize}.seek::-webkit-slider-runnable-track{height:1px;background:#fff9}.seek::-webkit-slider-thumb{appearance:none;width:7px;height:7px;background:white;border-radius:50%;margin-top:-3px}.seek::-moz-range-track{height:1px;background:#fff9}.seek::-moz-range-thumb{height:7px;width:7px;border:0;border-radius:50%;background:white}.filmstrip{height:32px;background-size:100% 100%;opacity:.65;mask-image:linear-gradient(transparent,#000);margin-bottom:-3px}.filmstrip:not([style]){display:none}.seek-preview{position:absolute;bottom:100px;width:144px;height:81px;background-size:auto 81px;pointer-events:none;border:1px solid #fff5}.player-error{position:absolute;top:20px;left:20px;right:20px;background:#111e;padding:15px;font-size:12px}.video-unavailable{position:relative;aspect-ratio:16/9;background:#222;color:white}.video-unavailable>img{width:100%;height:100%;object-fit:contain;opacity:.3}.video-unavailable>div{position:absolute;inset:0;display:grid;place-content:center;gap:15px;text-align:center}.portrait-page{overflow:hidden;padding-left:0;padding-right:0}.portrait-page>.breadcrumb,.portrait-page>.gallery-heading,.portrait-intro{margin-left:var(--gutter);margin-right:var(--gutter)}.portrait-intro{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.portrait-intro p{font-size:11px;color:var(--muted)}.portrait-track{display:flex;position:relative;gap:35px;overflow:auto;padding:25px calc((100% - min(340px,38svh))/2) 35px;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;perspective:1500px}.portrait-card{flex:0 0 min(340px,38svh);scroll-snap-align:center;transform:rotateY(-18deg) scale(.92);transform-origin:center;opacity:.55;transition:transform .85s var(--ease),opacity .5s}.portrait-card.is-current{transform:none;opacity:1}.portrait-card .player{aspect-ratio:9/16}.portrait-card .film-caption h2{font-size:11px;letter-spacing:0}.portrait-card .player-controls{padding:45px 12px 10px}.portrait-card .control-row{gap:11px}.portrait-card .control-row button{font-size:9px}.watch-page{padding-top:22px}.watch-header{display:flex;justify-content:space-between;margin-bottom:20px;font-size:11px}.watch-page>.player{height:auto;max-height:none;aspect-ratio:var(--media-ratio,16/9);width:min(100%,calc(72svh * var(--media-aspect,1.777778)));margin-inline:auto}.watch-info{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px}.watch-info h1{font-size:clamp(26px,3vw,48px);line-height:1.1}.watch-info p{font-size:13px;white-space:pre-line;color:var(--muted)}.watch-info .text-link{display:inline-block;margin-top:25px}
/* Information is the artist's existing copy, without an added sales layer. */
.display{font-size:clamp(44px,7.5vw,120px);letter-spacing:-.065em;line-height:1.02}.eyebrow{font-size:10px;letter-spacing:.04em}.small{font-size:11px;color:var(--muted)}.text-link{font-size:12px;display:inline-block}.about-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:8vw;align-items:start}.about-layout .display{font-size:clamp(50px,6.6vw,110px)}.about-layout .lead{font-size:17px;margin:25px 0 32px;color:var(--ink)}.about-layout p{max-width:490px;font-size:14px;margin-bottom:24px;color:#5f5d57}.about-layout>img{width:100%;height:72svh;object-fit:cover}.source-services{border-top:1px solid var(--line);margin-top:45px;padding-top:24px}.source-services p{font-size:11px;margin-bottom:8px}.contact-page>.display{margin:10px 0 75px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-layout>div>a{display:block;font-size:clamp(14px,1.6vw,25px);margin-bottom:16px;letter-spacing:-.03em;overflow-wrap:anywhere}.contact-layout>div>p{margin-top:30px;font-size:12px;color:var(--muted)}.socials{display:flex;gap:24px;margin-top:30px;font-size:11px}.socials a:hover{text-decoration:underline;text-underline-offset:6px}form label{display:block;margin-bottom:26px;font-size:11px}form input,form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa79f;background:transparent;color:inherit;border-radius:0;font-size:16px;padding:12px 0}form textarea{resize:vertical}.solid-button{background:var(--ink);color:var(--paper);padding:14px 24px;font-size:12px;min-height:46px;transition:background .3s}.solid-button:hover{background:#484640}.form-note{font-size:10px;color:var(--muted);margin:20px 0}.form-note a{text-decoration:underline}#contact-status{font-size:12px;margin-top:18px}.honey{position:absolute;left:-10000px;opacity:0}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.project-image{position:relative;overflow:hidden;aspect-ratio:1.5;background:#e8e6df}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-card:hover img{transform:scale(1.035)}.project-info{display:flex;justify-content:space-between;gap:20px;margin-top:14px}.project-info h3{font-size:20px}.project-info>span{font-size:10px;color:var(--muted)}.project-open{position:absolute;right:20px;bottom:20px;width:22px;height:22px;opacity:0;transition:opacity .4s,transform .6s var(--ease);transform:rotate(-90deg)}.project-open i{position:absolute;top:50%;left:0;width:100%;height:1px;background:white}.project-open i:last-child{rotate:90deg}.project-card:hover .project-open{opacity:1;transform:none}.service-page>.display{margin:10px 0 35px}.service-intro{margin-bottom:55px;max-width:600px;color:var(--muted)}.discipline-row{border-bottom:1px solid var(--line);display:flex;gap:30px;padding:30px 0;align-items:center}.discipline-row h2{font-size:clamp(30px,5vw,80px)}.discipline-row>span{font-size:11px}.client-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:35px;margin-top:70px}.client-grid>div{aspect-ratio:1.5;padding:20px;display:grid;place-items:center;background:white}.client-grid img{object-fit:contain;max-height:100%}.legal{max-width:900px}.legal h1{font-size:55px;margin-bottom:40px}.legal h2{font-size:24px;margin:35px 0 15px}.legal p{color:#5f5d57}.legal a{text-decoration:underline}.not-found .display{margin:25px 0}.not-found .text-link{margin-top:25px}
.site-footer{padding:65px var(--gutter) 35px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:55px}.footer-top>a{font-size:clamp(37px,5.8vw,92px);letter-spacing:-.06em;line-height:1;position:relative}.footer-top>a:after{content:'';display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);margin-top:10px}.footer-top>a:hover:after{transform:scaleX(1)}.footer-top>div{display:grid;gap:12px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:30px;display:flex;align-items:center;gap:30px;font-size:10px}.footer-bottom>.logo{margin-right:auto}.footer-socials{display:flex;gap:15px}.footer-bottom>span{color:var(--muted)}.draft-banner{position:sticky;top:0;z-index:100;background:#111;color:white;padding:9px 20px;text-align:center;font-size:11px}.draft-banner a{margin-left:25px;text-decoration:underline}.reading-progress{position:fixed;top:0;left:0;width:100%;height:1px;background:#b4b0a3;transform-origin:left;z-index:100;pointer-events:none}.reveal{opacity:1}.motion-reveal{transition:opacity .9s var(--ease),translate .9s var(--ease)}.motion-reveal.is-pending{opacity:0;translate:0 24px}.motion-reveal.in-view{opacity:1;translate:0 0}
@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:page-out .25s ease both}::view-transition-new(root){animation:page-in .65s var(--ease) both}::view-transition-group(site-header){animation-duration:.45s}@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}@keyframes page-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:1800px){:root{--gutter:5vw}.opening{max-height:1000px}.opening-art{max-height:740px}.work-composer{max-width:1800px;margin:auto}}
@media(max-width:1050px){:root{--header:82px}.desktop-nav{gap:22px;margin-right:0}.header-contact{display:none}.opening{grid-template-columns:26% 74%;min-height:510px}.opening h1{font-size:5.2vw}.opening-credit{font-size:10px}.opening-credit p:first-child{font-size:11px}.opening-nav{left:calc(var(--gutter) + (100% - var(--gutter)*2)*.26);gap:25px;font-size:13px}.work-composer{gap:4vw}.work-row{padding:27px 0}.work-row h2,.work-row h3{font-weight:650;font-size:3.6vw}.work-window{min-height:400px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{margin-right:auto}.reel-cover{flex-basis:21%}.gallery-page{--gallery-height:55svh}.contact-sheet{columns:3}.client-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){:root{--gutter:22px;--header:76px}.site-header{gap:20px}.logo-large{font-size:27px}.logo-small{font-size:9px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:15px;padding:12px 0;font-size:11px}.menu-toggle span{font-size:20px;transition:rotate .5s}.menu-toggle[aria-expanded=true] span{rotate:45deg}.mobile-nav:not([hidden]){display:flex;position:absolute;top:var(--header);left:0;right:0;padding:25px var(--gutter) 40px;flex-direction:column;gap:8px;background:var(--paper);color:var(--ink);z-index:30;border-bottom:1px solid var(--line);box-shadow:0 20px 40px #0002}.mobile-nav>a{font-size:28px;letter-spacing:-.03em;padding:3px 0}.mobile-nav>a.mobile-sub{font-size:13px;letter-spacing:0;padding-top:10px}.opening{display:flex;flex-direction:column;align-items:stretch;height:calc(100svh - var(--header));min-height:650px;max-height:900px;padding:18px var(--gutter) 84px}.opening-copy{align-self:stretch;display:flex;justify-content:space-between;gap:15px;align-items:end;padding:0}.opening h1{font-size:10.4vw;line-height:.98}.opening-credit{border:0;padding:0;margin:0 0 3px;font-size:8px;flex-shrink:0}.opening-credit p:first-child{font-size:9px;margin-bottom:8px}.opening-credit p{line-height:1.5}.opening-art{flex:1;width:100%;min-height:370px;margin-top:20px;perspective:1100px}.fold-panels{inset:8% -7% 9% -3%;transform:rotateX(0) rotateY(var(--yaw,-6deg))}.fold-panel-0{width:36%;left:0;transform:translateZ(-35px) rotateY(30deg);height:82%;top:10%}.fold-panel-1{width:48%;left:27%;transform:translateZ(10px) rotateY(-12deg);top:0;height:100%}.fold-panel-2{width:34%;left:72%;transform:translateZ(-40px) rotateY(-26deg);height:82%;top:9%}.fold-caption{font-size:8px;bottom:-23px}.opening-nav{left:var(--gutter);right:var(--gutter);bottom:26px;gap:0;justify-content:space-between;font-size:11px;padding-top:17px}.opening-edition{display:none}.portfolio-section{padding:55px var(--gutter) 65px}.section-heading{margin-bottom:25px;gap:20px}.section-heading>span{font-size:9px;max-width:50%;text-align:right}.work-composer{grid-template-columns:1fr;gap:25px}.work-row{grid-template-columns:20px 1fr 25px 65px;padding:18px 0;gap:9px;min-height:90px}.work-row h2,.work-row h3{font-weight:650;font-size:clamp(24px,7.2vw,39px)}.work-number{font-size:8px;margin-top:4px}.work-total{font-size:8px;align-self:center;margin:0}.work-row-thumb{display:block;height:52px;overflow:hidden}.work-row-thumb img{width:100%;height:100%;object-fit:cover}.work-row.is-active h2,.work-row.is-active h3,.work-row:hover h2,.work-row:hover h3{translate:0 0}.work-window{display:none}.full-index{padding-top:18px;min-height:0}.full-index .section-heading{margin-bottom:28px}.short-section{padding:40px var(--gutter) 55px}.short-section .section-heading{align-items:center}.short-section .section-heading h2{font-size:27px}.reel-preview{gap:15px;padding-top:10px;padding-right:var(--gutter);width:calc(100% + var(--gutter));overflow-x:auto}.reel-cover{flex:0 0 42%;transform:rotateY(-10deg) translateY(calc(var(--i)*5px))}.short-section{overflow:hidden;scrollbar-width:none}.section{padding:25px var(--gutter) 55px}.gallery-page{padding-top:17px;--gallery-height:53svh}.breadcrumb{font-size:9px;margin-bottom:22px}.gallery-heading{align-items:center;margin-bottom:15px;gap:15px}.gallery-heading h1{font-weight:600;font-size:clamp(25px,6.8vw,40px)}.gallery-tools{gap:16px;font-size:9px;flex-shrink:0}.gallery-tools [data-full-gallery]{display:none}.gallery-track{gap:6px;padding:15px 7vw 10px;perspective:950px}.gallery-slide{flex-basis:88vw;min-width:0}.gallery-slide figcaption{font-size:9px;min-height:30px;gap:12px}.gallery-slide figcaption>span{font-size:8px}.gallery-bottom{grid-template-columns:1fr auto;gap:20px;padding-top:12px;margin-top:5px}.gallery-bottom>[data-photo-counter]{display:none}.gallery-thumbs{gap:5px}.gallery-thumbs button{flex-basis:45px}.gallery-thumbs img{height:32px}.arrow-pair{gap:15px}.arrow-pair button{font-size:9px}.collection-nav{gap:20px;margin-top:23px;font-size:10px}.contact-sheet{columns:2;column-gap:12px}.contact-sheet button{margin-bottom:16px}.lightbox{padding:65px 10px}.lightbox-prev{left:10px}.lightbox-next,.lightbox-close{right:10px}.film-grid{grid-template-columns:1fr;gap:35px;margin-top:25px}.film-grid>article:first-child{grid-column:auto;margin-bottom:0}.film-grid>article:first-child .player{height:auto;width:100%;aspect-ratio:var(--media-ratio,16/9)}.film-caption{gap:14px;margin-top:12px}.film-caption h2{font-size:13px}.poster-play{opacity:1;transform:none;font-size:10px;bottom:16px;left:16px}.player-controls{padding:45px 12px 9px}.control-row{gap:14px;font-size:9px}.control-row button{font-size:9px}.filmstrip{height:22px}.video-toggle{width:60px;height:60px;font-size:10px}.portrait-page{padding-left:0;padding-right:0}.portrait-track{padding:25px 17vw 25px;gap:18px}.portrait-card{flex-basis:66vw;transform:rotateY(-12deg) scale(.94)}.portrait-intro{margin-top:15px}.portrait-intro p{max-width:55%;font-size:9px}.watch-page{padding-left:0;padding-right:0}.watch-page>.breadcrumb,.watch-header,.watch-info{margin-left:var(--gutter);margin-right:var(--gutter)}.watch-page>.player{height:auto;width:100%;aspect-ratio:var(--media-ratio,16/9)}.watch-info{grid-template-columns:1fr;gap:22px;margin-top:25px}.watch-info h1{font-size:29px}.watch-info p{font-size:12px}.about-layout{grid-template-columns:1fr;gap:30px}.about-layout .display{font-size:15vw}.about-layout>img{height:auto;max-height:70svh;object-fit:contain;order:-1}.about-layout p{font-size:13px}.source-services{margin-top:35px}.source-services p{font-size:11px}.contact-page>.display{font-size:14vw;margin:10px 0 40px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-layout>div>a{font-size:18px}.socials{gap:20px;font-size:11px}.display{font-size:14vw}.work-grid{grid-template-columns:1fr;gap:30px}.client-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:40px}.client-grid>div{padding:12px}.discipline-row{gap:15px;flex-wrap:wrap}.discipline-row h2{font-size:38px}.site-footer{padding:40px var(--gutter) 26px}.footer-top{flex-direction:column;align-items:start;gap:25px;padding-bottom:35px}.footer-top>a{font-size:13vw}.footer-top>div{gap:8px;font-size:11px}.footer-bottom{gap:20px}.footer-bottom>.logo{width:100%;margin-bottom:3px}.footer-bottom>span{width:100%}.footer-socials{gap:20px}.draft-banner{font-size:9px}.draft-banner a{margin-left:10px}}
@media(max-width:380px){.opening-copy{gap:8px}.opening h1{font-size:10vw}.opening-credit p:first-child{font-size:8px}.opening-credit{font-size:7px}.gallery-heading h1{font-weight:600;font-size:25px}.work-row h2,.work-row h3{font-weight:650;font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.gallery-slide,.portrait-card,.fold-panels,.work-view-image{transform:none!important}.motion-reveal.is-pending{opacity:1;translate:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Portfolio refinement: quiet controls, complete images and a true portrait film rail. */
.work-navigation{position:relative}.work-navigation:before{content:'';position:absolute;top:100%;left:-20px;width:260px;height:28px;pointer-events:none}.work-navigation:hover:before,.work-navigation:focus-within:before{pointer-events:auto}.work-subnav{position:absolute;left:-22px;top:calc(100% + 20px);min-width:245px;display:grid;gap:0;padding:12px 22px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 38px #0001;opacity:0;visibility:hidden;translate:0 6px;transition:opacity .2s,translate .3s var(--ease),visibility .2s}.work-subnav a{padding:11px 0;font-size:12px;white-space:nowrap}.work-subnav a:after{bottom:7px!important}.work-navigation:hover .work-subnav,.work-navigation:focus-within .work-subnav{visibility:visible;opacity:1;translate:0 0}
.gallery-page{--gallery-height:clamp(300px,61svh,850px)}.gallery-track{perspective:none;gap:clamp(22px,3vw,70px);padding-top:16px}.gallery-slide{will-change:transform}.gallery-slide>button:after{display:none}.gallery-slide figcaption{padding-top:18px}.gallery-bottom{margin-top:18px}.gallery-heading h1{font-weight:500;letter-spacing:-.045em}.gallery-tools button{min-height:40px}.lightbox>img:not(.lightbox-flight){will-change:transform,opacity}
.player{aspect-ratio:var(--media-ratio,16/9);min-width:0;width:100%}.player video{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain}.player[data-orientation=portrait]{aspect-ratio:var(--media-ratio,9/16)}
.portrait-page{--reel-width:clamp(220px,36svh,420px);padding-bottom:65px}.portrait-track{gap:clamp(22px,3vw,60px);padding:10px max(0px,calc((100% - var(--reel-width))/2)) 30px;perspective:none;cursor:grab;touch-action:pan-x pan-y;scroll-padding:0}.portrait-track:active{cursor:grabbing}.portrait-card{flex:0 0 var(--reel-width);width:var(--reel-width);min-width:0;max-width:var(--reel-width);opacity:.65;transform:translateY(var(--reel-rise,0px)) scale(var(--reel-scale,1));transition:opacity .5s;will-change:transform;overflow:hidden}.portrait-card.is-current{opacity:1;transform:translateY(var(--reel-rise,0px)) scale(var(--reel-scale,1))}.portrait-card .player{height:auto;aspect-ratio:var(--media-ratio,9/16);border-radius:0}.portrait-card .film-caption{min-width:0;margin-top:16px;gap:12px}.portrait-card .film-caption h2{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.portrait-card .video-toggle{width:65px;height:65px}.portrait-card .player-controls{padding:48px 16px 12px}.portrait-card .control-row{gap:9px;font-size:9px}.portrait-card .filmstrip{height:27px}
.reel-navigation{display:flex;align-items:center;gap:35px}.reel-counter{font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}.reel-collection-link{font-size:clamp(25px,3.3vw,53px);letter-spacing:-.045em;line-height:1.1}.reel-position{height:1px;background:var(--line);margin:30px var(--gutter) 0}.reel-position span{display:block;width:100%;height:100%;background:var(--ink);transform-origin:left;transition:transform .65s var(--ease)}.reel-watch-info{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:30px var(--gutter) 0;padding-top:30px;border-top:1px solid var(--line)}.reel-watch-info h1{font-size:clamp(22px,2.7vw,42px);line-height:1.15}.reel-watch-info p{white-space:pre-line;font-size:12px;color:var(--muted);max-width:600px}.watch-sequence{display:flex;gap:26px}.watch-sequence a:hover{text-decoration:underline;text-underline-offset:5px}
.reel-preview{perspective:none;cursor:grab;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.reel-cover{min-width:0;transform:none;scroll-snap-align:start}.reel-cover:hover{transform:translateY(-8px)}.resume-link{margin-top:28px}
/* Equal optical windows, no oversized intrinsic grid columns or white logo tiles. */
.client-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;isolation:isolate;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:55px}.client-grid>div{min-width:0;width:100%;height:clamp(130px,12vw,200px);aspect-ratio:auto;padding:clamp(20px,2.5vw,44px);background:transparent;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}.client-grid img{display:block;width:100%;height:100%;min-width:0;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s var(--ease)}.client-grid>div:hover img{transform:scale(1.045)}
@media(max-width:1050px){.client-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.client-grid>div{height:150px}}
@media(max-width:700px){.gallery-page{--gallery-height:57svh}.gallery-track{gap:20px}.gallery-bottom{margin-top:8px}.portrait-page{--reel-width:min(72vw,37svh);padding-bottom:45px}.portrait-track{padding-top:15px;padding-bottom:22px;gap:20px}.portrait-card{flex-basis:var(--reel-width);transform:translateY(var(--reel-rise,0px)) scale(var(--reel-scale,1))}.portrait-page>.gallery-heading{align-items:end}.reel-navigation{gap:14px;flex-direction:column;align-items:end}.reel-navigation .arrow-pair{gap:18px}.reel-navigation button{padding:5px 0;min-height:30px}.reel-counter{font-size:9px}.reel-collection-link{font-size:27px}.reel-watch-info{grid-template-columns:1fr;gap:18px;margin-top:20px}.reel-watch-info h1{font-size:25px}.reel-watch-info p{font-size:11px}.portrait-card .player-controls{padding:40px 10px 9px}.portrait-card .control-row{gap:8px;font-size:8px}.portrait-card .control-row button{font-size:8px}.portrait-card .filmstrip{height:22px}.reel-cover{transform:none}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:35px}.client-grid>div{height:115px;padding:18px}.client-grid img{width:100%;height:100%}.watch-sequence{gap:18px}}
@media(max-width:420px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid>div{height:120px;padding:25px}.portrait-page{--reel-width:min(74vw,40svh)}}
@media(prefers-reduced-motion:reduce){.portrait-card,.portrait-card.is-current,.gallery-slide{transform:none!important}}

.client-grid>div{position:relative}.client-grid img.logo-measured{position:absolute;max-width:none;max-height:none;object-fit:fill}.client-grid>div:hover img.logo-measured{transform:scale(1.025)}

.embedded-film{margin:0;background:#171716;overflow:hidden}.embedded-film>.player{width:100vw;height:100dvh;aspect-ratio:auto}

.client-grid>div>a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:inherit}.client-grid>div>a:focus-visible{outline-offset:-6px}

/* Transparent client marks, high-resolution editorial portrait and typographic motion. */
.logo-filter-definitions{position:absolute;overflow:hidden;pointer-events:none}
.client-grid{isolation:auto;background:transparent}.client-grid img{mix-blend-mode:normal;filter:url(#logo-white-to-alpha)}
.about-layout{grid-template-columns:1fr 1.08fr;gap:7vw;align-items:start}.about-portrait{margin:0;position:sticky;top:35px;aspect-ratio:4/5;overflow:hidden;background:transparent}.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:43% center;transform:scale(1.015);transition:transform 1.2s var(--ease)}.about-portrait:hover img{transform:scale(1)}
.logo-large{white-space:nowrap;display:flex;align-items:baseline}.logo-large>span{display:inline-block;transform-origin:50% 100%;transition:transform .65s var(--ease);transition-delay:calc(var(--glyph)*12ms)}.logo:hover .logo-large>span,.logo:focus-visible .logo-large>span{transform:translateY(calc((var(--glyph) - 4.5)*-.23px))}.logo-small{transition:transform .7s var(--ease)}.logo:hover .logo-small{transform:translateY(1px)}
.site-header .logo-large>span{animation:wordmark-settle 1.15s var(--ease) both;animation-delay:calc(var(--glyph)*32ms)}
@keyframes wordmark-settle{from{opacity:0;transform:translateY(8px) rotateX(25deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
.site-header .logo{perspective:500px}.about-portrait{view-transition-name:portrait}
.work-view-image{view-transition-name:none}.gallery-track,.portrait-track{scrollbar-width:none}
/* An image leaves the index and arrives in its collection as the same visual object. */
::view-transition-group(project-image){animation-duration:.72s;animation-timing-function:cubic-bezier(.22,.8,.15,1)}
::view-transition-old(project-image){animation:project-image-out .72s ease both;mix-blend-mode:normal;object-fit:contain}
::view-transition-new(project-image){animation:project-image-in .72s ease both;mix-blend-mode:normal;object-fit:contain}
@keyframes project-image-out{0%,25%{opacity:1}100%{opacity:0}}
@keyframes project-image-in{0%{opacity:0}35%,100%{opacity:1}}
.gallery-heading,.watch-header,.reel-watch-info{animation:collection-arrive .75s var(--ease) backwards}
@keyframes collection-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.site-footer .logo:hover .logo-large>span{transform:translateY(-2px)}
@media(max-width:700px){.about-layout{grid-template-columns:1fr;gap:30px}.about-portrait{position:relative;top:auto;order:-1;aspect-ratio:4/3;width:100%;max-height:none}.about-portrait img{object-position:43% 39%}.watch-page>.player{margin-inline:auto}.logo-large>span{animation-duration:.8s}.gallery-heading,.watch-header{animation-duration:.6s}}
@media(prefers-reduced-motion:reduce){.logo-large>span,.logo-small,.about-portrait img{animation:none!important;transform:none!important}.gallery-heading,.watch-header,.reel-watch-info{animation:none}::view-transition-old(project-image),::view-transition-new(project-image){animation:none}}
