/* A quiet, frameless viewing room. The artwork keeps its original aspect ratio. */
dialog.gallery-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;outline:0;background:transparent;box-shadow:none;color:#dedbd0;overflow:hidden}
dialog.gallery-dialog::backdrop{background:#030709f5;backdrop-filter:blur(12px)}
.gallery-dialog .gallery-shell{box-sizing:border-box;width:100%;height:100%;max-width:1640px;margin:auto;padding:clamp(16px,3.3vh,38px) clamp(18px,3.8vw,64px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}
.gallery-dialog .gallery-top{min-height:28px;padding:0;letter-spacing:2px}
.gallery-dialog .gallery-top>span{font-size:10px;color:#8f9e99;letter-spacing:1.8px}
.gallery-top i{font-style:normal;color:#6b6654;margin:0 10px}
.gallery-dialog .gallery-close{display:flex;align-items:center;justify-content:center;gap:14px;min-width:44px;min-height:44px;margin:-8px -8px -8px 0;padding:8px;color:#c4ccc4;background:transparent;border:0}
.gallery-close small{font:9px Georgia,serif;letter-spacing:1px;color:#788580}
.gallery-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .25s}
.gallery-close:hover svg{transform:rotate(90deg)}
.gallery-dialog .gallery-stage{position:relative;min-height:0;width:calc(100% - 96px);margin:0 auto;background:transparent;isolation:isolate}
.gallery-dialog .gallery-image{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:contain;opacity:0;filter:none;transition:opacity 1.1s ease-in-out;pointer-events:none}
.gallery-dialog .gallery-image.is-active{opacity:1}
.gallery-dialog .gallery-stage.is-loading .gallery-image.is-active{opacity:1}
.gallery-dialog .gallery-prev,.gallery-dialog .gallery-next{position:absolute;z-index:2;top:50%;width:44px;height:60px;display:grid;place-items:center;padding:0;background:transparent;border:0;color:#aebbb4;transform:translateY(-50%);transition:color .25s,transform .25s;opacity:.8}
.gallery-dialog .gallery-prev{left:-52px}
.gallery-dialog .gallery-next{right:-52px}
.gallery-prev svg,.gallery-next svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.2}
.gallery-dialog .gallery-prev:hover{color:#f3e0b8;transform:translate(-3px,-50%);opacity:1}
.gallery-dialog .gallery-next:hover{color:#f3e0b8;transform:translate(3px,-50%);opacity:1}
.gallery-dialog .gallery-status{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);max-width:85%;margin:0;padding:10px 16px;text-align:center;font-size:12px;line-height:1.8;letter-spacing:1px;color:#d6d9cd;background:#081015df;pointer-events:none}
.gallery-status:empty{display:none}
.gallery-dialog .gallery-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px;padding:0 48px;min-height:59px;letter-spacing:1px}
.gallery-caption-label{display:block;font:8px/1.6 Georgia,serif;letter-spacing:2.6px;color:#71817b;margin-bottom:7px}
.gallery-dialog .gallery-title{margin:0;font:clamp(17px,1.7vw,24px)/1.5 var(--serif);font-weight:400;letter-spacing:2px;color:#e1d8c6}
.gallery-playback{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:104px}
.gallery-autoplay{display:flex;align-items:center;justify-content:center;gap:10px;min-height:32px;padding:4px 8px;border:0;background:transparent;color:#b4c2b8;font-family:inherit;font-size:10px;line-height:1.5;letter-spacing:1.5px}
.gallery-play-icon{display:inline-block;min-width:12px;font:14px Georgia,serif;letter-spacing:0}
.gallery-timeline{width:88px;height:1px;background:#a0b1a333;overflow:hidden}
.gallery-timeline>span{display:block;width:100%;height:100%;background:#b7aa87;transform:scaleX(0);transform-origin:left}
.gallery-dialog .gallery-count{justify-self:end;display:flex;align-items:baseline;gap:12px;color:#697c73;font:10px Georgia,serif;letter-spacing:2px;white-space:nowrap}
.gallery-count b{color:#d9d3be;font-size:23px;font-weight:400;letter-spacing:1px}
.gallery-count i{font-style:normal;color:#52645b}
.gallery-dialog button:hover{background:transparent;color:#f1dfbb}
.gallery-dialog button:focus-visible{outline:1px solid #c6b483;outline-offset:5px}
@media(max-width:700px){
  .gallery-dialog .gallery-shell{padding:18px 14px 24px;gap:18px}
  .gallery-dialog .gallery-top>span{font-size:8px;letter-spacing:1px}
  .gallery-top i{margin:0 6px}.gallery-close small{display:none}
  .gallery-dialog .gallery-stage{width:100%}
  .gallery-dialog .gallery-prev,.gallery-dialog .gallery-next{width:36px;height:58px;color:#e0dfd1;filter:drop-shadow(0 1px 4px #000)}
  .gallery-dialog .gallery-prev{left:0;background:linear-gradient(90deg,#0307098a,transparent)}
  .gallery-dialog .gallery-next{right:0;background:linear-gradient(270deg,#0307098a,transparent)}
  .gallery-dialog .gallery-bottom{padding:0 8px;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}
  .gallery-caption-label{font-size:7px;letter-spacing:1.6px;margin-bottom:5px}
  .gallery-dialog .gallery-title{font-size:18px;letter-spacing:1px}
  .gallery-playback{grid-column:1/-1;grid-row:2;flex-direction:row;gap:16px}
  .gallery-dialog .gallery-count{grid-column:2;grid-row:1;gap:8px;font-size:9px;letter-spacing:1px}
  .gallery-count b{font-size:21px}.gallery-autoplay{font-size:10px}
}
@media(max-height:500px) and (min-width:701px){.gallery-dialog .gallery-shell{padding-top:12px;padding-bottom:12px;gap:10px}.gallery-caption-label{display:none}.gallery-dialog .gallery-bottom{min-height:38px}.gallery-dialog .gallery-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.gallery-dialog .gallery-image,.gallery-close svg,.gallery-dialog .gallery-prev,.gallery-dialog .gallery-next{transition:none}}
