.work-gallery {
  --work-ink:#09232e;
  --work-accent:#00b6e5;
  --work-gallery-height:400px;
  padding:125px 0;
  color:var(--work-ink);
  background:linear-gradient(135deg,#edf5f8 0%,#f6f9fa 48%,#e9f2f6 100%);
  border-block:1px solid #d7e7ed;
  scroll-margin-top:100px;
}
body main#main-content section.work-gallery { padding-top:125px !important; padding-bottom:125px !important; }
.work-gallery .work-gallery-inner { width:calc(100% - 64px); max-width:1400px; margin:0 auto; padding:0; }
.work-gallery .work-gallery-heading { max-width:850px; margin:0 auto 40px; text-align:center; }
.work-gallery .work-gallery-heading :is(h1,h2) { margin:0 0 16px; color:var(--work-ink); font-size:32px; font-weight:750; line-height:1.2; letter-spacing:-.6px; }
.work-gallery .work-gallery-heading p { margin:0; color:#425d6a; font-size:18px; line-height:1.65; }
.work-gallery .work-gallery-carousel { position:relative; }
.work-gallery .work-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:24px; }
.work-gallery .work-gallery-card { min-width:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.work-gallery .work-gallery-image-link { display:block; outline-offset:4px; cursor:zoom-in; }
.work-gallery .work-gallery-image-link img { display:block; width:100%; height:auto; max-width:100%; border:0; border-radius:0; }
.work-gallery .work-gallery-image-link:focus-visible { outline:3px solid #0086b0; }
.work-gallery .work-gallery-nav { position:absolute; z-index:1; top:50%; transform:translateY(-50%); width:52px; height:60px; display:grid; place-items:center; padding:10px; border:0; border-radius:0; color:#fff; background:var(--work-ink); cursor:pointer; }
.work-gallery .work-gallery-nav[hidden] { display:none; }
.work-gallery .work-gallery-nav--prev { left:0; }
.work-gallery .work-gallery-nav--next { right:0; }
.work-gallery .work-gallery-nav img { width:28px; height:28px; filter:brightness(0) invert(1); }
.work-gallery .work-gallery-nav:hover { background:#006c8c; }
.work-gallery .work-gallery-nav:focus-visible { outline:3px solid #0086b0; outline-offset:4px; }
.work-gallery.is-enhanced .work-gallery-carousel { padding-inline:68px; }
.work-gallery.is-enhanced .work-gallery-grid { position:relative; display:flex; flex-direction:row; align-items:center; gap:24px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; padding:6px 0; }
.work-gallery.is-enhanced .work-gallery-grid::-webkit-scrollbar { display:none; }
.work-gallery.is-enhanced .work-gallery-card { flex:0 0 auto; width:min(100%,calc(var(--work-gallery-height) * var(--work-gallery-ratio))); max-width:100%; scroll-snap-align:start; }
.work-gallery-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
html.work-lightbox-open { overflow:hidden; }
.work-lightbox { position:fixed; inset:0; margin:auto; padding:0; width:calc(100vw - 40px); height:calc(100dvh - 40px); max-width:none; max-height:none; border:1px solid #274752; border-radius:0; color:#fff; background:#061b25; overflow:hidden; }
.work-lightbox::backdrop { background:rgba(0,12,18,.94); }
.work-lightbox-stage { position:absolute; inset:64px 68px 78px; overflow:hidden; touch-action:none; user-select:none; cursor:zoom-in; }
.work-lightbox-stage.is-zoomed { cursor:grab; }
.work-lightbox-stage.is-dragging { cursor:grabbing; }
.work-lightbox-stage img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; object-position:center; transform-origin:center; user-select:none; -webkit-user-drag:none; }
.work-lightbox .work-lightbox-button { position:absolute; z-index:2; display:grid; place-items:center; width:52px; height:52px; padding:8px; border:1px solid #40606d; border-radius:0; background:#102f3d; color:#fff; font-family:Arial,sans-serif; font-size:32px; line-height:1; cursor:pointer; touch-action:manipulation; }
.work-lightbox .work-lightbox-button:hover { color:#061b25; background:#00b6e5; border-color:#00b6e5; }
.work-lightbox .work-lightbox-button:focus-visible { outline:3px solid #00b6e5; outline-offset:3px; }
.work-lightbox .work-lightbox-button img { display:block; width:28px; height:28px; filter:brightness(0) invert(1); }
.work-lightbox .work-lightbox-button:hover img { filter:brightness(0); }
.work-lightbox-close { top:12px; right:12px; }
.work-lightbox-prev { left:8px; top:calc(50% - 26px); }
.work-lightbox-next { right:8px; top:calc(50% - 26px); }
.work-lightbox-zoom { position:absolute; z-index:2; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:10px; }
.work-lightbox .work-lightbox-zoom .work-lightbox-button { position:relative; }
.work-lightbox-error { position:absolute; inset:0; margin:0; display:grid; place-items:center; color:#fff; background:#061b25; font-size:18px; text-align:center; }
.work-lightbox-error[hidden] { display:none; }
@media(max-width:1440px) { .work-gallery { --work-gallery-height:320px; } }
@media(max-width:900px) {
  .work-gallery .work-gallery-inner { width:calc(100% - 40px); max-width:680px; }
  .work-gallery .work-gallery-grid,.work-gallery.is-enhanced .work-gallery-grid { display:flex; flex-direction:column; align-items:stretch; gap:24px; overflow:visible; padding:0; scroll-snap-type:none; }
  .work-gallery .work-gallery-card,.work-gallery.is-enhanced .work-gallery-card { width:100%; max-width:100%; }
  .work-gallery.is-enhanced .work-gallery-carousel { padding:0; }
  .work-gallery .work-gallery-nav { display:none; }
}
@media(max-width:680px) {
  .work-gallery .work-gallery-heading { margin-bottom:28px; }
  .work-gallery .work-gallery-heading :is(h1,h2) { font-size:30px; }
  .work-lightbox { width:100vw; height:100dvh; border:0; }
  .work-lightbox-stage { inset:76px 8px 82px; }
  .work-lightbox .work-lightbox-button { width:48px; height:48px; }
  .work-lightbox-close { top:12px; right:12px; }
  .work-lightbox-prev { left:8px; top:calc(50% - 24px); }
  .work-lightbox-next { right:8px; top:calc(50% - 24px); }
}
