.gallery-page { background: #070707; }
.gallery-hero { padding: clamp(4.5rem,8vw,7rem) 0 clamp(3rem,6vw,5rem); border-bottom: 1px solid rgba(255,255,255,.08); background: radial-gradient(circle at 75% 35%, rgba(229,169,27,.12), transparent 28rem), #070707; }
.gallery-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.gallery-hero h1 { margin: .3rem 0 1rem; font-size: clamp(3rem,7vw,6.2rem); line-height: .94; text-transform: uppercase; }
.gallery-hero p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.gallery-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.45rem; }
.gallery-hero-art { overflow: hidden; border: 1px solid rgba(229,169,27,.28); border-radius: 24px; box-shadow: 0 28px 55px rgba(0,0,0,.35); }
.gallery-hero-art img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.gallery-main { padding: clamp(3rem,6vw,5rem) 0; }
.gallery-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.4rem; }
.gallery-heading-row h2 { margin: .25rem 0 0; }
.gallery-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.gallery-filters button { border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: .65rem .9rem; color: #fff; background: rgba(255,255,255,.035); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.gallery-filters button.is-active, .gallery-filters button:hover, .gallery-filters button:focus-visible { border-color: var(--gold-bright); color: var(--gold-bright); background: rgba(229,169,27,.1); }
.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; }
.gallery-card { display: flex; min-width: 0; flex-direction: column; padding: 0; overflow: hidden; text-align: left; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; color: #fff; background: linear-gradient(150deg,#151515,#090909); cursor: pointer; }
.gallery-card[hidden] { display: none; }
.gallery-card-media { display: block; overflow: hidden; aspect-ratio: 1.18/1; background: #0a0a0a; }
.gallery-card-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
.gallery-card:hover .gallery-card-media img { transform: scale(1.025); }
.gallery-card-copy { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1rem; }
.gallery-card-copy strong { font-size: .95rem; }
.gallery-card-copy small { flex: 0 0 auto; color: var(--gold-bright); font-weight: 800; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.gallery-bottom-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.5rem; margin-top: 3rem; padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid rgba(229,169,27,.25); border-radius: 20px; background: linear-gradient(145deg,rgba(229,169,27,.08),rgba(255,255,255,.025)); }
.gallery-bottom-cta h2 { margin: .25rem 0 .5rem; }
.gallery-bottom-cta p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--muted); }
.gallery-bottom-cta > div:last-child { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.gallery-lightbox { width: min(1100px,calc(100vw - 2rem)); max-width: none; max-height: calc(100vh - 2rem); padding: 0; border: 1px solid rgba(229,169,27,.3); border-radius: 22px; background: #080808; color: #fff; }
.gallery-lightbox::backdrop { background: rgba(0,0,0,.88); backdrop-filter: blur(4px); }
.gallery-lightbox-shell { position: relative; }
.gallery-lightbox img { display: block; width: 100%; max-height: calc(100vh - 190px); object-fit: contain; background: #030303; }
.gallery-lightbox-close { position: absolute; z-index: 2; top: .7rem; right: .7rem; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #fff; background: rgba(0,0,0,.75); font-size: 1.6rem; cursor: pointer; }
.gallery-lightbox-copy { padding: 1rem 1.1rem 1.15rem; }
.gallery-lightbox-copy h2 { margin: .1rem 0 .8rem; font-size: 1.35rem; }
.gallery-lightbox-nav { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.gallery-lightbox-nav span { color: var(--muted); font-size: .8rem; }
@media(max-width:900px){.gallery-hero-grid,.gallery-bottom-cta{grid-template-columns:1fr}.gallery-hero-art{max-width:620px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-bottom-cta>div:last-child{justify-content:flex-start}.gallery-heading-row{align-items:flex-start;flex-direction:column}.gallery-filters{justify-content:flex-start}}
@media(max-width:600px){.gallery-hero{padding-top:4rem}.gallery-grid{grid-template-columns:1fr}.gallery-card-media{aspect-ratio:1.28/1}.gallery-card-copy{align-items:flex-start;flex-direction:column;gap:.3rem}.gallery-hero-actions .button,.gallery-bottom-cta .button{width:100%;text-align:center;justify-content:center}.gallery-bottom-cta>div:last-child{display:grid;grid-template-columns:1fr;width:100%}.gallery-lightbox{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.gallery-lightbox img{max-height:calc(100vh - 175px)}.gallery-lightbox-nav .button{min-width:0;padding-inline:.6rem;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.gallery-card-media img{transition:none}}
