/*!
 * „Nocna wystawa” — front page of beardedwolf.pl (theme 2.1).
 *
 * Base styles = a quiet gallery that works everywhere: without JavaScript, in the
 * accessible version, with reduced motion or high contrast, without WebGL.
 * .bw-exh.is-3d (added by exhibition.js) = the 3D walk-through.
 */

.bw-exh {
    --void: #0A0A0B;
    --bone: #ECE8E1;
    --mist: #A19C93;
    --print: #F1EFEA;
    --serif: "Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;
    --exh-ease: cubic-bezier(.2, .7, .2, 1);
    position: relative;
    background: var(--void);
    color: var(--bone);
}
.site-main--exhibition { background: var(--void); }

/* 1. Gallery (base) ----------------------------------------------------------- */
.bw-exh__stage,
.bw-exh__cursor,
.bw-exh__index,
.bw-exh__foot,
.bw-exh__rotate,
.bw-exh__gate,
.bw-exh__cue { display: none; }

.bw-exh__room {
    display: grid;
    gap: clamp(2rem, 1rem + 4vw, 5rem);
    align-items: center;
    max-width: var(--max, 100rem);
    margin-inline: auto;
    padding: clamp(4rem, 2.5rem + 6vw, 9rem) var(--gutter, 1rem);
    border-top: 1px solid rgb(236 232 225 / .12);
}
.bw-exh__room--hero { border-top: 0; padding-top: calc(var(--header-h, 4rem) + clamp(3rem, 2rem + 6vw, 8rem)); }
@media (min-width: 900px) {
    .bw-exh__room:has(.bw-exh__figure) { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
    .bw-exh__room[data-side="right"]:has(.bw-exh__figure) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
    .bw-exh__room[data-side="right"] .bw-exh__figure { order: -1; }
}

.bw-exh__inner { max-width: 34rem; }
.bw-exh__room--hero .bw-exh__inner { max-width: 46rem; }
.bw-exh__kicker,
.bw-exh__num {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1.6rem;
    color: var(--mist);
    font-size: .75rem;
    font-weight: 500;
    font-stretch: 125%;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.bw-exh__kicker { font-family: var(--serif); font-size: 1rem; font-style: italic; letter-spacing: 0; text-transform: none; color: var(--bone); }
.bw-exh__kicker::after,
.bw-exh__num::after { content: ""; width: 2.5rem; height: 1px; background: currentColor; opacity: .7; }
.bw-exh__roman { font-family: var(--serif); font-size: 1rem; font-style: italic; letter-spacing: 0; color: var(--bone); }

.bw-exh__mega {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(3.75rem, 1.5rem + 8vw, 9.5rem);
    font-style: italic;
    font-weight: 400;
    line-height: .96;
    letter-spacing: -.01em;
}
.bw-exh__mega span,
.bw-exh__mega em { display: block; }
.bw-exh__mega em { font-style: normal; }
.bw-exh__h1 {
    max-width: 30rem;
    margin: 1.75rem 0 0;
    color: #CFCAC2;
    font-size: clamp(1rem, .9rem + .4vw, 1.2rem);
    font-weight: 300;
    line-height: 1.7;
    text-wrap: pretty;
}
.bw-exh__title {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(2.75rem, 1.6rem + 3.6vw, 5.25rem);
    font-style: italic;
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.01em;
    text-wrap: balance;
}
.bw-exh__lead { max-width: 24rem; margin: 1.6rem 0 0; color: #CFCAC2; font-size: clamp(1rem, .95rem + .2vw, 1.125rem); font-weight: 300; line-height: 1.7; }
.bw-exh__actions { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin: 1.9rem 0 0; }
.bw-exh__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0;
    border: 0;
    background: linear-gradient(currentColor, currentColor) 0 calc(100% - .55rem) / 100% 1px no-repeat;
    color: var(--bone);
    font: inherit;
    font-size: .75rem;
    font-weight: 500;
    font-stretch: 125%;
    letter-spacing: .22em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-size .5s var(--exh-ease);
}
.bw-exh__link:hover { background-size: 0 1px; background-position: 100% calc(100% - .55rem); color: var(--bone); }
.bw-exh__link--quiet { color: var(--mist); }
.bw-exh :focus-visible { outline: 2px solid var(--bone); outline-offset: 5px; }

.bw-exh__figure { margin: 0; }
.bw-exh__print { padding: clamp(.9rem, .4rem + 2.4vw, 2.6rem); background: var(--print); box-shadow: 0 30px 80px rgb(0 0 0 / .55); }
.bw-exh__img { width: 100%; height: auto; }
.bw-exh__edition { display: flex; justify-content: space-between; gap: 1rem; margin-top: .9rem; color: var(--mist); font-family: var(--serif); font-size: .95rem; font-style: italic; }

.bw-exh__room--end { text-align: center; justify-items: center; }
.bw-exh__room--end .bw-exh__inner { max-width: 56rem; }
.bw-exh__contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem 3.5rem; margin: 2.25rem 0 0; }
.bw-exh__contact dt { margin-bottom: .5rem; color: var(--mist); font-size: .75rem; font-weight: 500; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; }
.bw-exh__contact dd { margin: 0; font-family: var(--serif); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); }
.bw-exh__contact a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.bw-exh__room--end .bw-exh__actions { justify-content: center; }

