/* LEE WORKS: contained artwork, coverflow previews and a quiet inquiry footer. */
.lee-viewer-overlay{
  --lee-viewer-gutter:20px;
  position:fixed;
  inset:0;
  z-index:10020;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--lee-viewer-gutter);
  background:rgba(0,0,0,.84);
  overscroll-behavior:contain;
}
.lee-viewer-overlay,.lee-viewer-overlay *{box-sizing:border-box}
.lee-viewer-overlay .lee-viewer{
  position:relative;
  isolation:isolate;
  width:min(1200px,96vw);
  max-width:100%;
  max-height:calc(100dvh - 40px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid #363636;
  background:#101010;
  color:#f7f7f4;
  box-shadow:0 28px 100px #0008;
  scrollbar-width:thin;
  scrollbar-color:#646464 #171717;
}
.lee-viewer .lee-viewer-close{
  position:sticky;
  top:14px;
  z-index:20;
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  margin:14px 14px -58px auto;
  padding:0;
  border:1px solid #ffffff50;
  border-radius:50%;
  background:#171717;
  color:#fff;
  font:400 26px/1 Arial,sans-serif;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.lee-viewer .lee-viewer-stage{
  position:relative;
  width:100%;
  height:min(62dvh,570px);
  min-height:250px;
  overflow:hidden;
  background:#101010;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y pinch-zoom;
}
.lee-viewer .lee-viewer-track{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  perspective:1100px;
  transform:translate3d(var(--viewer-drag,0px),0,0);
  transition:transform .38s cubic-bezier(.22,.7,.2,1);
}
.lee-viewer .lee-viewer-current{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:50%;
  height:calc(100% - 64px);
  min-width:0;
  max-height:530px;
  margin:0;
  padding:0;
  transform:translate(-50%,-50%);
  transform-origin:center;
  pointer-events:none;
}
.lee-viewer .lee-viewer-current img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 16px 24px #0006);
  -webkit-user-drag:none;
  pointer-events:none;
}
.lee-viewer .lee-viewer-neighbor{
  position:absolute;
  z-index:1;
  top:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:28%;
  height:calc(100% - 118px);
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#b9b9b5;
  font:inherit;
  cursor:pointer;
  opacity:.7;
  transform-origin:center;
  transition:opacity .22s,filter .22s;
  -webkit-tap-highlight-color:transparent;
}
.lee-viewer .lee-viewer-neighbor.is-previous{
  left:3%;
  transform:translateY(-50%) rotateY(30deg) scale(.88);
}
.lee-viewer .lee-viewer-neighbor.is-next{
  right:3%;
  transform:translateY(-50%) rotateY(-30deg) scale(.88);
}
.lee-viewer .lee-viewer-neighbor img{
  display:block;
  flex:1 1 auto;
  width:100%;
  height:0;
  min-height:0;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  filter:brightness(.8) drop-shadow(0 12px 18px #0006);
  -webkit-user-drag:none;
  pointer-events:none;
}
.lee-viewer .lee-viewer-neighbor span{
  display:block;
  flex:none;
  max-width:100%;
  overflow:hidden;
  color:inherit;
  font-size:10px;
  line-height:1.5;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
}
.lee-viewer .lee-viewer-stage.is-dragging,
.lee-viewer .lee-viewer-stage.is-dragging .lee-viewer-neighbor{cursor:grabbing}
.lee-viewer .lee-viewer-stage.is-dragging .lee-viewer-track{transition:none}
.lee-viewer .lee-viewer-stage.is-dragging .lee-viewer-current{animation:none!important}
.lee-viewer .lee-viewer-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px 32px;
  margin:0;
  padding:25px 32px 19px;
  border:0;
  background:#f7f7f4;
  color:#171717;
}
.lee-viewer .lee-viewer-details{min-width:0}
.lee-viewer .lee-viewer-details h3{
  margin:0 0 8px;
  color:#171717;
  font-size:clamp(20px,2vw,26px);
  font-weight:500;
  line-height:1.35;
  letter-spacing:-.035em;
  text-align:left;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  transform:none;
}
.lee-viewer .lee-viewer-details p{
  margin:0;
  color:#696964;
  font-size:11px;
  line-height:1.75;
  letter-spacing:.025em;
  white-space:normal;
  overflow-wrap:anywhere;
}
.lee-viewer .lee-viewer-inquiry{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  max-width:100%;
  margin:0;
  padding:12px 24px;
  border:1px solid #111;
  border-radius:0;
  background:#111;
  color:#fff;
  font:inherit;
  font-size:12px;
  line-height:1.65;
  text-align:center;
  white-space:normal;
  cursor:pointer;
  transition:background .2s;
}
.lee-viewer .lee-viewer-guide{
  grid-column:1/-1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px 24px;
  min-width:0;
  margin:0;
  padding-top:15px;
  border-top:1px solid #dcdcd6;
  color:#74746e;
  font-size:10px;
  line-height:1.65;
}
.lee-viewer .lee-viewer-guide p{min-width:0;margin:0;font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
.lee-viewer .lee-viewer-position{flex:none;color:#53534e;font-size:10px;line-height:1.65;font-variant-numeric:tabular-nums;letter-spacing:.07em;white-space:nowrap}
.lee-viewer :is(button,.lee-viewer-stage):focus-visible{outline:2px solid #fff;outline-offset:4px}
.lee-viewer .lee-viewer-stage:focus-visible{outline-offset:-7px}
.lee-viewer .lee-viewer-inquiry:focus-visible{outline-color:#111;outline-offset:4px}
@media(hover:hover){
  .lee-viewer .lee-viewer-close:hover{background:#333;border-color:#fff8}
  .lee-viewer .lee-viewer-neighbor:hover{opacity:1}
  .lee-viewer .lee-viewer-inquiry:hover{background:#333}
}
@media(max-width:760px){
  .lee-viewer-overlay{--lee-viewer-gutter:12px}
  .lee-viewer-overlay .lee-viewer{width:96vw;max-height:calc(100dvh - 24px)}
  .lee-viewer .lee-viewer-stage{height:min(56dvh,500px)}
  .lee-viewer .lee-viewer-current{width:62%;height:calc(100% - 64px)}
  .lee-viewer .lee-viewer-neighbor{width:29%;height:calc(100% - 126px)}
  .lee-viewer .lee-viewer-neighbor.is-previous{left:-4%;transform:translateY(-50%) rotateY(34deg) scale(.88)}
  .lee-viewer .lee-viewer-neighbor.is-next{right:-4%;transform:translateY(-50%) rotateY(-34deg) scale(.88)}
  .lee-viewer .lee-viewer-footer{gap:19px 20px;padding:23px 24px 17px}
  .lee-viewer .lee-viewer-inquiry{padding-inline:19px}
}
@media(max-width:520px){
  .lee-viewer .lee-viewer-close{top:10px;margin:10px 10px -54px auto}
  .lee-viewer .lee-viewer-stage{height:min(52dvh,440px);min-height:250px}
  .lee-viewer .lee-viewer-current{width:68%;height:calc(100% - 58px)}
  .lee-viewer .lee-viewer-neighbor{width:30%;height:calc(100% - 120px);gap:8px}
  .lee-viewer .lee-viewer-neighbor.is-previous{left:-9%}
  .lee-viewer .lee-viewer-neighbor.is-next{right:-9%}
  .lee-viewer .lee-viewer-neighbor span{max-width:75%;font-size:9px}
  .lee-viewer .lee-viewer-footer{grid-template-columns:minmax(0,1fr);gap:17px;padding:22px 20px 16px}
  .lee-viewer .lee-viewer-details h3{font-size:21px;margin-bottom:7px}
  .lee-viewer .lee-viewer-details p{font-size:10px}
  .lee-viewer .lee-viewer-inquiry{width:100%;min-height:46px;padding:11px 18px;font-size:12px}
  .lee-viewer .lee-viewer-guide{gap:12px;padding-top:13px;font-size:9px}
  .lee-viewer .lee-viewer-position{font-size:9px}
}
@media(max-height:560px) and (min-width:521px){
  .lee-viewer-overlay{--lee-viewer-gutter:10px}
  .lee-viewer-overlay .lee-viewer{max-height:calc(100dvh - 20px)}
  .lee-viewer .lee-viewer-stage{height:250px;min-height:250px}
  .lee-viewer .lee-viewer-current{height:calc(100% - 36px)}
  .lee-viewer .lee-viewer-neighbor{height:calc(100% - 70px)}
  .lee-viewer .lee-viewer-footer{padding:20px 24px 15px;gap:15px 24px}
}
@keyframes leeViewerNextA{from{opacity:.25;transform:translate(calc(-50% + 70px),-50%)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes leeViewerNextB{from{opacity:.25;transform:translate(calc(-50% + 70px),-50%)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes leeViewerPrevA{from{opacity:.25;transform:translate(calc(-50% - 70px),-50%)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes leeViewerPrevB{from{opacity:.25;transform:translate(calc(-50% - 70px),-50%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){
  .lee-viewer-overlay *,.lee-viewer-overlay *::before,.lee-viewer-overlay *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
