/* Artwork is shown in full: no cropping, overlays, or carousel. */
.design-gallery { max-width: calc(var(--content-max) + 2 * var(--page-padding)); margin: 0 auto; padding: clamp(44px, 7vw, 88px) var(--page-padding) 64px; }
.gallery-intro { margin-bottom: clamp(48px, 7vw, 88px); }
.gallery-intro h1 { margin: 0 0 16px; font-weight: 400; font-size: clamp(2.4rem, 5.5vw, 4.5rem); line-height: 1.08; letter-spacing: -.035em; }
.gallery-intro p { margin: 0; color: var(--text-secondary); font-size: 1.1rem; }
.gallery-section + .gallery-section { margin-top: clamp(60px, 8vw, 112px); }
.gallery-section h2 { border-top: 1px solid var(--border); padding-top: 16px; margin: 0 0 32px; color: var(--text-secondary); font-size: .85rem; font-weight: 400; }
.identity-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.work-piece { margin: 0; min-width: 0; }
.work-image { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.work-image img { display: block; width: 100%; height: auto; max-width: 100%; }
.identity-grid .work-image { height: 250px; }
.identity-grid .work-image img { max-height: 220px; width: 100%; object-fit: contain; }
.work-piece figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 16px; color: var(--text-secondary); font-size: .8rem; line-height: 1.6; }
.work-kind { display: block; color: var(--text-secondary); font-size: .75rem; }
.work-date { white-space: nowrap; font-size: .75rem; }
.poster-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px 48px; align-items: start; }
.work-piece-wide { grid-column: 1 / -1; width: 100%; max-width: 900px; margin: 0 auto; }
.gallery-return { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--border); font-size: .9rem; }
.gallery-return a { text-underline-offset: 4px; }
@media(max-width: 800px) { .identity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .identity-grid .work-image { height: 210px; } }
@media(max-width: 560px) { .identity-grid, .poster-grid { grid-template-columns: 1fr; gap: 40px; } .identity-grid .work-image { height: 220px; } .identity-grid .work-image img { max-width: 360px; } .work-piece-wide { grid-column: auto; } .gallery-intro { margin-bottom: 40px; } .gallery-return { margin-top: 56px; } }

.seal-piece .work-image { background: #262626; }
.seal-piece .work-image img { width: 100%; height: auto; max-height: 230px; }

/* One quiet, equal-height row on desktop; full artwork at every size. */
.poster-row { display: flex; align-items: flex-start; gap: 20px; }
.poster-piece { flex: var(--poster-ratio) 1 0; }
.poster-row .work-image { aspect-ratio: var(--poster-ratio); }
.poster-row .work-image img { width: 100%; height: 100%; object-fit: contain; }
.poster-row figcaption { display: block; font-size: .75rem; line-height: 1.5; margin-top: 12px; }
.poster-row .work-date { display: block; margin-top: 4px; }
@media(max-width: 800px) { .poster-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; } }
@media(max-width: 560px) { .poster-row { grid-template-columns: 1fr; gap: 40px; } }
