.gallery-page{background:#fbf8f5;color:var(--site-accent,#4a2114)}.gallery-page .public-shell{width:80%;max-width:none;margin-left:auto;margin-right:auto}.gallery-intro-section{padding:clamp(3.5rem,7vw,6.2rem) 0 clamp(2rem,4vw,3.3rem);border-bottom:1px solid rgba(74,33,20,.1)}.gallery-intro-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);gap:clamp(2rem,6vw,6rem);align-items:end}.gallery-eyebrow{display:block;margin-bottom:.65rem;color:var(--site-accent-2,#f26a21);font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.gallery-intro-section h1{max-width:14ch;margin:0;color:var(--site-accent,#4a2114);font-size:clamp(2.5rem,4.5vw,4.25rem);font-weight:800;line-height:1;letter-spacing:-.035em}.gallery-intro-copy{max-width:720px;margin:0;color:#735f56;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.8}.gallery-intro-copy>:first-child{margin-top:0}.gallery-intro-copy>:last-child{margin-bottom:0}.gallery-mosaic-section{padding:clamp(1.2rem,3vw,2.2rem) 0 clamp(4rem,8vw,7rem)}.gallery-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:8px;gap:12px}.gallery-tile{min-width:0;overflow:hidden;border-radius:14px;background:#e9e0db;box-shadow:0 1px 0 rgba(74,33,20,.08)}.gallery-tile.is-landscape{grid-column:span 2}.gallery-tile-button{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit}.gallery-media-wrap{position:relative;display:block;overflow:hidden;background:#e9e0db}.gallery-media-wrap img,.gallery-media-wrap video{display:block;width:100%;height:auto;min-height:120px;object-fit:cover;transition:transform .45s ease}.gallery-tile.is-video .gallery-media-wrap video{aspect-ratio:16/9}.gallery-tile-button:hover img,.gallery-tile-button:hover video{transform:scale(1.018)}.gallery-hover-copy{position:absolute;right:0;bottom:0;left:0;display:grid;gap:.2rem;padding:2.8rem .95rem .85rem;background:linear-gradient(transparent,rgba(31,15,9,.78));color:#fff;opacity:0;transition:opacity .22s ease;pointer-events:none}.gallery-hover-copy strong{font-size:.92rem;line-height:1.25}.gallery-hover-copy span{display:-webkit-box;overflow:hidden;font-size:.75rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gallery-tile-button:hover .gallery-hover-copy,.gallery-tile-button:focus-visible .gallery-hover-copy{opacity:1}.gallery-tile-button:focus-visible{outline:3px solid color-mix(in srgb,var(--site-accent-2,#f26a21) 55%,transparent);outline-offset:-3px}.gallery-video-icon{position:absolute;top:.7rem;right:.7rem;display:grid;width:2.2rem;height:2.2rem;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(29,15,10,.62);color:#fff;font-size:1.25rem;backdrop-filter:blur(8px);transition:opacity .2s ease}.gallery-tile.is-video:hover .gallery-video-icon{opacity:.2}.gallery-public-empty{display:grid;justify-items:center;padding:5rem 1rem;text-align:center}.gallery-public-empty i{color:var(--site-accent-2,#f26a21);font-size:2.6rem}.gallery-public-empty h2{margin:.6rem 0 .2rem;font-size:2rem}.gallery-public-empty p{margin:0;color:#7a655c}.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(.7rem,2vw,1.4rem)}.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(20,10,6,.92);backdrop-filter:blur(8px)}.gallery-lightbox-dialog{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;width:min(1280px,96vw);height:min(88vh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#120b08;box-shadow:0 28px 80px rgba(0,0,0,.4)}.gallery-lightbox-stage{grid-column:2;display:grid;min-width:0;min-height:0;place-items:center;padding:1.2rem}.gallery-lightbox-stage img,.gallery-lightbox-stage video{display:block;max-width:100%;max-height:calc(88vh - 105px);object-fit:contain;border-radius:8px}.gallery-lightbox-stage video{width:min(1100px,100%);background:#000}.gallery-lightbox-copy{grid-column:1/-1;display:grid;gap:.18rem;padding:.85rem 4.5rem 1rem;border-top:1px solid rgba(255,255,255,.12);color:#fff;text-align:center}.gallery-lightbox-copy strong{font-size:1rem}.gallery-lightbox-copy p{margin:0;color:rgba(255,255,255,.7);font-size:.82rem}.gallery-lightbox-close,.gallery-lightbox-nav{position:relative;z-index:2;border:0;background:transparent;color:#fff;cursor:pointer}.gallery-lightbox-close{position:absolute;top:.65rem;right:.65rem;display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:50%;background:rgba(255,255,255,.1)}.gallery-lightbox-nav{display:grid;width:3.3rem;place-items:center;font-size:1.7rem}.gallery-lightbox-nav:hover,.gallery-lightbox-close:hover{background:rgba(255,255,255,.12)}body.gallery-modal-open{overflow:hidden}@media(max-width:1100px){.gallery-page .public-shell{width:88%}.gallery-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-intro-inner{grid-template-columns:1fr 1fr}}@media(max-width:760px){.gallery-page .public-shell{width:92%}.gallery-intro-inner{grid-template-columns:1fr;gap:1.2rem}.gallery-intro-section h1{max-width:none}.gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-tile.is-landscape{grid-column:span 2}.gallery-hover-copy{opacity:1;padding:2.2rem .7rem .62rem}.gallery-hover-copy span{display:none}.gallery-lightbox-dialog{grid-template-columns:2.6rem minmax(0,1fr) 2.6rem;width:98vw;height:min(82vh,760px)}.gallery-lightbox-stage{padding:.65rem}.gallery-lightbox-copy{padding:.7rem 3rem .85rem}.gallery-lightbox-stage img,.gallery-lightbox-stage video{max-height:calc(82vh - 90px)}}@media(max-width:460px){.gallery-mosaic{grid-template-columns:1fr}.gallery-tile.is-landscape{grid-column:span 1}.gallery-hover-copy{opacity:0}.gallery-video-icon{width:2rem;height:2rem}.gallery-lightbox{padding:.25rem}.gallery-lightbox-dialog{width:100%;height:80vh;border-radius:12px}.gallery-lightbox-copy{padding:.65rem 2.8rem .8rem}}
@media(prefers-reduced-motion:reduce){.gallery-media-wrap img,.gallery-media-wrap video{transition:none}.gallery-hover-copy{transition:none}}
