/* Image-led gallery with readable frosted captions. */
.gallery-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 23px; }
.gallery-tile { position: relative; display: block; height: 320px; grid-column: span 3; min-width: 0; overflow: hidden; border: 1px solid #e3eaf2; border-radius: 19px; background: #cadcec; }
.gallery-tile-1 { grid-column: span 4; height: 390px; }
.gallery-tile-2 { grid-column: span 2; height: 390px; }
.gallery-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(15,38,61,.05),transparent 35%,rgba(15,38,61,.27)); pointer-events: none; }
.gallery-tile > img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; transition: transform .45s ease; }
.gallery-tile:hover > img { transform: scale(1.035); }
.gallery-tag { position: absolute; z-index: 1; top: 18px; left: 18px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.4); border-radius: 6px; color: #fff; background: rgba(16,43,68,.7); font-size: 7px; font-weight: 600; letter-spacing: 1px; }
.gallery-open { position: absolute; z-index: 1; top: 15px; right: 15px; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(16,43,68,.6); }
.gallery-open .icon { width: 17px; height: 17px; }
.gallery-caption { position: absolute; z-index: 1; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.45); border-radius: 12px; color: #fff; background: #274e6e; }
.gallery-caption > span { display: flex; flex-direction: column; gap: 5px; }
.gallery-caption strong { font-size: 15px; font-weight: 600; letter-spacing: -.25px; line-height: 1.6; }
.gallery-caption small { color: #e0eaf5; font-size: 10px; }
.gallery-caption > .icon { width: 23px; height: 23px; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .gallery-caption { background: rgba(16,43,68,.62); -webkit-backdrop-filter: blur(17px) saturate(125%); backdrop-filter: blur(17px) saturate(125%); } }
@media(max-width:1000px) { .gallery-grid { gap: 18px; } .gallery-tile-1,.gallery-tile-2 { height: 350px; } .gallery-tile-1,.gallery-tile-2 { grid-column: span 3; } .gallery-caption { padding: 15px; left: 14px; right: 14px; bottom: 14px; } .gallery-caption strong { font-size: 13px; } .gallery-caption small { font-size: 9px; } }
@media(max-width:760px) { .gallery-grid { grid-template-columns: minmax(0,1fr); gap: 19px; } .gallery-tile,.gallery-tile-1,.gallery-tile-2 { grid-column: auto; height: 330px; } .gallery-caption { left: 17px; right: 17px; bottom: 17px; padding: 17px; } .gallery-caption strong { font-size: 15px; } .gallery-caption small { font-size: 10px; } }
@media(max-width:420px) { .gallery-tile,.gallery-tile-1,.gallery-tile-2 { height: 305px; } .gallery-caption strong { font-size: 14px; } }
