.gallery-page{padding-bottom:clamp(5rem,10vw,9rem)}body[data-page=gallery] .page-hero{padding-block:clamp(2rem,4vh,3.5rem)}body[data-page=gallery] .breadcrumbs{margin-bottom:clamp(1.75rem,4vh,2.75rem)}body[data-page=gallery] .page-hero h1{font-size:clamp(3rem,5.25vw,5.75rem)}body[data-page=gallery] .page-hero__grid>p{max-width:27rem;font-size:clamp(1rem,1.35vw,1.2rem)}.filter-bar{position:sticky;top:5.5rem;z-index:20;display:flex;gap:.5rem;padding-block:1rem;overflow-x:auto;border-block:1px solid var(--line);background:#f6f3ecf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{min-height:2.75rem;flex:0 0 auto;padding:.65rem 1rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;font-size:var(--text-sm);transition:background .16s ease,border-color .16s ease,color .16s ease}.filter-chip:hover{border-color:var(--ink)}.filter-chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--white)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;padding-top:2rem}.gallery-item{position:relative;aspect-ratio:4 / 5;min-width:0;padding:0;overflow:hidden;border:0;border-radius:var(--radius-md);background:#e5e1d8;color:var(--white);text-align:left}.gallery-item img{width:100%;height:100%;object-fit:contain;transition:transform .45s var(--ease-out),filter .45s ease}.gallery-item>span{position:absolute;right:.75rem;bottom:.75rem;left:.75rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid rgb(255 255 255 / .28);border-radius:var(--radius-sm);background:#11110fa8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(.5rem);transition:opacity .18s ease,transform .18s var(--ease-out)}.gallery-item strong,.gallery-item small{font-size:var(--text-xs);font-weight:500}.gallery-item small{color:#c5c1b9;text-transform:uppercase}.gallery-item:hover img,.gallery-item:focus-visible img{filter:brightness(.86);transform:scale(1.03)}.gallery-item:hover>span,.gallery-item:focus-visible>span{opacity:1;transform:translateY(0)}.gallery-empty{padding:5rem 1rem;color:var(--muted);text-align:center}.gallery-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;padding:clamp(3rem,6vw,5rem);margin-bottom:clamp(5rem,10vw,9rem);border-radius:var(--radius-lg);background:var(--accent);color:var(--white)}.gallery-cta .eyebrow{color:#ded9ff}.gallery-cta h2{max-width:14ch;margin:0;font-size:clamp(2.25rem,4vw,4rem)}.gallery-cta h2 em{color:var(--white)}.lightbox{width:100%;max-width:none;height:100%;max-height:none;padding:1rem;border:0;background:var(--ink);color:var(--white)}.lightbox::backdrop{background:var(--ink)}.lightbox__topbar,.lightbox__controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:4rem}.lightbox__topbar p{margin:0;font-size:var(--text-sm)}.lightbox__media{display:grid;height:calc(100dvh - 10rem);place-items:center;padding:1rem 4rem}.lightbox__media img{width:auto;height:auto;max-width:min(80vw,64rem);max-height:min(72dvh,48rem);border-radius:var(--radius-sm);object-fit:contain;box-shadow:0 1.5rem 5rem #00000047}.lightbox__controls{grid-template-columns:1fr auto 1fr}.lightbox__controls button:first-child{justify-self:start}.lightbox__controls button:last-child{justify-self:end}.lightbox__controls span{color:#a39f97;font-size:var(--text-xs)}@media (max-width: 64rem){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 50rem){body[data-page=gallery] .page-hero h1{font-size:clamp(2.75rem,11vw,4.5rem)}.filter-bar{top:4.5rem}.gallery-item>span{opacity:1;transform:none}.gallery-cta{align-items:flex-start;flex-direction:column}.lightbox__media{padding-inline:1rem}.lightbox__media img{max-width:calc(100vw - 3rem);max-height:68dvh}}@media (max-width: 35rem){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gallery-item>span{right:.45rem;bottom:.45rem;left:.45rem;padding:.65rem}.gallery-item small{display:none}.gallery-cta{padding:2rem 1.5rem;border-radius:var(--radius-md)}.lightbox__controls .button{min-height:2.75rem;padding-inline:.8rem;font-size:var(--text-xs)}}
