.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

.meeting-gallery { overflow: hidden; background: var(--cream); }
.meeting-gallery__header { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 54px; }
.meeting-gallery__header > div:first-child { max-width: 820px; }
.meeting-gallery__header h2 { max-width: 820px; margin: 0; color: var(--navy); font-family: var(--display); font-size: var(--type-section-title); font-weight: 640; letter-spacing: -.032em; line-height: .97; text-wrap: balance; }
.meeting-gallery__header p:last-child { max-width: 590px; margin: 24px 0 0; color: var(--muted); }
.meeting-gallery__controls { display: flex; flex: 0 0 auto; gap: 8px; }
.meeting-gallery__controls button { display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 1px solid rgba(17,45,74,.24); background: transparent; color: var(--navy); font-size: 1rem; font-weight: 850; cursor: pointer; transition: transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease; }
.meeting-gallery__controls button:hover { transform: translateY(-2px); border-color: var(--navy); background: var(--navy); color: #fff; }
.meeting-gallery__controls button:nth-child(2) { border-color: var(--gold); background: var(--gold); color: var(--navy-2); }

.meeting-gallery__rail { position: relative; }
.meeting-gallery__rail::before,
.meeting-gallery__rail::after { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; width: clamp(40px, 8vw, 120px); pointer-events: none; }
.meeting-gallery__rail::before { left: 0; background: linear-gradient(90deg, var(--cream) 0%, transparent 100%); }
.meeting-gallery__rail::after { right: 0; background: linear-gradient(90deg, transparent 0%, var(--cream) 100%); }
.meeting-gallery__track { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 12px 0; scroll-behavior: auto !important; scroll-snap-type: none !important; scrollbar-width: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.meeting-gallery__track::-webkit-scrollbar { display: none; }
.meeting-gallery__track:active { cursor: grabbing; }
.meeting-gallery__track:focus-visible { outline: 3px solid rgba(209,173,99,.55); outline-offset: 6px; }
.meeting-gallery__item { position: relative; isolation: isolate; flex: 0 0 clamp(280px,28vw,420px); aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 1px solid rgba(17,45,74,.14); border-radius: 12px; background: var(--navy-2); color: #fff; cursor: zoom-in; box-shadow: 0 4px 16px rgba(4, 19, 31, 0.08); transition: transform 0.35s ease, box-shadow 0.35s ease; user-select: none; -webkit-user-select: none; }
.meeting-gallery__item--featured { flex-basis: clamp(320px,36vw,500px); }
.meeting-gallery__item img { width: 100%; max-width: none; height: 100%; object-fit: cover; transform: scale(var(--gallery-scale,1)); transition: transform .6s cubic-bezier(.16,1,.3,1),filter .35s ease; will-change: transform; }
.meeting-gallery__item.is-active { --gallery-scale: 1; }
.meeting-gallery__item:hover,.meeting-gallery__item:focus-visible { --gallery-scale: 1.04; box-shadow: 0 8px 24px rgba(4, 19, 31, 0.16); }
.meeting-gallery__item:hover img,.meeting-gallery__item:focus-visible img { filter: saturate(1.08); }
.meeting-gallery__shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,transparent 50%,rgba(5,25,42,.62)); opacity: .86; pointer-events: none; transition: opacity .4s ease; }
.meeting-gallery__item.is-active .meeting-gallery__shade { opacity: 1; }
.meeting-gallery__index { position: absolute; z-index: 2; right: 20px; bottom: 16px; color: #fff; font-family: var(--display); font-size: 1.5rem; font-weight: 650; letter-spacing: -.04em; line-height: 1; }

.gallery-lightbox { width: min(1120px,calc(100% - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; overflow: hidden; border: 0; background: var(--navy-2); color: #fff; box-shadow: 0 35px 110px rgba(3,15,26,.52); }
.gallery-lightbox::backdrop { background: rgba(4,18,30,.88); backdrop-filter: blur(8px); }
.gallery-lightbox[open] { animation: gallery-dialog-in .28s cubic-bezier(.2,.75,.2,1) both; }
.gallery-lightbox figure { display: grid; grid-template-rows: minmax(0,1fr) auto; height: min(86vh,820px); margin: 0; }
.gallery-lightbox figure img { width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #050d15; }
.gallery-lightbox figcaption { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 72px; padding: 17px 78px 17px 24px; background: var(--navy-2); color: rgba(255,255,255,.82); font-size: .86rem; }
.gallery-lightbox figcaption small { flex: 0 0 auto; color: var(--gold-2); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.gallery-lightbox__close,.gallery-lightbox__nav { position: absolute; z-index: 4; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(5,25,42,.72); color: #fff; backdrop-filter: blur(7px); cursor: pointer; }
.gallery-lightbox__close { top: 18px; right: 18px; width: 48px; height: 48px; font-size: 1.7rem; }
.gallery-lightbox__nav { top: 50%; width: 54px; height: 54px; translate: 0 -50%; font-size: 1.2rem; }
.gallery-lightbox__nav--previous { left: 18px; }
.gallery-lightbox__nav--next { right: 18px; }
.gallery-lightbox__close:hover,.gallery-lightbox__nav:hover { border-color: var(--gold); background: var(--gold); color: var(--navy-2); }

@keyframes gallery-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.985); } }

@media (max-width: 700px) {
  .meeting-gallery__header { align-items: flex-start; flex-direction: column; gap: 28px; margin-bottom: 38px; }
  .meeting-gallery__header h2 { font-size: clamp(2.7rem,13vw,4rem); }
  .meeting-gallery__controls { width: 100%; justify-content: flex-end; }
  .meeting-gallery__item,.meeting-gallery__item--featured { flex-basis: min(78vw,320px); }
  .meeting-gallery__track { gap: 6px; padding-right: 16px; }
  .meeting-gallery__rail::before,
  .meeting-gallery__rail::after { width: 36px; }
  .gallery-lightbox { width: calc(100% - 16px); max-height: calc(100vh - 16px); }
  .gallery-lightbox figure { height: calc(100vh - 16px); grid-template-rows: minmax(0,1fr) auto; }
  .gallery-lightbox figcaption { align-items: flex-start; flex-direction: column; gap: 6px; min-height: 96px; padding: 16px 68px 16px 18px; }
  .gallery-lightbox__nav { top: auto; bottom: 112px; width: 48px; height: 48px; translate: 0; }
  .gallery-lightbox__nav--previous { left: 14px; }
  .gallery-lightbox__nav--next { right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .meeting-gallery__track { scroll-behavior: auto; }
  .meeting-gallery__item img,.meeting-gallery__shade,.gallery-lightbox[open] { transform: none; transition: none; animation: none; }
}
