.projects>button,.creative-case,.application-image{border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.projects>button,.creative-case{background:transparent;padding:0;width:100%;min-width:0}.projects>button{align-self:start}.project-explore{display:block;font-size:11px;margin-top:12px;color:var(--muted)}.application-image{width:100%}.case-text-button{display:flex;justify-content:space-between;width:100%;padding:14px 0;border:0;background:none;font-size:12px;text-align:left}.creative-case img{width:100%;aspect-ratio:1.35;object-fit:contain;background:#e9e3d9}.creative-case h3{font-size:22px;margin:18px 0 7px}.creative-case p{font-size:11px}.creative-case:hover img{filter:brightness(.95)}
#project-dialog{width:min(1280px,94vw);max-width:none;max-height:92svh;padding:0;border:1px solid #c9beac;border-radius:8px;background:#f5f1e9;color:#292622;overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 100px #0005}#project-dialog::backdrop{background:#191816c9;backdrop-filter:blur(12px)}.case-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid #d7cfc2;position:sticky;top:0;background:#f5f1e9f5;z-index:3}.case-toolbar>span{font:9px monospace;letter-spacing:1.4px}.case-close{display:flex;gap:15px;align-items:center;border:0;background:none;font-size:12px;padding:4px 0}.case-close span{font-size:25px;line-height:1}.case-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr)}.case-visual{padding:28px;min-width:0;background:#e9e3d9}.case-image-stage{height:min(53svh,520px);display:flex;justify-content:center;align-items:center;overflow:auto;background:#ded7ca;border:1px solid #d2c8b7;border-radius:4px;overscroll-behavior:contain}.case-image-stage>img{width:100%;height:100%;object-fit:contain}.case-image-stage.is-zoomed{display:block}.case-image-stage.is-zoomed>img{width:100%;height:auto;max-width:none;object-fit:unset;min-height:0}.case-image-error{padding:30px;font-size:13px}.case-image-controls{display:flex;align-items:center;gap:18px;margin-top:16px}.case-image-controls button{height:35px;min-width:35px;background:transparent;border:1px solid #bcb09c;border-radius:3px;font-size:17px}.case-image-controls button:disabled{opacity:.3;cursor:default}.case-image-controls .case-zoom{margin-left:auto;font-size:11px;padding:0 12px}.case-image-controls>span{font:11px monospace;min-width:55px;text-align:center}#case-caption{font-size:10px;margin:14px 0;line-height:1.5;color:#6a6051}.case-thumbnails{display:flex;gap:9px;overflow:auto;padding:3px 2px 8px;scrollbar-width:thin}.case-thumbnails button{flex:0 0 66px;height:52px;padding:3px;border:1px solid transparent;background:#f4f0e8;border-radius:3px}.case-thumbnails button[aria-pressed=true]{border-color:#413a2e;box-shadow:0 0 0 1px #413a2e}.case-thumbnails img{width:100%;height:100%;object-fit:contain}.case-description{padding:38px 32px 34px}.case-description h2{font-size:clamp(30px,3vw,44px);margin:17px 0;overflow-wrap:anywhere}.case-author{font-size:11px;border-bottom:1px solid #d7cfc2;padding-bottom:23px;margin-bottom:23px;color:#8a775a}.case-intro{font-size:14px;line-height:1.8}.case-description h3{font-size:17px;margin:30px 0 14px;letter-spacing:-.025em}.case-work{padding-left:17px;margin:0;font-size:12px;line-height:1.8;color:#655d50}.case-work li+li{margin-top:9px}.case-note{font-size:10px;line-height:1.7;border-top:1px solid #d7cfc2;margin-top:28px;padding-top:18px}.case-source{font-size:11px;margin-top:22px}.case-source[hidden]{display:none}
@media(max-width:800px){#project-dialog{width:96vw;max-height:95svh}.case-layout{grid-template-columns:1fr}.case-toolbar{padding:13px 17px}.case-toolbar>span{font-size:7px}.case-visual{padding:16px}.case-image-stage{height:42svh;min-height:240px}.case-description{padding:28px 23px}.case-description h2{font-size:34px}.case-image-controls{gap:12px}.case-image-controls .case-zoom{padding:0 9px;font-size:10px}.case-thumbnails button{flex-basis:58px;height:47px}.creative-case h3{font-size:20px}}
@media(prefers-reduced-motion:no-preference){#project-dialog[open]{animation:case-enter .25s ease-out}@keyframes case-enter{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}}
