.gallery-page{padding:34px 0 54px;background:var(--page-bg)}
.gallery-shell{padding:30px 42px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.gallery-heading{padding-bottom:18px;border-bottom:1px solid var(--line)}
.gallery-heading h2{margin:0;color:var(--ink);font-size:1.65rem}
.gallery-heading p{margin:3px 0 0;color:var(--muted)}
.video-gallery{max-width:1120px;margin:0 auto;padding:28px 0 42px;border-bottom:1px solid var(--line)}
.video-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.video-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#020617}
.video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#020617}
.video-play{position:absolute;z-index:2;inset:50% auto auto 50%;width:58px;height:58px;display:grid;place-items:center;padding:0;transform:translate(-50%,-50%);border:1px solid #ffffffb8;border-radius:50%;background:rgba(2,18,46,.62);color:#fff;cursor:pointer;backdrop-filter:blur(4px);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.video-play span{width:0;height:0;margin-left:4px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid currentColor}
.video-play:hover,.video-play:focus-visible{transform:translate(-50%,-50%) scale(1.06);border-color:var(--orange);background:var(--orange);outline:0}
.video-card.is-playing .video-play{display:none}
.video-card.featured{grid-column:span 6;aspect-ratio:16/8.4}
.video-card.portrait{grid-column:span 2;aspect-ratio:3/4}
.video-card.landscape{grid-column:span 3;aspect-ratio:16/9}
.events-heading{max-width:1120px;margin:0 auto;padding:36px 0 0}
.events-heading h2{margin:0;color:var(--ink);font-size:1.45rem}
.event-list{max-width:1120px;margin:0 auto}
.event-story{padding:44px 0;border-bottom:1px solid var(--line)}
.event-story:last-child{padding-bottom:16px;border-bottom:0}
.event-story[hidden],.gallery-empty[hidden]{display:none}
.story-header{display:block;margin-bottom:20px}
.story-header h3{margin:0;color:var(--ink);font-size:1.55rem;line-height:1.55}
.story-meta{display:flex;flex-wrap:wrap;gap:0;margin:8px 0 0;padding:0;color:var(--muted);font-size:.85rem;list-style:none}
.story-meta li{display:inline-flex;align-items:center}
.story-meta li+li:before{content:"";width:1px;height:13px;margin:0 10px;background:var(--line)}
.gallery-image{position:relative;display:block;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--surface-soft)}
.gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}
.gallery-image:hover img,.gallery-image:focus-visible img{transform:scale(1.018);filter:saturate(1.04)}
.gallery-image:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.story-feature{width:100%;aspect-ratio:16/8.4;border-radius:10px}
.story-feature{cursor:zoom-in}
.story-feature:after{content:"";position:absolute;inset:68% 0 0;background:linear-gradient(0deg,rgba(2,10,28,.4),transparent)}
.story-thumbs-wrap{position:relative}
.story-thumbs{display:flex;gap:10px;margin-top:10px;padding-bottom:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.story-thumbs:hover{scrollbar-width:auto}
.story-thumbs::-webkit-scrollbar{height:6px}
.story-thumbs:hover::-webkit-scrollbar{height:12px}
.story-thumbs::-webkit-scrollbar-track{background:transparent}
.story-thumbs::-webkit-scrollbar-thumb{border-radius:10px;background:var(--line)}
.story-thumbs .gallery-image{flex:0 0 154px;height:112px;border-radius:8px;scroll-snap-align:start;cursor:pointer}
.thumb-scroll-cue{display:none}
.story-copy{max-width:920px;margin:28px auto 0;color:var(--ink);font-size:1.02rem;line-height:2.08}
.story-copy p{margin:0}
.story-copy p+p{margin-top:17px}
.gallery-empty{min-height:320px;display:grid;place-content:center;text-align:center;color:var(--muted)}
.gallery-empty strong{color:var(--ink);font-size:1.15rem}
.gallery-empty span{font-size:.88rem}
[data-theme=dark] .gallery-image{border-color:#34425f}
[data-theme=dark] .video-card{border-color:#34425f}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:64px minmax(0,1100px) 64px;align-items:center;justify-content:center;padding:70px 28px 28px;background:rgba(2,6,18,.94);backdrop-filter:blur(8px)}
.lightbox figure{margin:0;max-height:calc(100vh - 100px);display:grid;grid-template-rows:minmax(0,1fr) auto}
.lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 165px);margin:auto;border-radius:10px;object-fit:contain}
.lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 2px;color:#fff}
.lightbox figcaption div{display:grid}
.lightbox figcaption span,.lightbox figcaption small{color:#aebbd0}
.lightbox figcaption span{font-size:.82rem}
.lightbox-close,.lightbox-prev,.lightbox-next{border:1px solid #ffffff3b;background:#ffffff0d;color:#fff;cursor:pointer}
.lightbox-close{position:absolute;top:22px;left:28px;width:42px;height:42px;border-radius:50%;font-size:1.6rem}
.lightbox-prev,.lightbox-next{width:46px;height:46px;border-radius:50%;font-size:2rem}
.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:hover{background:var(--orange);border-color:var(--orange)}
body.lightbox-open{overflow:hidden}

@media(max-width:820px){
  .gallery-page{padding:10px 0 30px}
  .gallery-shell{width:100%;padding:15px 14px 28px;border:0;border-radius:0}
  .gallery-heading{padding-bottom:13px}
  .gallery-heading h2{font-size:1.25rem}
  .gallery-heading p{font-size:.83rem}
  .video-gallery{padding:20px 0 28px}
  .video-grid{grid-template-columns:1fr;gap:9px}
  .video-card.featured,.video-card.portrait,.video-card.landscape{grid-column:auto}
  .video-card.featured,.video-card.landscape{aspect-ratio:16/9}
  .video-card.portrait{aspect-ratio:4/5}
  .events-heading{padding-top:28px}
  .events-heading h2{font-size:1.2rem}
  .event-story{padding:32px 0}
  .story-header{margin-bottom:15px}
  .story-header h3{font-size:1.17rem}
  .story-meta{font-size:.78rem}
  .story-meta li+li:before{margin:0 7px}
  .story-feature{aspect-ratio:4/3;border-radius:8px}
  .story-thumbs-wrap{margin:8px -14px 0}
  .story-thumbs{display:flex;gap:8px;margin:0;padding:0 14px 4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .story-thumbs::-webkit-scrollbar{display:none}
  .story-thumbs .gallery-image{flex:0 0 126px;height:92px;scroll-snap-align:start}
  .thumb-scroll-cue{position:absolute;z-index:3;top:50%;width:36px;height:58px;display:none;place-items:center;padding:0;transform:translateY(-50%);border:1px solid #ffffff6e;background:rgba(2,18,46,.48);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}
  .thumb-scroll-cue.left{left:7px;border-radius:0 18px 18px 0}
  .thumb-scroll-cue.right{right:7px;border-radius:18px 0 0 18px}
  .story-thumbs-wrap.can-scroll-left .thumb-scroll-cue.left,.story-thumbs-wrap.can-scroll-right .thumb-scroll-cue.right{display:grid}
  .story-copy{margin-top:21px;font-size:1rem;line-height:2}
  .story-copy p+p{margin-top:14px}
  .lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:62px 10px 18px}
  .lightbox figure img{max-height:calc(100vh - 155px)}
  .lightbox-prev,.lightbox-next{width:38px;height:38px}
  .lightbox-close{top:12px;left:14px;width:38px;height:38px}
  .lightbox figcaption{padding:10px 2px}
  .lightbox figcaption strong{font-size:.88rem}
}

@media(max-width:430px){
  .gallery-heading p{display:none}
  .story-meta{row-gap:4px}
  .lightbox{display:block;padding:58px 10px 18px}
  .lightbox figure{height:100%;align-content:center}
  .lightbox-prev,.lightbox-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%)}
  .lightbox-prev{right:12px}
  .lightbox-next{left:12px}
}
