/** Shopify CDN: Minification failed

Line 249:51 Unexpected "\\n"
Line 249:141 Expected "{" but found end of file

**/
/* ============================================
   BM ARTISTRY — Complete Theme CSS
   Self-contained: tokens, layout, components
   ============================================ */

/* --- Tokens --- */
:root {
  --f-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --f-serif: "Playfair Display", ui-serif, Georgia, serif;
  --c-gold: #C5A059;
  --c-blush: #FDF2F0;
  --c-blush-deep: #F9E7E7;
  --c-charcoal: #1A1A1A;
  --c-taupe: #D2B4A3;
  --c-white: #FFFFFF;
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body.bm-body {
  font-family: var(--f-sans);
  background: var(--c-blush);
  color: var(--c-charcoal);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--f-serif); letter-spacing: -0.02em; margin: 0; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { cursor: pointer; }
.skip-to-content-link { position: absolute; top: -100%; left: 50%; transform: translateX(-50%); z-index: 999; background: var(--c-charcoal); color: #fff; padding: 1rem 2rem; }
.skip-to-content-link:focus { top: 0; }

/* --- Utilities --- */
.bm-container { max-width: 80rem; margin: 0 auto; padding: 0 1.5rem; }
.bm-container-wide { max-width: 1800px; margin: 0 auto; padding: 0 1.5rem; }
.bm-eyebrow { font-size: 0.625rem; letter-spacing: 0.6em; text-transform: uppercase; color: var(--c-gold); font-weight: 700; display: block; margin-bottom: 2.5rem; }

/* --- Reveal Animation --- */
.bm-reveal { opacity: 0; transform: translateY(60px); transition: opacity 0.8s cubic-bezier(0.17,0.55,0.55,1), transform 0.8s cubic-bezier(0.17,0.55,0.55,1); }
.bm-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ============================================
   NAVIGATION
   ============================================ */
.bm-nav { position: fixed; top: 0; width: 100%; z-index: 50; padding: 2rem 0; transition: all 0.5s; }\n.bm-nav--solid { background: var(--color-background, var(--c-blush)); border-bottom: 1px solid rgba(197,160,89,0.1); }\n.bm-nav--transparent { background: transparent; }
.bm-nav.scrolled { padding: 1rem 0; background: rgba(253,242,240,0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(197,160,89,0.1); }
.bm-nav__inner { max-width: 1800px; margin: 0 auto; padding: 0 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.bm-nav__logo-wrap { display: flex; flex-direction: column; text-decoration: none; }
.bm-nav__logo { font-family: var(--f-serif); font-size: 2rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 300; line-height: 1; }
.bm-nav__logo-sub { font-size: 0.5625rem; letter-spacing: 0.6em; text-transform: uppercase; opacity: 0.4; margin-top: 0.25rem; }
.bm-nav__links { display: none; align-items: center; gap: 4rem; }
.bm-nav__link { font-size: 0.625rem; letter-spacing: 0.4em; text-transform: uppercase; font-weight: 500; position: relative; transition: color 0.3s; }
.bm-nav__link::after { content: ''; position: absolute; bottom: -0.5rem; left: 50%; transform: translateX(-50%); width: 0; height: 1px; background: var(--c-gold); transition: width 0.3s; }
.bm-nav__link:hover::after { width: 100%; }
.bm-nav__link:hover { color: var(--c-gold); }
.bm-nav__icons { display: flex; align-items: center; gap: 2rem; padding-left: 3rem; border-left: 1px solid rgba(197,160,89,0.2); }
.bm-nav__icon { transition: color 0.3s, transform 0.3s; display: inline-flex; }
.bm-nav__icon:hover { color: var(--c-gold); transform: scale(1.1); }
.bm-nav__burger { display: block; background: none; border: none; color: var(--c-charcoal); }
@media (min-width: 1024px) {
  .bm-nav__links { display: flex; }
  .bm-nav__burger { display: none; }
}

/* Mobile Menu */
.bm-mobile-menu { position: fixed; inset: 0; z-index: 60; background: var(--c-blush); display: flex; flex-direction: column; opacity: 0; pointer-events: none; transition: opacity 0.5s; }
.bm-mobile-menu.open { opacity: 1; pointer-events: all; }
.bm-mobile-menu__header { padding: 2rem 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.bm-mobile-menu__close { background: none; border: none; color: var(--c-gold); cursor: pointer; }
.bm-mobile-menu__body { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3rem; }
.bm-mobile-menu__link { font-family: var(--f-serif); font-size: 3rem; font-style: italic; color: var(--c-charcoal); transition: color 0.3s; }
.bm-mobile-menu__link:hover { color: var(--c-gold); }
.bm-mobile-menu__socials { padding: 4rem; display: flex; justify-content: center; gap: 3rem; }

/* ============================================
   HERO
   ============================================ */
.bm-hero { position: relative; height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--c-blush-deep); overflow: hidden; }
.bm-hero__bg { position: absolute; inset: 0; z-index: 0; }
.bm-hero__bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8); }
.bm-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(253,242,240,0.2), rgba(253,242,240,0.1) 50%, var(--c-blush)); }
.bm-hero__content { position: relative; z-index: 10; text-align: center; max-width: 72rem; }
.bm-hero__eyebrow { display: block; font-size: 0.625rem; letter-spacing: 1em; text-transform: uppercase; color: var(--c-gold); font-weight: 700; margin-bottom: 3rem; }
.bm-hero__title { font-size: clamp(4rem, 12vw, 11rem); line-height: 0.8; letter-spacing: -0.04em; }
.bm-hero__title em { font-style: italic; opacity: 0.8; color: var(--c-taupe); font-weight: 300; }
.bm-hero__meta { margin-top: 5rem; display: flex; flex-direction: column; align-items: center; gap: 2rem; }
.bm-hero__tagline { max-width: 20rem; font-size: 0.6875rem; letter-spacing: 0.35em; text-transform: uppercase; line-height: 2.2; opacity: 0.5; font-weight: 500; text-align: left; }
.bm-hero__divider { width: 1px; height: 6rem; background: rgba(197,160,89,0.3); display: none; }
.bm-hero__cta { display: flex; align-items: center; gap: 1.5rem; font-size: 0.6875rem; letter-spacing: 0.5em; text-transform: uppercase; font-weight: 700; }
.bm-hero__cta-circle { width: 3rem; height: 3rem; border: 1px solid rgba(197,160,89,0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background 0.3s, border-color 0.3s; color: var(--c-gold); }
.bm-hero__cta:hover .bm-hero__cta-circle { background: var(--c-gold); border-color: var(--c-gold); color: #fff; }
.bm-hero__scroll { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); opacity: 0.3; display: flex; flex-direction: column; align-items: center; gap: 1rem; animation: heroFloat 4s ease-in-out infinite; }
.bm-hero__scroll span { font-size: 0.5625rem; letter-spacing: 0.6em; text-transform: uppercase; }
.bm-hero__scroll-line { width: 1px; height: 4rem; background: linear-gradient(to bottom, var(--c-gold), transparent); }
@keyframes heroFloat { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(20px); } }
@media (min-width: 768px) {
  .bm-hero__meta { flex-direction: row; gap: 4rem; }
  .bm-hero__divider { display: block; }
}

