.photo-gallery{position:relative;isolation:isolate;overflow:clip;background:#14131d;color:#f7f5ff}
.photo-gallery::before{content:"";position:absolute;inset:-24px;z-index:0;pointer-events:none;opacity:.16;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") repeat;animation:gallery-grain-drift .48s steps(1) infinite;will-change:transform}
.photo-gallery>.gallery-intro,.photo-gallery>.gallery-chapters,.photo-gallery>.gallery-window,.photo-gallery>.gallery-bottom{position:relative;z-index:1}
.gallery-intro{margin-bottom:28px}
.gallery-intro .eyebrow{color:var(--lemon);margin-bottom:20px}
.gallery-intro h2 em{color:var(--lilac)}
.gallery-chapters{display:flex;gap:28px;margin-bottom:50px;border-bottom:1px solid #ffffff45}
.gallery-chapters a{padding:0 0 15px;font-size:13px;font-weight:700;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}
.gallery-chapters a:hover,.gallery-chapters a:focus-visible{color:var(--lemon);border-color:var(--lemon)}
.gallery-window{width:min(1320px,calc(100% - 104px));margin-inline:auto}
.gallery-chapter{margin-bottom:80px;scroll-margin-top:24px}
.gallery-chapter-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}
.gallery-chapter-head h3{font:600 clamp(22px,2.3vw,31px)/1.2 Unbounded,sans-serif;letter-spacing:-.05em}
.gallery-chapter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:clamp(120px,13vw,170px);grid-auto-flow:dense;gap:8px}
.gallery-tile{display:block;position:relative;overflow:hidden;background:#302e3b}
.gallery-tile:first-child{grid-column:span 2;grid-row:span 2}
.gallery-tile:last-child{grid-column:span 2}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.045)}
.gallery-tile:focus-visible{outline:4px solid var(--lemon);outline-offset:-4px;z-index:1}
.gallery-bottom{display:flex;justify-content:flex-end;border-top:1px solid #ffffff45;padding-top:20px}
.gallery-bottom a{display:inline-flex;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding:8px 0}
.gallery-bottom a:hover{color:var(--lemon)}
.gallery-bottom a .icon{width:17px;height:17px;margin-left:16px}
.gallery-dialog{width:min(1150px,calc(100% - 32px));max-height:95vh;padding:0;border:0;background:transparent;color:white;overflow:visible}
.gallery-dialog::backdrop{background:#09080eea;backdrop-filter:blur(9px)}
.gallery-dialog-shell{position:relative;display:grid;place-items:center}
.gallery-dialog img{width:auto;max-width:100%;height:auto;max-height:90vh;margin:auto;object-fit:contain;box-shadow:0 18px 50px #0008;background:#17151f}
.gallery-dialog-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#17151fdb;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.gallery-dialog button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid #858094;background:#17151fdd;color:#fff;font-size:24px;z-index:3}
.gallery-dialog button:hover{background:var(--lemon);color:var(--ink)}
.gallery-dialog button:focus-visible{outline:3px solid var(--lemon);outline-offset:3px}
.gallery-dialog button .icon{width:24px;height:24px}
.gallery-dialog-close{top:8px;right:8px}
.gallery-dialog-prev{top:50%;left:8px;transform:translateY(-50%)}
.gallery-dialog-next{top:50%;right:8px;transform:translateY(-50%)}
@keyframes gallery-grain-drift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-14px,7px,0)}50%{transform:translate3d(12px,-13px,0)}75%{transform:translate3d(-7px,-8px,0)}}
@media(max-width:900px){.gallery-chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(110px,17vw,155px)}}
@media(max-width:650px){
  .photo-gallery{padding-block:67px}
  .gallery-intro{margin-bottom:25px}
  .gallery-chapters{gap:22px;margin-bottom:38px}
  .gallery-chapters a{font-size:11px}
  .gallery-window{width:calc(100% - 40px)}
  .gallery-chapter{margin-bottom:55px}
  .gallery-chapter-head{margin-bottom:15px}
  .gallery-chapter-head h3{font-size:20px}
  .gallery-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(95px,28vw,130px);gap:5px}
  .gallery-dialog{width:calc(100% - 16px);max-height:92vh}
  .gallery-dialog img{max-height:88vh}
  .gallery-dialog button{width:42px;height:42px}
  .gallery-dialog-prev{left:0}.gallery-dialog-next{right:0}
}
@media(prefers-reduced-motion:reduce){.photo-gallery::before{animation:none}.gallery-tile img{transition:none}}
