.gallery-body{padding:30px 0 55px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 10px}.gallery-filters[hidden]{display:none}.gallery-filters button{font:700 14px Arial,sans-serif;min-height:44px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:10px 16px;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}[data-gallery-section]{margin-bottom:44px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.gallery-card{margin:0;background:white;border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:20px}.gallery-card a{display:block;flex:1;background:var(--paper)}.gallery-card img{display:block;width:100%;height:auto}.gallery-card figcaption{font-size:15px;font-weight:700;line-height:1.4;padding:14px 16px;color:var(--ink)}.artwork-note{font-size:14px;max-width:800px}dialog{padding:0;border:0;background:#081b2c;color:white;position:fixed;inset:0;margin:auto;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh}dialog::backdrop{background:#081b2c}dialog:not([open]){display:none}.viewer-shell{display:flex;flex-direction:column;height:100%;padding:14px 24px}.viewer-bar{display:flex;align-items:center;gap:16px;justify-content:space-between}.viewer-bar h2{margin:0;font:normal 20px/1.3 Georgia,serif;color:white}.viewer-bar button,.viewer-controls button{border:1px solid #6a879b;background:#102a44;color:white;border-radius:4px;padding:11px 17px;min-height:44px;cursor:pointer;font:700 14px Arial,sans-serif}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 0;touch-action:pan-y pinch-zoom}.viewer-stage img{width:100%;height:100%;object-fit:contain}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.viewer-controls p{margin:0;font-size:14px;text-align:center}.viewer-hint{font-size:12px;text-align:center;color:#bcd0df;margin:9px 0 0}.viewer-hint a{color:white}body.viewer-open{overflow:hidden}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}.viewer-shell{padding:12px}.viewer-bar h2{font-size:17px}.viewer-controls button{padding:10px}.viewer-hint{font-size:11px}}
