.demo-cover{position:relative;display:block;overflow:hidden;background:var(--cream);flex-shrink:0}
.demo-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.demo-label{position:absolute;inset-block-start:12px;inset-inline-start:12px;padding:5px 9px;border:1px solid #ffffff45;border-radius:20px;background:#25181188;backdrop-filter:blur(8px);color:#fff;font:10px/1.3 Arial,sans-serif;letter-spacing:.35px}
.client-space-page .client-event-grid:has(.demo-cover){grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:24px}
.client-space-page .client-event-tile:has(.demo-cover){aspect-ratio:auto;padding:0;align-items:stretch;border-radius:18px}
.client-event-tile .demo-cover{width:100%;height:190px}
.client-space-page .client-event-tile:has(.demo-cover) h2{margin:22px 22px 10px;font-size:26px}
.client-event-tile:has(.demo-cover)>p{margin:0 22px}
.client-event-tile:has(.demo-cover) .event-tile-place{margin:5px 22px 22px}
.client-event-tile:hover .demo-cover img{transform:scale(1.025)}
.org-event-card:has(.demo-cover){grid-template-columns:76px minmax(0,1fr) auto}
.org-event-card>.demo-cover{width:76px;height:76px;border-radius:12px}
.org-event-card .demo-label{inset:auto 4px 5px;padding:3px 4px;font-size:8px;text-align:center}
.demo-gallery{margin-top:38px;padding-top:30px;border-top:1px solid var(--line);color:var(--wine)}
.client-event-detail:has(.demo-gallery)>h1{font-size:clamp(28px,3vw,38px);max-width:none;margin:20px 0 14px}
.client-event-detail .demo-gallery{margin-top:26px;padding-top:26px}
.demo-gallery-eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.demo-gallery-heading h2{margin:10px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,3vw,34px);font-weight:400;line-height:1.2}
.demo-gallery-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 24px}
.demo-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.demo-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;padding:0;border:0;border-radius:12px;cursor:zoom-in;background:var(--cream)}
.demo-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
.demo-photo>span{position:absolute;inset-block-end:12px;inset-inline-end:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#25181180;color:white;font-size:18px}
.demo-photo:hover img{transform:scale(1.04)}
.demo-photo:focus-visible,.demo-photo-viewer button:focus-visible{outline:3px solid #bf9e84;outline-offset:4px}
body.demo-viewer-open{overflow:hidden}
.demo-photo-viewer{position:fixed;inset:0;width:min(1100px,calc(100% - 32px));max-width:1100px;max-height:90dvh;margin:auto;padding:55px 55px 20px;border:1px solid #ffffff25;border-radius:18px;background:#211715;color:#f5f0eb;box-shadow:0 30px 100px #0008;overflow:hidden}
.demo-photo-viewer::backdrop{background:#180d0de0;backdrop-filter:blur(8px)}
.demo-photo-viewer figure{margin:0;text-align:center}
.demo-photo-viewer figure img{display:block;width:100%;height:min(67dvh,740px);object-fit:contain}
.demo-photo-viewer figcaption{font:12px/1.5 Arial,sans-serif;margin-top:16px;color:#e6d5ce}
.demo-photo-viewer button{display:grid;place-items:center;position:absolute;padding:0;width:42px;height:42px;border:1px solid #ffffff35;border-radius:50%;background:#ffffff10;color:#f5f0eb;font:24px/1 Arial;cursor:pointer}
.demo-viewer-close{top:10px;right:10px}
.demo-viewer-previous{top:calc(50% - 21px);left:8px}
.demo-viewer-next{top:calc(50% - 21px);right:8px}
@media(max-width:600px){.client-space-page .client-event-grid:has(.demo-cover){grid-template-columns:1fr;gap:18px}.client-event-tile .demo-cover{height:180px}.demo-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-photo-viewer{padding:55px 12px 64px}.demo-viewer-previous,.demo-viewer-next{top:auto;bottom:12px}.demo-viewer-previous{left:calc(50% - 54px)}.demo-viewer-next{right:calc(50% - 54px)}}
@media(prefers-reduced-motion:reduce){.demo-cover img,.demo-photo img{transition:none}}
