.art-page{padding-top:48px}.art-intro h1{color:#000}.art-date{margin:4px 0 24px}.art-gallery{max-width:780px;display:grid;grid-template-columns:minmax(0,1fr);gap:48px 24px;margin-top:64px;align-items:start}.art-gallery figure{margin:0;min-width:0}.art-open{display:block;width:100%;padding:0;border:0;background:#f7f7f7;cursor:zoom-in;overflow:hidden}.art-open img{display:block;width:100%;height:auto;transition:transform .5s cubic-bezier(.22,1,.36,1)}.art-open:hover img{transform:scale(1.025)}.art-gallery figcaption{margin-top:12px}.art-gallery h2,.art-gallery p{font-size:inherit;line-height:1.65}.art-contact{margin-top:64px}.art-page footer{margin-top:64px}.art-viewer{width:calc(100vw - 48px);max-width:1200px;height:calc(100dvh - 48px);max-height:none;padding:16px;border:1px solid #ddd;background:#fff;color:#333}.art-viewer::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}.art-viewer[open]{display:flex;flex-direction:column;gap:16px}.art-viewer-toolbar{display:flex;align-items:center;gap:16px}.art-viewer-toolbar p{flex:1;font-size:inherit}.art-viewer button{font:inherit;border:0;background:transparent;color:inherit;cursor:pointer;padding:8px}.art-viewer>img{min-height:0;flex:1;width:100%;object-fit:contain}.art-viewer-open{overflow:hidden}@media(max-width:620px){.art-page{padding-top:40px}.art-gallery{gap:32px 16px}.art-gallery figcaption{margin-top:8px}.art-viewer{width:calc(100vw - 24px);height:calc(100dvh - 24px);padding:8px}.art-viewer-toolbar{gap:4px}}@media(prefers-reduced-motion:reduce){.art-open img{transition:none}}

.art-scroll-stack button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.art-scroll-stack button.is-subsection{padding-left:16px}@media(max-width:1199px){.art-scroll-stack{display:none!important}}
/* Two per row by default ("One per row" via the testing console); phones always stack. */
@media(min-width:621px){html:not([data-gallery-layout="single"]) .art-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}html:not([data-gallery-layout="single"]) .art-gallery>figure:last-child:nth-child(odd){grid-column:1/-1}}
/* Masonry: in two-up mode, figures stack in independent columns (no row gaps). Very wide images (or .is-wide) span both columns; .is-narrow keeps one column. */
@media(min-width:621px){
.case-work-gallery.is-masonry,.art-gallery.is-masonry{grid-auto-rows:4px;row-gap:0!important;grid-auto-flow:row dense;align-items:start}
html .is-masonry.is-masonry figure:last-child:nth-child(odd):not(.is-wide):not(.is-auto-wide){grid-column:auto}
.is-masonry figure:is(.is-wide,.is-auto-wide):not(.is-narrow){grid-column:1/-1}
}

/* Captions sit centred under each piece, matching the case-study galleries. */
.art-gallery figcaption{text-align:center}
.art-gallery figcaption :is(h2,p){margin-left:auto;margin-right:auto}
