:root {
    --color-bg: #f4f1ea;
    --color-bg-alt: #e9e4da;
    --color-ink: #101010;
    --color-muted: #625f59;
    --color-line: rgba(16, 16, 16, .2);
    --color-white: #fff;
    --font-display: Georgia, 'Times New Roman', serif;
    --font-ui: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --space-1: .5rem;
    --space-2: 1rem;
    --space-3: 1.5rem;
    --space-4: 2.5rem;
    --space-5: clamp(3.5rem, 6vw, 6.25rem);
    --space-6: clamp(4.75rem, 8vw, 9rem);
    --container-pad: clamp(1.25rem, 3.2vw, 3.5rem);
    --header-height: 4.9rem;
    --transition: 420ms cubic-bezier(.22, 1, .36, 1);
    --focus: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--color-ink);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-ink); background: var(--color-bg); font: 400 1rem/1.65 var(--font-ui); text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: inherit; }
button, input, textarea { font: inherit; }
:focus-visible { outline: 0; box-shadow: var(--focus); }
.container-fluid { padding-inline: var(--container-pad); }
.skip-link { position: fixed; z-index: 2000; left: 1rem; top: -5rem; padding: .75rem 1rem; background: var(--color-ink); color: var(--color-white); }
.skip-link:focus { top: 1rem; color: var(--color-white); }

.page-loader {
    position: fixed;
    z-index: 3000;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--color-ink);
    background: var(--color-bg);
    transition: opacity 700ms cubic-bezier(.76, 0, .24, 1), visibility 700ms;
    animation: loader-fallback 700ms 2.4s forwards;
}
.page-loader::after {
    position: absolute;
    inset: 0;
    content: '';
    background: var(--color-ink);
    transform: translateY(101%);
    transition: transform 760ms cubic-bezier(.76, 0, .24, 1);
}
.page-loader.is-finished { opacity: 0; visibility: hidden; }
.page-loader.is-finished::after { transform: translateY(-101%); }
.page-loader__inner { position: relative; z-index: 1; display: grid; justify-items: center; width: min(15rem, 70vw); }
.page-loader__mark { position: relative; display: grid; place-items: center; width: 78px; height: 78px; }
.page-loader__mark img { width: 26px; height: auto; }
.page-loader__spinner { position: absolute; inset: 0; border: 1px solid rgba(16, 16, 16, .14); border-top-color: var(--color-ink); border-radius: 50%; animation: loader-spin 1.1s linear infinite; }

.site-header { position: fixed; z-index: 1000; inset: 0 0 auto; height: var(--header-height); transition: background var(--transition), border-color var(--transition); }
.site-header.is-scrolled, .menu-open .site-header { background: rgba(244, 241, 234, .94); border-bottom: 1px solid var(--color-line); backdrop-filter: blur(12px); }
.menu-open .site-header { backdrop-filter: none; }
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-logo { position: relative; z-index: 2; width: clamp(7.5rem, 10vw, 9.75rem); }
.site-logo img { width: 100%; height: auto; }
.home-page:not(.menu-open) .site-header:not(.is-scrolled) { color: var(--color-white); }
.home-page:not(.menu-open) .site-header:not(.is-scrolled) .site-logo img { filter: invert(1); }
.site-nav__list, .footer-nav { list-style: none; padding: 0; margin: 0; }
.site-nav__list { display: flex; align-items: center; gap: clamp(.8rem, 1.3vw, 1.7rem); }
.site-nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: .78rem; letter-spacing: .075em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.site-nav a::after { content: ''; display: block; height: 1px; width: 0; background: currentColor; transition: width var(--transition); }
.site-nav a:hover::after, .site-nav a[aria-current='page']::after { width: 100%; }
.site-nav__cta a { gap: .5rem; }
.site-nav__cta a::after { display: none; }
.menu-toggle { display: none; position: relative; z-index: 2; min-width: 44px; min-height: 44px; border: 0; background: none; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.menu-toggle__icon, .menu-toggle__icon::before { position: absolute; right: 0; width: 20px; height: 1px; background: currentColor; content: ''; transition: transform var(--transition); }
.menu-toggle__icon { top: 17px; }.menu-toggle__icon::before { top: 7px; }
.menu-toggle[aria-expanded='true'] .menu-toggle__icon { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] .menu-toggle__icon::before { transform: translateY(-7px) rotate(-90deg); }
.menu-toggle__label { margin-right: 2rem; }

main { overflow: clip; }
.page-header { padding: calc(var(--header-height) + var(--space-5)) 0 var(--space-5); }
.page-header--compact { padding-bottom: var(--space-4); }
.page-title, .display-title, .manifest, .quote { font-family: var(--font-display); font-weight: 400; letter-spacing: -.045em; line-height: .94; }
.page-title { max-width: 15ch; font-size: clamp(3rem, 5.6vw, 5.7rem); line-height: 1; }
.display-title { font-size: clamp(3rem, 5vw, 5.2rem); }
.section-title { font-family: var(--font-display); font-size: clamp(2.15rem, 3.55vw, 4.05rem); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.eyebrow { margin-bottom: 1.25rem; font-size: .72rem; font-weight: 600; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.lead-copy { max-width: 42ch; font-family: var(--font-display); font-size: clamp(1.4rem, 1.85vw, 2rem); line-height: 1.28; letter-spacing: -.02em; }
.body-copy { max-width: 66ch; font-size: clamp(1rem, 1.15vw, 1.12rem); }
.small-copy, .metadata { color: var(--color-muted); font-size: .87rem; }
.section { padding-block: var(--space-5); }
.section--large { padding-block: var(--space-6); }
.section--dark { color: var(--color-white); background: var(--color-ink); }
.section--alt { background: var(--color-bg-alt); }
.rule-top { border-top: 1px solid var(--color-line); }
.text-link { display: inline-flex; align-items: center; gap: .8rem; min-height: 44px; font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-bottom: 0; }
.text-link span { transition: transform var(--transition); }.text-link:hover span { transform: translateX(.35rem); }

.hero { position: relative; min-height: 100svh; color: var(--color-white); background: var(--color-ink); overflow: hidden; }
.hero-slider { cursor: grab; touch-action: pan-y; user-select: none; }
.hero-slider.is-dragging { cursor: grabbing; }
.hero-slider a, .hero-slider button { cursor: pointer; }
.hero-slider img { -webkit-user-drag: none; }
.hero-slide { position: absolute; z-index: 0; inset: 0; display: flex; align-items: flex-end; opacity: 0; visibility: hidden; transition: opacity 900ms cubic-bezier(.22, 1, .36, 1), visibility 900ms; }
.hero-slide.is-active { z-index: 1; opacity: 1; visibility: visible; }
.hero-slide__media, .hero-slide__media::after { position: absolute; inset: 0; }
.hero-slide__media { overflow: hidden; }
.hero-slide__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; transform: scale(1.035); }
.hero-slide.is-active .hero-slide__media img { animation: hero-image-enter 1.6s cubic-bezier(.22, 1, .36, 1) forwards; }
.hero-slide__media::after { content: ''; background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.68)); }
.hero__content { position: relative; z-index: 2; width: 100%; padding-top: calc(var(--header-height) + 3rem); padding-bottom: clamp(5.5rem, 7vw, 6.5rem); }
.hero__title { max-width: 11ch; margin: 0 0 1.35rem; font: 400 clamp(3.25rem, 5.65vw, 6.1rem)/.96 var(--font-display); letter-spacing: -.05em; }
.hero__lead { max-width: 36ch; font-size: clamp(1rem, 1.5vw, 1.25rem); }
.hero .text-link { margin-top: 1.5rem; }
.hero-slider__pagination { position: absolute; z-index: 4; right: var(--container-pad); bottom: clamp(1.5rem, 2.5vw, 2.5rem); display: flex; align-items: center; gap: .3rem; }
.hero-slider__bullet { display: grid; grid-template-columns: auto 38px; align-items: center; gap: .55rem; min-width: 62px; min-height: 44px; padding: 0 .3rem; border: 0; color: rgba(255,255,255,.56); background: transparent; font-size: .64rem; font-weight: 600; letter-spacing: .1em; transition: color var(--transition); }
.hero-slider__bullet i { position: relative; display: block; width: 38px; height: 1px; overflow: hidden; background: rgba(255,255,255,.32); }
.hero-slider__bullet i::after { position: absolute; inset: 0; content: ''; background: var(--color-white); transform: scaleX(0); transform-origin: left; transition: transform 600ms cubic-bezier(.22, 1, .36, 1); }
.hero-slider__bullet.is-active { color: var(--color-white); }
.hero-slider__bullet.is-active i::after { transform: scaleX(1); }
.journey-card { padding: 2rem 0; border-top: 1px solid var(--color-line); }
.journey-card h3 { margin-bottom: 1rem; font: 400 clamp(1.8rem, 2.55vw, 2.9rem)/1 var(--font-display); }
.journey-card p { max-width: 27ch; color: var(--color-muted); }
.artist-support__placeholder { position: relative; min-height: clamp(24rem, 45vw, 39rem); margin: 0; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-bg-alt); }
.artist-support__placeholder::before, .artist-support__placeholder::after { position: absolute; content: ''; background: var(--color-line); }
.artist-support__placeholder::before { top: 50%; left: 12%; width: 76%; height: 1px; }
.artist-support__placeholder::after { top: 12%; left: 50%; width: 1px; height: 76%; }
.artist-support__placeholder img { position: absolute; z-index: 1; top: 50%; left: 50%; width: 42px; height: auto; padding: .4rem; background: var(--color-bg-alt); transform: translate(-50%, -50%); }
.artist-support__placeholder figcaption { position: absolute; z-index: 1; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; padding-top: 1rem; background: var(--color-bg-alt); border-top: 1px solid var(--color-line); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.artist-support__placeholder figcaption small { display: block; max-width: 48ch; margin-top: .4rem; color: var(--color-muted); font-size: .66rem; line-height: 1.5; letter-spacing: .06em; }

.editorial-image { width: 100%; height: auto; max-height: 72vh; object-fit: cover; }
.editorial-image--portrait { aspect-ratio: 4 / 5; object-position: center; }
.editorial-image--artwork { object-fit: contain; background: #f8f8f7; }
.artwork-frame { min-height: 29rem; padding: clamp(1rem, 2.4vw, 2.75rem); background: #f8f8f7; display: grid; place-items: center; }
.artwork-frame img { max-height: 66vh; width: auto; }
.quote { max-width: 22ch; margin: 0 auto; font-size: clamp(2.15rem, 3.7vw, 4.1rem); line-height: 1.02; text-align: center; }
.quote cite { display: block; margin-top: 2rem; font: 600 .72rem/1.5 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.manifest { max-width: 22ch; font-size: clamp(2.5rem, 4.35vw, 4.8rem); line-height: 1; }
.artist-showcase { margin-top: clamp(2.75rem, 5vw, 5rem); }
.artist-showcase__header { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 1rem; }
.artist-showcase__controls { display: flex; gap: .5rem; }
.artist-showcase__controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--color-line); border-radius: 50%; color: var(--color-ink); background: transparent; transition: color var(--transition), background var(--transition), border-color var(--transition), opacity var(--transition); }
.artist-showcase__controls button:hover:not(:disabled) { color: var(--color-white); background: var(--color-ink); border-color: var(--color-ink); }
.artist-showcase__controls button:disabled { opacity: .28; cursor: default; }
.artist-showcase__viewport { margin-inline: calc(var(--container-pad) * -1); padding-inline: var(--container-pad); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; cursor: grab; touch-action: pan-y; user-select: none; }
.artist-showcase__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.artist-showcase__viewport::-webkit-scrollbar { display: none; }
.artist-showcase__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(16rem, 27vw); gap: clamp(1rem, 2vw, 1.75rem); width: max-content; padding-bottom: .5rem; }
.artist-showcase__track img { -webkit-user-drag: none; }
.artist-tile, .artist-tile:hover, .artist-tile:focus-visible { color: var(--color-white); }
.artist-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(25rem, 42vw, 38rem); overflow: hidden; background: var(--color-ink); scroll-snap-align: start; text-decoration: none; }
.artist-tile::after { position: absolute; z-index: 1; inset: 35% 0 0; content: ''; background: linear-gradient(180deg, transparent, rgba(0,0,0,.78)); }
.artist-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.96) contrast(.98); transform: scale(1.01); transition: filter 800ms cubic-bezier(.22, 1, .36, 1), transform 900ms cubic-bezier(.22, 1, .36, 1); }
.artist-tile:hover img, .artist-tile:focus-visible img { filter: saturate(1.05) contrast(1); transform: scale(1.055); }
.artist-tile__meta, .artist-tile strong { position: relative; z-index: 2; margin-inline: clamp(1.25rem, 2vw, 2rem); }
.artist-tile__meta { margin-bottom: .65rem; font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.artist-tile strong { max-width: 12ch; margin-bottom: clamp(1.25rem, 2vw, 2rem); font: 400 clamp(1.65rem, 2.05vw, 2.35rem)/1.02 var(--font-display); letter-spacing: -.035em; }

.artists-index-hero { padding-bottom: clamp(3rem, 5vw, 5rem); }
.artists-index-hero .page-title { margin: 0; font-size: clamp(3.5rem, 7vw, 6.8rem); }
.artists-index-hero .lead-copy { margin: 1.5rem 0 0; font-size: clamp(1.18rem, 1.8vw, 1.7rem); }
.artists-index-hero__count { display: flex; align-items: baseline; gap: .7rem; margin: 0; color: var(--color-muted); font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.artists-index-hero__count span { color: var(--color-ink); font: 400 clamp(2.5rem, 3.4vw, 3.4rem)/1 var(--font-display); letter-spacing: -.04em; }
.artists-catalog { padding: clamp(1rem, 2vw, 2rem) 0 var(--space-6); }
.artist-portrait { display: block; color: var(--color-ink); text-decoration: none; }
.artist-portrait__figure { aspect-ratio: 4 / 5; position: relative; margin: 0; overflow: hidden; background: var(--color-bg-alt); }
.artist-portrait__figure::after { position: absolute; inset: 55% 0 0; content: ''; background: linear-gradient(180deg, transparent, rgba(0,0,0,.38)); pointer-events: none; }
.artist-portrait__figure img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.002); transition: transform 1s cubic-bezier(.22, 1, .36, 1), filter 1s cubic-bezier(.22, 1, .36, 1); }
.artist-portrait--janina img { object-position: center 26%; }
.artist-portrait--bartlomiej img { object-position: center 42%; }
.artist-portrait figcaption { position: absolute; z-index: 2; right: clamp(1rem, 2vw, 1.5rem); bottom: clamp(1rem, 2vw, 1.5rem); left: clamp(1rem, 2vw, 1.5rem); display: flex; justify-content: space-between; gap: 1rem; color: var(--color-white); font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.artist-portrait__arrow { position: absolute; z-index: 3; top: 1.25rem; right: 1.25rem; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--color-ink); background: var(--color-bg); font-size: 1.1rem; opacity: 0; transform: translate(-.5rem, .5rem); transition: opacity var(--transition), transform var(--transition); }
.artist-portrait__content { display: grid; gap: .75rem; padding-top: 1rem; }
.artist-portrait__content h2 { margin: 0; font: 400 clamp(1.65rem, 2.3vw, 2.35rem)/1.08 var(--font-display); letter-spacing: -.035em; overflow-wrap: anywhere; }
.artist-portrait__content p { max-width: 27ch; margin: 0 0 .25rem; color: var(--color-muted); font-size: .82rem; line-height: 1.55; }
.artist-portrait:hover img, .artist-portrait:focus-visible img { transform: scale(1.035); }
.artist-portrait:hover .artist-portrait__arrow, .artist-portrait:focus-visible .artist-portrait__arrow { opacity: 1; transform: none; }
.artists-closing .section-title { max-width: 14ch; }

