/* Edge-to-edge photography. Natural proportions retain the whole composition. */
.project-gallery{--gallery-height:clamp(360px,65vh,780px);position:relative;width:100%;max-width:none;margin:0;padding:0;background:#101712;color:#f0f1e9;overflow:hidden}
.project-gallery [hidden]{display:none!important}
.project-gallery-track{display:flex;position:relative;gap:12px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;outline-offset:-4px}
.project-gallery-track::-webkit-scrollbar{display:none}
.project-gallery-slide{flex:none;height:var(--gallery-height);width:auto;aspect-ratio:var(--photo-ratio);position:relative;margin:0;scroll-snap-align:start;background:#202d23;overflow:hidden}
.project-gallery .project-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;transform:none;transition:none;max-width:none}
.project-gallery-bar{display:flex;align-items:center;gap:24px;padding:18px max(24px,calc((100% - 1320px)/2));min-height:82px}
.project-gallery-name{flex:1;font-size:13px;letter-spacing:.025em}
.project-gallery-count{font-size:12px;font-variant-numeric:tabular-nums;color:#c3cfb9;white-space:nowrap}
.project-gallery-buttons{display:flex;gap:8px}
.project-gallery-buttons button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #f0f1e950;border-radius:50%;background:transparent;color:inherit;padding:10px;cursor:pointer;transition:background .2s,color .2s}
.project-gallery-buttons button:hover{background:#d4dfc9;color:#17241c}
.project-gallery-buttons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.project-gallery :focus-visible{outline:2px solid #c5d6a8;outline-offset:-4px}
.project-gallery-announcement{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@media(max-width:700px){.project-gallery{--gallery-height:clamp(235px,61vw,420px)}.project-gallery-track{gap:8px}.project-gallery-bar{padding:14px 20px;gap:12px;flex-wrap:wrap}.project-gallery-name{flex-basis:calc(100% - 60px)}.project-gallery-buttons{margin-left:auto}.project-gallery-count{margin-left:auto}.project-gallery-buttons button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.project-gallery-buttons button{transition:none}}
