/* Project photographs keep their full framing, including heads, hands and bases. */
.project-visual:has(>img){background:#ebebed}
.project-visual>img{object-fit:contain}
.project-grid{margin-top:22px}
.access-badge{display:inline-flex;align-items:center;width:max-content;margin:2px 0 14px;padding:5px 9px;border:1px solid currentColor;border-radius:99px;font:10px/1.1 var(--mono);letter-spacing:.05em;background:#fff9d8;color:#2d2a21}
.dialog-visual{height:auto;background:#ebebed}
.dialog-toolbar{position:sticky;top:0;height:0;z-index:4;overflow:visible}
.dialog-visual>img{display:block;position:static;width:100%;height:auto;max-height:510px;object-fit:contain}
.dialog-visual .image-fallback{padding:90px 20px;text-align:center}
.dialog-body h2{font-family:var(--sans);letter-spacing:0}
.dialog-facts{gap:18px}
.dialog-facts>div{min-width:0}
.dialog-facts dd{line-height:1.8;overflow-wrap:anywhere}
.case-section{margin-block:32px}
.case-section h3{font-size:16px;margin-bottom:13px;line-height:1.6}
.case-section p{font-size:14px;line-height:1.95}
.case-gallery{display:grid;gap:20px;margin-top:22px}
.case-gallery.pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.case-photo{min-width:0;margin:0;padding:7px;background:var(--surface);border:1px solid var(--line);box-shadow:3px 4px 0 #1b1b1710}
.case-photo>a{display:block;position:relative;background:#eaeaec}
.case-photo img{display:block;width:100%;height:auto;object-fit:contain}
.case-photo .photo-open{position:absolute;right:8px;bottom:8px;background:#fffdf1ed;color:#25241f;font-size:10px;padding:5px 8px;opacity:0;transition:opacity .2s}
.case-photo>a:hover .photo-open,.case-photo>a:focus-visible .photo-open{opacity:1}
.case-photo figcaption{font-size:11px;line-height:1.7;color:var(--body);padding:10px 6px 4px}
.project-video{margin-top:30px;padding-top:26px;border-top:1px dashed var(--body)}
.project-video h3,.project-resources h3{font-size:16px;margin:0 0 15px}
.project-video video{display:block;width:100%;max-height:510px;background:#17191b}
.project-video p{font-size:11px;line-height:1.8;color:var(--body);margin:10px 0}
.video-fallback{padding:10px;border:1px dashed var(--line)}
.video-fallback a{text-decoration:underline}
.project-resources{margin-top:30px;padding-top:25px;border-top:1px dashed var(--body)}
.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.project-resource{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface);padding:16px;transition:box-shadow .2s}
.project-resource:hover{box-shadow:3px 3px 0 #efc944}
.project-resource strong{display:block;font-size:13px;font-weight:600}
.project-resource small{display:block;font:10px/1.8 var(--mono);color:var(--body);margin-top:5px}
.project-resource .icon{flex:none;width:16px;height:16px}
@media(max-width:600px){.dialog-visual>img{max-height:310px}.dialog-body{padding-inline:20px}.case-section{margin-block:28px}.case-section p{font-size:13px}.case-gallery.pair{grid-template-columns:1fr}.case-gallery{gap:16px}.case-photo .photo-open{opacity:1;font-size:9px}.resource-list{grid-template-columns:1fr}.dialog-facts{gap:16px}.project-grid{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.case-photo .photo-open,.project-resource{transition:none}}
