.gallery-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.category-filter{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #bbc9c3;border-radius:4px;padding:15px 18px;color:#253c44;cursor:pointer;font:800 .87rem/1.3 Arial,sans-serif}
.category-filter[aria-pressed=true]{background:#213840;color:#fff;border-color:#213840;box-shadow:inset 0 -3px #edaa57}
.category-count{font-size:.72rem;opacity:.75;border:1px solid currentColor;border-radius:30px;padding:3px 7px}
.category-filter:hover{border-color:#a26925}
.gallery-controls{border-bottom:1px solid #cbd5cf;padding-bottom:23px;gap:12px;margin-bottom:0}
.gallery-filter-buttons button{font-size:.77rem;padding:10px 16px}
.gallery-result-count{font-size:.8rem;color:#596d70;margin:0}
.gallery-group{padding-top:46px;margin-bottom:16px;scroll-margin-top:24px}
.gallery-group+.gallery-group{margin-top:45px;border-top:1px solid #cbd5cf}
.gallery-group-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}
.gallery-group-heading h2{font-size:clamp(1.9rem,3.5vw,2.7rem);margin:12px 0}
.gallery-group-heading p{max-width:670px;margin:0;color:#607276;font-size:.91rem}
.group-count{font-size:.75rem;white-space:nowrap;padding:9px 13px;border:1px solid #bdcbc6;border-radius:30px;color:#50666d}
.gallery-group .project-visual{aspect-ratio:4/3;background:#15262c}
.gallery-group .project-visual img{object-fit:contain}
.project-image-button{position:relative}
.photo-expand{position:absolute;bottom:12px;right:12px;width:31px;height:31px;display:grid;place-items:center;background:#101d24ce;color:#fff;border:1px solid #ffffff60;border-radius:50%;font-size:1rem}
.gallery-group .project-info{padding:18px 20px}
.gallery-group .project-info h3{margin:0;font-size:1rem;line-height:1.4;letter-spacing:-.015em}
.gallery-group .project-info p{margin-top:10px}
.gallery-show-more{display:flex;margin:24px auto 0;border-color:#9cafaa;color:#28434a;background:transparent;font-size:.7rem}
.gallery-show-more:hover{background:#e2e9e3}
.gallery-show-more[hidden]{display:none}
.gallery-loading{padding:35px 0;color:#52666d}
.home-photo-count{color:#64767a;font-size:.73rem}
.gallery-lightbox{width:min(1120px,95vw);max-width:95vw;max-height:95dvh;padding:16px 20px 18px}
.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.lightbox-position{font-size:.8rem;color:#b9cdcd}
.lightbox-close{margin:0;font-size:.8rem;min-height:44px}
.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;height:min(72dvh,850px);background:#081116}
.gallery-lightbox .lightbox-stage img{max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain}
.lightbox-arrow{position:absolute;top:calc(50% - 24px);z-index:1;min-width:44px;min-height:48px;color:#fff;background:#10232be8;border:1px solid #8da3a5;border-radius:4px;font-size:1.2rem;cursor:pointer}
.lightbox-arrow.previous{left:8px}.lightbox-arrow.next{right:8px}
.lightbox-arrow[hidden]{display:none}
.gallery-lightbox .lightbox-caption{font-size:.88rem;line-height:1.5;margin-top:14px}
.category-filter:focus-visible,.gallery-show-more:focus-visible,.lightbox-arrow:focus-visible,.project-info a:focus-visible{outline:3px solid #bc7623;outline-offset:4px}
@media(max-width:650px){.gallery-categories{display:grid;grid-template-columns:1fr 1fr;gap:8px}.category-filter{justify-content:space-between;padding:12px;font-size:.76rem;gap:7px}.category-filter:first-child{grid-column:1/-1}.gallery-group{padding-top:30px}.gallery-group+.gallery-group{margin-top:32px}.gallery-group-heading{align-items:flex-start;gap:12px}.group-count{font-size:.68rem;padding:7px 9px;margin-top:33px}.gallery-group-heading p{font-size:.84rem}.gallery-group .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-group .project-visual{aspect-ratio:3/4}.gallery-group .project-info{padding:12px}.gallery-group .project-info h3{font-size:.8rem}.gallery-group .project-info p{font-size:.75rem}.gallery-lightbox{padding:12px}.lightbox-position{font-size:.69rem}.lightbox-stage{height:67dvh}.photo-expand{bottom:8px;right:8px;width:26px;height:26px}.gallery-show-more{width:100%;font-size:.65rem;padding:15px 12px}}
@media(prefers-reduced-motion:reduce){.project-image-button img{transition:none}.project-image-button:hover img{transform:none}}