.artist-profile-hero { padding-bottom: var(--space-5); }
.artist-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.artist-profile-hero__back { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; margin-bottom: clamp(2rem, 4vw, 4rem); font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.artist-profile-hero__back span { transition: transform var(--transition); }
.artist-profile-hero__back:hover span { transform: translateX(-.3rem); }
.artist-profile-hero__intro .page-title { max-width: 11ch; }
.artist-profile-hero__intro .lead-copy { max-width: 34ch; margin: 2rem 0 0; }
.artist-profile-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(2rem, 4vw, 4.5rem); row-gap: 1.75rem; max-width: 47rem; margin: clamp(2.5rem, 4vw, 3.75rem) 0 0; }
.artist-profile-meta > div { min-width: 0; }
.artist-profile-meta dt { margin-bottom: .7rem; color: var(--color-muted); font-size: .6rem; font-weight: 500; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; }
.artist-profile-meta dd { margin: 0; font: 400 clamp(1.3rem, 1.8vw, 1.75rem)/1.35 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.artist-profile-meta .artist-profile-meta__themes { font-style: italic; }
.artist-profile-portrait { max-width: 27rem; margin: 0 0 0 auto; }
.artist-profile-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; background: #f7f6f2; }
/* Profil artysty: prace, biografia i opcjonalne relacje z wystawami. */
.artist-profile-hero__intro .page-title { overflow-wrap: anywhere; }
.artist-profile-nav { display: flex; flex-wrap: wrap; column-gap: 1.75rem; row-gap: .25rem; margin-top: 2rem; }
.artist-profile-nav a { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-size: .68rem; font-weight: 500; text-decoration: none; }
.artist-profile-nav a:hover { opacity: .7; }
.artist-profile-nav span { color: var(--color-muted); }
.artist-page h2[id] { scroll-margin-top: calc(var(--header-height) + 2rem); }
.artist-biography__layout, .artist-exhibitions__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(2.5rem, 6vw, 6rem); }
.artist-biography__text { max-width: 45rem; }
.artist-biography__text > p { margin-bottom: 1.5rem; }
.artist-biography__text .lead-copy { max-width: 38ch; }
.artist-biography__quote { margin: clamp(2rem, 4vw, 3.5rem) 0 0; }
.artist-biography__quote p { max-width: 28ch; margin-bottom: 1.25rem; font: italic 400 clamp(1.75rem, 2.65vw, 2.75rem)/1.2 var(--font-display); letter-spacing: -.025em; }
.artist-biography__quote cite { color: var(--color-muted); font-size: .65rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.artist-exhibitions__heading .body-copy { max-width: 24ch; color: var(--color-muted); font-size: .9rem; }
.artist-exhibitions__list { display: grid; gap: 2.5rem; }
.artist-exhibition { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 16.5rem; }
.artist-exhibition__content:only-child { grid-column: 1 / -1; }
.artist-exhibition .home-program-card__image { min-height: 0; }
.artist-exhibition__image img { aspect-ratio: 4 / 3; }
.artist-work__link { display: block; color: inherit; text-decoration: none; }
.artist-profile-cta__name { margin-bottom: 1rem; font: 400 1.5rem/1.25 var(--font-display); }
.artist-works__heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: var(--space-5); }
.artist-works__heading .section-title { margin-bottom: 0; }
.artist-works__heading > p { margin-bottom: .5rem; }
.artist-works-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 4rem) clamp(1.25rem, 2.5vw, 2.75rem); align-items: start; }
.artist-work { min-width: 0; color: var(--color-ink); text-decoration: none; }
.artist-work figure { display: grid; place-items: center; height: clamp(22rem, 34vw, 31rem); margin: 0 0 1.25rem; overflow: hidden; background: #f8f8f7; }
.artist-work img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.002); transition: transform 900ms cubic-bezier(.22, 1, .36, 1); }
.artist-work:hover img, .artist-work:focus-visible img { transform: scale(1.018); }
.artist-work h3 { margin: 0; font: 400 clamp(1.65rem, 2.3vw, 2.45rem)/1.05 var(--font-display); letter-spacing: -.035em; }
.artist-work .metadata { margin: .5rem 0 0; }
.artist-work--extra.is-loaded, .exhibition-artwork.is-loaded { animation: artwork-load-in 720ms var(--load-delay, 0ms) cubic-bezier(.22, 1, .36, 1) both; }
.artist-works-more { display: flex; flex-direction: column; align-items: center; gap: .85rem; margin-top: var(--space-5); }
.artist-works-more[hidden], .artist-work[hidden] { display: none; }
.artist-works-more__button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-width: 14rem; }
.button--outline { color: var(--color-ink); background: transparent; }
.button--outline:hover { color: var(--color-white); background: var(--color-ink); }
.artist-works-more__button span:last-child { transition: transform var(--transition); }
.artist-works-more__button:hover span:last-child { transform: translateY(.25rem); }
.artist-works-more__count { margin: 0; color: var(--color-muted); font-size: .65rem; font-weight: 600; letter-spacing: .12em; }
.artist-works-more.is-complete { margin-top: 2rem; }
.artist-works-more.is-complete .artist-works-more__button { display: none; }
.artist-profile-cta { padding-block: var(--space-6); }
.artist-profile-cta .section-title { max-width: 13ch; }

@keyframes artwork-load-in { from { opacity: 0; transform: translateY(1.25rem); } to { opacity: 1; transform: none; } }

.artworks-page-hero { padding-bottom: clamp(3rem, 5vw, 5rem); }
.artworks-page-hero .page-title { margin: 0; }
.artworks-page-hero .lead-copy { margin: 0; font-size: clamp(1.25rem, 1.75vw, 1.8rem); }
.artwork-filters { z-index: 80; padding-block: 1.25rem; background: rgba(233,228,218,.96); border-block: 1px solid var(--color-line); backdrop-filter: blur(14px); }
.artwork-filters__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); align-items: end; }
.artwork-filters__form > .artwork-filters__reset { justify-self: start; }
.artists-filters__form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
@media (min-width: 992px) {
    .artwork-filters__form:not(.artists-filters__form) {
        grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
        column-gap: clamp(.65rem, 1.2vw, 1.25rem);
    }
    .artwork-filters__form:not(.artists-filters__form) .catalog-filter__toggle {
        gap: .35rem;
        font-size: .75rem;
    }
    .artwork-filters__form:not(.artists-filters__form) .catalog-filter > p {
        font-size: .55rem;
        letter-spacing: .06em;
    }
    .artwork-filters__form:not(.artists-filters__form) .catalog-filter:nth-last-of-type(-n+2) .catalog-filter__menu {
        right: 0;
        left: auto;
    }
}
.artist-portrait[hidden] { display: none; }
.artist-portrait.is-filtered-in { animation: catalog-card-in 580ms cubic-bezier(.22, 1, .36, 1) both; }
.catalog-filter { min-width: 0; }
.catalog-filter > p { margin: 0 0 .2rem; color: var(--color-muted); font-size: .6rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.catalog-filter.has-selection > p { color: var(--color-ink); }
.catalog-filter__toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 42px; padding: .35rem 0; overflow: hidden; border: 0; border-bottom: 1px solid rgba(16,16,16,.35); color: var(--color-ink); background: transparent; font-size: .8rem; text-align: left; transition: border-color var(--transition); }
.catalog-filter__toggle > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-filter__toggle:hover, .catalog-filter__toggle[aria-expanded='true'] { border-color: var(--color-ink); }
.catalog-filter__toggle:focus-visible { box-shadow: none; outline: 2px solid var(--color-ink); outline-offset: 3px; }
.catalog-filter__chevron { flex: 0 0 auto; font-size: 1.15rem; line-height: 1; transition: transform var(--transition); }
.catalog-filter__toggle[aria-expanded='true'] .catalog-filter__chevron { transform: rotate(180deg); }
.catalog-filter__menu { width: max(100%, 14rem); max-height: min(23rem, 55vh); margin-top: .65rem !important; padding: .55rem; overflow-y: auto; border: 0; border-radius: 0; color: var(--color-white); background: var(--color-ink); box-shadow: 0 1.2rem 3rem rgba(16,16,16,.18); }
.catalog-filter.is-open .catalog-filter__menu { display: block; }
.catalog-filter__menu .dropdown-item { position: relative; min-height: 42px; padding: .65rem .8rem .65rem 2.15rem; color: rgba(255,255,255,.7); background: transparent; border-radius: 0; font-size: .76rem; line-height: 1.4; white-space: normal; transition: color var(--transition), background var(--transition); }
.catalog-filter__menu .dropdown-item:not([data-filter-value=''])::before { position: absolute; top: 50%; left: .7rem; width: .85rem; height: .85rem; border: 1px solid rgba(255,255,255,.48); content: ''; transform: translateY(-50%); transition: border-color var(--transition), background var(--transition); }
.catalog-filter__menu .dropdown-item:not([data-filter-value=''])::after { position: absolute; top: calc(50% - .28rem); left: .99rem; width: .25rem; height: .48rem; border-right: 1.5px solid var(--color-ink); border-bottom: 1.5px solid var(--color-ink); content: ''; opacity: 0; transform: rotate(45deg); transition: opacity var(--transition); }
.catalog-filter__menu .dropdown-item:hover, .catalog-filter__menu .dropdown-item:focus, .catalog-filter__menu .dropdown-item.is-active { color: var(--color-white); background: rgba(255,255,255,.08); }
.catalog-filter__menu .dropdown-item:not([data-filter-value='']).is-active::before { border-color: var(--color-white); background: var(--color-white); }
.catalog-filter__menu .dropdown-item:not([data-filter-value='']).is-active::after { opacity: 1; }
.catalog-filter__menu .dropdown-item[data-filter-value=''] { margin-bottom: .35rem; padding-left: .8rem; border-bottom: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.58); }
.catalog-filter__menu .dropdown-item[data-filter-value=''].is-active { color: var(--color-white); background: transparent; }
.artwork-filters__reset { min-height: 42px; padding: .35rem 0; border: 0; color: var(--color-ink); background: transparent; font-size: .64rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.artwork-filters__reset:disabled { opacity: .35; }
.artwork-filters__reset span { margin-left: .35rem; font-size: 1rem; }
.artwork-filters__active { margin-top: 1rem; padding-top: .35rem; }
.artwork-filters__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.artwork-filter-chip { display: inline-flex; align-items: center; gap: .55rem; min-height: 34px; padding: .35rem .65rem; border: 1px solid rgba(16,16,16,.25); border-radius: 2rem; color: var(--color-ink); background: transparent; font-size: .69rem; transition: color var(--transition), background var(--transition), border-color var(--transition); }
.artwork-filter-chip > span:first-child { color: var(--color-muted); font-size: .57rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.artwork-filter-chip strong { font-weight: 500; }
.artwork-filter-chip > span:last-child { margin-left: .15rem; font-size: .95rem; font-weight: 300; line-height: 1; }
.artwork-filter-chip:hover { color: var(--color-white); background: var(--color-ink); border-color: var(--color-ink); }
.artwork-filter-chip:hover > span:first-child { color: rgba(255,255,255,.62); }
.catalog-card { display: block; color: var(--color-ink); text-decoration: none; }
.catalog-card[hidden] { display: none; }
.catalog-card figure { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; margin: 0 0 1.15rem; overflow: hidden; background: #f8f8f7; }
.catalog-card img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.002); transition: transform 900ms cubic-bezier(.22, 1, .36, 1); }
.catalog-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.catalog-card__heading h2 { margin: 0; font: 400 clamp(1.55rem, 2vw, 2.1rem)/1.08 var(--font-display); letter-spacing: -.035em; }
.catalog-card__arrow { display: grid; flex: 0 0 auto; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; font-size: .9rem; transition: color var(--transition), background var(--transition), transform var(--transition); }
.catalog-card__meta { margin: .6rem 0 0; color: var(--color-muted); font-size: .75rem; }
.catalog-card:hover img, .catalog-card:focus-visible img { transform: scale(1.018); }
.catalog-card:hover .catalog-card__arrow, .catalog-card:focus-visible .catalog-card__arrow { color: var(--color-white); background: var(--color-ink); transform: translate(.15rem, -.15rem); }
.catalog-card.is-filtered-in { animation: catalog-card-in 580ms cubic-bezier(.22, 1, .36, 1) both; }
.artwork-catalog__empty { max-width: 32rem; margin: 2rem auto var(--space-5); font: 400 clamp(1.25rem, 1.8vw, 1.75rem)/1.35 var(--font-display); text-align: center; }
.artwork-catalog__more { display: flex; flex-direction: column; align-items: center; gap: .8rem; margin-top: var(--space-5); }
.artwork-catalog__more button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-width: 15rem; }
.artwork-catalog__more button span:last-child { transition: transform var(--transition); }
.artwork-catalog__more button:hover span:last-child { transform: translateY(.25rem); }
.artwork-catalog__more.is-complete button { display: none; }
.artworks-contact { padding-block: var(--space-6); }
.artworks-contact .section-title { max-width: 15ch; }

@keyframes catalog-card-in { from { opacity: 0; transform: translateY(1.25rem); } to { opacity: 1; transform: none; } }

@media (min-width: 992px) {
    .artwork-filters { position: sticky; top: var(--header-height); }
}
.cards-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(2rem, 5vw, 5rem) clamp(1rem, 3vw, 3rem); }
.art-card { grid-column: span 4; text-decoration: none; }
.art-card:nth-child(3n + 2) { padding-top: clamp(2rem, 4vw, 4rem); }
.art-card__image { overflow: hidden; margin-bottom: 1.25rem; background: #e9e5dd; }
.art-card__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 900ms cubic-bezier(.22,1,.36,1); }
.art-card:hover img { transform: scale(1.015); }
.art-card__title { margin: 0; font: 400 clamp(1.4rem, 1.75vw, 1.95rem)/1.15 var(--font-display); }

