.photo-gallery{padding-top:clamp(24px,3vw,40px)}.photo-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(170px,16vw,230px);grid-auto-flow:dense;gap:clamp(10px,1.2vw,16px)}.photo-gallery__item{margin:0;min-width:0;min-height:0}.photo-gallery__item:is(:nth-child(10n+1),:nth-child(10n+7)){grid-column:span 2;grid-row:span 2}.photo-gallery__item:is(:nth-child(10n+2),:nth-child(10n+6)){grid-row:span 2}.photo-gallery__open{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;cursor:zoom-in;overflow:hidden;border-radius:calc(var(--slim-radius, 8px) + 6px);background:var(--slim-blue-soft);line-height:0;box-shadow:0 1px 2px rgb(16 32 80/6%),0 14px 30px -22px rgb(16 32 80/45%)}.photo-gallery__open img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.photo-gallery__open:focus-visible img,.photo-gallery__open:hover img{transform:scale(1.05)}.photo-gallery__open:focus-visible{outline:3px solid var(--slim-blue);outline-offset:3px}.photo-gallery__caption{position:absolute;inset:auto 0 0 0;padding:48px 18px 16px;text-align:left;line-height:1.45;font:500 15px/1.45 var(--slim-font-body);color:#fff;overflow-wrap:anywhere;background:linear-gradient(0deg,rgb(8 20 60/88%),rgb(8 20 60/55%) 55%,transparent);opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.photo-gallery__caption-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.photo-gallery__open:focus-visible .photo-gallery__caption,.photo-gallery__open:hover .photo-gallery__caption{opacity:1;transform:none}@media (hover:none){.photo-gallery__caption{opacity:1;transform:none}}.photo-gallery-viewer{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}.photo-gallery-viewer::backdrop{background:rgb(8 16 45/92%)}.photo-gallery-viewer__panel{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:clamp(56px,7vh,80px) clamp(16px,7vw,120px) clamp(24px,4vh,40px)}.photo-gallery-viewer__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:100%;max-height:100%}.photo-gallery-viewer__stage{position:relative;max-width:100%;overflow:hidden;border-radius:10px;background:rgb(255 255 255/8%);box-shadow:0 30px 80px -30px rgb(0 0 0/70%)}.photo-gallery-viewer__placeholder{position:absolute;inset:-12px;background-size:cover;background-position:50%;filter:blur(12px);opacity:.55;transition:opacity .35s ease}.photo-gallery-viewer__stage[data-loaded] .photo-gallery-viewer__placeholder{opacity:0}.photo-gallery-viewer__figure .photo-gallery-viewer__stage img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0;box-shadow:none;opacity:0;transition:opacity .35s ease}.photo-gallery-viewer__figure .photo-gallery-viewer__stage[data-loaded] img{opacity:1}.photo-gallery-viewer__spinner{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;box-sizing:border-box;border:3px solid rgb(255 255 255/30%);border-top-color:#fff;background:rgb(8 16 45/45%);animation:photo-gallery-spin .8s linear infinite}@keyframes photo-gallery-spin{to{transform:rotate(1turn)}}.photo-gallery-viewer__figure img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 190px);object-fit:contain;border-radius:10px;box-shadow:0 30px 80px -30px rgb(0 0 0/70%)}.photo-gallery-viewer__figure figcaption{max-width:min(760px,100%);text-align:center;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:#fff;overflow-wrap:anywhere}.photo-gallery-viewer__close,.photo-gallery-viewer__nav{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgb(255 255 255/14%);color:#fff;font-size:24px;line-height:1;transition:background-color .2s ease,transform .2s ease}.photo-gallery-viewer__close{top:clamp(10px,2vh,20px);right:clamp(10px,2vw,24px);font-size:30px}.photo-gallery-viewer__nav{top:50%;margin-top:-24px}.photo-gallery-viewer__nav--prev{left:clamp(8px,2vw,28px)}.photo-gallery-viewer__nav--next{right:clamp(8px,2vw,28px)}.photo-gallery-viewer__close:hover,.photo-gallery-viewer__nav:hover{background:rgb(255 255 255/28%)}.photo-gallery-viewer__nav--prev:hover{transform:translateX(-2px)}.photo-gallery-viewer__nav--next:hover{transform:translateX(2px)}.photo-gallery-viewer__close:focus-visible,.photo-gallery-viewer__nav:focus-visible{outline:3px solid #fff;outline-offset:2px}.photo-gallery-viewer__count{position:absolute;top:clamp(18px,2.6vh,28px);left:clamp(16px,2vw,28px);margin:0;font-size:14px;letter-spacing:.08em;opacity:.8}html:has(.photo-gallery-viewer[open]){overflow:hidden}@keyframes photo-gallery-viewer-in{0%{opacity:0}}html:not([data-animations=off]) .photo-gallery-viewer[open]{animation:photo-gallery-viewer-in .22s ease-out}@media (max-width:600px){.photo-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px}.photo-gallery__caption{padding:32px 10px 10px;font-size:13px}.photo-gallery-viewer__nav{top:auto;bottom:16px;margin-top:0}.photo-gallery-viewer__panel{padding-bottom:84px}}@media (prefers-reduced-motion:reduce){.photo-gallery-viewer__close,.photo-gallery-viewer__nav,.photo-gallery__caption,.photo-gallery__open img{transition:none}.photo-gallery__open:focus-visible img,.photo-gallery__open:hover img{transform:none}.photo-gallery-viewer[open]{animation:none!important}.photo-gallery-viewer__placeholder,.photo-gallery-viewer__stage img{transition:none!important}.photo-gallery-viewer__spinner{animation-duration:2.4s}}html[data-animations=off] :is(.photo-gallery__open img,.photo-gallery__caption){transition:none}html[data-animations=off] .photo-gallery__open:hover img{transform:none}