.gallery{background:var(--color-ivory);min-height:100vh}.gallery .gallery-main{background:var(--color-ivory);padding-top:64px}.gallery .gallery-hero{background:var(--color-cream);text-align:center;padding:5rem 1.5rem}.gallery .gallery-hero h1{color:var(--color-espresso);margin-bottom:.75rem;font-size:clamp(4rem,8vw,4.5rem);font-weight:400}.gallery .gallery-hero p{color:var(--color-espresso-500-60);font-family:var(--font-serif);margin:0;font-size:1.125rem;font-style:italic}.gallery .gallery-divider{background:var(--color-gold);width:60px;height:1px;margin:1.25rem auto 0}.gallery .gallery-container{width:min(100% - 48px,1280px);margin-inline-start:auto;margin-inline-end:auto;padding-block-start:3.5rem;padding-block-end:5rem}.gallery .gallery-grid{columns:4;column-gap:.625rem}.gallery .gallery-item{position:relative;display:block;overflow:hidden;break-inside:avoid;background:var(--color-cream);cursor:zoom-in;border:0;width:100%;margin:0 0 .625rem;padding:0}.gallery .gallery-item>img{display:block;transition:transform .7s var(--transition-ease-in-out);width:100%;height:auto}.gallery .gallery-item:hover>img{transform:scale(1.05)}.gallery .gallery-item:hover .gallery-item-overlay{background:var(--color-espresso-500-50)}.gallery .gallery-item:hover .gallery-item-overlay span{opacity:1}.gallery .gallery-item:focus-visible>img{transform:scale(1.05)}.gallery .gallery-item:focus-visible .gallery-item-overlay{background:var(--color-espresso-500-50)}.gallery .gallery-item:focus-visible .gallery-item-overlay span{opacity:1}.gallery .gallery-item-overlay{position:absolute;display:grid;transition:background-color var(--transition-duration-300)var(--transition-ease-in-out);background:0 0;place-items: center;inset:0}.gallery .gallery-item-overlay span{border:1px solid var(--color-gold);color:var(--color-ivory);letter-spacing:.1em;opacity:0;text-transform:uppercase;transition:opacity var(--transition-duration-300)var(--transition-ease-in-out);padding:.5rem 1rem;font-size:.625rem;font-weight:600}.gallery .gallery-lightbox{position:fixed;z-index:60;display:grid;background:var(--color-espresso-500-80);backdrop-filter:blur(4px);place-items: center;padding:1rem;inset:0}.gallery .gallery-lightbox[hidden]{display:none}.gallery .gallery-lightbox-dialog{position:relative;display:flex;justify-content:center;align-items: center;width:min(100%,48rem);max-height:90vh}.gallery .gallery-lightbox-dialog>img{object-fit:contain;width:auto;max-width:100%;max-height:85vh}.gallery .gallery-lightbox-caption{position:absolute;text-align:center;bottom:1rem;left:4rem;right:4rem}.gallery .gallery-lightbox-caption p{color:var(--color-gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.375rem;font-size:.625rem;font-weight:600}.gallery .gallery-lightbox-caption a{color:var(--color-ivory);letter-spacing:.08em;text-underline-offset:.25rem;text-transform:uppercase;font-size:.625rem}.gallery .gallery-lightbox-arrow{position:absolute;display:grid;color:var(--color-gold);cursor:pointer;transition:color var(--transition-duration-300)var(--transition-ease-in-out);background:0 0;border:0;place-items: center;width:44px;height:44px;padding:0}.gallery .gallery-lightbox-arrow:hover{color:var(--color-ivory)}.gallery .gallery-lightbox-arrow:focus-visible{color:var(--color-ivory)}.gallery .gallery-lightbox-close{position:absolute;display:grid;color:var(--color-gold);cursor:pointer;transition:color var(--transition-duration-300)var(--transition-ease-in-out);background:0 0;border:0;place-items: center;width:44px;height:44px;padding:0}.gallery .gallery-lightbox-close:hover{color:var(--color-ivory)}.gallery .gallery-lightbox-close:focus-visible{color:var(--color-ivory)}.gallery .gallery-lightbox-arrow{top:50%;transform:translateY(-50%)}.gallery .gallery-lightbox-arrow.gallery-lightbox-arrow-previous{left:1rem}.gallery .gallery-lightbox-arrow.gallery-lightbox-arrow-next{right:1rem}.gallery .gallery-lightbox-close{top:1rem;right:1rem}@media (max-width:1024px){.gallery .gallery-grid{columns:3}}@media (max-width:767px){.gallery .gallery-hero{padding-block-start:4rem;padding-block-end:4rem}.gallery .gallery-container{width:min(100% - 32px,1280px);padding-block-start:2.5rem;padding-block-end:4rem}.gallery .gallery-grid{columns:2}.gallery .gallery-lightbox-caption{left:3rem;right:3rem}}