.exhibition-card { padding: var(--space-4) 0; border-top: 1px solid var(--color-line); }
.exhibition-card__title { font: 400 clamp(2.1rem, 3.35vw, 3.75rem)/1.03 var(--font-display); letter-spacing: -.035em; }
.exhibitions-hero { padding-bottom: clamp(3rem, 5vw, 5rem); }
.exhibitions-hero__layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; }
.exhibitions-hero .page-title { margin: 0; font-size: clamp(3.6rem, 6.7vw, 6.8rem); }
.exhibitions-hero .lead-copy { max-width: 31ch; margin: 0 0 .35rem; font-size: clamp(1.2rem, 1.7vw, 1.75rem); }
.exhibitions-upcoming { padding-block: var(--space-6); }
.exhibitions-upcoming__header { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; margin-bottom: var(--space-5); }
.exhibitions-upcoming__header .section-title { margin: 0; }
.exhibitions-upcoming__header > p { max-width: 33ch; margin: 0 0 .4rem; color: var(--color-muted); }
.exhibitions-upcoming__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.upcoming-exhibition-card { display: grid; grid-template-columns: minmax(5rem, .25fr) minmax(0, 1fr); gap: 1.5rem; padding: clamp(1rem, 1.6vw, 1.5rem); background: var(--color-bg); }
.upcoming-exhibition-card__image { grid-column: 1 / -1; display: block; height: clamp(22rem, 34vw, 33rem); overflow: hidden; background: #e5e2db; }
.upcoming-exhibition-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22, 1, .36, 1); }
.upcoming-exhibition-card__image:hover img { transform: scale(1.02); }
.upcoming-exhibition-card__date time strong { display: block; font: 400 clamp(2.4rem, 4vw, 4rem)/.9 var(--font-display); letter-spacing: -.05em; }
.upcoming-exhibition-card__date time span { display: block; margin-top: .55rem; color: var(--color-muted); font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.upcoming-exhibition-card__date > p { margin: 1.2rem 0 0; color: var(--color-muted); font-size: .66rem; }
.upcoming-exhibition-card__content .eyebrow { margin-bottom: 1rem; }
.upcoming-exhibition-card__content h3 { margin: 0; font: 400 clamp(2rem, 3.25vw, 3.4rem)/1 var(--font-display); letter-spacing: -.04em; }
.upcoming-exhibition-card__content h3 a { text-decoration: none; }
.upcoming-exhibition-card__artists { margin: .85rem 0 1.2rem; font-size: .68rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.upcoming-exhibition-card__content .body-copy { color: var(--color-muted); font-size: .88rem; }
.upcoming-exhibition-card__content .text-link { margin-top: 1.25rem; }
.exhibitions-upcoming__empty { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; min-height: 10rem; padding: clamp(1.5rem, 3vw, 3rem); background: var(--color-bg); }
.exhibitions-upcoming__empty p { max-width: 38rem; margin: 0; font: 400 clamp(1.25rem, 1.8vw, 1.7rem)/1.35 var(--font-display); }
.exhibitions-upcoming__empty p span { display: block; margin-bottom: .65rem; color: var(--color-muted); font: 600 .62rem/1.4 var(--font-ui); letter-spacing: .1em; text-transform: uppercase; }
.exhibitions-archive__intro { padding-block: var(--space-6) var(--space-5); }
.exhibitions-archive__heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; }
.exhibitions-archive__heading .section-title { margin: 0; }
.exhibitions-archive__heading > p { max-width: 37ch; margin: 0 0 .4rem; color: var(--color-muted); }
.exhibitions-toolbar { z-index: 80; padding-block: 1.25rem; border-block: 1px solid var(--color-line); background: rgba(233,228,218,.96); backdrop-filter: blur(14px); }
.exhibitions-toolbar__form { display: grid; grid-template-columns: repeat(2, minmax(12rem, 17rem)) max-content; gap: clamp(1rem, 1.5vw, 1.5rem); align-items: end; }
.exhibitions-toolbar .catalog-filter__menu .dropdown-item:not([data-filter-value=''])::before { border-radius: 50%; }
.exhibitions-catalog { padding-top: clamp(2.5rem, 5vw, 5rem); }
.exhibitions-list { display: grid; row-gap: clamp(5rem, 10vw, 10rem); }
.exhibition-index-card { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(19rem, .88fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.exhibition-index-card[hidden] { display: none; }
.exhibition-index-card:nth-child(even) .exhibition-index-card__image { order: 2; }
.exhibition-index-card:nth-child(even) .exhibition-index-card__content { order: 1; }
.exhibition-index-card__image { display: grid; height: clamp(25rem, 42vw, 39rem); place-items: center; overflow: hidden; background: #e8e6e0; text-decoration: none; }
.exhibition-index-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22, 1, .36, 1), filter var(--transition); }
.exhibition-index-card:nth-child(n+2) .exhibition-index-card__image img { padding: clamp(1.25rem, 3vw, 3rem); object-fit: contain; }
.exhibition-index-card__image:hover img, .exhibition-index-card__image:focus-visible img { filter: brightness(.94); transform: scale(1.018); }
.exhibition-index-card__meta { display: flex; align-items: center; gap: .8rem; margin-bottom: clamp(2rem, 5vw, 4.5rem); color: var(--color-muted); font-size: .63rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.exhibition-index-card h2 { max-width: 12ch; margin: 0; font: 400 clamp(2.5rem, 4.3vw, 4.7rem)/.98 var(--font-display); letter-spacing: -.045em; }
.exhibition-index-card h2 a { text-decoration: none; }
.exhibition-index-card__artists { margin: 1rem 0 1.6rem; font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.exhibition-index-card .body-copy { color: var(--color-muted); font-size: .92rem; }
.exhibition-index-card .text-link { margin-top: 1.5rem; }
.exhibition-index-card.is-filtered-in { animation: catalog-card-in 580ms cubic-bezier(.22, 1, .36, 1) both; }
.exhibitions-empty { max-width: 32rem; margin: var(--space-5) auto 0; font: 400 clamp(1.25rem, 1.8vw, 1.75rem)/1.35 var(--font-display); text-align: center; }
.exhibitions-more { display: flex; justify-content: center; margin-top: var(--space-5); }
.exhibitions-more button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-width: 16rem; }
.exhibitions-more button span:last-child { transition: transform var(--transition); }
.exhibitions-more button:hover span:last-child { transform: translateY(.25rem); }
.exhibitions-more.is-complete { display: none; }
.exhibitions-closing { padding-block: var(--space-6); }
.exhibitions-closing .section-title { max-width: 13ch; margin: 0; }

/* Exhibition detail */
 .exhibition-detail-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.exhibition-detail-hero { padding: calc(var(--header-height) + 2rem) 0 var(--space-5); }
.exhibition-detail-hero__back { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; margin-bottom: 2rem; font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.exhibition-detail-hero__back span { transition: transform var(--transition); }
.exhibition-detail-hero__back:hover span { transform: translateX(-.3rem); }
.exhibition-detail-hero__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }
.exhibition-detail-hero__layout--text { grid-template-columns: 1fr; max-width: 60rem; }
.exhibition-detail-hero__copy .page-title { margin: 0; font-size: clamp(3.5rem, 7vw, 7.5rem); overflow-wrap: anywhere; text-wrap: balance; }
.exhibition-detail-hero__artists { display: grid; gap: .5rem; list-style: none; padding: 0; margin: 1.75rem 0 2.5rem; font: 400 clamp(1.4rem, 2vw, 2rem)/1.25 var(--font-display); }
.exhibition-detail-hero__artists a { text-decoration: none; }
.exhibition-detail-hero__image { margin: 0; overflow: hidden; }
.exhibition-detail-hero__image img { width: 100%; height: clamp(26rem, 44vw, 40rem); object-fit: cover; object-position: center; }
.exhibition-detail-facts { display: grid; grid-template-columns: 1fr 1.25fr; gap: 1.5rem; margin: 0; }
.exhibition-detail-facts dt, .exhibition-concept__credit dt { margin-bottom: .6rem; color: var(--color-muted); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.exhibition-detail-facts dd, .exhibition-concept__credit dd { margin: 0; font-size: .85rem; line-height: 1.65; }
.exhibition-detail-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin-top: 2rem; }
.exhibition-detail-nav a { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.exhibition-concept { padding-top: var(--space-5); }
.exhibition-concept__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 8vw, 8rem); }
.exhibition-concept .section-title { max-width: 14ch; margin: 0; }
.exhibition-concept__credit { margin: 2rem 0 0; }
.exhibition-concept__copy .lead-copy { margin: 0 0 1.75rem; }
.exhibition-concept__copy .body-copy + .body-copy { margin-top: 1.25rem; }
.exhibition-selected { padding-top: 0; }
.exhibition-selected__heading, .exhibition-gallery__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.exhibition-selected__heading .section-title, .exhibition-gallery__heading .section-title { margin: 0; }
.exhibition-selected__heading .text-link { flex-shrink: 0; }
.exhibition-selected__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem clamp(1.25rem, 2.5vw, 2.5rem); }
.exhibition-artwork__link { display: block; color: inherit; text-decoration: none; }
.exhibition-artwork figure { display: grid; height: clamp(22rem, 32vw, 31rem); margin: 0 0 1.25rem; place-items: center; overflow: hidden; }
.exhibition-artwork img { width: 100%; height: 100%; object-fit: contain; transition: transform 900ms cubic-bezier(.22, 1, .36, 1); }
.exhibition-artwork h3 { margin: 0; font: 400 clamp(1.5rem, 2.15vw, 2.25rem)/1.15 var(--font-display); letter-spacing: -.03em; }
.exhibition-artwork > p { margin: .6rem 0 0; color: var(--color-muted); font-size: .72rem; }
.exhibition-artwork__link:hover img, .exhibition-artwork__link:focus-visible img { transform: scale(1.02); }
.exhibition-artist { padding-block: var(--space-6); }
.exhibition-artist__list { display: grid; gap: var(--space-6); }
.exhibition-artist__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; width: 100%; max-width: 76rem; margin: 0 auto; }
.exhibition-artist__layout--text { grid-template-columns: 1fr; }
.exhibition-artist__portrait { width: 100%; max-width: 30rem; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; }
.exhibition-artist__portrait img { width: 100%; height: 100%; object-fit: cover; }
.exhibition-artist__copy .section-title { margin: 0; font-size: clamp(2.3rem, 3.5vw, 3.5rem); overflow-wrap: anywhere; text-wrap: balance; }
.exhibition-artist__copy .body-copy { margin: 1.75rem 0; max-width: 48ch; }
.exhibition-artist__copy blockquote { max-width: 28ch; margin: 1.75rem 0 2rem; font: italic 400 clamp(1.5rem, 2vw, 2rem)/1.35 var(--font-display); }
.exhibition-gallery__heading > p { max-width: 34ch; margin: 0; }
.exhibition-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(14rem, 20vw, 20rem); gap: clamp(.75rem, 1.5vw, 1.5rem); }
.exhibition-gallery__grid figure { min-width: 0; min-height: 0; margin: 0; overflow: hidden; }
.exhibition-gallery__grid figure:first-child { grid-column: span 2; grid-row: span 2; }
.exhibition-gallery__grid figure:only-child { grid-column: 1 / -1; }
.exhibition-gallery__grid button { position: relative; display: block; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; background: transparent; cursor: zoom-in; }
.exhibition-gallery__grid button::after, .artwork-zoom-button::after { position: absolute; z-index: 1; inset: 0; background: rgba(8,8,8,.2); content: ''; opacity: 0; transition: opacity 650ms cubic-bezier(.22, 1, .36, 1); }
.exhibition-gallery__grid img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.002); transition: filter var(--transition), transform 900ms cubic-bezier(.22, 1, .36, 1); }
.exhibition-gallery__zoom, .artwork-zoom-button svg { position: absolute; z-index: 2; top: 50%; left: 50%; width: 2.65rem; height: 2.65rem; fill: none; stroke: var(--color-white); stroke-width: 1.25; stroke-linecap: round; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.78); transition: opacity var(--transition), transform 650ms cubic-bezier(.22, 1, .36, 1); }
.exhibition-gallery__grid button:hover::after, .exhibition-gallery__grid button:focus-visible::after, .artwork-zoom-button:hover::after, .artwork-zoom-button:focus-visible::after { opacity: 1; }
.exhibition-gallery__grid button:hover img, .exhibition-gallery__grid button:focus-visible img { filter: brightness(.82); transform: scale(1.025); }
.exhibition-gallery__grid button:hover .exhibition-gallery__zoom, .exhibition-gallery__grid button:focus-visible .exhibition-gallery__zoom, .artwork-zoom-button:hover svg, .artwork-zoom-button:focus-visible svg { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.exhibition-gallery-lightbox, .artwork-lightbox { position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; color: var(--color-white); background: #0c0c0c; overflow: hidden; }
.exhibition-gallery-lightbox[open], .artwork-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); animation: lightbox-in 420ms cubic-bezier(.22, 1, .36, 1) both; }
.exhibition-gallery-lightbox::backdrop { background: rgba(0,0,0,.92); }
.exhibition-gallery-lightbox__bar { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 4.75rem; padding: .75rem var(--container-pad); border-bottom: 1px solid rgba(255,255,255,.18); }
.exhibition-gallery-lightbox__bar p { margin: 0; font-size: .67rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.exhibition-gallery-lightbox__bar p span { margin-left: 1rem; color: rgba(255,255,255,.55); }
.exhibition-gallery-lightbox__bar button { display: flex; align-items: center; gap: .8rem; min-height: 44px; padding: 0; border: 0; color: var(--color-white); background: transparent; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.exhibition-gallery-lightbox__bar button span:last-child { font-size: 1.55rem; font-weight: 300; line-height: 1; }
.exhibition-gallery-lightbox__stage, .artwork-lightbox__image { position: relative; display: grid; width: 100%; height: 100%; min-width: 0; min-height: 0; padding: clamp(1rem, 3vw, 3rem); place-items: center; overflow: hidden; }
.exhibition-gallery-lightbox__stage { padding-inline: clamp(4rem, 7vw, 7rem); }
.exhibition-gallery-lightbox__stage > img, .artwork-lightbox__image > img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; margin: 0; object-fit: contain; object-position: center; }
.exhibition-gallery-lightbox__control { position: absolute; z-index: 2; top: 50%; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 0; color: rgba(255,255,255,.72); background: transparent; font-size: 1.4rem; transform: translateY(-50%); transition: color var(--transition), transform var(--transition); }
.exhibition-gallery-lightbox__control:hover { color: var(--color-white); }
.exhibition-gallery-lightbox__control--prev { left: var(--container-pad); }
.exhibition-gallery-lightbox__control--next { right: var(--container-pad); }
.exhibition-gallery-lightbox__control--prev:hover { transform: translate(-.2rem, -50%); }
.exhibition-gallery-lightbox__control--next:hover { transform: translate(.2rem, -50%); }
.exhibition-detail-cta { padding-block: var(--space-6); }
.exhibition-detail-cta .section-title { max-width: 16ch; margin: 0; }
.exhibition-detail-cta__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }

@media (min-width: 992px) {
    .exhibitions-toolbar { position: sticky; top: var(--header-height); }
}
.metadata-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--color-line); }
.metadata-list li { display: grid; grid-template-columns: minmax(8rem, 1fr) 2fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--color-line); }
.metadata-list span:first-child { color: var(--color-muted); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }

