html:has(.catalog-room), html.catalog-passage {scroll-behavior:auto;}
html:has(.catalog-room) {scroll-padding-top:0;}
.catalog-room {overflow-anchor:none;}
.catalog-room .page-header {margin-top:20px;}
.catalog-room .catalog-toolbar {align-items:baseline;}
.catalog-room .filters {flex-wrap:wrap; row-gap:0;}
.catalog-room .filters button {position:relative; text-decoration:none;}
.catalog-room .filters button::after {
  content:''; position:absolute; inset:auto 0 8px; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left;
  transition:transform .24s var(--ease);
}
.catalog-room .filters button.active::after {transform:scaleX(1);}
.catalog-room .catalog-count {white-space:nowrap;}
.catalog-room .art-tile[hidden] {display:none;}
.catalog-room .tile-image img {transform:none; transition:transform .62s var(--ease);}
.catalog-room .art-tile h2::after {
  content:'↗'; display:inline-block; margin-inline-start:.45em;
  font:400 .55em/1 var(--sans); vertical-align:middle;
  opacity:0; transform:translate(-.22em,.2em);
  transition:transform .3s var(--ease),opacity .2s;
}
.catalog-room .art-tile a:focus-visible img {transform:scale(1.05);}
.catalog-room .art-tile a:focus-visible h2::after {opacity:1; transform:none;}
@media (hover:hover) and (pointer:fine) {
  .catalog-room .art-tile a:hover img {transform:scale(1.055);}
  .catalog-room .art-tile a:hover h2::after {opacity:1; transform:none;}
  .catalog-room .filters button:hover::after {transform:scaleX(1);}
}
@media (hover:none) {
  .catalog-room .art-tile a:hover img {transform:none;}
  .catalog-room .art-tile a:active img {transform:scale(1.025);}
}
.catalog-passage ::view-transition-group(catalog-art) {
  animation-duration:.51s; animation-timing-function:cubic-bezier(.22,.7,.2,1);
}
.catalog-passage ::view-transition-old(catalog-art), .catalog-passage ::view-transition-new(catalog-art) {
  width:100%; height:100%; object-fit:cover; mix-blend-mode:normal;
}
.catalog-passage ::view-transition-old(root), .catalog-passage ::view-transition-new(root) {animation-duration:.22s;}
@media (prefers-reduced-motion:reduce) {
  .catalog-room *, .catalog-room *::after {transition-duration:0s !important;}
  .catalog-room .art-tile a:is(:hover,:focus-visible,:active) img {transform:none;}
}

.visitor-work-section {margin-block:clamp(54px,9vw,120px) 36px; border-block-start:1px solid var(--line);}
.visitor-work-section h2 {font:400 clamp(28px,4vw,58px)/1.25 var(--serif); margin:1em 0 .6em;}
.visitor-work-section h3 {font:400 clamp(20px,2.1vw,33px)/1.4 var(--serif); margin:.3em 0;}
.visitor-work-section .text-link {margin-block:1.5em;}
.visitor-excerpt, .visitor-manuscript {background:var(--paper); overflow-wrap:anywhere; color:var(--ink);}
.visitor-excerpt {min-height:175px; display:grid; align-items:center; padding:clamp(22px,3vw,42px);}
.visitor-excerpt p {font:400 clamp(18px,1.7vw,26px)/1.6 var(--serif); margin:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}
.visitor-detail {max-width:1100px; margin:auto;}
#visitor-detail {margin-block:clamp(32px,5vw,84px);}
.visitor-detail .detail-heading {overflow-wrap:anywhere; white-space:normal;}
.visitor-manuscript {padding:clamp(24px,5vw,72px); margin:2em 0; max-width:76ch;}
.visitor-manuscript p {white-space:pre-wrap; font:400 clamp(19px,2vw,29px)/1.85 var(--serif);}
.visitor-poem {border-block-start:1px solid var(--line); margin-top:2em; padding-top:1.25em;}
.visitor-poem h2 {font:400 15px var(--sans);}
:is(.visitor-excerpt,.visitor-manuscript).frame-paper {background:color-mix(in srgb,var(--paper) 94%,var(--ink)); box-shadow:1px 3px 12px #0001;}
:is(.visitor-excerpt,.visitor-manuscript).frame-thin {border:1px solid var(--ink);}
