@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap");
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}


:root {
  --paper: #f8f4eb;
  --paper-deep: #eee7da;
  --ink: #1b1a17;
  --muted: #6d675e;
  --line: #d8cfc0;
  --red: #b82b24;
  --red-dark: #8f1e1b;
  --blue: #203561;
  --yellow: #e7d239;
  --white: #fffdf8;
  --display: "DM Serif Display", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }
h1, h2, h3 { margin: 0; font-family: var(--display); font-weight: 400; text-wrap: balance; }
p { text-wrap: pretty; }

.site-header { min-height: 88px; padding: 0 4vw; display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: clamp(24px, 3vw, 52px); border-bottom: 1px solid var(--line); background: rgb(248 244 235 / 94%); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); }
.wordmark { width: fit-content; font-family: var(--display); font-size: clamp(24px, 2.25vw, 36px); line-height: 1; letter-spacing: -.01em; }
.wordmark span { color: var(--red); font-style: italic; }
nav { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 44px); }
nav a { padding: 12px 0; position: relative; font-size: 12px; font-weight: 600; }
nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--red); transition: right .25s ease; }
.header-tools { display: flex; align-items: center; gap: 18px; }
.language-switch { display: flex; align-items: center; gap: 7px; font-size: 11px; letter-spacing: .1em; }
.language-switch button { padding: 8px 2px; border: 0; background: transparent; color: #928a7e; cursor: pointer; }
.language-switch button.active { color: var(--ink); font-weight: 700; }
.menu-toggle { display: none; align-items: center; gap: 10px; padding: 8px 0; border: 0; background: transparent; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.menu-toggle i { width: 18px; height: 10px; display: block; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }

.hero { min-height: calc(100vh - 88px); display: grid; grid-template-columns: minmax(430px, 42%) minmax(0, 58%); border-bottom: 1px solid var(--line); }
.hero-copy { padding: clamp(70px, 8vw, 126px) clamp(48px, 6vw, 100px) 52px 4vw; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { display: flex; align-items: center; gap: 16px; margin: 0 0 24px; color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .19em; line-height: 1.55; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 38px; height: 2px; flex: 0 0 auto; background: currentColor; }
h1 { max-width: 700px; font-size: clamp(59px, 5.45vw, 86px); line-height: 1.01; letter-spacing: -.028em; }
.lede { max-width: 620px; margin: 30px 0 0; color: #504c46; font-size: clamp(16px, 1.18vw, 19px); line-height: 1.72; }
.hero-actions { margin-top: 35px; display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.button { min-height: 55px; padding: 0 26px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; border: 1px solid var(--ink); font: inherit; font-size: 12px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button-dark { background: var(--ink); color: var(--white); }
.button-light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button-accent { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
.text-link { padding: 12px 0 9px; display: inline-flex; gap: 22px; border-bottom: 2px solid var(--ink); font-size: 12px; font-weight: 700; }
.text-link span { transition: transform .2s ease; }
.hero-trust { margin-top: clamp(42px, 6vh, 76px); padding-top: 22px; display: flex; gap: 12px 24px; flex-wrap: wrap; border-top: 1px solid var(--line); }
.hero-trust span { color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .045em; }
.hero-trust span::before { content: "•"; margin-right: 8px; color: var(--red); }

.hero-art { margin: 0; min-height: 680px; position: relative; overflow: hidden; background: #bd2d26; }
.hero-art > button { width: 100%; height: 100%; padding: 0; display: grid; place-items: center; border: 0; background: transparent; cursor: zoom-in; }
.hero-art img { width: 100%; height: 100%; object-fit: contain; object-position: center; animation: reveal .8s ease both; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.hero-art figcaption { position: absolute; left: 22px; right: 22px; bottom: 20px; padding: 14px 16px; display: flex; align-items: end; justify-content: space-between; gap: 20px; background: rgb(27 26 23 / 88%); color: var(--white); backdrop-filter: blur(8px); }
.hero-art figcaption div { display: flex; flex-direction: column; }
.hero-art figcaption strong { font-family: var(--display); font-size: 20px; font-weight: 400; letter-spacing: .01em; }
.hero-art figcaption span { color: #dfd8ce; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.hero-art figcaption .hero-facts { margin-top: 9px; flex-direction: row; gap: 7px 16px; flex-wrap: wrap; }
.hero-art figcaption .hero-facts span { color: var(--white); letter-spacing: .04em; }
.hero-art figcaption .hero-facts span:last-child { color: var(--yellow); }
.hero-view { white-space: nowrap; }

.featured-section, .collection-section { padding: clamp(92px, 10vw, 155px) 4vw; }
.featured-section { border-bottom: 1px solid var(--line); }
.section-heading { margin-bottom: 52px; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .65fr); gap: 8vw; align-items: end; }
.section-heading h2, .artist-copy h2, .edition-heading h2, .collecting-section h2, .acquisition-heading h2, .contact-section h2, .lightbox-meta h2 { font-size: clamp(50px, 5.15vw, 82px); line-height: 1.02; letter-spacing: -.025em; }
.section-heading > p { margin: 0; color: var(--muted); }
.featured-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 50px 26px; align-items: start; }
.featured-card { grid-column: span 4; }
.featured-card-1 { grid-column: 1 / span 7; grid-row: span 2; }
.featured-card-2, .featured-card-3 { grid-column: 8 / span 5; }
.featured-card > button { width: 100%; padding: 10px; display: block; border: 1px solid var(--line); background: var(--paper-deep); cursor: zoom-in; }
.featured-card > button img { width: 100%; aspect-ratio: 1.45 / 1; object-fit: contain; transition: transform .5s ease; }
.featured-card-1 > button img { aspect-ratio: 1.32 / 1; }
.featured-card-2 > button img, .featured-card-3 > button img { aspect-ratio: 1.75 / 1; }
.featured-meta { padding-top: 18px; border-top: 2px solid var(--ink); }
.featured-meta > p { margin: 0 0 5px; color: var(--red); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.featured-meta h3 { font-size: clamp(30px, 3vw, 48px); line-height: 1.08; }
.featured-specs { margin-top: 13px; display: flex; justify-content: space-between; gap: 10px 20px; flex-wrap: wrap; color: var(--muted); font-size: 10px; line-height: 1.45; }
.featured-specs strong { color: var(--ink); font-weight: 700; }
.featured-link { margin-top: 16px; padding: 9px 0; display: flex; align-items: center; gap: 18px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 10px; font-weight: 700; cursor: pointer; }
.filter-bar { margin-bottom: 42px; display: flex; gap: 8px; flex-wrap: wrap; }
.filter-bar button { min-height: 42px; padding: 0 14px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .035em; cursor: pointer; transition: .2s ease; }
.filter-bar button span { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--paper-deep); color: var(--ink); font-size: 9px; }
.filter-bar button.active { background: var(--ink); color: var(--white); border-color: var(--ink); }
.filter-bar button.active span { background: var(--yellow); }

.art-grid { columns: 3 320px; column-gap: 26px; }
.art-card { width: 100%; margin: 0 0 60px; display: inline-block; break-inside: avoid; vertical-align: top; }
.art-image { width: 100%; padding: 12px; border: 1px solid var(--line); position: relative; overflow: hidden; background: var(--paper-deep); cursor: zoom-in; }
.art-image img { width: 100%; height: auto; transition: transform .65s cubic-bezier(.2, .7, .2, 1), filter .35s ease; }
.status { position: absolute; top: 22px; left: 22px; padding: 7px 9px; background: rgb(255 253 248 / 94%); color: var(--ink); font-size: 8px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; box-shadow: 0 5px 18px rgb(27 26 23 / 9%); }
.status.sold { background: rgb(27 26 23 / 91%); color: var(--white); }
.view-mark { position: absolute; left: 12px; right: 12px; bottom: 12px; min-height: 48px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; background: rgb(27 26 23 / 90%); color: var(--white); font-size: 9px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; opacity: 0; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease; }
.view-mark i { color: var(--yellow); font-size: 18px; font-style: normal; }
.art-meta { padding-top: 16px; display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; border-top: 2px solid var(--ink); }
.art-meta p { margin: 0 0 4px; color: var(--red); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.art-meta h3 { font-size: clamp(27px, 2.2vw, 36px); line-height: 1.12; }
.art-meta > span { padding-top: 5px; color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.art-commercial { margin-top: 14px; display: grid; gap: 6px; color: var(--muted); font-size: 9px; letter-spacing: .035em; }
.art-commercial strong { color: var(--ink); font-size: 11px; }
.art-commercial button { width: fit-content; margin-top: 5px; padding: 7px 0; display: flex; gap: 15px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: 10px; font-weight: 700; cursor: pointer; }

.artist-section { min-height: 700px; display: grid; grid-template-columns: 45% 55%; background: var(--paper-deep); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }
.artist-monogram { min-height: 700px; display: grid; grid-template-columns: 1fr 1fr; place-items: center; position: relative; overflow: hidden; background: var(--blue); color: var(--white); font-family: var(--display); font-size: clamp(160px, 20vw, 330px); font-style: italic; line-height: 1; letter-spacing: -.12em; isolation: isolate; }
.artist-monogram::before { content: ""; width: 55%; aspect-ratio: 1; position: absolute; right: -8%; top: -10%; border-radius: 50%; background: var(--red); z-index: -1; }
.artist-monogram::after { content: ""; width: 42%; height: 16%; position: absolute; left: 3%; bottom: 8%; background: var(--yellow); transform: rotate(-8deg); z-index: -1; }
.artist-monogram span:first-child { align-self: start; margin-top: 18%; }
.artist-monogram span:last-child { align-self: end; margin-bottom: 15%; color: #e9e3d9; }
.artist-copy { padding: clamp(72px, 8vw, 138px); display: flex; flex-direction: column; justify-content: center; }
.artist-lead { max-width: 760px; margin: 34px 0 24px; font-family: var(--display); font-size: clamp(25px, 2.15vw, 36px); line-height: 1.38; }
.artist-copy > p:last-child { max-width: 690px; margin: 0; color: var(--muted); }

.edition-section { padding: clamp(92px, 10vw, 155px) 4vw; }
.edition-heading { max-width: 920px; }
.edition-heading > p:last-child { max-width: 720px; margin: 30px 0 0; color: var(--muted); }
.collection-options { margin-top: 70px; display: grid; grid-template-columns: 1fr; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.collection-options article { min-height: 250px; padding: 30px 32px 38px; border-right: 0; }
.collection-options article:last-child { border-right: 0; }
.collection-options article > span { color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.collection-options h3 { margin-top: 62px; font-size: clamp(34px, 3vw, 48px); line-height: 1.05; }
.collection-options p { margin: 20px 0 0; color: var(--muted); font-size: 14px; }

.collecting-section { padding: clamp(92px, 9vw, 140px) 4vw; display: grid; grid-template-columns: .55fr 1.45fr; gap: 8vw; background: var(--paper-deep); border-top: 1px solid var(--line); }
.collecting-section .eyebrow { align-self: start; }
.collecting-section h2 { max-width: 850px; }
.collecting-section div > p { max-width: 790px; margin: 34px 0 0; color: var(--muted); font-family: var(--display); font-size: clamp(22px, 2vw, 31px); line-height: 1.45; }

.acquisition-section { padding: clamp(92px, 9vw, 145px) 4vw 0; background: var(--blue); color: var(--white); }
.acquisition-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .55fr); gap: 18px 8vw; align-items: end; }
.acquisition-heading .eyebrow { grid-column: 1 / -1; color: var(--yellow); }
.acquisition-heading > p:not(.eyebrow) { margin: 0; color: #cfd4df; }
.acquisition-heading .button { margin-top: 25px; width: fit-content; }
.acquisition-steps { margin: 76px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid rgb(255 255 255 / 30%); }
.acquisition-steps li { min-height: 238px; padding: 25px 25px 32px 0; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgb(255 255 255 / 20%); }
.acquisition-steps li + li { padding-left: 25px; }
.acquisition-steps li > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--yellow); border-radius: 50%; color: var(--yellow); font-size: 10px; font-weight: 700; }
.acquisition-steps h3 { font-size: 29px; }
.acquisition-steps p { margin: 10px 0 0; color: #cfd4df; font-size: 13px; }
.assurance-strip { margin: 0 -4vw; padding: 22px 4vw; display: flex; justify-content: center; gap: 24px 70px; flex-wrap: wrap; background: var(--yellow); color: var(--ink); }
.assurance-strip span { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.assurance-strip span::before { content: "✓"; margin-right: 10px; }

.contact-section { padding: clamp(100px, 11vw, 175px) 12vw; background: var(--red); color: var(--white); text-align: center; }
.contact-section .eyebrow { justify-content: center; color: var(--yellow); }
.contact-section h2 { max-width: 1060px; margin: 0 auto; }
.contact-section > p:not(.eyebrow) { max-width: 690px; margin: 32px auto; color: #f2d9d4; }
.contact-section .button { margin: 8px auto 0; }
.contact-details { margin-top: 24px; display: flex; justify-content: center; gap: 10px 24px; flex-wrap: wrap; color: #f2d9d4; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.contact-details a { color: inherit; text-decoration: none; }
.contact-details a:hover { color: var(--yellow); }

footer { min-height: 105px; padding: 28px 4vw; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
footer span:first-child { font-family: var(--display); font-size: 19px; font-weight: 400; letter-spacing: 0; text-transform: none; }
footer span:last-child { max-width: 520px; line-height: 1.55; text-align: right; }

.lightbox { position: fixed; inset: 0; z-index: 100; padding: 22px; display: grid; place-items: center; background: rgb(13 13 12 / 94%); backdrop-filter: blur(12px); }
.lightbox-shell { width: min(1480px, 100%); height: min(920px, calc(100dvh - 44px)); display: flex; flex-direction: column; overflow: hidden; background: var(--paper); box-shadow: 0 24px 80px rgb(0 0 0 / 35%); }
.lightbox-toolbar { min-height: 54px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.close-button { padding: 8px 0 8px 14px; display: flex; align-items: center; gap: 12px; border: 0; background: transparent; color: var(--ink); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.close-button i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 18px; font-style: normal; font-weight: 400; }
.lightbox-content { min-height: 0; flex: 1; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(370px, .65fr); }
.lightbox-visual { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) 54px; background: #ded6c9; }
.lightbox-image { min-width: 0; min-height: 0; padding: 0; position: relative; overflow: hidden; }
.lightbox-image img { width: calc(100% - 48px); height: calc(100% - 48px); max-width: none; max-height: none; position: absolute; inset: 24px; object-fit: contain; filter: drop-shadow(0 14px 22px rgb(27 26 23 / 16%)); }
.lightbox-navigation { padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #c9c0b3; }
.lightbox-navigation button { padding: 10px 0; display: flex; align-items: center; gap: 12px; border: 0; background: transparent; color: var(--ink); font-size: 10px; font-weight: 700; cursor: pointer; }
.lightbox-meta { min-width: 0; min-height: 0; padding: clamp(38px, 4vw, 70px); overflow-y: auto; }
.lightbox-meta .eyebrow { margin-bottom: 20px; }
.lightbox-meta h2 { max-width: 100%; font-size: clamp(40px, 3.6vw, 58px); overflow-wrap: normal; }
.artwork-story { margin: 28px 0 0; color: #4e4942; font-family: var(--display); font-size: clamp(19px, 1.55vw, 25px); line-height: 1.46; }
.detail-heading { margin-top: 32px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.lightbox-meta dl { margin: 13px 0 0; border-top: 1px solid var(--ink); }
.lightbox-meta dl div { padding: 12px 0; display: grid; grid-template-columns: minmax(100px, .65fr) 1.35fr; gap: 18px; border-bottom: 1px solid var(--line); }
.lightbox-meta dt { color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.lightbox-meta dd { margin: 0; color: var(--ink); font-size: 10px; font-weight: 700; line-height: 1.45; }
.acquisition-includes { margin-top: 30px; }
.acquisition-includes h3 { font-size: 17px; }
.acquisition-includes ul { margin: 13px 0 0; padding: 0; list-style: none; }
.acquisition-includes li { padding: 6px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.acquisition-includes li::before { content: "✓"; margin-right: 9px; color: var(--red); font-weight: 700; }
.acquisition-includes p { margin: 14px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.lightbox-meta .button { width: 100%; margin-top: 30px; }
.modal-note { margin: 15px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; }

@keyframes reveal { from { opacity: 0; transform: scale(1.018); } to { opacity: 1; transform: scale(1); } }

@media (hover: hover) {
  nav a:hover::after { right: 0; }
  .button:hover { transform: translateY(-2px); }
  .button-dark:hover { background: var(--red); border-color: var(--red); }
  .button-light:hover { background: var(--yellow); border-color: var(--yellow); }
  .button-accent:hover { background: var(--white); border-color: var(--white); }
  .text-link:hover span { transform: translate(3px, -3px); }
  .hero-art:hover img { transform: scale(1.015); }
  .featured-card > button:hover img { transform: scale(1.012); }
  .featured-link:hover, .art-commercial button:hover { color: var(--red); }
  .art-image:hover img { transform: scale(1.018); filter: saturate(1.06); }
  .art-image:hover .view-mark { opacity: 1; transform: translateY(0); }
  .filter-bar button:hover { border-color: var(--ink); color: var(--ink); }
}

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { position: absolute; left: 0; right: 0; top: 100%; padding: 14px 4vw 24px; display: grid; gap: 0; background: var(--paper); border-bottom: 1px solid var(--line); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .22s ease; }
  .site-header nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-header nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 24px; font-weight: 400; }
  .site-header nav a::after { display: none; }
  .menu-toggle { display: flex; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 74vh; padding-left: 6vw; padding-right: 10vw; }
  .hero-art { min-height: 0; aspect-ratio: 1.46 / 1; }
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-card, .featured-card-1, .featured-card-2, .featured-card-3 { grid-column: auto; grid-row: auto; }
  .featured-card-1 { grid-column: 1 / -1; }
  .featured-card-1 > button img { aspect-ratio: 1.55 / 1; }
  .art-grid { columns: 2 300px; }
  .artist-section { grid-template-columns: 1fr; }
  .artist-monogram { min-height: 470px; font-size: clamp(170px, 34vw, 360px); }
  .artist-copy { padding: 92px 8vw; }
  .collecting-section { grid-template-columns: 1fr; gap: 22px; }
  .acquisition-heading { grid-template-columns: 1fr; }
  .acquisition-steps { grid-template-columns: repeat(2, 1fr); }
  .acquisition-steps li:nth-child(2) { border-right: 0; }
  .acquisition-steps li:nth-child(n+3) { border-top: 1px solid rgb(255 255 255 / 20%); }
  .lightbox-content { grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 74px; }
  .site-header { min-height: 72px; padding: 0 5vw; gap: 10px; }
  .wordmark { font-size: 20px; }
  .language-switch { gap: 4px; font-size: 10px; }
  .menu-toggle span { display: none; }
  .hero-copy { min-height: auto; padding: 74px 6vw 55px; }
  .eyebrow { gap: 11px; font-size: 9px; letter-spacing: .14em; }
  .eyebrow::before { width: 26px; }
  h1 { font-size: clamp(53px, 15vw, 72px); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .text-link { justify-content: space-between; }
  .hero-trust { margin-top: 46px; display: grid; gap: 9px; }
  .hero-art { aspect-ratio: 1.46 / 1; }
  .hero-art figcaption { left: 10px; right: 10px; bottom: 10px; padding: 10px 12px; align-items: flex-start; }
  .hero-art figcaption strong { font-size: 17px; }
  .hero-art figcaption .hero-facts { gap: 5px 11px; }
  .hero-art figcaption .hero-facts span { font-size: 8px; }
  .hero-view { display: none; }
  .featured-section, .collection-section { padding: 82px 6vw; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 28px; }
  .section-heading h2, .artist-copy h2, .edition-heading h2, .collecting-section h2, .acquisition-heading h2, .contact-section h2, .lightbox-meta h2 { font-size: clamp(46px, 13vw, 64px); }
  .featured-grid { grid-template-columns: 1fr; gap: 48px; }
  .featured-card-1 { grid-column: auto; }
  .featured-card > button img, .featured-card-1 > button img, .featured-card-2 > button img, .featured-card-3 > button img { aspect-ratio: 1.45 / 1; }
  .filter-bar { margin-right: -2vw; }
  .filter-bar button { min-height: 39px; padding: 0 10px; }
  .art-grid { columns: 1; }
  .art-card { margin-bottom: 54px; }
  .art-image { padding: 8px; }
  .status { top: 16px; left: 16px; }
  .view-mark { left: 8px; right: 8px; bottom: 8px; opacity: 1; transform: none; background: rgb(27 26 23 / 78%); }
  .art-meta { display: block; }
  .art-meta > span { display: block; margin-top: 7px; }
  .artist-monogram { min-height: 310px; font-size: 44vw; }
  .artist-copy { padding: 78px 7vw; }
  .artist-lead { font-size: 26px; }
  .edition-section { padding: 82px 6vw; }
  .collection-options { margin-top: 52px; grid-template-columns: 1fr; }
  .collection-options article { min-height: 0; padding: 28px 0 36px; border-right: 0; border-bottom: 1px solid var(--line); }
  .collection-options article:last-child { border-bottom: 0; }
  .collection-options h3 { margin-top: 28px; }
  .collecting-section { padding: 82px 6vw; }
  .acquisition-section { padding: 82px 6vw 0; }
  .acquisition-steps { margin-top: 55px; grid-template-columns: 1fr; }
  .acquisition-steps li, .acquisition-steps li + li { min-height: 180px; padding: 22px 0 28px; border-right: 0; border-top: 1px solid rgb(255 255 255 / 20%); }
  .acquisition-steps li:first-child { border-top: 0; }
  .assurance-strip { margin: 0 -6vw; padding: 20px 6vw; align-items: flex-start; flex-direction: column; gap: 10px; }
  .contact-section { padding: 88px 7vw; }
  footer { padding: 30px 6vw; align-items: flex-start; flex-direction: column; }
  footer span:last-child { text-align: left; }
  .lightbox { padding: 0; }
  .lightbox-shell { width: 100%; height: 100dvh; box-shadow: none; }
  .lightbox-toolbar { position: sticky; top: 0; z-index: 2; background: var(--paper); }
  .lightbox-content { display: block; overflow-y: auto; }
  .lightbox-visual { display: grid; grid-template-rows: minmax(360px, 57dvh) 52px; }
  .lightbox-image img { width: calc(100% - 24px); height: calc(100% - 24px); inset: 12px; }
  .lightbox-navigation span { display: none; }
  .lightbox-meta { padding: 46px 24px 58px; overflow: visible; }
  .artwork-story { font-size: 21px; }
}

@media (max-width: 410px) {
  .wordmark { max-width: 180px; font-size: 18px; }
  .header-tools { gap: 10px; }
  .hero-art figcaption span:not(.hero-view) { max-width: 170px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

@media (max-height: 700px) and (min-width: 761px) {
  .lightbox { padding: 12px; }
  .lightbox-shell { height: calc(100dvh - 24px); }
  .lightbox-image img { width: calc(100% - 28px); height: calc(100% - 28px); inset: 14px; }
  .lightbox-meta { padding-top: 30px; padding-bottom: 30px; }
  .artwork-story { margin-top: 20px; font-size: 19px; }
  .lightbox-meta dl { margin-top: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
