
/* Project links and responsive portfolio presentation */
.work-card-link{display:block;color:inherit;text-decoration:none;outline-offset:6px}
.work-card-link:hover .work-title span,.work-card-link:focus-visible .work-title span{transform:translate(4px,-4px)}
.work-card-link .work-title span{display:inline-block;transition:transform .2s}
.work-card-link .work-art{overflow:hidden}
.work-card-link .work-art img{object-fit:contain;max-width:100%;max-height:100%;width:100%;height:100%}
.work-card-link:hover .work-art img{transform:scale(1.025)}
.work-copy small{color:var(--accent)}
.work-grid .work-card:first-child .work-art{height:510px}
.case-study{overflow:hidden}
.case-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-top:28px;padding-bottom:28px}
.case-breadcrumb a{font-size:13px;font-weight:800}
.case-breadcrumb a:hover{color:var(--accent)}
.case-breadcrumb span{font-size:10px;letter-spacing:1px;font-weight:800;color:var(--muted);text-align:right}
.case-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:60px;align-items:end;padding-top:82px;padding-bottom:60px}
.case-head h1{font-size:clamp(62px,8.5vw,125px);line-height:.94;font-weight:900;letter-spacing:-.085em;max-width:960px;margin:26px 0 27px}
.case-head h1 span{color:var(--accent)}
.case-intro{font-size:clamp(19px,2.1vw,27px);line-height:1.5;max-width:675px;margin:0;color:#4f4f4b}
.case-facts{border-top:1px solid var(--line)}
.case-facts>div{padding:18px 0;border-bottom:1px solid var(--line)}
.case-facts small{display:block;color:var(--muted);font-weight:800;letter-spacing:1.1px;font-size:10px;margin-bottom:9px}
.case-facts strong{font-size:13px;line-height:1.5}
.case-cover{position:relative;min-height:420px;height:min(68vw,660px);background:#e8e5df;display:flex;align-items:center;justify-content:center;padding:40px;overflow:hidden}
.case-cover img{width:100%;height:100%;object-fit:contain}
.case-narrative{display:grid;grid-template-columns:.88fr 1.12fr;gap:12%;padding-top:112px;padding-bottom:115px}
.case-narrative h2{font-size:clamp(45px,5.2vw,75px);letter-spacing:-.075em;line-height:1;margin-top:24px}
.case-narrative h2 em{font-style:normal;color:var(--accent)}
.case-story h2{font-size:clamp(25px,2.7vw,34px);letter-spacing:-.04em;margin:0 0 18px}
.case-story p{font-size:17px;color:var(--muted);line-height:1.8;margin:0 0 38px}
.case-gallery-wrap{background:var(--dark);color:#fff;padding:98px 0 110px}
.case-gallery-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:42px}
.case-gallery-title h2{font-size:clamp(43px,5vw,67px);letter-spacing:-.075em;margin:15px 0 0}
.case-gallery-title h2 span{color:var(--accent)}
.case-gallery-title>span{font-size:11px;font-weight:800;letter-spacing:1px}
.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.case-gallery figure{margin:0;min-width:0}
.case-gallery figure:first-child{grid-column:span 2}
.case-gallery figure>a{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;aspect-ratio:1.3;overflow:hidden;background:#e7e7e4;padding:20px}
.case-gallery figure:first-child>a{aspect-ratio:2.1;min-height:380px}
.case-gallery figure img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.case-gallery figure a:hover img{transform:scale(1.03)}
.case-gallery figure a>span{position:absolute;right:18px;top:18px;background:white;color:var(--ink);padding:7px 12px;font-weight:900}
.case-gallery figure figcaption{margin-top:10px;text-align:right;color:#999;font-size:11px}
.case-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:49px;padding-bottom:49px}
.case-bottom a{font-weight:800;font-size:13px}
.case-bottom a:hover{color:var(--accent)}
.case-bottom a:last-child{text-align:right;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.case-bottom a:last-child strong{font-size:18px}
@media(max-width:820px){.case-head{grid-template-columns:1fr;gap:30px;padding-top:60px}.case-head h1{font-size:clamp(50px,11vw,80px)}.case-facts{display:flex;gap:35px}.case-facts>div{flex:1}.case-narrative{grid-template-columns:1fr;gap:36px;padding-top:70px;padding-bottom:70px}.case-narrative h2{margin-bottom:0}.case-cover{height:auto;aspect-ratio:1.45;min-height:0;padding:20px}.case-gallery-wrap{padding:65px 0}.case-gallery{gap:16px}.case-gallery figure>a{min-height:200px}.case-gallery figure:first-child>a{min-height:240px}}
@media(max-width:560px){.case-breadcrumb span{font-size:8px}.case-head{padding-top:45px}.case-head h1{font-size:clamp(42px,11.5vw,64px)}.case-intro{font-size:17px}.case-facts{display:block}.case-cover{aspect-ratio:1;min-height:0;padding:14px}.case-gallery{grid-template-columns:1fr;gap:26px}.case-gallery figure:first-child{grid-column:1}.case-gallery figure:first-child>a,.case-gallery figure>a{aspect-ratio:1.15;min-height:0}.case-gallery-title{align-items:start}.case-gallery-title h2{font-size:42px}.case-bottom a:last-child strong{display:block}.work-grid .work-card:first-child .work-art{height:330px}}

/* Avoid stretching the historical low-resolution preview files. */
.case-gallery:has(figure:only-child){grid-template-columns:minmax(0,1fr);max-width:640px;margin:auto}
.case-gallery figure:only-child{grid-column:1}
.case-gallery figure:only-child>a{aspect-ratio:1.34;min-height:0}
.case-gallery figure:only-child img{width:auto;height:auto;max-width:min(82%,330px);max-height:290px;object-fit:contain}
.case-gallery-wrap .case-gallery-title{max-width:100%}
.case-cover{background:#e7e7e3;padding:0}
.case-cover img{object-fit:cover}
