/* Shared page rhythm. Keep content readable instead of scaling to monitor size. */
:root {
    --content-width: 90rem;
    --container-pad: clamp(1.25rem, 3vw, 3rem);
    --space-5: clamp(3.5rem, 2rem + 2vw, 5rem);
    --space-6: clamp(4rem, 3rem + 2.5vw, 6rem);
    --section-heading-gap: clamp(2rem, 1.5rem + 1.5vw, 3rem);
    --layout-gap: clamp(2rem, 3.5vw, 3.5rem);
    --page-title-size: clamp(2.6rem, 1.5rem + 3vw, 4.5rem);
    --section-title-size: clamp(2rem, 1.5rem + 1.6vw, 3rem);
}
.container-fluid { width: 100%; max-width: var(--content-width); margin-inline: auto; }
/* Bootstrap's large row gutters must fit inside mobile page padding. */
.container-fluid > .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
main .section { padding-block: var(--space-5); }
main .section--large { padding-block: var(--space-6); }
main .page-header { padding-top: calc(var(--header-height) + var(--space-5)); padding-bottom: var(--space-5); }
main :is(.page-header, .exhibition-detail-hero, .not-found) .page-title { font-size: var(--page-title-size); line-height: 1.08; }
main .section .section-title,
main :is(.about-intro, .artist-call-manifest) h2 { font-size: var(--section-title-size); line-height: 1.12; }
main .lead-copy { font-size: clamp(1.25rem, 1rem + .65vw, 1.65rem); line-height: 1.4; }
main :is(.home-section-heading, .home-program__heading, .artist-works__heading,
    .artwork-related__heading, .exhibition-selected__heading, .exhibition-gallery__heading,
    .exhibitions-upcoming__header, .about-model__heading, .artist-call-support__heading,
    .artist-call-process__intro, .contact-paths__heading, .artwork-discovery__heading) {
    margin-bottom: var(--section-heading-gap);
}
main :is(.artist-biography__layout, .artist-exhibitions__layout, .artwork-narrative__layout,
    .artwork-artist__layout, .exhibition-concept__layout, .about-hero__layout,
    .about-story__layout, .about-intro__layout, .about-model__heading, .about-values__layout,
    .about-partners__heading, .about-closing__layout, .artist-call-manifest__layout,
    .artist-call-support__heading, .contact-hero__layout, .contact-message__layout,
    .collector-hero__layout, .artist-call-hero__layout, .not-found__layout) { gap: var(--layout-gap); }
