/* Brandt Asian Art — collection styles (echoes the approved mock-up). */
:root { --bk-night: #171416; --bk-band: #8c4a8b; --bk-link: #8c4a8b; --bk-ivory: #f7f5f0; --bk-paper: #fffdf9; --bk-ink: #231f20; --bk-soft: #6b6669; --bk-rule: #e3ded8; --bk-seal: #a75fa6; --bk-char: #241f22; --bk-mauve-pale: #d8abd7; }
/* One typeface for the whole site: Jost for text (the closest free relative
   of the Gill Sans Light in Robert's logo), Cormorant for display. Set at the
   root so nothing the plugin renders falls back to the theme's font. */
html body { background: var(--bk-ivory); color: var(--bk-ink); font-family: Jost, 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-weight: 300; }
html body .bkc-hero, html body .bkc-grid, html body .bkc-card, html body .bkc-band-current, html body .bkc-seek, html body .bkc-archive { font-family: Jost, 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; }
.bkc-site-head button, .bkc-seek button, .bkc-wrap button, .bkc-site-foot button,
.bkc-site-head button:hover, .bkc-seek button:hover, .bkc-wrap button:hover, .bkc-site-foot button:hover,
.bkc-site-head button:focus, .bkc-seek button:focus, .bkc-wrap button:focus, .bkc-site-foot button:focus {
	background: none !important; background-color: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; -webkit-appearance: none; appearance: none; }
/* Every band measures the same way Elementor's boxed containers do, so the
   logo, the hero text, the page content and the footer share one left edge. */
.bkc-wrap { width: min(1180px, 100% - 56px); margin: 0 auto; padding: 0 0 60px; font-family: Jost, 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-weight: 400; font-size: 15px; line-height: 1.6; }
.bkc-eyebrow { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--bk-soft); }
.bkc-h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 44px; line-height: 1.1; margin: 8px 0 14px; color: var(--bk-ink); }
.bkc-h1-obj { font-size: 38px; color: var(--bk-band); } .bkc-h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(26px, 3vw, 34px); line-height: 1.1; margin: 0; }
.bkc-lead { max-width: 60ch; color: var(--bk-soft); font-size: 16px; } .bkc-small { font-size: 13.5px; }
.bkc-btn { display: inline-block; padding: 12px 22px; border: 1px solid var(--bk-ink); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; margin-top: 14px; color: var(--bk-ink); text-decoration: none; }
.bkc-btn.bkc-fill { background: var(--bk-ink); color: #fff; } .bkc-btn:hover { opacity: .85; }
.bkc-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; padding: 24px 0 36px; }
.bkc-hero-im img { width: 100%; height: auto; display: block; }
.bkc-band { padding: 54px 0 10px; }
.bkc-sechead { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 22px; padding-top: 20px; border-top: 1px solid var(--bk-rule); } .bkc-sechead a { font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--bk-ink); text-decoration: none; border-bottom: 1px solid var(--bk-ink); }
.bkc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 22px; }
.bkc-card { display: block; text-decoration: none; color: inherit; } .bkc-im { position: relative; aspect-ratio: 1; background: #efebe4; overflow: hidden; display: flex; align-items: center; justify-content: center; }
/* The photograph always fills its frame: the theme sets img{height:auto} and
   the browser otherwise derives height from the file's own proportions. */
.bkc-im img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center; display: block; transition: transform .9s cubic-bezier(.18,.7,.22,1); }
.bkc-card:hover .bkc-im img { transform: scale(1.07); }
.bkc-im.bkc-wide { aspect-ratio: 4 / 3; } .bkc-im.bkc-wide img { object-fit: cover; }
.bkc-card { display: flex; flex-direction: column; }
.bkc-t { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; margin-top: 13px; line-height: 1.22; }
.bkc-s { font-size: 13px; font-weight: 300; letter-spacing: .03em; line-height: 1.35; color: var(--bk-soft); margin-top: 3px; }
.bkc-p { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 15.5px; line-height: 1.3; color: var(--bk-ink); margin-top: 1px; }
.bkc-tag { position: absolute; top: 10px; left: 10px; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; background: var(--bk-paper); padding: 4px 8px; } .bkc-tag.bkc-sold { background: var(--bk-ink); color: #fff; letter-spacing: .16em; }
.bkc-num { position: absolute; right: 10px; bottom: 10px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 15px; background: var(--bk-paper); padding: 2px 8px; }
.bkc-filters { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 26px; font-size: 12.5px; align-items: center; }
.bkc-filters a { padding: 7px 14px; border: 1px solid var(--bk-rule); border-radius: 999px; background: var(--bk-paper); color: var(--bk-ink); text-decoration: none; } .bkc-filters a.on { background: var(--bk-ink); color: #fff; border-color: var(--bk-ink); }
.bkc-filters .bkc-lab { color: var(--bk-soft); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; margin-left: 10px; } .bkc-filters .bkc-lab:first-child { margin-left: 0; }
.bkc-exlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 12px; }
.bkc-crumb { font-size: 12.5px; color: var(--bk-soft); padding-top: 22px; } .bkc-crumb a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--bk-rule); }
.bkc-obj { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; padding: 30px 0 10px; }
.bkc-main { position: relative; background: #eeeae1; cursor: zoom-in; } .bkc-main img { width: 100%; height: auto; display: block; }
.bkc-zoom { position: absolute; right: 12px; bottom: 12px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; background: rgba(255,253,248,.9); padding: 6px 10px; }
.bkc-thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; } .bkc-thumbs button { padding: 0; border: 1px solid var(--bk-rule); background: #fff; width: 76px; height: 76px; cursor: pointer; opacity: .85; } .bkc-thumbs button.on { outline: 2px solid var(--bk-ink); opacity: 1; } .bkc-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bkc-desc { max-width: 60ch; } .bkc-desc p { margin: 0 0 12px; }
.bkc-spec { border-top: 1px solid var(--bk-rule); margin-top: 22px; } .bkc-spec div { display: grid; grid-template-columns: 130px 1fr; padding: 9px 0; border-bottom: 1px solid var(--bk-rule); font-size: 14px; }
.bkc-spec b { font-weight: 500; color: var(--bk-soft); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; padding-top: 3px; } .bkc-soldtxt { color: var(--bk-seal); font-weight: 500; }
.bkc-exh-head { padding: 30px 0 10px; max-width: 70ch; } .bkc-exh-meta { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--bk-soft); margin-bottom: 8px; }
.bkc-empty { color: var(--bk-soft); }
.bkc-lightbox { position: fixed; inset: 0; background: rgba(30,28,25,.94); z-index: 9999; display: flex; align-items: center; justify-content: center; cursor: zoom-out; } .bkc-lightbox[hidden] { display: none; }
.bkc-lightbox img { max-width: 94vw; max-height: 94vh; object-fit: contain; } .bkc-lightbox button { position: absolute; top: 18px; right: 24px; font-size: 34px; color: #fff; background: none; border: none; cursor: pointer; }
@media (max-width: 900px) { .bkc-hero, .bkc-obj { grid-template-columns: 1fr; } .bkc-grid, .bkc-exlist { grid-template-columns: 1fr 1fr; } .bkc-h1 { font-size: 34px; } }
@media (max-width: 520px) { .bkc-grid { grid-template-columns: 1fr 1fr; gap: 16px 12px; } .bkc-wrap { width: min(1180px, 100% - 32px); padding: 0 0 40px; } }

/* header + footer (rendered by the plugin) */
/* The page is bookended in dark: a charcoal bar above, near-black below, the
   collection bright in between. The home page keeps the bar transparent over
   its hero, where the panel supplies the same colour. */
.bkc-site-head { position: sticky; top: 0; z-index: 40; transform: translateY(0); background: var(--bk-char); border-bottom: 0; font-family: Jost, 'Gill Sans', sans-serif; transition: background .45s ease, border-color .45s ease; }
.bkc-nav { width: min(1180px, 100% - 56px); margin: 0 auto; display: flex; align-items: baseline; justify-content: space-between; height: 96px; padding-top: 33px; }
.bkc-logo { display: block; } .bkc-menu { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; font-size: 13.5px; font-weight: 300; letter-spacing: .13em; }
.bkc-menu a { color: rgba(255, 255, 255, .86); text-decoration: none; padding-bottom: 5px; border-bottom: 1px solid transparent; transition: border-color .3s ease, color .3s ease; }
.bkc-menu a.on, .bkc-menu a:hover { border-bottom-color: var(--bk-seal); }
.bkc-burger { display: none; width: 40px; height: 40px; position: relative; cursor: pointer; } .bkc-burger span, .bkc-burger span::before, .bkc-burger span::after { content: ""; position: absolute; left: 8px; width: 24px; height: 1.5px; background: #fff; } .bkc-burger span { top: 19px; } .bkc-burger span::before { top: -7px; left: 0; } .bkc-burger span::after { top: 7px; left: 0; }
.bkc-site-foot { border-top: 1px solid var(--bk-rule); margin-top: 40px; padding: 36px 0; font-family: Jost, 'Gill Sans', sans-serif; font-size: 13px; color: var(--bk-soft); }
.bkc-foot-cols { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 24px; padding-bottom: 0; }
.bkc-site-foot .bkc-wrap { padding-bottom: 0; } .bkc-foot-cols p { margin: 10px 0 0; line-height: 1.7; } .bkc-foot-cols a { color: var(--bk-ink); text-decoration: none; } .bkc-copy { font-size: 12px; }
@media (max-width: 900px) { .bkc-burger { display: block; } .bkc-menu { display: none; position: absolute; left: 0; right: 0; top: 84px; background: var(--bk-paper); flex-direction: column; gap: 0; padding: 10px 28px 20px; border-bottom: 1px solid var(--bk-rule); z-index: 50; } .bkc-menu.open { display: flex; } .bkc-menu li { padding: 10px 0; } .bkc-site-head { position: relative; } .bkc-foot-cols { grid-template-columns: 1fr; } }
/* Elementor pages: headings in the house type; sections breathe */
.bkc-page .elementor-widget-heading .elementor-heading-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; color: var(--bk-ink); letter-spacing: -.005em; }
.bkc-page .elementor-widget-heading h1.elementor-heading-title { font-size: 44px; line-height: 1.1; } .bkc-page .elementor-widget-heading h2.elementor-heading-title { font-size: 30px; }
.bkc-page .elementor-widget-text-editor { font-family: Jost, 'Gill Sans', sans-serif; font-size: 16px; color: var(--bk-soft); max-width: 60ch; }
.bkc-page .elementor-widget-heading.bkc-kicker .elementor-heading-title, .bkc-page .bkc-kicker .elementor-heading-title { font-family: Jost, 'Gill Sans', sans-serif; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--bk-soft); font-weight: 400; }


