/* A white photographic index: quiet type, unequal image sizes.
   Layout spacing is 90% of the previous composition; photo sizes and horizontal offsets stay fixed. */
:root {
  color-scheme: light;
  --bg: #fff;
  --ink: #262626;
  --muted: #757575;
  --line: #dedede;
  --accent: #494949;
  --gutter: clamp(22px, 4.8vw, 78px);
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
body { background: var(--bg); color: var(--ink); }
::selection { color: #fff; background: #454545; }
.section-shell { max-width: 1640px; }
.site-header { display: flex; flex-direction: column; justify-content: center; gap: 18px; min-height: 145px; padding: 32px var(--gutter) 28px; }
.site-header .wordmark { font: 400 clamp(24px, 2.3vw, 36px)/1.2 var(--serif); letter-spacing: -.035em; }
.site-header nav { flex-wrap: wrap; justify-content: center; gap: 6px 30px; font-size: .875rem; }
.site-header nav a { padding: 5px 0; color: #707070; }
.site-header nav a:hover, .site-header nav a[aria-current] { color: #222; border-color: #555; }
.film-hero { max-width: 1320px; }
.film-caption { font-size: .875rem; }
.film-toolbar { border: 0; padding-bottom: 0; }
.film-button { font-size: .875rem; }
.film-button:hover { background: #f4f4f4; }
.film-error { color: #fff; }
.film-timeline { font-size: .75rem; }
.home-features { padding-top: clamp(72px, 8.1vw, 130.5px); padding-bottom: clamp(81px, 9.9vw, 153px); }
.index-signature { color: #c62828; text-align: center; font: 400 clamp(18px, 1.8vw, 26px)/1.6 var(--serif); letter-spacing: -.025em; margin-bottom: clamp(36px, 4.5vw, 64px); }
.index-signature span { color: #858585; font-style: italic; white-space: nowrap; }
.index-signature small { display: block; margin-top: 6px; color: inherit; font: 400 .8125rem/1.6 var(--sans); letter-spacing: .02em; }
.home-exhibitions-title { margin: 0 0 clamp(24px, 3vw, 36px); color: var(--ink); text-align: center; font: 400 1.125rem/1.5 var(--serif); letter-spacing: .02em; }
.feature-composition { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 0 14px; align-items: start; }
.index-tile { display: block; min-width: 0; }
.feature-exhibition { grid-column: 3 / span 10; width: 100%; max-width: 900px; justify-self: center; }
.home-artist { padding-top: 0; padding-bottom: clamp(43.2px, 4.5vw, 72px); }
.feature-artist { grid-column: 4 / span 4; }
.index-image img { width: 100%; height: auto; }
.index-caption, .collection-caption { display: block; padding: 15.3px 0 0; border: 0; }
.index-caption h2, .collection-caption h3 { font-size: 1rem; font-weight: 400; letter-spacing: .01em; }
.index-caption p, .collection-caption p { color: var(--muted); font-size: .875rem; line-height: 1.65; margin-top: 3px; }
.index-caption p span { margin-left: 7px; }
.index-tile:focus-visible { outline-offset: 8px; }
.index-tile:hover h2, .index-tile:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.index-tile img { transition: opacity .25s ease; }
.index-tile:hover img { opacity: .92; }
.portfolio { padding-top: 0; padding-bottom: clamp(57.6px, 6.3vw, 99px); }
.portfolio-heading { text-align: center; margin-bottom: clamp(50.4px, 5.4vw, 81px); }
.portfolio-heading h2 { font-weight: 400; font-size: 1rem; letter-spacing: .02em; }
.portfolio-heading h2 span { margin-left: 7px; font-family: var(--serif); color: var(--muted); font-style: italic; }
.collections-grid { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.collections-grid .collection-card { flex: none; width: var(--collection-width); margin-left: var(--collection-left); margin-top: var(--collection-space); }
.collection-image { height: auto; aspect-ratio: auto; background: transparent; overflow: hidden; }
.collection-image img { height: auto; width: 100%; object-fit: contain; }
.collection-card:hover .collection-image img { transform: none; }
.collection-total { display: block; margin: 5px 0 0; font-family: inherit; font-size: .75rem; font-weight: 400; line-height: 1.6; color: #808080; }
/* Each collection enters at its own height; images are not grouped into rows.
   Only horizontally separated neighbours share vertical space. */
.collection-card[data-cover="metal"] { --collection-width: 39%; --collection-left: 0%; --collection-space: 0; }
.collection-card[data-cover="paper"] { --collection-width: 23%; --collection-left: 68%; --collection-space: -26%; }
.collection-card[data-cover="ceramics"] { --collection-width: 28%; --collection-left: 24%; --collection-space: 5.4%; }
.collection-card[data-cover="earthenware"] { --collection-width: 24%; --collection-left: 75%; --collection-space: -20%; }
.collection-card[data-cover="wood"] { --collection-width: 44%; --collection-left: 0%; --collection-space: 7.2%; }
.collection-card[data-cover="costume"] { --collection-width: 32%; --collection-left: 60%; --collection-space: -10%; }
.collection-card[data-cover="metal"] .collection-image { aspect-ratio: 1 / 1; }
.collection-card[data-cover="paper"] .collection-image { aspect-ratio: 4 / 5; }
.collection-card[data-cover="ceramics"] .collection-image { aspect-ratio: 4 / 5; }
.collection-card:is([data-cover="metal"], [data-cover="paper"], [data-cover="ceramics"]) .collection-image img { height: 100%; object-fit: cover; object-position: center; }
.collection-route { padding-top: 10.8px; }
.collection-topline { padding-block: 18px 25.2px; }
.collection-topline > span { font-size: .75rem; }
.collection-topline .back-link { flex-shrink: 0; }
.collection-topline > span { min-width: 0; text-align: right; }
.category-nav { justify-content: center; gap: 3px 25.2px; border: 0; padding-block: 12.6px 21.6px; }
.category-nav a { font-size: .875rem; }
.category-nav a[aria-current]::after { bottom: 1px; height: 1px; }
.category-panel { padding-top: 19.8px; }
.category-intro { display: flex; justify-content: space-between; align-items: center; gap: 40.5px; text-align: left; margin-bottom: 32.4px; }
.category-intro .eyebrow { font-size: .875rem; letter-spacing: .06em; margin-bottom: 10px; }
.category-intro h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.5; letter-spacing: -.02em; }
.category-intro-copy { max-width: 580px; margin: 0; }
.category-intro-copy p { color: #676767; line-height: 1.75; }
.category-count { font-size: .75rem; margin-top: 10px; }
.gallery-heading { border: 0; padding: 0; margin-bottom: 42px; }
.gallery-heading .eyebrow, .gallery-heading > p:last-child { font-size: .875rem; color: var(--muted); letter-spacing: .015em; }
.gallery-rail { --rail-height: clamp(300px, 56svh, 660px); position: relative; display: flex; align-items: flex-end; gap: clamp(36px, 6.3vw, 108px); width: calc(100% + var(--gutter) * 2); margin-inline: calc(var(--gutter) * -1); padding: 14.4px var(--gutter) 21.6px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #b6b6b6 transparent; cursor: grab; }
.gallery-rail:focus-visible { outline: 1px solid #777; outline-offset: 5px; }
.gallery-rail::-webkit-scrollbar { height: 3px; }
.gallery-rail::-webkit-scrollbar-thumb { background: #b6b6b6; }
.gallery-rail.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.gallery-rail.is-dragging * { cursor: grabbing; user-select: none; }
.rail-photo { --rail-scale: 1; flex: 0 0 auto; width: min(78vw, calc(var(--rail-height) * var(--photo-ratio) * var(--rail-scale))); min-width: min(230px, 70vw); scroll-snap-align: center; }
.rail-photo:nth-child(3n + 2) { --rail-scale: .86; }
.rail-photo:nth-child(3n + 3) { --rail-scale: .95; }
.gallery-rail .photo-link { width: 100%; aspect-ratio: var(--photo-ratio); background: transparent; cursor: zoom-in; }
.gallery-rail .photo-link img { -webkit-user-drag: none; }
.gallery-rail .photo-link .oriented-photo img { width: 100cqh; height: 100cqw; }
.rail-toolbar { display: flex; align-items: center; gap: 22.5px; padding-block: 16.2px 0; }
.rail-count { font-size: .875rem; font-variant-numeric: tabular-nums; letter-spacing: .05em; white-space: nowrap; }
.rail-hint { color: #777; font-size: .875rem; }
.rail-buttons { display: flex; gap: 8px; margin-left: auto; }
.rail-buttons .icon-button { border-radius: 50%; }
.rail-buttons .icon-button:disabled { opacity: .25; cursor: default; border-color: transparent; }
.photo-card figcaption { gap: 10px; padding-top: 13.5px; }
.photo-card h4 { font-size: 1rem; line-height: 1.6; }
.photo-card figcaption p { color: var(--muted); font-size: .875rem; }
.expand { background: #ffffffeb; color: #222; }
.category-history { display: block; margin-top: 85px; padding: 25px 0; }
.category-history summary { width: fit-content; font-size: .875rem; cursor: pointer; padding: 8px 0; }
.category-history ul { margin-top: 26px; padding-bottom: 15px; }
.category-history strong { font-size: 1rem; }
.collection-end { padding-block: 27px 58.5px; }
.next-collection strong { font-size: 1.5rem; }
.gallery-pagination { padding-top: 70px; }
.gallery-progress { font-size: .875rem; }
.more-button { border-color: #b2b2b2; }
.exhibition-index, .studio { border: 0; padding-top: 10.8px; padding-bottom: 108px; }
.section-heading { margin-block: 34.2px 67.5px; align-items: end; }
.section-heading h2 { font-size: clamp(32px, 3.5vw, 50px); }
.section-meta, .section-meta span { color: var(--muted); font-size: .875rem; }
.exhibition-feature { display: block; background: transparent; color: var(--ink); }
.exhibition-feature-image { display: block; aspect-ratio: auto; background: transparent; overflow: visible; width: 76%; margin-left: 8%; }
.exhibition-feature-image img { width: 100%; height: auto; object-fit: contain; }
.exhibition-feature-copy { max-width: 680px; padding: 34.2px 0 0; margin-left: 8%; }
.exhibition-feature h3 { font-size: 42px; margin: 12px 0; }
.exhibition-feature h3 span { font-size: 24px; }
.exhibition-event-details { margin-top: 22.5px; font-size: 1rem; line-height: 1.8; }
.exhibition-event-details > div { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 12px; }
.exhibition-event-details dt { color: var(--muted); }
.exhibition-event-details dd { margin: 0; word-break: keep-all; overflow-wrap: anywhere; }
.exhibition-introduction { width: 76%; max-width: 800px; margin: clamp(54px, 6.3vw, 90px) 0 0 8%; }
.exhibition-introduction h4 { font-size: clamp(25px, 2.4vw, 34px); font-weight: 400; line-height: 1.6; letter-spacing: -.03em; word-break: keep-all; }
.exhibition-introduction p { margin-top: 21.6px; color: #555; font-size: 1rem; line-height: 2; word-break: keep-all; overflow-wrap: anywhere; }
.exhibition-introduction .exhibition-intro-subtitle { margin-top: 10.8px; margin-bottom: 31.5px; color: #757575; }
.exhibition-introduction blockquote { margin: 37.8px 0; padding-left: 22.5px; border-left: 1px solid #aaa; }
.exhibition-introduction blockquote p { color: #333; font-family: var(--serif); font-size: clamp(19px, 1.9vw, 23px); line-height: 1.9; }
.exhibition-artist-statement { margin-top: clamp(58.5px, 6.3vw, 90px); border-top: 1px solid var(--line); padding-top: 40.5px; }
.exhibition-artist-statement .statement-signature { margin-top: 28.8px; text-align: right; }
.exhibition-enter { width: fit-content; gap: 50px; border: 0; margin-top: 12px; }
.exhibition-feature:hover .exhibition-feature-image img { transform: none; }
.exhibition-heading { padding-block: 34.2px 43.2px; }
.exhibition-heading h2 { font-size: clamp(42px, 5vw, 72px); }
.exhibition-navigation { background: #fffffff5; border-color: var(--line); }
.exhibition-nav a { color: #626262; font-size: .875rem; }
.exhibition-nav a[aria-current], .exhibition-nav a:hover { color: #111; }
.exhibition-chapter-heading h3 { font-size: clamp(26px, 2.8vw, 36px); }
.exhibition-chapter-heading .eyebrow, .spread-topline h4 { color: #4e4e4e; }
.exhibition-subtitle, .exhibition-summary, .exhibition-feature-meta { color: #727272; }
.spread-topline > span { font-size: .75rem; color: #797979; }
.spread-captions p, .catalog-mobile-caption { color: #555; font-size: .875rem; }
.catalog-statement summary, .catalog-statement details > p { color: #555; }
.catalog-photo .expand { color: #222; }
.studio-layout { grid-template-columns: 1.15fr 1fr; column-gap: clamp(35px, 7vw, 110px); row-gap: clamp(31.5px, 6.3vw, 99px); align-items: start; margin-bottom: 76.5px; }
.studio-visuals { min-width: 0; }
.studio-image { margin-top: 10.8px; }
.studio-image + .studio-image { margin-top: 21.6px; }
.studio-portraits { display: flex; align-items: start; gap: 18px; margin-top: 25.2px; }
.studio-portraits img { display: block; width: clamp(96px, 10vw, 144px); max-width: calc((100% - 18px) / 2); height: auto; }
.studio-copy h3 { font-size: 1.75rem; margin-bottom: 21.6px; }
.artist-years { color: var(--muted); font-size: 1rem; white-space: nowrap; }
.studio-copy p { color: #555; line-height: 1.95; }
.studio-values p, .record-list span, .exhibitions { font-size: 1rem; color: #686868; }
.studio-values { padding-top: 34.2px; margin-bottom: 58.5px; column-gap: 50px; row-gap: 45px; }
.records { padding-top: 31.5px; }
.records > h3 { font-size: 1.125rem; }
.contact { max-width: 1640px; background: #fff; color: var(--ink); padding-top: 72px; }
.contact-top { border-top: 1px solid var(--line); padding-top: 45px; }
.contact h2 { font-size: clamp(32px, 3.4vw, 50px); }
.email { font-size: clamp(20px, 2vw, 28px); }
.footer { border-color: var(--line); font-size: .875rem; }
.footer > span { color: #777; }
.lightbox, .lightbox::backdrop { background: #fff; }
.lightbox-help, .lightbox-toolbar p { font-size: .875rem; }
#lightbox-category { flex: 1; min-width: 0; overflow-wrap: anywhere; }
#lightbox-counter, .lightbox-toolbar .icon-button { flex-shrink: 0; }

@media (max-width: 1000px) {
  .feature-exhibition { grid-column: 2 / span 12; }
  .feature-artist { grid-column: 4 / span 5; }
  .collection-card[data-cover="metal"] { --collection-width: 44%; }
  .collection-card[data-cover="paper"] { --collection-width: 29%; --collection-space: -27%; }
  .collection-card[data-cover="ceramics"] { --collection-width: 34%; --collection-left: 16%; --collection-space: 4.5%; }
  .collection-card[data-cover="earthenware"] { --collection-width: 28%; --collection-left: 70%; }
  .collection-card[data-cover="wood"] { --collection-width: 51%; --collection-space: 8.1%; }
  .collection-card[data-cover="costume"] { --collection-width: 38%; --collection-left: 59%; --collection-space: -12%; }
  .studio-layout { column-gap: 35px; row-gap: 31.5px; }
}
@media (max-width: 700px) {
  .site-header { min-height: 126px; padding-block: 27px 22px; gap: 16px; }
  .site-header nav { gap: 5px 23px; }
  .site-header .wordmark { font-size: 26px; }
  .film-hero { padding-inline: 0; }
  .home-features { padding-top: 72px; padding-bottom: 81px; }
  .index-signature { font-size: 18px; margin-bottom: 36px; }
  .index-signature span { display: block; margin-top: 3px; }
  .feature-composition { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 67.5px 0; }
  .feature-exhibition { grid-column: 1 / -1; max-width: none; }
  .feature-artist { grid-column: 2 / span 4; margin-top: 0; }
  .portfolio { padding-bottom: 57.6px; }
  .home-artist { padding-bottom: 39.6px; }
  .portfolio-heading { margin-bottom: 39.6px; }
  .collection-card[data-cover="metal"] { --collection-width: 76%; --collection-left: 0%; --collection-space: 0; }
  .collection-card[data-cover="paper"] { --collection-width: 57%; --collection-left: 43%; --collection-space: 37.8px; }
  .collection-card[data-cover="ceramics"] { --collection-width: 65%; --collection-left: 12%; --collection-space: 45px; }
  .collection-card[data-cover="earthenware"] { --collection-width: 62%; --collection-left: 38%; --collection-space: 39.6px; }
  .collection-card[data-cover="wood"] { --collection-width: 89%; --collection-left: 0%; --collection-space: 43.2px; }
  .collection-card[data-cover="costume"] { --collection-width: 74%; --collection-left: 26%; --collection-space: 39.6px; }
  .collection-caption { padding-top: 12.6px; }
  .collection-total { font-size: .75rem; }
  .category-nav { gap: 0 19.8px; justify-content: flex-start; padding-bottom: 4.5px; }
  .collection-topline { padding-top: 10.8px; }
  .collection-topline > span { display: none; }
  .category-panel { padding-top: 27px; }
  .category-intro { display: block; margin-bottom: 27px; }
  .category-intro-copy { text-align: left; margin-top: 18px; }
  .category-count { text-align: left; }
  .gallery-heading { margin-bottom: 30px; }
  .gallery-heading .eyebrow { display: none; }
  .gallery-rail { --rail-height: 52svh; gap: 27px; padding-top: 7.2px; padding-bottom: 18px; }
  .rail-photo { width: min(82vw, calc(var(--rail-height) * var(--photo-ratio) * var(--rail-scale))); }
  .rail-toolbar { flex-wrap: wrap; gap: 7.2px 13.5px; padding-top: 10.8px; }
  .rail-hint { order: 3; flex-basis: 100%; font-size: .875rem; }
  .rail-hint span { display: none; }
  .category-history { margin-top: 65px; }
  .category-history ul { grid-template-columns: 1fr; gap: 24px; }
  .section-heading { margin-block: 27px 40.5px; }
  .section-heading .eyebrow { font-size: .875rem; }
  .section-meta { display: none; }
  .exhibition-feature-image { width: 100%; margin-left: 0; }
  .exhibition-feature-copy { margin-left: 0; padding-top: 22.5px; }
  .exhibition-introduction { width: 100%; margin-left: 0; }
  .exhibition-introduction blockquote { padding-left: 18px; }
  .exhibition-feature h3 { font-size: 36px; }
  .exhibition-feature h3 span { font-size: 22px; }
  .exhibition-heading { padding-block: 22.5px 31.5px; }
  .exhibition-navigation { align-items: stretch; }
  .spread-captions p, .catalog-mobile-caption { font-size: .875rem; color: #555; }
  .studio-layout { grid-template-columns: 1fr; column-gap: 35px; row-gap: 31.5px; margin-bottom: 49.5px; }
  .studio-portraits { margin-top: 19.8px; }
  .studio-portraits img { width: 112px; }
  .studio-values { grid-template-columns: 1fr; gap: 25.2px; margin-bottom: 40.5px; }
  .record-list { grid-template-columns: 1fr; }
  .exhibition-index, .studio { padding-bottom: 58.5px; }
  .contact { padding-top: 27px; }
  .contact-top { grid-template-columns: 1fr; padding-top: 31.5px; gap: 22.5px; }
  .contact h2 { font-size: 34px; }
  .footer { flex-wrap: wrap; gap: 14.4px; margin-top: 40.5px; }
  .footer > span { display: none; }
  .footer > a { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .index-tile img { transition: none; }
}