/* 2. Walk-through (3D) ----------------------------------------------------------- */
.bw-exh.is-3d .bw-exh__stage { display: block; position: fixed; inset: 0; z-index: 0; }
.bw-exh.is-3d .bw-exh__scene,
.bw-exh.is-3d .bw-exh__grain { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.bw-exh.is-3d .bw-exh__veil { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 80% 75% at 50% 45%, rgb(0 0 0 / 0) 60%, rgb(0 0 0 / .6) 100%); }
.bw-exh.is-3d .bw-exh__grain { opacity: .05; mix-blend-mode: screen; pointer-events: none; }

.bw-exh.is-3d .bw-exh__room {
    position: relative;
    z-index: 1;
    display: block;
    max-width: none;
    height: 150vh;
    padding: 0;
    border: 0;
}
.bw-exh.is-3d .bw-exh__room--end { height: 140vh; }
.bw-exh.is-3d .bw-exh__panel {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    height: 100vh;
    height: 100svh;
    padding: 7rem max(1rem, 8vw);
    box-sizing: border-box;
    pointer-events: none;
}
.bw-exh.is-3d .bw-exh__room[data-side="right"] .bw-exh__panel { justify-content: flex-end; }
.bw-exh.is-3d .bw-exh__room--end .bw-exh__panel { align-items: flex-end; justify-content: center; padding-bottom: 4.5rem; }
.bw-exh.is-3d .bw-exh__inner { max-width: 27rem; pointer-events: auto; will-change: opacity, transform; }
.bw-exh.is-3d .bw-exh__room--hero .bw-exh__inner { max-width: 40rem; }
.bw-exh.is-3d .bw-exh__room--end .bw-exh__inner { max-width: 56rem; text-shadow: 0 1px 18px rgb(0 0 0 / .9); }
.bw-exh.is-3d .bw-exh__inner.is-away { pointer-events: none; }
.bw-exh.is-3d .bw-exh__figure,
.bw-exh.is-3d .bw-exh__end-title {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.bw-exh.is-3d .bw-exh__cue { display: flex; align-items: center; gap: 1rem; margin: 2.75rem 0 0; color: var(--mist); font-size: .75rem; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; }
.bw-exh__cue i { position: relative; width: 3.5rem; height: 1px; overflow: hidden; background: var(--mist); }
.bw-exh__cue i::after { content: ""; position: absolute; inset: 0; background: var(--bone); transform: translateX(-100%); animation: bw-exh-cue 2.4s var(--exh-ease) infinite; }
@keyframes bw-exh-cue { 60%, 100% { transform: translateX(100%); } }

.bw-exh.is-3d .bw-exh__index {
    display: block;
    position: fixed;
    right: max(2.75rem, env(safe-area-inset-right, 0px));
    top: 50%;
    z-index: 20;
    transform: translateY(-50%);
    transition: opacity .5s var(--exh-ease), visibility .5s;
}
.bw-exh__index ol { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; text-align: right; }
.bw-exh__index a { display: flex; align-items: center; justify-content: flex-end; gap: .9rem; min-height: 2.15rem; color: var(--mist); text-decoration: none; transition: color .4s; }
.bw-exh__index-n { width: 1.75rem; font-family: var(--serif); font-size: .9rem; font-style: italic; text-align: center; }
.bw-exh__index-t { font-size: .625rem; font-stretch: 125%; letter-spacing: .2em; text-transform: uppercase; opacity: 0; transform: translateX(8px); transition: opacity .4s, transform .4s var(--exh-ease); }
.bw-exh__index a:hover .bw-exh__index-t,
.bw-exh__index a:focus-visible .bw-exh__index-t,
.bw-exh__index a[aria-current] .bw-exh__index-t { opacity: 1; transform: none; }
.bw-exh__index a[aria-current] { color: var(--bone); }
.bw-exh__index a::after { content: ""; width: 1.1rem; height: 1px; background: currentColor; transition: width .5s var(--exh-ease); }
.bw-exh__index a[aria-current]::after { width: 2.4rem; }

.bw-exh.is-3d .bw-exh__foot {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem max(1rem, 2.75rem, env(safe-area-inset-right, 0px)) calc(1.1rem + env(safe-area-inset-bottom, 0px)) max(1rem, 2.75rem, env(safe-area-inset-left, 0px));
    pointer-events: none;
    transition: opacity .5s var(--exh-ease), visibility .5s;
}
.bw-exh__foot > * { pointer-events: auto; }
.bw-exh__count { font-family: var(--serif); font-size: .95rem; font-style: italic; }
.bw-exh__count span { color: var(--mist); }
.bw-exh__sound { display: inline-flex; align-items: center; gap: .75rem; min-height: 2.75rem; padding: 0; border: 0; background: none; color: var(--mist); font-size: .6875rem; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; cursor: pointer; }
.bw-exh__sound[aria-pressed="true"] { color: var(--bone); }
.bw-exh__wave { width: 1.6rem; height: .65rem; overflow: hidden; }
.bw-exh__wave path { fill: none; stroke: currentColor; stroke-width: 1; }
.bw-exh__sound[aria-pressed="true"] .bw-exh__wave path { animation: bw-exh-wave 2.2s linear infinite; }
@keyframes bw-exh-wave { to { transform: translateX(-13px); } }

.bw-exh.is-past .bw-exh__index,
.bw-exh.is-past .bw-exh__foot { opacity: 0; visibility: hidden; }
.bw-exh.is-past .bw-exh__stage { visibility: hidden; }

.bw-exh__cursor { position: fixed; left: 0; top: 0; z-index: 30; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; margin: -.8rem 0 0 -.8rem; border: 1px solid rgb(236 232 225 / .7); border-radius: 50%; opacity: 0; pointer-events: none; transition: width .5s var(--exh-ease), height .5s var(--exh-ease), margin .5s var(--exh-ease), background .5s, border-color .5s, opacity .4s; }
.bw-exh__cursor span { color: var(--void); font-size: .5625rem; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; opacity: 0; transition: opacity .3s; }
.bw-exh__cursor.is-on { width: 5.75rem; height: 5.75rem; margin: -2.875rem 0 0 -2.875rem; border-color: var(--bone); background: var(--bone); }
.bw-exh__cursor.is-on span { opacity: 1; }
@media (pointer: fine) {
    .bw-exh.is-3d.is-entered.has-mouse .bw-exh__cursor { display: grid; opacity: 1; }
    .bw-exh.is-3d.is-past .bw-exh__cursor { opacity: 0; }
}

/* Gate */
.bw-exh.is-3d .bw-exh__gate:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem max(1rem, env(safe-area-inset-right, 0px)) 1.5rem max(1rem, env(safe-area-inset-left, 0px));
    background: #050506;
    text-align: center;
    transition: opacity 1.4s var(--exh-ease);
}
.bw-exh__gate.is-open { opacity: 0; pointer-events: none; }
.bw-exh__gate-inner { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; max-width: 38rem; }
.bw-exh__gate-brand { margin: 0; color: var(--mist); font-size: .6875rem; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; }
.bw-exh__gate-title { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 1.5rem + 6vw, 6rem); font-style: italic; font-weight: 400; line-height: 1; }
.bw-exh__gate-desc { max-width: 25rem; margin: 0; color: var(--mist); line-height: 1.7; }
.bw-exh__bar { position: relative; width: min(20rem, 70vw); height: 1px; overflow: hidden; background: rgb(236 232 225 / .15); }
.bw-exh__bar i { position: absolute; inset: 0; background: #F4E7D3; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--exh-ease); }
.bw-exh__load { margin: 0; color: var(--mist); font-size: .6875rem; font-stretch: 125%; letter-spacing: .22em; text-transform: uppercase; }
.bw-exh__gate-rotate { display: none; align-items: center; gap: .6rem; margin: 0; color: var(--mist); font-size: .875rem; }
.bw-exh__gate-rotate svg { width: 1.4rem; height: 1.4rem; animation: bw-exh-turn 2.8s var(--exh-ease) infinite; }
@media (orientation: portrait) and (pointer: coarse) { .bw-exh__gate-rotate { display: flex; } }
.bw-exh__choices { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2.25rem; opacity: 0; transition: opacity .8s var(--exh-ease); }
.bw-exh__gate.is-ready .bw-exh__choices { opacity: 1; }
.bw-exh__gate-a11y { margin: .5rem 0 0; font-size: .875rem; }
.bw-exh__gate-a11y a { color: var(--mist); text-underline-offset: .25em; }
.bw-exh__gate-a11y a:hover { color: var(--bone); }

/* "Rotate your phone" */
.bw-exh.is-3d .bw-exh__rotate:not([hidden]) {
    position: fixed;
    left: 50%;
    top: calc(var(--header-h, 3.75rem) + 1rem + env(safe-area-inset-top, 0px));
    z-index: 40;
    display: flex;
    align-items: center;
    gap: .75rem;
    width: max-content;
    max-width: calc(100vw - 2rem);
    padding: .4rem .4rem .4rem 1rem;
    border: 1px solid rgb(236 232 225 / .14);
    background: rgb(20 20 22 / .9);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transform: translate(-50%, -.75rem);
    opacity: 0;
    transition: opacity .6s var(--exh-ease), transform .6s var(--exh-ease);
}
.bw-exh__rotate.is-shown { opacity: 1 !important; transform: translate(-50%, 0) !important; }
.bw-exh__rotate svg { flex: none; width: 1.75rem; height: 1.75rem; animation: bw-exh-turn 2.8s var(--exh-ease) infinite; }
.bw-exh__rotate p { margin: 0; font-size: .875rem; }
.bw-exh__rotate button { width: 2.75rem; height: 2.75rem; border: 0; background: none; color: var(--mist); font-size: 1.25rem; cursor: pointer; }
@keyframes bw-exh-turn { 0%, 20% { transform: rotate(0); } 45%, 75% { transform: rotate(-90deg); } 100% { transform: rotate(0); } }

/* Phone held upright: photo in the upper half, text in the lower half. */
@media (max-width: 899px) {
    .bw-exh.is-3d .bw-exh__index { display: none; }
}
@media (max-width: 899px) and (orientation: portrait) {
    .bw-exh.is-3d .bw-exh__panel { align-items: flex-end; padding: 5.5rem 1rem 5rem; }
    .bw-exh.is-3d .bw-exh__room[data-side="right"] .bw-exh__panel { justify-content: flex-start; }
    .bw-exh.is-3d .bw-exh__inner { padding-top: 3.5rem; background: linear-gradient(0deg, rgb(5 5 6 / .92) 45%, rgb(5 5 6 / 0)); }
    .bw-exh.is-3d .bw-exh__title { font-size: clamp(2.4rem, 10.5vw, 3.4rem); }
    .bw-exh.is-3d .bw-exh__lead { margin-top: 1rem; font-size: .95rem; line-height: 1.6; }
    .bw-exh.is-3d .bw-exh__num { margin-bottom: 1rem; }
    .bw-exh.is-3d .bw-exh__actions { margin-top: 1.1rem; }
    .bw-exh.is-3d .bw-exh__mega { font-size: clamp(3.6rem, 17vw, 5.75rem); }
    .bw-exh.is-3d .bw-exh__h1 { margin-top: 1.1rem; font-size: .95rem; }
    .bw-exh.is-3d .bw-exh__cue { margin-top: 1.5rem; }
    .bw-exh.is-3d .bw-exh__contact { flex-direction: column; gap: 1rem; }
    .bw-exh.is-3d .bw-exh__room--end .bw-exh__panel { padding-bottom: 5rem; }
    .bw-exh.is-3d .bw-exh__foot { padding-inline: 1rem; }
}
/* Phone held sideways: the gallery gets the screen, captions stay compact. */
@media (max-height: 520px) and (orientation: landscape) {
    .bw-exh.is-3d .bw-exh__index { display: none; }
    .bw-exh.is-3d .bw-exh__panel { padding: 3.75rem 1.5rem 3rem; }
    .bw-exh.is-3d .bw-exh__inner { max-width: 19rem; }
    .bw-exh.is-3d .bw-exh__title { font-size: clamp(1.75rem, 4.6vw, 2.5rem); }
    .bw-exh.is-3d .bw-exh__lead { margin-top: .75rem; font-size: .8125rem; line-height: 1.55; }
    .bw-exh.is-3d .bw-exh__num { margin-bottom: .75rem; }
    .bw-exh.is-3d .bw-exh__actions { margin-top: .5rem; }
    .bw-exh.is-3d .bw-exh__room--hero .bw-exh__inner { max-width: 26rem; }
    .bw-exh.is-3d .bw-exh__mega { font-size: clamp(2.75rem, 8vw, 4rem); }
    .bw-exh.is-3d .bw-exh__h1 { display: none; }
    .bw-exh.is-3d .bw-exh__cue { margin-top: 1rem; }
    .bw-exh.is-3d .bw-exh__room--end .bw-exh__panel { padding-bottom: 2.75rem; }
    .bw-exh.is-3d .bw-exh__contact { gap: .35rem 2rem; margin-top: 1rem; }
    .bw-exh.is-3d .bw-exh__contact dd { font-size: 1.1rem; }
    .bw-exh.is-3d .bw-exh__foot { padding-top: .35rem; padding-bottom: calc(.5rem + env(safe-area-inset-bottom, 0px)); }
}

/* 3. Preferences ---------------------------------------------------------------- */
.bw-a11y .bw-exh { --mist: #D9D4CC; }
.bw-a11y .bw-exh :is(.bw-exh__num, .bw-exh__link, .bw-exh__contact dt) { letter-spacing: .02em; text-transform: none; font-size: .9375rem; }
.bw-a11y .bw-exh__link { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; background: none; }
.bw-a11y .bw-exh__lead,
.bw-a11y .bw-exh__h1 { color: var(--bone); font-weight: 400; }
.bw-a11y .bw-exh :focus-visible { outline-width: 4px; }
@media (prefers-reduced-motion: reduce) {
    .bw-exh *, .bw-exh *::before, .bw-exh *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
    .bw-exh__print { border: 1px solid CanvasText; box-shadow: none; }
    .bw-exh__link { text-decoration: underline; background: none; }
}

/* 4. Pod wystawą: najnowsze wpisy i realizacje, powieszone jak odbitki ---------------- */
.bw-exh-latest {
    --void: #0A0A0B;
    --bone: #ECE8E1;
    --mist: #A19C93;
    --print: #F1EFEA;
    --serif: "Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;
    --exh-ease: cubic-bezier(.2, .7, .2, 1);
    --fg: var(--bone);
    --fg-muted: var(--mist);
    --line: rgb(236 232 225 / .14);
    --focus: var(--bone);
    position: relative;
    z-index: 2;
    overflow: hidden;
    background: var(--void);
    color: var(--bone);
}
/* A warm beam from above, like the reflectors of the exhibition. */
.bw-exh-latest::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 38rem;
    background: radial-gradient(ellipse 42% 75% at 50% 0%, rgb(255 234 208 / .085), rgb(255 234 208 / .03) 45%, rgb(255 234 208 / 0) 100%);
    -webkit-mask-image: linear-gradient(rgb(0 0 0 / 0), #000 35%);
    mask-image: linear-gradient(rgb(0 0 0 / 0), #000 35%);
    pointer-events: none;
}
.bw-exh-latest__inner { position: relative; max-width: var(--max, 100rem); margin-inline: auto; padding: clamp(5rem, 3rem + 7vw, 10rem) var(--gutter, 1rem) clamp(4rem, 2.5rem + 5vw, 8rem); }
.bw-exh-latest__head { max-width: 46rem; margin-bottom: clamp(3rem, 2rem + 4vw, 6rem); }
.bw-exh-latest__kicker {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1.4rem;
    color: var(--mist);
    font-size: .75rem;
    font-weight: 500;
    font-stretch: 125%;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.bw-exh-latest__kicker::after { content: ""; width: 2.5rem; height: 1px; background: currentColor; opacity: .7; }
.bw-exh-latest__title { margin: 0; font-family: var(--serif); font-size: clamp(2.75rem, 1.6rem + 3.6vw, 5.25rem); font-style: italic; font-weight: 400; line-height: .98; letter-spacing: -.01em; }

.bw-exh-latest__group + .bw-exh-latest__group { margin-top: clamp(4rem, 3rem + 4vw, 7rem); }
.bw-exh-latest__group-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: 2.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.bw-exh-latest__label { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-style: italic; font-weight: 400; }
.bw-exh-latest__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: clamp(2.5rem, 2rem + 2vw, 4rem) clamp(1.5rem, 1rem + 2vw, 3rem); margin: 0; padding: 0; list-style: none; }

/* Prints: passe-partout, shadow on the wall, gentle 3D tilt toward the cursor. */
.bw-exh-latest__item { --rx: 0deg; --ry: 0deg; --gx: 50%; --gy: 30%; perspective: 1100px; }
.bw-exh-latest .bw-card { gap: 1.35rem; }
.bw-exh-latest .bw-card__media {
    padding: clamp(.7rem, .5rem + .8vw, 1.15rem);
    background: var(--print);
    box-shadow: 0 26px 60px rgb(0 0 0 / .55), 0 2px 6px rgb(0 0 0 / .4);
    transform: rotateX(var(--rx)) rotateY(var(--ry));
    transform-style: preserve-3d;
    transition: transform .6s var(--exh-ease), box-shadow .6s var(--exh-ease);
}
.bw-exh-latest .bw-card__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: radial-gradient(circle at var(--gx) var(--gy), rgb(255 246 232 / .22), rgb(255 246 232 / 0) 55%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s var(--exh-ease);
}
.bw-exh-latest .bw-card__img { position: relative; height: 100%; transition: transform 1.1s var(--exh-ease), filter .6s var(--exh-ease); filter: grayscale(.15) brightness(.92); }
.bw-exh-latest .bw-card:hover .bw-card__img,
.bw-exh-latest .bw-card:focus-within .bw-card__img { transform: scale(1.03); filter: none; }
.bw-exh-latest .bw-card:hover .bw-card__media,
.bw-exh-latest .bw-card:focus-within .bw-card__media { box-shadow: 0 40px 90px rgb(0 0 0 / .65), 0 2px 6px rgb(0 0 0 / .4); }
.bw-exh-latest .bw-card:hover .bw-card__media::before { opacity: 1; }
.bw-exh-latest .bw-crop-marks::after { display: none; }
.bw-exh-latest .bw-placeholder { display: block; width: 100%; height: 100%; background: #1d1c1a; }
.bw-exh-latest .bw-card--text { padding-top: 1.5rem; }
.bw-exh-latest .bw-card--text .bw-card__excerpt { font-family: var(--serif); font-size: 1.15rem; font-style: italic; color: var(--bone); }
.bw-exh-latest .bw-card__meta { color: var(--mist); font-size: .6875rem; font-weight: 500; font-stretch: 125%; letter-spacing: .2em; text-transform: uppercase; }
.bw-exh-latest .bw-card__meta .bw-label__num { color: var(--bone); font-family: var(--serif); font-size: .9rem; font-style: italic; letter-spacing: 0; text-transform: none; }
.bw-exh-latest .bw-card__title { font-family: var(--serif); font-size: clamp(1.4rem, 1.15rem + .8vw, 1.85rem); font-style: italic; font-weight: 400; font-stretch: 100%; line-height: 1.12; }
.bw-exh-latest .bw-card__link { color: var(--bone); background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; }
.bw-exh-latest .bw-card:hover .bw-card__link { background-size: 100% 1px; }
.bw-exh-latest .bw-card__sub,
.bw-exh-latest .bw-card__excerpt { color: #CFCAC2; font-weight: 300; line-height: 1.65; }
.bw-exh-latest .bw-card:has(.bw-card__link:focus-visible) { outline: 2px solid var(--bone); outline-offset: 8px; }

.bw-a11y .bw-exh-latest { --mist: #D9D4CC; }
.bw-a11y .bw-exh-latest .bw-card__meta,
.bw-a11y .bw-exh-latest__kicker { letter-spacing: .02em; text-transform: none; font-size: .9375rem; }
.bw-a11y .bw-exh-latest .bw-card__link { text-decoration: underline; text-decoration-thickness: 2px; }
.bw-a11y .bw-exh-latest .bw-card__img { filter: none; }
@media (prefers-reduced-motion: reduce) {
    .bw-exh-latest .bw-card__media { transform: none !important; }
}
@media (forced-colors: active) {
    .bw-exh-latest .bw-card__media { border: 1px solid CanvasText; box-shadow: none; }
}