/* ---------------- Home: the piece takes the screen ----------------
   The photographs are the asset: one object at full presence, captioned
   the way a case is labelled in a museum. Light falls off to the left and
   the label sits in that shadow. */
/* line-height 0 makes the link box end exactly at the lettering, so the menu
   can sit on the same baseline as the logo. */
.bkc-logo { color: #fff; transition: color .45s ease; --bkc-logo: 30px; display: block; line-height: 0; }
.bkc-logo svg { transition: height .35s cubic-bezier(.4,0,.2,1); }
.bkc-site-head.bkc-head-over .bkc-logo { color: #fff; }
.bkc-site-head.bkc-head-over { position: absolute; left: 0; right: 0; top: 0; background: transparent; border-bottom-color: transparent; }
.bkc-site-head.bkc-head-over .bkc-menu a { color: rgba(255, 255, 255, .88); }
.bkc-site-head.bkc-head-over .bkc-menu a.on, .bkc-site-head.bkc-head-over .bkc-menu a:hover { border-bottom-color: var(--bk-mauve-pale); color: #fff; }
.bkc-site-head.bkc-head-over .bkc-burger span, .bkc-site-head.bkc-head-over .bkc-burger span::before, .bkc-site-head.bkc-head-over .bkc-burger span::after { background: #fff; }
.bkc-site-head.bkc-stuck /* line-height 0 makes the link box end exactly at the lettering, so the menu
   can sit on the same baseline as the logo. */
.bkc-logo { color: #fff; transition: color .45s ease; --bkc-logo: 30px; display: block; line-height: 0; }
.bkc-logo svg { transition: height .35s cubic-bezier(.4,0,.2,1); }
.bkc-site-head.bkc-head-over .bkc-logo { color: #fff; }

.bkc-hero { position: relative; background: var(--bk-char); min-height: 520px; height: min(80vh, 740px); display: flex; align-items: center; overflow: hidden; }
/* The photograph fills the right-hand side edge to edge: a lit case set into a dark wall. */
.bkc-hero-media { position: absolute; right: 0; top: 0; bottom: 0; width: 50%; max-width: 880px; }
.bkc-hero-img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: 50% 45%; display: block; transform: scale(1.035); animation: bkcSettle 18s cubic-bezier(.22,.61,.36,1) forwards; }
@keyframes bkcSettle { to { transform: scale(1); } }
.bkc-hero-label { position: relative; z-index: 2; width: min(1180px, 100% - 56px); margin: 0 auto; }
.bkc-hero-labelinner { max-width: 30rem; }
.bkc-hero-note { position: relative; margin: 0 0 16px; padding-left: 48px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 18px; color: var(--bk-mauve-pale); }
.bkc-hero-note::before { content: ""; position: absolute; left: 0; top: .66em; width: 34px; height: 1px; background: var(--bk-seal); }
.bkc-hero-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(38px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -.012em; color: #fff; margin: 0 0 18px; }
.bkc-hero-lines { font-weight: 300; font-size: 15px; line-height: 1.8; letter-spacing: .045em; color: rgba(255, 255, 255, .84); margin: 0 0 18px; }
.bkc-hero-desc { font-size: 15.5px; line-height: 1.75; color: rgba(255, 255, 255, .6); max-width: 42ch; margin: 0 0 30px; }
.bkc-hero-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin: 0; }
.bkc-btn-light { background: var(--bk-paper); border-color: var(--bk-paper); color: var(--bk-ink); margin-top: 0; }
.bkc-btn-light:hover { background: #fff; border-color: #fff; opacity: 1; }
.bkc-quiet { font-size: 13px; font-weight: 300; letter-spacing: .09em; color: rgba(255, 255, 255, .82); text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, .38); transition: border-color .3s ease, color .3s ease; }
.bkc-quiet:hover { color: #fff; border-bottom-color: var(--bk-mauve-pale); }
/* The line under the hero sits in Robert's mauve, so the page steps from the
   dark room into colour and then into the collection. */
.bkc-statement-band { width: 100%; background: var(--bk-band); padding: 38px 28px 40px; }
.bkc-statement { max-width: 54ch; margin: 0 auto; padding: 0; text-align: center; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(21px, 2.5vw, 29px); line-height: 1.48; color: #fff; }

@media (max-width: 860px) {
  .bkc-hero { height: auto; min-height: 0; display: block; padding: 0 0 34px; }
  .bkc-hero-media { position: relative; width: 100%; max-width: none; height: 44vh; min-height: 260px; }
  .bkc-hero-label { padding-top: 26px; }
  .bkc-hero-labelinner { max-width: 100%; }
  .bkc-hero-desc { display: none; }
  .bkc-hero-title { font-size: clamp(32px, 8vw, 46px); }
  .bkc-hero-down { display: none; }
  .bkc-site-head.bkc-head-over { position: absolute; background: var(--bk-char); }
  .bkc-site-head.bkc-head-over .bkc-menu { background: var(--bk-char); top: 78px; }
  .bkc-site-head.bkc-head-over .bkc-menu a { color: rgba(255,255,255,.9); }
  .bkc-nav { height: 78px; padding-top: 27px; }
  .bkc-logo { --bkc-logo: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .bkc-hero-img { animation: none; transform: none; }
  .bkc-seek-panel, .bkc-seek-veil, .bkc-seek-form { animation-duration: .01ms; transform: none; opacity: 1; }
  .bkc-im img, .bkc-menu a, .bkc-site-head { transition: none; }
}


/* ---------------- Header ----------------
   Over the hero it is transparent with the mark reversed out; a soft scrim
   keeps it legible where it crosses the photograph. Scrolling down gets it
   out of the way; scrolling up brings it back as a solid bar. */
.bkc-site-head { transition: transform .45s cubic-bezier(.4,0,.2,1), background .4s ease, border-color .4s ease; }
.bkc-site-head.bkc-away { transform: translateY(-102%); }
.bkc-site-head.bkc-pinned { position: fixed; left: 0; right: 0; top: 0; background: rgba(30, 26, 29, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 0; }
.bkc-site-head.bkc-pinned .bkc-nav { height: 72px; padding-top: 25px; }
.bkc-site-head.bkc-pinned .bkc-logo { color: #fff; --bkc-logo: 23px; }
.bkc-site-head.bkc-pinned .bkc-menu a { color: rgba(255, 255, 255, .86); }
.bkc-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 190px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(28,24,26,.55), rgba(28,24,26,0)); }

.bkc-menu { display: flex; align-items: baseline; gap: 34px; }
.bkc-menu ul { display: flex; align-items: baseline; list-style: none; margin: 0; padding: 0; }
.bkc-menu-main { gap: 32px; font-size: 14.5px; letter-spacing: .06em; }
.bkc-menu a { position: relative; display: inline-block; line-height: 1; padding-bottom: 7px; }
.bkc-menu-main a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--bk-seal); transform: scaleX(0); transform-origin: left; transition: transform .32s cubic-bezier(.4,0,.2,1); }
.bkc-menu-main a:hover::after, .bkc-menu-main a.on::after { transform: scaleX(1); }
.bkc-menu-main a { border-bottom: 0; }

/* Panel-only furniture: the phone menu shows these, the desktop header never
   does. Two classes deep, so it outranks .bkc-menu a. */
.bkc-menu .bkc-menu-logo, .bkc-menu .bkc-menu-foot { display: none; }
.bkc-seek-open { display: grid; place-items: center; width: 26px; height: 26px; align-self: baseline; position: relative; top: 5px; color: #fff; cursor: pointer; opacity: .78; transition: opacity .3s ease; }
.bkc-seek-open:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
.bkc-seek-open:hover { opacity: 1; }
.bkc-site-head.bkc-head-over .bkc-seek-open { color: #fff; }
.bkc-site-head.bkc-pinned .bkc-seek-open { color: #fff; }

/* Search descends from the header like a drawer; the room stays visible
   behind a veil, so nothing lurches. */
.bkc-seek { position: fixed; inset: 0; z-index: 90; }
.bkc-seek[hidden] { display: none; }
.bkc-seek-veil { position: absolute; inset: 0; background: rgba(24, 20, 22, .52); opacity: 0; animation: bkcVeil .55s ease forwards; cursor: pointer; }
.bkc-seek-panel { position: relative; background: linear-gradient(180deg, #2b2529 0%, #1e1a1d 100%); border-bottom: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 34px 70px rgba(0, 0, 0, .38); transform: translateY(-101%); animation: bkcDrawer .62s cubic-bezier(.16, .84, .44, 1) forwards; }
.bkc-seek-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 54px; width: min(1180px, 100% - 56px); margin: 0 auto; padding: 58px 0 62px; }
@keyframes bkcVeil { to { opacity: 1; } }
@keyframes bkcDrawer { to { transform: translateY(0); } }
.bkc-seek.bkc-out .bkc-seek-veil { animation: bkcVeilOut .4s ease forwards; }
.bkc-seek.bkc-out .bkc-seek-panel { animation: bkcDrawerOut .46s cubic-bezier(.5, 0, .75, .2) forwards; }
@keyframes bkcVeilOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes bkcDrawerOut { from { transform: translateY(0); } to { transform: translateY(-101%); } }
.bkc-seek-close { position: absolute; top: 26px; right: 28px; display: inline-block; padding-bottom: 4px; font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .2em; color: rgba(255, 255, 255, .55); cursor: pointer; transition: color .3s ease; }
.bkc-seek-close::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .34s cubic-bezier(.4,0,.2,1); }
.bkc-seek-close:hover, .bkc-seek-close:focus-visible { color: #fff; outline: none; }
.bkc-seek-close:hover::after, .bkc-seek-close:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.bkc-seek-form { opacity: 0; transform: translateY(10px); animation: bkcRise .55s cubic-bezier(.16, .84, .44, 1) .18s forwards; }
@keyframes bkcRise { to { opacity: 1; transform: translateY(0); } }
.bkc-seek-form label { display: block; margin: 0 0 16px; padding-left: 2px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 19px; color: rgba(255, 255, 255, .58); }
.bkc-seek input[type="search"] { display: block; width: 100%; -webkit-appearance: none; appearance: none; margin: 0; padding: 4px 2px 16px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .22); border-radius: 0; background: none; box-shadow: none; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-size: clamp(28px, 4vw, 46px); line-height: 1.15; color: #fff; caret-color: rgba(255, 255, 255, .8); transition: border-color .4s ease; }
.bkc-seek input[type="search"]:focus { outline: none; border-bottom-color: rgba(255, 255, 255, .58); }
.bkc-seek input[type="search"]::-webkit-search-cancel-button, .bkc-seek input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; display: none; }
.bkc-seek-hint { margin: 16px 2px 0; font-size: 12.5px; font-weight: 300; letter-spacing: .05em; color: rgba(255, 255, 255, .36); }
.bkc-seek-try { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 26px 2px 0; }
.bkc-seek-try a { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; color: rgba(255, 255, 255, .68); text-decoration: none; padding-bottom: 3px; border-bottom: 1px solid transparent; transition: color .3s ease, border-color .3s ease; }
.bkc-seek-try a:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, .55); }
.bkc-seek-recent { border-left: 1px solid rgba(255, 255, 255, .1); padding-left: 54px; opacity: 0; animation: bkcRise .55s cubic-bezier(.16, .84, .44, 1) .3s forwards; }
.bkc-seek-recent-head { margin: 0 0 20px; font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .16em; color: rgba(255, 255, 255, .38); }
.bkc-seek-piece { display: flex; align-items: center; gap: 16px; padding: 10px 0; text-decoration: none; }
.bkc-seek-thumb { flex: none; width: 62px; height: 62px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.bkc-seek-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; transition: opacity .35s ease, transform .6s cubic-bezier(.2,.6,.2,1); }
.bkc-seek-piece:hover .bkc-seek-thumb img { opacity: 1; transform: scale(1.05); }
.bkc-seek-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bkc-seek-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; color: rgba(255, 255, 255, .88); line-height: 1.2; }
.bkc-seek-place { font-size: 12.5px; font-weight: 300; letter-spacing: .04em; color: rgba(255, 255, 255, .42); }

.bkc-found { font-size: 14px; color: var(--bk-soft); margin: 0 0 18px; }
.bkc-found a { color: var(--bk-ink); border-bottom: 1px solid var(--bk-rule); text-decoration: none; margin-left: 8px; }

@media (max-width: 980px) {
  .bkc-menu-main { gap: 24px; font-size: 14px; }
}
@media (max-width: 860px) {
  .bkc-menu-logo { display: block; color: #fff; line-height: 0; padding: 4px 0 0; opacity: 0; transition: opacity .4s ease .04s; }
  .bkc-menu.open .bkc-menu-logo { opacity: 1; }
  .bkc-menu ul { flex: 0 0 auto; }
  .bkc-menu-foot { display: flex; flex-direction: column; gap: 6px; margin: 0; }
  /* A transform on the header would make the fixed menu panel behave like an
     absolute one — pinned to the header instead of the screen. No transforms
     and no backdrop filter here, so the panel can cover the page. */
  .bkc-site-head, .bkc-site-head.bkc-away, .bkc-site-head.bkc-pinned { transform: none !important; }
  .bkc-site-head.bkc-pinned { position: sticky; -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--bk-char); }
  .bkc-site-head.bkc-head-over { position: sticky; background: var(--bk-char); }
  /* Header: logo and burger on one optical line, no baseline trickery. */
  .bkc-nav { align-items: center; padding-top: 0; height: 74px; }
  .bkc-logo { --bkc-logo: 23px; }
  .bkc-burger { display: block; width: 34px; height: 34px; margin-right: -6px; z-index: 60; }
  .bkc-burger span, .bkc-burger span::before, .bkc-burger span::after { left: 5px; width: 24px; transition: transform .38s cubic-bezier(.4,0,.2,1), opacity .2s ease; }
  .bkc-burger span { top: 16px; }
  .bkc-burger.bkc-open span { background: transparent; }
  .bkc-burger.bkc-open span::before { transform: translateY(7px) rotate(45deg); }
  .bkc-burger.bkc-open span::after { transform: translateY(-7px) rotate(-45deg); }

  /* The menu takes the whole screen: names set large, one per line. */
  .bkc-menu { position: fixed; inset: 0; z-index: 50; background: var(--bk-char) !important; display: flex; flex-direction: column; justify-content: space-between; gap: 0; height: 100dvh; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 24px 28px calc(28px + env(safe-area-inset-bottom)); background: var(--bk-char); border: 0; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .4s ease, transform .45s cubic-bezier(.16,.84,.44,1), visibility .4s; }
  .bkc-menu.open { opacity: 1; visibility: visible; transform: none; }
  .bkc-menu ul { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .bkc-menu li { padding: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); opacity: 0; transform: translateY(10px); transition: opacity .4s ease, transform .45s cubic-bezier(.16,.84,.44,1); }
  .bkc-menu.open li { opacity: 1; transform: none; }
  .bkc-menu.open li:nth-child(1) { transition-delay: .06s; } .bkc-menu.open li:nth-child(2) { transition-delay: .11s; }
  .bkc-menu.open li:nth-child(3) { transition-delay: .16s; } .bkc-menu.open li:nth-child(4) { transition-delay: .21s; }
  .bkc-menu.open li:nth-child(5) { transition-delay: .26s; } .bkc-menu.open li:nth-child(6) { transition-delay: .31s; }
  .bkc-menu a { display: block; padding: 15px 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 27px; font-weight: 400; letter-spacing: 0; line-height: 1.15; color: #fff; }
  .bkc-menu-main a::after { display: none; }
  .bkc-menu a.on { color: var(--bk-mauve-pale); }
  /* Search sits in the panel as a line of its own rather than a lost icon. */
  .bkc-seek-open { display: flex; align-items: center; gap: 12px; width: auto; height: auto; padding: 18px 0 0; color: rgba(255, 255, 255, .72); opacity: 1; }
  .bkc-seek-open::after { content: "Search the collection"; font-family: Jost, 'Gill Sans', sans-serif; font-size: 14px; letter-spacing: .12em; }
  .bkc-menu-foot { margin: 22px 0 0; font-size: 13.5px; line-height: 1.9; color: rgba(255, 255, 255, .5); opacity: 0; transition: opacity .4s ease .36s; }
  .bkc-menu.open .bkc-menu-foot { opacity: 1; }
  .bkc-menu-foot a { display: inline-block; padding: 0; font-family: Jost, 'Gill Sans', sans-serif; font-size: 14px; letter-spacing: .04em; color: rgba(255, 255, 255, .82); }
  .bkc-menu-foot span { font-size: 13px; color: rgba(255, 255, 255, .42); }
  /* iOS keeps scrolling the page behind a fixed panel unless the body is pinned. */
  html.bkc-locked, body.bkc-locked { overflow: hidden; overscroll-behavior: none; }
  body.bkc-locked { position: fixed; left: 0; right: 0; width: 100%; }

  /* Bands need their gutters back, and the page needs less air between them. */
  .bkc-band-mauve, .bkc-band-mauve > .e-con-inner { padding-left: 24px; padding-right: 24px; }
  .bkc-band-mauve { padding-top: 44px; padding-bottom: 46px; }
  .bkc-statement { padding: 34px 4px 4px; font-size: 20px; }
  .bkc-hero { padding-bottom: 34px; }
  .bkc-band-current { padding: 44px 0 46px; }
  .bkc-archive { padding-top: 34px; }
  .bkc-signup { padding: 44px 0 44px; }
}



/* ---------------- Header ----------------
   Over the hero it is transparent with the mark reversed out; a soft scrim
   keeps it legible where it crosses the photograph. Scrolling down gets it
   out of the way; scrolling up brings it back as a solid bar. */
.bkc-site-head { transition: transform .45s cubic-bezier(.4,0,.2,1), background .4s ease, border-color .4s ease; }
.bkc-site-head.bkc-away { transform: translateY(-102%); }
.bkc-site-head.bkc-pinned { position: fixed; left: 0; right: 0; top: 0; background: rgba(30, 26, 29, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 0; }
.bkc-site-head.bkc-pinned .bkc-nav { height: 72px; padding-top: 25px; }
.bkc-site-head.bkc-pinned .bkc-logo { color: #fff; --bkc-logo: 23px; }
.bkc-site-head.bkc-pinned .bkc-menu a { color: rgba(255, 255, 255, .86); }
.bkc-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 190px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(28,24,26,.55), rgba(28,24,26,0)); }

/* Search descends from the header like a drawer; the room stays visible
   behind a veil, so nothing lurches. */
.bkc-seek { position: fixed; inset: 0; z-index: 90; }
.bkc-seek[hidden] { display: none; }
.bkc-seek-veil { position: absolute; inset: 0; background: rgba(24, 20, 22, .52); opacity: 0; animation: bkcVeil .55s ease forwards; cursor: pointer; }
.bkc-seek-panel { position: relative; background: linear-gradient(180deg, #2b2529 0%, #1e1a1d 100%); border-bottom: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 34px 70px rgba(0, 0, 0, .38); transform: translateY(-101%); animation: bkcDrawer .62s cubic-bezier(.16, .84, .44, 1) forwards; }
.bkc-seek-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 54px; width: min(1180px, 100% - 56px); margin: 0 auto; padding: 58px 0 62px; }
@keyframes bkcVeil { to { opacity: 1; } }
@keyframes bkcDrawer { to { transform: translateY(0); } }
.bkc-seek.bkc-out .bkc-seek-veil { animation: bkcVeilOut .4s ease forwards; }
.bkc-seek.bkc-out .bkc-seek-panel { animation: bkcDrawerOut .46s cubic-bezier(.5, 0, .75, .2) forwards; }
@keyframes bkcVeilOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes bkcDrawerOut { from { transform: translateY(0); } to { transform: translateY(-101%); } }
.bkc-seek-close { position: absolute; top: 26px; right: 28px; display: inline-block; padding-bottom: 4px; font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .2em; color: rgba(255, 255, 255, .55); cursor: pointer; transition: color .3s ease; }
.bkc-seek-close::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .34s cubic-bezier(.4,0,.2,1); }
.bkc-seek-close:hover, .bkc-seek-close:focus-visible { color: #fff; outline: none; }
.bkc-seek-close:hover::after, .bkc-seek-close:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.bkc-seek-form { opacity: 0; transform: translateY(10px); animation: bkcRise .55s cubic-bezier(.16, .84, .44, 1) .18s forwards; }
@keyframes bkcRise { to { opacity: 1; transform: translateY(0); } }
.bkc-seek-form label { display: block; margin: 0 0 16px; padding-left: 2px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 19px; color: rgba(255, 255, 255, .58); }
.bkc-seek input[type="search"] { display: block; width: 100%; -webkit-appearance: none; appearance: none; margin: 0; padding: 4px 2px 16px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .22); border-radius: 0; background: none; box-shadow: none; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-size: clamp(28px, 4vw, 46px); line-height: 1.15; color: #fff; caret-color: rgba(255, 255, 255, .8); transition: border-color .4s ease; }
.bkc-seek input[type="search"]:focus { outline: none; border-bottom-color: rgba(255, 255, 255, .58); }
.bkc-seek input[type="search"]::-webkit-search-cancel-button, .bkc-seek input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; display: none; }
.bkc-seek-hint { margin: 16px 2px 0; font-size: 12.5px; font-weight: 300; letter-spacing: .05em; color: rgba(255, 255, 255, .36); }
.bkc-seek-try { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 26px 2px 0; }
.bkc-seek-try a { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; color: rgba(255, 255, 255, .68); text-decoration: none; padding-bottom: 3px; border-bottom: 1px solid transparent; transition: color .3s ease, border-color .3s ease; }
.bkc-seek-try a:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, .55); }
.bkc-seek-recent { border-left: 1px solid rgba(255, 255, 255, .1); padding-left: 54px; opacity: 0; animation: bkcRise .55s cubic-bezier(.16, .84, .44, 1) .3s forwards; }
.bkc-seek-recent-head { margin: 0 0 20px; font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .16em; color: rgba(255, 255, 255, .38); }
.bkc-seek-piece { display: flex; align-items: center; gap: 16px; padding: 10px 0; text-decoration: none; }
.bkc-seek-thumb { flex: none; width: 62px; height: 62px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.bkc-seek-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; transition: opacity .35s ease, transform .6s cubic-bezier(.2,.6,.2,1); }
.bkc-seek-piece:hover .bkc-seek-thumb img { opacity: 1; transform: scale(1.05); }
.bkc-seek-meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bkc-seek-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; color: rgba(255, 255, 255, .88); line-height: 1.2; }
.bkc-seek-place { font-size: 12.5px; font-weight: 300; letter-spacing: .04em; color: rgba(255, 255, 255, .42); }

.bkc-found { font-size: 14px; color: var(--bk-soft); margin: 0 0 18px; }
.bkc-found a { color: var(--bk-ink); border-bottom: 1px solid var(--bk-rule); text-decoration: none; margin-left: 8px; }





/* New arrivals: a lead piece at the size of four, the rest beside it. */
.bkc-grid-feature { grid-template-columns: repeat(4, 1fr); grid-auto-rows: auto; align-items: stretch; }
.bkc-grid-feature .bkc-lead { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; height: 100%; }
/* Captions are a fixed block, so the lead's photograph ends level with the
   one beside it and both captions start on the same line. */
.bkc-grid-feature .bkc-cap { height: 92px; overflow: hidden; }
.bkc-grid-feature .bkc-card:not(.bkc-lead) .bkc-im { flex: none; aspect-ratio: 1; }
.bkc-grid-feature .bkc-lead .bkc-im { flex: 1 1 auto; aspect-ratio: auto; min-height: 0; height: auto; }
.bkc-grid-feature .bkc-lead .bkc-t { font-size: 26px; line-height: 1.1; margin-top: 12px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.bkc-grid-feature .bkc-lead .bkc-s { font-size: 13px; margin-top: 3px; line-height: 1.35; }
.bkc-grid-feature .bkc-lead .bkc-p { font-size: 15.5px; margin-top: 1px; line-height: 1.3; }
.bkc-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 900px) {
  .bkc-grid-feature { grid-template-columns: repeat(2, 1fr); }
  .bkc-grid-feature .bkc-lead { grid-column: span 2; grid-row: auto; }
  .bkc-grid-feature .bkc-lead .bkc-im { aspect-ratio: 1; }
  .bkc-grid-feature .bkc-lead .bkc-t { font-size: 24px; }
  .bkc-grid-feature .bkc-cap { height: auto; }
}


/* Links in page content: Robert's mauve, not the theme's cerise. Deepened a
   little from the logo colour so it stays readable as text on ivory. */
.elementor-widget-text-editor a, .bkc-desc a, .bkc-statement a, .bkc-current-intro a, .bkc-lead a { color: var(--bk-link); text-decoration: none; border-bottom: 1px solid rgba(140, 74, 139, .3); transition: border-color .3s ease, color .3s ease; }
/* A telephone number and an address are details, not links to be followed. */
a[href^="tel:"], a[href^="mailto:"] { border-bottom-color: transparent !important; }
a[href^="tel:"]:hover, a[href^="mailto:"]:hover { border-bottom-color: var(--bk-seal) !important; }
.bkc-page a:hover, .bkc-wrap a:hover, .elementor-widget-text-editor a:hover, .bkc-desc a:hover { color: var(--bk-seal); border-bottom-color: var(--bk-seal); }
.bkc-sechead a, .bkc-found a { color: var(--bk-ink); border-bottom: 1px solid var(--bk-rule); }
.bkc-card, .bkc-yearcard, .bkc-seek-piece, .bkc-menu a, .bkc-logo { border-bottom: 0; }
/* Buttons keep all four sides: the outlined one lost its base to the rule above. */
.bkc-btn { border: 1px solid var(--bk-ink); }
.bkc-btn.bkc-fill, .bkc-btn.bkc-btn-light { border-color: transparent; }


/* ---------------- Exhibitions ----------------
   The current show gets the dark room; past shows become an archive by year. */
.bkc-band-current { position: relative; width: 100%; background: var(--bk-char); color: #fff; padding: 66px 0 72px; }
.bkc-band-current .bkc-wrap { padding-bottom: 0; }
.bkc-band-h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(26px, 2.6vw, 34px); color: rgba(255, 255, 255, .72); margin: 0 0 26px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
/* Pasted text often carries its own colour; in the dark band, ours wins. */
.bkc-band-intro, .bkc-band-intro p, .bkc-band-intro span, .bkc-band-intro li, .bkc-band-intro strong, .bkc-band-intro em { color: rgba(255, 255, 255, .66) !important; background: none !important; }
.bkc-band-intro a, .bkc-band-intro a span { color: #fff !important; }
.bkc-current-intro, .bkc-current-intro p, .bkc-current-intro span { color: rgba(255, 255, 255, .66) !important; background: none !important; }
.bkc-band-intro { max-width: 100%; margin: 0 0 30px; columns: 2; column-gap: 54px; color: rgba(255, 255, 255, .66); font-size: 15.5px; font-weight: 300; line-height: 1.8; }
.bkc-band-intro p { margin: 0 0 14px; break-inside: avoid; }
.bkc-band-intro p:last-child { margin-bottom: 0; }
.bkc-band-intro br { display: none; }
.bkc-band-intro p:last-child { margin-bottom: 0; }
.bkc-band-intro a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .45); text-decoration: none; }
.bkc-band-intro a:hover { border-bottom-color: var(--bk-mauve-pale); }
.bkc-onnow { display: flex; align-items: center; gap: 11px; margin: 0 0 12px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 18px; color: var(--bk-mauve-pale); }
.bkc-onnow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bk-seal); }
.bkc-current-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; color: #fff; margin: 0 0 16px; max-width: 30ch; }
.bkc-current-intro { max-width: 62ch; margin: 0 0 14px; font-size: 15.5px; font-weight: 300; line-height: 1.75; color: rgba(255, 255, 255, .66); }
.bkc-current-intro p { margin: 0 0 12px; }
.bkc-current-intro p:last-child { margin-bottom: 0; }
.bkc-current-meta { margin: 0 0 32px; font-size: 13px; font-weight: 300; letter-spacing: .06em; color: rgba(255, 255, 255, .44); }
.bkc-band-current .bkc-t, .bkc-band-current .bkc-p { color: #fff; }
.bkc-band-current .bkc-s { color: rgba(255, 255, 255, .48); }
.bkc-band-current .bkc-im { background: rgba(255, 255, 255, .05); }
.bkc-band-current .bkc-tag { background: var(--bk-paper); color: var(--bk-ink); }
.bkc-band-current .bkc-tag.bkc-sold { background: #fff; color: var(--bk-ink); }
.bkc-band-current .bkc-btn-light { margin-top: 30px; }

.bkc-archive { padding-top: 54px; }
.bkc-archive .bkc-wrap { padding-bottom: 0; }
.bkc-archive-span { font-size: 13px; font-weight: 300; color: var(--bk-soft); }
.bkc-yearblock { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 28px; padding: 30px 0; border-top: 1px solid var(--bk-rule); }
.bkc-year { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; line-height: 1; color: var(--bk-soft); }
.bkc-yeargrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 22px; }
.bkc-yearcard { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-bottom: 0; }
.bkc-yearcard .bkc-im { aspect-ratio: 4 / 3; }
.bkc-yt { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18.5px; line-height: 1.2; margin-top: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bkc-ys { font-size: 12.5px; font-weight: 300; color: var(--bk-soft); margin-top: 4px; }
@media (max-width: 900px) {
  .bkc-yeargrid { grid-template-columns: repeat(2, 1fr); }
  .bkc-yearblock { grid-template-columns: 1fr; gap: 12px; }
  .bkc-year { font-size: 24px; }
  .bkc-band-current { padding: 48px 0 54px; }
}


/* The "forty-two years" band: Robert's mauve, deepened enough that white text
   on it clears the readability threshold. */
.bkc-band-mauve { background: var(--bk-band); color: #fff; padding: 62px 0 66px; }
.bkc-band-mauve .elementor-widget-heading .elementor-heading-title { color: #fff; }
.bkc-band-mauve .elementor-widget-text-editor { color: rgba(255, 255, 255, .88); max-width: 70ch; }
.bkc-band-mauve .elementor-widget-text-editor a { color: #fff; border-bottom-color: rgba(255, 255, 255, .5); }
.bkc-band-mauve .bkc-btn { border-color: #fff; color: #fff; }


/* The footer closes the page: a warm near-black rather than true black, which
   would look hard against the mauve above it. */
.bkc-site-foot { background: var(--bk-night); color: rgba(255, 255, 255, .62); border-top: 0; margin-top: 0; padding: 52px 0 46px; }
.bkc-site-foot .bkc-wrap { color: rgba(255, 255, 255, .62); }
.bkc-site-foot .bkc-logo, .bkc-site-foot svg { color: #fff; }
.bkc-site-foot b { color: #fff; font-weight: 400; }
.bkc-site-foot a { color: rgba(255, 255, 255, .78); border-bottom: 0; transition: color .3s ease; }
.bkc-site-foot a:hover { color: #fff; }
.bkc-site-foot a[href^="tel:"], .bkc-site-foot a[href^="mailto:"] { color: rgba(255, 255, 255, .78); }
.bkc-copy { color: rgba(255, 255, 255, .38); }


/* A page title directly beneath the dark bar joins it, rather than being
   stranded on a strip of ivory between two dark fields. */
.bkc-masthead { background: var(--bk-char); color: #fff; padding: 30px 0 26px !important; margin: 0 !important; }
.bkc-masthead .elementor-widget-heading .elementor-heading-title { color: #fff; font-size: clamp(28px, 3.2vw, 40px); }
.bkc-masthead .elementor-widget-text-editor { color: rgba(255, 255, 255, .7); }
.bkc-masthead + .bkc-page, .bkc-masthead + .elementor-element { margin-top: 0; }
.bkc-masthead ~ .elementor-element .bkc-band-current { padding-top: 34px; }


/* The introduction runs to a comfortable measure on a desktop; on a phone it
   opens at a few lines with the rest a tap away, so nobody has to scroll past
   four paragraphs to reach the first object. */
.bkc-intro-more { display: none; }
@media (max-width: 1020px) { .bkc-band-intro { columns: 1; max-width: 74ch; } }
@media (max-width: 860px) {
  .bkc-band-intro { position: relative; max-height: 7.6em; overflow: hidden; margin-bottom: 10px; }
  .bkc-band-intro::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.2em; background: linear-gradient(rgba(36,31,34,0), #241f22); pointer-events: none; }
  .bkc-band-intro.bkc-open { max-height: none; }
  .bkc-band-intro.bkc-open::after { display: none; }
  .bkc-intro-more { display: inline-block; margin: 0 0 28px; padding-bottom: 4px; font-size: 13px; font-weight: 300; letter-spacing: .14em; color: rgba(255, 255, 255, .8); border-bottom: 1px solid rgba(255, 255, 255, .35); cursor: pointer; }
}


/* ---------------- Mailing list ----------------
   Set like the search: a line of Cormorant on a hairline, no boxes. Sits
   directly above the footer so the page closes with the invitation. */
/* Full width without 100vw, which includes the scrollbar and overflows: the
   Elementor container is set to full width, so 100% is the page width. */
.bkc-signup { position: relative; width: 100%; background: var(--bk-night); color: #fff; padding: 62px 0 58px; }
.bkc-signup + .bkc-site-foot, .bkc-signup ~ .bkc-site-foot { padding-top: 0; }
.bkc-signup + .bkc-site-foot { padding-top: 0; }
.bkc-signup + .bkc-site-foot .bkc-wrap { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 46px; }
.bkc-signup .bkc-wrap { padding-bottom: 0; }
.bkc-signup-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.bkc-signup-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.1; color: #fff; margin: 0 0 12px; }
.bkc-signup-title:last-child { margin-bottom: 0; }
.bkc-signup-text { margin: 0; font-size: 15px; font-weight: 300; line-height: 1.7; color: rgba(255, 255, 255, .58); max-width: 42ch; }
.bkc-signup-form label { display: block; margin: 0 0 10px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 17px; color: rgba(255, 255, 255, .52); }
.bkc-signup-line { display: flex; align-items: baseline; gap: 18px; border-bottom: 1px solid rgba(255, 255, 255, .26); transition: border-color .35s ease; }
.bkc-signup-line:focus-within { border-bottom-color: rgba(255, 255, 255, .6); }
.bkc-signup input[type="email"] { flex: 1; min-width: 0; -webkit-appearance: none; appearance: none; margin: 0; padding: 4px 2px 14px; border: 0; border-radius: 0; background: none; box-shadow: none; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2; color: #fff; caret-color: rgba(255, 255, 255, .8); }
.bkc-signup input[type="email"]:focus { outline: none; }
.bkc-signup-go { flex: none; padding-bottom: 4px; font-size: 13px; font-weight: 300; letter-spacing: .2em; color: rgba(255, 255, 255, .78); cursor: pointer; position: relative; }
.bkc-signup-go::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .34s cubic-bezier(.4,0,.2,1); }
.bkc-signup-go:hover, .bkc-signup-go:focus-visible { color: #fff; outline: none; }
.bkc-signup-go:hover::after, .bkc-signup-go:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.bkc-signup-small { margin: 14px 0 0; font-size: 12.5px; font-weight: 300; color: rgba(255, 255, 255, .38); }
.bkc-signup-msg { margin: 12px 0 0; min-height: 1.2em; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 17px; color: var(--bk-mauve-pale); }
.bkc-signup-msg.bkc-bad { color: #e7b3ac; }
.bkc-signup.bkc-sent .bkc-signup-line { opacity: .35; pointer-events: none; }
@media (max-width: 860px) {
  .bkc-signup { padding: 46px 0 44px; }
  .bkc-signup-inner { grid-template-columns: 1fr; gap: 26px; }
}


/* The theme turns every link indigo on hover (reset.css: a:hover{color:#336}).
   Nothing of ours should inherit that — each element states its own. */
.bkc-logo:hover, .bkc-logo:active { color: #fff; }
.bkc-site-head.bkc-pinned .bkc-logo:hover { color: #fff; }
.bkc-menu a:hover, .bkc-menu a:active { color: #fff; }
.bkc-card:hover, .bkc-card:active, .bkc-yearcard:hover, .bkc-yearcard:active, .bkc-seek-piece:hover, .bkc-seek-piece:active { color: inherit; }
.bkc-btn:hover, .bkc-btn:active { color: var(--bk-ink); }
.bkc-btn-light:hover, .bkc-btn-light:active { color: var(--bk-ink); }
.bkc-band-mauve .bkc-btn:hover { color: #fff; }
.bkc-crumb a:hover, .bkc-sechead a:hover, .bkc-found a:hover { color: var(--bk-ink); }
.bkc-filters a:hover { color: var(--bk-ink); }
.bkc-filters a.on:hover { color: #fff; }
.bkc-site-foot a:hover, .bkc-site-foot a:active { color: #fff; }
.bkc-seek-try a:hover, .bkc-quiet:hover, .bkc-seek-close:hover { color: #fff; }
.bkc-band-intro a:hover { color: #fff !important; }


/* ================= Mobile: the last word =================
   Consolidated here so nothing earlier in this file can override it. */
@media (max-width: 860px) {
  /* The header stays above the panel and keeps its own logo, so the mark and
     the Close sit on one line without being duplicated. */
  .bkc-site-head { z-index: 60; }
  .bkc-menu-logo { display: none !important; }
  .bkc-menu { position: fixed; inset: 74px 0 0 0 !important; width: auto !important; height: auto !important; }
  .bkc-site-head.bkc-nav-open { position: fixed !important; top: 0 !important; left: 0; right: 0; }
  /* The pinned bar is identical to the resting one, so the changeover is
     invisible rather than a jolt. */
  .bkc-site-head.bkc-pinned .bkc-nav, .bkc-site-head.bkc-nav-open .bkc-nav { height: 74px; padding-top: 0; align-items: center; }
  .bkc-site-head.bkc-pinned .bkc-logo { --bkc-logo: 23px; }

  /* Burger becomes the word, not a cross. */
  .bkc-burger { width: 34px; }
  .bkc-burger.bkc-open { width: auto; height: 22px; }
  .bkc-burger.bkc-open span, .bkc-burger.bkc-open span::before, .bkc-burger.bkc-open span::after { display: none; }
  .bkc-burger.bkc-open::after { content: "Close"; font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .2em; color: #fff; }

  /* Search: one column, and the field sized for a phone. */
  .bkc-seek-inner { grid-template-columns: 1fr !important; gap: 0 !important; padding: 30px 28px 36px !important; }
  .bkc-seek-recent { display: none !important; }
  .bkc-seek-close { top: 16px !important; right: 24px !important; }
  .bkc-seek-form { max-width: 100%; }
  .bkc-seek input[type="search"] { font-size: 26px !important; }
  .bkc-seek-try { gap: 6px 22px; margin-top: 22px; }
  .bkc-seek-try a { font-size: 18px; }

  /* Spacing: the hero runs into the statement without a field of nothing. */
  .bkc-hero { padding: 0 0 26px !important; }
  .bkc-hero-label { padding-top: 22px !important; }
  .bkc-statement-band { padding: 26px 24px 28px; }
  .bkc-statement { padding: 0 !important; font-size: 19px; }
  .bkc-band-current, .bkc-signup { padding: 40px 0 42px; }
  .bkc-band-mauve { padding-top: 40px; padding-bottom: 42px; }
  .bkc-archive { padding-top: 30px; }
  .bkc-menu .bkc-menu-foot { display: flex; flex-direction: column; gap: 6px; margin: 0; }
  .bkc-menu .bkc-menu-logo { display: none; }
}


.bkc-page .elementor-widget-heading:not(:last-child) { margin-bottom: 20px; }
.bkc-page .elementor-widget-heading + .elementor-widget-shortcode { margin-top: 4px; }

/* Elementor puts a flex gap between the widgets in a container, which shows as
   a pale line between two bands that should meet. Our band sections close it. */
.elementor-element:has(> .elementor-widget-container > .bkc-hero),
.e-con-inner:has(> .elementor-widget > .elementor-widget-container > .bkc-statement-band) { gap: 0; }
.elementor-widget-shortcode:has(.bkc-hero), .elementor-widget-shortcode:has(.bkc-statement-band),
.elementor-widget-shortcode:has(.bkc-band-current), .elementor-widget-shortcode:has(.bkc-signup) { margin-block-end: 0 !important; }


/* Back to top: a quiet mark in the footer, not a floating bubble. */
.bkc-top { display: inline-flex; align-items: center; gap: 9px; padding: 0 0 6px; color: rgba(255, 255, 255, .55); font-size: 12.5px; font-weight: 300; letter-spacing: .18em; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .2); transition: color .3s ease, border-color .3s ease; }
.bkc-top:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, .6); }
.bkc-site-foot .bkc-wrap:first-child { padding-bottom: 26px; }

@media (max-width: 860px) {
  /* The shorthand padding further down the file was resetting these to zero. */
  .bkc-band-mauve { padding: 40px 24px 42px !important; }
  .bkc-statement-band { padding: 26px 24px 28px !important; }

  /* Footer: the navigation is already in the menu, so the foot is just who and
     where, set centrally and close together. */
  .bkc-site-foot { padding: 30px 0 34px; text-align: center; }
  .bkc-site-foot .bkc-wrap:first-child { padding-bottom: 20px; }
  .bkc-foot-cols { display: block; }
  .bkc-foot-cols > div:nth-child(2) { display: none; }
  .bkc-foot-cols > div:nth-child(3) p:first-child { margin-top: 14px; }
  .bkc-foot-cols svg { margin: 0 auto; }
  .bkc-foot-cols p { margin: 8px 0 0; line-height: 1.7; font-size: 13px; }
  .bkc-copy { margin-top: 14px !important; font-size: 11.5px; }
  .bkc-top { letter-spacing: .16em; }
}


/* The search's submit control. Stated last and stated strongly: the theme
   paints [type="submit"] in its own cerise. */
.bkc-seek .bkc-seek-submit,
.bkc-seek button.bkc-seek-submit,
.bkc-seek [type="submit"] {
	display: inline-block; margin: 16px 2px 0; padding: 0 0 4px;
	background: none !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .4) !important; border-radius: 0 !important;
	font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .2em;
	color: rgba(255, 255, 255, .8) !important; cursor: pointer;
	transition: color .3s ease, border-color .3s ease;
}
.bkc-seek .bkc-seek-submit:hover, .bkc-seek [type="submit"]:hover,
.bkc-seek .bkc-seek-submit:focus-visible { color: #fff !important; border-bottom-color: #fff !important; outline: none; }


/* Mobile: close every possible source of space between the hero and the band
   beneath it — container gaps, widget margins, and any empty paragraph
   WordPress may leave around a shortcode. */
@media (max-width: 860px) {
	.e-con:has(.bkc-statement-band), .e-con-inner:has(.bkc-statement-band),
	.e-con:has(.bkc-hero), .e-con-inner:has(.bkc-hero) { gap: 0 !important; row-gap: 0 !important; }
	.elementor-widget-shortcode:has(.bkc-hero),
	.elementor-widget-shortcode:has(.bkc-statement-band),
	.elementor-widget-shortcode:has(.bkc-band-current),
	.elementor-widget-shortcode:has(.bkc-signup) { margin: 0 !important; padding: 0 !important; }
	.bkc-hero + p:empty, .bkc-statement-band + p:empty, .elementor-widget-shortcode p:empty { display: none !important; margin: 0 !important; }
	.bkc-hero { margin-bottom: 0 !important; }
	.bkc-statement-band { margin-top: 0 !important; }
}


/* Elementor spaces its widgets apart (margin-block-end). Earlier I closed that
   with :has(), which Firefox and older Safari ignore — so the bands are tagged
   directly instead, which every browser understands. */
.bkc-band-widget, .bkc-band-widget .elementor-widget-container, .bkc-band-widget .elementor-shortcode {
	margin: 0 !important; padding: 0 !important; line-height: 0;
}
.bkc-band-widget section { line-height: 1.6; }


/* ---------------- A second view ----------------
   The other photograph sits behind the first and comes forward on hover, so
   the card shows the piece turning rather than a slideshow. Where there is no
   pointer, the count in the corner does the telling. */
.bkc-im-alt { position: absolute; inset: 0; opacity: 0; transition: opacity .55s cubic-bezier(.2,.6,.2,1); }
.bkc-im-alt img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; }
.bkc-views { position: absolute; left: 10px; right: auto; bottom: 10px; z-index: 2; padding: 3px 8px; background: rgba(255, 253, 249, .9); color: var(--bk-ink); font-family: Jost, 'Gill Sans', sans-serif; font-weight: 300; font-size: 10.5px; letter-spacing: .12em; transition: opacity .35s ease; }
.bkc-band-current .bkc-views { background: rgba(255, 255, 255, .88); }
/* Views sit bottom left, so an exhibition's number keeps the bottom right to itself (1.9.10). */
@media (hover: hover) and (pointer: fine) {
	.bkc-has-views:hover .bkc-im-alt { opacity: 1; }
	.bkc-has-views:hover .bkc-views { opacity: 0; }
	.bkc-card:hover .bkc-im-alt img { transform: scale(1.07); }
}
@media (prefers-reduced-motion: reduce) { .bkc-im-alt { transition: none; } }

/* ---------- Terms and privacy (1.9.6) ---------- */
html body .bkc-legal { max-width: 760px; }
html body .bkc-legal-head { padding: 28px 0 10px; border-bottom: 1px solid var(--bk-rule); margin-bottom: 30px; }
html body .bkc-prose { font-size: 16px; line-height: 1.75; color: var(--bk-ink); font-weight: 300; }
html body .bkc-prose p, html body .bkc-prose ul { margin: 0 0 1.05em; }
html body .bkc-prose h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(23px, 2.4vw, 27px); line-height: 1.2; color: var(--bk-ink); margin: 1.9em 0 .55em; scroll-margin-top: 90px; }
html body .bkc-prose ul { padding-left: 1.2em; } html body .bkc-prose li { margin: 0 0 .45em; }
html body .bkc-prose strong { font-weight: 500; }
html body .bkc-prose a, html body .bkc-legal-foot a { color: var(--bk-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
html body .bkc-legal-foot { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--bk-rule); font-size: 14px; color: var(--bk-soft); }

/* ---------- Page not found (1.9.6) ---------- */
html body .bkc-404-head { padding: 54px 0 46px; max-width: 760px; }
html body .bkc-404-head .bkc-h1 { font-size: clamp(36px, 5vw, 56px); }
html body .bkc-404-search { margin: 30px 0 0; }
html body .bkc-404-search label { display: block; margin: 0 0 8px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 18px; color: var(--bk-soft); }
html body .bkc-404-field { display: flex; gap: 0; align-items: stretch; }
html body .bkc-404-field input[type="search"] { flex: 1; min-width: 0; -webkit-appearance: none; appearance: none; margin: 0; padding: 10px 14px; border: 1px solid var(--bk-ink); border-right: 0; border-radius: 0; background: var(--bk-paper); box-shadow: none; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; line-height: 1.2; color: var(--bk-ink); }
html body .bkc-404-field input[type="search"]:focus { outline: 2px solid var(--bk-seal); outline-offset: 2px; }
html body .bkc-404-field .bkc-btn { margin: 0; border-radius: 0; cursor: pointer; font-family: Jost, 'Gill Sans', sans-serif; }
html body .bkc-404-try { margin: 12px 0 0; font-size: 14px; color: var(--bk-soft); }
html body .bkc-404-try a { color: var(--bk-link); text-decoration: none; border-bottom: 1px solid var(--bk-rule); }
html body .bkc-404-ways { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
html body .bkc-404-ways .bkc-btn { margin: 0; }
html body .bkc-signup-small a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 520px) {
	html body .bkc-404-head { padding: 34px 0 30px; }
	html body .bkc-404-ways .bkc-btn { flex: 1 1 calc(50% - 5px); text-align: center; padding: 12px 8px; }
	html body .bkc-prose { font-size: 15.5px; }
}
/* The button reset at the top of this file is !important, so the search button has to be too (measured live, 1.9.7). */
html body .bkc-wrap .bkc-404-field button.bkc-btn, html body .bkc-wrap .bkc-404-field button.bkc-btn:hover, html body .bkc-wrap .bkc-404-field button.bkc-btn:focus { background: var(--bk-ink) !important; background-color: var(--bk-ink) !important; border: 1px solid var(--bk-ink) !important; color: #fff !important; padding: 12px 22px; }
html body .bkc-wrap .bkc-404-field button.bkc-btn:hover { opacity: .85; }

/* ---------- Robert's address under the enquiry button (1.9.20) ---------- */
html body .bkc-mailnote { margin: 14px 0 0; font-size: 13px; color: var(--bk-soft); }
html body .bkc-mailnote a { color: var(--bk-ink); text-decoration: none; border-bottom: 1px solid var(--bk-rule); }
html body .bkc-copy { margin-left: 8px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-link); cursor: pointer; border-bottom: 1px solid transparent; }
html body .bkc-copy:hover, html body .bkc-copy:focus { border-bottom-color: var(--bk-link); outline: none; }
