body.gallery-page{overflow-x:clip}
.gallery-hero{position:relative;min-height:540px;min-height:62svh;display:flex;align-items:end;overflow:hidden;background:#1b1d1e;color:#fff}
.gallery-hero-image,.gallery-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.gallery-hero-image{object-fit:cover;object-position:center 44%}
.gallery-hero-shade{background:linear-gradient(90deg,rgba(9,12,12,.88) 0%,rgba(9,12,12,.35) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 72%)}
.gallery-hero-content{position:relative;z-index:1;padding-top:155px;padding-bottom:75px}
.gallery-eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 22px;font-size:.72rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.gallery-eyebrow::before{content:"";width:36px;height:3px;background:var(--red)}
.gallery-hero h1{max-width:1100px;margin:0;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(4rem,8vw,8.4rem);line-height:.9;letter-spacing:-.02em;text-transform:uppercase}
.gallery-hero h1 span{color:var(--red)}
.gallery-hero-content>p:last-child{max-width:650px;margin:23px 0 0;color:#eef0ef;font-size:clamp(1rem,1.5vw,1.15rem)}
.gallery-nav{background:#151818;color:#fff;border-top:1px solid #ffffff33}
.gallery-nav .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-nav a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:0;min-height:74px;padding:16px 23px;border-right:1px solid #ffffff29;font-size:.72rem;font-weight:800;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;transition:background .2s}
.gallery-nav a:first-child{border-left:1px solid #ffffff29}
.gallery-nav a:hover,.gallery-nav a:focus-visible{background:#292d2d}
.gallery-nav strong{flex:none;color:var(--red);font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:1.35rem;letter-spacing:0}
.gallery-section{padding:78px 0 88px;scroll-margin-top:80px;background:#f5f6f3}
.gallery-section--dark{background:#191c1c;color:#fff}
.gallery-section-head{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:end;gap:30px;margin-bottom:30px}
.gallery-section-index{align-self:start;padding-top:7px;color:var(--red);font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:1.9rem;white-space:nowrap}
.gallery-section h2{max-width:830px;margin:0;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(2.7rem,4.5vw,5rem);line-height:.98;letter-spacing:-.01em;text-transform:uppercase;overflow-wrap:anywhere}
.gallery-section h2 span{color:var(--red)}
.gallery-section-tools{display:flex;flex-direction:column;align-items:end;gap:16px;padding-bottom:2px}
.gallery-count{white-space:nowrap;color:#5b6161;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.gallery-section--dark .gallery-count{color:#c3c8c6}
.gallery-controls{display:flex;gap:8px}
.gallery-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #c3c9c5;background:transparent;color:#171a1a;font-size:1.25rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.gallery-controls button:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}
.gallery-controls button:disabled{opacity:.36;cursor:default}
.gallery-section--dark .gallery-controls button{border-color:#ffffff70;color:#fff}
.gallery-section--dark .gallery-controls button:hover:not(:disabled){border-color:var(--red)}
.gallery-track{display:flex;gap:14px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--red) #d8dbd7;overscroll-behavior-inline:contain;padding:0 0 12px}
.gallery-section--dark .gallery-track{scrollbar-color:var(--red) #454b49}
.gallery-card{position:relative;flex:0 0 min(36vw,430px);height:clamp(290px,32vw,425px);min-width:0;overflow:hidden;scroll-snap-align:start;border:0;padding:0;background:#222;cursor:zoom-in;text-align:left}
.gallery-card.is-featured{flex-basis:min(56vw,700px)}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .35s}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.045);filter:brightness(.88)}
.gallery-card::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);pointer-events:none}
.gallery-card-label{position:absolute;z-index:1;left:20px;right:20px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.gallery-card-label span{font-size:1.25rem;line-height:1}
.gallery-card:focus-visible{outline:4px solid var(--red);outline-offset:-4px}
.gallery-cta{padding:78px 0;background:#171a1a;color:#fff}
.gallery-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:35px}
.gallery-cta .section-kicker{margin-bottom:20px}
.gallery-cta h2{font-size:clamp(3.1rem,5.6vw,6.3rem)}
.gallery-cta h2 span{color:var(--red)}
.gallery-cta .button{flex:none}
.gallery-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(12,14,14,.96);color:#fff;overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(12,14,14,.96)}
.gallery-lightbox[open]{display:flex;flex-direction:column}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(18px,3vw,48px);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.lightbox-close,.lightbox-arrow{display:grid;place-items:center;border:1px solid #ffffff66;background:transparent;color:#fff;cursor:pointer;transition:background .2s}
.lightbox-close:hover,.lightbox-arrow:hover{background:#ffffff2c}
.lightbox-close{width:45px;height:45px;font-size:1.7rem;line-height:1}
.lightbox-stage{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;gap:16px;min-height:0;flex:1;padding:0 clamp(12px,3vw,46px)}
.lightbox-arrow{width:54px;height:54px;font-size:2rem;justify-self:center}
.lightbox-image{width:100%;height:100%;max-height:calc(100dvh - 145px);object-fit:contain}
.lightbox-caption{min-height:55px;margin:0;padding:12px 20px 18px;text-align:center;color:#dde1df;font-size:.9rem}
body.lightbox-open{overflow:hidden}
@media(max-width:1100px){.gallery-section-head{grid-template-columns:80px minmax(0,1fr) auto;gap:20px}.gallery-section h2{font-size:clamp(2.6rem,5vw,4rem)}.gallery-card{flex-basis:43vw}.gallery-card.is-featured{flex-basis:59vw}}
@media(max-width:720px){.gallery-hero{min-height:440px;min-height:58svh}.gallery-hero-content{padding-top:120px;padding-bottom:56px}.gallery-hero h1{font-size:clamp(3.4rem,11.5vw,5.8rem)}.gallery-hero-content>p:last-child{margin-top:18px;font-size:.97rem}.gallery-nav .wrap{display:flex;width:100%;max-width:100vw;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.gallery-nav .wrap::-webkit-scrollbar{display:none}.gallery-nav a,.gallery-nav a:first-child{flex:0 0 auto;min-height:62px;max-width:78vw;padding:13px 16px;border:0;border-right:1px solid #ffffff29;scroll-snap-align:start;font-size:.64rem}.gallery-nav strong{font-size:1.1rem}.gallery-section{padding:53px 0 59px}.gallery-section .wrap{width:calc(100% - 32px)}.gallery-section-head{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin-bottom:23px}.gallery-section-index{grid-column:1/-1;padding:0;font-size:1.35rem}.gallery-section h2{grid-column:1/-1;font-size:clamp(2.5rem,9.5vw,4.3rem)}.gallery-section-tools{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding:0}.gallery-count{font-size:.66rem}.gallery-controls button{width:40px;height:40px}.gallery-track{width:calc(100% + 16px);max-width:calc(100vw - 16px);gap:10px;padding-right:16px;padding-bottom:5px;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-card,.gallery-card.is-featured{flex:0 0 calc(100vw - 52px);height:clamp(245px,72vw,360px)}.gallery-card-label{left:14px;right:14px;bottom:12px;font-size:.68rem}.gallery-cta{padding:62px 0}.gallery-cta-inner{display:block}.gallery-cta h2{font-size:clamp(2.9rem,10vw,4.8rem);margin-bottom:25px}.gallery-cta .button{width:min(100%,340px)}.lightbox-stage{grid-template-columns:42px minmax(0,1fr) 42px;gap:4px;padding:0 4px}.lightbox-arrow{width:38px;height:44px;font-size:1.6rem}.lightbox-top{padding:12px 16px}.lightbox-caption{font-size:.78rem}}
@media(max-width:370px){.gallery-hero h1{font-size:11vw}.gallery-section h2{font-size:9vw}.gallery-card,.gallery-card.is-featured{height:250px}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}.gallery-card img,.gallery-nav a,.gallery-controls button,.lightbox-close,.lightbox-arrow{transition:none!important}}

/* Compact previews with no sideways page or section scrolling. */
html{max-width:100%;overflow-x:hidden}
body.gallery-page{width:100%;max-width:100%;overflow-x:hidden}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(170px,16vw,230px);gap:12px;width:100%;max-width:100%;min-width:0;overflow:visible}
.gallery-grid .gallery-card{width:100%;height:100%;min-width:0;flex:none;scroll-snap-align:unset}
.gallery-grid .gallery-card.is-featured{grid-column:span 2;grid-row:span 2;flex-basis:auto}
.gallery-section:not(.is-expanded) .gallery-card:nth-child(n+6){display:none}
.gallery-more{display:flex;justify-content:flex-end;margin-top:20px}
.gallery-expand{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:10px 0;border:0;border-bottom:2px solid var(--red);background:transparent;color:inherit;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.gallery-expand:hover{color:var(--red)}
.gallery-expand-icon{font-size:1.4rem;line-height:1}
.gallery-section--dark .gallery-expand:hover{color:#ff4c61}
@media(max-width:1000px){.gallery-cta-inner{display:block}.gallery-cta .button{margin-top:27px}}
@media(max-width:720px){
  .gallery-nav .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;overflow:visible;scroll-snap-type:none}
  .gallery-nav a,.gallery-nav a:first-child{display:flex;flex:initial;flex-direction:column-reverse;align-items:flex-start;justify-content:center;gap:3px;min-width:0;max-width:none;min-height:82px;padding:9px 10px;border:0;border-right:1px solid #ffffff29;scroll-snap-align:unset;white-space:normal;overflow-wrap:anywhere;font-size:.58rem}
  .gallery-nav a:last-child{border-right:0}
  .gallery-nav strong{font-size:1rem}
  .gallery-section-head{grid-template-columns:minmax(0,1fr) auto}
  .gallery-section-tools{grid-column:1/-1}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(142px,43vw,190px);gap:8px;width:100%;max-width:100%}
  .gallery-grid .gallery-card.is-featured{grid-column:1/-1;grid-row:span 1}
  .gallery-section:not(.is-expanded) .gallery-card:nth-child(n+4){display:none}
  .gallery-more{justify-content:flex-start;margin-top:17px}
  .gallery-expand{gap:28px;font-size:.69rem}
}
@media(max-width:370px){.gallery-nav a,.gallery-nav a:first-child{padding-inline:7px;font-size:.54rem}.gallery-grid{grid-auto-rows:140px}}
