:root{--pad:clamp(18px,2.5vw,44px);--header:82px;--ink:#111;--muted:#999}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f7f5;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.08em}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:var(--header);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,245,.93);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:14px;font-size:14px;letter-spacing:.16em}.brand i{display:block;width:16px;height:1px;background:#aaa}.brand small{font-size:10px;color:var(--muted);letter-spacing:.15em}.site-header nav{display:flex;gap:28px;font-size:10px}.site-header nav a{transition:opacity .25s}.site-header nav a:hover{opacity:.45}main#work{padding:var(--header) var(--pad) 0}.work-grid{min-height:calc(100vh - var(--header));display:flex;align-items:flex-start}.project-card{position:relative;display:block;width:100%;overflow:hidden;background:#ddd}.project-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:filter .65s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.project-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#fff;opacity:0;transition:opacity .45s ease}.project-overlay h1{font-size:clamp(22px,3vw,52px);font-weight:400;letter-spacing:.08em;margin:0 0 8px;transform:translateY(10px);transition:transform .45s ease}.project-overlay p{margin:0;font-size:10px;letter-spacing:.22em;transform:translateY(10px);transition:transform .5s ease}.project-card:hover img{filter:blur(10px) brightness(.72);transform:scale(1.025)}.project-card:hover .project-overlay{opacity:1}.project-card:hover .project-overlay h1,.project-card:hover .project-overlay p{transform:none}footer{margin-top:100px;padding:40px var(--pad) 45px;border-top:1px solid #ddd;display:grid;grid-template-columns:1fr auto;gap:30px;line-height:1.6}footer p{margin:0}.contact-links{display:flex;gap:24px}.contact-links a:hover{text-decoration:underline}.city{color:var(--muted)}.project-main{padding:calc(var(--header) + 34px) var(--pad) 60px}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:38px}.project-intro h1{margin:0 0 8px;font-size:clamp(28px,4vw,64px);font-weight:400;letter-spacing:.03em}.project-intro p{margin:0;color:var(--muted)}dl{margin:7px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}dl div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #bbb;padding-top:8px}dt{color:var(--muted)}dd{margin:0;text-align:right}.video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#111;margin-bottom:8px}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stills{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stills figure{margin:0;overflow:hidden}.stills figure.wide{grid-column:1/-1}.stills img{display:block;width:100%;height:100%;object-fit:cover}.stills figure:not(.wide){aspect-ratio:16/9}.credits{margin-top:60px;padding-top:14px;border-top:1px solid #bbb;display:grid;grid-template-columns:1fr 1fr;gap:30px}.credits p{margin:0 0 7px}.back-work{display:inline-block;margin-top:90px;font-size:10px}.back-work:hover{text-decoration:underline}@media(max-width:700px){:root{--header:68px}.brand{font-size:11px;gap:8px}.brand i,.brand small{display:none}.site-header nav{gap:16px}.project-card img{aspect-ratio:4/5}.project-overlay{opacity:1;align-items:end;padding-bottom:24px;background:linear-gradient(transparent 60%,rgba(0,0,0,.3))}.project-overlay h1{font-size:22px;transform:none}.project-overlay p{transform:none}.project-card:hover img{filter:none;transform:none}footer{grid-template-columns:1fr;gap:24px;margin-top:70px}.project-intro{grid-template-columns:1fr;margin-bottom:25px}dl{grid-template-columns:1fr}.stills{grid-template-columns:1fr}.stills figure.wide{grid-column:auto}.stills figure,.stills figure:not(.wide){aspect-ratio:auto}.credits{grid-template-columns:1fr}}

/* Center contact links independently of the city label. */
footer{grid-template-columns:1fr auto 1fr}.contact-links{grid-column:2;justify-content:center}.city{justify-self:end}@media(max-width:700px){footer{grid-template-columns:1fr}.contact-links{grid-column:1}.city{justify-self:center}}

/* Project details between the film and a four-image gallery. */
.project-intro{grid-template-columns:1fr}.credits{margin:24px 0 40px;padding-top:18px}.stills{grid-template-columns:repeat(2,minmax(0,1fr))}.stills figure,.stills figure:not(.wide){aspect-ratio:16/9}@media(max-width:700px){.credits{margin:20px 0 28px;gap:14px}}

/* Airy, centered six-frame gallery. */
.project-page .credits{margin:64px auto 88px;padding-top:24px;width:100%;line-height:1.8}.project-page .stills{width:98%;max-width:1440px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(max-width:700px){.project-page .credits{margin:40px auto 52px}.project-page .stills{width:98%;gap:8px}}

/* Stacked credits with a clear type hierarchy. */
.project-page .credits{grid-template-columns:1fr;gap:16px}.project-page .credits>p{font-size:16px;letter-spacing:.08em}.project-page .credits>div{font-family:'Courier New',Courier,monospace;font-size:11px;letter-spacing:.04em;color:#666}.project-page .credits>div p{margin:0 0 5px}

/* Larger sans-serif credits and project contact footer. */
.project-page .credits>div{font-family:'DM Sans',Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:.025em;color:#444;line-height:1.7}.project-page .credits>p{font-family:'DM Sans',Arial,sans-serif;font-size:18px;font-weight:500}.project-page footer{margin:24px var(--pad) 0;padding:36px 0 42px;border-top:1px solid #bbb}@media(max-width:700px){.project-page .credits>div{font-size:15px}.project-page footer{margin-top:16px}}

/* Copyright signature on every page. */
.copyright{margin:0 var(--pad);padding:26px 0 30px;border-top:1px solid #bbb;font-family:'Courier New',Courier,monospace;font-size:clamp(11px,1.25vw,18px);line-height:1.6;letter-spacing:.02em}

/* Outlined contact navigation and editorial contact page. */
.site-header nav{align-items:center}.contact-button{border:1px solid currentColor;padding:12px 18px}.contact-button:hover,.contact-button[aria-current=page]{background:#111;color:#f7f7f5;opacity:1!important}
.contact-page{background:#141414;color:#eee;min-height:100vh;display:flex;flex-direction:column;font-family:'Courier New',Courier,monospace}.contact-page .site-header{background:rgba(20,20,20,.96)}.contact-page .contact-button[aria-current=page],.contact-page .contact-button:hover{background:#eee;color:#141414}.contact-main{flex:1;display:grid;grid-template-columns:minmax(0,610px) minmax(240px,360px);justify-content:space-between;gap:80px;padding:calc(var(--header) + 80px) var(--pad) 100px}.contact-form{display:flex;flex-direction:column;font-size:16px;letter-spacing:.02em}.contact-form label{color:#aaa}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #666;border-radius:0;background:transparent;color:#eee;font:inherit;padding:10px 0;margin:0 0 28px;outline-offset:5px}.contact-form textarea{resize:vertical;min-height:190px}.contact-form button{align-self:flex-start;border:0;background:none;color:inherit;font:inherit;font-weight:bold;cursor:pointer;padding:4px 0}.contact-form button:hover{text-decoration:underline}.form-note{font-size:12px;color:#aaa;line-height:1.6;margin-top:16px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:28px;font-size:16px;line-height:1.7;overflow-wrap:anywhere}.contact-details>a:hover{text-decoration:underline}.contact-location{margin-top:28px}.contact-location p{margin:0 0 6px}.contact-page .copyright{border-color:#666}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.contact-button{padding:10px 12px}.contact-main{grid-template-columns:1fr;gap:60px;padding-top:calc(var(--header) + 44px);padding-bottom:64px}.contact-form,.contact-details{font-size:14px}}
/* Shared footer: centered links and a compact signature on the right. */
body .site-footer{margin:24px var(--pad) 0;padding:32px 0;border-top:1px solid #bbb;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;line-height:1.6}
.site-footer .city{grid-column:1;justify-self:start;font-size:10px}.site-footer .contact-links{grid-column:2;font-size:11px;gap:24px}.site-footer .copyright{grid-column:3;justify-self:end;text-align:right;border:0;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.025em;line-height:1.6;max-width:100%}
/* Contact uses the same quiet, light palette as the portfolio. */
.contact-page{background:#f7f7f5;color:#111;font-family:Arial,Helvetica,sans-serif;letter-spacing:.08em}.contact-page .site-header{background:rgba(247,247,245,.93)}.contact-page .contact-button[aria-current=page],.contact-page .contact-button:hover{background:#111;color:#f7f7f5}.contact-main{width:100%;max-width:1500px;margin:0 auto;grid-template-columns:minmax(0,610px) minmax(240px,360px);gap:clamp(60px,10vw,180px);padding-top:calc(var(--header) + 72px);padding-bottom:80px}.contact-form{font-size:14px;letter-spacing:.04em}.contact-form label{color:#777;font-size:11px;letter-spacing:.08em}.contact-form input,.contact-form textarea{color:#111;border-bottom-color:#bbb;padding:12px 0;margin-bottom:30px;line-height:1.6}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-bottom-color:#111}.contact-form textarea{min-height:160px}.contact-form button{font-size:11px;font-weight:400;letter-spacing:.1em;border:1px solid #111;padding:14px 20px;transition:background .2s,color .2s}.contact-form button:hover{background:#111;color:#f7f7f5;text-decoration:none}.form-note{font-size:11px;color:#888;letter-spacing:.02em}.contact-details{font-size:14px;gap:24px;letter-spacing:.03em}.contact-location{margin-top:40px;font-size:11px;letter-spacing:.1em}.contact-location p:last-child{color:#999;margin-top:18px}
@media(max-width:900px){body .site-footer{grid-template-columns:1fr auto;gap:20px}.site-footer .city{grid-column:1}.site-footer .contact-links{grid-column:2}.site-footer .copyright{grid-column:1/-1;justify-self:end}.contact-main{gap:50px}}
@media(max-width:700px){.contact-main{grid-template-columns:1fr;gap:60px;padding-top:calc(var(--header) + 44px);padding-bottom:56px}.contact-details{font-size:14px}body .site-footer{grid-template-columns:1fr;gap:20px}.site-footer .contact-links{grid-column:1;grid-row:1;justify-self:center}.site-footer .city{grid-column:1;grid-row:2;justify-self:center}.site-footer .copyright{grid-column:1;grid-row:3;justify-self:end;font-size:8px}}
/* Left-aligned copyright and labeled contact links. */
.site-footer .copyright{grid-column:1;grid-row:1;justify-self:start;text-align:left}.site-footer .contact-links{grid-row:1}.contact-details{gap:30px}.contact-item h2{margin:0 0 7px;font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1.4}.contact-item a{font-size:14px;font-weight:400;letter-spacing:.025em;line-height:1.7}.contact-item a:hover{text-decoration:underline}.contact-item a span{font-size:20px;vertical-align:-1px;margin-right:3px}
@media(max-width:900px){.site-footer .copyright{grid-column:1;grid-row:1;justify-self:start}.site-footer .contact-links{grid-column:2;grid-row:1}}
@media(max-width:700px){.site-footer .contact-links{grid-column:1;grid-row:1}.site-footer .copyright{grid-column:1;grid-row:2;justify-self:start}}
/* Full-width project cards, one film per row. */
.work-grid{flex-direction:column;gap:24px;min-height:0;padding-bottom:64px}

/* Featured film above a two-column project row. */
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.work-grid>.project-card:first-child{grid-column:1/-1}.work-grid>.project-card:not(:first-child) .project-overlay h1{font-size:clamp(18px,2.5vw,38px)}@media(max-width:700px){.work-grid{gap:12px}.work-grid>.project-card:not(:first-child) img{aspect-ratio:16/9}.work-grid>.project-card:not(:first-child) .project-overlay{padding:10px 4px}.work-grid>.project-card:not(:first-child) .project-overlay h1{font-size:clamp(11px,3vw,20px);margin-bottom:4px}.work-grid>.project-card:not(:first-child) .project-overlay p{font-size:8px}}

/* Compact project ending. */
.project-page .back-work{margin-top:32px}.project-page .project-main{padding-bottom:24px}.project-page .site-footer{margin-top:0;padding-top:24px;padding-bottom:24px}

/* Balanced spacing around the gallery and project footer. */
.project-page .credits{margin-bottom:64px}.project-page .back-work{margin-top:48px}.project-page .project-main{padding-bottom:36px}.project-page .site-footer{padding-top:30px;padding-bottom:30px}@media(max-width:700px){.project-page .credits{margin-bottom:40px}}

.project-poster{margin:0;width:100%;aspect-ratio:16/9}.project-poster img{display:block;width:100%;height:100%;object-fit:cover}