/* Artwork detail */
html:has(.artwork-lightbox[open], .exhibition-gallery-lightbox[open]), body.lightbox-open { overflow: hidden; }
.artwork-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.artwork-detail-hero { padding: calc(var(--header-height) + 2rem) 0 var(--space-5); }
.artwork-detail-hero__back { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; margin-bottom: 2rem; font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.artwork-detail-hero__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2.5rem, 5vw, 5.5rem); align-items: center; }
.artwork-detail-hero__intro { min-width: 0; max-width: 35rem; padding-block: 1rem; }
.artwork-detail-hero__artist { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; margin-bottom: 1rem; color: var(--color-muted); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.artwork-detail-hero__artist:hover { color: var(--color-ink); }
.artwork-detail-hero__intro .page-title { max-width: 14ch; margin: 0; font-size: clamp(2.75rem, 4.25vw, 4.75rem); line-height: 1.02; text-wrap: balance; overflow-wrap: anywhere; }
.artwork-detail-hero__intro .lead-copy { max-width: 35ch; margin: 1.5rem 0 0; color: var(--color-muted); font-family: var(--font-ui); font-size: clamp(.95rem, 1.1vw, 1.05rem); line-height: 1.7; letter-spacing: 0; }
.artwork-detail-hero__figure { min-width: 0; width: 100%; margin: 0; }
.artwork-detail-hero__stage { position: relative; display: grid; place-items: center; padding: clamp(1.5rem, 3vw, 3rem); min-height: 42rem; overflow: hidden; background: #e9e6df; }
.artwork-detail-hero__stage > img { display: block; width: 100%; height: clamp(34rem, 49vw, 48rem); object-fit: contain; transition: filter var(--transition), transform 900ms cubic-bezier(.22, 1, .36, 1); }
.artwork-zoom-button { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.artwork-detail-hero__stage:has(.artwork-zoom-button:hover, .artwork-zoom-button:focus-visible) > img { filter: brightness(.82); transform: scale(1.025); }
.artwork-facts { margin-top: 2.25rem; }
.artwork-facts__details { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 1.6rem 1.5rem; margin: 0; }
.artwork-facts dl > div { min-width: 0; }
.artwork-facts dt { margin-bottom: .5rem; color: var(--color-muted); font-size: .58rem; font-weight: 500; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.artwork-facts dd { margin: 0; font: 400 clamp(1.15rem, 1.5vw, 1.4rem)/1.35 var(--font-display); letter-spacing: -.02em; }
.artwork-facts .artwork-facts__series { font-style: italic; }
.artwork-facts__hint { display: block; margin-top: .35rem; color: var(--color-muted); font: 400 .68rem/1.5 var(--font-ui); letter-spacing: 0; }
.artwork-facts__technique, .artwork-facts__dimensions { grid-column: 1 / -1; }
.artwork-detail-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2.25rem; }
.artwork-detail-hero__actions .button, .artwork-contact .button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.75rem; }
.artwork-detail-hero__story-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; font-size: .7rem; text-decoration: none; }
.artwork-detail-hero__story-link:hover { opacity: .7; }
#artwork-artist-title, #artwork-story-title { scroll-margin-top: calc(var(--header-height) + 2rem); }
.artwork-narrative { padding-top: var(--space-5); }
.artwork-narrative__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.artwork-narrative__copy { max-width: 40rem; }
.artwork-narrative .section-title { max-width: 16ch; margin-bottom: 2rem; }
.artwork-narrative .lead-copy { margin-bottom: 1.5rem; }
.artwork-narrative .body-copy { color: var(--color-muted); font-size: .95rem; }
.artwork-narrative .body-copy + .body-copy { margin-top: 1.2rem; }
.artwork-detail-crop { width: 100%; margin: 0; }
.artwork-detail-crop > div { aspect-ratio: 4 / 5; overflow: hidden; background: #e8e7e3; }
.artwork-detail-crop img { width: 100%; height: 100%; object-fit: cover; object-position: center 49%; transform: scale(1.65); }
.artwork-detail-crop figcaption { margin-top: .8rem; color: var(--color-muted); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.artwork-artist { padding-block: var(--space-6); }
.artwork-artist__layout { display: grid; grid-template-columns: minmax(18rem, 4.5fr) minmax(0, 5.5fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; max-width: 76rem; margin: 0 auto; }
.artwork-artist__portrait { width: 100%; max-width: 31rem; margin: 0; }
.artwork-artist__portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1); }
.artwork-artist__copy .section-title { margin-bottom: 1.5rem; font-size: clamp(2.8rem, 5vw, 5.25rem); }
.artwork-artist__copy .lead-copy { max-width: 26ch; }
.artwork-artist__copy .body-copy { max-width: 49ch; margin-top: 1.4rem; color: rgba(255,255,255,.68); }
.artwork-related__heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: var(--space-5); }
.artwork-related__heading .section-title { margin: 0; }
.artwork-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 4rem) clamp(1.25rem, 2.5vw, 2.75rem); align-items: start; }
.artwork-related-card { min-width: 0; color: var(--color-ink); text-decoration: none; }
.artwork-related-card[hidden] { display: none; }
.artwork-related-card figure { display: grid; place-items: center; height: clamp(22rem, 34vw, 31rem); margin: 0 0 1.1rem; overflow: hidden; background: #f8f8f7; }
.artwork-related-card img { width: 100%; height: 100%; object-fit: contain; transition: transform 900ms cubic-bezier(.22, 1, .36, 1); }
.artwork-related-card > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.artwork-related-card h3 { margin: 0; font: 400 clamp(1.5rem, 2.15vw, 2.25rem)/1.05 var(--font-display); letter-spacing: -.03em; }
.artwork-related-card > div span { display: grid; flex: 0 0 auto; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; transition: color var(--transition), background var(--transition), transform var(--transition); }
.artwork-related-card p { margin: .55rem 0 0; color: var(--color-muted); font-size: .72rem; }
.artwork-related-card:hover img, .artwork-related-card:focus-visible img { transform: scale(1.02); }
.artwork-related-card:hover > div span, .artwork-related-card:focus-visible > div span { color: var(--color-white); background: var(--color-ink); transform: translate(.12rem, -.12rem); }
.artwork-related-card--extra.is-loaded { animation: artwork-load-in 720ms var(--load-delay, 0ms) cubic-bezier(.22, 1, .36, 1) both; }
.artwork-related__more { margin-top: var(--space-5); }
.artwork-contact { padding-block: var(--space-6); }
.artwork-contact .section-title { max-width: 14ch; margin: 0; }
.artwork-contact__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.artwork-contact .body-copy { max-width: 38ch; margin: 1.5rem 0 0; color: var(--color-muted); font-size: .95rem; }
.artwork-contact__details .eyebrow { margin-bottom: .75rem; }
.artwork-contact__work { max-width: 22ch; margin-bottom: 1.75rem; font: 400 clamp(1.5rem, 2.5vw, 2.25rem)/1.15 var(--font-display); letter-spacing: -.025em; }
.artwork-lightbox::backdrop { background: rgba(0,0,0,.9); }
.artwork-lightbox__bar { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 4.75rem; padding: .75rem var(--container-pad); border-bottom: 1px solid rgba(255,255,255,.18); }
.artwork-lightbox__bar p { margin: 0; color: rgba(255,255,255,.62); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.artwork-lightbox__bar p span { margin-right: 1rem; color: var(--color-white); }
.artwork-lightbox__bar button { display: flex; align-items: center; gap: .8rem; min-height: 44px; padding: 0; border: 0; color: var(--color-white); background: transparent; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.artwork-lightbox__bar button span:last-child { font-size: 1.55rem; font-weight: 300; line-height: 1; }
.artwork-lightbox__bar button:focus-visible, .exhibition-gallery-lightbox__bar button:focus-visible { box-shadow: none; outline: none; }
.artwork-lightbox__bar button:focus-visible span:last-child, .exhibition-gallery-lightbox__bar button:focus-visible span:last-child { transform: scale(1.25); }
@keyframes lightbox-in { from { opacity: 0; } to { opacity: 1; } }

/* Collector experience */
.collector-hero { min-height: 100svh; padding-bottom: var(--space-5); }
.collector-hero__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(28rem, 7fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; min-height: calc(100svh - var(--header-height) - var(--space-5) * 2); }
.collector-hero__copy { position: relative; z-index: 2; }
.collector-hero__copy .page-title { max-width: 8ch; margin: 0; font-size: clamp(3.5rem, 6vw, 6.4rem); }
.collector-hero__copy .page-title em, .collector-manifest__title em, .collector-cta__title em { font-weight: 400; }
.collector-hero__copy .lead-copy { max-width: 27ch; margin: 2rem 0 0; }
.collector-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: 2.25rem; }
.collector-hero__composition { position: relative; min-height: clamp(34rem, 70vh, 48rem); }
.collector-hero__art { position: absolute; margin: 0; overflow: hidden; background: #e7e3db; }
.collector-hero__art img { width: 100%; height: 100%; object-fit: contain; transition: transform 1.1s cubic-bezier(.22, 1, .36, 1); }
.collector-hero__art--main { top: 0; right: 0; width: 68%; height: 88%; }
.collector-hero__art--accent { bottom: 0; left: 1%; z-index: 2; width: 35%; height: 49%; border: clamp(.55rem, 1.2vw, 1.2rem) solid var(--color-bg); }
.collector-hero__composition:hover .collector-hero__art--main img { transform: scale(1.015); }
.collector-hero__note { position: absolute; top: 8%; left: 0; width: 28%; margin: 0; color: var(--color-muted); font-size: .72rem; line-height: 1.6; }
.collector-manifest { padding-block: var(--space-6); }
.collector-manifest__title { max-width: 28ch; margin: 0 auto; font: 400 clamp(2rem, 3vw, 3.25rem)/1.15 var(--font-display); letter-spacing: -.035em; text-align: center; }
.collector-manifest .eyebrow { text-align: center; }
.collector-manifest .body-copy { margin: 1.75rem auto 0; color: rgba(255,255,255,.66); text-align: center; }
.collector-path__heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; margin-bottom: var(--space-5); }
.collector-path__heading .section-title { max-width: 15ch; margin: 0; }
.collector-path__heading > p { margin-bottom: .5rem; }
.collector-path__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.65rem, 1.2vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.collector-path__steps li { min-width: 0; min-height: 14rem; padding: clamp(1.25rem, 2vw, 1.75rem); background: rgba(255,255,255,.42); transition: color var(--transition), background var(--transition); }
.collector-path__steps li:nth-child(3n + 2) { background: rgba(255,255,255,.58); }
.collector-path__steps li:nth-child(3n) { background: rgba(255,255,255,.34); }
.collector-path__steps h3 { margin: 0 0 1.25rem; font: 400 clamp(1.35rem, 1.8vw, 1.9rem)/1.1 var(--font-display); letter-spacing: -.025em; }
.collector-path__steps p { margin: 0; color: var(--color-muted); font-size: .8rem; line-height: 1.65; transition: color var(--transition); }
.collector-path__steps li:hover { color: var(--color-white); background: var(--color-ink); }
.collector-path__steps li:hover p { color: rgba(255,255,255,.72); }
.collector-conversation { padding-block: var(--space-6); }
.collector-conversation__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.collector-conversation__image { position: relative; padding: 0 0 clamp(2rem, 5vw, 5rem) clamp(1.5rem, 5vw, 5rem); }
.collector-conversation__image::before { position: absolute; inset: clamp(2rem, 6vw, 6rem) clamp(2rem, 6vw, 6rem) 0 0; border: 1px solid var(--color-line); content: ''; }
.collector-conversation__image figure { position: relative; margin: 0; }
.collector-conversation__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.85); }
.collector-conversation__image > p { position: absolute; right: 0; bottom: 0; margin: 0; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; writing-mode: vertical-rl; }
.collector-conversation__image > p span { color: var(--color-muted); }
.collector-conversation__copy .section-title { max-width: 12ch; }
.collector-conversation__copy .lead-copy { margin-top: 2rem; }
.collector-conversation__copy .body-copy { margin-top: 1.35rem; }
.collector-support .section-title { max-width: 12ch; }
.collector-support__list { display: grid; gap: 1rem; }
.collector-support__list article { min-width: 0; padding: clamp(1.5rem, 2.5vw, 2.25rem); background: rgba(255,255,255,.42); transition: color var(--transition), background var(--transition); }
.collector-support__list article:nth-child(2) { background: rgba(255,255,255,.58); }
.collector-support__list article:nth-child(3) { background: rgba(255,255,255,.34); }
.collector-support__list h3 { margin: 0 0 1rem; font: 400 clamp(1.5rem, 2.1vw, 2rem)/1.15 var(--font-display); letter-spacing: -.025em; }
.collector-support__list p { max-width: 55ch; margin: 0; color: var(--color-muted); font-size: .9rem; line-height: 1.65; transition: color var(--transition); }
.collector-support__list article:hover { color: var(--color-white); background: var(--color-ink); }
.collector-support__list article:hover p { color: rgba(255,255,255,.72); }
.collector-first { padding-block: var(--space-6); }
.collector-first__layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-areas: 'artwork heading' 'artwork copy'; column-gap: clamp(3rem, 7vw, 7rem); row-gap: 1.75rem; max-width: 76rem; margin-inline: auto; }
.collector-first__heading { grid-area: heading; align-self: end; }
.collector-first__heading .eyebrow { margin-bottom: 1.25rem; color: rgba(255,255,255,.6); }
.collector-first .section-title { max-width: 18ch; margin: 0; font-size: clamp(2.2rem, 3.5vw, 3.65rem); line-height: 1.1; letter-spacing: -.035em; text-wrap: balance; }
.collector-first .section-title em { font-weight: 400; }
.collector-first__artwork { grid-area: artwork; align-self: center; width: 100%; max-width: 30rem; margin: 0; }
.collector-first__artwork img { display: block; width: 100%; height: auto; }
.collector-first__copy { grid-area: copy; align-self: start; max-width: 35rem; }
.collector-first__copy .lead-copy { max-width: 32ch; margin: 0; font-size: clamp(1.25rem, 1.65vw, 1.65rem); line-height: 1.4; }
.collector-first__copy .body-copy { max-width: 48ch; margin: 1.25rem 0 0; color: rgba(255,255,255,.66); font-size: .95rem; line-height: 1.75; }
.collector-first__link { margin-top: 1.75rem; font-size: .68rem; }
.collector-questions .section-title { max-width: 9ch; }
.collector-questions__list { display: grid; gap: .5rem; }
.collector-questions__list details[data-faq-animating] { overflow: hidden; }
.collector-questions__list summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 5.25rem; padding: 1rem 0; cursor: pointer; font: 400 clamp(1.25rem, 1.75vw, 1.75rem)/1.25 var(--font-display); list-style: none; }
.collector-questions__list summary::-webkit-details-marker { display: none; }
.collector-questions__icon { position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.collector-questions__icon::before, .collector-questions__icon::after { position: absolute; top: 50%; left: 4px; width: 16px; height: 1px; background: currentColor; content: ''; }
.collector-questions__icon::after { transform: rotate(90deg); transition: transform 280ms ease, opacity 280ms ease; }
.collector-questions__list details[open]:not([data-faq-closing]) .collector-questions__icon::after { transform: rotate(0); opacity: 0; }
.collector-questions__answer { padding: 0 3rem 1.5rem 0; }
.collector-questions__answer p { max-width: 61ch; margin: 0; color: var(--color-muted); font-size: .9rem; line-height: 1.75; }
.collector-cta { padding-block: var(--space-6); text-align: center; }
.collector-cta__title { max-width: 15ch; margin: 0 auto; font: 400 clamp(3rem, 5.7vw, 6.2rem)/.98 var(--font-display); letter-spacing: -.05em; }
.collector-cta__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.25rem 2rem; margin-top: 2.5rem; }

.contact-link { display: block; font: 400 clamp(2rem, 4.15vw, 4.4rem)/1.15 var(--font-display); letter-spacing: -.04em; overflow-wrap: anywhere; text-decoration: none; }
.form-control { min-height: 3.25rem; padding: .8rem 0; color: var(--color-ink); background: transparent; border: 0; border-bottom: 1px solid var(--color-ink); border-radius: 0; }
textarea.form-control { min-height: 9rem; }.form-control:focus { color: var(--color-ink); background: transparent; box-shadow: 0 2px 0 var(--color-ink); border-color: var(--color-ink); }
.form-label { margin-top: 1rem; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.form-check-input { border-radius: 0; border-color: var(--color-ink); }.form-check-input:checked { background-color: var(--color-ink); border-color: var(--color-ink); }
.button { text-decoration: none; min-height: 52px; padding: .85rem 1.4rem; border: 1px solid var(--color-ink); border-radius: 0; background: var(--color-ink); color: var(--color-white); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; transition: color var(--transition), background var(--transition); }
.button:hover { text-decoration: none; color: var(--color-ink); background: transparent; }
.map-embed { min-height: 32rem; }
.map-embed__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }
.map-embed__header .eyebrow { margin: .75rem 0 0; }
.map-embed iframe { display: block; width: 100%; min-height: 32rem; border: 0; filter: grayscale(1) contrast(.92); transition: filter var(--transition); }
.map-embed:hover iframe, .map-embed:focus-within iframe { filter: grayscale(0) contrast(1); }

