.facility-gallery{position:relative;overflow:hidden;padding:92px 0 104px;background:#f1fafa}
.facility-gallery::before{content:"";position:absolute;right:-220px;top:-260px;width:620px;height:620px;border:1px solid #71cbd02b;border-radius:50%}
.facility-gallery-heading{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:70px;align-items:end;margin-bottom:58px;padding-bottom:28px}.facility-gallery-heading::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#77cbd04f}.facility-gallery-heading::before{content:"";position:absolute;z-index:1;left:0;bottom:-1px;width:116px;height:3px;border-radius:3px;background:var(--aqua)}.facility-gallery-heading .eyebrow{margin-bottom:13px}.facility-gallery-heading h2{max-width:760px;margin:0;font-size:clamp(38px,4.2vw,62px)}.facility-gallery-heading>p{max-width:520px;margin:0 0 6px;font-size:16px;line-height:1.75}
.facility-gallery-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:260px;gap:20px 16px}.facility-gallery-card{display:flex;min-width:0;flex-direction:column;margin:0}.facility-gallery-card:nth-child(1){grid-column:span 8;grid-row:span 2}.facility-gallery-card:nth-child(2),.facility-gallery-card:nth-child(3){grid-column:span 4}.facility-gallery-card:nth-child(4),.facility-gallery-card:nth-child(5),.facility-gallery-card:nth-child(6){grid-column:span 4}.facility-gallery-card:nth-child(7),.facility-gallery-card:nth-child(8){grid-column:span 6}.facility-gallery-item{position:relative;display:block;min-height:0;flex:1;overflow:hidden;width:100%;border-radius:22px;background:#cde7e7;box-shadow:0 14px 34px #173e470d}.facility-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .4s ease}.facility-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,#052f3cbd);opacity:.72;transition:opacity .3s}.facility-gallery-item:hover img{transform:scale(1.045)}.facility-gallery-item:hover::after{opacity:.9}.facility-gallery-number{position:absolute;z-index:2;left:18px;bottom:15px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em}.facility-gallery-open{position:absolute;z-index:2;right:16px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffffffeb;color:var(--teal);font-size:17px;transition:transform .25s}.facility-gallery-item:hover .facility-gallery-open{transform:translate(2px,-2px)}.facility-gallery-caption{min-height:44px;margin:11px 4px 0;color:var(--ink);font-size:14px;font-weight:700;line-height:1.5}
.facility-lightbox[hidden]{display:none}.facility-lightbox{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:36px;background:#021b23e8;backdrop-filter:blur(8px)}.facility-lightbox-image{display:block;max-width:min(1180px,90vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 90px #0009}.facility-lightbox-close{position:fixed;top:25px;right:28px;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff54;border-radius:50%;background:#073e4bd9;color:#fff;font-size:25px;cursor:pointer}.facility-lightbox-close:hover{background:#0b6976}
@media(max-width:1000px){.facility-gallery{padding:72px 0 82px}.facility-gallery-heading{grid-template-columns:1fr;gap:18px;margin-bottom:42px}.facility-gallery-heading>p{max-width:700px}.facility-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:26px 14px}.facility-gallery-card:nth-child(n){grid-column:span 1;grid-row:span 1}.facility-gallery-item{flex:none;aspect-ratio:1}}
@media(max-width:620px){.facility-gallery{padding:58px 0 68px}.facility-gallery-heading{margin-bottom:34px;padding-bottom:22px}.facility-gallery-heading h2{font-size:36px}.facility-gallery-heading>p{font-size:14px}.facility-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.facility-gallery-item{border-radius:15px}.facility-gallery-number{left:12px;bottom:11px}.facility-gallery-open{right:10px;bottom:9px;width:32px;height:32px}.facility-gallery-caption{min-height:38px;margin:8px 2px 0;font-size:12px;line-height:1.45}.facility-lightbox{padding:18px}.facility-lightbox-image{max-width:94vw;max-height:82vh}.facility-lightbox-close{top:16px;right:16px}}