:root{color-scheme:dark;--bg:#111211;--ink:#eeeee9;--muted:#a5a7a1;--line:#363832;--accent:#d6e2b6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}header,main,footer{max-width:1800px;margin:auto;padding-left:4vw;padding-right:4vw}header{display:flex;align-items:center;justify-content:space-between;padding-top:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}.brand{font-size:26px;font-weight:700;display:flex;align-items:center;gap:12px}.brand-rule{height:24px;width:1px;background:var(--muted);transform:rotate(22deg)}nav{display:flex;gap:36px}nav a{font-size:14px}.location,.eyebrow,.section-heading>span{font-size:12px;letter-spacing:.13em;color:var(--muted);line-height:1.5}.intro{padding:42px 0 27px}.eyebrow{display:flex;justify-content:space-between;gap:20px}.intro h1{font-size:clamp(42px,10.65vw,192px);line-height:1.08;letter-spacing:-.065em;font-weight:500;margin:16px 0 4px;white-space:nowrap}.poster{position:relative;display:block;width:100%;padding:0;border:0;background:#000;overflow:hidden;cursor:pointer;aspect-ratio:16/9}.poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,opacity .3s}.poster:hover img{transform:scale(1.025);opacity:.85}.featured .poster{aspect-ratio:2.2}.featured .poster img{object-fit:contain;background:#000}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff80;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#0005;padding-left:3px;font-size:19px;transition:background .2s}.poster:hover .play{background:#111b}.film .play{width:46px;height:46px;font-size:14px}.duration,.featured-label{position:absolute;font-size:12px;letter-spacing:.08em;background:#000a;padding:7px 10px}.duration{right:16px;bottom:16px}.featured-label{left:20px;top:20px}.caption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:16px 0}.caption h2,.caption h3{font-weight:400;font-size:14px;letter-spacing:.035em;line-height:1.5;margin:0}.caption>span{color:var(--muted);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:60px 0 25px;border-top:1px solid var(--line);padding-top:25px}.section-heading h2{font-size:16px;font-weight:400;margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 26px}.about{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:100px;padding:55px 0 80px}.about h2{font-size:clamp(32px,4vw,60px);font-weight:400;letter-spacing:-.04em;margin:0 0 25px}.about p:not(.eyebrow){font-size:20px;line-height:1.6;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--muted);padding-bottom:8px;margin-top:16px;font-size:14px}.contact{border-top:1px solid var(--line);padding:60px 0 80px}.contact h2{font-size:clamp(40px,7vw,106px);font-weight:400;letter-spacing:-.055em;line-height:1.1;margin:26px 0}.email{font-size:clamp(18px,2.6vw,38px);border-bottom:1px solid var(--muted);padding-bottom:7px;overflow-wrap:anywhere}.contact-links{display:flex;gap:32px;flex-wrap:wrap;margin-top:36px;font-size:14px;color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;padding-bottom:30px;color:var(--muted);font-size:12px}.inline-player{cursor:auto}
.skip{position:absolute;top:-100px;background:var(--ink);color:var(--bg);padding:12px;z-index:5}.skip:focus{top:8px}@media(min-width:1800px){.intro h1{font-size:192px}}@media(max-width:650px){header{padding-top:22px;padding-bottom:22px}.location{display:none}nav{gap:22px}.intro{padding-top:28px}.intro .eyebrow span:last-child{display:none}.intro h1{font-size:10.5vw;margin-top:16px}.featured .poster{aspect-ratio:16/9}.grid{grid-template-columns:1fr;gap:22px}.section-heading{margin-top:34px}.about{grid-template-columns:1fr;gap:24px;margin-top:60px;padding:32px 0 45px}.about p:not(.eyebrow){font-size:18px}.contact{padding:36px 0 55px}.contact-links{gap:24px}.caption h2,.caption h3{font-size:14px}.featured-label{left:12px;top:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.work-link{padding:26px 0 50px}.categories{flex-wrap:wrap;gap:12px 28px;padding:14px 0 22px;border-bottom:1px solid var(--line)}.categories a{font-size:16px;padding:10px 0}.work-page .intro h1{font-size:clamp(64px,10vw,150px)}.work-page section{scroll-margin-top:28px}nav a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}

.contact-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px}.social-icon{width:21px;height:21px;flex-shrink:0}

header nav{align-items:center}header nav>a{display:flex;align-items:center;min-height:44px}

/* Full-width stills study: keep the frames and their original compositions. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stills-home{--bg:#111211;--ink:#eeeee9;--muted:#a5a7a1;--accent:#d6e2b6}
.stills-header{max-width:none;min-height:106px;padding:27px 3.4vw;border:0;gap:24px}
.name-lockup{display:flex;align-items:baseline;gap:24px;min-width:0}
.name-lockup .name{font-size:clamp(20px,2.1vw,34px);line-height:1.25;font-weight:400;letter-spacing:.13em}
.name-lockup .role{font-size:12px;letter-spacing:.14em;line-height:1.6;color:var(--muted)}
.stills-header nav{gap:32px;flex-shrink:0}.stills-header nav a{font-size:14px}
.stills-main{max-width:none;padding:0;margin:0}.stills-gallery{width:100%;margin:0;padding:0;background:#080908}
.still-frame{margin:0;padding:0;line-height:0;overflow:hidden}.still-frame img{display:block;width:100%;height:auto;margin:0}
.landing-content{max-width:1600px;margin:auto;padding:0 5vw}.stills-home #work{padding-top:75px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.stills-home #work>.section-heading{grid-column:1/-1;grid-row:1;margin:0 0 28px;padding-top:22px}.stills-home #work>.featured{grid-column:1/-1;margin-bottom:30px}.stills-home #work>.featured .poster{aspect-ratio:2.2}.stills-home #work>.grid,.stills-home #work>.work-link{grid-column:1/-1}.stills-home #work>.work-link{padding-bottom:15px}.stills-home .about{margin-top:65px}.stills-home footer{max-width:none;padding-left:5vw;padding-right:5vw}
@media(min-width:1050px){.stills-home #work{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px}.stills-home #work>.featured{grid-column:auto;margin-bottom:0}.stills-home #work>.featured .poster{aspect-ratio:16/9}.stills-home #work>.grid{display:contents}.stills-home #work>.work-link{grid-column:1/-1}.stills-home #work .caption h2,.stills-home #work .caption h3{font-size:14px}.stills-home #work .caption>span{display:none}.stills-home #work .poster img{object-fit:cover}}
@media(max-width:950px){.name-lockup{display:grid;gap:6px}.name-lockup .name{font-size:23px}.name-lockup .role{font-size:12px}.stills-header{min-height:98px;padding:22px 4vw}.stills-header nav{gap:22px}}
@media(max-width:540px){.stills-header{padding:20px 5vw;flex-direction:column;align-items:flex-start;gap:15px}.name-lockup .name{font-size:23px;letter-spacing:.1em}.stills-header nav{width:100%;gap:30px}.stills-header nav a{min-height:38px}.stills-home #work{padding-top:40px;display:block}.stills-home #work>.featured .poster{aspect-ratio:16/9}.stills-home #work>.grid{display:grid}.stills-home #work>.section-heading{margin:0 0 24px}.stills-home .about{margin-top:42px}}

.still-project{position:relative;display:block;isolation:isolate;color:#fff;overflow:hidden}.still-project:hover{color:#fff}.still-project::after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .45s ease;z-index:1;pointer-events:none}.still-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:5vw;z-index:2;pointer-events:none;line-height:1.3}.still-title{display:block;text-align:center;font-size:clamp(20px,3vw,48px);font-weight:400;letter-spacing:.08em;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease;text-wrap:balance}.still-project:hover::after,.still-project:focus-visible::after{opacity:.56}.still-project:hover .still-title,.still-project:focus-visible .still-title{opacity:1;transform:translateY(0)}.still-project:focus-visible{outline:2px solid var(--accent);outline-offset:-5px;z-index:3}
.project-main{max-width:1600px;padding-top:35px;padding-bottom:60px}.project-back{font-size:14px;color:var(--muted)}.project-heading{display:flex;justify-content:space-between;gap:25px;align-items:baseline;margin:28px 0}.project-heading h1{font-size:clamp(24px,3.5vw,48px);font-weight:400;letter-spacing:-.025em;line-height:1.2;margin:0}.project-heading>span{color:var(--muted);font-size:14px}.project-player{position:relative;aspect-ratio:16/9;background:#000}.project-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.project-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:20px}

@media(max-width:650px){.project-heading{display:block}.project-heading>span{display:block;margin-top:12px}.project-page .stills-header{flex-direction:column;align-items:flex-start}.project-bottom{flex-wrap:wrap}}
.project-still img{display:block;width:100%;height:auto}.project-description{margin:25px 0 8px;font-size:18px}.project-video-status{margin:0;color:var(--muted);font-size:14px}

/* Consistent tablet composition on every viewport. */
.still-title{text-transform:uppercase;color:#b68cde}
.stills-home #work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(12px,2.6vw,28px);padding-top:clamp(36px,7vw,75px)}
.stills-home #work>.featured{grid-column:1/-1;margin-bottom:30px}
.stills-home #work>.featured .poster{aspect-ratio:2.2}
.stills-home #work>.featured .poster img{object-fit:contain}
.stills-home #work>.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,30px) clamp(12px,2.6vw,26px)}
.stills-home #work .caption>span{display:none}
.stills-home #work .caption h2,.stills-home #work .caption h3{font-size:14px}
@media(max-width:540px){.stills-header{flex-direction:row;align-items:center;gap:12px;padding:18px 4vw}.name-lockup .name{font-size:clamp(16px,4vw,23px);letter-spacing:.06em}.name-lockup .role{font-size:10px;letter-spacing:.05em}.stills-header nav{width:auto;gap:12px}.stills-header nav a{font-size:12px}.caption{gap:8px}}


.stills-home #work>.section-heading h2{font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.stills-home #work .caption{display:none}
.stills-home #work>.featured .poster{aspect-ratio:16/9}
.stills-home #work>.featured .poster img{object-fit:cover}

/* Labels and headings; category names retain their lowercase styling. */
.text-link,.project-back,footer>a,.caption h2,.caption h3,.project-heading h1,.work-page .intro h1{font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.still-project.is-revealed::after{opacity:.56}
.still-project.is-revealed .still-title{opacity:1;transform:translateY(0)}
.touch-input .still-project:not(.is-revealed):hover:not(:focus-visible)::after{opacity:0}
.touch-input .still-project:not(.is-revealed):hover:not(:focus-visible) .still-title{opacity:0;transform:translateY(12px)}
