.gallery-card{display:block;width:100%;border:0;padding:0;background:var(--dark);text-align:left;cursor:pointer;font:inherit}.gallery-card:focus-visible,.gallery-dialog button:focus-visible,.portfolio-filter button:focus-visible,.service-gallery-trigger:focus-visible{outline:3px solid var(--green);outline-offset:4px}.service-gallery-trigger{display:block;width:100%;padding:0;border:0;background:var(--dark);cursor:pointer}.portfolio-filter button{border:1px solid #ddd;padding:12px 20px;background:#fff;color:var(--dark);font:600 16px Barlow Condensed;text-transform:uppercase;cursor:pointer}.portfolio-filter button[aria-pressed=true]{background:var(--dark);color:#fff}.gallery-dialog{width:min(1100px,calc(100% - 40px));max-width:none;max-height:90dvh;margin:auto;padding:0;border:0;background:#fff;color:var(--text);overflow:hidden}.gallery-dialog::-webkit-backdrop{background:#101518dc}.gallery-dialog::backdrop{background:#101518dc}.gallery-content{max-height:90dvh;overflow-y:auto}.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.gallery-heading h2{margin:0;font-size:32px}.gallery-control{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;background:var(--dark);color:#fff;cursor:pointer}.gallery-viewer{position:relative;height:min(56dvh,620px);min-height:140px;background:var(--dark);touch-action:pan-y pinch-zoom}.gallery-viewer img{object-fit:contain}.gallery-next,.gallery-previous{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:#171c20d9}.gallery-previous{left:12px}.gallery-next{right:12px}.gallery-counter{margin:0;padding:10px 24px;font-size:15px}.gallery-thumbnails{display:flex;gap:10px;padding:4px 24px 20px;overflow-x:auto}.gallery-thumbnails button{position:relative;flex:0 0 90px;height:64px;padding:0;border:3px solid transparent;background:var(--dark);cursor:pointer}.gallery-thumbnails button[aria-pressed=true]{border-color:var(--green)}.gallery-thumbnails img{object-fit:cover}@media (max-width:800px){.gallery-dialog{width:calc(100% - 24px)}.gallery-heading{padding:16px}.gallery-heading h2{font-size:28px}.gallery-counter{padding:10px 16px}.gallery-thumbnails{padding:4px 16px 16px}}