:root{--page:1240px;--line:#ececec;--muted:#777;--gap:7px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header,.page,.footer{width:min(calc(100% - 64px),var(--page));margin:auto}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:13px;font-weight:600;letter-spacing:.19em;white-space:nowrap}.brand:hover{opacity:.55}nav{display:flex;gap:30px}nav a{position:relative;font-size:12px;color:#777;letter-spacing:.03em;padding:33px 0 28px}nav a:hover,nav a.active{color:#111}nav a.active:after{position:absolute;content:'';left:0;right:0;bottom:-1px;height:1px;background:#111}.intro{text-align:center;padding:58px 0 50px}.intro h1{font-weight:400;font-size:27px;letter-spacing:.2em;margin:0}.intro p{font-size:10px;letter-spacing:.3em;color:#888;margin:13px 0 0}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding-bottom:85px}.work-card{display:block;min-width:0;overflow:hidden}.thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e5e5e5}.thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .36s ease}.thumb:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.22);opacity:0;transition:opacity .35s ease}.thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;z-index:1;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease;padding:18px}.overlay-text{color:white;font-size:10px;font-weight:400;letter-spacing:.31em;line-height:1.65;text-transform:uppercase;text-shadow:0 1px 9px #0004}.work-card:hover img,.work-card:focus-visible img{transform:scale(1.02);filter:brightness(.78)}.work-card:hover .thumb:after,.work-card:focus-visible .thumb:after,.work-card:hover .thumb-overlay,.work-card:focus-visible .thumb-overlay{opacity:1}.work-card:hover .thumb-overlay,.work-card:focus-visible .thumb-overlay{transform:translateY(0)}.work-card:focus-visible{outline:2px solid #222;outline-offset:2px}.project-page{max-width:1224px;margin:0 auto;padding:52px 0 76px;text-align:center}.project-page h1{margin:0;font-size:clamp(28px,4vw,48px);font-weight:300;line-height:1.3}.project-type{margin:30px 0;font-size:16px}.video{width:min(77.6%,950px);margin:auto;aspect-ratio:16/9;background:#111}.video iframe{display:block;border:0;width:100%;height:100%}.project-role{margin:28px auto 0;font-size:16px;line-height:1.5}.project-cover{width:min(51%,580px);margin:105px auto 0}.project-cover img{width:100%;height:auto;display:block}.page-heading{text-align:center;margin:65px auto 48px;font-size:32px;letter-spacing:.08em;font-weight:400}.about-layout{max-width:1050px;margin:68px auto 85px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.about-layout img{display:block;width:100%;height:auto}.about-copy h1{margin:0 0 35px;font-weight:400;font-size:32px;letter-spacing:.1em}.about-copy p{font-size:14px;line-height:1.9;color:#4b4b4b;margin:0 0 22px}.stills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:85px}.stills-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.empty{text-align:center;padding:80px 0;color:#888}.footer{border-top:1px solid var(--line);min-height:108px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;font-size:9px;letter-spacing:.1em;color:#888}.footer>span:last-child{text-align:right}.social{display:flex;gap:18px}.social a:hover{color:#111}.footer a{white-space:nowrap}@media(hover:none){.thumb:after{opacity:.24}.thumb-overlay{opacity:1;transform:none}.thumb img{filter:brightness(.82)}}@media(max-width:900px){.works-grid,.stills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header,.page,.footer{width:calc(100% - 36px)}.about-layout{gap:28px}.video{width:94%}.footer{grid-template-columns:1fr;gap:14px;padding:28px 0;text-align:center}.footer>span:last-child{text-align:center}.social{flex-wrap:wrap;justify-content:center}}@media(max-width:600px){.site-header{height:auto;min-height:90px;align-items:flex-start;gap:12px;flex-direction:column;justify-content:center;padding:18px 0}.site-header nav{gap:24px}nav a{padding:5px 0}.intro{padding:46px 0 38px}.intro h1{font-size:21px}.works-grid,.stills-grid{grid-template-columns:1fr;gap:8px}.page-heading{margin:48px 0 32px}.project-page{padding:38px 0 65px}.project-type{margin:24px 0}.video{width:100%}.project-cover{margin-top:65px;width:75%}.about-layout{grid-template-columns:1fr;margin:45px 0 75px}.about-layout img{max-width:400px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Visual refinement v2.2 — October 2026 */
:root{--page:1760px;--gap:6px;--gallery-ratio:2.24 / 1}
@media(min-width:901px){
  .site-header,.page,.footer{width:min(90vw,var(--page))}
  .site-header{height:78px}
  .intro{padding:30px 0 28px}
  .intro h1{font-size:19px;letter-spacing:.24em}
  .intro p{font-size:9px;letter-spacing:.29em;margin-top:9px}
  .thumb{aspect-ratio:var(--gallery-ratio)}
  .works-grid{padding-bottom:76px}
}
.thumb:after{background:rgba(0,0,0,.39);transition:opacity .34s ease}
.thumb img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .34s ease}
.work-card:hover img,.work-card:focus-visible img{transform:scale(1.016);filter:brightness(.82)}
.thumb-overlay{transform:translateY(4px);transition:opacity .35s ease,transform .35s ease}
.overlay-text{font-size:clamp(10px,.72vw,12px);letter-spacing:.22em;line-height:1.65;font-weight:400;text-shadow:0 1px 12px #0009}
.work-card[href*="cinematography-reel"]:hover img,.work-card[href*="cinematography-reel"]:focus-visible img{filter:brightness(.5) blur(2px)}
@media(min-width:601px) and (max-width:900px){
  .site-header,.page,.footer{width:calc(100% - 52px)}
  .intro{padding:31px 0}
  .intro h1{font-size:22px}
  .thumb{aspect-ratio:16 / 9}
}
@media(max-width:600px){
  :root{--gap:8px}
  .intro{padding:32px 0 30px}
  .intro h1{font-size:20px}
  .thumb{aspect-ratio:16 / 9}
  .overlay-text{font-size:10px;letter-spacing:.16em}
}
@media(hover:none){
  .thumb:after{opacity:.12}
  .thumb-overlay{opacity:1;transform:none;align-items:flex-end;padding:12px}
  .overlay-text{background:rgba(0,0,0,.35);padding:5px 10px;border-radius:2px;letter-spacing:.12em}
  .thumb img{filter:brightness(.95)}
}
/* Portfolio polish: preserve the three-column, image-first composition. */
.overlay-title,.overlay-type{display:block}.overlay-title{font-size:clamp(11px,.82vw,15px);letter-spacing:.18em}.overlay-type{margin-top:9px;font-size:9px;letter-spacing:.16em;opacity:.76}.thumb:after{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.55))}.work-card[href*="cinematography-reel"]:hover img,.work-card[href*="cinematography-reel"]:focus-visible img{filter:brightness(.65)}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#171717;color:white;padding:12px 18px;transform:translateY(-180%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:2px solid #555;outline-offset:5px}#content:focus{outline:none}
.project-page h1{font-size:clamp(26px,3.1vw,42px);letter-spacing:.015em}.project-type{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#777;margin:18px 0 32px}.project-role{font-size:12px;color:#666;letter-spacing:.04em}.project-cover{margin-top:64px}.project-browse{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;border-top:1px solid var(--line);margin-top:72px;padding-top:28px;text-align:left}.project-browse a{padding:8px 0;font-size:11px}.project-browse a:last-child{text-align:right}.project-browse span{display:block;color:#888;font-size:10px;letter-spacing:.08em}.project-browse strong{display:block;margin-top:9px;font-weight:400}.project-browse .all-projects{text-align:center;text-transform:uppercase;letter-spacing:.12em}.contact-link{display:inline-block;margin-top:12px;border-bottom:1px solid #222;padding:0 0 7px;font-size:12px;letter-spacing:.08em}
.stills-grid button{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.stills-grid button img{transition:transform .5s}.stills-grid button:hover img{transform:scale(1.025)}.viewer-open{overflow:hidden}.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;padding:65px 72px;background:#111;color:#fff}.lightbox[open]{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:20px}.lightbox::backdrop{background:#111}.lightbox figure{margin:0;min-width:0;text-align:center}.lightbox figure img{display:block;margin:auto;max-width:100%;max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{font-size:11px;letter-spacing:.12em;color:#aaa;margin-top:22px}.lightbox button{background:none;border:0;color:#fff;cursor:pointer;font:inherit;min-width:44px;min-height:44px}.lightbox-close{position:absolute;right:24px;top:16px;font-size:12px!important;letter-spacing:.08em}.lightbox-prev,.lightbox-next{font-size:25px!important}
@media(max-width:600px){.site-header{flex-direction:row;align-items:center;justify-content:space-between;min-height:76px;padding:16px 0}.brand{font-size:11px;letter-spacing:.15em}.site-header nav{gap:15px}.site-header nav a{font-size:11px;padding:10px 0}.project-browse{gap:14px;margin-top:48px}.project-browse strong{font-size:10px;line-height:1.5}.project-browse .all-projects{font-size:9px}.lightbox{padding:65px 8px}.lightbox[open]{grid-template-columns:32px 1fr 32px;gap:2px}.lightbox button{min-width:32px}.overlay-title{font-size:11px}.overlay-type{font-size:8px;margin-top:5px}}
@media(max-width:360px){.site-header{flex-wrap:wrap;justify-content:center;gap:8px}.site-header nav{width:100%;justify-content:center}}
@media(hover:none){.thumb:after{background:linear-gradient(transparent 55%,rgba(0,0,0,.6));opacity:1}.thumb img{filter:none}.overlay-text{background:none;padding:0;text-shadow:0 1px 8px #000}.overlay-type{display:none}}
