@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/bodoni-moda-400.woff") format("woff")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/bodoni-moda-700.woff") format("woff")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/hanken-grotesk-400.woff") format("woff")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/hanken-grotesk-500.woff") format("woff")}

:root{--font-display:"Bodoni Moda",serif;--font-body:"Hanken Grotesk",sans-serif;color-scheme:dark;font-family:var(--font-body);background:#000;color:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1700px;margin:auto;padding:0 4.3vw}header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #353532}.logo{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.08em}nav{display:flex;gap:2.4rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}nav a:hover,.link:hover{color:#fff}.hero{min-height:calc(100svh - 92px);display:flex;flex-direction:column;justify-content:space-between;padding-top:12vh;padding-bottom:35px}.eyebrow,.meta,.index{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:#fff}.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(5.5rem,15vw,16.5rem);letter-spacing:-.075em;line-height:.82;margin:1.2rem 0 0;white-space:nowrap}.hero h1 span{font-style:italic;font-weight:400}.statement{font-family:var(--font-display);font-size:clamp(1.45rem,2.75vw,3.15rem);line-height:1.28;max-width:820px;margin:9vh 0 0}.hero-foot{display:flex;justify-content:space-between;align-items:end;gap:2rem}.hero-foot p{font-size:.85rem;line-height:1.6;color:#fff;max-width:340px;margin:0}.link{border-bottom:1px solid #8f8c82;padding-bottom:8px;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;white-space:nowrap}section{border-top:1px solid #353532;padding:95px 0 110px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:60px}.section-head h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2.8rem,5vw,6rem);letter-spacing:-.05em;margin:0}.section-head .meta{max-width:250px;line-height:1.7}.work-list{border-top:1px solid #353532}.work{display:grid;grid-template-columns:6rem 1fr 1fr auto;gap:2rem;align-items:center;min-height:152px;border-bottom:1px solid #353532;padding:20px 0}.work .work-title{font:400 clamp(1.6rem,3vw,3.4rem) var(--font-display);letter-spacing:-.035em;margin:0}.work p{font-size:.86rem;color:#fff;line-height:1.55;margin:0}.work .tag{border:1px solid #5b5a54;border-radius:100px;padding:9px 13px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.work:hover h3{font-style:italic}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.split p{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2.7rem);line-height:1.4;margin:0}.split aside{max-width:500px;color:#fff;line-height:1.75}footer{padding:95px 0 35px;border-top:1px solid #353532}.contact{font:400 clamp(2.5rem,6.4vw,7rem) var(--font-display);letter-spacing:-.06em;display:inline-block;border-bottom:1px solid #77746c;max-width:100%;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:130px;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.note{font-size:.75rem;color:#fff;line-height:1.6;margin-top:24px}@media(max-width:760px){.shell{padding:0 6vw}header{height:75px}nav{gap:1rem;font-size:.62rem}.hero{min-height:calc(100svh - 75px);padding-top:14vh}.hero h1{font-size:clamp(4.5rem,18vw,8rem);white-space:normal}.statement{margin-top:7vh}.hero-foot{align-items:start;flex-direction:column}section{padding:70px 0}.section-head{display:block;margin-bottom:30px}.section-head .meta{margin-top:20px}.work{grid-template-columns:2rem 1fr;gap:12px;min-height:150px}.work p,.work .tag{grid-column:2}.work .tag{justify-self:start}.split,.footer-bottom{margin-top:95px;flex-direction:column}}

/* Film pages share the portfolio's typography and palette. */
a:focus-visible,button:focus-visible{outline:2px solid #d2c3a4;outline-offset:7px}
a.work{cursor:pointer;transition:color .2s ease}a.work:hover{color:#fff}.work-action{display:flex;align-items:center;gap:1.5rem}.work-arrow{font-size:1.5rem;transition:transform .2s ease}a.work:hover .work-arrow{transform:translateX(5px)}
.film-page nav{font-size:.875rem;letter-spacing:.12em}.film-main{padding:46px 0 90px}.back-link{display:inline-flex;align-items:center;gap:12px;font-size:.875rem;color:#fff;padding:8px 0}.back-link:hover{color:#fff}.film-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:40px 0 34px}.film-heading h1{font:400 clamp(2.5rem,6.4vw,7rem)/1.05 var(--font-display);letter-spacing:-.045em;margin:12px 0 0;overflow-wrap:anywhere}.film-page .eyebrow,.film-page .meta{font-size:.8rem;line-height:1.7}.film-status{font-size:.875rem;color:#fff;white-space:nowrap}.film-player{aspect-ratio:16/9;width:100%;background:#080808;border:1px solid #353532;display:grid;place-items:center;position:relative;overflow:hidden}.film-player iframe,.film-player video{display:block;width:100%;height:100%;border:0;position:absolute;inset:0}.film-player video{object-fit:contain}.film-empty{text-align:center;padding:24px;max-width:540px}.film-empty h2{font:400 clamp(1.5rem,2.5vw,2.6rem)/1.2 var(--font-display);margin:0 0 14px}.film-empty p{font-size:1rem;color:#fff;line-height:1.6;margin:0}.film-empty a{display:inline-block;margin-top:22px;font-size:.875rem;border-bottom:1px solid #77746c;padding-bottom:5px}.film-details{display:grid;grid-template-columns:1fr 2fr;gap:4vw;padding:36px 0 0}.film-details h2{margin:0;font-size:.875rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#fff}.film-details p{font-size:1.125rem;line-height:1.7;margin:0;max-width:780px}.video-caption{font-size:.875rem;line-height:1.6;color:#fff;margin:14px 0 0}.video-caption a{border-bottom:1px solid #77746c;padding-bottom:3px}.film-pagination{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #353532;margin-top:64px;padding-top:28px;font-size:1rem}.film-pagination a:last-child{text-align:right}.film-pagination small{display:block;color:#fff;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;margin-bottom:10px}.film-pagination strong{font:400 clamp(1.3rem,2.2vw,2rem) var(--font-display)}.film-pagination a:hover strong{color:#fff}.film-footer{padding:28px 0}.film-footer .footer-bottom{margin:0;font-size:.8rem;line-height:1.8;text-transform:none;letter-spacing:.02em;flex-wrap:wrap}.film-footer a{overflow-wrap:anywhere}
@media(max-width:760px){.work-action{grid-column:2;justify-content:space-between}.work-action .tag{grid-column:auto}.film-page header{height:auto;min-height:85px;gap:20px;flex-wrap:wrap;padding:18px 0}.film-page nav{gap:1rem;font-size:.875rem}.film-main{padding-top:24px}.film-heading{display:block;margin-top:25px}.film-status{display:block;margin-top:18px}.film-player{min-height:220px}.film-player:has(iframe),.film-player:has(video){min-height:0}.film-details{grid-template-columns:1fr;gap:18px}.film-pagination{margin-top:44px;flex-wrap:wrap}.film-footer .footer-bottom{gap:18px}.film-empty h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.work-arrow,a.work{transition:none}}

/* One continuous Paris photograph is visible only through the enlarged initials. */
/* Photo: Diego F. Parra / Pexels, https://www.pexels.com/photo/roofs-of-buildings-in-city-16923125/
   Used under https://www.pexels.com/license/; monochrome treatment applied to the asset. */
.home-page{--monogram-size:min(35vw,48svh,36rem);--monogram-inset:calc(var(--monogram-size)*.03)}
.hero{gap:3rem;min-height:100svh;padding-top:0}
.hero-role{margin-bottom:1rem;margin-inline-start:var(--monogram-inset)}
.home-header{position:relative;z-index:1;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem;height:auto;min-height:0;padding-block:1.5rem 1rem;border-bottom:0}
.home-header nav,.hero-name{font-family:var(--font-body);font-weight:400;font-size:clamp(.75rem,1vw,.875rem);line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.home-header nav{gap:clamp(.75rem,2.5vw,2.4rem);flex-wrap:wrap}
.hero-signature{display:flex;flex-direction:column;align-items:flex-start}
.hero h1.hero-monogram{display:inline-block;max-width:100%;font-weight:700;font-size:var(--monogram-size);line-height:.95;letter-spacing:-.045em;margin:0;padding:0 .045em .04em 0;color:#fff;white-space:nowrap;transform:scaleY(1.12);transform-origin:left top}
.hero-name{display:block;margin-inline-start:var(--monogram-inset);white-space:nowrap}
.hero .statement{margin-top:clamp(1.75rem,4vh,3.25rem)}
@supports (background-clip:text) or (-webkit-background-clip:text){
.hero h1.hero-monogram{background-color:#fff;background-image:url('/assets/paris-rooftops.jpg?v=26');background-repeat:no-repeat;background-size:cover;background-position:center 55%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:none}
}
.work-nav{gap:1.75rem;flex-wrap:wrap;font-size:.875rem;letter-spacing:.1em;margin:-24px 0 32px;text-transform:uppercase}
.work-nav a{padding:8px 0;border-bottom:1px solid #625e54}
.work-nav a:hover{color:#fff;border-color:#fff}
#films,#music-videos,#photography{scroll-margin-top:28px}
.photography-empty{border-top:1px solid #353532;min-height:180px;display:flex;align-items:center;padding:30px 0}
.photography-empty p{font:400 clamp(1.25rem,2.2vw,2rem)/1.5 var(--font-display);color:#fff;margin:0}
@media(max-width:760px){.home-page{--monogram-size:min(48vw,43svh,23rem)}.home-header{gap:.75rem}.work-nav{gap:1.25rem;margin:0 0 25px;font-size:.875rem}.photography-empty{min-height:130px}}
@media(forced-colors:active){.hero h1.hero-monogram{background-image:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

/* Portfolio groups and a direct video player. */
.work-category{padding:2.25rem 0 0;border:0;scroll-margin-top:1.5rem}.work-category+.work-category{margin-top:2.5rem}.work-category>h3{font:400 clamp(1.8rem,3vw,3rem)/1.2 var(--font-display);letter-spacing:-.025em;margin:0 0 1.5rem}.work-note{border-top:1px solid #353532;margin:0;padding:1.5rem 0;font-size:1rem;line-height:1.65;color:#fff}.work .tag{border:0;border-radius:0;padding:0;font-size:.75rem;letter-spacing:.06em}.split aside p{font:400 1rem/1.75 var(--font-body);margin:0 0 1rem}.hero-name,.home-header nav{font-weight:500}.home-page .hero-foot p{font-size:1rem}.work-nav a:hover{color:#fff;border-color:#fff}
.watch-dialog{width:min(1100px,94vw);max-width:94vw;max-height:92dvh;overflow:auto;margin:auto;padding:0;border:0;background:#000;color:#fff}.watch-dialog::backdrop{background:rgba(0,0,0,.92)}.watch-bar,.watch-links{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.watch-bar h2{margin:0;font:400 clamp(1.25rem,3vw,2rem)/1.2 var(--font-display)}.watch-close{border:0;background:transparent;color:inherit;font:500 .875rem/1.4 var(--font-body);min-height:44px;cursor:pointer}.watch-player{width:100%;aspect-ratio:16/9;background:#000}.watch-player iframe{display:block;width:100%;height:100%;border:0}.watch-links{font-size:.875rem}.watch-links a{text-decoration:underline;text-underline-offset:4px}.video-open body{overflow:hidden}@media(max-width:760px){.work-category{padding-top:1.5rem}.work-category+.work-category{margin-top:1.75rem}.watch-bar,.watch-links{padding:.75rem 1rem}.home-header{padding-block:1rem .75rem}}