/* ============================================
   PHILOSOPHY
   ============================================ */
.bm-philosophy { padding: 8rem 0; position: relative; }
.bm-philosophy__layout { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; }
.bm-philosophy__title { font-size: clamp(3rem, 8vw, 5rem); line-height: 1.1; margin-bottom: 4rem; letter-spacing: -0.03em; }
.bm-philosophy__title em { color: var(--c-taupe); font-style: italic; }
.bm-philosophy__quote { font-size: clamp(1.25rem, 3vw, 1.875rem); font-weight: 300; opacity: 0.6; line-height: 1.6; font-style: italic; margin-bottom: 4rem; }
.bm-philosophy__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
.bm-philosophy__icon { width: 3rem; height: 3rem; border: 1px solid rgba(197,160,89,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--c-gold); margin-bottom: 1.5rem; transition: background 0.3s; }
.bm-philosophy__item-title { font-size: 1.5rem; font-weight: 300; margin-bottom: 0.75rem; }
.bm-philosophy__item-desc { font-size: 0.625rem; letter-spacing: 0.3em; text-transform: uppercase; opacity: 0.4; line-height: 2; }
.bm-philosophy__img { aspect-ratio: 4/5; overflow: hidden; background: var(--c-blush); box-shadow: 0 40px 80px -20px rgba(197,160,89,0.15); }
.bm-philosophy__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.7); }
@media (min-width: 768px) { .bm-philosophy__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .bm-philosophy__layout { grid-template-columns: 7fr 5fr; gap: 5rem; } }

