.hero .slide{pointer-events:none}.hero .slide.active{pointer-events:auto}
.photo-enlarge{position:absolute;right:12px;top:12px;z-index:3;width:44px;height:44px;border:1px solid #91adbf;border-radius:5px;background:linear-gradient(135deg,#fbfdfff5,#ccdce8f5);color:#36536a;font:28px/1 Arial,sans-serif;cursor:pointer;touch-action:pan-y pinch-zoom;box-shadow:0 2px 7px #18384f22}
@media(hover:hover) and (pointer:fine){.hero .slide.active img{cursor:zoom-in}}
html.photo-viewer-open{overflow:hidden}
.photo-viewer{width:calc(100% - 32px);max-width:1600px;height:calc(100dvh - 32px);max-height:1100px;margin:auto;padding:0;border:1px solid #afc6d8;border-radius:10px;background:#e4edf4;color:#30495c;box-shadow:0 18px 80px #0008;overflow:hidden}
.photo-viewer::backdrop{background:#172937df;backdrop-filter:blur(5px)}
.viewer-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:12px;gap:12px}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.viewer-count{font-size:12px;color:#526b7e;padding-left:8px;font-variant-numeric:tabular-nums}
.photo-viewer button{min-width:44px;min-height:44px;flex-shrink:0;padding:8px 14px;border:1px solid #9bb5c9;border-radius:5px;background:linear-gradient(135deg,#fff,#d4e3ee);color:#30495c;font:inherit;cursor:pointer}.photo-viewer button:hover{background:#fff}.photo-viewer button:focus-visible,.photo-enlarge:focus-visible{outline:3px solid #527d9d;outline-offset:2px}
.viewer-picture{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;background:#ccdae5;border-radius:5px;overflow:hidden}.viewer-picture img{display:block;width:100%;height:100%;object-fit:contain;filter:none;user-select:none}
.viewer-bottom{display:flex;align-items:center;gap:14px;justify-content:space-between}.viewer-caption{margin:0;text-align:center;font-size:14px;overflow-wrap:anywhere}.photo-viewer .viewer-prev,.photo-viewer .viewer-next{font-size:25px}
@media(max-width:650px){.photo-viewer{width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}.viewer-shell{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:10px}.viewer-caption{font-size:12px}.viewer-bottom{gap:8px}}
