/* 1.18 — Interface refinements only. Authored words, photographs and order stay intact. */

/* PAIR is a shared grid track, not a crop. Captions sit outside the image. */
.exhibition-sequence .block-image-pair>.viewing-item{
  align-self:start;
  aspect-ratio:auto;
  overflow:visible;
}
.exhibition-sequence .block-image-pair>.viewing-item>img{
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
}

/* Typography establishes hierarchy without abbreviating or rewriting titles. */
.project-square-info h2{
  font-size:clamp(28px,2.8vw,42px);
  line-height:1.24;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.project-square-info .project-title-ja{
  margin-top:12px;
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.65;
  color:var(--color-text-secondary);
}
.detail-title h1{line-height:1.2;overflow-wrap:anywhere}
@media(min-width:701px){
  .home-section>.section-head>a{transform:translateX(min(44px,calc(var(--edge) - 12px)))}
  .detail-rail .detail-back{
    width:fit-content;
    max-width:calc(100% - 32px);
    margin-inline:auto;
    font-size:13px;
    line-height:1.6;
    letter-spacing:.06em;
  }
}
/* A narrow side track becomes an in-column breadcrumb, never an edge-clipped label. */
@media(min-width:701px) and (max-width:1400px){
  .detail-layout .detail-rail{grid-column:2;padding-top:112px}
  .detail-rail .detail-back{position:static;max-width:100%;margin:0}
  .detail-layout .detail-header{padding-top:40px}
}
.detail-title .detail-subtitle{
  margin:14px 0 0;
  font:400 clamp(17px,1.6vw,23px)/1.6 var(--mincho);
  color:var(--color-text-secondary);
  overflow-wrap:anywhere;
}
.detail-header{padding-bottom:var(--sequence-s)}
.detail-meta{width:min(100%,860px);margin-top:var(--sequence-xs);gap:24px 32px}
.detail-meta dt{font-size:12px;line-height:1.4;letter-spacing:.08em}
.detail-meta dd{margin-top:6px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.detail-standfirst,.work-detail-header .detail-standfirst{margin-top:var(--sequence-s)}
.work-detail-header .detail-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.work-detail-header .detail-meta-assignment{grid-column:1/-1;max-width:680px}
.work-introduction{margin:0 0 var(--sequence-s);max-width:680px}
.work-deliverables{padding:0 0 var(--sequence-s)}
.work-deliverables .detail-meta{display:block;margin:0;max-width:680px}

/* Distinguish the end of an artwork from the next destination. */
.single-project .exhibition-sequence{padding-bottom:var(--sequence-m)}
.detail-navigation{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  align-items:start;
  gap:var(--sequence-xs);
  padding:var(--sequence-s) 0;
  border-top:1px solid var(--line);
}
.detail-navigation a{min-width:0;color:inherit}
.detail-navigation-all,.detail-navigation-label{
  font:500 13px/1.5 var(--sans);
  letter-spacing:.07em;
}
.detail-navigation-all{justify-self:start;max-width:100%;padding:10px 0}
.detail-navigation-adjacent{display:grid;gap:14px;justify-self:end;text-align:right;padding:10px 0}
.detail-navigation-title{font:400 clamp(17px,1.5vw,21px)/1.55 var(--sans);overflow-wrap:anywhere}
.detail-navigation a:hover,.detail-navigation a:focus-visible{text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.single-work .related-work{padding-bottom:var(--sequence-s)}
.project-print-note{padding-block:var(--sequence-s) var(--sequence-l)}

/* One compact, sticky filter bar; disclosures don't push the article list down. */
.journal-archive-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-block:8px}
.journal-filter-disclosure{position:static;min-width:0;margin:0}
.journal-filter-disclosure>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:4px 16px;
  min-height:58px;
  padding:8px 0;
  cursor:pointer;
  list-style:none;
  font-family:var(--sans);
}
.journal-filter-disclosure>summary::-webkit-details-marker{display:none}
.journal-filter-label{grid-column:1;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.08em}
.journal-filter-value{grid-column:1;font-size:12px;line-height:1.4;color:var(--color-text-secondary);overflow-wrap:anywhere}
.journal-filter-indicator{grid-column:2;grid-row:1/3;font-size:20px;font-weight:400;line-height:1;transition:transform var(--motion-fast) ease}
.journal-filter-disclosure[open] .journal-filter-indicator{transform:rotate(45deg)}
.journal-filter-panel{
  position:absolute;
  top:100%;
  inset-inline:0;
  z-index:1;
  max-height:min(52svh,440px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px max(var(--edge),calc((100vw - var(--content))/2 + var(--edge))) 28px;
  background:var(--paper);
  border-block:1px solid var(--line);
}
.journal-filter-panel .journal-filter-links{margin:0;gap:8px 24px}
.journal-filter-panel a{padding:12px 0;font-size:13px;color:var(--color-text-secondary)}
.journal-filter-panel .journal-date-heading{margin-bottom:8px}
.journal-filter-panel .journal-date-row{align-items:start}
.journal-filter-panel .journal-date-row nav{gap:4px 24px}
.journal-filter-panel a.is-active::after{bottom:7px}
.journal-filter-disclosure>summary:focus-visible,.detail-navigation a:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.journal-archive-tools~.journal-list{scroll-margin-top:160px}
/* Older .journal-list span rules must never shrink a semantic heading. */
.journal-list .journal-entry-heading{
  margin-top:clamp(20px,2vw,28px);
  font:400 clamp(26px,2.6vw,38px)/1.45 var(--sans);
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.journal-list .journal-entry-title{font:inherit;letter-spacing:inherit}
.archive-empty{padding:var(--sequence-s) 0 var(--sequence-m);font-family:var(--sans)}
.archive-empty>p{margin:0;font-size:14px;line-height:1.7;letter-spacing:.06em}
.archive-empty .archive-empty-note{margin-top:14px;color:var(--color-text-secondary);letter-spacing:.02em}
.archive-empty>a{display:inline-block;margin-top:28px;padding:12px 0;font-size:13px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:.3em}
.project-archive-shell{padding-bottom:220px}
.project-archive-shell .project-square-list{padding-bottom:0}
:is(.work-archive-shell,.project-archive-shell) .pagination{margin-top:var(--sequence-s);font-size:14px}
.project-archive-shell .pagination{max-width:1320px;margin-inline:auto;padding-inline:var(--edge)}
:is(.work-archive-shell,.project-archive-shell) .nav-links{display:flex;flex-wrap:wrap;gap:12px}
:is(.work-archive-shell,.project-archive-shell) .page-numbers{padding:12px;min-width:44px;min-height:44px;text-align:center}
:is(.work-archive-shell,.project-archive-shell) .page-numbers.current{text-decoration:underline;text-underline-offset:.3em}

/* Square stage remains independent of every photograph's intrinsic ratio. */
.room-shell{
  --viewer-stage-size:max(1px,min(
    calc(var(--viewer-viewport-width,100vw) - 96px),
    calc(var(--viewer-viewport-height,100svh) - var(--viewer-ui-reserve)),
    var(--viewer-stage-preferred),var(--viewer-stage-max)
  ));
  --viewer-unit-size:min(calc(var(--viewer-viewport-width,100vw) - 96px),max(360px,var(--viewer-stage-size)));
  min-height:var(--viewer-viewport-height,100svh);
}
.room-head,.viewing-unit{width:var(--viewer-unit-size);min-width:0}
.room-head{gap:24px;align-items:baseline;padding-bottom:24px}
.room-head .room-project-title{max-width:none;min-width:0;font-size:13px;line-height:1.6;letter-spacing:.04em;overflow-wrap:anywhere}
.room-head .room-close{flex:0 0 auto;min-width:64px;min-height:44px;padding:0 0 0 12px;font-size:13px;line-height:1.6;text-align:right;cursor:pointer}
.room-photo{margin-inline:auto;position:relative}
.room-copy{padding-top:24px}
.room-metadata{gap:20px;margin-top:20px}
.room-metadata dt{font-size:12px;line-height:1.5;color:var(--color-viewer-text-secondary)}
.room-metadata dd{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.room-navigation{gap:12px;margin-top:24px;padding-top:12px}
.room-navigation button{min-width:80px;min-height:44px;padding:8px 0;font-size:13px;line-height:1.5}
.room-navigation .room-count{font-size:13px;line-height:1.5;white-space:nowrap}
.room-navigation .room-prev{text-align:left}
.room-navigation .room-next{text-align:right}
.viewing-room{overscroll-behavior:contain}
.viewer-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.viewing-room button:focus-visible,.viewing-item img:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.room-image-error{margin:0;max-width:100%;font:400 14px/1.7 var(--sans);text-align:center}
.room-image-error button{display:block;min-height:44px;margin:16px auto 0;padding:8px 12px;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

@media(max-width:700px){
  .project-archive-shell{padding-bottom:140px}
  .project-archive-shell .pagination{padding-inline:20px}
  .project-square-info h2{font-size:clamp(26px,6.8vw,34px);line-height:1.3}
  .project-square-info .project-title-ja{font-size:15px;line-height:1.6}
  .detail-header{padding-top:40px;padding-bottom:var(--sequence-s)}
  .detail-title h1{font-size:clamp(30px,8vw,40px);line-height:1.3}
  .detail-title .detail-subtitle{font-size:17px;line-height:1.65}
  .work-detail-header .detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .work-detail-header .detail-meta-location,.work-detail-header .detail-meta-assignment{grid-column:1/-1}
  .detail-meta{gap:20px}
  .detail-navigation{grid-template-columns:1fr;gap:24px}
  .detail-navigation-adjacent{justify-self:start;text-align:left}
  .journal-archive-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-block:6px}
  .journal-filter-disclosure>summary{gap:3px 8px;min-height:56px}
  .journal-filter-panel{padding:12px 20px 22px}
  .journal-filter-panel a{min-height:44px}
  .home-editorial-list{--journal-meta-width:100px}
  .home-editorial-list .journal-entry-link{grid-template-columns:var(--journal-meta-width) minmax(0,1fr);column-gap:18px}
  .home-editorial-list .journal-entry-meta{gap:4px}
  .home-editorial-list .journal-entry-meta time{font-size:13px;line-height:1.4;letter-spacing:.025em;white-space:nowrap}
  .home-editorial-list .journal-entry-category{font-size:11px!important;line-height:1.4;letter-spacing:.04em;overflow-wrap:anywhere}
  .home-editorial-list .journal-entry-visual{width:var(--journal-meta-width);height:var(--journal-meta-width);margin-top:4px}
  .home-editorial-list .journal-home-copy h3{margin:0;font-size:clamp(20px,5.5vw,24px);line-height:1.6;letter-spacing:.01em;overflow-wrap:anywhere}
  .home-editorial-list .journal-entry-action{font-size:12px;line-height:1.5;margin-top:18px}
  .journal-list .journal-entry-heading{font-size:clamp(21px,5.8vw,27px);line-height:1.5;letter-spacing:-.015em}
  .journal-list .journal-entry-category{font-size:11px!important;line-height:1.4}
  .journal-list .journal-entry-meta time{font-size:12px;line-height:1.4}
  .room-shell{
    --viewer-stage-size:max(1px,min(calc(var(--viewer-viewport-width,100vw) - 36px),calc(var(--viewer-viewport-height,100svh) - var(--viewer-ui-reserve))));
    --viewer-unit-size:min(calc(var(--viewer-viewport-width,100vw) - 36px),max(280px,var(--viewer-stage-size)));
  }
  .room-head{gap:16px;padding-bottom:16px}
  .room-head .room-project-title,.room-head .room-close{font-size:12px}
  .room-head .room-close{min-width:60px}
  .room-navigation button,.room-navigation .room-count{font-size:12px}
  .room-copy{padding-top:20px}
  .room-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:380px){
  .home-editorial-list{--journal-meta-width:92px}
  .home-editorial-list .journal-entry-link{column-gap:16px}
  .home-editorial-list .journal-entry-meta time{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .journal-filter-indicator,.room-photo{transition:none}
}