/* ============================================
   GALLERY
   ============================================ */
.bm-gallery { padding: 8rem 0; }
.bm-gallery__header { text-align: center; margin-bottom: 6rem; }
.bm-gallery__title { font-size: clamp(3.5rem, 10vw, 9rem); line-height: 1; margin-bottom: 4rem; letter-spacing: -0.04em; opacity: 0.9; }
.bm-gallery__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; background: rgba(255,255,255,0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding: 0.5rem; border-radius: 999px; border: 1px solid rgba(197,160,89,0.1); }
.bm-gallery__filter { padding: 0.75rem 1.5rem; font-size: 0.625rem; letter-spacing: 0.4em; text-transform: uppercase; font-weight: 700; border-radius: 999px; color: rgba(26,26,26,0.5); cursor: pointer; transition: all 0.5s; border: none; background: transparent; font-family: var(--f-sans); }
.bm-gallery__filter.active { background: var(--c-charcoal); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.15); transform: translateY(-2px); }
.bm-gallery__filter:hover:not(.active) { color: var(--c-gold); background: var(--c-white); }
.bm-gallery__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; padding: 0 1.5rem; }
.bm-gallery__card { opacity: 0; transform: translateY(40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.bm-gallery__card.is-visible { opacity: 1; transform: translateY(0); }
.bm-gallery__card-img { aspect-ratio: 3/4; overflow: hidden; background: var(--c-white); position: relative; margin-bottom: 1.5rem; box-shadow: 0 40px 80px -20px rgba(197,160,89,0.15); }
.bm-gallery__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 3s ease-out; opacity: 0.9; }
.bm-gallery__card:hover .bm-gallery__card-img img { transform: scale(1.1); }
.bm-gallery__card-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s; background: rgba(197,160,89,0.1); backdrop-filter: blur(2px); }
.bm-gallery__card:hover .bm-gallery__card-overlay { opacity: 1; }
.bm-gallery__card-overlay a { background: #fff; color: var(--c-charcoal); padding: 1.25rem 2.5rem; font-size: 0.625rem; letter-spacing: 0.5em; text-transform: uppercase; font-weight: 700; transform: translateY(1rem); transition: transform 0.3s, background 0.3s, color 0.3s; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.bm-gallery__card:hover .bm-gallery__card-overlay a { transform: translateY(0); }
.bm-gallery__card-overlay a:hover { background: var(--c-gold); color: #fff; }
.bm-gallery__card-cat { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.5rem; }
.bm-gallery__card-cat-line { width: 3rem; height: 1px; background: rgba(197,160,89,0.4); }
.bm-gallery__card-cat span { font-size: 0.625rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--c-gold); font-weight: 700; }
.bm-gallery__card-title { font-size: 1.75rem; margin-bottom: 0.5rem; transition: font-style 0.5s; letter-spacing: -0.02em; }
.bm-gallery__card:hover .bm-gallery__card-title { font-style: italic; }
.bm-gallery__card-dims { font-size: 0.75rem; opacity: 0.4; font-style: italic; letter-spacing: 0.2em; padding-bottom: 0.25rem; border-bottom: 1px solid rgba(197,160,89,0.1); display: inline-block; transition: border-color 0.3s; }
.bm-gallery__card:hover .bm-gallery__card-dims { border-color: var(--c-gold); }
@media (min-width: 640px) { .bm-gallery__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bm-gallery__grid { grid-template-columns: repeat(3, 1fr); gap: 4rem 4rem; } }

/* ============================================
   ARTIST
   ============================================ */
.bm-artist { padding: 8rem 0; position: relative; overflow: hidden; }
.bm-artist__layout { display: grid; grid-template-columns: 1fr; gap: 4rem; position: relative; z-index: 10; }
.bm-artist__img { aspect-ratio: 4/5; overflow: hidden; box-shadow: 0 40px 80px -20px rgba(197,160,89,0.15); }
.bm-artist__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(0.9); transition: transform 4s; }
.bm-artist__img:hover img { transform: scale(1.05); }
.bm-artist__content { display: flex; flex-direction: column; justify-content: center; }
.bm-artist__title { font-size: clamp(3rem, 8vw, 5rem); line-height: 0.9; margin-bottom: 3rem; letter-spacing: -0.03em; }
.bm-artist__title em { color: var(--c-taupe); font-style: italic; }
.bm-artist__bio { font-size: 1.125rem; font-weight: 300; opacity: 0.6; line-height: 1.8; margin-bottom: 3rem; }
.bm-artist__bio p { margin-bottom: 1.5rem; }
.bm-artist__cta { display: inline-flex; align-items: center; gap: 1.5rem; font-size: 0.6875rem; letter-spacing: 0.5em; text-transform: uppercase; color: var(--c-gold); font-weight: 700; }
.bm-artist__cta-circle { width: 3rem; height: 3rem; border: 1px solid rgba(197,160,89,0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background 0.5s; color: var(--c-gold); }
.bm-artist__cta:hover .bm-artist__cta-circle { background: var(--c-gold); color: #fff; }
@media (min-width: 1024px) { .bm-artist__layout { grid-template-columns: 5fr 7fr; gap: 6rem; align-items: center; } }

/* ============================================
   INSTALLATIONS
   ============================================ */
.bm-installs { padding: 8rem 0; }
.bm-installs__title { font-size: clamp(3rem, 8vw, 5rem); margin-bottom: 6rem; letter-spacing: -0.03em; }
.bm-installs__title em { font-style: italic; }
.bm-installs__item { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-bottom: 6rem; }
.bm-installs__img { aspect-ratio: 16/9; overflow: hidden; box-shadow: 0 40px 80px -20px rgba(197,160,89,0.15); }
.bm-installs__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.5s; }
.bm-installs__item:hover .bm-installs__img img { transform: scale(1.05); }
.bm-installs__item-title { font-size: 2rem; font-style: italic; margin-bottom: 1rem; }
.bm-installs__item-desc { font-size: 1.125rem; font-weight: 300; opacity: 0.5; line-height: 1.6; max-width: 24rem; }
@media (min-width: 768px) {
  .bm-installs__item { grid-template-columns: 7fr 5fr; gap: 4rem; align-items: center; }
  .bm-installs__item--reverse { grid-template-columns: 5fr 7fr; }
  .bm-installs__item--reverse .bm-installs__img { order: 2; }
}

/* ============================================
   SOCIAL GRID
   ============================================ */
.bm-social { padding: 8rem 0; overflow: hidden; }
.bm-social__header { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 4rem; padding: 0 1.5rem; }
.bm-social__title { font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: -0.02em; }
.bm-social__link { font-size: 0.625rem; letter-spacing: 0.5em; text-transform: uppercase; font-weight: 700; border-bottom: 2px solid var(--c-charcoal); padding-bottom: 0.5rem; align-self: flex-start; transition: border-color 0.5s; }
.bm-social__link:hover { border-color: var(--c-gold); }
.bm-social__grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.bm-social__cell { aspect-ratio: 1/1; overflow: hidden; position: relative; }
.bm-social__cell img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter 2s, transform 2s; }
.bm-social__cell:hover img { filter: grayscale(0); transform: scale(1.1); }
.bm-social__cell-overlay { position: absolute; inset: 0; background: rgba(197,160,89,0.2); opacity: 0; display: flex; align-items: center; justify-content: center; transition: opacity 0.5s; }
.bm-social__cell:hover .bm-social__cell-overlay { opacity: 1; }
@media (min-width: 768px) {
  .bm-social__header { flex-direction: row; justify-content: space-between; align-items: flex-end; }
  .bm-social__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) { .bm-social__grid { grid-template-columns: repeat(6, 1fr); } }

