/* V4 — audiovisual Selected Work. Additive layer only; original V3 stylesheet untouched. */
.work-section-kicker{display:block;color:var(--graphite);margin:0 0 17px}
.work-stat{color:var(--graphite);text-align:right}
.work-editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:0 0 clamp(3rem,7vh,7rem);border-bottom:1px solid var(--line)}
.work-editorial-intro p{font:600 clamp(1.75rem,3vw,3rem)/1.12 var(--sans);letter-spacing:-.055em;margin:0;max-width:490px}
.work-editorial-intro>span{color:var(--graphite);max-width:530px;font-size:1.05rem;line-height:1.6}
.projects .work-entry{min-height:0;padding:clamp(3.5rem,8vw,9rem) 0;gap:6%}
.work-entry .project-copy h3{margin:1.2rem 0 2rem;font-size:clamp(3.2rem,7.3vw,8rem);line-height:.9;overflow-wrap:normal}
.work-entry .project-copy h3>span{display:block}
.work-entry .project-copy h3 .serif{letter-spacing:-.075em}
.work-entry .project-copy p{margin:0 0 1rem;line-height:1.55}
.work-entry .project-copy .work-tagline{font:700 .8rem/1.35 var(--sans);text-transform:uppercase;letter-spacing:.065em;margin:0 0 1.2rem;color:var(--graphite)}
.work-entry .project-copy .work-impact{font-size:.92rem;max-width:400px;color:#57595d;display:flex;gap:10px;margin:1.5rem 0 2rem;border-top:1px solid var(--line);padding-top:1.3rem}
.work-impact-marker{background:var(--accent);width:9px;height:9px;flex:0 0 9px;margin-top:.45rem;border-radius:50%}
.work-media-cluster{min-width:0;position:relative}
.projects .project:nth-of-type(even) .work-media-cluster{order:-1}
.work-entry .project-media.work-cover{height:clamp(360px,57vh,660px);width:100%;min-height:0;background:var(--ink);position:relative;overflow:hidden}
.work-entry .work-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.95);transition:transform 1s cubic-bezier(.2,.7,.1,1),filter .7s ease}
.work-entry:hover .work-cover img{transform:scale(1.055);filter:saturate(1.03)}
.work-entry .work-cover::after{background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 42%,rgba(0,0,0,.14) 100%)}
.work-cover .work-cover-no{position:absolute;top:1.5rem;left:1.5rem;z-index:2;font:700 .7rem var(--sans);letter-spacing:.1em;background:var(--accent);color:var(--ink);padding:8px 11px}
.work-cover .work-cover-open{position:absolute;z-index:2;top:1.5rem;right:1.5rem;font:600 .66rem var(--sans);letter-spacing:.13em;border:1px solid rgba(255,255,255,.8);padding:.65rem .9rem;color:#fff}
.work-cover .media-type{bottom:1.4rem;left:1.5rem;right:1.5rem;line-height:1.4;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.work-film-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}
.film-tile{display:block;position:relative;isolation:isolate;background:var(--ink);color:white;border:0;text-align:left;overflow:hidden;cursor:pointer;padding:0;appearance:none;min-width:0;font:inherit}
.film-mini{aspect-ratio:1/1.12}
.film-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:brightness(.77);transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s}
.film-tile:hover img,.film-tile:focus-visible img{transform:scale(1.05);filter:brightness(.94)}
.film-tile::after{content:"";inset:0;position:absolute;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78));z-index:0;pointer-events:none}
.film-play{position:absolute;z-index:1;left:10px;top:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#181816;font-size:9px;padding-left:2px;transition:transform .3s ease}
.film-tile:hover .film-play{transform:scale(1.12)}
.film-tile-title{position:absolute;bottom:11px;left:11px;right:9px;z-index:1;font:600 clamp(.66rem,.81vw,.85rem)/1.22 var(--sans);letter-spacing:-.015em;text-wrap:pretty}
.film-tile-duration{position:absolute;right:9px;top:15px;font:500 .62rem/1 var(--sans);z-index:1;text-shadow:0 2px 4px #000}
.film-tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px;z-index:4}
.work-more{margin-top:clamp(3rem,8vw,7rem);border-top:2px solid var(--ink);display:grid;grid-template-columns:1fr 1.15fr;gap:5%;padding-top:2rem}
.work-more h3{font:600 clamp(2.7rem,5vw,5rem)/.98 var(--sans);letter-spacing:-.08em;margin:1.5rem 0}
.work-more-links a{display:grid;grid-template-columns:1fr 28px;gap:.45rem;align-items:center;padding:1.5rem .1rem;border-bottom:1px solid var(--line)}
.work-more-links a span{font:600 clamp(1.3rem,2vw,2rem)/1 var(--sans);letter-spacing:-.045em}
.work-more-links a small{grid-column:1;color:var(--graphite);font:500 .78rem var(--sans)}
.work-more-links a b{grid-column:2;grid-row:1/3;font-size:1.5rem;color:var(--accent);font-weight:400;transition:transform .25s}
.work-more-links a:hover b{transform:translate(3px,-3px)}
/* Full case pages */
.work-case-hero{min-height:min(68vh,760px)}
.work-case-hero h1{max-width:1100px;margin:clamp(2.2rem,7vh,5rem) 0 1.5rem;font-size:clamp(4rem,9.2vw,10rem)}
.work-case-hero .serif{font-size:.94em}
.work-case-hero p{max-width:800px;margin:0 0 1.7rem;font-size:clamp(1rem,1.7vw,1.3rem)}
.work-case-cover{height:clamp(460px,70svh,760px);min-height:0}
.work-case-cover img{height:100%;width:100%;object-fit:cover;object-position:50% 42%}
.case-films{padding:clamp(4rem,10vh,8rem) 0}
.case-films-intro{max-width:1150px;border-top:2px solid var(--ink);padding-top:2rem}
.case-films-intro .display{margin:clamp(1rem,2vw,2rem) 0;font-size:clamp(3rem,6vw,6.6rem);letter-spacing:-.075em}
.case-films-intro>p{max-width:700px;font-size:1.05rem;margin:0 0 1rem}
.case-films-intro>.case-films-tip{font-size:.8rem;color:var(--graphite);margin:1rem 0 3rem}
.case-films-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.8vw,3rem)}
.case-films-grid.count-1{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-films-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-film-card{min-width:0;border-top:1px solid var(--line);padding-top:1.2rem}
.case-film-frame{aspect-ratio:4/4.5;max-height:520px;overflow:hidden;background:#1c1d1d}
.case-film-frame .film-case{width:100%;height:100%}
.case-film-frame .film-tile-title{bottom:1.3rem;left:1.4rem;right:1.4rem;font-size:clamp(1.05rem,1.65vw,1.55rem)}
.case-film-frame .film-play{width:52px;height:52px;left:1.4rem;top:1.4rem;font-size:13px}
.case-film-frame .film-tile-duration{right:1.4rem;top:1.8rem;font-size:.75rem}
.case-film-meta{display:grid;gap:.5rem;padding:1.3rem 0 0}
.case-film-meta>span{color:var(--accent);font:700 .72rem var(--sans)}
.case-film-meta h3{font:600 clamp(1.25rem,2.1vw,1.9rem)/1.12 var(--sans);letter-spacing:-.06em;margin:.1rem 0}
.case-film-meta p{font-size:.95rem;margin:0;color:#53575c}
.case-film-meta small{font:500 .72rem var(--sans);color:var(--graphite);margin-top:.35rem}
.case-addendum{border-top:2px solid var(--ink);padding:clamp(4rem,7vw,7rem) 0}
.case-addendum-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:3rem}
.case-addendum-grid h2{font:600 clamp(2.4rem,4.4vw,5rem)/1 var(--sans);letter-spacing:-.085em;margin:0;max-width:600px}
.case-addendum-grid h3{font:700 .85rem var(--sans);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .7rem}
.case-addendum-grid p{margin:0 0 2rem;max-width:600px;font-size:1.03rem}
.work-next{border-top:1px solid var(--line);padding:4rem 0 9rem}
.work-next h2{font:600 clamp(2.5rem,5vw,5rem)/1 var(--sans);letter-spacing:-.08em;margin:1.2rem 0}
/* Accessible on-demand player: no source URL exists on the <video> before interaction */
.film-dialog{box-sizing:border-box;position:fixed;max-width:min(1100px,94vw);width:100%;max-height:94dvh;margin:auto;padding:0;border:1px solid #5a6068;background:#17191d;color:#f7f7f5;box-shadow:0 25px 80px rgba(0,0,0,.45);overflow:auto}
.film-dialog::backdrop{background:rgba(12,13,17,.91);backdrop-filter:blur(4px)}
.film-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #393c43}
.film-dialog-eyebrow{display:block;font:600 .59rem var(--sans);letter-spacing:.14em;color:#aeb3bc;margin-bottom:.4rem}
.film-dialog-top h2{font:600 clamp(1rem,2vw,1.4rem)/1.2 var(--sans);letter-spacing:-.02em;margin:0}
.film-dialog-close{cursor:pointer;background:transparent;border:1px solid #555a63;padding:9px 12px;color:#fff;font:600 .75rem var(--sans);white-space:nowrap}
.film-dialog-close span{font-size:1.1rem;color:var(--accent);margin-left:9px}
.film-dialog-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.film-dialog-video{display:block;margin:0 auto;width:auto;max-width:100%;height:auto;max-height:72dvh;min-height:100px;background:#050505;object-fit:contain}
.film-dialog-description{margin:0;padding:1rem 1.5rem;color:#bfc3c9;font-size:.88rem;line-height:1.5}
@media(max-width:1000px){.work-film-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.film-mini{aspect-ratio:1.45/1}.work-entry .project-copy h3{font-size:clamp(3rem,7.5vw,6rem)}}
@media(max-width:850px){
 .work-editorial-intro,.work-more,.case-addendum-grid{grid-template-columns:1fr}
 .work-editorial-intro{gap:1.4rem}
 .projects .project:nth-of-type(even) .work-media-cluster{order:0}
 .work-film-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
 .film-mini{aspect-ratio:1/1.15}
 .work-entry .project-copy h3{font-size:clamp(3rem,11vw,7rem)}
 .case-films-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-film-frame{aspect-ratio:4/5}
 .work-case-cover{height:55svh}
}
@media(max-width:600px){
 .work-stat{font-size:.58rem}
 .projects .work-entry{padding:3rem 0 4rem}
 .work-editorial-intro>span{font-size:.94rem}
 .work-entry .project-copy h3{font-size:clamp(2.9rem,14vw,5.3rem);margin:1rem 0 1.5rem}
 .work-entry .project-media.work-cover{height:48svh;min-height:350px}
 .work-entry .work-cover .media-type{font-size:.63rem}
 .work-cover .work-cover-open{font-size:.58rem}
 .work-film-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:4px}
 .film-mini{aspect-ratio:3/4}
 .film-mini .film-play{top:6px;left:6px;width:23px;height:23px;font-size:8px}
 .film-mini .film-tile-title{font-size:.58rem;left:6px;bottom:7px;right:5px;line-height:1.1}
 .film-mini .film-tile-duration{font-size:.51rem;right:6px;top:10px}
 .work-more{padding-top:2rem}
 .case-films-grid,.case-films-grid.count-1,.case-films-grid.count-2{grid-template-columns:1fr}
 .case-film-frame{aspect-ratio:1/.95;max-height:420px}
 .case-films-intro .display{font-size:clamp(2.6rem,10vw,5rem)}
 .work-case-hero h1{font-size:clamp(3.3rem,12vw,6rem)}
 .work-case-cover{height:43svh;min-height:300px}
 .film-dialog{max-width:100vw;width:100vw;max-height:96dvh;border-left:0;border-right:0}
 .film-dialog-video{max-height:70dvh}
 .film-dialog-top{padding:1rem}
 .film-dialog-description{padding:1rem}
}
@media(prefers-reduced-motion:reduce){.film-tile img,.work-entry .work-cover img,.work-more-links a b,.film-play{transition:none!important}}
