
:root { --ink:#0b0b0b; --muted:#656565; --line:#d8d8d8; --pad:clamp(22px,4.1vw,66px); --max:1500px; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
img{display:block;max-width:100%}
.site-shell{max-width:var(--max);margin:0 auto;padding:36px var(--pad) 24px;min-height:100vh;display:flex;flex-direction:column}
.header{display:grid;grid-template-columns:minmax(300px,1fr) auto;gap:40px;align-items:start;margin-bottom:50px}
.brand h1{font-size:clamp(38px,3.45vw,58px);font-weight:400;line-height:1;margin:0 0 12px;letter-spacing:-.035em}
.brand .role{font-size:clamp(21px,1.55vw,28px);line-height:1.2;margin-bottom:12px}
.brand .tagline{color:var(--muted);font-size:clamp(15px,1.05vw,18px);max-width:560px}.brand .location{color:var(--muted);font-size:clamp(13px,.9vw,16px);margin-top:5px}
.nav{display:flex;gap:clamp(26px,3.5vw,60px);padding-top:12px;font-size:15px;white-space:nowrap}
.nav a.active{border-bottom:1px solid;padding-bottom:8px;text-decoration:none}
.menu-button{display:none;border:0;background:transparent;padding:0;width:34px;height:27px;cursor:pointer;position:relative}
.menu-button span{position:absolute;left:0;width:100%;height:2px;background:var(--ink);transition:.2s}.menu-button span:nth-child(1){top:2px}.menu-button span:nth-child(2){top:12px}.menu-button span:nth-child(3){top:22px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}
.card{min-width:0}.card a{display:block}.card a:hover{text-decoration:none}.card-image{aspect-ratio:400/268;overflow:hidden;background:#efefef;margin-bottom:10px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card a:hover .card-image img{transform:scale(1.018)}
.card h2{font-size:19px;line-height:1.15;margin:0 0 5px;font-weight:600;letter-spacing:-.01em}.card .meta,.card .highlight{font-size:13px;line-height:1.35}.card .highlight{color:var(--muted);margin-top:4px}
.footer{border-top:1px solid var(--line);margin-top:48px;padding:14px 0 0;display:flex;justify-content:space-between;gap:20px;color:#222;font-size:13px}
.footer-links{display:flex;gap:20px}
.page-heading{font-size:clamp(34px,4vw,62px);font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:0 0 30px}
.prose{max-width:760px;font-size:18px;line-height:1.58}.prose p{margin:0 0 1.25em}.prose a{text-decoration:underline;text-underline-offset:4px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr);gap:clamp(38px,7vw,110px);align-items:start}.portrait{width:100%;aspect-ratio:4/3;object-fit:cover}
.contact-block{font-size:clamp(25px,3vw,44px);line-height:1.25;letter-spacing:-.02em}.contact-block a{text-decoration:underline;text-underline-offset:7px}
.filmography-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.filmography-group h2{font-size:19px;margin:0 0 18px}.filmography-group ul{list-style:none;padding:0;margin:0}.filmography-group li{margin:0 0 9px;display:flex;justify-content:space-between;gap:18px;align-items:baseline}.filmography-title{min-width:0}.filmography-year{color:var(--muted);font-size:13px;white-space:nowrap}.filmography-group a{text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:3px}
.project-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:clamp(35px,6vw,96px);align-items:end;margin-bottom:32px}.project-title{font-size:clamp(42px,5vw,76px);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:0}.project-summary{font-size:15px;color:var(--muted)}
.project-hero{aspect-ratio:16/9;overflow:hidden;background:#eee;margin-bottom:32px}.project-hero img{width:100%;height:100%;object-fit:cover}
.video-wrap{position:relative;padding-top:56.25%;background:#111;margin-bottom:38px}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.project-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:clamp(38px,7vw,110px)}.project-copy{font-size:18px;line-height:1.58}.project-copy p{margin:0 0 1.2em}.project-aside{font-size:14px;line-height:1.5}.project-aside section{border-top:1px solid var(--line);padding-top:11px;margin-bottom:30px}.project-aside h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 9px}.project-aside p{margin:0}.project-aside ul{list-style:none;margin:0;padding:0}.project-aside li{margin-bottom:7px}.review-note{background:#fff8d8;padding:12px 14px;margin-bottom:24px;font-size:13px}
.back-link{display:inline-block;margin:0 0 24px;font-size:14px}
@media(max-width:800px){
 .site-shell{padding:25px 18px 18px}.header{grid-template-columns:1fr auto;gap:20px;margin-bottom:27px}.brand h1{font-size:34px;margin-bottom:6px}.brand .role{font-size:18px;margin-bottom:7px}.brand .tagline{font-size:15px;max-width:290px}.brand .location{font-size:13px;max-width:290px}.menu-button{display:block;margin-top:4px}.nav{display:none;position:absolute;z-index:20;left:18px;right:18px;top:147px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;flex-direction:column;gap:14px;font-size:18px}.nav.open{display:flex}.nav a.active{border:0;padding:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.card h2{font-size:15px}.card .meta,.card .highlight{font-size:11px}.footer{margin-top:32px;font-size:11px;align-items:flex-end}.footer-links{gap:12px}.filmography-columns{grid-template-columns:1fr;gap:34px}.about-layout,.project-header,.project-body{grid-template-columns:1fr}.about-layout{gap:28px}.portrait{order:-1}.project-header{gap:10px;margin-bottom:22px}.project-title{font-size:43px}.project-hero{margin-bottom:24px}.project-copy{font-size:16px}.project-aside{font-size:13px}.page-heading{font-size:42px}.prose{font-size:17px}.contact-block{font-size:29px}
}
@media(max-width:420px){.grid{gap:23px 12px}.card .highlight{min-height:30px}.footer{flex-direction:column;align-items:flex-start}}

.video-local-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(22px,4vw,52px);background-size:cover;background-position:center;color:#fff;isolation:isolate}.video-local-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.75));z-index:-1}.video-local-placeholder strong{font-size:clamp(19px,2vw,30px);font-weight:500;margin-bottom:7px}.video-local-placeholder p{margin:0 0 14px;max-width:560px}.video-local-placeholder a{display:inline-block;background:#fff;color:#000;padding:9px 13px;text-decoration:none}.video-local-placeholder a:hover{text-decoration:underline}.video-note{font-size:12px;color:var(--muted);margin:-24px 0 34px}


/* Direct local preview: video posters open the source externally. */
.video-preview-link{position:absolute;inset:0;display:block;overflow:hidden;color:#fff;text-decoration:none;background:#191919}
.video-preview-link:hover{text-decoration:none}
.video-preview-link img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.video-preview-link:hover img{transform:scale(1.012)}
.video-preview-link:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.62))}
.video-preview-overlay{position:absolute;left:clamp(18px,3.2vw,42px);bottom:clamp(18px,3.2vw,38px);z-index:2;display:flex;align-items:center;gap:13px}
.video-preview-play{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.85);border-radius:50%;font-size:15px;padding-left:3px;background:rgba(0,0,0,.18)}
.video-preview-label{font-size:clamp(15px,1.25vw,19px);font-weight:500}


/* Updates */
.updates-preview{border-top:1px solid var(--line);margin-top:64px;padding-top:18px}
.updates-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:5px}
.updates-preview h2{font-size:19px;font-weight:600;margin:0}
.updates-all-link,.official-link{font-size:13px;text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:3px}
.updates-list{border-bottom:1px solid var(--line)}
.update-row{display:grid;grid-template-columns:140px 1fr;gap:24px;border-top:1px solid var(--line);padding:13px 0;font-size:14px}
.update-row:first-child{border-top:0}
.update-date{color:var(--muted);font-size:13px}
.update-copy strong{font-weight:600}
.update-external{text-decoration:none;color:var(--muted);white-space:nowrap}
.updates-intro{font-size:18px;color:var(--muted);margin:-14px 0 40px;max-width:680px}
.updates-page-list{border-top:1px solid var(--line)}
.update-page-item{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:clamp(28px,6vw,90px);padding:26px 0;border-bottom:1px solid var(--line)}
.update-page-date{font-size:14px;color:var(--muted);padding-top:4px}
.update-page-body h2{font-size:clamp(22px,2.1vw,31px);font-weight:500;line-height:1.15;margin:0 0 7px;letter-spacing:-.02em}
.update-page-body p{font-size:17px;margin:0 0 12px}
.image-credit{font-size:11px;color:var(--muted);margin:-27px 0 36px;line-height:1.4}
.image-credit a{text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:3px}

