/* Work-card gallery: card trigger + full-screen viewer (see gallery.js). */
button.workcard__media{display:block;width:100%;margin:0;padding:0;border:0;font:inherit;color:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.workcard__media--fit{background:var(--paper)}
.workcard__media--fit img{object-fit:contain;object-position:center;transition:filter 400ms ease,transform 600ms cubic-bezier(.22,.61,.36,1)}
.workcard:hover .workcard__media--fit img{transform:scale(1.03)}
.workcard:focus-within:not(:hover):not(:has(:focus-visible)) .workcard__media--fit.cm-gs img{filter:grayscale(1) !important}
button.workcard__media:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
button.gal-link{background:none;border:0;padding-left:0;padding-right:0;padding-bottom:0;color:var(--ink);cursor:pointer}
button.gal-link:hover{color:var(--royal)}

html.gal-lock{overflow:hidden}
.gal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:#0E0D0A;color:#fff;display:none;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.gal[open]{display:grid;animation:gal-in 280ms cubic-bezier(.22,.61,.36,1)}
.gal::backdrop{background:transparent}
.gal img{filter:none}
@keyframes gal-in{from{opacity:0}to{opacity:1}}

.gal__top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left))}
.gal__meta{display:flex;align-items:baseline;gap:16px;min-width:0}
.gal__title{margin:0;font:400 18px/1.3 var(--sans);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gal__count{margin:0;font:500 12px/1 var(--sans);letter-spacing:.18em;color:var(--on-dark-olive,#CFCBA8);font-variant-numeric:tabular-nums}
.gal button{background:none;border:0;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.gal__close,.gal__nav{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;
  border:1px solid rgba(255,255,255,.28) !important;border-radius:50%;transition:background 200ms ease,border-color 200ms ease}
.gal__close:hover,.gal__nav:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6) !important}
.gal button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gal__nav--next svg{transform:scaleX(-1)}

.gal__stage{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;min-height:0;padding:8px 24px;touch-action:pan-y}
.gal__img{display:block;max-width:min(100%,1100px);max-height:100%;width:auto;height:auto;object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,.45);user-select:none;-webkit-user-drag:none}
.gal__nav--side{flex:0 0 auto}

.gal__bar{display:flex;align-items:center;justify-content:center;gap:16px;
  padding:14px max(20px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.gal__thumbs{display:flex;gap:10px}
.gal__thumb{width:56px;height:56px;padding:0;overflow:hidden;background:#fff !important;opacity:.45;
  outline:1px solid transparent;outline-offset:3px;transition:opacity 200ms ease,outline-color 200ms ease}
.gal__thumb img{width:100%;height:100%;object-fit:contain;display:block}
.gal__thumb:hover{opacity:.8}
.gal__thumb[aria-current="true"]{opacity:1;outline-color:#fff}
.gal__nav--bar{display:none}
.gal--single .gal__nav,.gal--single .gal__bar{display:none}

@media (max-width:720px){
  .gal__stage{padding:4px 12px}
  .gal__nav--side{display:none}
  .gal__nav--bar{display:inline-flex;width:44px;height:44px}
  .gal__title{font-size:16px}
  .gal__thumb{width:48px;height:48px}
  .gal__bar{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .gal[open]{animation:none}
  .workcard:hover .workcard__media--fit img{transform:none}
}
