
.a27-gallery-hero{min-height:450px}
.a27-gallery-hero .a27-audience-image img{object-position:60% center}
@media(min-width:768px) and (max-width:1199px){.a27-gallery-hero{min-height:480px}}
.a27-gallery{background:var(--paper)}
.a27-gallery-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;margin-bottom:36px}
.a27-gallery-head h2{margin:0;font-size:clamp(32px,3.6vw,52px)}
.a27-gallery-head p{margin:0;max-width:460px;color:var(--muted);font-size:16px}
.a27-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row dense;gap:10px;margin:0;padding:0;list-style:none}
.a27-page .a27-gallery-grid{padding-inline:0}
.a27-gallery-grid li{position:relative;aspect-ratio:3/2;overflow:hidden;background:#17144414}
.a27-gallery-grid li.is-tall{grid-row:span 2;aspect-ratio:auto}
.a27-gallery-grid li.is-feature{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

.a27-gallery-grid li.is-tall a,.a27-gallery-grid li.is-feature a{position:absolute;inset:0}
.a27-gallery-grid li[hidden]{display:none}
.a27-gallery-grid a{display:block;width:100%;height:100%}
.a27-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s}
.a27-gallery-grid a:after{content:'';position:absolute;inset:0;border:0 solid var(--cyan);transition:border-width .2s;pointer-events:none}
.a27-gallery-grid a:hover img{transform:scale(1.04)}
.a27-gallery-grid a:hover:after,.a27-gallery-grid a:focus-visible:after{border-width:4px}
.a27-gallery-grid a:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.a27-gallery-more{display:flex;justify-content:center;margin-top:40px}
.a27-gallery-more button{border:0;cursor:pointer}
.a27-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0d0b2bf2;color:#fff;overflow:hidden}
.a27-lightbox::backdrop{background:#0d0b2bf2}
.a27-lightbox[open]{display:flex;align-items:center;justify-content:center}
.a27-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:calc(100vw - 160px)}
.a27-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px #0008}
.a27-lightbox figcaption{font-size:14px;letter-spacing:.06em;color:#d2d5e3}
.a27-lightbox button{position:absolute;display:grid;place-items:center;width:56px;height:56px;border:1px solid #ffffff40;background:#17144499;color:#fff;font-size:34px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.a27-lightbox button:hover,.a27-lightbox button:focus-visible{background:var(--red);border-color:var(--red);outline:0}
.a27-lb-close{top:20px;right:20px}
.a27-lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.a27-lb-next{right:24px;top:50%;transform:translateY(-50%)}
html.a27-lb-open{overflow:hidden}
@media(max-width:1023px){.a27-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){
  .a27-gallery-hero{min-height:0}
  .a27-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .a27-gallery-head{margin-bottom:24px}
  .a27-lightbox figure{max-width:100vw}
  .a27-lightbox img{max-height:calc(100vh - 150px)}
  .a27-lightbox button{width:46px;height:46px;font-size:28px}
  .a27-lb-prev,.a27-lb-next{top:auto;bottom:18px;transform:none}
  .a27-lb-prev{left:calc(50% - 56px)}.a27-lb-next{right:calc(50% - 56px)}
  .a27-lb-close{top:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){.a27-gallery-grid img{transition:none}.a27-gallery-grid a:hover img{transform:none}}


@media(max-width:767px){.a27-gallery-grid li.is-feature{grid-row:auto;aspect-ratio:3/2}}
