/* Case revision 02: preserve the original large-project presentation.
   Full-width opening project, alternating image/copy rows, all details visible. */
#cases{background:#fff}
#cases .section-head{margin-bottom:58px}
#cases .case-count{display:block;margin-top:20px;color:var(--blue);font-size:32px;line-height:1.2;font-weight:500}
#cases .case-count small{font-size:9px;font-weight:500;letter-spacing:1.1px;color:#81969f;margin-left:13px}
#case-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:55px}
.work-story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,4vw,64px);align-items:center;padding-bottom:55px;border-bottom:1px solid #e0e9ed;min-width:0}
.work-story:last-child{padding-bottom:0;border-bottom:0}
.work-story:nth-child(odd):not(.work-story--featured){grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.work-story:nth-child(odd):not(.work-story--featured) .work-figure{grid-column:2;grid-row:1}
.work-story:nth-child(odd):not(.work-story--featured) .work-copy{grid-column:1;grid-row:1}
.work-figure{min-width:0;margin:0}
.work-image{position:relative;display:block;width:100%;padding:0;border:0;border-radius:20px;overflow:hidden;background:transparent;cursor:zoom-in;outline:1px solid #142e3b0c;outline-offset:0;transition:box-shadow .25s,outline-color .25s}
.work-image>img{width:100%;height:auto;display:block;max-width:100%;aspect-ratio:auto 1914/1077;object-fit:contain;transform:none;filter:none}
.work-story--featured .work-image>img{aspect-ratio:auto 2398/1050}
.work-zoom{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);color:#2d5364;border-radius:50px;padding:10px 15px;font-size:11px;font-weight:500;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;box-shadow:0 3px 14px #1533460d}
.work-zoom .icon{width:17px;height:17px}
.work-image:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.work-image:focus-visible .work-zoom{opacity:1;transform:none}
.work-figure>figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:13px;font-size:9px;letter-spacing:.7px;color:#8da0aa}
.work-figure>figcaption>span:last-child{letter-spacing:0}
.work-copy{position:relative;isolation:isolate;overflow:clip;min-width:0;padding:clamp(24px,2vw,32px);background:#f1f8fc;border-radius:22px}
.work-copy:before{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 28%,#009fe816,transparent 48%),radial-gradient(ellipse at 82% 85%,#87d2f13b,transparent 47%),linear-gradient(151deg,transparent 46%,#ffffffc7 53%,transparent 60%);transform:translate3d(0,0,0)}
.work-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 13px;margin-bottom:17px;font-size:12px;line-height:1.7;color:#627b87}
.work-meta b{font-size:11px;font-weight:500;color:#277d9e;background:#e2f2fa;padding:4px 9px;border-radius:5px}
.work-heading h3{font-size:clamp(29px,2.7vw,41px);font-weight:600;letter-spacing:-1.2px;line-height:1.16;margin:0;overflow-wrap:normal}
.work-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:16px;color:#367c98;font-size:12px;line-height:1.8}
.work-tags>span+span:before{content:"/";margin-right:8px;color:#a9cbd9}
.work-description{font-size:14px;line-height:1.95;color:#5c707b;margin:22px 0 0}
.work-facts{margin:23px 0 0;padding:4px 18px;background:#ffffffd9;border-radius:13px}
.work-facts>div{display:grid;grid-template-columns:63px minmax(0,1fr);gap:14px;padding:14px 0;font-size:13px;line-height:1.85;border-bottom:1px solid #e3edf1}
.work-facts>div:last-child{border-bottom:0}
.work-facts dt{font-weight:500;color:#4b7d94;padding-top:0}
.work-facts dd{margin:0;color:#526b78}
.work-story--featured{display:block}
.work-story--featured .work-image{border-radius:24px}
.work-story--featured .work-copy{margin-top:24px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:45px;padding:33px 35px 34px}
.work-story--featured .work-description{margin-top:0}
.work-story--featured .work-meta{display:block;margin-bottom:22px}
.work-story--featured .work-meta b{display:inline-block;margin-left:15px}
.work-story--featured .work-heading h3{font-size:clamp(31px,3.4vw,48px)}
.work-story--featured .work-tags{margin-top:23px}
.work-story--featured .work-facts{margin-top:22px}
@media(hover:hover) and (pointer:fine){
 .work-image:hover{box-shadow:0 12px 30px #235a7216;outline-color:#009fe828}
 .work-image:hover .work-zoom{opacity:1;transform:none}
 .work-copy:hover:before{animation:case-current-drift 16s ease-in-out infinite alternate}
}
@keyframes case-current-drift{from{transform:translate3d(-4%,-3%,0) rotate(-4deg)}
to{transform:translate3d(5%,3%,0) rotate(4deg)}
}
@media(max-width:1250px){
 #case-grid{gap:42px}
.work-story{gap:34px;padding-bottom:42px}
.work-copy{padding:24px}
.work-meta{font-size:11px}
.work-meta b{font-size:10px}
.work-heading h3{font-size:30px;letter-spacing:-.8px}
.work-description{font-size:14px;margin-top:18px}
.work-tags{font-size:11px}
.work-facts{padding:3px 14px;margin-top:20px}
.work-facts>div{grid-template-columns:57px minmax(0,1fr);gap:11px;font-size:12px;padding:12px 0}
.work-story--featured .work-copy{gap:35px;padding:28px}
.work-story--featured .work-heading h3{font-size:38px}
.work-story--featured .work-meta b{margin:8px 0 0;display:table}
}
@media(max-width:1020px){
 .work-story{grid-template-columns:1fr!important;gap:23px;padding-bottom:42px}
.work-story .work-figure,.work-story .work-copy{grid-column:auto!important;grid-row:auto!important}
.work-copy{padding:29px}
.work-heading h3{font-size:36px}
.work-description{font-size:14px}
.work-facts>div{font-size:12px;grid-template-columns:74px 1fr;gap:15px;padding:15px 0}
.work-meta{font-size:11px}
.work-meta b{font-size:10px}
.work-tags{font-size:11px}
.work-story--featured .work-copy{display:block}
.work-story--featured .work-description{margin-top:22px}
.work-story--featured .work-meta{display:flex;margin-bottom:17px}
.work-story--featured .work-meta b{margin:0;display:block}
.work-story--featured .work-heading h3{font-size:36px}
.work-story--featured .work-tags{margin-top:16px}
}
@media(max-width:720px){
 #cases .section-head{margin-bottom:34px}
#cases .case-count{font-size:25px;margin-top:17px}
#cases .case-count small{font-size:8px}
 #case-grid{gap:33px}
.work-story{gap:16px;padding-bottom:33px}
.work-image,.work-story--featured .work-image{border-radius:13px}
.work-zoom{opacity:1;transform:none;right:10px;bottom:10px;font-size:9px;gap:8px;padding:8px 11px}
.work-zoom .icon{width:14px;height:14px}
.work-figure>figcaption{font-size:8px;margin-top:10px;letter-spacing:.4px;gap:12px}
.work-copy,.work-story--featured .work-copy{padding:22px 20px;border-radius:15px}
.work-story--featured .work-copy{margin-top:16px}
.work-meta{font-size:11px;gap:6px 10px;margin-bottom:17px}
.work-meta b{font-size:10px;padding:3px 7px}
.work-heading h3,.work-story--featured .work-heading h3{font-size:28px;letter-spacing:-.8px;line-height:1.2}
.work-tags,.work-story--featured .work-tags{font-size:11px;gap:5px 6px;margin-top:13px}
.work-tags>span+span:before{margin-right:6px}
.work-description,.work-story--featured .work-description{font-size:14px;line-height:1.85;margin-top:19px}
.work-facts,.work-story--featured .work-facts{margin-top:19px;padding:2px 13px;border-radius:10px}
.work-facts>div{font-size:12px;grid-template-columns:51px minmax(0,1fr);gap:11px;padding:13px 0}
.work-copy:before{opacity:.8}
}
@media(max-width:380px){.work-copy,.work-story--featured .work-copy{padding:20px 17px}
.work-heading h3,.work-story--featured .work-heading h3{font-size:25px}
.work-facts>div{grid-template-columns:49px minmax(0,1fr);gap:8px}
}
@media(prefers-reduced-motion:reduce){.work-copy:before{animation:none!important}
.work-image,.work-zoom{transition:none}
}
