/* System fonts keep this portfolio independent of external font services. */
.project-image-link{display:block}.project-image-link:focus-visible{outline-offset:-4px}.project-view{display:block;align-self:flex-start;margin-top:16px;padding:8px 0;min-height:44px;font-size:.9rem;color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}.project-view:hover,.project h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}
.own-film-image{margin-bottom:56px}.own-film-image img{display:block;width:100%;height:auto}.own-film-image figcaption{font-size:.8rem}@media(max-width:700px){.own-film-image{margin-bottom:36px}}
.project-image{margin:-28px -28px 24px;flex-shrink:0}.project-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.project-image .hockney-still{object-position:center top}.project-image figcaption{padding:0 18px;font-size:.75rem;line-height:1.5;min-height:2.25rem;margin-top:10px;display:block}.project-image figcaption a{display:inline}.on-set-photo{max-width:1040px;margin:0 auto 60px}.on-set-photo img{display:block;width:100%;height:auto}.on-set-photo figcaption{font-size:.8rem}@media(max-width:700px){.project-image{margin:-20px -20px 20px}.on-set-photo{margin-bottom:36px}.project-image figcaption{min-height:0}}
.project-note{font-size:1rem;color:var(--muted);margin-bottom:22px}.project-bottom{align-items:flex-start}.project-bottom span{min-width:0}.project-bottom a{flex-shrink:0}.more-work{margin-top:54px;padding-top:32px;border-top:1px solid var(--line)}.reference-intro{color:var(--muted);max-width:700px;margin:14px 0 25px}.reference-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.reference-list li{padding:18px 0;border-top:1px solid var(--line)}.reference-list a,.reference-title{font-weight:500}.reference-list .meta{margin-top:5px;font-size:.875rem}.commercial-experience{max-width:850px;border-left:2px solid var(--accent);padding-left:24px;margin-top:44px;color:var(--muted)}.other-grid>article>a{display:inline-block;margin-top:18px;font-size:.9rem;color:var(--accent)}.project,.other-grid article{min-width:0;overflow-wrap:break-word}@media(max-width:700px){.reference-list{grid-template-columns:1fr}.projects{grid-template-columns:1fr!important}.project-top{font-size:.8rem!important}.project-bottom,.project .meta{font-size:.875rem}.project{min-height:0!important}.more-work{margin-top:36px}}
:root{--bg:#10100f;--panel:#181817;--ink:#f0efea;--muted:#aaa9a2;--line:#343430;--accent:#f45246;--soft:#e4e2d9;--max:1240px;color-scheme:dark}html[data-theme=light]{--bg:#f5f5f1;--panel:#eaeae4;--ink:#171716;--muted:#5d5d57;--line:#cecec5;--accent:#ba3026;--soft:#dcdcd3;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.8rem,6.3vw,6.1rem);font-weight:600}h2{font-size:clamp(2.4rem,4.6vw,4.4rem);font-weight:500}h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.section{padding-top:110px;padding-bottom:110px;border-top:1px solid var(--line)}header{padding:22px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:700;white-space:nowrap}.brand i{height:9px;width:9px;border-radius:50%;background:var(--accent)}nav,.controls{display:flex;gap:26px;align-items:center}nav a{font-size:.875rem}.controls{gap:8px}.controls button{font-size:.8rem;background:none;border:1px solid var(--line);color:var(--ink);padding:7px 10px;min-height:40px;cursor:pointer}.controls button:hover{border-color:var(--accent)}.skip{position:fixed;top:-100px;z-index:30;background:var(--bg);padding:12px}.skip:focus{top:0}.eyebrow{font:600 .78rem/1.5 'DM Sans',sans-serif;letter-spacing:.12em;color:var(--accent);margin-bottom:22px}.hero{padding-top:72px;display:grid;grid-template-columns:1.15fr 1fr;gap:52px 65px;align-items:center}.hero h1{margin-bottom:26px}.disciplines{font-size:.94rem;margin-bottom:20px;font-weight:600}.intro{max-width:560px;color:var(--muted)}.actions{display:flex;align-items:center;gap:26px;margin-top:32px;flex-wrap:wrap}.button{padding:13px 22px;background:var(--accent);color:#10100f;font-size:.9rem;font-weight:700}.button:hover{background:var(--ink);color:var(--bg)}.text-link{font-size:.9rem;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-block}.portrait{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.portrait img{display:block;width:100%;height:580px;max-height:65vh;object-fit:cover;object-position:55% 50%;filter:contrast(1.03)}figcaption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem;margin-top:12px}.facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0 38px;border-top:1px solid var(--line)}.facts p{display:flex;gap:16px;align-items:baseline}.facts strong{font-size:1.12rem;font-weight:500}.facts span{font-size:.875rem;color:var(--muted)}.section-head{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:55px}.section-head>p{max-width:440px;color:var(--muted)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{background:var(--panel);padding:28px;min-height:305px;display:flex;flex-direction:column;border-top:2px solid var(--line);transition:border-color .2s}.project:hover{border-color:var(--accent)}.project-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:36px;font-size:.75rem;letter-spacing:.06em;color:var(--muted)}.project-top b{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;color:var(--accent);line-height:1}.project h3{margin-bottom:9px}.subtitle{font-size:.9rem;margin-bottom:18px;color:var(--muted)}.meta{font-size:.8rem;color:var(--muted)}.project-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:.8rem}.project .meta{margin-top:auto}.project-bottom a{color:var(--accent)}.full-credits{margin-top:30px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.services h3{margin-bottom:18px}.services p:not(.eyebrow){color:var(--muted)}.services .eyebrow{display:block}.equipment{margin-top:65px;border:1px solid var(--line);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:48px}.equipment h3{margin-bottom:14px}.equipment p:not(.eyebrow){color:var(--muted)}summary{cursor:pointer;padding:8px 0;font-weight:500}details ul{padding-left:20px;color:var(--muted);font-size:.9rem}details li{margin-bottom:12px}.own-film{background:var(--panel)}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.own-film h2{font-size:clamp(4rem,8vw,8rem);line-height:.95}.film-sub{margin:28px 0 12px;font-size:1.15rem}.film-copy{padding-top:45px}.lead{font-size:1.5rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:22px}.film-copy>p:not(.lead){color:var(--muted)}dl{margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.9rem}dt{color:var(--muted)}dd{margin:0}.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.other-grid h3{margin-bottom:18px}.other-grid p:not(.eyebrow){color:var(--muted);font-size:.95rem}.other-grid .role{color:var(--ink)!important;margin-bottom:12px}.other-grid .text-link{margin-top:22px}.contact h2{margin-bottom:28px}.contact>p:not(.eyebrow){max-width:580px;color:var(--muted)}.email{display:inline-block;font-size:clamp(1.1rem,3vw,2rem);border-bottom:1px solid var(--accent);margin:28px 0 40px;overflow-wrap:anywhere}.social{display:flex;gap:30px;font-size:.875rem}footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:30px;display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}footer div{display:flex;gap:25px}
@media(min-width:1500px){.hero{padding-top:95px}.portrait img{height:620px}}@media(max-width:1000px){header{padding:18px 28px;gap:18px}nav{gap:16px}.wrap{width:calc(100% - 56px)}.hero{gap:40px 30px}.portrait img{height:480px}.facts p{display:block}.facts span{display:block}.projects{grid-template-columns:repeat(2,1fr)}.services,.other-grid{gap:24px}.section-head{gap:30px}.film-grid{gap:40px}.equipment{gap:25px;padding:25px}}@media(max-width:700px){header{flex-wrap:wrap;padding:15px 22px;gap:15px}.brand{flex:1}.controls{order:2}nav{order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}nav a{font-size:.78rem}.wrap{width:calc(100% - 44px)}.hero{padding-top:42px;grid-template-columns:1fr;gap:32px}h1{font-size:clamp(3.1rem,12vw,4.8rem)}.portrait img{height:auto;max-height:none;aspect-ratio:1.2;object-position:center}.intro{font-size:1rem}.disciplines{font-size:.85rem}.facts{gap:10px;padding-bottom:26px}.facts strong{font-size:.95rem}.facts span{font-size:.75rem}.section{padding-top:65px;padding-bottom:65px}.section-head,.film-grid{grid-template-columns:1fr;gap:25px}.section-head{margin-bottom:34px}.projects{gap:12px}.project{padding:20px;min-height:300px}.project h3{font-size:1.22rem}.project-top{font-size:.65rem;letter-spacing:0;gap:4px}.project-top b{font-size:1.6rem}.project-bottom{flex-wrap:wrap}.services,.other-grid,.equipment{grid-template-columns:1fr;gap:30px}.services article,.other-grid article{border-top:1px solid var(--line);padding-top:25px}.equipment{margin-top:38px}.film-copy{padding-top:0}.own-film h2{font-size:5rem}.other-grid{gap:28px}footer{display:block}footer div{margin-top:15px;gap:20px}.social{gap:22px}}@media(max-width:390px){.projects{grid-template-columns:1fr}.facts strong{font-size:.82rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
