/* The existing WORKS palette and staggered composition continue below the home page. */
.portfolio-page{background:var(--cream)}
.portfolio-page .header{position:sticky;top:0;height:72px;z-index:30;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 36px;border:0}
.page-back{pointer-events:auto;display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.06em;min-height:44px;color:var(--red)}
.page-back>span{font-size:24px;transition:transform .25s}.page-back:hover>span{transform:translateX(-5px)}
.portfolio-page .section-kicker{font-size:12px;gap:20px;color:var(--red)}
.archive-works{padding-top:35px}
.archive-works .works-heading{margin:50px 0 45px;align-items:center}
.archive-works .works-heading h1{font:900 clamp(55px,6.5vw,102px)/1.3 var(--jp);letter-spacing:-.07em;transform:rotate(-2deg);color:var(--red)}
.archive-works .works-heading>div>span{max-width:25em}

.archive-works .filter-bar{position:relative;gap:25px;padding-top:15px;margin-bottom:55px}
.archive-works .filters button{font-size:14px;min-height:44px}
.archive-works .filter-result{font-size:12px;white-space:nowrap}
.archive-works .work-meta{font-size:12px;flex-wrap:wrap;line-height:1.6}
.works-category[hidden]{display:none}
.works-category:not([hidden])~.works-category:not([hidden]){margin-top:100px}
.works-category-title{font:600 clamp(20px,2.4vw,32px)/1.4 var(--sans);color:var(--red);margin:0 0 40px}
@media(max-width:700px){.works-category:not([hidden])~.works-category:not([hidden]){margin-top:64px}.works-category-title{margin-bottom:28px}}
.archive-works .work-name{font-size:14px}
.archive-works .image-tag{font-size:12px}
.archive-works .work-title{margin-top:14px}
.archive-works .work-image img{transition:transform .8s var(--ease)}
.archive-works .work:focus-visible .work-image img{transform:scale(1.045)}
.archive-contact span:first-child{line-height:1.5}
.archive-contact span:last-child{font-size:14px}
.case-intro{padding:35px 36px 50px}
.case-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,26%);align-items:end;gap:40px;margin-top:52px}
.case-heading h1{color:var(--red);font:900 clamp(44px,6.3vw,98px)/1.3 var(--jp);letter-spacing:-.065em;overflow-wrap:anywhere}
.case-identity{padding-bottom:9px}.case-identity p{font:700 16px/1.8 var(--jp);margin-bottom:23px}.case-identity>span{font-size:12px;line-height:1.8;color:var(--red);letter-spacing:.025em}
.case-cover{margin:0 36px}.case-cover>img{width:100%;max-height:80svh;aspect-ratio:1.75;object-fit:cover}.case-cover figcaption{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;color:var(--red);line-height:1.7}
.case-overview{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:100px 8vw 110px 36px}
.case-side{display:flex;flex-direction:column;align-items:flex-start;gap:30px;color:var(--red);font-size:12px;letter-spacing:.025em}.case-index{font:500 clamp(80px,10vw,155px)/1 var(--sans);letter-spacing:-.08em}
.case-story h2{font:800 23px/1.6 var(--jp);margin-bottom:25px;overflow-wrap:anywhere}.case-story>p{font:500 17px/2.3 var(--jp);max-width:43em;text-wrap:pretty}
.case-scope{margin:40px 0 0;border-top:1px solid var(--line);padding-top:23px;display:grid;grid-template-columns:90px 1fr;gap:20px}.case-scope dt{font-size:12px;color:var(--red)}.case-scope dd{margin:0}.case-scope ul{list-style:none;padding:0;margin:0;display:flex;gap:9px 20px;flex-wrap:wrap;font:500 14px/1.8 var(--jp)}
.case-gallery{width:75%;margin:0 36px 100px auto}.case-gallery img{width:100%;height:auto}.case-gallery figcaption{font-size:12px;color:var(--red);padding-top:14px;line-height:1.6}
.case-films{padding:0 36px 45px}.case-film{scroll-margin-top:95px;margin-bottom:65px}.case-section-label{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--red);border-top:1px solid var(--line);padding:20px 0 24px;font-size:12px}.case-section-label h3{font:700 18px/1.6 var(--jp);margin:0;flex:1}.case-section-label>span:last-child{font-size:11px;white-space:nowrap}
.case-screen{padding:35px;background:#281e1a}.case-screen video{display:block;max-width:100%;width:100%;height:auto;margin:auto;background:#151511;object-fit:contain}.case-screen--wide video{aspect-ratio:16/9;max-height:78svh}.case-screen--tall video{width:min(100%,41.625svh);aspect-ratio:9/16;max-height:74svh}.case-screen--portrait video{width:min(100%,59.2svh);aspect-ratio:4/5;max-height:74svh}.case-screen video:focus-visible{outline:3px solid var(--acid);outline-offset:5px}
.case-navigation{padding:55px 36px 45px;background:#fff}.next-project{display:grid;grid-template-columns:1fr 30%;align-items:center;gap:6vw;padding:30px 0 65px;color:var(--red)}.next-project>div>span{font-size:12px;letter-spacing:.06em}.next-project h2{font:900 clamp(28px,4vw,60px)/1.5 var(--jp);letter-spacing:-.05em;margin:25px 0 12px}.next-project p{font-size:14px;line-height:1.7;color:var(--ink)}.next-image{position:relative;transform:rotate(3deg);transition:transform .5s var(--ease)}.next-image img{width:100%;aspect-ratio:1.4;object-fit:cover}.next-image>span{position:absolute;bottom:-15px;right:-10px;background:var(--red);color:white;font-size:35px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center}.next-project:hover .next-image{transform:rotate(0)}.case-nav-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--red)}.case-nav-bottom a{padding:8px 0;line-height:1.7}
.portfolio-page footer{background:var(--cream)}
@media(min-width:1800px){.archive-works,.case-study{max-width:1800px;margin-inline:auto}}
@media(max-width:900px){.case-heading{grid-template-columns:1fr;gap:30px}.case-identity{display:flex;justify-content:space-between;align-items:end;gap:25px}.case-identity p{margin:0}.case-overview{gap:35px;padding-right:36px;grid-template-columns:1fr 3fr}.case-side>span:first-child{max-width:120px;line-height:1.6}.archive-works .works-heading{gap:35px}.archive-works .works-heading p{font-size:19px}}
@media(max-width:700px){
 .portfolio-page .header{height:64px;padding:0 20px}.page-back{font-size:12px;gap:8px}
 .portfolio-page .section-kicker{font-size:10px;line-height:1.6}.portfolio-page .section-kicker>span:last-child{max-width:48%;text-align:right}
 .archive-works{padding:25px 20px 60px}.archive-works .works-heading{display:block;margin:35px 0}.archive-works .works-heading h1{font-size:clamp(44px,12.5vw,78px)}.archive-works .works-heading>div{margin-top:28px}.archive-works .works-heading p{font-size:17px}.archive-works .works-heading>div>span{margin-top:14px;font-size:14px}
 .archive-works .filter-bar{align-items:flex-start;display:block;margin-bottom:35px}.archive-works .filters{gap:8px 19px}.archive-works .filters button{font-size:12px}.archive-works .filter-result{position:static;clip:auto;width:auto;height:auto;overflow:visible;display:block;font-size:11px;margin-top:10px}
 .archive-works .works-grid{grid-template-columns:1fr;row-gap:48px}.archive-works .work,.archive-works .works-grid.is-filtered .work{grid-column:1;margin-top:0;width:100%}.archive-works .work-small{width:88%;justify-self:end}.archive-works .works-grid.is-filtered .work{width:100%}.archive-works .work-title{font-size:24px}.archive-works .work-meta{font-size:11px}.archive-works .work-name{font-size:14px}.archive-works .image-tag{font-size:11px}.archive-contact{display:block;margin-top:55px;padding-bottom:30px}.archive-contact span{display:block}.archive-contact span:first-child{font-size:30px}.archive-contact span:last-child{margin-top:20px}
 .case-intro{padding:25px 20px 32px}.case-heading{margin-top:35px;gap:24px}.case-heading h1{font-size:clamp(34px,9.4vw,60px);line-height:1.45}.case-identity{display:block}.case-identity p{font-size:15px;margin-bottom:13px}.case-identity>span{font-size:11px}
 .case-cover{margin:0 20px}.case-cover>img{aspect-ratio:1.12;max-height:none}.case-cover figcaption{display:block;font-size:11px;padding:12px 0}.case-cover figcaption>span{display:block}.case-cover figcaption>span+span{margin-top:5px}
 .case-overview{display:block;padding:45px 20px 50px}.case-side{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:25px}.case-side>span:first-child{max-width:none}.case-index{font-size:60px}.case-story h2{font-size:21px;margin-bottom:20px}.case-story>p{font-size:16px;line-height:2.15}.case-scope{grid-template-columns:1fr;gap:14px;margin-top:30px}.case-scope ul{gap:8px 17px}
 .case-gallery{width:auto;margin:0 20px 50px}.case-gallery figcaption{font-size:11px}.case-films{padding:0 20px 15px}.case-film{margin-bottom:45px;scroll-margin-top:82px}.case-section-label{gap:12px;flex-wrap:wrap;padding:16px 0}.case-section-label h3{font-size:16px;flex-basis:65%}.case-section-label>span:last-child{display:none}.case-screen{padding:12px}.case-screen--wide{padding:0}.case-screen--tall video,.case-screen--portrait video{max-height:65svh}.case-screen--tall video{width:min(100%,36.5625svh)}
 .case-navigation{padding:20px}.next-project{grid-template-columns:1fr;gap:30px;padding:20px 0 40px}.next-project h2{font-size:29px;margin-top:20px}.next-image{width:62%;justify-self:end;margin-right:10px}.next-image>span{width:45px;height:45px;font-size:26px}.case-nav-bottom{font-size:12px;gap:15px}
}
@media(prefers-reduced-motion:reduce){.archive-works *, .case-study *, .page-back>span{transition:none!important;animation:none!important}.archive-works .work:hover img,.archive-works .work:focus-visible img{transform:none}}
/* Original project names and full case stories. */
.archive-works .work-title{font-size:clamp(23px,2.5vw,40px);line-height:1.55;overflow-wrap:anywhere}
.case-heading h1{font-size:clamp(36px,5vw,78px);line-height:1.45;letter-spacing:-.04em}
.case-story p+p,.case-story p+ul{margin-top:1.25em}
.case-story ul,.case-story ol{padding-left:1.25em;font:500 16px/2.2 var(--jp)}
.case-story a{text-decoration:underline;text-underline-offset:.2em;color:var(--red);overflow-wrap:anywhere}
.case-story .credit-key{display:inline-block;min-width:95px;font:500 12px/2 var(--sans);color:var(--red);margin-right:18px}
.case-gallery--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.case-cover>img{aspect-ratio:auto;object-fit:contain;background:#fff}
.work-text-cover{display:grid;place-items:center;min-height:280px;padding:40px;background:var(--red);color:var(--cream);font:800 30px/1.5 var(--jp)}
@media(max-width:700px){.case-heading h1{font-size:clamp(32px,8.7vw,54px)}.case-gallery--2{gap:12px}.case-story .credit-key{min-width:65px;margin-right:12px}.case-story ul,.case-story ol{font-size:15px}.case-story p{overflow-wrap:anywhere}}

/* Horizontal brand KV: keep the complete wordmark on a white stage. */
.works .work.work-kv-horizontal .work-image img{aspect-ratio:16/9;object-fit:contain;padding:7%;box-sizing:border-box;background:#fff}
.case-cover--logo-horizontal>img{aspect-ratio:2.6;object-fit:contain;padding:5%;box-sizing:border-box;background:#fff}
.next-image--logo-horizontal img{object-fit:contain;padding:7%;box-sizing:border-box;background:#fff}
.works .work.work-kv-contained .work-image img,.next-image--contained img{object-fit:contain;background:#fff}
@media(max-width:700px){.case-cover--logo-horizontal>img{aspect-ratio:2;padding:6%}}
.case-cover--video{background:#fff}
.case-cover-video{display:block;width:auto;height:auto;max-width:100%;max-height:80svh;margin:0 auto;object-fit:contain}
.case-cover--video figcaption{background:var(--cream)}
.case-gallery--selected{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.case-gallery--selected img{display:block;width:100%;height:auto;object-fit:contain}
.case-gallery--selected img:last-child:nth-child(odd){grid-column:1/-1;max-height:85svh;object-fit:contain}
@media(max-width:700px){.case-gallery--selected{grid-template-columns:1fr;gap:20px}.case-gallery--selected img:last-child:nth-child(odd){max-height:none}.case-cover-video{max-height:72svh}}

/* Supplied films share the full-artwork gallery layout. */
.case-gallery--selected video{display:block;width:100%;height:auto;max-height:85svh;object-fit:contain;grid-column:1/-1}
@media(max-width:700px){.case-gallery--selected video{max-height:72svh}}

.case-cover--selected>img{height:auto}
.case-gallery--selected video+img:last-child{grid-column:1/-1;max-height:85svh}
.case-gallery--selected video~img:last-child:nth-child(odd){grid-column:auto;max-height:none}
@media(max-width:700px){.case-gallery--selected video+img:last-child{max-height:none}}