@media(max-width:800px){
 .updates-preview{margin-top:42px}
 .update-row{grid-template-columns:95px 1fr;gap:13px;font-size:13px}
 .update-date{font-size:12px}
 .updates-intro{font-size:16px;margin-top:-15px;margin-bottom:28px}
 .update-page-item{grid-template-columns:1fr;gap:8px;padding:21px 0}
 .update-page-date{padding-top:0}
 .update-page-body p{font-size:16px}
 .image-credit{margin:-15px 0 27px}
}

/* Media handling: local high-resolution assets + click-to-load embeds. */
.video-actions{font-size:12px;color:var(--muted);margin:-27px 0 11px;text-align:right}
.video-actions a{text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:3px}
.video-wrap + .video-actions + .image-credit{margin-top:0}
.video-wrap iframe{background:#111}
@media(max-width:800px){.video-actions{margin:-19px 0 10px}.video-wrap + .video-actions + .image-credit{margin-top:0}}

/* Instagram Reel trailer */
.instagram-embed-wrap{width:min(100%,540px);height:760px;margin:0 auto 38px;background:#fff;overflow:hidden}
.instagram-embed-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.instagram-actions{width:min(100%,540px);margin:-27px auto 11px}
@media(max-width:800px){.instagram-embed-wrap{height:min(760px,155vw);min-height:570px;margin-bottom:28px}.instagram-actions{margin:-19px auto 10px}}
