/* Project photos open in an accessible on-page gallery. */
.project-help{font-size:14px;color:var(--muted);margin:20px 0 26px}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-card{margin:0;min-width:0}
.project-open{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;overflow:hidden;cursor:pointer;font:inherit}
.project-picture{position:relative;display:block;overflow:hidden}
.project-picture img{width:100%;height:300px;object-fit:cover;transition:transform .2s}
.project-open:hover img{transform:scale(1.035)}
.project-photo-count{position:absolute;right:14px;bottom:14px;background:#fff;color:#202e26;padding:6px 11px;border-radius:20px;font-size:11px;font-weight:600;box-shadow:0 2px 10px #0002}
.project-caption{display:grid;gap:8px;padding:19px 20px}
.project-caption strong{font-size:15px}.project-view{font-size:12px;font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:4px}
body.project-gallery-open{overflow:hidden}
.project-dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:22px;border:0;border-radius:20px;background:#fff;color:#202e26;overflow:auto}
.project-dialog::backdrop{background:#142019e8}
.project-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}
.project-dialog h2{font-size:24px;margin:0 0 5px;line-height:1.25;letter-spacing:-.03em}
.project-counter{font-size:12px;color:#536057;margin:0}
.project-close,.project-prev,.project-next{border:1px solid #dce2d9;background:#fff;color:#202e26;cursor:pointer;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:28px;line-height:1}
.project-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#f2f5ef;border-radius:12px;overflow:hidden}
.project-full-image{width:100%;height:min(62dvh,640px);object-fit:contain}
.project-prev,.project-next{position:absolute;top:calc(50% - 22px);z-index:1;box-shadow:0 3px 14px #0002}.project-prev{left:10px}.project-next{right:10px}
.project-thumbnails{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.project-thumbnails button{padding:3px;background:#fff;border:2px solid transparent;border-radius:8px;cursor:pointer}.project-thumbnails button[aria-pressed=true]{border-color:var(--green)}
.project-thumbnails img{width:66px;height:54px;object-fit:cover;border-radius:4px}
.project-keyboard-help{font-size:11px;color:#536057;text-align:center;margin:10px 0 0}
.project-dialog [hidden]{display:none!important}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-picture img{height:auto;aspect-ratio:1.2}.project-dialog{padding:15px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.project-dialog h2{font-size:19px}.project-full-image{height:56dvh}.project-prev,.project-next{width:38px;height:38px}.project-keyboard-help{font-size:10px}}

.project-hero-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.project-hero-hint{position:absolute;top:18px;right:18px;background:#fff;color:#202e26;padding:7px 12px;border-radius:20px;font:600 11px Poppins,Arial,sans-serif}.project-hero-open:focus-visible{outline-offset:-5px}

.project-card[hidden],.project-more[hidden]{display:none!important}.project-more-wrap{text-align:center;margin-top:28px}.project-more{margin:auto}.project-dialog .project-thumbnails button[aria-pressed=true]{border-color:var(--gold,#b39a49)}