/* Continuations on the same background need one clear gap, not two full sections. */
main :is(.legal-document, .contact-paths, .exhibition-selected) { padding-top: 1.5rem; }
main .artists-catalog { padding-block: var(--space-5) var(--space-6); }
main .artist-publications + .artist-exhibitions { padding-top: 1.5rem; }
.artist-resource-grid { gap: 1.5rem; }
.artist-biography__layout { row-gap: var(--space-5); }
.artist-materials-more { margin-top: var(--section-heading-gap); }
.artwork-discovery__block, .artwork-discovery__resources { margin-top: var(--space-5); }
main .artist-statement blockquote p { font-size: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
main :is(.collector-cta__title, .manifest-closing__header h2, .artist-call-closing__content h2) {
    font-size: clamp(2.4rem, 1.5rem + 2.5vw, 4rem); line-height: 1.08;
}
main .legal-section h2 { font-size: clamp(1.8rem, 1.4rem + 1.3vw, 2.65rem); line-height: 1.15; }
main .legal-section { padding-bottom: var(--space-5); }
main .hero { min-height: clamp(36rem, 100svh, 52rem); }
.hero__title { font-size: clamp(2.8rem, 1.5rem + 3.2vw, 5rem); }
.home-artists .artist-showcase__track { grid-auto-columns: clamp(16rem, 25vw, 22rem); }
.home-artists .artist-tile { min-height: clamp(22rem, 35vw, 29rem); }
.home-audiences { min-height: 36rem; }
.home-audience__content { max-width: 45rem; padding: clamp(2rem, 3vw, 3rem); }
.home-audience:first-child .home-audience__content { margin-left: auto; }
.home-audience__content h2 { font-size: clamp(2.25rem, 1.4rem + 1.8vw, 3.2rem); }
main :is(.collector-hero, .artist-call-hero),
main :is(.collector-hero__layout, .artist-call-hero__layout) { min-height: 0; }
.collector-hero__composition, .artist-call-hero__visual { min-height: clamp(27rem, 40vw, 35rem); }
.artist-call-practice__images { min-height: clamp(27rem, 40vw, 35rem); }
.artist-call-closing { min-height: min(38rem, 75svh); }
.contact-map, .contact-map iframe { min-height: clamp(28rem, 40vw, 36rem); }
.about-hero__image img, .exhibition-detail-hero__image img { height: clamp(25rem, 35vw, 34rem); }
.about-editorial__main { height: clamp(24rem, 35vw, 33rem); }
.about-editorial__side { height: clamp(18rem, 24vw, 23rem); }
.artist-featured-material__visual { min-height: clamp(18rem, 25vw, 26rem); }
.exhibition-detail-hero { padding-top: calc(var(--header-height) + var(--space-5)); padding-bottom: var(--space-5); }
/* The laptop layout remains the reference for large screens. */
@media (min-width: 992px) {
    .collector-hero__layout, .artist-call-hero__layout { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
    main .artwork-detail-hero__intro .page-title { font-size: clamp(2.5rem, 3vw, 3.5rem); }
    .artwork-detail-hero { padding-bottom: var(--space-5); }
    .artwork-detail-hero__layout { align-items: start; }
    .artwork-detail-hero__intro { padding-top: 0; }
    .artist-call-practice__layout, .collector-conversation__layout { gap: var(--layout-gap); }
    .collector-hero__copy .page-title { max-width: 10ch; }
}
@media (max-width: 991px) {
    main :is(.page-header, .exhibition-detail-hero) { padding-top: calc(var(--header-height) + 2.5rem); }
    .artist-profile-portrait { width: min(100%, 24rem); margin-block: 0; }
    .artist-featured-material { grid-template-columns: 1fr; }
    .artist-featured-material__visual { aspect-ratio: 3 / 2; min-height: 0; }
    .home-audiences { min-height: 0; }
    .home-audience { min-height: 32rem; }
}
@media (max-width: 767px) {
    :root { --layout-gap: 2.25rem; }
    main .artwork-detail-hero { padding-top: calc(var(--header-height) + 2rem); padding-bottom: var(--space-5); }
    main .artwork-detail-hero__intro .page-title { font-size: var(--page-title-size); line-height: 1.08; }
    .artwork-detail-hero__layout { gap: 2.5rem; }
    .artist-profile-meta { margin-top: 2rem; gap: 1.25rem; }
    .artist-profile-portrait { max-width: 21rem; }
    .collector-hero__composition, .artist-call-hero__visual, .artist-call-practice__images { min-height: clamp(24rem, 100vw, 30rem); }
    .about-hero__image img, .exhibition-detail-hero__image img { height: clamp(20rem, 85vw, 28rem); }
    .home-artists .artist-showcase__track { grid-auto-columns: minmax(15rem, 78vw); }
    .home-artists .artist-tile { min-height: 25rem; }
    .home-audience { min-height: 29rem; }
    .home-audience__content { padding: 2rem var(--container-pad); }
    .contact-map, .contact-map iframe { min-height: 32rem; }
    .artist-resource-grid, .artist-materials-more .artist-resource-grid { row-gap: 2rem; }
    .artist-publications .artist-resource-grid { row-gap: 2rem; }
    .site-footer__bottom { gap: 1.5rem; }
}
@media (max-width: 359px) {
    :root { --container-pad: 1rem; --page-title-size: 2.35rem; }
    .artwork-facts__details { grid-template-columns: 1fr; }
    .hero__title { font-size: 2.6rem; }
}
