:root{color-scheme:dark;--bg:#101010;--ink:#f1f0ec;--muted:#aaa9a5;--line:#33332f;--accent:#e99753}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:100;background:var(--bg);padding:1rem}.skip:focus{top:0}header{padding:22px 4vw;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#101010f5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:18px;font-size:28px;font-weight:bold;white-space:nowrap}.brand span{font-size:12px;letter-spacing:.13em}nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}main{max-width:1600px;margin:auto}.hero{padding:44px 4vw 0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow,.index{font-size:12px;letter-spacing:.13em;color:var(--muted)}h1{font-size:clamp(3.5rem,8.5vw,8rem);line-height:1.05;font-weight:500;letter-spacing:-.055em;margin:34px 0}h1 span{display:block;font-size:clamp(1.1rem,2vw,1.75rem);letter-spacing:0;line-height:1.5;color:var(--muted);margin-top:20px}.hero-image{margin:0}.hero-image img{width:100%;max-height:66vh;object-fit:contain;display:block;background:#080808}.hero-image figcaption{display:flex;justify-content:space-between;padding:12px 0;font-size:13px;color:var(--muted)}.hero-bottom{padding:12px 0 36px;font-size:14px}.hero-bottom p{color:var(--muted)}.section{margin:0 4vw;padding:85px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 3fr;gap:24px;align-items:start;margin-bottom:48px}.index{color:var(--accent);padding-top:10px}h2{font-size:clamp(2rem,4.5vw,4.7rem);line-height:1.15;letter-spacing:-.035em;font-weight:400;margin:0}h3{font-weight:400;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.35;margin:12px 0 18px}p{margin:0 0 20px}.film-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:50px}.video{aspect-ratio:16/9;background:#1b1b1a;border:1px solid #3c3b37;overflow:hidden}.video-start{border:0;width:100%;height:100%;display:flex;gap:22px;align-items:center;justify-content:center;background:linear-gradient(135deg,#252522,#101010);text-align:left;padding:20px;font-size:clamp(1.1rem,2vw,1.75rem)}.video-start:hover{background:#292823}.video-start small{display:block;color:var(--muted);font-size:14px;margin-top:5px}.play{border:1px solid var(--accent);border-radius:50%;color:var(--accent);width:58px;height:58px;display:grid;place-items:center;flex-shrink:0;font-size:18px}.video iframe{width:100%;height:100%;border:0}.film-copy p{color:var(--muted)}.credit{font-size:14px;color:var(--muted)}.festival{border-left:2px solid var(--accent);padding-left:18px;font-size:14px}.text-link{font-size:14px;border-bottom:1px solid #666;padding-bottom:5px}.in-progress{margin-top:60px;padding:30px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.25fr 1fr;gap:50px}.in-progress h3{font:italic clamp(2.5rem,5vw,5rem)/1.2 Georgia,serif}.in-progress p{color:var(--muted)}.section-intro{max-width:700px;color:var(--muted);margin-bottom:35px}.promos{display:grid;grid-template-columns:1fr 1fr;gap:34px}.promos .video{margin-bottom:22px}.series{margin-bottom:64px}.series:last-child{margin-bottom:0}.series-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:20px}.series-title h3{margin:0;font-size:20px}.series-title span{color:var(--muted);font-size:13px;white-space:nowrap}.gallery{columns:3;column-gap:18px}.photo{margin:0 0 18px;break-inside:avoid}.photo button{padding:0;border:0;background:none;display:block;width:100%;position:relative}.photo img{width:100%;height:auto;display:block}.photo button:after{content:'↗';position:absolute;bottom:12px;right:12px;background:#101010bf;width:32px;height:32px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo button:hover:after,.photo button:focus-visible:after{opacity:1}.personal{columns:2;column-gap:28px}.personal .photo{margin-bottom:28px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about .section-head{display:flex;flex-direction:column}.biography{max-width:680px;color:var(--muted)}.biography .lead{font-size:24px;line-height:1.5;color:var(--ink)}.contact h2{margin:25px 0 30px}.email{display:inline-block;font-size:clamp(1.25rem,4vw,3.75rem);line-height:1.4;border-bottom:1px solid var(--accent);overflow-wrap:anywhere;margin-bottom:30px}.contact p{color:var(--muted)}footer{padding:28px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;background:#0b0b0bf7;color:var(--ink);padding:20px 3vw}dialog::backdrop{background:#000e}dialog[open]{display:flex;flex-direction:column}.viewer-bar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.viewer-bar{min-height:55px;font-size:14px}.viewer-controls{min-height:65px}dialog button{background:none;border:1px solid var(--line);padding:8px 15px;font-size:14px}#viewer-image{object-fit:contain;width:100%;flex:1;min-height:0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){header,footer{padding-left:max(4vw,calc((100vw - 1472px)/2));padding-right:max(4vw,calc((100vw - 1472px)/2))}}@media(max-width:1000px){header{align-items:flex-start}.brand span{display:none}nav{gap:10px 16px;justify-content:flex-end}.film-feature{gap:28px}.section{padding:60px 0}.about{gap:35px}.gallery{columns:2}}@media(max-width:640px){html{scroll-padding-top:140px}header{padding:14px 5vw;gap:16px}.brand{font-size:23px}nav{gap:7px 14px;font-size:14px}.hero{padding:26px 5vw 0}.hero-top{align-items:flex-start}.eyebrow,.index{font-size:12px;letter-spacing:.07em}.hero-top span:last-child{text-align:right}h1{margin:30px 0;font-size:3.3rem}.hero-image img{max-height:none}.hero-bottom{align-items:flex-start;flex-direction:column;gap:0}.hero-image figcaption{font-size:12px}.section{margin:0 5vw;padding:48px 0}.section-head{display:block;margin-bottom:30px}.section-head .index{display:block;margin-bottom:20px}.film-feature,.in-progress,.promos,.about{grid-template-columns:1fr;gap:28px}.in-progress{margin-top:35px}.promos{gap:42px}.gallery{column-gap:10px}.photo{margin-bottom:10px}.personal{columns:1}.series-title{align-items:flex-start}.series-title h3{font-size:18px}.series-title span{font-size:12px}.about .section-head{margin-bottom:0}.biography .lead{font-size:21px}.viewer-bar{align-items:flex-start}#viewer-caption{font-size:12px}dialog button{padding:9px;font-size:13px}.viewer-controls{gap:7px}.viewer-controls span{font-size:12px}footer{padding:22px 5vw;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Deep Navy & Copper theme */
:root{color-scheme:dark;--bg:#101a2c;--ink:#f4f0e8;--muted:#aeb8c6;--line:#31435d;--accent:#d79a62}
body{background:var(--bg)}
header{background:#101a2cf2;border-color:var(--line)}
.hero-image img{background:#0b1423}
.video{background:#15243a;border-color:#3b506c}
.video-start{background:linear-gradient(135deg,#203653,#101a2c)}
.video-start:hover{background:#294566}
.text-link{border-color:#718097}
dialog{background:#0b1423f7}
dialog::backdrop{background:#07101ce8}
.photo button:after{background:#101a2cbf}
.language-switch{display:inline-flex;align-items:center;gap:8px;margin-left:18px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.language-switch button{border:0;background:none;padding:0;color:inherit;font-size:inherit;letter-spacing:inherit}
.language-switch button.active,.language-switch button:hover{color:var(--accent)}
@media(max-width:640px){.language-switch{margin-left:6px;gap:5px}}
.viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden}
.viewer-stage #viewer-image{position:relative;z-index:1}
.viewer-watermark{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-32deg);font-size:clamp(1.2rem,4vw,3.4rem);font-weight:700;letter-spacing:.18em;color:#f4f0e8;opacity:.18;white-space:nowrap;pointer-events:none;text-shadow:0 1px 8px #07101c}
.hero-image iframe{width:100%;aspect-ratio:16/9;display:block;border:0;background:#0b1423}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-copy h2{margin:25px 0 30px}.contact-intro{max-width:580px;color:var(--muted);font-size:18px}.contact-details{margin-top:42px}.contact-details .email{margin-bottom:18px}.contact-form{display:grid;gap:24px}.contact-form label{display:grid;gap:8px;color:var(--ink);font-size:14px}.contact-form label span{color:var(--accent)}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:10px 0;font:inherit;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}.contact-form button{border:0;border-radius:999px;background:var(--accent);color:#101a2c;padding:14px 22px;font-weight:700;margin-top:8px}.contact-form button:hover{background:#efb27e}.contact-form button span{margin-left:8px}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.contact-status{min-height:24px;margin:0;color:var(--muted);font-size:14px}.contact-status.success{color:#9bd3a4}.contact-status.error{color:#e6a0a0}
@media(max-width:640px){.contact{grid-template-columns:1fr;gap:38px}.contact-intro{font-size:16px}.contact-details{margin-top:28px}}

.contact-copy,.contact-form{min-width:0}.contact-details .email{font-size:clamp(1rem,2vw,1.5rem)}.contact-form input,.contact-form textarea{font-size:16px}.contact-form button:disabled{opacity:.6;cursor:wait}

footer{align-items:center;flex-wrap:wrap}.social-links{display:flex;gap:12px}.social-links a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink)}.social-links a:hover{border-color:var(--accent);color:var(--accent)}.social-links svg{width:21px;height:21px}.film-link{display:inline-block;margin:0 0 24px}.in-progress{grid-template-columns:1fr}.in-progress .film-copy{max-width:900px}
.event-strip{display:flex;gap:24px;overflow:hidden;padding-bottom:12px}.event-card{flex:0 0 min(390px,78vw);border:1px solid var(--line);padding:18px;background:#151a22}.event-card .series-title{margin-bottom:14px}.event-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-preview .photo{margin:0}.event-preview img{aspect-ratio:4/3;object-fit:cover}.see-all,.see-more{margin-top:14px;border:0;border-bottom:1px solid var(--accent);background:none;padding:4px 0;color:var(--ink);font-size:14px}.see-more{display:block;margin-left:auto}.event-strip:not(.expanded) .event-card:nth-child(n+4){display:none}.event-strip.expanded{overflow-x:auto;flex-wrap:wrap}.event-strip.expanded .event-card{flex-basis:calc(33.333% - 16px)}
@media(max-width:900px){.event-strip.expanded .event-card{flex-basis:calc(50% - 12px)}}
@media(max-width:640px){.event-strip{overflow-x:auto}.event-strip.expanded{flex-wrap:nowrap}.event-strip.expanded .event-card{flex-basis:78vw}}
.carousel-shell{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.event-strip{scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none;padding:4px 2px 16px}.event-strip::-webkit-scrollbar{display:none}.carousel-arrow{width:42px;height:42px;border:1px solid var(--line);background:#151a22;border-radius:50%;font-size:30px;line-height:1;color:var(--ink)}.carousel-arrow:hover{border-color:var(--accent);color:var(--accent)}.event-strip .event-card{flex-basis:min(300px,28vw)}.gallery{columns:4;column-gap:14px}.personal{columns:3;column-gap:20px}.photo{margin-bottom:14px}.personal .photo{margin-bottom:20px}@media(max-width:1000px){.gallery{columns:3}.personal{columns:2}.event-strip .event-card{flex-basis:38vw}}@media(max-width:640px){.carousel-shell{gap:5px}.carousel-arrow{width:34px;height:34px;font-size:24px}.event-strip .event-card{flex-basis:72vw}.gallery{columns:2}.personal{columns:2}}
.personal-carousel .personal-strip{display:flex;gap:16px}.personal-carousel .personal-photo{flex:0 0 min(280px,24vw);margin:0}.personal-carousel .personal-photo img{aspect-ratio:4/3;object-fit:cover}@media(max-width:900px){.personal-carousel .personal-photo{flex-basis:34vw}}@media(max-width:640px){.personal-carousel .personal-photo{flex-basis:68vw}}
#personal-gallery{width:100%;columns:initial!important}.personal-carousel{width:100%}.personal-carousel .personal-strip{width:100%}.film-carousel{width:100%;margin-top:10px}.film-strip{width:100%;align-items:stretch}.film-strip .film-feature,.film-strip .in-progress{flex:0 0 min(760px,68vw);margin:0;grid-template-columns:1.1fr 1fr;gap:28px;padding:24px;border:1px solid var(--line);background:#151a22}.film-strip .in-progress{display:grid}.film-strip .film-feature .video{min-width:0}.film-strip .film-copy{min-width:0}.film-strip .in-progress{display:grid}.film-strip .in-progress h3{font-size:clamp(2rem,4vw,4rem)}@media(max-width:700px){.film-strip .film-feature,.film-strip .in-progress{flex-basis:86vw;grid-template-columns:1fr}.film-strip .in-progress{display:block}}
.about{display:block}.about .section-head{max-width:1100px;margin:0 auto 42px}.about-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:64px;align-items:start}.biography{max-width:none;columns:2;column-gap:46px}.biography .lead{column-span:all}.about-photo{margin:0;position:sticky;top:130px}.about-photo-placeholder{aspect-ratio:4/5;border:1px dashed #596273;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:18px;letter-spacing:.04em}.about-photo-placeholder span{font-size:12px}.about-actions{column-span:all;margin-top:20px}.about-actions .text-link{display:inline-block}@media(max-width:900px){.about-layout{grid-template-columns:1fr;gap:35px}.about-photo{position:static;max-width:360px}.biography{columns:1}}@media(max-width:640px){.about .section-head{margin-bottom:28px}.about-layout{gap:28px}.biography .lead{font-size:21px}}
.archive-dialog{width:min(1100px,92vw);max-height:88vh;border:1px solid var(--line);background:#101722;color:var(--ink);padding:28px}.archive-dialog::backdrop{background:#000b}.archive-head{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.archive-head h3{margin:0}.archive-close{border:1px solid var(--line);background:none;color:inherit;padding:8px 14px}.archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;overflow:auto}.archive-card{border:1px solid var(--line);padding:16px;background:#151d2a}.archive-card h4{margin:0 0 5px;font-size:20px;font-weight:400}.archive-meta{color:var(--muted);font-size:13px}.archive-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.archive-preview button{border:0;padding:0;background:none}.archive-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.archive-card>.see-all{background:none;border:0;border-bottom:1px solid var(--accent);color:inherit;padding:4px 0}@media(max-width:640px){.archive-dialog{padding:18px}.archive-list{grid-template-columns:1fr}}
.promo-carousel{width:100%;margin-top:10px}.promo-strip{width:100%;align-items:stretch}.promo-strip>article{flex:0 0 min(760px,68vw);display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin:0;padding:24px;border:1px solid var(--line);background:#151a22}.promo-strip .video{margin:0;min-width:0}.promo-strip .film-copy{min-width:0}.promo-strip .film-copy h3{font-size:clamp(2rem,4vw,4rem)}@media(max-width:700px){.promo-strip>article{flex-basis:86vw;grid-template-columns:1fr}.promo-strip .video{margin-bottom:4px}}
.carousel-shell{grid-template-columns:auto minmax(0,1fr) auto}.collection-strip{min-width:0;scroll-snap-type:x proximity}.collection-strip .event-card{display:block!important;scroll-snap-align:start;flex:0 0 min(300px,72vw)}.collection-strip.collection-large .event-card{flex-basis:min(760px,75vw)}.collection-strip .personal-photo{flex:0 0 min(280px,68vw);margin:0}.collection-strip .personal-photo img{height:210px;object-fit:cover}.event-preview button{border:0;padding:0;background:none;min-width:0}.event-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.collection-dialog{width:min(1050px,94vw);height:auto;max-height:90dvh;padding:24px;background:var(--bg);border:1px solid var(--line)}.collection-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.collection-head h3{margin:0 0 20px}.collection-content{overflow:auto;min-height:0}.collection-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.collection-photos button{padding:0;border:0}.collection-photos img{display:block;width:100%;height:190px;object-fit:cover}.collection-content .video{margin-top:24px;max-width:800px}.carousel-arrow:disabled{opacity:.3;cursor:default}.event-card{overflow-wrap:anywhere}.series-title{flex-wrap:wrap}.event-video-editor{margin:24px 0}.collection-dialog p{overflow-wrap:anywhere}

/* Full-width project carousels and explicit video aspect ratios. */
.promos{display:block;min-width:0;width:100%}.promo-carousel,.film-carousel{max-width:100%;min-width:0}.promo-strip,.film-strip{min-width:0}.promo-strip>article,.film-strip>article{align-items:start;min-width:0;max-width:100%;overflow-wrap:anywhere}.project-videos{display:grid;gap:16px;min-width:0;width:100%}.project-videos .video{width:100%;margin:0}.video.video-portrait{aspect-ratio:9/16;width:min(100%,320px);justify-self:center;margin-inline:auto}.video iframe{display:block}.video-portrait .video-start{flex-direction:column;text-align:center}.promo-strip .film-copy h3{font-size:clamp(1.5rem,2.2vw,2rem)}.collection-content .video.video-portrait{max-width:320px}.film-copy{overflow-wrap:anywhere}.film-copy:only-child{grid-column:1/-1}
@media(min-width:1000px){.promo-strip>article,.film-strip>article{flex-basis:min(860px,85%);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
@media(max-width:700px){.promo-strip>article,.film-strip>article{flex-basis:100%;grid-template-columns:minmax(0,1fr);padding:16px}.video.video-portrait{width:min(100%,280px)}}
