/* A firmer frame follows the full photograph without changing its proportions. */
.image-source{outline:3px solid #202420;outline-offset:-3px}
.project-gallery{position:relative;min-width:0}
.project-gallery-frame{position:relative;width:100%;aspect-ratio:var(--photo-ratio)}
.project-gallery-frame>.image-source{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:var(--gallery-image-width,100%);height:var(--gallery-image-height,100%);touch-action:pan-y pinch-zoom}
.project-gallery-frame>.image-source>img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;background:transparent}
.project-gallery figcaption,.opening .project-gallery figcaption,.work>.project-gallery figcaption{width:var(--gallery-image-width,100%);max-width:100%;margin:12px auto 0;text-align:left}
.project-gallery-arrow{position:absolute;bottom:calc(var(--gallery-image-height,100%) / 2 - 22px);left:calc((100% - var(--gallery-image-width,100%)) / 2 - 22px);z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #202420;border-radius:50%;background:#fff;color:#246743;box-shadow:none}
.project-gallery-arrow[data-gallery-direction="1"]{left:auto;right:calc((100% - var(--gallery-image-width,100%)) / 2 - 22px)}
.project-gallery-arrow[data-gallery-direction="-1"] svg{transform:rotate(180deg)}
.project-gallery-arrow:hover{background:#f1f5ec}
.project-gallery-arrow:active{background:#e5eedc}
.project-gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.premise .itself-phrase{white-space:nowrap}
.project-film{margin:12px 0 0;color:var(--quiet);font-size:14px;line-height:1.5}
.project-film a{display:inline-flex;align-items:center;gap:7px;min-height:44px;text-underline-offset:.22em}
@media(max-width:700px){
  .premise .itself-phrase{word-spacing:.12em}
  .opening .work-figure,.work>.work-figure{margin-left:0;margin-right:0}
  .project-gallery-arrow{left:max(8px,calc((100% - var(--gallery-image-width,100%)) / 2 - 52px));background:rgb(255 255 255 / .95)}
  .project-gallery-arrow[data-gallery-direction="1"]{right:max(8px,calc((100% - var(--gallery-image-width,100%)) / 2 - 52px))}
}
@media(forced-colors:active){.image-source{outline-color:CanvasText}.project-gallery-arrow{border-color:ButtonText}}
