body.canvas:is(:not(.ac-variant-default), .ac-has-typography) {
    font-family: var(--ac-font-body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

body.canvas:is(:not(.ac-variant-default), .ac-has-typography) :is(h1, h2, h3, h4, h5, h6, .site-title, .cde-artist-profile__name) {
    font-family: var(--ac-font-heading, inherit);
}

/* Site chrome follows the viewport gutters; page content retains its width cap. */
body.canvas :is(.site-header, .primary-navigation, .site-header__compact, .mobile-nav__bar, .site-footer, .ac-site-footer) .container {
    width: calc(100% - max(32px, var(--ac-page-gutter-total, 4vw)));
    max-width: none;
    margin-inline: auto;
}

body.canvas:not(.ac-variant-default) .ad-layout {
    --ad-gap: var(--ac-layout-gap, clamp(2rem, 4vw, 6rem));
}

body.canvas:not(.ac-variant-default) .ad-layout--reading-column .ad-layout__inner {
    max-width: var(--ac-reading-width, 78rem);
}

body.canvas:not(.ac-variant-default) .ad-layout .ad-layout__works,
body.canvas:not(.ac-variant-default) .ad-layout .ad-layout__collections,
body.canvas:not(.ac-variant-default) .ad-layout .ad-layout__cards {
    column-gap: var(--ac-gallery-gap, 3rem);
}

body.canvas:not(.ac-variant-default) .cde-artist-profile {
    --ad-profile-padding: var(--ac-profile-padding, clamp(3rem, 6vw, 7rem));
}

body.canvas.ac-rounded-controls :is(.button, button, input[type="submit"]) {
    border-radius: .5rem;
}

/* Regular artwork and collection grids share the per-design artwork controls. */
body.canvas.ac-artwork-controls .ad-layout:is(.ad-layout--aligned-grid, .ad-layout--natural-height-grid) .ad-layout__works,
body.canvas.ac-artwork-controls .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collections,
body.canvas.ac-artwork-controls .art-wrapper:is(.cols1, .cols2, .cols3) > ul {
    grid-template-columns: repeat(var(--ac-grid-max-columns, 3), minmax(0, 1fr));
    column-gap: var(--ac-grid-column-gap, 3rem);
    row-gap: var(--ac-grid-row-gap, 3rem);
}
body.canvas.ac-artwork-controls .ad-layout:is(.ad-layout--aligned-grid, .ad-layout--natural-height-grid) .ad-layout__work .ad-layout__image,
body.canvas.ac-artwork-controls .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media .ad-layout__image,
body.canvas.ac-artwork-controls .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__collection-cover > .ad-layout__media .ad-layout__image,
body.canvas.ac-artwork-controls .art-wrapper:is(.cols1, .cols2, .cols3) .art_image_holder img {
    object-fit: var(--ac-image-fit, contain);
    object-position: var(--ac-image-position, center center);
}
@media (max-width: 1000px) {
    body.canvas.ac-artwork-controls { --ac-grid-max-columns: 2; }
}
@media (max-width: 720px) {
    body.canvas.ac-artwork-controls { --ac-grid-max-columns: 1; }
}

/* Natural-height images retain their proportions; fill mode needs an image area. */
body.canvas.ac-variant-new-york .ad-layout--natural-height-grid .ad-layout__work .ad-layout__media,
body.canvas.ac-variant-new-york .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media {
    aspect-ratio: var(--ac-image-fill-ratio, auto);
    display: grid;
}
body.canvas.ac-variant-new-york .ad-layout--natural-height-grid .ad-layout__work .ad-layout__image,
body.canvas.ac-variant-new-york .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media .ad-layout__image {
    width: 100%;
    height: 100%;
    min-height: 0;
}

/* Fill-mode artwork zooms within its existing frame, without moving the card. */
body.canvas.ac-image-fit-cover :is(
    .ad-layout:is(.ad-layout--aligned-grid, .ad-layout--natural-height-grid) .ad-layout__work .ad-layout__media,
    .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media,
    .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__collection-cover > .ad-layout__media,
    .art-wrapper:is(.cols1, .cols2, .cols3) .art_image_holder
) { overflow: hidden; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.canvas.ac-image-fit-cover :is(
        .ad-layout:is(.ad-layout--aligned-grid, .ad-layout--natural-height-grid) .ad-layout__work .ad-layout__media,
        .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media,
        .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__collection-cover > .ad-layout__media,
        .art-wrapper:is(.cols1, .cols2, .cols3) .art_image_holder
    ) img {
        scale: 1;
        transition: scale 300ms ease-out;
        transform-origin: var(--ac-image-position, center center);
    }
    body.canvas.ac-image-fit-cover :is(
        .ad-layout:is(.ad-layout--aligned-grid, .ad-layout--natural-height-grid) .ad-layout__work .ad-layout__media,
        .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__media,
        .ad-layout:not(.ad-layout--featured-collection-index) .ad-layout__collection > .ad-layout__collection-cover > .ad-layout__media,
        .art-wrapper:is(.cols1, .cols2, .cols3) .art_image_holder
    ):hover img { scale: 1.04; }
}
