.case-entry{position:absolute;inset:0;z-index:4;display:block}.case-entry:focus-visible{outline-offset:-4px}.project:has(.case-entry){cursor:pointer}
.text-case-link{color:inherit;display:inline-block}.text-case-link:hover{text-decoration:underline;text-underline-offset:5px}
.text-project-row{cursor:pointer}
.text-project-row:focus-within{outline:1px solid #aaa;outline-offset:4px}
.case-page{position:fixed;inset:0;z-index:25;overflow:auto;background:#fff;color:#777;overscroll-behavior:contain}.case-page[hidden]{display:none}
.case-content{padding:150px 4.7% 0}.case-heading{font-size:clamp(28px,3vw,44px);font-weight:400;margin:18px 0 65px;line-height:1.3}.case-meta{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;max-width:750px;margin-bottom:35px}.case-meta dt,.case-copy-label{font-size:10px;color:#aaa;margin-bottom:10px}.case-meta dd{margin:0;font-size:12px;line-height:1.7}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.case-media{background:#d8d8d8;aspect-ratio:1;overflow:hidden;margin:0}.case-media.wide{grid-column:1/-1;aspect-ratio:1.71}.case-media img{width:100%;height:100%;object-fit:cover;display:block}.case-copy{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:62px 0}.case-copy h2{font-size:clamp(18px,2.2vw,30px);font-weight:400;line-height:1.45;max-width:330px;margin:0}.case-copy p{font-size:12px;line-height:2;margin:20px 0 0;color:#777}.case-bottom{padding:100px 0 230px;display:flex;justify-content:space-between}.case-bottom button{background:none;border:0;border-bottom:1px solid #aaa;padding:10px 0;font-size:12px;color:#666}.case-page footer{color:#9e9e9e}.case-page footer h2{font-size:10px}
body.case-open #mode-switch{visibility:hidden;pointer-events:none;opacity:0}
.case-content .case-reveal{opacity:1;transform:translate3d(0,0,0);transition:opacity .65s ease var(--case-delay,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--case-delay,0ms)}
.case-content .case-pending{opacity:0;transform:translate3d(0,32px,0);transition:none}
.case-edge{display:none;position:fixed;top:110px;bottom:0;width:clamp(28px,4.65vw,80px);z-index:28;background:none;border:0;color:#222;padding:0;cursor:pointer;align-items:center;justify-content:center}
.case-edge[hidden]{display:none!important}.case-edge-left{left:0}.case-edge-right{right:0}
.case-edge span{width:42px;height:42px;border-radius:50%;border:1px solid #999;background:#ffffffdc;display:grid;place-items:center;font-size:24px;opacity:0;transform:translateX(5px);transition:opacity .2s,transform .3s}
.case-edge:hover span,.case-edge:focus-visible span{opacity:1;transform:none}
.case-back-cursor{position:fixed;left:0;top:0;z-index:45;pointer-events:none;opacity:0;transition:opacity .15s;}
.case-back-cursor::before{content:"";position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid #999;background:#fffffff2;left:-24px;top:-24px;z-index:-1}
.case-back-cursor{width:0;height:0;font-size:0}.case-back-cursor::after{content:'←';position:absolute;left:-24px;top:-24px;width:48px;height:48px;display:grid;place-items:center;font-size:25px;color:#222}
.case-back-cursor.is-visible{opacity:1}.case-page.has-back-cursor{cursor:none}
.case-back-cursor{mix-blend-mode:difference}
.case-back-cursor::before,.case-back-cursor::after{display:none}
.case-back-cursor img{position:absolute;left:-30px;top:-30px;width:60px;height:60px;display:block;filter:invert(1)}
@media(hover:hover) and (pointer:fine){.case-edge{display:flex}}
@media(prefers-reduced-motion:reduce){.case-content .case-reveal,.case-edge span{transition:none}.case-content .case-pending{opacity:1;transform:none}}
@media(max-width:600px){.case-content{padding:115px 6% 0}.case-heading{margin:10px 0 35px;font-size:27px}.case-meta{gap:14px;grid-template-columns:1fr 1fr}.case-meta>div:first-child{grid-column:1/-1}.case-meta dd{font-size:10px}.case-gallery{gap:6px}.case-copy{padding:35px 0;grid-template-columns:1fr;gap:12px}.case-copy h2{font-size:22px}.case-copy p{font-size:11px;margin:0}.case-bottom{padding:55px 0 100px}}