.scroll-top {
    position: fixed;
    z-index: 900;
    right: clamp(1rem, 2.5vw, 2.5rem);
    bottom: clamp(1rem, 2.5vw, 2.5rem);
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--color-ink);
    background: rgba(244, 241, 234, .92);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity var(--transition), visibility var(--transition), transform var(--transition), background var(--transition), color var(--transition);
    backdrop-filter: blur(10px);
}
.scroll-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.scroll-top:hover, .scroll-top.is-complete { color: var(--color-white); background: var(--color-ink); }
.scroll-top__progress { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.scroll-top__track, .scroll-top__value { fill: none; stroke-width: 1.5; }
.scroll-top__track { stroke: rgba(16, 16, 16, .16); }
.scroll-top__value { stroke: currentColor; stroke-linecap: round; transition: stroke-dashoffset 100ms linear; }
.scroll-top__arrow { position: relative; display: grid; place-items: center; width: 100%; height: 100%; font-size: 1.15rem; line-height: 1; transition: transform var(--transition); }
.scroll-top:hover .scroll-top__arrow { transform: translateY(-2px); }
.scroll-top:focus-visible { box-shadow: var(--focus); }

.site-footer { padding: var(--space-5) 0 2rem; color: var(--color-white); background: var(--color-ink); }
.site-footer__logo { width: min(11.5rem, 58%); filter: invert(1); }
.site-footer__statement { max-width: 32ch; margin-top: 2rem; color: rgba(255,255,255,.68); }
.site-footer__company { margin: 0 0 1.25rem; }
.site-footer__company > p {
    max-width: 24ch;
    margin: 0;
    color: var(--color-white);
    font: 400 1.15rem/1.25 var(--font-display);
    letter-spacing: -.015em;
}
.site-footer__contact { display: grid; gap: .42rem; font-size: .9rem; line-height: 1.55; }
.site-footer__contact p { margin: 0 0 .9rem; color: rgba(255,255,255,.68); }
.site-footer__contact a {
    position: relative;
    width: fit-content;
    color: rgba(255,255,255,.92);
}
.site-footer__contact a::after {
    position: absolute;
    right: 0;
    bottom: -.1rem;
    left: 0;
    height: 1px;
    content: '';
    background: rgba(255,255,255,.28);
    transform-origin: left;
    transition: background var(--transition), transform var(--transition);
}
.site-footer__contact a:hover::after { background: var(--color-white); transform: scaleX(.7); }
.footer-nav a, .site-footer address a { text-decoration: none; }.footer-nav li { margin-bottom: .55rem; }
.site-footer address { color: rgba(255,255,255,.7); font-style: normal; }
.social-icons { display: flex; align-items: center; gap: .65rem; margin-top: 1.75rem; }
.social-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: rgba(255,255,255,.82); cursor: default; transition: color var(--transition), border-color var(--transition), transform var(--transition); }
.social-icon:hover { color: var(--color-white); border-color: var(--color-white); transform: translateY(-2px); }
.social-icon svg { width: 17px; height: 17px; fill: currentColor; }
.grecaptcha { max-width: 42rem; margin: 0 auto; color: rgba(255,255,255,.42); font-size: .65rem; line-height: 1.6; letter-spacing: 0; text-align: center; text-transform: none; }
.grecaptcha a { color: rgba(255,255,255,.62); text-underline-offset: .18em; transition: color var(--transition); }
.grecaptcha a:hover { color: var(--color-white); }
.site-footer__bottom { display: grid; grid-template-columns: 1fr minmax(22rem, 2fr) 1fr; gap: 2rem; align-items: end; margin-top: var(--space-5); padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.55); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom > p:last-child { text-align: right; }
.site-footer__bottom a { color: inherit; text-decoration: none; }
.site-footer__bottom a:hover { color: var(--color-white); }