/* ============================================
   CONTACT
   ============================================ */
.bm-contact { padding: 8rem 0; }
.bm-contact__layout { display: grid; grid-template-columns: 1fr; gap: 4rem; }
.bm-contact__title { font-size: clamp(3rem, 8vw, 6rem); line-height: 0.9; margin-bottom: 2rem; letter-spacing: -0.03em; }
.bm-contact__title em { font-style: italic; color: var(--c-gold); }
.bm-contact__sub { font-size: 1.125rem; font-weight: 300; opacity: 0.5; line-height: 1.6; margin-bottom: 3rem; max-width: 28rem; }
.bm-contact__label { font-size: 0.625rem; letter-spacing: 0.8em; text-transform: uppercase; color: var(--c-gold); font-weight: 700; margin-bottom: 1rem; }
.bm-contact__email { font-size: clamp(1.5rem, 4vw, 3rem); font-family: var(--f-serif); font-style: italic; display: block; margin-bottom: 0.5rem; transition: color 0.3s; }
.bm-contact__email:hover { color: var(--c-gold); }
.bm-contact__loc { font-size: 0.75rem; letter-spacing: 0.3em; text-transform: uppercase; opacity: 0.4; }
.bm-contact__form { background: var(--c-white); padding: 2.5rem; box-shadow: 0 40px 80px -20px rgba(197,160,89,0.15); }
.bm-contact__field { width: 100%; border: none; border-bottom: 1px solid rgba(26,26,26,0.1); background: transparent; padding: 1.5rem 0; font-family: var(--f-sans); font-size: 0.625rem; letter-spacing: 0.4em; text-transform: uppercase; outline: none; transition: border-color 0.3s; margin-bottom: 1rem; -webkit-appearance: none; border-radius: 0; }
.bm-contact__field::placeholder { opacity: 0.3; }
.bm-contact__field:focus { border-color: var(--c-gold); }
.bm-contact__submit { width: 100%; background: var(--c-charcoal); color: #fff; border: none; padding: 1.5rem; font-size: 0.6875rem; letter-spacing: 0.6em; text-transform: uppercase; font-weight: 700; cursor: pointer; transition: background 0.5s; margin-top: 1rem; font-family: var(--f-sans); }
.bm-contact__submit:hover { background: var(--c-gold); }
@media (min-width: 1024px) {
  .bm-contact__layout { grid-template-columns: 1fr 1fr; gap: 8rem; align-items: start; }
  .bm-contact__form { padding: 4rem; }
}

/* ============================================
   FOOTER
   ============================================ */
.bm-footer { padding: 6rem 1.5rem; }
.bm-footer__logo { font-family: var(--f-serif); font-size: 3rem; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1; display: block; }
.bm-footer__rule { width: 6rem; height: 1px; background: rgba(197,160,89,0.4); margin: 1rem auto; }
.bm-footer__sub { font-size: 0.6875rem; letter-spacing: 1em; text-transform: uppercase; opacity: 0.4; font-weight: 700; margin-bottom: 3rem; display: block; }
.bm-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin-bottom: 4rem; }
.bm-footer__link { font-size: 0.625rem; letter-spacing: 0.5em; text-transform: uppercase; font-weight: 700; opacity: 0.5; transition: opacity 0.3s, color 0.3s; }
.bm-footer__link:hover { opacity: 1; color: var(--c-gold); }
.bm-footer__copy { font-size: 0.625rem; letter-spacing: 0.4em; text-transform: uppercase; opacity: 0.3; margin-bottom: 0.5rem; }
.bm-footer__tag { font-size: 0.5625rem; letter-spacing: 0.6em; text-transform: uppercase; opacity: 0.2; font-style: italic; }
\n/* Disable reveal animations in Shopify Editor */\n.shopify-design-mode .bm-reveal { opacity: 1 !important; transform: none !important; }\n