:root{--bg:#f7f6f2;--ink:#111;--muted:#777;--rule:#d9d7d0;--pad:3.1vw}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.02em}.site-header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px var(--pad) 64px}.identity{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:5px}.identity strong{font-size:14px;letter-spacing:.18em}.identity span{font-size:8px;letter-spacing:.16em;color:#666}.site-header nav{display:flex;gap:35px}.site-header nav a{font-size:9px;letter-spacing:.16em;color:inherit;text-decoration:none}.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:64px 26px;padding:0 var(--pad) 72px}.tile{cursor:pointer}.frame{aspect-ratio:16/9;background:#e7e5df;overflow:hidden;position:relative}.frame img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease}.tile:hover .frame img{opacity:.88}.frame.missing{display:grid;place-items:center;color:#8b8982;font-size:9px;letter-spacing:.14em}.num{font-size:9px;margin-top:13px}.title{font-size:13px;letter-spacing:.1em;margin-top:9px;text-transform:uppercase}.subtitle{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:13px;margin-top:5px}.meta{color:var(--muted);font-size:9px;letter-spacing:.08em;margin-top:10px}.lower{border-top:1px solid var(--rule);margin:0 var(--pad);padding:40px 0 64px;display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:60px}.lower h2,.archive h2{font-size:11px;letter-spacing:.18em;margin:0 0 28px}.lower h3{font-size:9px;letter-spacing:.16em;margin:28px 0 10px}.lower p{line-height:1.7;color:#555;max-width:430px}.lead{color:#222!important}.slate article{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:0 0 20px}.slate b{font-size:9px;font-weight:400}.slate strong{font-size:10px;letter-spacing:.08em;display:block}.slate span{display:block;color:#777;font-size:9px;line-height:1.5;margin-top:5px}.missing{font-weight:bold;color:#999!important;letter-spacing:.1em}.archive{border-top:1px solid var(--rule);padding:44px var(--pad) 75px}.archive-head{display:flex;justify-content:space-between;align-items:flex-start}.filters{display:flex;gap:20px}.filters button{border:0;background:none;padding:0 0 4px;font:inherit;font-size:9px;letter-spacing:.14em;cursor:pointer}.filters button.active{border-bottom:1px solid}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 26px}.archive .title{font-size:11px}.archive .meta{line-height:1.55}footer{border-top:1px solid var(--rule);margin:0 var(--pad);padding:22px 0 30px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em}.project{position:fixed;inset:0;background:var(--bg);z-index:10;overflow:auto;display:none}.project.open{display:block}.close{position:fixed;right:var(--pad);top:30px;border:0;background:var(--bg);font-size:9px;letter-spacing:.14em;z-index:11;cursor:pointer}.project-inner{padding:80px var(--pad) 90px}.project-kicker{font-size:9px;letter-spacing:.14em}.project h1{font-family:Arial,Helvetica,sans-serif;font-weight:500;font-size:clamp(38px,5vw,76px);line-height:1;margin:30px 0 8px}.project .project-sub{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:22px}.project-video{margin-top:45px;aspect-ratio:16/9;background:#111;max-width:1500px}.project-video iframe{width:100%;height:100%;border:0}.project-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:38px;max-width:950px}.project-details h3{font-size:9px;letter-spacing:.16em}.project-details p{font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.55}.credits{font-size:10px;line-height:1.9;color:#555}
@media(max-width:980px){.featured,.archive-grid{grid-template-columns:repeat(2,1fr)}.lower{grid-template-columns:1fr 1fr}.lower #contact{grid-column:1/-1}}
@media(max-width:700px){:root{--pad:22px}.site-header{display:block;padding-top:22px;padding-bottom:50px}.site-header nav{margin-top:23px;gap:0;justify-content:space-between}.featured,.archive-grid{grid-template-columns:1fr;gap:66px}.lower{grid-template-columns:1fr;gap:65px;padding-top:50px}.lower #contact{grid-column:auto}.archive-head{display:block}.filters{margin:0 0 35px}.title{font-size:13px}.frame{width:100%}.project-inner{padding-top:85px}.project h1{font-size:40px}.project .project-sub{font-size:18px}.project-details{grid-template-columns:1fr;gap:15px}.project-video{margin-top:32px}footer{gap:20px}.site-header nav a{font-size:8px}}

/* Version 2: final supplied imagery and portrait */
.about-portrait{display:block;width:100%;max-width:420px;height:auto;margin:0 0 24px;filter:none}
.email-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.tile:focus-visible,.filters button:focus-visible,.close:focus-visible{outline:2px solid #222;outline-offset:5px}
@media(max-width:700px){.about-portrait{max-width:100%}}

/* Version 5: unified titles and editorial project details */
.featured .title,.archive .title{font-size:clamp(10px,1.05vw,14px);letter-spacing:.035em;text-transform:none;line-height:1.4;margin-top:13px;font-weight:600}
.festival,.project-festival{font-size:10px;letter-spacing:.08em;margin-top:7px;color:#555}
.project h1{font-size:clamp(24px,3.1vw,48px);line-height:1.15;letter-spacing:-.015em;max-width:1450px;margin-bottom:0}
.project-details{max-width:1500px;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.project-credits{grid-column:1;grid-row:1}.project-logline{grid-column:2;grid-row:1}
.project-logline p{max-width:620px}
@media(max-width:700px){.featured .title,.archive .title{font-size:13px}.project-details{grid-template-columns:1fr;gap:24px}.project-credits,.project-logline{grid-column:1;grid-row:auto}}
/* Version 6: restrained, all-caps project-page headings */
.project h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.3;letter-spacing:.10em;text-transform:uppercase;max-width:none;margin:28px 0 0;overflow-wrap:break-word}
@media(max-width:700px){.project h1{font-size:clamp(18px,4.7vw,20px);letter-spacing:.075em;line-height:1.35}}

/* v7: compact project heading and equal title/video/credits rhythm */
.project-inner{padding-top:80px}
.project h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(18px,2vw,28px);font-weight:600;line-height:1.25;letter-spacing:.09em;text-transform:uppercase;margin:0 0 38px}
.project-video{margin-top:0}
.project-details{margin-top:38px}
.project-festival{margin:-24px 0 24px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:650px){.project h1{font-size:18px;margin-bottom:24px}.project-details{margin-top:24px}.project-festival{margin:-12px 0 24px}}
/* V8: restrained project-page typography and symmetrical video spacing */
.project-kicker{display:none!important}
.project-inner{padding-top:80px}
.project h1{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:600;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;margin:0 0 38px;max-width:1100px}
.project-video{margin-top:0}
.project-details{margin-top:38px}
.project-details h3{margin-top:0}
.project-festival{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin:-22px 0 22px}
@media(max-width:700px){.project h1{font-size:16px;line-height:1.45;margin-bottom:24px}.project-details{margin-top:24px}.project-festival{margin:-12px 0 12px}.project-video{margin-top:0}}

/* Version 9: header-scale project titles, aligned with Close control */
.project-inner{padding-top:30px}
.project h1{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;line-height:1.35;text-transform:uppercase;margin:0 100px 28px 0;max-width:none;overflow-wrap:break-word}
.project-video{margin-top:0}
.project-details{margin-top:28px}
.project-festival{margin:-14px 0 28px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){.project-inner{padding-top:24px}.close{top:24px}.project h1{font-size:14px;line-height:1.4;letter-spacing:.14em;margin:0 72px 28px 0}.project-details{margin-top:28px}.project-festival{margin:-14px 0 28px}}