.legal-hero .page-title { max-width: 11ch; font-size: clamp(3rem, 5.15vw, 5.3rem); }
.legal-document { padding-top: 0; }
.legal-layout { display: grid; grid-template-columns: minmax(13rem, 1fr) minmax(0, 3fr); gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.legal-toc { position: sticky; top: calc(var(--header-height) + 2rem); }
.legal-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: legal-toc; }
.legal-toc li { counter-increment: legal-toc; }
.legal-toc a { display: grid; grid-template-columns: 2rem 1fr; gap: .5rem; width: calc(100% - .5rem); padding: .85rem .5rem; font-size: .76rem; line-height: 1.4; text-decoration: none; transform: translateX(0); transition: transform 320ms cubic-bezier(.22, 1, .36, 1), background-color 320ms ease, color 320ms ease; }
.legal-toc a::before { content: counter(legal-toc, decimal-leading-zero); color: var(--color-muted); font-size: .64rem; letter-spacing: .08em; }
.legal-toc a:is(:hover, :focus-visible) { transform: translateX(.35rem); background-color: rgba(16,16,16,.055); color: var(--color-ink); }
.legal-toc a:focus-visible { outline: 2px solid var(--color-ink); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) {
    .legal-toc a { transition: none; }
    .legal-toc a:is(:hover, :focus-visible) { transform: none; }
}
.legal-content { min-width: 0; }
.legal-section { position: relative; padding: 0 0 var(--space-5) clamp(0rem, 4vw, 4.5rem); scroll-margin-top: calc(var(--header-height) + 2rem); }
.legal-section__number { position: absolute; top: 1.35rem; left: 0; margin: 0; color: var(--color-muted); font-size: .66rem; font-weight: 600; letter-spacing: .1em; }
.legal-section h2 { max-width: 18ch; margin: 1.1rem 0 2rem; font: 400 clamp(2rem, 3.05vw, 3.15rem)/1.04 var(--font-display); letter-spacing: -.035em; }
.legal-section p, .legal-section ul { max-width: 72ch; }
.legal-section p + p { margin-top: 1.25rem; }
.legal-section li + li { margin-top: .5rem; }
.legal-section a { text-decoration-thickness: 1px; }
.legal-table-wrap { max-width: 100%; margin: 0 0 1.5rem; overflow-x: auto; }
.legal-table { width: 100%; min-width: 42rem; border-collapse: collapse; font-size: .9rem; line-height: 1.5; }
.legal-table th, .legal-table td { width: 50%; padding: 1rem 1.25rem 1rem 0; text-align: left; vertical-align: top; }
.legal-table th { font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.manifest-hero .lead-copy { max-width: 42ch; }
.manifest-toc { max-height: calc(100svh - var(--header-height) - 4rem); overflow-y: auto; padding-right: 1rem; }
.manifest-toc a { display: block; padding-block: .55rem; }
.manifest-toc a::before { content: none; }
.manifest-chapter { padding-left: 0; }
.manifest-chapter h2 { max-width: 25ch; margin-top: 0; font-size: clamp(1.8rem, 2.8vw, 2.8rem); line-height: 1.12; }
.manifest-chapter p { max-width: 65ch; margin-bottom: .65rem; line-height: 1.75; }
.manifest-chapter p + p { margin-top: .65rem; }
.manifest-closing { scroll-margin-top: calc(var(--header-height) + 2rem); }
.manifest-closing__header { max-width: 52rem; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.manifest-closing__header h2 { margin: 0 0 1.25rem; font: 400 clamp(2.5rem, 5vw, 5rem)/1.04 var(--font-display); letter-spacing: -.035em; }
.manifest-closing__lead { max-width: 35ch; margin: 0; color: rgba(255,255,255,.75); font: 400 clamp(1.4rem, 2.2vw, 2.1rem)/1.35 var(--font-display); }
.manifest-promises { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.manifest-promise { padding: clamp(1.5rem, 3vw, 3rem); background: #222; }
.manifest-promise:last-child:nth-child(odd) { grid-column: 1 / -1; }
.manifest-promise__context { margin: 0 0 .8rem; color: rgba(255,255,255,.65); font-size: .88rem; line-height: 1.6; }
.manifest-promise__statement { max-width: 33ch; margin: .4rem 0 0; font: 400 clamp(1.4rem, 2.1vw, 2rem)/1.25 var(--font-display); }
.manifest-closing__bottom { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: end; gap: clamp(2rem, 6vw, 6rem); margin-top: clamp(3rem, 6vw, 6rem); }
.manifest-closing__outro { max-width: 57ch; color: rgba(255,255,255,.78); line-height: 1.75; }
.manifest-closing__outro p { margin: 0 0 .65rem; }
.manifest-closing__signature { justify-self: end; }
.manifest-closing__motto { margin-bottom: 1.5rem; font: 400 clamp(1.8rem, 3vw, 2.8rem)/1.2 var(--font-display); }
@media (max-width: 767.98px) {
    .manifest-promises, .manifest-closing__bottom { grid-template-columns: 1fr; }
    .manifest-closing__signature { justify-self: start; }
}
@media (max-width: 991.98px) {
    .manifest-toc { max-height: none; overflow: visible; padding-right: 0; }
}

[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity 700ms ease, transform 700ms ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

.site-header__inner { opacity: 0; transform: translateY(-14px); animation: header-enter 850ms 620ms cubic-bezier(.22, 1, .36, 1) forwards; }
.hero__content > * { opacity: 0; transform: translateY(20px); }
.hero-slide.is-active .hero__content > * { animation: content-enter 800ms cubic-bezier(.22, 1, .36, 1) forwards; }
.hero-slide.is-active .hero__content > :nth-child(1) { animation-delay: 140ms; }
.hero-slide.is-active .hero__content > :nth-child(2) { animation-delay: 220ms; }
.hero-slide.is-active .hero__content > :nth-child(3) { animation-delay: 300ms; }
.hero-slide.is-active .hero__content > :nth-child(4) { animation-delay: 380ms; }
.page-header > .container-fluid > * { opacity: 0; transform: translateY(18px); }
.page-header > .container-fluid > * { animation: content-enter 820ms cubic-bezier(.22, 1, .36, 1) forwards; }
.page-header > .container-fluid > :nth-child(1) { animation-delay: 660ms; }
.page-header > .container-fluid > :nth-child(2) { animation-delay: 740ms; }
.page-header > .container-fluid > :nth-child(3) { animation-delay: 840ms; }

@keyframes loader-spin { to { transform: rotate(360deg); } }
@keyframes loader-fallback { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@keyframes header-enter { to { opacity: 1; transform: none; } }
@keyframes content-enter { to { opacity: 1; transform: none; } }
@keyframes hero-image-enter { to { transform: scale(1); } }

/* Strona główna — moduły gotowe do mapowania na ACF Flexible Content */
.home-index { padding-block: clamp(2.5rem, 4.5vw, 4.5rem); background: var(--color-bg-alt); }
.home-index > .container-fluid { display: grid; grid-template-columns: minmax(9rem, .35fr) 1.65fr; gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.home-index > .container-fluid > .eyebrow { margin: 1.35rem 0 0; }
.home-index__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.65rem, 1.2vw, 1.25rem); }
.home-index__links a { position: relative; display: grid; grid-template-columns: auto auto 1fr; gap: .55rem .7rem; min-height: 8.5rem; padding: clamp(1.25rem, 2vw, 1.75rem); color: var(--color-ink); background: rgba(255,255,255,.42); text-decoration: none; transition: color var(--transition), background var(--transition), transform var(--transition); }
.home-index__links a:nth-child(2) { background: rgba(255,255,255,.58); }
.home-index__links a:nth-child(3) { background: rgba(255,255,255,.34); }
.home-index__links strong { font: 400 clamp(1.6rem, 2.2vw, 2.2rem)/1.1 var(--font-display); }
.home-index__links small { grid-row: 2; grid-column: 1 / -1; align-self: end; color: var(--color-muted); font-size: .72rem; transition: color var(--transition); }
.home-index__links i { grid-row: 1; grid-column: 2; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; font-size: .8rem; font-style: normal; transition: color var(--transition), background var(--transition), transform var(--transition); }
.home-index__links a:hover, .home-index__links a:focus-visible { color: var(--color-white); background: var(--color-ink); transform: translateY(-.25rem); }
.home-index__links a:hover small, .home-index__links a:focus-visible small { color: rgba(255,255,255,.62); }
.home-index__links a:hover i, .home-index__links a:focus-visible i { color: var(--color-ink); background: var(--color-white); }
.home-index__links a:hover i { transform: translate(.25rem, -.25rem); }

.home-section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; margin-bottom: var(--space-5); }
.home-section-heading .section-title { max-width: 15ch; margin: 0; }
.home-section-heading > div:last-child .body-copy { margin: 0 0 1.5rem; }
.home-section-heading > .body-copy { margin-bottom: .35rem; }

.home-artists .artist-showcase { margin-top: 0; }
.home-artists .artist-showcase__track { grid-auto-columns: minmax(16rem, 25vw); }
.home-artists .artist-tile { min-height: clamp(24rem, 39vw, 35rem); }

.home-work { display: block; color: var(--color-ink); text-decoration: none; }
.home-work figure { display: grid; place-items: center; aspect-ratio: 4 / 5; margin: 0; padding: clamp(1rem, 2.5vw, 2.5rem); background: #e9e5dc; overflow: hidden; }
.home-work img { width: auto; max-width: 100%; height: 100%; object-fit: contain; transition: transform 900ms cubic-bezier(.22,1,.36,1); }
.home-work:hover img { transform: scale(1.025); }
.home-work > div { padding-top: 1.2rem; }
.home-work > div > span { color: var(--color-muted); font-size: .62rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.home-work h3 { max-width: 18ch; margin: .55rem 0 .35rem; font: 400 clamp(1.55rem, 2.25vw, 2.35rem)/1.06 var(--font-display); letter-spacing: -.025em; }
.home-work p { margin: 0; color: var(--color-muted); font-size: .78rem; }

.home-program__heading { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; margin-bottom: var(--space-5); }
.home-program__heading .section-title { margin: 0; font-size: clamp(2.2rem, 3.3vw, 3.65rem); }
.home-program__heading > div:last-child { max-width: 35rem; }
.home-program__heading .body-copy { margin: 0 0 1.4rem; }
.home-program__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); align-items: stretch; }
.home-program-card { min-width: 0; background: var(--color-bg); }
.home-program-card--featured { grid-column: 1 / span 7; grid-row: 1 / span 2; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.home-program-card--compact { grid-column: 8 / -1; display: grid; grid-template-columns: minmax(9rem, .8fr) minmax(0, 1.2fr); min-height: 16.5rem; }
.home-program-card__image { display: block; min-height: 100%; overflow: hidden; background: #ded9cf; }
.home-program-card--featured .home-program-card__image { min-height: 0; height: 100%; }
.home-program-card--featured .home-program-card__content { align-self: start; }
.home-program-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22,1,.36,1); }
.home-program-card__image.is-contain img { padding: clamp(1rem, 2vw, 2rem); object-fit: contain; }
.home-program-card:hover .home-program-card__image img { transform: scale(1.025); }
.home-program-card__content { display: flex; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2.5rem); }
.home-program-card__content .eyebrow { margin-bottom: .8rem; color: var(--color-muted); font-size: .6rem; }
.home-program-card__content h3 { margin: 0; font: 400 clamp(1.55rem, 2.25vw, 2.4rem)/1.03 var(--font-display); letter-spacing: -.035em; }
.home-program-card--featured .home-program-card__content h3 { font-size: clamp(2rem, 3.25vw, 3.4rem); }
.home-program-card__content h3 a { text-decoration: none; }
.home-program-card__artist { margin: .6rem 0 1rem; color: var(--color-muted); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-program-card__excerpt { max-width: 38ch; margin: 0 0 1.35rem; color: var(--color-muted); font-size: .8rem; line-height: 1.55; }
.home-program-card__link { display: inline-flex; gap: .6rem; width: fit-content; margin-top: auto; font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.home-program-card__link span { transition: transform var(--transition); }
.home-program-card__link:hover span { transform: translateX(.25rem); }

.home-audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: clamp(39rem, 66vw, 52rem); }
.home-audience { position: relative; display: flex; align-items: flex-end; min-height: inherit; color: var(--color-white); background: var(--color-ink); overflow: hidden; }
.home-audience > figure, .home-audience__shade { position: absolute; inset: 0; margin: 0; }
.home-audience > figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.home-audience--collector > figure img { object-fit: contain; padding: clamp(3rem, 7vw, 7rem); background: #1a1a1a; }
.home-audience__shade { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.78)); }
.home-audience__content { position: relative; z-index: 1; width: 100%; padding: clamp(2rem, 5vw, 5rem); }
.home-audience__content h2 { max-width: 13ch; margin: 0; font: 400 clamp(2.35rem, 4vw, 4.25rem)/1.02 var(--font-display); letter-spacing: -.04em; }
.home-audience__content > p:not(.eyebrow) { max-width: 37ch; margin: 1.25rem 0 1.75rem; color: rgba(255,255,255,.7); font-size: .88rem; }
.home-audience:hover > figure img { transform: scale(1.025); }

/* Kontakt */
.contact-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.contact-page .section-title { font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.contact-hero { padding-top: calc(var(--header-height) + 3rem); padding-bottom: var(--space-6); }
.contact-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.contact-hero__copy .page-title { margin: 0; font-size: clamp(3.1rem, 5vw, 5.2rem); line-height: 1.05; }
.contact-hero__copy .page-title em { font-weight: 400; }
.contact-hero__copy .lead-copy { max-width: 33ch; margin: 1.75rem 0; font-size: clamp(1.25rem, 1.6vw, 1.65rem); }
.contact-hero__image { margin: 0; }
.contact-hero__image img { width: 100%; height: clamp(30rem, 45vw, 43rem); object-fit: cover; }
.contact-direct__links { display: grid; gap: .75rem; margin-block: 2rem 1.25rem; }
.contact-direct__links a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem 1rem; align-items: center; padding: 1.1rem 1.4rem; background: #e8e3da; text-decoration: none; transition: background var(--transition); }
.contact-direct__links a > span { grid-column: 1 / -1; color: var(--color-muted); font-size: .6rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.contact-direct__links strong { min-width: 0; font: 400 clamp(1.25rem, 1.8vw, 1.85rem)/1.2 var(--font-display); overflow-wrap: anywhere; }
.contact-direct__links i { font-style: normal; }
.contact-direct__links a:hover { background: #ded8cc; }
.contact-paths { padding-top: 0; }
.contact-paths__heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; margin-bottom: 3rem; }
.contact-paths__heading .section-title { margin: 0; }
.contact-paths__heading > p { max-width: 46ch; margin: 0; }
.contact-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.contact-paths__grid article { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 2.8vw, 2.75rem); background: #e8e3da; transition: color var(--transition), background var(--transition); }
.contact-paths__grid article:nth-child(2) { background: #eeebe4; }
.contact-paths__grid h3 { max-width: 20ch; margin: 0 0 1.25rem; font: 400 clamp(1.6rem, 2.1vw, 2.2rem)/1.15 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.contact-paths__grid p { max-width: 40ch; margin: 0 0 2rem; color: var(--color-muted); font-size: .9rem; transition: color var(--transition); }
.contact-paths__grid .text-link { margin-top: auto; }
.contact-paths__grid article:focus-within { color: var(--color-white); background: var(--color-ink); }
.contact-paths__grid article:focus-within p { color: rgba(255,255,255,.72); }
@media (hover: hover) {
    .contact-paths__grid article:hover { color: var(--color-white); background: var(--color-ink); }
    .contact-paths__grid article:hover p { color: rgba(255,255,255,.72); }
}
.contact-message { padding-block: var(--space-6); }
.contact-message__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.contact-message__intro { padding: clamp(1.75rem, 3vw, 3rem); color: var(--color-white); background: var(--color-ink); }
.contact-message__intro .section-title { margin: 0; }
.contact-message__intro .lead-copy { max-width: 28ch; margin: 1.75rem 0; font-size: clamp(1.25rem, 1.7vw, 1.6rem); }
.contact-message__intro .text-link { font-size: .62rem; }
.contact-message__aside { max-width: 45ch; margin: 2rem 0 0; color: rgba(255,255,255,.66); font-size: .8rem; }
.contact-form { display: grid; gap: 1.5rem; min-width: 0; }
.contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contact-form .form-label { display: flex; flex-wrap: wrap; gap: .3rem .7rem; align-items: baseline; margin: 0 0 .6rem; font-size: .65rem; letter-spacing: .08em; }
.contact-form .form-label span { color: var(--color-muted); font-size: .58rem; }
.contact-form .form-control { width: 100%; min-height: 3.5rem; padding: .9rem 1rem; background-color: #faf8f3; border: 0; border-radius: 0; }
.contact-form .form-control:focus { background-color: #fff; outline: 2px solid var(--color-ink); outline-offset: 2px; box-shadow: none; }
.contact-form textarea.form-control { min-height: 11rem; resize: vertical; }
.contact-form .form-select { padding-right: 2.75rem; cursor: pointer; }
.contact-form.was-validated .form-control:invalid { box-shadow: inset 0 0 0 1px #b02a37; padding-right: 2.75rem; }
.contact-form__consent { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: .85rem; align-items: start; margin: 0; color: var(--color-muted); font-size: .75rem; line-height: 1.6; cursor: pointer; }
.contact-form__consent .form-check-input { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; }
.contact-form__consent a { color: var(--color-ink); }
.contact-form__footer { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.contact-form__footer .button { display: inline-flex; align-items: center; gap: .75rem; }
.contact-form__footer p { flex: 1 1 15rem; margin: 0; color: var(--color-muted); font-size: .78rem; }
.contact-form__footer p:empty { display: none; }
.contact-map { position: relative; min-height: clamp(34rem, 62vw, 49rem); overflow: hidden; background: var(--color-bg-alt); }
.contact-map iframe { display: block; width: 100%; min-height: clamp(34rem, 62vw, 49rem); border: 0; filter: grayscale(1) contrast(.9); transition: filter 700ms ease; }
.contact-map:hover iframe, .contact-map:focus-within iframe { filter: grayscale(.15) contrast(1); }
.contact-map__card { position: absolute; right: clamp(1rem, 3vw, 3rem); bottom: clamp(1rem, 3vw, 3rem); display: grid; width: min(22rem, calc(100% - 2rem)); gap: .45rem; margin: 0; padding: clamp(1.5rem, 3vw, 2.5rem); color: var(--color-ink); background: rgba(244,241,234,.96); font-style: normal; backdrop-filter: blur(12px); }
.contact-map__card > span { margin-bottom: 1rem; font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.contact-map__card strong { margin-bottom: 1rem; font: 400 1.45rem/1.25 var(--font-display); }
.contact-map__card a { width: fit-content; color: var(--color-ink); font-size: .82rem; text-decoration-thickness: 1px; }

.contact-map__note { margin: .75rem 0; color: var(--color-muted); font-size: .78rem; line-height: 1.6; }
.contact-map__card .text-link { min-height: 44px; font-size: .65rem; text-decoration: none; }

/* O Gauger */
.about-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.about-page .section-title, .about-intro h2 { font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.about-page h1 em, .about-page h2 em { font-weight: 400; }
.about-hero { padding-top: calc(var(--header-height) + 3rem); padding-bottom: var(--space-6); }
.about-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }
.about-hero__copy .page-title { max-width: 15ch; margin: 0; font-size: clamp(3rem, 4.5vw, 4.8rem); line-height: 1.07; text-wrap: balance; }
.about-hero__copy .lead-copy { max-width: 34ch; margin: 1.75rem 0; font-size: clamp(1.25rem, 1.6vw, 1.65rem); }
.about-hero__image { margin: 0; }
.about-hero__image img { width: 100%; height: clamp(29rem, 43vw, 40rem); object-fit: cover; object-position: 60% center; }
.about-intro { padding-block: var(--space-6); }
.about-intro__layout, .about-partners__heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.about-intro__layout { max-width: 76rem; margin-inline: auto; }
.about-intro h2 { max-width: 22ch; margin: 0; font-family: var(--font-display); font-weight: 400; }
.about-intro h2 em { color: #c8bcaa; }
.about-intro__copy .lead-copy { max-width: 28ch; margin: 0 0 1.5rem; font-size: clamp(1.35rem, 1.9vw, 1.8rem); }
.about-intro__copy .body-copy { max-width: 43ch; margin: 0; color: rgba(255,255,255,.66); }
.about-story__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(3rem, 8vw, 8rem); }
.about-story__heading .section-title { max-width: 17ch; margin: 0; }
.about-story__copy .lead-copy { max-width: 43ch; margin: 0; }
.about-story__columns { display: grid; gap: 1.25rem; margin-top: 1.75rem; }
.about-story__columns p { max-width: 65ch; margin: 0; color: var(--color-muted); font-size: .95rem; }
.about-editorial__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); grid-template-rows: 1fr auto; gap: 1.75rem clamp(2rem, 4vw, 4rem); align-items: start; }
.about-editorial figure { margin: 0; overflow: hidden; }
.about-editorial img { width: 100%; height: 100%; object-fit: cover; }
.about-editorial__main { grid-row: span 2; height: clamp(26rem, 40vw, 38rem); }
.about-editorial__side { height: clamp(19rem, 28vw, 26rem); }
.about-editorial__note { max-width: 45ch; margin: 0; color: var(--color-muted); font-size: .9rem; }
.about-model__heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 9vw, 9rem); align-items: end; margin-bottom: 3rem; }
.about-model__heading .section-title { margin: 0; }
.about-model__heading > p { max-width: 47ch; margin: 0; }
.about-model__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.about-model__grid article { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 2.8vw, 2.75rem); background: #e8e3da; transition: color var(--transition), background var(--transition); }
.about-model__grid article:nth-child(2) { background: #eeebe4; }
.about-model__grid h3 { margin: 0 0 1.25rem; font: 400 clamp(1.75rem, 2.4vw, 2.5rem)/1.1 var(--font-display); }
.about-model__grid p { max-width: 38ch; margin: 0 0 2rem; color: var(--color-muted); font-size: .9rem; transition: color var(--transition); }
.about-model__grid .text-link { margin-top: auto; }
.about-model__grid article:focus-within { color: var(--color-white); background: var(--color-ink); }
.about-model__grid article:focus-within p { color: rgba(255,255,255,.72); }
@media (hover: hover) {
    .about-model__grid article:hover { color: var(--color-white); background: var(--color-ink); }
    .about-model__grid article:hover p { color: rgba(255,255,255,.72); }
}
.about-values { padding-block: var(--space-6); }
.about-values__layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.about-values__visual { width: 100%; max-width: 30rem; margin: 0; aspect-ratio: 4 / 5; }
.about-values__visual img { width: 100%; height: 100%; object-fit: cover; }
.about-values__content .section-title { margin: 0; }
.about-values__list { display: grid; gap: 1rem; margin-top: 2rem; }
.about-values__list article { padding: 1.5rem; background: rgba(255,255,255,.4); }
.about-values__list h3 { margin: 0 0 .65rem; font: 400 clamp(1.4rem, 1.8vw, 1.8rem)/1.2 var(--font-display); }
.about-values__list p { max-width: 57ch; margin: 0; color: var(--color-muted); font-size: .88rem; }
.about-partners__heading .section-title { margin: 0; }
.about-partners__heading .body-copy { max-width: 47ch; margin: 0 0 1.5rem; }
.about-closing { padding-block: var(--space-6); }
.about-closing__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.about-closing .section-title { max-width: 18ch; margin: 0; }
.about-closing__content .body-copy { margin: 1.75rem 0; }
.about-closing__actions { display: flex; flex-wrap: wrap; gap: .75rem 2rem; }
.about-closing__image { margin: 0; height: clamp(24rem, 32vw, 32rem); }
.about-closing__image img { width: 100%; height: 100%; object-fit: cover; }

/* Dla artystów */
.artist-call-hero { min-height: 100svh; padding-bottom: var(--space-5); }
.artist-call-hero__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(31rem, 7fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; min-height: calc(100svh - var(--header-height) - var(--space-5)); }
.artist-call-hero__copy .page-title { max-width: 10ch; margin: 0; font-size: clamp(3.2rem, 5.45vw, 5.75rem); }
.artist-call-hero__copy .page-title em, .artist-call-manifest h2 em, .artist-call-fit .section-title em { font-weight: 400; }
.artist-call-hero__copy .lead-copy { max-width: 31ch; margin: 2rem 0 0; }
.artist-call-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: 2.25rem; }
.artist-call-hero__visual { position: relative; min-height: clamp(36rem, 72vh, 48rem); }
.artist-call-hero__visual figure { position: absolute; margin: 0; overflow: hidden; background: var(--color-bg-alt); }
.artist-call-hero__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.22, 1, .36, 1); }
.artist-call-hero__portrait { top: 0; right: 0; width: 69%; height: 88%; }
.artist-call-hero__portrait img { object-position: center 28%; }
.artist-call-hero__work { bottom: 0; left: 0; z-index: 2; width: 36%; height: 47%; border: clamp(.55rem, 1.1vw, 1.1rem) solid var(--color-bg); }
.artist-call-hero__work img { object-fit: contain; }
.artist-call-hero__visual:hover img { transform: scale(1.018); }
.artist-call-hero__caption { position: absolute; top: 7%; left: 0; width: 25%; margin: 0; color: var(--color-muted); font-size: .68rem; line-height: 1.65; }
.artist-call-hero__caption span { display: block; margin-bottom: .65rem; color: var(--color-ink); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

.artist-call-manifest { padding-block: var(--space-6); }
.artist-call-manifest__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; max-width: 76rem; margin-inline: auto; }
.artist-call-manifest__heading .eyebrow { margin-bottom: 1.75rem; }
.artist-call-manifest h2 { max-width: 20ch; margin: 0; font: 400 clamp(2.25rem, 3.5vw, 3.5rem)/1.12 var(--font-display); letter-spacing: -.035em; text-wrap: balance; }
.artist-call-manifest h2 em { color: #c8bcaa; }
.artist-call-manifest__copy { max-width: 29rem; }
.artist-call-manifest__copy .lead-copy { max-width: 27ch; margin: 0 0 1.5rem; font-size: clamp(1.35rem, 1.9vw, 1.8rem); line-height: 1.35; }
.artist-call-manifest__copy .body-copy { margin: 0; color: rgba(255,255,255,.66); }
.artist-call-manifest__copy .text-link { margin-top: 2rem; }

.artist-call-support__heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 9vw, 9rem); align-items: end; margin-bottom: 3rem; }
.artist-call-support__heading .section-title { max-width: 20ch; margin: 0; font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; text-wrap: balance; }
.artist-call-support__heading .section-title em { font-weight: 400; }
.artist-call-support__heading > p { max-width: 47ch; margin: 0; }
.artist-call-support__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.artist-call-support__grid article { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: clamp(1.25rem, 2.5vw, 2.5rem); align-items: start; padding: clamp(1.5rem, 3vw, 3rem); background: #e8e3da; transition: background var(--transition); }
.artist-call-support__grid article:nth-child(2), .artist-call-support__grid article:nth-child(3) { background: #eeebe4; }
.artist-call-support__symbol { width: 4rem; height: 4rem; color: #7a7060; }
.artist-call-support__grid h3 { max-width: 22ch; margin: 0 0 1rem; font: 400 clamp(1.55rem, 2vw, 2rem)/1.15 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.artist-call-support__grid p { max-width: 46ch; margin: 0; color: var(--color-muted); font-size: .88rem; line-height: 1.7; }
@media (hover: hover) {
    .artist-call-support__grid article:hover { background: #ded8cc; }
}

.artist-call-practice { padding-block: var(--space-6); }
.artist-call-practice__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.artist-call-practice__images { position: relative; min-height: clamp(31rem, 53vw, 44rem); }
.artist-call-practice__image { position: absolute; margin: 0; overflow: hidden; }
.artist-call-practice__image img { width: 100%; height: 100%; object-fit: cover; }
.artist-call-practice__image--main { inset: 0 11% 9% 0; }
.artist-call-practice__image--detail { right: 0; bottom: 0; width: 37%; height: 39%; border: clamp(.55rem, 1.15vw, 1.1rem) solid var(--color-bg-alt); }
.artist-call-practice__copy .section-title { max-width: 12ch; }
.artist-call-practice__copy .lead-copy { max-width: 26ch; margin-top: 2rem; }
.artist-call-practice__copy .body-copy { margin-top: 1.4rem; }

.artist-call-process__intro { margin-bottom: 3rem; }
.artist-call-process__intro .section-title { max-width: 28ch; margin: 0; font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.12; text-wrap: balance; }
.artist-call-process__intro .section-title em { font-weight: 400; }
.artist-call-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.artist-call-process__steps li { min-width: 0; padding: clamp(1.5rem, 2.4vw, 2.5rem); background: #e8e3da; transition: background var(--transition); }
.artist-call-process__steps li:nth-child(even) { background: #eeebe4; }
.artist-call-process__steps h3 { margin: 0 0 1.25rem; font: 400 clamp(1.5rem, 1.9vw, 1.9rem)/1.15 var(--font-display); letter-spacing: -.025em; }
.artist-call-process__steps p { max-width: 38ch; margin: 0; color: var(--color-muted); font-size: .88rem; line-height: 1.7; }
@media (hover: hover) {
    .artist-call-process__steps li:hover { background: #ded8cc; }
}

.artist-call-fit { padding-block: var(--space-6); }
.artist-call-fit__layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(4rem, 10vw, 12rem); align-items: start; }
.artist-call-fit .section-title { max-width: 13ch; margin: 0; }
.artist-call-fit__points { display: grid; gap: 1.75rem; }
.artist-call-fit__points p { margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.35vw, 1.25rem); }

.artist-call-submission__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(4rem, 10vw, 12rem); align-items: start; }
.artist-call-submission__copy { position: sticky; top: calc(var(--header-height) + 2rem); }
.artist-call-submission__copy .section-title { max-width: 11ch; }
.artist-call-submission__copy .lead-copy { max-width: 28ch; margin: 2rem 0; }
.artist-call-submission__email { margin: 1rem 0 0; color: var(--color-muted); font-size: .78rem; }
.artist-call-submission__email a { color: var(--color-ink); }
.artist-call-submission__checklist ul { display: grid; gap: 1.75rem; margin: 0; padding: 0; list-style: none; }
.artist-call-submission__checklist li { margin: 0; padding: 0; }
.artist-call-submission__checklist strong { display: block; margin-bottom: .35rem; font: 400 clamp(1.3rem, 1.7vw, 1.7rem)/1.2 var(--font-display); }
.artist-call-submission__checklist small { display: block; max-width: 55ch; color: var(--color-muted); font-size: .85rem; }
.artist-call-submission__note { max-width: 57ch; margin: 2rem 0 0; color: var(--color-muted); font-size: .76rem; line-height: 1.6; }

.artist-call-closing { position: relative; min-height: min(48rem, 82svh); display: flex; align-items: flex-end; color: var(--color-white); background: var(--color-ink); overflow: hidden; }
.artist-call-closing > figure, .artist-call-closing__overlay { position: absolute; inset: 0; margin: 0; }
.artist-call-closing > figure img { width: 100%; height: 100%; object-fit: cover; }
.artist-call-closing__overlay { background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.78)); }
.artist-call-closing__content { position: relative; z-index: 1; padding-bottom: var(--space-5); }
.artist-call-closing__content h2 { max-width: 14ch; margin: 0 0 2rem; font: 400 clamp(2.8rem, 5.4vw, 5.7rem)/.98 var(--font-display); letter-spacing: -.045em; }

@media (max-width: 991.98px) {
    .home-index > .container-fluid { grid-template-columns: 1fr; gap: 1rem; }
    .home-index__links { gap: 2rem; }
    .home-section-heading, .home-program__heading { grid-template-columns: 1fr; gap: 1.75rem; }
    .home-program-card--featured { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr); }
    .home-program-card--featured .home-program-card__image { height: clamp(24rem, 52vw, 32rem); }
    .home-program-card--compact { grid-column: span 6; display: block; }
    .home-program-card--compact .home-program-card__image { height: clamp(18rem, 38vw, 24rem); }
    .home-audiences { min-height: 42rem; }
    .home-audience__content { padding: clamp(2rem, 4vw, 3.5rem); }
    .artist-call-hero { min-height: 0; }
    .artist-call-hero__layout { grid-template-columns: 1fr; min-height: 0; }
    .artist-call-hero__visual { width: min(100%, 43rem); margin-left: auto; }
    .artist-call-manifest__layout { gap: 3rem; }
    .artist-call-support__heading { grid-template-columns: 1fr; gap: 1.75rem; }
    .artist-call-practice__layout { grid-template-columns: 1fr; }
    .artist-call-practice__images { width: 88%; }
    .artist-call-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .artist-call-fit__layout { gap: 4rem; }
    .artist-call-submission__layout { gap: 5rem; }
}

@media (max-width: 767.98px) {
    .home-index__links { grid-template-columns: 1fr; gap: .65rem; }
    .home-index__links a { min-height: 5.75rem; }
    .home-artists .artist-showcase__track { grid-auto-columns: minmax(16rem, 78vw); }
    .home-program__grid { display: block; }
    .home-program-card--featured { display: block; }
    .home-program-card + .home-program-card { margin-top: 1rem; }
    .home-program-card--featured .home-program-card__image, .home-program-card--compact .home-program-card__image { height: min(23rem, 86vw); }
    .home-program-card__content { padding: 1.5rem; }
    .home-program-card__content h3, .home-program-card--featured .home-program-card__content h3 { font-size: clamp(1.85rem, 8.5vw, 2.7rem); }
    .home-audiences { grid-template-columns: 1fr; }
    .home-audience { min-height: min(39rem, 145vw); }
    .home-audience__content h2 { font-size: clamp(2.4rem, 11vw, 3.65rem); }
    .contact-map, .contact-map iframe { min-height: 38rem; }
    .contact-map__card { right: 1rem; bottom: 1rem; left: 1rem; width: auto; }
    .artist-call-hero { padding-top: calc(var(--header-height) + 2.5rem); }
    .artist-call-hero__copy .page-title { font-size: clamp(2.9rem, 13.5vw, 4.2rem); }
    .artist-call-hero__actions { align-items: flex-start; flex-direction: column; }
    .artist-call-hero__visual { min-height: min(35rem, 142vw); }
    .artist-call-hero__portrait { width: 73%; height: 84%; }
    .artist-call-hero__work { width: 40%; height: 45%; }
    .artist-call-hero__caption { top: 2%; width: 24%; font-size: .61rem; }
    .artist-call-manifest__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .artist-call-manifest h2 { font-size: clamp(2rem, 8vw, 2.75rem); }
    .artist-call-support__grid { grid-template-columns: 1fr; }
    .artist-call-support__grid article { grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1.15rem; padding: 1.5rem; }
    .artist-call-support__symbol { width: 2.75rem; height: 2.75rem; }


    .artist-call-practice__images { width: 100%; min-height: min(31rem, 126vw); }
    .artist-call-process__steps { grid-template-columns: 1fr; gap: 1rem; }
    .artist-call-process__steps li { padding: 1.5rem; }
    .artist-call-fit__layout, .artist-call-submission__layout { grid-template-columns: 1fr; }
    .artist-call-submission__copy { position: static; }
    .artist-call-closing { min-height: 42rem; }
    .artist-call-closing__content h2 { font-size: clamp(2.65rem, 12.5vw, 4rem); }
}

@media (max-width: 1199.98px) {
    .menu-toggle { position: fixed; top: 1.05rem; right: var(--container-pad); display: flex; align-items: center; justify-content: flex-end; }
    .site-nav { position: fixed; inset: 0; padding: calc(var(--header-height) + 2rem) var(--container-pad) 2rem; visibility: hidden; opacity: 0; background: var(--color-bg); transition: opacity var(--transition), visibility var(--transition); overflow-y: auto; }
    .menu-open .site-nav { visibility: visible; opacity: 1; }
    .site-nav__list { display: block; }
    .site-nav a { min-height: 0; padding: .35rem 0; font: 400 clamp(2.2rem, 7vw, 4.8rem)/1 var(--font-display); letter-spacing: -.035em; text-transform: none; }
    .site-nav__cta { margin-top: 2rem; }
}

@media (max-width: 991.98px) {
    .art-card { grid-column: span 6; }
    .art-card:nth-child(3n + 2) { padding-top: 0; }
    .art-card:nth-child(even) { padding-top: 2.5rem; }
    .artist-profile-portrait { max-width: 24rem; margin-top: 3rem; }
    .artwork-filters__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .artwork-filters__reset { grid-column: 1 / -1; justify-self: start; }
    .artwork-artist__layout { gap: clamp(2.5rem, 6vw, 5rem); }
    .artwork-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .collector-hero { min-height: 0; }
    .collector-hero__layout { grid-template-columns: 1fr; min-height: 0; }
    .collector-hero__copy .page-title { max-width: 9ch; }
    .collector-hero__composition { width: min(100%, 43rem); margin-left: auto; }
    .collector-path__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .collector-conversation__layout { grid-template-columns: 1fr; }
    .collector-conversation__image { width: 88%; }
    .exhibition-index-card { gap: clamp(2rem, 5vw, 4rem); }
    .exhibition-index-card__image { height: clamp(24rem, 48vw, 32rem); }
    .legal-layout { grid-template-columns: 1fr; gap: var(--space-5); }
    .legal-toc { position: static; }
    .legal-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
}

@media (max-width: 767.98px) {
    :root { --header-height: 4.45rem; }
    .site-logo { width: 7.25rem; }
    .page-title { font-size: clamp(2.8rem, 12.5vw, 4.35rem); overflow-wrap: anywhere; }
    .hero__title { max-width: 100%; font-size: clamp(2.85rem, 12.5vw, 3.7rem); }
    .hero__content { padding-bottom: 6.5rem; }
    .hero-slider__pagination { right: 50%; bottom: 1.3rem; transform: translateX(50%); }
    .hero-slider__bullet { grid-template-columns: 28px; min-width: 36px; padding: 0 .2rem; }
    .hero-slider__bullet span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .hero-slider__bullet i { width: 28px; }
    .artist-support__placeholder { min-height: 26rem; }
    .artist-showcase__track { grid-auto-columns: minmax(16rem, 78vw); }
    .artist-tile { min-height: 29rem; }
    .editorial-image { max-height: 68vh; }
    .artwork-frame { min-height: 21rem; }
    .cards-grid { display: block; }.art-card, .art-card:nth-child(even) { display: block; margin-bottom: 3.5rem; padding-top: 0; }
    .artists-index-hero .lead-copy { max-width: 32ch; }
    .artists-catalog { padding-top: 0; }
    .artist-portrait__arrow { top: 1rem; right: 1rem; opacity: 1; transform: none; }
    .artist-profile-hero__back { margin-bottom: 2rem; }
    .artist-profile-meta { grid-template-columns: 1fr; gap: 1.75rem; }
    .artist-profile-portrait { width: 88%; margin: 3rem 0 0 auto; }
    .artist-biography__layout, .artist-exhibitions__layout { grid-template-columns: 1fr; gap: 2rem; }
    .artist-exhibition { grid-template-columns: 1fr; }
    .artist-exhibition__image { height: min(23rem, 86vw); }
    .artist-works__heading { gap: 1rem; }
    .artist-works__heading > p { margin-top: 1.5rem; }
    .artist-works-grid { grid-template-columns: 1fr; gap: 4.5rem; }
    .artist-work figure { height: min(30rem, 112vw); }
    .artwork-filters__form { grid-template-columns: 1fr; gap: 1.15rem; }
    .artwork-filters__reset { grid-column: auto; }
    .artwork-detail-hero__back { margin-bottom: 2rem; }
    .artwork-artist__layout { grid-template-columns: 1fr; }
    .artwork-artist__portrait { width: 84%; }
    .artwork-artist__copy .section-title { font-size: clamp(2.8rem, 12vw, 4rem); }
    .artwork-related__heading { display: block; }
    .artwork-related__heading .text-link { margin-top: 1.5rem; }
    .artwork-related__grid { grid-template-columns: 1fr; gap: 4rem; }
    .artwork-lightbox__bar { min-height: 4.4rem; }
    .artwork-lightbox__bar p { max-width: 55%; }
    .artwork-lightbox__bar p span { display: block; margin: 0; }
    .artwork-lightbox__bar button span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .collector-hero { padding-top: calc(var(--header-height) + 2.5rem); }
    .collector-hero__copy .page-title { font-size: clamp(3.1rem, 15vw, 4.5rem); }
    .collector-hero__actions { align-items: flex-start; flex-direction: column; }
    .collector-hero__composition { min-height: min(35rem, 142vw); }
    .collector-hero__art--main { width: 72%; height: 84%; }
    .collector-hero__art--accent { width: 39%; height: 46%; }
    .collector-hero__note { top: 2%; width: 25%; font-size: .63rem; }
    .collector-manifest__title { font-size: clamp(1.8rem, 7vw, 2.35rem); }
    .collector-path__heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .collector-path__steps { grid-template-columns: 1fr; gap: .75rem; }
    .collector-path__steps li { min-height: 0; padding: 1.5rem; }
    .collector-path__steps h3 { font-size: 1.75rem; margin-bottom: .75rem; }
    .collector-conversation__image { width: 100%; padding: 0 1.5rem 2rem 0; }
    .collector-conversation__image::before { inset: 2rem 0 0 1.5rem; }
    .collector-first__layout { grid-template-columns: 1fr; grid-template-areas: 'heading' 'artwork' 'copy'; gap: 2rem; }
    .collector-first .section-title { font-size: clamp(2rem, 8.5vw, 2.75rem); }
    .collector-first__artwork { width: 92%; max-width: 25rem; margin-inline: auto; }
    .collector-questions__list summary { min-height: 4.75rem; }
    .collector-cta__title { font-size: clamp(2.8rem, 13vw, 4.3rem); }
    .collector-cta__links { flex-direction: column; }
    .exhibitions-hero__layout { grid-template-columns: 1fr; gap: 1.75rem; }
    .exhibitions-hero .page-title { font-size: clamp(3.2rem, 15vw, 4.6rem); }
    .exhibitions-upcoming__header { grid-template-columns: 1fr; gap: 1.5rem; }
    .exhibitions-upcoming__grid { grid-template-columns: 1fr; }
    .upcoming-exhibition-card { grid-template-columns: 5rem minmax(0, 1fr); }
    .upcoming-exhibition-card__image { height: min(30rem, 105vw); }
    .exhibitions-upcoming__empty { grid-template-columns: 1fr; }
    .exhibitions-archive__heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .exhibitions-toolbar__form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .exhibitions-toolbar__form .artwork-filters__reset { grid-column: 1 / -1; justify-self: start; }
    .exhibition-index-card { grid-template-columns: 1fr; gap: 2rem; }
    .exhibition-index-card:nth-child(even) .exhibition-index-card__image, .exhibition-index-card:nth-child(even) .exhibition-index-card__content { order: initial; }
    .exhibition-index-card__image { height: min(31rem, 112vw); }
    .exhibition-index-card__meta { margin-bottom: 2rem; }
    .exhibition-index-card h2 { font-size: clamp(2.5rem, 12vw, 3.75rem); }
    .exhibition-gallery-lightbox__bar { min-height: 4.4rem; }
    .exhibition-gallery-lightbox__bar button span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .exhibition-gallery-lightbox__stage { padding: 1rem 3rem; }
    .exhibition-gallery-lightbox__control--prev { left: .25rem; }
    .exhibition-gallery-lightbox__control--next { right: .25rem; }
    .metadata-list li { grid-template-columns: 1fr; gap: .3rem; }
    .map-embed, .map-embed iframe { min-height: 26rem; }
    .legal-toc ol { display: block; }
    .legal-section { padding-left: 0; }
    .legal-section__number { position: static; padding-top: 1rem; }
    .legal-section h2 { margin-top: .35rem; }
    .legal-table-wrap { margin-right: calc(var(--container-pad) * -1); padding-right: var(--container-pad); }
    .site-footer__bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
    .site-footer__bottom .grecaptcha { order: 2; margin: 0; text-align: left; }
    .site-footer__bottom > p:last-child { order: 3; text-align: left; }
    .scroll-top { width: 48px; height: 48px; }
}

@media (hover: none) {
    .exhibition-gallery__grid button::after, .artwork-zoom-button::after { opacity: .1; }
    .exhibition-gallery__zoom, .artwork-zoom-button svg { opacity: .82; transform: translate(-50%, -50%) scale(.9); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    [data-reveal] { opacity: 1; transform: none; }
    .page-loader { animation: none; transition: none; }
    .page-loader__spinner { animation: none; }
    .site-header__inner, .hero__content > *, .page-header > .container-fluid > * { opacity: 1; transform: none; }
    .artwork-detail-hero__back, .artwork-detail-hero__intro > *, .artwork-detail-hero__figure, .exhibition-detail-hero__back, .exhibition-detail-hero__copy > *, .exhibition-detail-hero__image { opacity: 1; transform: none; }
    .site-header__inner, .hero__content > *, .page-header > .container-fluid > *, .hero-slide__media img, .artwork-detail-hero__back, .artwork-detail-hero__intro > *, .artwork-detail-hero__figure, .exhibition-detail-hero__back, .exhibition-detail-hero__copy > *, .exhibition-detail-hero__image { animation: none; }
    .hero-slide, .hero-slide__media img { transition: none; transform: none; }
}

@media (max-width: 991.98px) {
    .artwork-detail-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .artwork-detail-hero__intro { max-width: 42rem; padding: 0; }
    .artwork-detail-hero__figure { max-width: 42rem; margin-inline: auto; }
    .artwork-detail-hero__stage { min-height: 0; }
    .artwork-detail-hero__stage > img { height: min(65svh, 40rem); }
    .artwork-detail-hero__intro .page-title { font-size: clamp(2.8rem, 6vw, 4.5rem); }
    .artwork-narrative__layout { gap: 2.5rem; }
}
@media (max-width: 767.98px) {
    .artwork-detail-hero { padding-top: calc(var(--header-height) + 1rem); }
    .artwork-detail-hero__back { margin-bottom: 1.25rem; }
    .artwork-detail-hero__stage { padding: 1.25rem; }
    .artwork-detail-hero__stage > img { height: min(56svh, 30rem); }
    .artwork-detail-hero__intro .page-title { font-size: clamp(2.6rem, 10.5vw, 3.7rem); }
    .artwork-detail-hero__actions { gap: .75rem 1.25rem; }
    .artwork-narrative__layout, .artwork-contact__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .artwork-narrative__copy { grid-row: 1; }
    .artwork-detail-crop > div { aspect-ratio: 5 / 4; }
    .artwork-related-card figure { height: min(30rem, 112vw); }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .collector-path__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Exhibition detail: compact layouts retain the same reading order. */
@media (max-width: 991.98px) {
    .exhibition-detail-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .exhibition-detail-hero__image img { height: clamp(25rem, 55vw, 36rem); }
    .exhibition-detail-facts { max-width: 32rem; }
    .exhibition-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(15rem, 28vw, 22rem); }
    .exhibition-gallery__grid figure:first-child { grid-column: 1 / -1; grid-row: auto; }
    .exhibition-artwork figure { height: 25rem; }
}
@media (max-width: 767.98px) {
    .exhibition-detail-hero { padding-top: calc(var(--header-height) + 1.5rem); }
    .exhibition-detail-hero__copy .page-title { font-size: clamp(3rem, 15vw, 4.6rem); }
    .exhibition-detail-hero__artists { margin-block: 1.25rem 2rem; }
    .exhibition-detail-hero__image img { height: min(28rem, 100vw); }
    .exhibition-concept__layout, .exhibition-artist__layout, .exhibition-detail-cta__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .exhibition-selected__heading, .exhibition-gallery__heading { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
    .exhibition-selected__grid { grid-template-columns: 1fr; gap: 3rem; }
    .exhibition-artwork figure { height: min(31rem, 116vw); }
    .exhibition-artist__portrait { width: 88%; }
    .exhibition-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
    .exhibition-gallery__grid figure, .exhibition-gallery__grid figure:first-child { grid-column: auto; grid-row: auto; aspect-ratio: 3 / 2; }
    .exhibition-gallery__grid figure:first-child { aspect-ratio: 4 / 3; }
}

@media (max-width: 991.98px) {
    .about-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .about-hero__copy .page-title { max-width: 20ch; }
    .about-hero__image img { height: clamp(25rem, 55vw, 35rem); }
    .about-intro__layout, .about-story__layout, .about-model__heading, .about-partners__heading { gap: 3rem; }
    .about-values__layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; }
}
@media (max-width: 767.98px) {
    .about-hero { padding-top: calc(var(--header-height) + 2.5rem); }
    .about-hero__copy .page-title { font-size: clamp(2.65rem, 11vw, 3.7rem); }
    .about-hero__image img { height: min(28rem, 103vw); }
    .about-intro__layout, .about-story__layout, .about-model__heading, .about-values__layout, .about-partners__heading, .about-closing__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .about-model__grid { grid-template-columns: 1fr; gap: 1rem; }
    .about-editorial__grid { grid-template-columns: 1fr; grid-template-rows: auto; gap: 1.5rem; }
    .about-editorial__main { grid-row: auto; height: min(27rem, 100vw); }
    .about-editorial__side { height: min(22rem, 73vw); }
    .about-values__visual { width: 88%; }
    .about-closing__image { height: min(27rem, 90vw); }
}

@media (max-width: 991.98px) {
    .contact-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .contact-direct__links { max-width: 34rem; }
    .contact-hero__image img { height: clamp(24rem, 50vw, 33rem); }
    .contact-paths__heading { gap: 3rem; }
    .contact-message__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .contact-message__intro .lead-copy { max-width: 45ch; }
}
@media (max-width: 767.98px) {
    .contact-hero { padding-top: calc(var(--header-height) + 2.5rem); }
    .contact-hero__copy .page-title { font-size: clamp(3rem, 13vw, 4.25rem); }
    .contact-hero__image img { height: min(28rem, 100vw); }
    .contact-paths__heading, .contact-paths__grid, .contact-form__row { grid-template-columns: 1fr; }
    .contact-paths__heading { gap: 1.75rem; }
    .contact-form__row { gap: 1.5rem; }
    .contact-form__footer { align-items: flex-start; flex-direction: column; }
    .contact-form__footer .button { justify-content: center; width: 100%; padding-inline: 1rem; }
    .contact-form__footer p { flex: 0 1 auto; }
}

/* Missing page: a typographic composition in the shared artwork frame. */
.not-found-page .row { --bs-gutter-x: min(3rem, calc(var(--container-pad) * 2)); }
.not-found { padding: calc(var(--header-height) + var(--space-5)) 0 var(--space-5); }
.not-found__layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.not-found__copy .page-title { max-width: 17ch; margin: 0; font-size: clamp(2.8rem, 4.6vw, 4.8rem); line-height: 1.08; text-wrap: balance; }
.not-found__copy em { font-weight: 400; }
.not-found__copy .body-copy { max-width: 43ch; margin: 1.75rem 0 2rem; color: var(--color-muted); }
.not-found__copy .button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.not-found__art { width: 100%; max-width: 34rem; aspect-ratio: 5 / 4; justify-self: end; }
.not-found__canvas { display: grid; place-items: center; width: 100%; height: 100%; background: var(--color-ink); color: #e3dbcd; }
.not-found__canvas span { font: italic 400 clamp(6rem, 14vw, 13.5rem)/1 var(--font-display); letter-spacing: -.07em; padding-right: .07em; }
.not-found__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: var(--space-5); }
.not-found__links a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 6rem; padding: 1.5rem 2rem; background: #e8e3da; text-decoration: none; transition: background var(--transition), color var(--transition); }
.not-found__links a:nth-child(2) { background: #eeebe4; }
.not-found__links a > span:first-child { font: 400 clamp(1.5rem, 2vw, 2rem)/1.2 var(--font-display); }
.not-found__links a:hover, .not-found__links a:focus-visible { color: var(--color-white); background: var(--color-ink); }
@media (max-width: 767.98px) {
    .not-found { padding-top: calc(var(--header-height) + 2.5rem); }
    .not-found__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .not-found__copy .page-title { font-size: clamp(2.6rem, 11vw, 3.6rem); }
    .not-found__art { max-width: 27rem; justify-self: center; }
    .not-found__canvas span { font-size: clamp(6rem, 33vw, 9rem); }
    .not-found__links { grid-template-columns: 1fr; gap: .75rem; margin-top: 2rem; }
    .not-found__links a { min-height: 4.75rem; padding: 1.25rem 1.5rem; }
}

/* Consistent catalog rhythm: three equal cards, without staggered offsets. */
.home-works__grid, .artists-grid, .artwork-catalog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem clamp(1rem, 2vw, 2rem);
    align-items: start;
}
.home-work, .artist-portrait, .catalog-card { min-width: 0; }
@media (max-width: 991.98px) {
    .home-works__grid, .artists-grid, .artwork-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .home-works__grid, .artists-grid, .artwork-catalog__grid { grid-template-columns: 1fr; gap: 2.25rem; }
}

/* Optional artist resources. */
.artist-socials { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.artist-socials a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; background: var(--color-bg-alt); transition: background 250ms ease, color 250ms ease; }
.artist-socials a:hover { background: var(--color-ink); color: var(--color-white); }
.artist-socials svg { width: 1.3rem; height: 1.3rem; }
.artist-featured-material, .artist-materials-more, .artist-expert-quotes { grid-column: 1 / -1; }
.artist-featured-material { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.5rem, 3vw, 3rem); background: var(--color-bg-alt); align-items: center; }
.artist-featured-material > img { width: 100%; height: auto; }
.artist-featured-material h3 { font: 400 clamp(1.8rem, 3vw, 3rem)/1.1 var(--font-display); }
.artist-featured-material .text-link { margin-top: 1.5rem; }
.artist-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.artist-resource-card { min-width: 0; padding: 1.5rem; background: var(--color-bg); }
.artist-resource-card h3 { font: 400 1.7rem/1.2 var(--font-display); }
.artist-publication-cover { width: 100%; height: 18rem; object-fit: contain; margin-bottom: 1.5rem; }
.artist-materials-more summary { cursor: pointer; padding: 1rem 0; display: flex; justify-content: space-between; list-style: none; }
.artist-materials-more summary::-webkit-details-marker { display: none; }
.artist-materials-more summary span { transition: transform 250ms ease; }
.artist-materials-more[open] summary span { transform: rotate(45deg); }
.artist-expert-quotes { max-width: 60rem; }
.artist-expert-quotes .text-link { display: inline-flex; margin-top: 1rem; }
@media (max-width: 767.98px) {
    .artist-featured-material, .artist-resource-grid { grid-template-columns: 1fr; }
}

.artist-demo-label { margin: 1rem 0 .6rem; color: var(--color-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.artist-demo-label + .artist-socials { margin-top: .5rem; }
.artist-featured-material__visual { position: relative; }
.artist-featured-material__visual img { display: block; width: 100%; height: auto; }
.artist-featured-material__play { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--color-bg); color: var(--color-ink); font-size: 2rem; transform: translate(-50%, -50%); }
.artist-featured-material:not(:has(> .artist-featured-material__visual)) { grid-template-columns: 1fr; }
.artist-featured-material:has(> .artist-featured-material__visual) { grid-template-columns: 1fr 1fr; }
.artist-demo-description { max-width: 55ch; }
.artist-demo-film { max-width: 65rem; }
.artist-demo-film img { width: 100%; height: auto; }
.artist-demo-film figcaption { margin-top: 1rem; font-size: .8rem; color: var(--color-muted); }
.artist-demo-cover { width: min(100%, 26rem); height: auto; }
@media (max-width: 767.98px) {
    .artist-featured-material:has(> .artist-featured-material__visual) { grid-template-columns: 1fr; }
}

.artist-featured-material__visual { display: block; overflow: hidden; }
.artist-featured-material__visual img { transition: transform 650ms cubic-bezier(.22,1,.36,1), filter 450ms ease; }
.artist-featured-material__play { transition: transform 350ms ease, background 350ms ease, color 350ms ease; }
.artist-featured-material__visual:is(:hover, :focus-visible) img { transform: scale(1.035); filter: brightness(.85); }
.artist-featured-material__visual:is(:hover, :focus-visible) .artist-featured-material__play { transform: translate(-50%, -50%) scale(1.12); background: var(--color-ink); color: var(--color-white); }
.artist-featured-material__cta span { transition: transform 300ms ease; }
.artist-featured-material__cta:is(:hover, :focus-visible) span { transform: translateX(.35rem); }
.artist-video-dialog { width: min(68rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: clamp(1rem, 2vw, 2rem); border: 0; background: #111; color: #fff; overflow-y: auto; }
.artist-video-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(6px); }
.artist-video-dialog__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.artist-video-dialog__bar h2 { margin: 0; font-size: 1rem; line-height: 1.4; }
.artist-video-dialog__bar button { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; border: 0; background: none; color: inherit; font-size: .8rem; }
.artist-video-dialog__bar button span { font-size: 1.7rem; }
.artist-video-dialog__player { aspect-ratio: 16 / 9; min-height: 200px; background: #000; }
.artist-video-dialog__player iframe { display: block; width: 100%; height: 100%; min-height: 200px; border: 0; }
.artist-video-dialog__note { margin: 1rem 0; color: #bbb; font-size: .8rem; }
.artist-video-dialog > .text-link { margin-top: 1rem; color: #fff; }
@media (prefers-reduced-motion: reduce) {
    .artist-featured-material__visual img, .artist-featured-material__play, .artist-featured-material__cta span { transition: none; }
    .artist-featured-material__visual:is(:hover, :focus-visible) img { transform: none; }
}

/* Shared invitation to the artist and collector manifest. */
.manifest-invitation__card { display: grid; grid-template-columns: 1.35fr 1fr; color: var(--color-ink); background: #e7e2d8; text-decoration: none; }
.manifest-invitation__quote { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(2rem, 4.5vw, 5rem); }
.manifest-invitation__quote blockquote { margin: 1.5rem 0 2.5rem; }
.manifest-invitation__quote blockquote p { max-width: 22ch; margin: 0; font: 400 clamp(2rem, 3.4vw, 3.6rem)/1.12 var(--font-display); letter-spacing: -.035em; }
.manifest-invitation__signature { margin: auto 0 0; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.manifest-invitation__content { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(2rem, 3.5vw, 4rem); color: #fff; background: #191919; transition: background 350ms ease; }
.manifest-invitation__arrow { align-self: flex-end; margin-bottom: 1.5rem; font-size: 2.2rem; line-height: 1; transition: transform 350ms cubic-bezier(.22,1,.36,1); }
.manifest-invitation__content h2 { margin: 0 0 1rem; font: 400 clamp(1.8rem, 2.6vw, 2.8rem)/1.12 var(--font-display); }
.manifest-invitation__content > p { max-width: 36ch; margin-bottom: 2rem; color: rgba(255,255,255,.72); line-height: 1.7; }
.manifest-invitation__link { display: inline-flex; align-items: center; gap: 1rem; margin-top: auto; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.manifest-invitation__link span { transition: transform 350ms ease; }
.manifest-invitation__card:is(:hover, :focus-visible) { color: var(--color-ink); }
.manifest-invitation__card:is(:hover, :focus-visible) .manifest-invitation__content { background: #292923; }
.manifest-invitation__card:is(:hover, :focus-visible) .manifest-invitation__arrow { transform: translate(.25rem, -.25rem); }
.manifest-invitation__card:is(:hover, :focus-visible) .manifest-invitation__link span { transform: translateX(.35rem); }
.manifest-invitation__card:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 5px; }
@media (max-width: 767.98px) {
    .manifest-invitation__card { grid-template-columns: 1fr; }
    .manifest-invitation__arrow { margin-bottom: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
    .manifest-invitation__content, .manifest-invitation__arrow, .manifest-invitation__link span { transition: none; }
    .manifest-invitation__card:is(:hover, :focus-visible) .manifest-invitation__arrow,
    .manifest-invitation__card:is(:hover, :focus-visible) .manifest-invitation__link span { transform: none; }
}
