:root{--gallery-red:#c91620;--gallery-ink:#09090a;--gallery-cream:#f7f5f0}
body.gallery-page{background:var(--gallery-ink);color:#fff}
.gallery-page .site-header{position:fixed}
.gallery-event-hero{min-height:72vh;position:relative;display:flex;align-items:flex-end;padding:150px clamp(24px,7vw,110px) 72px;background:url('/assets/galleries/revere-2026-v112/hero.jpg') center 44%/cover no-repeat;overflow:hidden}
.gallery-event-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.12) 35%,rgba(0,0,0,.88) 100%)}
.gallery-event-hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(180deg,transparent,#09090a)}
.gallery-hero-copy{position:relative;z-index:2;max-width:1000px}.gallery-kicker{font:900 11px/1 Arial;letter-spacing:3.5px;color:#fff;text-transform:uppercase;margin-bottom:18px}.gallery-kicker b{color:var(--gallery-red)}
.gallery-event-hero h1{font:900 clamp(58px,7.4vw,116px)/.84 Arial;margin:0;letter-spacing:-.055em;text-transform:uppercase}.gallery-event-hero h1 span{color:var(--gallery-red)}
.gallery-event-hero p{font:700 14px/1.5 Arial;letter-spacing:2.3px;margin:24px 0 0;color:#e7e7e7;text-transform:uppercase}
.gallery-intro{background:#09090a;text-align:center;padding:54px 24px 40px}.gallery-intro .eyebrow{color:var(--gallery-red);font-size:10px;letter-spacing:3px}.gallery-intro h2{font:900 clamp(30px,4vw,54px)/.95 Arial;margin:12px 0 14px;letter-spacing:-.035em}.gallery-intro p{max-width:720px;margin:auto;color:#aaa;font:400 15px/1.65 Arial}.gallery-count{margin-top:18px;font:800 10px Arial;letter-spacing:2px;color:#666}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:5px;padding:5px;background:#09090a}.gallery-tile{position:relative;display:block;border:0;padding:0;background:#111;overflow:hidden;cursor:zoom-in;min-height:220px}.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}.gallery-tile:hover img{transform:scale(1.025);filter:brightness(.88)}.gallery-tile.landscape{grid-column:span 2;aspect-ratio:16/9}.gallery-tile.portrait{aspect-ratio:4/5}.gallery-tile.square{aspect-ratio:1/1}.gallery-tile.wide{grid-column:span 2;aspect-ratio:2/1}
.gallery-end{padding:100px 24px 110px;text-align:center;background:#09090a}.gallery-end .red-rule{width:52px;height:3px;background:var(--gallery-red);margin:0 auto 25px}.gallery-end h2{font:900 clamp(38px,5vw,72px)/.92 Arial;margin:0;letter-spacing:-.045em}.gallery-end p{color:#aaa;margin:18px auto 28px}.gallery-end a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--gallery-red);color:#fff;font:900 11px Arial;letter-spacing:1.2px;transition:transform .2s ease}.gallery-end a:hover{transform:scale(1.035)}
.gallery-viewer{position:fixed;inset:0;background:rgba(4,4,5,.985);z-index:1000;display:none;align-items:center;justify-content:center}.gallery-viewer.open{display:flex}.viewer-stage{position:absolute;inset:70px 72px 62px;display:flex;align-items:center;justify-content:center;overflow:hidden}.viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;transition:transform .22s ease;cursor:zoom-in}.viewer-stage img.zoomed{transform:scale(1.6);cursor:zoom-out}.viewer-bar{position:absolute;left:0;right:0;top:0;height:68px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(5,5,6,.72);backdrop-filter:blur(12px)}.viewer-title{font:800 10px Arial;letter-spacing:2px;color:#aaa;text-transform:uppercase}.viewer-actions{margin-left:auto;display:flex;gap:6px}.viewer-btn{border:0;background:transparent;color:#ddd;height:40px;padding:0 13px;font:800 10px Arial;letter-spacing:1px;cursor:pointer;transition:background .2s,color .2s}.viewer-btn:hover{background:#1d1d1f;color:#fff}.viewer-close{font-size:20px;padding:0 14px}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:70px;border:0;background:rgba(15,15,16,.58);color:#fff;font-size:38px;cursor:pointer;z-index:3}.viewer-prev{left:10px}.viewer-next{right:10px}.viewer-bottom{position:absolute;left:0;right:0;bottom:0;height:58px;display:flex;align-items:center;justify-content:center;color:#999;font:800 10px Arial;letter-spacing:2px;border-top:1px solid rgba(255,255,255,.06);background:rgba(5,5,6,.72)}
/* Gallery landing */
.gallery-landing-hero{min-height:76vh;position:relative;display:flex;align-items:flex-end;padding:150px clamp(24px,7vw,110px) 78px;background:url('/assets/galleries/revere-2026-v112/hero.jpg') center 44%/cover no-repeat}.gallery-landing-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.78))}.gallery-landing-hero>div{position:relative;z-index:2}.gallery-landing-hero h1{font:900 clamp(60px,8vw,120px)/.84 Arial;margin:10px 0 18px;letter-spacing:-.06em}.gallery-landing-hero h1 span{color:var(--gallery-red)}.gallery-landing-hero p{max-width:620px;color:#ddd;font:400 17px/1.6 Arial}.collection-section{background:var(--gallery-cream);color:#111;padding:90px clamp(24px,7vw,110px) 110px}.collection-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.collection-head h2{font:900 clamp(38px,5vw,66px)/.9 Arial;margin:0;letter-spacing:-.045em}.collection-head p{max-width:460px;color:#666;line-height:1.6}.collection-card{display:grid;grid-template-columns:1.55fr .85fr;background:#080809;color:#fff;min-height:520px;overflow:hidden}.collection-image{position:relative;overflow:hidden}.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.collection-card:hover .collection-image img{transform:scale(1.025)}.collection-info{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}.collection-info small{font:900 10px Arial;letter-spacing:2.4px;color:var(--gallery-red)}.collection-info h3{font:900 clamp(38px,4vw,64px)/.9 Arial;margin:14px 0 20px;letter-spacing:-.045em}.collection-info p{color:#aaa;line-height:1.65}.collection-meta{display:flex;gap:22px;margin:20px 0 28px;color:#ddd;font:800 10px Arial;letter-spacing:1.3px}.collection-link{display:inline-flex;width:max-content;background:var(--gallery-red);padding:15px 20px;font:900 10px Arial;letter-spacing:1px;transition:transform .2s}.collection-link:hover{transform:scale(1.035)}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-tile.landscape,.gallery-tile.wide{grid-column:span 2}.collection-card{grid-template-columns:1fr}.collection-image{min-height:420px}.collection-info{padding:38px 28px}.collection-head{display:block}.viewer-stage{inset:70px 10px 58px}.viewer-nav{width:42px;height:60px}.viewer-prev{left:2px}.viewer-next{right:2px}.viewer-title{display:none}}
@media(max-width:600px){.gallery-event-hero,.gallery-landing-hero{min-height:68vh;padding:140px 20px 48px}.gallery-event-hero h1,.gallery-landing-hero h1{font-size:clamp(45px,15vw,72px)}.gallery-event-hero p{font-size:10px;letter-spacing:1.4px}.photo-grid{gap:3px;padding:3px}.gallery-tile{min-height:140px}.gallery-tile.landscape,.gallery-tile.wide{grid-column:span 2}.viewer-actions .viewer-label{display:none}.viewer-btn{padding:0 10px}.collection-section{padding:65px 18px 80px}.collection-image{min-height:300px}}
