/* TSB Galleries v4.2.2 — scoped only to the five gallery templates. */
.tsb-gallery-page .page-hero,.page-hero.tsb-gallery-hero{min-height:560px!important;height:64vh!important;max-height:680px!important}
.tsb-gallery-page .page-hero__inner{padding-top:7rem!important;padding-bottom:5rem!important}
.tsb-gallery-section{padding-top:2.6rem}
.tsb-gallery-empty{text-align:center;opacity:.7;padding:4rem 1rem}
/* Desktop standard: exactly three columns. Native media ratio is preserved. */
.tsb-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.35rem}
.tsb-gallery__item,.tsb-gallery__item--auto,.tsb-gallery__item--horizontal,.tsb-gallery__item--vertical,.tsb-gallery__item--square{display:block;position:relative;overflow:hidden;border:1px solid #d7a12a;border-radius:5px;background:#14141c;min-width:0;aspect-ratio:auto!important;grid-column:auto!important}
.tsb-gallery__item img{width:100%;height:auto;max-height:none;object-fit:contain;display:block;transition:transform .5s ease;background:#0b0d12}
.tsb-gallery__item:hover img{transform:scale(1.02)}
.tsb-gallery__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.7);display:grid;place-items:center;color:#fff;font-size:20px}
.tsb-gallery__video-placeholder{width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#171720,#08080b)}
.tsb-gallery__video-placeholder span{font-size:2rem}
.tsb-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(5,5,8,.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s}
.tsb-lightbox[hidden]{display:none}.tsb-lightbox.is-open{opacity:1;visibility:visible}.tsb-lightbox__stage{max-width:92vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.tsb-lightbox__img,.tsb-lightbox__video{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.6)}.tsb-lightbox__video{display:none}.tsb-lightbox__close,.tsb-lightbox__arrow{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;border-radius:50%;z-index:2}.tsb-lightbox__close{top:1.25rem;right:1.25rem;width:44px;height:44px;font-size:1.5rem}.tsb-lightbox__arrow{top:50%;transform:translateY(-50%);width:50px;height:50px}.tsb-lightbox__prev{left:1.25rem}.tsb-lightbox__next{right:1.25rem}
@media(max-width:900px){.tsb-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tsb-gallery-page .page-hero,.page-hero.tsb-gallery-hero{min-height:440px!important;height:52vh!important;max-height:560px!important}}
@media(max-width:560px){.tsb-gallery{grid-template-columns:1fr;gap:1rem}.tsb-gallery-page .page-hero,.page-hero.tsb-gallery-hero{min-height:360px!important;height:46vh!important;max-height:460px!important}.tsb-gallery-page .page-hero__inner{padding-top:5rem!important;padding-bottom:3rem!important}.tsb-lightbox__arrow{width:40px;height:40px}.tsb-lightbox__prev{left:.5rem}.tsb-lightbox__next{right:.5rem}}

/* v4.2.5 — editable gallery hero treatment shared by photo + video */
.tsb-gallery-hero{isolation:isolate}
.tsb-gallery-hero .page-hero__video{z-index:0}
.tsb-gallery-hero__gradient{z-index:1!important;background:linear-gradient(105deg,rgba(4,7,12,var(--tsb-hero-overlay,.70)) 0%,rgba(4,7,12,calc(var(--tsb-hero-overlay,.70)*.88)) 42%,rgba(80,55,18,calc(var(--tsb-hero-overlay,.70)*.55)) 78%,rgba(196,151,68,calc(var(--tsb-hero-overlay,.70)*.32)) 100%)!important}
.tsb-gallery-hero .page-hero__orb{z-index:1;opacity:.45}
.tsb-gallery-hero__copy{z-index:2!important;max-width:1180px!important;width:100%;padding-left:clamp(1.25rem,4vw,4rem);padding-right:clamp(1.25rem,4vw,4rem)}
.tsb-gallery-hero__eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.78rem;font-weight:600;color:#f7f4ed;margin-bottom:1rem}
.tsb-gallery-hero__copy .page-hero__title{max-width:900px}
.tsb-gallery-hero__copy .page-hero__title em{color:#d7b46a;font-style:normal;font-weight:400}
.tsb-gallery-hero__copy .page-hero__subtitle{max-width:780px}
.tsb-gallery-hero__services{display:flex;flex-wrap:wrap;gap:.65rem 0;margin-top:1.5rem;max-width:900px}
.tsb-gallery-hero__services span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#fff;padding:.45rem 1.1rem;border-left:1px solid rgba(215,180,106,.75)}
.tsb-gallery-hero__services span:first-child{border-left:0;padding-left:0}
@media(max-width:700px){.tsb-gallery-hero__eyebrow{font-size:.68rem;letter-spacing:.18em}.tsb-gallery-hero__services span{width:50%;border-left:0;padding-left:0;padding-right:.75rem}}

/* v4.3.2: gap-free masonry columns; original image proportions remain intact. */
.tsb-gallery{display:block!important;columns:3 240px;column-gap:1.35rem}
.tsb-gallery__item{display:block!important;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 1.35rem!important;width:100%;}
@media(max-width:900px){.tsb-gallery{columns:2 170px}}
@media(max-width:560px){.tsb-gallery{columns:1;column-gap:1rem}.tsb-gallery__item{margin-bottom:1rem!important}}
