/* Editorial artwork pages. Scoped additions; shared interactions stay unchanged. */
.art-selection, .art-archive { padding: clamp(3rem, 7vw, 6rem) 0; background: #faf9f5; color: #171717; }
.art-archive { border-top: 1px solid #d8d3ca; }
.art-section-heading { max-width: 44rem; margin-bottom: 2.5rem; }
.art-section-heading h2, .art-archive h2 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; }
.art-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 2rem; }
.art-card { min-width: 0; }
.art-card-grid-home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.art-card a { display: block; color: #171717; }
.art-card a:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
.art-card img { display: block; width: 100%; height: 340px; object-fit: scale-down; background: #f0ede6; padding: 1rem; box-sizing: border-box; }
.art-card h3 { margin: 1rem 0 .35rem; font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.2; }
.art-card p { color: #514c46; font-size: .85rem; line-height: 1.6; margin: 0; }
.art-detail { padding: 7.5rem 0 4rem; background: #faf9f5; color: #171717; }
.art-breadcrumb { font-size: .8rem; margin-bottom: 2rem; color: #514c46; }
.art-breadcrumb a, .art-text-link, .art-contact-link a { text-decoration: underline; text-underline-offset: .25em; }
.art-title { text-align: center; max-width: 60rem; margin: 0 auto 2.5rem; }
.art-title h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: 1.08; overflow-wrap: anywhere; margin: .75rem 0; }
.art-title p { color: #514c46; }
.art-figure { margin: 0 auto 3rem; text-align: center; }
.art-figure a { display: block; }
.art-figure img { display: block; margin: 0 auto; width: auto; max-width: 100% !important; height: auto; max-height: 78vh; object-fit: contain; }
.art-figure figcaption { font-size: .75rem; color: #514c46; margin-top: .8rem; }
.art-notice { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 4rem; max-width: 65rem; margin: 0 auto; border-top: 1px solid #d8d3ca; padding-top: 2.5rem; }
.art-notice h2 { font-size: 1.8rem; }
.art-notice dl { margin: 0; }
.art-notice dl > div { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid #e5e0d7; }
.art-notice dt { color: #514c46; }
.art-notice dd { margin: 0; }
.art-contact-link { margin-top: 1.5rem; }
.art-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid #d8d3ca; }
.art-pagination a { padding: .65rem 0; text-decoration: underline; text-underline-offset: .25em; max-width: 35%; }
.art-archive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 2rem; }
.art-archive h3 { font-size: 1.8rem; }
.art-poster { display: block; width: auto; max-width: 100%; height: auto; max-height: 30rem; margin-top: 2rem; }
.art-skip { position: fixed; left: 1rem; top: -8rem; z-index: 2000; background: #fff; color: #171717; padding: 1rem; }
.art-skip:focus { top: 1rem; }
@media (max-width: 900px) {
  .art-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .art-notice, .art-archive-grid { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .art-card-grid { grid-template-columns: 1fr; gap: 2rem; }
  .art-card img { height: 320px; }
  .art-detail { padding-top: 6rem; }
  .art-pagination { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .art-pagination a { max-width: 100%; }
  .art-notice dl > div { grid-template-columns: 5rem 1fr; }
}
