.case-page{border:1px solid var(--line);background:var(--sheet);max-width:1160px;box-shadow:5px 6px 0 -1px var(--paper),5px 6px 0 0 var(--line);margin-block:26px 70px;padding:32px 48px 0;position:relative}.case-page:before{content:"";border-top:3px solid var(--accent);width:66px;position:absolute;top:-2px;left:48px;rotate:-1deg}.back-link{color:var(--muted);margin-bottom:40px;font-size:12px;display:inline-block}.back-link:hover{color:var(--accent)}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.5px;color:var(--accent);display:block}.case-heading{border-bottom:1px dashed var(--line);padding:0 130px 30px 0;position:relative}.case-heading h1{font:clamp(34px,4.5vw,62px)/1.3 var(--serif);letter-spacing:1px;margin:18px 0 8px}.case-subtitle{font:19px/1.6 var(--serif);color:var(--muted)}.case-number{font:italic 100px/1 var(--serif);color:var(--accent);opacity:.65;position:absolute;top:4px;right:0}.case-heading>p{max-width:690px;color:var(--muted);margin-top:22px;font-size:14px;line-height:1.95}.case-page>.stack-sketch{margin:25px 0 32px}.case-cover{background:var(--paper);border:1px solid var(--line);margin:10px 0 48px;padding:10px;rotate:-.6deg;box-shadow:2px 9px 20px #0002}.case-cover .image-button{width:100%}.case-cover img{object-fit:contain;width:100%;max-height:560px}.case-cover figcaption{padding:5px 4px 0}.case-columns{grid-template-columns:145px minmax(0,1fr);align-items:start;gap:40px;margin-top:46px;display:grid}.case-columns>aside{color:var(--muted);border-left:1px solid var(--line);gap:14px;padding-left:18px;font-size:12px;display:grid;position:sticky;top:32px}.case-columns>aside .eyebrow{margin-bottom:10px}.case-columns>aside a:hover{color:var(--accent)}.case-content{min-width:0}.case-content section{border-bottom:1px solid var(--line);margin:0 0 40px;padding:0 0 40px;scroll-margin-top:32px}.case-content section:last-child{border-bottom:0}.case-content h2{font:29px/1.5 var(--serif);margin:12px 0 24px}.case-content h3{font:19px/1.6 var(--serif);margin-bottom:10px}.case-content p,.case-content li{color:var(--muted);font-size:14px;line-height:2}.case-content .role-summary{color:var(--ink);font-size:16px}.contribution-list{gap:24px;margin-top:28px;display:grid}.contribution-list>div{border-left:2px solid var(--accent);padding-left:18px}.process-list{margin:0;padding:0;list-style:none}.process-list>li{border-bottom:1px dashed var(--line);gap:20px;padding:18px 0;display:flex}.process-list>li:last-child{border-bottom:0}.process-list>li>span{font:italic 24px/1.5 var(--serif);color:var(--accent)}.process-list h3{margin:0 0 6px}.challenge{margin-top:30px}.challenge-heading{align-items:baseline;gap:14px;display:flex}.challenge-heading>span{font:italic 21px var(--serif);color:var(--accent)}.challenge>p+p{margin-top:14px}.decision-result{border-left:2px solid var(--accent);background:repeating-linear-gradient(transparent 0 27px,var(--grid) 27px 28px);margin-top:18px;padding:16px 20px}.outcome-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.outcome-list li{padding-left:24px;position:relative}.outcome-list li:before{content:"↳";color:var(--accent);position:absolute;left:0}.text-link{color:var(--accent);border-bottom:1px solid var(--accent);margin-top:24px;font-size:13px;display:inline-block}.next-project{border-top:1px dashed var(--line);color:var(--muted);grid-template-columns:1fr auto;align-items:center;gap:8px 20px;padding:27px 0 30px;font-size:11px;display:grid}.next-project strong{font:28px/1.5 var(--serif);color:var(--ink);grid-column:1}.next-project>span:last-child{font:36px var(--serif);color:var(--accent);grid-area:1/2/3;transition:translate .3s}.next-project:hover>span:last-child{translate:4px -3px}.compact-content{max-width:760px;margin:46px auto 0}.compact-work{margin:20px 0 0;padding-left:20px}.compact-work li{padding:7px 0 7px 5px}.compact-work li::marker{color:var(--accent)}.compact-paragraph+.compact-paragraph{margin-top:18px}.compact-gallery{gap:28px;margin-top:30px;display:grid}.compact-gallery .image-button{background:var(--paper);border:1px solid var(--line);width:100%;padding:6px}.compact-gallery img{width:100%;height:auto}@media (width<=1000px){.case-page{padding:26px 28px 0}.case-columns{grid-template-columns:120px minmax(0,1fr);gap:26px}}@media (width<=760px){.case-page{margin-top:10px;margin-bottom:45px;padding:24px 19px 0}.back-link{margin-bottom:26px}.case-heading{padding-right:0}.case-heading h1{overflow-wrap:anywhere;padding-right:24px;font-size:34px}.case-number{opacity:.25;font-size:49px;top:-7px;right:-5px}.case-subtitle{font-size:16px}.case-heading>p{font-size:13px}.case-columns{margin-top:28px;display:block}.case-columns>aside{border:0;border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:9px 18px;margin-bottom:28px;padding:0 0 22px;display:flex;position:static}.case-columns>aside .eyebrow{width:100%;margin:0}.case-content h2{margin-bottom:18px;font-size:25px}.case-content h3{font-size:18px}.case-content section{margin-bottom:30px;padding-bottom:30px}.case-content p,.case-content li{font-size:13px}.case-content .role-summary{font-size:14px}.case-cover{margin-bottom:30px;padding:5px}.compact-content{margin-top:30px}.next-project strong{font-size:23px}}@media (prefers-reduced-motion:reduce){.next-project:hover>span:last-child{translate:none}}.case-flow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.case-flow .process-list>li{gap:12px}.case-flow .ink-figure{margin-top:16px}@media (width<=1000px){.case-flow{grid-template-columns:minmax(0,1fr)}.case-flow .ink-figure{justify-self:center}}
