/* Full-size project views, opened from compact archive cards. */
.project-gallery-open{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:#151715;color:#f0ece3;text-align:left;font:inherit;cursor:pointer}
.project-gallery-open img{display:block;width:100%}
.project-gallery-open:focus-visible{outline:2px solid #ed916b;outline-offset:5px}
.project-gallery-open__label{position:absolute;right:12px;bottom:12px;padding:9px 11px;border:1px solid #f0ece34d;border-radius:3px;background:#222825e8;color:#f0ece3;font-size:10px;line-height:1.5;letter-spacing:.025em}
.project-gallery-open:hover .project-gallery-open__label{background:#f0ece3;color:#222825}
body.project-media-open{overflow:hidden}
.project-media-dialog{box-sizing:border-box;width:min(1120px,calc(100% - 40px));max-width:none;max-height:calc(100svh - 40px);padding:34px;border:1px solid #f0ece34d;border-radius:16px;margin:auto;background:#222825;color:#f0ece3;box-shadow:0 25px 120px #0008;overflow:auto;font:inherit}
.project-media-dialog::backdrop{background:#07100be8;backdrop-filter:blur(5px)}
.project-media-dialog__close{position:absolute;right:9px;top:8px;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#f0ece3;cursor:pointer;font:inherit;font-size:30px;line-height:1}
.project-media-dialog__close:hover{color:#ed916b}
.project-media-dialog__close:focus-visible,.project-media-dialog__navigation button:focus-visible{outline:2px solid #ed916b;outline-offset:3px}
.project-media-dialog__title{padding-right:35px;margin:0 0 24px;font-size:clamp(24px,3vw,38px);line-height:1.2;font-weight:500;letter-spacing:-.035em;overflow-wrap:break-word}
.project-media-dialog__figure{margin:0}
.project-media-dialog__image{display:block;width:100%;height:min(60svh,650px);object-fit:contain;background:#151715;border-radius:6px}
.project-media-dialog__caption{margin-top:14px;color:#c3cbbe;font-size:12px;line-height:1.75;max-width:800px}
.project-media-dialog__navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid #f0ece326}
.project-media-dialog__navigation button{min-height:44px;width:max-content;max-width:100%;padding:10px 0;border:0;background:none;color:#f0ece3;font:inherit;font-size:11px;line-height:1.5;cursor:pointer}
.project-media-dialog__navigation button:hover{color:#ed916b}
.project-media-dialog__next{justify-self:end}
.project-media-dialog__position{margin:0;color:#b7bfb4;font-size:10px;line-height:1.5;white-space:nowrap}
.project-media-dialog[data-image-count="1"] .project-media-dialog__position{grid-column:2}
@media(max-width:660px){.project-media-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:48px 18px 19px;border-radius:13px}.project-media-dialog__title{padding-right:0;margin-bottom:20px;font-size:28px}.project-media-dialog__image{height:46svh;min-height:180px}.project-media-dialog__caption{font-size:11px}.project-media-dialog__navigation{gap:10px;margin-top:18px;padding-top:12px}.project-media-dialog__navigation button{font-size:10px}.project-gallery-open__label{right:10px;bottom:10px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-gallery-open img{transition:none}.project-card:hover .project-gallery-open img{transform:none}}
