.event-gallery{background:#f4f7fc}.event-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-photo{display:block;border:1px solid #d5e0ef;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(16,31,62,.05);transition:transform .25s,box-shadow .25s}.event-photo figure{margin:0}.event-photo__frame{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e7edf5}.event-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.event-photo__zoom{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:#fff;color:#1549b9;border-radius:50%;font-size:21px}.event-photo figcaption{padding:20px}.event-photo figcaption>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#1549b9}.event-photo h3{font-size:17px;line-height:1.5;margin:8px 0 0;color:#172d4e}.event-photo:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(16,31,62,.1)}.event-photo:hover img{transform:scale(1.035)}
.event-lightbox{padding:50px 22px 22px;border:1px solid #3b4e69;border-radius:20px;background:#101f3e;color:#fff;width:min(1100px,94vw);max-height:94dvh}.event-lightbox::backdrop{background:rgba(5,13,29,.86)}.event-lightbox:not([open]){display:none}.event-lightbox__image{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px;align-items:center}.event-lightbox img{width:100%;height:min(65vh,700px);object-fit:contain}.event-lightbox button{border:1px solid #7185a3;border-radius:50%;width:38px;height:38px;background:#20365a;color:#fff;font-size:26px;cursor:pointer}.event-lightbox__close{position:absolute;right:14px;top:10px}.event-lightbox__caption{text-align:center;color:#fff!important;margin:18px 0 0;font-size:16px}.event-lightbox button:focus-visible{outline:3px solid #b9daff;outline-offset:3px}
@media(max-width:900px){.event-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.event-gallery__grid{grid-template-columns:1fr;gap:20px}.event-lightbox{padding-inline:10px}.event-lightbox__image{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.event-lightbox button{width:30px;height:30px}.event-photo figcaption{padding:18px}}
@media(prefers-reduced-motion:reduce){.event-photo,.event-photo img{transition:none}.event-photo:hover,.event-photo:hover img{transform:none}}
