/* Editorial refinement: consistent gutters, visible credentials and film-first cases. */
:root{--gutter:3vw}
.skip{top:0;transform:translateY(-120%);opacity:0;pointer-events:none}
.skip:focus{top:1rem;transform:none;opacity:1;pointer-events:auto}
.intro h1{letter-spacing:-.06em;font-size:clamp(3rem,13.5vw,16rem)}
.wordmark{font-weight:500}
.site-header,.intro,.section-pad,.case-header,.case-section,.case-facts,.case-next,footer,.film-section,.detail-spread{padding-left:var(--gutter);padding-right:var(--gutter)}
.case-hero{margin-left:var(--gutter);margin-right:var(--gutter)}
.reel-stage{height:clamp(350px,49vw,680px)}
.reel-fallback,.reel-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel-loop{opacity:0}.reel-loop.is-playing{opacity:1}
.reel-topline,.reel-bottomline{left:var(--gutter);right:var(--gutter)}
.film-dialog{padding:0;max-height:94dvh}
.film-close{position:sticky;display:block;top:0;right:auto;z-index:3;margin-left:auto;background:#171916;padding:1rem 1.5rem;min-height:48px;width:100%;text-align:right}
.film-dialog video{max-height:calc(94dvh - 105px)}
.intro a:focus-visible,footer a:focus-visible,.case-next:focus-visible{outline-color:var(--ink)}
.lab a:focus-visible,.film-section a:focus-visible,.film-dialog button:focus-visible{outline-color:var(--acid)}
.profile-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;padding:1.75rem var(--gutter);gap:2rem;border-bottom:1px solid var(--line);font-size:.75rem;line-height:1.8;letter-spacing:.045em}
.profile-strip strong{font-weight:400;font-size:1rem;letter-spacing:-.015em}
.profile-strip>a{justify-self:end}
.profile-strip a:hover strong{text-decoration:underline;text-underline-offset:5px}
.project-card:nth-child(4n+2){padding-top:3rem}
.image-wrap .pill{max-width:calc(100% - 2rem)}
.case-header{padding-bottom:2.5rem}
.case-title{max-width:20ch;letter-spacing:-.05em}
.case-kicker{font-size:.875rem}
.case-facts{padding-bottom:2.5rem}
.study-disclosure{font-size:.875rem;line-height:1.6;color:#c6c7bc;max-width:70ch;margin-top:1.5rem}
.study-section .film-heading h2{max-width:22ch}
.personal-gallery{padding-top:1rem}
.personal-gallery .gallery-heading{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.personal-gallery .gallery-heading h2{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;letter-spacing:0;line-height:1.5}
.personal-gallery .gallery-heading p{font-size:.8rem;margin:0;text-align:right}
.case-film-link{display:inline-block;font-size:.9rem;padding:.8rem 0;margin-top:1rem;border-bottom:1px solid}
.about{grid-template-columns:1fr 1fr}
.about h2{font-size:clamp(2.8rem,4.8vw,5.5rem);letter-spacing:-.05em}
.career{grid-column:1/-1;margin-top:1rem}
.career-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}
.career-heading h3{font-size:1.1rem;font-weight:400}
.career-heading a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
.career-row{display:grid;grid-template-columns:1fr 4fr 2fr;align-items:baseline;gap:1.5rem;border-top:1px solid var(--line);padding:1.6rem 0}
.career-row>span{font-size:.8rem}.career-row h4{font-family:'Manrope',Arial,sans-serif;font-size:clamp(1.6rem,3vw,3rem);font-weight:500;letter-spacing:-.045em;margin:0}.career-row p{font-size:1rem}
.career-source{color:#5d5d55;font-size:.8rem;line-height:1.5;border-top:1px solid var(--line);padding-top:1rem}
.recognition{display:grid;grid-template-columns:1fr 1fr;column-gap:5rem;row-gap:3rem;background:#e3e7e8;color:var(--ink)}
.award-label{grid-column:1/-1;font-size:.8rem;letter-spacing:.04em}
.award-metal{font-family:'Manrope',Arial,sans-serif;font-size:clamp(5rem,11vw,12rem);letter-spacing:-.075em;line-height:1.05;display:block}
.award-main h2{font-size:clamp(1.8rem,3.5vw,3.5rem);letter-spacing:-.04em;font-weight:400;margin:1rem 0 .4rem}.award-main h2 span{color:#626b70;margin-left:.4em}.award-main>p{font-size:1rem}
.award-project{align-self:end;max-width:35rem}.award-project>span{font-size:.8rem;letter-spacing:.04em}.award-project h3{font-family:'Manrope',Arial,sans-serif;font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.1;letter-spacing:-.05em;font-weight:500;margin:1.2rem 0 1.5rem}.award-project p{font-size:1rem;line-height:1.6;max-width:36ch}
.award-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.8rem}.award-links a{font-size:.875rem;border-bottom:1px solid;padding-bottom:.4rem}
.about-copy a,.film-actions a{min-height:40px}
@media(min-width:1800px){:root{--gutter:max(3vw,calc((100vw - 1800px)/2))}.reel-stage{margin:0 var(--gutter)}.reel-topline,.reel-bottomline{left:2rem;right:2rem}.ambient-control{right:2rem}.intro h1{font-size:clamp(3rem,12vw,16rem)}}
@media(max-width:850px){:root{--gutter:5vw}.intro h1{font-size:12.8vw}.profile-strip{gap:1.2rem;grid-template-columns:1fr 1fr}.profile-strip>span:first-child{display:none}.profile-strip strong{font-size:.9rem}.about{grid-template-columns:1fr}.career{grid-column:1}.career-row{grid-template-columns:2rem 1fr}.career-row p{grid-column:2}.recognition{gap:2.5rem;grid-template-columns:1fr}.award-label{grid-column:1}.award-metal{font-size:6rem}.award-project{max-width:none}.award-project h3{font-size:2.5rem}.reel-stage{height:58vw;min-height:330px}.project-card:nth-child(4n+2){padding-top:2rem}}
@media(max-width:500px){.intro h1{font-size:12.8vw;letter-spacing:-.058em}.site-header nav{font-size:.875rem;gap:1rem}.reel-stage{height:85vw;min-height:310px}.reel-bottomline span:first-child{font-size:1rem}.reel-topline{font-size:.75rem}.profile-strip{padding-top:1.2rem;padding-bottom:1.2rem;font-size:.7rem;gap:1rem}.profile-strip strong{font-size:.875rem}.project-card:nth-child(4n+2){padding-top:0}.card-meta h3{max-width:65%}.card-meta>span{font-size:.8rem}.career-heading{display:block}.career-heading a{display:inline-block;margin-top:.8rem}.career-row{padding:1.25rem 0;gap:.8rem}.career-row h4{font-size:1.8rem}.case-title{font-size:clamp(2.3rem,10vw,3rem);overflow-wrap:anywhere}.film-heading span{font-size:.75rem;flex-shrink:0}.film-actions>span{line-height:1.6}.study-disclosure{font-size:.8rem}.about h2{font-size:2.8rem}.case-next strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.reel-loop{opacity:0}.reel-loop.is-playing{opacity:1}}
