.sheritech-gallery.gallery-image-index{gap:22px;padding:clamp(20px,3vw,48px) clamp(16px,4vw,64px)}.gallery-category-filter{z-index:2;width:min(100%,390px);position:relative}.gallery-category-label{color:#565656;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.gallery-category-trigger,.gallery-category-option{color:#111;width:100%;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #b9b5af;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.gallery-category-trigger>span:first-child,.gallery-category-option>span:first-child{flex:1}.gallery-category-trigger[aria-expanded=true]{border-color:#111}.gallery-category-count{font-variant-numeric:tabular-nums;color:#666;font-size:12px}.gallery-category-panel{background:#fff;border:1px solid #c9c6c1;padding:10px;position:absolute;inset:calc(100% + 6px) 0 auto;box-shadow:0 12px 32px #0002}.gallery-category-panel input{color:#111;width:100%;min-height:44px;font:inherit;background:#f7f6f3;border:1px solid #aaa;margin-bottom:8px;padding:10px 12px;font-size:16px}.gallery-category-options{overscroll-behavior:contain;max-height:min(320px,45dvh);overflow-y:auto}.gallery-category-option{border:0;padding:12px}.gallery-category-option:hover{background:#f0eeea}.gallery-category-option[aria-pressed=true]{color:#fff;background:#111}.gallery-category-option[aria-pressed=true] .gallery-category-count{color:#ddd}.gallery-category-trigger:focus-visible,.gallery-category-panel input:focus-visible{outline:2px solid var(--red);outline-offset:2px}.gallery-category-option:focus-visible{outline:2px solid var(--red);outline-offset:-2px}.gallery-category-empty{color:#565656;margin:0;padding:12px;font-size:14px}.gallery-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,22px)}.gallery-image-grid article{background:0 0;border:0}.gallery-image-grid .gallery-open{cursor:pointer;background:#171717;border:0;width:100%;padding:0;display:block;overflow:hidden}.gallery-image-grid .gallery-open img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .22s}.gallery-image-grid .gallery-open:hover img{transform:scale(1.025)}.gallery-open:focus-visible,.gallery-photo-open:focus-visible{outline:3px solid var(--red);outline-offset:4px}.gallery-empty{margin:0;padding:24px 0}.gallery-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gallery-project-page{background:var(--paper);color:#111;min-height:80vh;padding:clamp(110px,10vw,140px) clamp(16px,4vw,64px) 48px}.gallery-back-link{align-items:center;min-height:44px;margin-bottom:20px;font-weight:700;display:inline-flex}.gallery-project-heading{max-width:960px;margin-bottom:32px}.gallery-project-heading h1{overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,4.5vw,4rem);line-height:1.05}.gallery-project-heading p{white-space:pre-line;max-width:760px;margin:20px 0 0;font-size:1.1rem;line-height:1.65}.gallery-share{margin:0 0 28px}.gallery-share-label{letter-spacing:.08em;text-transform:uppercase;color:#565656;margin-bottom:12px;font-size:12px;font-weight:800;display:block}.gallery-share-buttons{flex-wrap:wrap;gap:8px;display:flex}.gallery-share-buttons a,.gallery-share-buttons button{color:#111;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #c9c6c1;align-items:center;gap:9px;padding:10px 16px;font-size:14px;font-weight:700;display:inline-flex}.gallery-share-buttons a:hover,.gallery-share-buttons button:hover{color:#fff;background:#111;border-color:#111}.gallery-share-buttons a:focus-visible,.gallery-share-buttons button:focus-visible,.gallery-share-url:focus-visible{outline:3px solid var(--red);outline-offset:3px}.gallery-share-buttons button:disabled{opacity:.5;cursor:wait}.gallery-share-status{margin:10px 0 0;font-size:14px}.gallery-share-status:empty{margin:0}.gallery-share-url{color:#111;background:#fff;border:1px solid #777;width:min(100%,640px);min-height:44px;margin-top:10px;padding:10px;display:block}.gallery-pagination{justify-items:center;gap:12px;padding:24px 0 8px;display:grid}.gallery-pagination p{color:#565656;margin:0;font-size:14px}.gallery-pagination button{color:#fff;cursor:pointer;min-height:48px;font:inherit;background:#111;border:1px solid #111;padding:12px 28px;font-weight:700}.gallery-pagination button:hover{background:#333}.gallery-pagination button:focus-visible{outline:3px solid var(--red);outline-offset:4px}.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.gallery-photo-open{cursor:zoom-in;break-inside:avoid;background:#171717;border:0;width:100%;margin:0;padding:0;display:block}.gallery-photo-open img{width:100%;height:auto}.gallery-lightbox{color:#f5f5f5;background:#111;border:1px solid #444;width:min(1600px,96vw);max-width:96vw;max-height:96dvh;margin:auto;padding:clamp(12px,2vw,24px)}.gallery-lightbox::backdrop{background:#000e}.gallery-lightbox header,.gallery-lightbox footer{background:0 0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;display:flex}.gallery-viewer-actions{align-items:center;gap:12px;display:flex}.gallery-lightbox button,.gallery-lightbox a{color:#fff;cursor:pointer;background:#242424;border:1px solid #666;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;display:inline-flex}.gallery-lightbox button:disabled{opacity:.4;cursor:default}.gallery-lightbox-image{margin:16px 0}.gallery-lightbox-image img{object-fit:contain;width:100%;height:72dvh;max-height:calc(100dvh - 200px)}@media (max-width:700px){.gallery-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo-grid{grid-template-columns:1fr}.gallery-lightbox header{align-items:flex-start}.gallery-viewer-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.gallery-lightbox button,.gallery-lightbox a{padding:10px;font-size:12px}.gallery-lightbox header>span{white-space:nowrap;padding-top:12px}}@media (prefers-reduced-motion:reduce){.gallery-image-grid .gallery-open img{transition:none}}
