/* =========================================================
   BEAMCRAFT — GLOBAL STYLESHEET
   Premium dark / metallic / electric purple design system
   Adapted from the Beamcraft AI Handoff Pack for standalone use
   ========================================================= */

:root {
  color-scheme: dark;
  --bc-bg: #0c0812;
  --bc-bg-elev: #0f0a18;
  --bc-surface: #17111f;
  --bc-panel: #21172e;
  --bc-white: #faf7ff;
  --bc-muted: #ddd3e7;
  --bc-purple: #d9a6ff;
  --bc-purple-glow: rgba(199, 123, 255, 0.35);
  --bc-cta: #8525ce;
  --bc-cta-deep: #6420b5;
  --bc-silver: #e7e1ee;
  --bc-cyan: #83e2ec;
  --bc-border: rgba(209, 163, 250, 0.22);
  --bc-border-strong: rgba(209, 163, 250, 0.4);
  --bc-radius: 22px;
  --bc-radius-sm: 9px;
  --bc-max: 1200px;
  --bc-header-height: 74px;
  --bc-shadow-cta: 0 7px 28px rgba(147, 47, 236, 0.18);
  --bc-shadow-cta-hover: 0 10px 32px rgba(147, 47, 236, 0.3);
  --bc-transition: 180ms ease;
  --bc-green: #a3f5c9;
  --bc-on-accent: #ffffff;
  --bc-placeholder: #c7bbd4;
  --bc-header-bg: #100b19;
  --bc-notice-bg: #10271f;
  --bc-warning: #ffe1bf;
  --bc-warning-bg: #2c1c12;
}
:root[data-bc-theme="light"] {
  color-scheme: light;
  --bc-bg: #faf8fd;
  --bc-bg-elev: #f1ebf7;
  --bc-surface: #ffffff;
  --bc-panel: #eee7f5;
  --bc-white: #251534;
  --bc-muted: #574563;
  --bc-purple: #7023a7;
  --bc-purple-glow: #7023a733;
  --bc-silver: #493454;
  --bc-cyan: #146574;
  --bc-border: #b4a0c6;
  --bc-border-strong: #876d9f;
  --bc-green: #17633f;
  --bc-placeholder: #65536f;
  --bc-header-bg: #faf8fd;
  --bc-notice-bg: #edf8f1;
  --bc-warning: #70420d;
  --bc-warning-bg: #fff2de;
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  color: var(--bc-white);
  background: var(--bc-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: 0.22em; transition: color var(--bc-transition); }
a:hover { text-decoration-thickness: 2px; }
ul, ol { list-style: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea, select { font: inherit; }

:focus-visible {
  outline: 3px solid var(--bc-cyan);
  outline-offset: 5px;
  border-radius: 4px;
}

[hidden] { display: none !important; }

/* Skip link */
.bc-skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 1000;
  background: var(--bc-cta);
  color: #fff;
  padding: 12px 20px;
  border-radius: var(--bc-radius-sm);
  font-weight: 700;
  text-decoration: none;
  transition: top 0.2s ease;
}
.bc-skip-link:focus { top: 16px; }

/* ---------- Typography ---------- */
h1, h2, h3, h4 { color: inherit; }

h1, h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.045em;
}

h1 { font-size: clamp(2.75rem, 6.9vw, 6.3rem); line-height: 0.99; }
h2 { font-size: clamp(2.05rem, 4.3vw, 3.75rem); line-height: 1.07; }
h3 { font-size: 1.16rem; line-height: 1.3; font-weight: 680; letter-spacing: -0.015em; }

p + p { margin-top: 1em; }

/* ---------- Layout Utilities ---------- */
.bc-container {
  width: min(var(--bc-max), calc(100% - 72px));
  margin: 0 auto;
}

.bc-section {
  padding: clamp(58px, 7.5vw, 108px) 0;
}

/* ---------- Eyebrow / Section label ---------- */
.bc-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.7rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--bc-purple);
  margin: 0 0 22px;
}
.bc-eyebrow::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
  flex-shrink: 0;
}

.bc-lead {
  font-size: clamp(1.025rem, 1.7vw, 1.2rem);
  color: var(--bc-muted);
  max-width: 610px;
  line-height: 1.75;
}

.bc-small { font-size: 0.84rem; color: var(--bc-muted); }
.bc-muted { color: var(--bc-muted); }
.bc-purple { color: var(--bc-purple); }

/* ---------- Buttons ---------- */
.bc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.bc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid transparent;
  border-radius: var(--bc-radius-sm);
  background: linear-gradient(120deg, var(--bc-cta), var(--bc-cta-deep));
  color: #fff;
  text-decoration: none;
  font-size: 0.89rem;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: var(--bc-shadow-cta);
  transition: transform var(--bc-transition), box-shadow var(--bc-transition), border-color var(--bc-transition);
}
.bc-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--bc-shadow-cta-hover);
  text-decoration: none;
}

.bc-button-secondary {
  background: transparent;
  border-color: var(--bc-border);
  box-shadow: none;
  color: var(--bc-white);
}
.bc-button-secondary:hover {
  border-color: var(--bc-purple);
  background: rgba(199, 123, 255, 0.06);
}

.bc-button span[aria-hidden] { font-size: 1.18em; }

.bc-text-link {
  display: inline-block;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: underline;
  color: var(--bc-purple);
  padding: 6px 0;
}

/* ---------- Site Header (Native, not Squarespace-wrapped) ---------- */
.bc-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(12, 8, 18, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bc-border);
  transition: background var(--bc-transition), box-shadow var(--bc-transition);
}
.bc-site-header.bc-scrolled {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

.bc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: var(--bc-header-height);
}

.bc-header-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  flex-shrink: 0;
}
.bc-header-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.bc-header-brand-name {
  font-family: Georgia, serif;
  font-size: 1.35rem;
  letter-spacing: 0.02em;
  color: var(--bc-white);
}

.bc-header-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.bc-header-nav a {
  position: relative;
  padding: 10px 14px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--bc-silver);
  text-decoration: none;
  border-radius: 8px;
  transition: color var(--bc-transition), background var(--bc-transition);
}
.bc-header-nav a:hover {
  color: var(--bc-white);
  background: rgba(199, 123, 255, 0.08);
}
.bc-header-nav a.bc-active {
  color: var(--bc-purple);
}
.bc-header-nav a.bc-active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 4px;
  height: 2px;
  background: var(--bc-purple);
  border-radius: 2px;
}

.bc-header-cta {
  min-height: 42px;
  padding: 10px 18px;
  font-size: 0.82rem;
}

/* Mobile menu toggle */
.bc-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--bc-radius-sm);
  border: 1px solid var(--bc-border);
  color: var(--bc-white);
}
.bc-menu-toggle span,
.bc-menu-toggle span::before,
.bc-menu-toggle span::after {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.bc-menu-toggle span {
  position: relative;
}
.bc-menu-toggle span::before,
.bc-menu-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
}
.bc-menu-toggle span::before { top: -7px; }
.bc-menu-toggle span::after { top: 7px; }

.bc-menu-toggle[aria-expanded="true"] span { background: transparent; }
.bc-menu-toggle[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.bc-menu-toggle[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.bc-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 77% 44%, rgba(114, 27, 182, 0.25), transparent 53%),
    var(--bc-bg);
}
.bc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(217, 194, 246, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 194, 246, 0.16) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: linear-gradient(90deg, transparent 40%, #000);
  mask-image: linear-gradient(90deg, transparent 40%, #000);
}

.bc-hero-layout {
  min-height: 650px;
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  align-items: center;
  gap: 30px;
  padding-top: 64px;
  padding-bottom: 76px;
}
.bc-hero-copy { position: relative; z-index: 1; min-width: 0; }
.bc-hero h1 { margin-bottom: 27px; }
.bc-hero h1 em { color: var(--bc-purple); font-style: italic; }
.bc-hero .bc-lead { max-width: 485px; }

.bc-hero-brand {
  position: relative;
  margin: 0;
  min-width: 0;
  display: grid;
  place-items: center;
  align-self: center;
}
.bc-hero-brand::before {
  content: "";
  position: absolute;
  width: 83%;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 0 0 120px rgba(150, 44, 255, 0.18);
  background: radial-gradient(circle, rgba(162, 60, 249, 0.1), transparent 68%);
}
.bc-hero-brand img {
  position: relative;
  width: 100%;
  max-width: 535px;
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(127, 21, 213, 0.12));
}

.bc-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  margin-top: 28px;
  font-size: 0.77rem;
  color: var(--bc-muted);
}
.bc-trust li { display: flex; align-items: center; gap: 7px; }
.bc-trust li::before {
  content: "\2713";
  color: var(--bc-cyan);
  font-weight: 700;
}

/* ---------- Ribbon / Marquee bar ---------- */
.bc-ribbon {
  border-top: 1px solid var(--bc-border);
  border-bottom: 1px solid var(--bc-border);
  background: #120d1a;
}
.bc-ribbon-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 0;
  color: var(--bc-silver);
  font-size: 0.69rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  flex-wrap: wrap;
}
.bc-ribbon-inner i {
  color: var(--bc-purple);
  font-style: normal;
  font-weight: 700;
}

/* ---------- Light section variant ---------- */
.bc-light {
  background: #f4f0f8;
  color: #23152e;
}
.bc-light .bc-eyebrow,
.bc-light .bc-text-link { color: #7520b5; }
.bc-light .bc-muted,
.bc-light .bc-lead,
.bc-light .bc-small { color: #665773; }
.bc-light :focus-visible { outline-color: #7520b5; }
.bc-light h1, .bc-light h2, .bc-light h3 { color: #23152e; }

/* ---------- Section headings ---------- */
.bc-section-head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 45px;
  align-items: end;
  margin-bottom: 40px;
}
.bc-section-head p { max-width: 500px; color: var(--bc-muted); }
.bc-light .bc-section-head p { color: #665773; }

/* ---------- Category Cards ---------- */
.bc-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.bc-category {
  padding: 30px;
  background: #fff;
  border: 1px solid #e2d6ee;
  border-radius: var(--bc-radius);
  color: #23152e;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  transition: transform var(--bc-transition), box-shadow var(--bc-transition), border-color var(--bc-transition);
}
.bc-category:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(117, 32, 181, 0.12);
  border-color: #d0b7e6;
}
.bc-category-number {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: #786486;
  margin-bottom: 36px;
}
.bc-category h3 {
  font-family: Georgia, serif;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: -0.03em;
}
.bc-category p {
  font-size: 0.94rem;
  color: #665773;
  margin-top: 15px;
  margin-bottom: 18px;
}
.bc-category a { margin-top: auto; }

.bc-category:nth-child(2) {
  background: #251436;
  border-color: #251436;
  color: var(--bc-white);
}
.bc-category:nth-child(2) .bc-category-number,
.bc-category:nth-child(2) p { color: #d0bfdc; }
.bc-category:nth-child(2) .bc-text-link { color: #dda9ff; }
.bc-category:nth-child(2):hover {
  box-shadow: 0 16px 40px rgba(117, 32, 181, 0.25);
}

/* ---------- Split Section ---------- */
.bc-split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(30px, 7vw, 95px);
  align-items: center;
}
.bc-split h2 { margin-bottom: 22px; }
.bc-split p { color: var(--bc-muted); }

/* ---------- Quote / Display Panel ---------- */
.bc-quote-panel {
  position: relative;
  padding: clamp(28px, 4.8vw, 58px);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background:
    radial-gradient(ellipse at top right, rgba(164, 58, 252, 0.16), transparent 80%),
    var(--bc-surface);
}
.bc-quote-panel::before {
  content: "\2726";
  display: block;
  color: var(--bc-purple);
  font-size: 2.1rem;
  margin-bottom: 17px;
}
.bc-quote-panel .bc-display {
  font-family: Georgia, serif;
  font-size: clamp(2.7rem, 4.3vw, 4.1rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--bc-white);
}
.bc-quote-panel .bc-display em { color: var(--bc-purple); font-style: italic; }
.bc-quote-panel .bc-small { margin-top: 22px; }

/* ---------- Mini Steps (inline list) ---------- */
.bc-mini-steps {
  display: grid;
  gap: 24px;
  margin: 30px 0 0;
  counter-reset: steps;
}
.bc-mini-steps li {
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 16px;
  align-items: start;
}
.bc-mini-steps li::before {
  counter-increment: steps;
  content: "0" counter(steps);
  border: 1px solid var(--bc-border);
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  color: var(--bc-purple);
  font-weight: 600;
}
.bc-mini-steps strong { color: var(--bc-white); font-weight: 650; }
.bc-mini-steps p { margin-top: 3px; font-size: 0.9rem; }

/* ---------- Callout / CTA Strip ---------- */
.bc-callout {
  border-top: 1px solid var(--bc-border);
  background: linear-gradient(115deg, #21112f, #120c1b);
}
.bc-callout .bc-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: clamp(42px, 6vw, 72px) 0;
}
.bc-callout h2 {
  max-width: 760px;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

/* ---------- Sub-hero (used on inner pages) ---------- */
.bc-subhero {
  padding: clamp(56px, 8vw, 108px) 0 54px;
  border-bottom: 1px solid var(--bc-border);
  background:
    radial-gradient(ellipse at 92% 20%, rgba(123, 35, 192, 0.24), transparent 54%),
    var(--bc-bg);
}
.bc-subhero h1 {
  max-width: 940px;
  margin-bottom: 25px;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
}
.bc-subhero h1 em { color: var(--bc-purple); font-weight: inherit; }
.bc-subhero .bc-lead { max-width: 770px; }

/* Breadcrumb */
.bc-breadcrumb {
  font-size: 0.78rem;
  color: var(--bc-muted);
  margin-bottom: 26px;
  letter-spacing: 0.04em;
}
.bc-breadcrumb a { color: var(--bc-purple); text-decoration: none; }
.bc-breadcrumb a:hover { text-decoration: underline; }
.bc-breadcrumb span[aria-current] { color: var(--bc-white); }

/* ---------- Collection / Shop Tools ---------- */
.bc-collection-tools { margin-bottom: 30px; }
.bc-collection-tools label {
  display: block;
  color: var(--bc-silver);
  font-size: 0.86rem;
  margin-bottom: 9px;
  font-weight: 600;
}
.bc-collection-tools input[type="search"] {
  width: 100%;
  max-width: 600px;
  min-height: 50px;
  padding: 13px 17px;
  font-size: 0.94rem;
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius-sm);
  background: var(--bc-surface);
  color: var(--bc-white);
  transition: border-color var(--bc-transition), box-shadow var(--bc-transition);
}
.bc-collection-tools input[type="search"]::placeholder { color: #b1a5bd; opacity: 1; }
.bc-collection-tools input[type="search"]:focus {
  outline: none;
  border-color: var(--bc-purple);
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.18);
}

.bc-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 19px;
}
.bc-filter-row button {
  appearance: none;
  border: 1px solid var(--bc-border);
  color: var(--bc-muted);
  background: transparent;
  padding: 9px 13px;
  min-height: 42px;
  border-radius: 7px;
  font-size: 0.8rem;
  font-weight: 500;
  transition: all var(--bc-transition);
}
.bc-filter-row button:hover {
  border-color: var(--bc-border-strong);
  color: var(--bc-white);
}
.bc-filter-row button[aria-pressed="true"] {
  background: var(--bc-cta);
  border-color: var(--bc-cta);
  color: #fff;
}

.bc-results {
  margin-top: 14px;
  color: var(--bc-muted);
  font-size: 0.81rem;
}

/* ---------- Product Grid & Cards ---------- */
.bc-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.bc-product {
  min-width: 0;
  border: 1px solid var(--bc-border);
  background: var(--bc-surface);
  border-radius: var(--bc-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--bc-transition), box-shadow var(--bc-transition), border-color var(--bc-transition);
}
.bc-product:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(90, 20, 150, 0.25);
  border-color: rgba(199, 123, 255, 0.4);
}
.bc-product[hidden],
[data-bc-empty][hidden] { display: none !important; }
.bc-catalogue-media-note {
  padding: 28px;
  margin: 0;
  text-align: center;
  color: #eee4f5;
  font-size: 1.1rem;
  line-height: 1.6;
}
.bc-catalogue-media-note span { font-size: 0.85rem; color: #c5bacf; }
.bc-light .bc-product h2 { color: #f5effa; }
.bc-product h2 { overflow-wrap: anywhere; }
.bc-product-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
.bc-product-bottom a:focus-visible,
.bc-filter-row button:focus-visible,
[data-bc-reset-filters]:focus-visible {
  outline: 3px solid #e0b4ff;
  outline-offset: 3px;
}
.bc-filter-row button { min-height: 44px; }
[data-bc-quote-form] .bc-field-caption a { color: #e0b4ff; text-decoration: underline; }
[data-bc-quote-form] input:focus-visible,
[data-bc-quote-form] select:focus-visible,
[data-bc-quote-form] textarea:focus-visible {
  outline: 3px solid #e0b4ff;
  outline-offset: 3px;
}

.bc-product-media {
  min-height: 210px;
  aspect-ratio: 1.65;
  display: grid;
  place-items: center;
  position: relative;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(158, 66, 224, 0.16), transparent 69%),
    #110b18;
  color: #c49bdd;
  overflow: hidden;
}
.bc-product-art { width: 60%; height: 72%; max-height: 165px; }
.bc-product-art .bc-metal { fill: rgba(197, 171, 219, 0.08); stroke: currentColor; }
.bc-product-art .bc-dark { fill: rgba(10, 5, 15, 0.4); stroke: currentColor; }
.bc-product-art text {
  fill: currentColor;
  stroke: none;
  font: 700 5px Arial, sans-serif;
  letter-spacing: 0.08em;
}

.bc-illustration-label {
  position: absolute;
  left: 15px;
  bottom: 12px;
  font-size: 0.65rem;
  color: #c2adce;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bc-product-body {
  padding: 25px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.bc-product-category {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--bc-purple);
  margin-bottom: 10px;
  font-weight: 650;
}
.bc-product h2 {
  font: 500 1.35rem/1.22 Georgia, serif;
  letter-spacing: -0.015em;
  margin-bottom: 12px;
}
.bc-product-description {
  font-size: 0.88rem;
  color: var(--bc-muted);
  margin-bottom: 22px;
}
.bc-product-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--bc-border);
}
.bc-price {
  font-size: 0.84rem;
  color: var(--bc-white);
  font-weight: 650;
}
.bc-product-bottom a {
  font-size: 0.82rem;
  color: var(--bc-purple);
  font-weight: 650;
  padding: 5px 0;
  text-decoration: none;
}
.bc-product-bottom a:hover { text-decoration: underline; }

.bc-finish-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px 6px;
  justify-content: center;
  align-items: center;
}
.bc-finish-dot {
  --bc-finish: #666;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 30%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.1) 28%, transparent 55%),
    var(--bc-finish);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 0 0 1px rgba(20, 10, 30, 0.5) inset,
    0 2px 5px rgba(0,0,0,0.35);
  transition: transform var(--bc-transition), box-shadow var(--bc-transition);
}
.bc-finish-dot:hover {
  transform: translateY(-1px) scale(1.08);
  box-shadow:
    0 0 0 1px rgba(158, 66, 224, 0.5),
    0 0 0 1px rgba(20, 10, 30, 0.5) inset,
    0 4px 10px rgba(90, 20, 150, 0.35);
}
.bc-finish-caption {
  font-size: 0.72rem;
  line-height: 1.45;
  padding: 2px 16px 12px;
  color: var(--bc-muted);
  text-align: center;
  margin: 0;
}

.bc-note {
  border: 1px solid var(--bc-border);
  border-radius: 12px;
  padding: 20px 24px;
  color: var(--bc-muted);
  font-size: 0.85rem;
  background: rgba(148, 60, 219, 0.065);
  margin-top: 28px;
}
.bc-note strong { color: var(--bc-white); }

.bc-empty {
  padding: 26px;
  border: 1px dashed var(--bc-border);
  border-radius: 12px;
  color: var(--bc-muted);
  text-align: center;
}

/* ---------- Gallery ---------- */
.bc-gallery-empty {
  max-width: 820px;
  margin-inline: auto;
  padding: clamp(35px, 7vw, 70px);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  text-align: center;
  background:
    radial-gradient(ellipse at center top, rgba(139, 43, 229, 0.17), transparent 70%),
    var(--bc-surface);
}
.bc-gallery-empty .bc-eyebrow { justify-content: center; }
.bc-gallery-empty h2 { margin-bottom: 24px; }
.bc-gallery-empty p { color: var(--bc-muted); }
.bc-gallery-empty .bc-actions { justify-content: center; }

.bc-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.bc-photo-grid figure {
  margin: 0;
  width: 100%;
  width: round(down, 100%, 1px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  background: var(--bc-surface);
  transition: transform var(--bc-transition), box-shadow var(--bc-transition);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto 136px;
}
.bc-photo-grid figure::before {
  content: "";
  position: absolute;
  inset: -7px;
  pointer-events: none;
  z-index: -1;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.09);
  filter: blur(8px);
}
.bc-photo-grid figure:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 42px rgba(90, 20, 150, 0.22);
}
.bc-gallery-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(220px, 22vw, 320px);
  padding: 22px;
  background: #fff;
  border-radius: 17px 17px 0 0;
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}
.bc-photo-grid .bc-gallery-media img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  /* Never fade, sharpen or recolour the retained product pixels. */
  filter: none;
}
.bc-gallery-media:focus-visible {
  outline: 3px solid var(--bc-purple);
  outline-offset: 4px;
}
.bc-photo-grid .bc-photo-placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 30% 30%, rgba(158, 66, 224, 0.2), transparent 60%),
    #151020;
  color: var(--bc-purple);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.bc-photo-grid figcaption {
  padding: 16px 18px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #ded6e6;
  background: var(--bc-surface);
  border-radius: 0 0 17px 17px;
}
.bc-photo-grid figcaption strong {
  display: block;
  color: var(--bc-white);
  margin-bottom: 4px;
  font-size: 0.96rem;
  font-weight: 600;
}
.bc-gallery-kind {
  display: block;
  color: #dcaeff;
  font-size: 0.64rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

/* ---------- Process Steps ---------- */
.bc-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  margin-top: 36px;
}
.bc-step {
  padding: 26px;
  border: 1px solid var(--bc-border);
  border-radius: 18px;
  background: var(--bc-surface);
  transition: border-color var(--bc-transition), transform var(--bc-transition);
}
.bc-step:hover {
  border-color: rgba(199, 123, 255, 0.4);
  transform: translateY(-2px);
}
.bc-step-number {
  font-family: Georgia, serif;
  font-size: 2.4rem;
  color: var(--bc-purple);
  display: block;
  margin-bottom: 25px;
}
.bc-step h3 { margin-bottom: 12px; }
.bc-step p { color: var(--bc-muted); font-size: 0.9rem; }

/* ---------- Enquiry / Custom-orders extras ---------- */
.bc-enquiry-intro {
  border-top: 1px solid var(--bc-border);
  padding-bottom: 52px;
}
.bc-enquiry-intro h2 { margin-bottom: 22px; scroll-margin-top: 130px; }
.bc-selected-product {
  margin: 24px 0;
  padding: 15px 19px;
  border-left: 3px solid var(--bc-purple);
  background: var(--bc-surface);
  font-size: 0.92rem;
  color: var(--bc-white);
}

/* ---------- FAQ (native <details>) ---------- */
.bc-faq { margin-top: 36px; }
.bc-faq details {
  padding: 20px 0;
  border-bottom: 1px solid var(--bc-border);
}
.bc-faq summary {
  font-weight: 650;
  cursor: pointer;
  list-style: none;
  padding-right: 28px;
  position: relative;
  color: var(--bc-white);
}
.bc-faq summary::-webkit-details-marker { display: none; }
.bc-faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.3rem;
  color: var(--bc-purple);
  transition: transform 0.2s ease;
}
.bc-faq details[open] summary::after { transform: rotate(45deg); }
.bc-faq details p {
  margin-top: 14px;
  color: var(--bc-muted);
  font-size: 0.95rem;
}

/* ---------- Forms ---------- */
.bc-form {
  max-width: 820px;
  margin: 0 auto;
  color: var(--bc-white);
  border: 1px solid var(--bc-border);
  background: var(--bc-surface);
  border-radius: var(--bc-radius);
  padding: clamp(28px, 5vw, 48px);
}
.bc-form .bc-field {
  margin-bottom: 20px;
}
.bc-form label {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 9px;
  color: var(--bc-white);
}
.bc-form .bc-field-caption {
  display: block;
  margin-top: 6px;
  font-size: 0.78rem;
  color: var(--bc-muted);
}
.bc-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.bc-form textarea,
.bc-form select {
  width: 100%;
  min-height: 50px;
  padding: 13px 17px;
  font-size: 0.94rem;
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius-sm);
  background: var(--bc-bg);
  color: var(--bc-white);
  transition: border-color var(--bc-transition), box-shadow var(--bc-transition);
}
.bc-form textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.55;
  padding-top: 15px;
}
.bc-form input::placeholder,
.bc-form textarea::placeholder { color: #b1a5bd; opacity: 1; }
.bc-form input:focus,
.bc-form textarea:focus,
.bc-form select:focus {
  outline: none;
  border-color: var(--bc-purple);
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.18);
}

.bc-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.bc-form input[type="file"] {
  padding: 12px;
  border: 1px dashed var(--bc-border);
  background: var(--bc-bg);
  border-radius: var(--bc-radius-sm);
  cursor: pointer;
}

.bc-form-notice {
  margin: 22px 0 26px;
  padding: 18px 20px;
  border-left: 3px solid var(--bc-purple);
  background: rgba(148, 60, 219, 0.065);
  color: var(--bc-muted);
  font-size: 0.86rem;
  border-radius: 0 10px 10px 0;
}
.bc-form-notice strong { color: var(--bc-white); }

.bc-form-submit {
  width: 100%;
  margin-top: 8px;
}

/* ---------- Story / Contact Grids ---------- */
.bc-story-grid,
.bc-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.bc-story-card,
.bc-contact-card {
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background: var(--bc-surface);
  padding: clamp(26px, 4vw, 46px);
}
.bc-story-card h2,
.bc-contact-card h2 {
  font-size: clamp(1.85rem, 3.4vw, 2.8rem);
  margin-bottom: 23px;
}
.bc-story-card p,
.bc-contact-card p {
  color: var(--bc-muted);
  font-size: 0.96rem;
}
.bc-contact-card .bc-email {
  color: var(--bc-purple);
  display: inline-block;
  font-size: clamp(0.95rem, 2vw, 1.4rem);
  font-weight: 650;
  overflow-wrap: anywhere;
  margin-bottom: 18px;
  text-decoration: none;
}
.bc-contact-card .bc-email:hover { text-decoration: underline; }

/* ---------- Legal page ---------- */
.bc-draft {
  padding: 23px;
  border: 2px solid #f0b983;
  color: #ffe1bf;
  border-radius: 14px;
  background: #2c1c12;
  margin-bottom: 32px;
  font-size: 0.9rem;
}
.bc-draft strong { display: block; margin-bottom: 4px; font-size: 0.95rem; }

.bc-legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 30px;
}
.bc-legal-nav a {
  border: 1px solid var(--bc-border);
  border-radius: 8px;
  font-size: 0.8rem;
  padding: 10px 13px;
  text-decoration: none;
  color: var(--bc-muted);
  transition: all var(--bc-transition);
}
.bc-legal-nav a:hover {
  color: var(--bc-white);
  border-color: var(--bc-border-strong);
}

.bc-legal { display: grid; gap: 22px; }
.bc-legal article {
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background: var(--bc-surface);
  scroll-margin-top: 135px;
}
.bc-legal h2 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin: 0 0 23px;
}
.bc-legal h3 {
  color: var(--bc-purple);
  margin: 26px 0 12px;
  font-size: 1rem;
}
.bc-legal p,
.bc-legal li {
  color: var(--bc-muted);
  font-size: 0.93rem;
}
.bc-legal ul { padding-left: 22px; list-style: disc; }
.bc-legal li + li { margin-top: 10px; }
.bc-legal-warning { border-color: #f0b983 !important; }
.bc-legal-warning strong { color: #ffe1bf; }

/* ---------- Location / Local SEO card ---------- */
.bc-local-card {
  padding: clamp(28px, 4.8vw, 52px);
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background:
    radial-gradient(ellipse at 10% 10%, rgba(139, 43, 229, 0.18), transparent 65%),
    var(--bc-surface);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.bc-local-card h2 { margin-bottom: 20px; }
.bc-local-meta {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.bc-local-meta li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--bc-muted);
  font-size: 0.92rem;
}
.bc-local-meta li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bc-purple);
  margin-top: 8px;
  flex-shrink: 0;
  box-shadow: 0 0 14px var(--bc-purple-glow);
}
.bc-local-meta strong { color: var(--bc-white); font-weight: 650; }

.bc-local-map {
  aspect-ratio: 4 / 3;
  border-radius: var(--bc-radius);
  background:
    linear-gradient(135deg, rgba(199,123,255,0.08), rgba(199,123,255,0.02)),
    repeating-linear-gradient(0deg, rgba(209,163,250,0.08) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(209,163,250,0.08) 0 1px, transparent 1px 44px),
    #110b18;
  border: 1px solid var(--bc-border);
  display: grid;
  place-items: center;
  color: var(--bc-muted);
  font-size: 0.82rem;
  text-align: center;
  padding: 20px;
}
.bc-local-map strong { color: var(--bc-purple); display: block; margin-bottom: 6px; font-size: 0.95rem; }

/* ---------- Footer ---------- */
.bc-site-footer {
  border-top: 1px solid var(--bc-border);
  padding: 64px 0 22px;
  background: #0a0610;
}
.bc-footer-grid {
  display: grid;
  grid-template-columns: 1.65fr 1fr 1fr 1.15fr;
  gap: 36px;
}
.bc-footer-brand {
  display: flex;
  gap: 18px;
  align-items: center;
  text-decoration: none;
  margin-bottom: 16px;
}
.bc-footer-brand img {
  width: 84px;
  height: 84px;
  object-fit: contain;
  flex-shrink: 0;
}
.bc-footer-name {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.55rem;
  letter-spacing: 0.025em;
  color: var(--bc-white);
}
.bc-footer-tag {
  display: block;
  color: var(--bc-muted);
  font-size: 0.76rem;
}
.bc-site-footer h2 {
  font: 700 0.7rem/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--bc-purple);
  margin: 5px 0 21px;
}
.bc-site-footer p,
.bc-site-footer nav a,
.bc-footer-contact a {
  font-size: 0.84rem;
  color: var(--bc-muted);
}
.bc-footer-links { display: grid; gap: 10px; }
.bc-footer-links a { text-decoration: none; overflow-wrap: anywhere; }
.bc-footer-links a:hover { color: var(--bc-white); text-decoration: underline; }
.bc-footer-notice {
  border-top: 1px solid var(--bc-border);
  margin-top: 44px;
  padding-top: 22px;
}
.bc-footer-notice p { font-size: 0.72rem; line-height: 1.75; }
.bc-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 25px;
  border-top: 1px solid var(--bc-border);
  margin-top: 23px;
  padding-top: 18px;
  color: #b4a5c1;
  font-size: 0.72rem;
}

/* ---------- Contact availability and social links ---------- */
.bc-contact-copy { max-width: 900px; }
.bc-contact-copy p { color: #ded6e6; line-height: 1.8; }
#enquiry-delivery { color: #493455; margin-bottom: 24px; }
#enquiry-delivery a { color: #622092; text-decoration: underline; }
[data-bc-contact-form] .bc-field-caption a { color: #e0b4ff; text-decoration: underline; }
.bc-contact-address { margin-top: 20px; overflow-wrap: anywhere; }
.bc-contact-status { color: #ded6e6; font-size: 0.9rem; }
.bc-contact-card { min-width: 0; overflow-wrap: anywhere; }
.bc-contact-card .bc-actions { flex-wrap: wrap; }
.bc-contact-card .bc-button { white-space: normal; text-align: center; }
.bc-contact-icon {
  display: inline-block;
  width: 24px;
  height: 20px;
  position: relative;
  flex: 0 0 24px;
}
.bc-contact-icon-play { border: 2px solid currentColor; border-radius: 5px; }
.bc-contact-icon-play::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
}
.bc-contact-icon-message { border: 2px solid currentColor; border-radius: 6px; }
.bc-contact-icon-message::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 3px;
  width: 6px;
  height: 6px;
  border-left: 2px solid currentColor;
  transform: skewY(-35deg);
}
.bc-social-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }
.bc-social-links a { display: inline-flex; gap: 9px; align-items: center; min-height: 44px; }
.bc-phone-slot { position: relative; min-height: 56px; margin-block: 16px; }
.bc-phone-slot a,
.bc-phone-mask { font: 600 clamp(1.3rem, 4vw, 2rem)/1.5 monospace; }
.bc-phone-slot a { position: relative; color: #f6f1fa; text-decoration: underline; }
.bc-phone-slot a[hidden] { display: none !important; }
.bc-phone-mask {
  display: block;
  position: absolute;
  color: #ded6e6;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
  filter: blur(6px);
  opacity: 0.7;
  transition: opacity 220ms ease, filter 220ms ease;
}
.bc-phone-open .bc-phone-mask { opacity: 0; filter: blur(12px); }
.bc-phone-open [data-bc-phone-link] { animation: bc-phone-reveal 220ms ease-out; }
@keyframes bc-phone-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
[data-bc-contact-form] input,
[data-bc-contact-form] textarea { max-width: 100%; }
[data-bc-contact-form] button:disabled { opacity: 0.7; cursor: wait; }
[data-bc-enquiry-status] { color: #ded6e6; overflow-wrap: anywhere; }
[data-bc-contact-form] input:focus-visible,
[data-bc-contact-form] textarea:focus-visible {
  outline: 3px solid #e0b4ff;
  outline-offset: 3px;
}
.bc-contact-card a:focus-visible,
.bc-social-links a:focus-visible {
  outline: 3px solid #e0b4ff;
  outline-offset: 5px;
}
@media print {
  .bc-phone-slot { display: none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .bc-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .bc-footer-grid > :first-child { grid-column: 1 / -1; }
  .bc-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-local-card { grid-template-columns: 1fr; }
}

@media (max-width: 1000px) {
  .bc-hero-layout { min-height: 0; gap: 15px; }
}

@media (max-width: 860px) {
  .bc-header-nav,
  .bc-header-cta { display: none; }
  .bc-menu-toggle { display: inline-flex; }

  /* Mobile navigation drawer */
  .bc-header-nav.bc-mobile-open {
    display: grid;
    position: absolute;
    top: var(--bc-header-height);
    left: 0;
    right: 0;
    background: var(--bc-bg-elev);
    border-bottom: 1px solid var(--bc-border);
    padding: 16px 24px 24px;
    grid-template-columns: 1fr;
    gap: 4px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  }
  .bc-header-nav.bc-mobile-open a {
    padding: 14px 16px;
    font-size: 1rem;
    border-radius: 10px;
  }
  .bc-header-nav.bc-mobile-open a.bc-active::after { display: none; }
  .bc-header-nav.bc-mobile-open + .bc-header-cta {
    display: inline-flex;
    position: absolute;
    top: var(--bc-header-height);
  }
  body.bc-mobile-nav-open {
    /* When nav open, reserve space so content doesn't jump */
    padding-top: var(--bc-header-height);
  }
}

@media (max-width: 740px) {
  .bc-container { width: calc(100% - 40px); }

  .bc-hero-layout {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 46px;
    padding-bottom: 42px;
  }
  .bc-hero h1 { font-size: clamp(3rem, 10.6vw, 4.65rem); }
  .bc-hero-brand { width: min(340px, 86%); margin: 0 auto; }
  .bc-hero .bc-lead { max-width: 550px; }

  .bc-ribbon-inner {
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px 16px;
    font-size: 0.61rem;
  }

  .bc-section-head,
  .bc-split,
  .bc-story-grid,
  .bc-contact-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .bc-section-head { margin-bottom: 28px; }

  .bc-categories { grid-template-columns: 1fr; gap: 16px; }
  .bc-category { padding: 28px; }
  .bc-category .bc-category-number { margin-bottom: 20px; }

  .bc-callout .bc-container { flex-direction: column; align-items: flex-start; }

  .bc-form-row { grid-template-columns: 1fr; gap: 0; }

  .bc-product-body { padding: 20px; }
  .bc-product-media { min-height: 170px; }
}

@media (max-width: 480px) {
  .bc-hero .bc-actions .bc-button { width: 100%; }
  .bc-eyebrow { font-size: 0.63rem; letter-spacing: 0.13em; }
  .bc-hero-brand { width: min(300px, 86%); }
  .bc-trust { font-size: 0.73rem; }
  .bc-products,
  .bc-process,
  .bc-photo-grid { grid-template-columns: 1fr; }
  .bc-product-media { min-height: 185px; }
  .bc-step-number { margin-bottom: 15px; }
  .bc-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
  .bc-footer-grid > :first-child,
  .bc-footer-grid > :last-child { grid-column: 1 / -1; }
  .bc-subhero h1 { font-size: clamp(2.4rem, 10.3vw, 3.1rem); }
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* ---------- Visitor Analytics Bar ---------- */
.bc-visitor-bar {
  position: relative;
  width: 100%;
  background: var(--bc-bg-elev);
  border-top: 1px solid var(--bc-border);
  border-bottom: 1px solid var(--bc-border);
  box-shadow: 0 0 0 1px rgba(199, 123, 255, 0.04), 0 4px 20px rgba(199, 123, 255, 0.06);
  color: var(--bc-muted);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  min-height: 44px;
  z-index: 50;
}
.bc-visitor-bar-inner {
  max-width: var(--bc-max);
  margin: 0 auto;
  padding: 10px 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}
.bc-visitor-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  white-space: nowrap;
}
.bc-visitor-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--bc-purple);
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.12), 0 0 10px rgba(199, 123, 255, 0.45);
  flex: 0 0 auto;
}
.bc-visitor-label {
  color: var(--bc-muted);
  font-weight: 500;
}
.bc-visitor-count {
  color: var(--bc-purple);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 14px rgba(199, 123, 255, 0.22);
}
.bc-visitor-sep {
  color: var(--bc-border);
  font-weight: 500;
  user-select: none;
}
@media (max-width: 1000px) {
  .bc-visitor-bar-inner { padding: 10px 24px; gap: 14px; }
}
@media (max-width: 720px) {
  .bc-visitor-bar-inner { gap: 10px; padding: 10px 18px; justify-content: space-between; }
  .bc-visitor-sep { display: none; }
  .bc-visitor-item { flex: 0 0 auto; }
}
@media (max-width: 560px) {
  .bc-visitor-bar { font-size: 0.78rem; }
  .bc-visitor-bar-inner { gap: 8px 14px; padding: 12px 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-visitor-item { min-height: 32px; }
  .bc-visitor-count { font-size: 0.85rem; }
  .bc-visitor-label { font-size: 0.72rem; }
}
@media (max-width: 380px) {
  .bc-visitor-bar-inner { padding: 12px 12px; }
  .bc-visitor-label { font-size: 0.7rem; }
  .bc-visitor-count { font-size: 0.82rem; }
}

/* ---------- Final Master: Two-Row Visitor Bar ---------- */
.bc-visitor-bar-2row {
  position: relative;
  width: 100%;
  background: var(--bc-bg-elev);
  border-top: 1px solid var(--bc-border);
  border-bottom: 1px solid var(--bc-border);
  box-shadow: 0 0 0 1px rgba(199, 123, 255, 0.04), 0 4px 20px rgba(199, 123, 255, 0.06);
  color: var(--bc-muted);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  line-height: 1.25;
  z-index: 50;
}
.bc-visitor-bar-2row .bc-row1,
.bc-visitor-bar-2row .bc-row2 {
  max-width: 900px;
  margin: 0 auto;
  padding: 10px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px 28px;
  flex-wrap: wrap;
}
.bc-visitor-bar-2row .bc-row2 {
  padding-top: 4px;
  padding-bottom: 12px;
  border-top: 1px dashed rgba(199, 123, 255, 0.18);
  font-size: 0.76rem;
}
.bc-visitor-bar-2row .bc-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}
.bc-visitor-bar-2row .bc-stat .bc-label {
  color: var(--bc-muted);
  font-weight: 500;
}
.bc-visitor-bar-2row .bc-stat .bc-count {
  color: var(--bc-purple);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 14px rgba(199, 123, 255, 0.22);
}
.bc-visitor-bar-2row .bc-dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--bc-purple);
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.12), 0 0 10px rgba(199, 123, 255, 0.45);
  display: inline-block;
}
.bc-visitor-bar-2row .bc-source {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(199, 123, 255, 0.08);
  border: 1px solid rgba(199, 123, 255, 0.18);
}
.bc-visitor-bar-2row .bc-source .bc-sl {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.68rem;
  color: #7557a6;
  font-weight: 700;
}
.bc-visitor-bar-2row .bc-source .bc-sc {
  color: var(--bc-purple);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 900px) {
  .bc-visitor-bar-2row .bc-row1,
  .bc-visitor-bar-2row .bc-row2 { padding: 10px 24px; justify-content: center; }
  .bc-visitor-bar-2row .bc-row2 { padding-top: 4px; padding-bottom: 12px; }
}
@media (max-width: 620px) {
  .bc-visitor-bar-2row .bc-row1,
  .bc-visitor-bar-2row .bc-row2 { padding: 10px 16px; gap: 10px 16px; }
  .bc-visitor-bar-2row .bc-row1 { justify-content: space-between; }
  .bc-visitor-bar-2row .bc-row2 { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .bc-visitor-bar-2row .bc-source { flex: 0 0 auto; }
}
@media (max-width: 380px) {
  .bc-visitor-bar-2row .bc-row1 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px 12px; }
  .bc-visitor-bar-2row .bc-stat { min-height: 28px; }
}

/* ---------- Final Master: Compact Cards & Gallery ---------- */
.compact-card {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  border: 1px solid var(--bc-border);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(20, 12, 40, 0.06), 0 0 0 1px rgba(199, 123, 255, 0.04) inset;
  padding: 26px 28px;
  color: #2a2138;
  line-height: 1.55;
}
.compact-card + .compact-card { margin-top: 22px; }
.compact-card h1, .compact-card h2, .compact-card h3 { color: #2a1d45; margin-top: 0; }
.card-title { margin: 0 0 12px; }
.card-title--caps {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  color: #5a438a;
  font-weight: 800;
  margin-bottom: 14px;
}
.gallery-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 880px;
  margin: 22px auto;
}
.gallery-grid-2 .gallery-item {
  background: #ffffff;
  border: 1px solid var(--bc-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(20, 12, 40, 0.06);
}
.gallery-grid-2 .gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 720px) {
  .compact-card { padding: 22px 20px; border-radius: 16px; }
  .gallery-grid-2 { grid-template-columns: 1fr; gap: 14px; }
}

/* ---------- Final Master: Popup Host, Backdrop, Card ---------- */
#bcOverlayHost {
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
}
#bcOverlayHost.active {
  pointer-events: auto;
  background: rgba(20, 12, 40, 0.42);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
#bcOverlayHost::before {
  content: "";
  position: absolute;
  inset: 0;
  display: none;
}
#bcOverlayHost.active::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
}
#bcOverlayHost.active > .bc-popup-backdrop { display: none; }
.bc-popup-card {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.98);
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid rgba(199, 123, 255, 0.18);
  box-shadow: 0 28px 80px rgba(20, 12, 40, 0.28), 0 0 0 1px rgba(199, 123, 255, 0.05) inset;
  padding: 22px 22px 18px;
  z-index: 1001;
  animation: bcPopupIn 180ms ease-out both;
}
@keyframes bcPopupIn {
  from { opacity: 0; transform: translate(-50%, -46%) scale(0.96); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.bc-popup-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--bc-border);
  background: #ffffff;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  color: #5a4c66;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bc-popup-close:hover { background: #f7f2fc; }
.bc-popup-body { margin-top: 8px; }
.bc-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--bc-border);
}
.btn-primary,
.btn-secondary,
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: 0.92rem;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  transition: transform 80ms ease, background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
.btn-primary {
  background: #6c38cc;
  color: #ffffff;
  border-color: #5d2fb0;
  box-shadow: 0 6px 16px rgba(108, 56, 204, 0.22), 0 0 0 1px rgba(108, 56, 204, 0.10) inset;
}
.btn-primary:hover { background: #7a45d9; transform: translateY(-1px); }
.btn-primary:disabled,
.btn-secondary:disabled,
.btn-danger:disabled {
  opacity: 0.85;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none;
}
.btn-secondary {
  background: #f5f1fb;
  color: #4a3175;
  border-color: #e4d5f6;
}
.btn-secondary:hover { background: #ece3f9; }
.btn-danger {
  background: #b52828;
  color: #ffffff;
  border-color: #a12323;
  box-shadow: 0 6px 16px rgba(160, 30, 30, 0.22);
}
.btn-danger:hover { background: #c43333; }
.info-box, .warn-box, .danger-box {
  border-radius: 14px;
  padding: 1rem 1.1rem;
  margin: 0.75rem 0;
  border: 1px solid transparent;
  line-height: 1.55;
}
.info-box { background: #f5f1fb; border-color: #e5d6f7; color: #3a2657; }
.warn-box { background: #fff7e5; border-color: #f2d893; color: #5c3f05; }
.danger-box { background: #fff1f1; border-color: #f2bcbc; color: #6d1a1a; }
.warn-box strong, .danger-box strong { color: inherit; }

/* ---------- Final Master: Coupon Input Row, Dual Submit, Char Count ---------- */
.coupon-input-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  margin: 14px 0 8px;
}
.coupon-input-row input[type="text"][data-bc-coupon-input] {
  flex: 1 1 220px;
  min-width: 0;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--bc-border);
  background: #ffffff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3a295a;
}
.coupon-input-row input[type="text"][data-bc-coupon-input]:focus {
  outline: none;
  border-color: #b79cf0;
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.18);
}
.submit-row-dual {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: stretch;
  justify-content: flex-start;
  margin-top: 18px;
}
.submit-row-dual > * { flex: 0 0 auto; }
.submit-row-dual .grow { flex: 1 1 280px; }
.char-count {
  display: block;
  font-size: 0.74rem;
  color: #6f5e8a;
  margin-top: 4px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.form-banner {
  margin: 10px 0;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 0.88rem;
}
.form-banner.ok { background: #eaf7ee; border-color: #bfe5cc; color: #1f5b34; }
.form-banner.warn { background: #fff7e5; border-color: #f2d893; color: #5c3f05; }
.form-banner.err { background: #fff1f1; border-color: #f2bcbc; color: #6d1a1a; }

/* ---------- Final Master: Poll, Floating Coupon, Misc ---------- */
.bc-poll-form { display: flex; flex-direction: column; gap: 10px; }
.bc-poll-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--bc-border);
  border-radius: 12px;
  background: #fbf9ff;
  cursor: pointer;
}
.bc-poll-option:hover { background: #f5effc; }
.bc-poll-option input[type="radio"] { margin-top: 4px; }
.bc-poll-option span { font-weight: 600; color: #3a295a; }
.bc-poll-other { margin-top: 10px; width: 100%; }
.bc-poll-other input[type="text"] {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--bc-border);
  font-size: 0.9rem;
  color: #3a295a;
  box-sizing: border-box;
}

.bc-badging-host {
  position: fixed;
  left: 16px;
  bottom: 20px;
  z-index: 500;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: min(320px, calc(100vw - 32px));
  pointer-events: none;
}
.bc-floating-coupon {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(199, 123, 255, 0.28);
  box-shadow: 0 14px 36px rgba(20, 12, 40, 0.16);
}
.bc-floating-coupon-label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6a4fa5;
  font-weight: 800;
}
.bc-floating-coupon-code {
  color: #4a2a82;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}
.bc-floating-coupon-copy {
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 700;
}
.bc-monospace { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.bc-code-inline {
  padding: 2px 6px;
  background: #f3edfb;
  border: 1px solid #e2d1fa;
  border-radius: 6px;
}
.bc-code-box {
  padding: 14px 16px;
  border-radius: 12px;
  background: #f7f1ff;
  border: 1px dashed #c7a8f5;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 800;
  color: #4a2a82;
}

/* ---------- Final Master: Mobile scroll-padding guard ---------- */
html { scroll-padding-bottom: 88px; }
@media (max-width: 720px) { html { scroll-padding-bottom: 108px; } }

/* ---------- Final Master: Claim page narrow layout ---------- */
.bc-claim-wrap { max-width: 720px; margin: 0 auto; padding: 24px 20px 48px; }
.bc-claim-wrap h1 { color: #2a1d45; margin-bottom: 6px; }
.bc-claim-wrap .lede { color: #5a4c66; margin: 0 0 18px; }
.bc-claim-form { display: flex; flex-direction: column; gap: 14px; }
.bc-claim-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 650; color: #3a295a; }
.bc-claim-form input[type="text"],
.bc-claim-form input[type="email"],
.bc-claim-form textarea {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--bc-border);
  background: #ffffff;
  color: #2a2138;
  font-size: 0.95rem;
  font-family: inherit;
  box-sizing: border-box;
  width: 100%;
}
.bc-claim-form textarea { resize: vertical; min-height: 80px; }
.bc-claim-form input:focus,
.bc-claim-form textarea:focus {
  outline: none;
  border-color: #b79cf0;
  box-shadow: 0 0 0 3px rgba(199, 123, 255, 0.18);
}
.bc-claim-radios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bc-claim-radios label {
  flex-direction: row;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--bc-border);
  border-radius: 12px;
  background: #fbf9ff;
  cursor: pointer;
  font-weight: 600;
}
.bc-claim-radios label:hover { background: #f5effc; }
.bc-claim-radios input[type="radio"] { margin-right: 8px; }
@media (max-width: 520px) { .bc-claim-radios { grid-template-columns: 1fr; } }

/* ---------- Final Master: Homepage flip card hero signature product ---------- */
.bc-flip-card {
  perspective: 1200px;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 3 / 4;
  margin: 0 auto;
}
.bc-flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 650ms cubic-bezier(.2,.8,.2,1);
}
.bc-flip-card.is-flipped .bc-flip-card-inner,
.bc-flip-card:hover .bc-flip-card-inner { transform: rotateY(180deg); }
.bc-flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(20, 12, 40, 0.18);
  border: 1px solid rgba(199, 123, 255, 0.14);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bc-flip-face.back { transform: rotateY(180deg); }
.bc-flip-face img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Final Master: Skip link & main id ---------- */
.bc-skip-link {
  position: absolute;
  left: 12px;
  top: -40px;
  background: #2a1d45;
  color: #ffffff;
  padding: 8px 12px;
  border-radius: 8px;
  z-index: 9999;
  font-weight: 700;
  text-decoration: none;
  transition: top 150ms ease;
}
.bc-skip-link:focus { top: 12px; outline: 2px solid #b79cf0; }

.bc-section { margin: 48px auto; }
.bc-section-head { margin: 0 auto 22px; max-width: 880px; }
.bc-section-head h2 { color: #2a1d45; margin: 0 0 6px; }
.bc-section-head p { color: #5a4c66; margin: 0; }

.bc-hours-notice {
  background: #09251b;
  color: #f6efff;
  border-block: 1px solid #36865d;
  padding: 5px 0;
  font-size: .82rem;
  line-height: 1.45;
  animation: bc-orders-glow 4s ease-in-out infinite;
}
.bc-hours-layout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 16px; }
.bc-hours-notice p { margin: 0; color: #f6efff; }
.bc-hours-notice a { color: #ddffea; text-decoration: underline; overflow-wrap: anywhere; }
.bc-hours-notice a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.bc-hours-notice .bc-orders-open { color: #ddffea; font-size: .9rem; display: flex; gap: 7px; align-items: center; }
.bc-hours-summary { font-weight: 600; }
.bc-orders-dot { width: 10px; height: 10px; border-radius: 50%; background: #87edaf; flex-shrink: 0; }
.bc-order-links { display: flex; flex-wrap: wrap; gap: 0 16px; }
.bc-order-links a { display: inline-flex; align-items: center; min-height: 44px; }
.bc-phone-contact { display: flex; align-items: center; gap: 8px; }
.bc-hours-notice .bc-phone-slot { margin: 0; min-height: 32px; width: 8.4rem; }
.bc-hours-notice .bc-phone-mask { font-size: 1.05rem; line-height: 32px; }
.bc-hours-notice [data-bc-phone-link] {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: 1.05rem;
  font-weight: 800;
  white-space: nowrap;
}
.bc-hours-notice [data-bc-phone-status] { font-weight: 650; }
.bc-hours-notice.bc-phone-open [data-bc-phone-status] { color: #ddffea; }
.bc-hours-details summary { cursor: pointer; min-height: 44px; align-content: center; color: #ddffea; }
.bc-hours-details[open] { flex-basis: 100%; }
.bc-hours-expanded { padding: 6px 0 10px; overflow-wrap: anywhere; }
.bc-hours-expanded p + p { margin-top: 4px; }
.bc-qr-confirmation { margin: 6px 12px 0; text-align: center; color: #ddffea; font-size: .78rem; line-height: 1.4; }
@keyframes bc-orders-glow {
  0%, 100% { box-shadow: inset 0 0 4px rgba(74,222,128,.08), 0 0 4px rgba(74,222,128,.1); }
  50% { box-shadow: inset 0 0 20px rgba(74,222,128,.15), 0 0 18px rgba(74,222,128,.3); }
}
@media (max-width: 640px) {
  .bc-hours-layout { gap: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .bc-hours-notice, .bc-phone-open [data-bc-phone-link] { animation: none; }
  .bc-phone-mask { transition: none; }
}

/* ---------- Existing development and custom-order notice ---------- */
.bc-construction-notice {
  background: linear-gradient(115deg, #0c0812, #1b0d29 65%, #0b2119);
  color: #faf7ff;
  border: 1px solid #b875f5;
  border-left: 4px solid #7df0b5;
  padding: 1.35rem 0;
  font-size: .92rem;
  margin: 0 0 .25rem;
  box-shadow: inset 0 0 16px #9857cd18;
}
.bc-construction-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.bc-construction-copy {
  margin: 0;
}
.bc-construction-copy strong {
  color: #b7f5d8;
}
.bc-construction-copy span {
  font-size: .86rem;
}
.bc-construction-copy strong.bc-orders-open {
  color: #b7f5d8;
}
.bc-development-copy { flex: 1 1 480px; min-width: 0; }
.bc-development-copy p { margin: .5rem 0; line-height: 1.65; color: #eee6f7; }
.bc-development-copy strong { color: #faf7ff; }
.bc-development-copy .bc-development-label { color: #d6acff; font-size: .8rem; font-weight: 750; letter-spacing: .08em; }
.bc-development-copy h2 { margin: .4rem 0; color: #a3f5c9; font-size: clamp(1.1rem, 2vw, 1.55rem); font-family: inherit; line-height: 1.35; }
.bc-development-cta { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 52px; max-width: 100%; padding: .95rem 1.15rem; border: 1px solid #b7f5d8; border-radius: 10px; background: #a3f5c9; color: #10251b; font-weight: 800; text-decoration: none; text-align: center; line-height: 1.5; box-shadow: 0 0 18px #70e6ad25; }
.bc-development-cta:hover { background: #d6acff; color: #140b20; }
.bc-development-cta:focus-visible { outline: 3px solid #d6acff; outline-offset: 4px; }
@keyframes bc-development-glow {
  0%, 100% { box-shadow: inset 0 0 16px #9857cd18, 0 0 8px #9857cd12; }
  50% { box-shadow: inset 0 0 28px #70e6ad28, 0 0 16px #9857cd28; }
}
@media (max-width: 640px) {
  .bc-development-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .bc-construction-notice { animation: none; }
}

/* ---------- Smooth Hours Details Animation ---------- */
@keyframes bc-hours-slidein {
  0% {
    opacity: 0;
    transform: translateY(-4px);
    max-height: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    max-height: 420px;
  }
}
.bc-hours-details[open] > summary ~ .bc-hours-expanded {
  animation: bc-hours-slidein 200ms ease-out;
  overflow: hidden;
}
.bc-hours-expanded {
  padding: 6px 0 10px;
}

/* Shared public theme palette, including legacy page-specific colour rules. */
:root[data-bc-theme] .bc-home { --bc-muted: inherit; }
:root[data-bc-theme] .bc-site-header { background: var(--bc-header-bg); }
.bc-theme-control {
  display: inline-flex;
  flex-shrink: 0;
  gap: 4px;
  padding: 3px;
  border: 1px solid var(--bc-border-strong);
  border-radius: 10px;
  background: var(--bc-surface);
}
.bc-theme-control button {
  min-height: 44px;
  min-width: 48px;
  padding: 6px 9px;
  border-radius: 7px;
  color: var(--bc-muted);
  font-size: .82rem;
  font-weight: 700;
}
.bc-theme-control button[aria-pressed="true"] {
  background: var(--bc-cta);
  color: var(--bc-on-accent);
}
:root[data-bc-theme] .bc-ribbon,
:root[data-bc-theme] .bc-site-footer { background: var(--bc-bg-elev); }
:root[data-bc-theme] .bc-light {
  background: var(--bc-bg-elev);
  color: var(--bc-white);
}
:root[data-bc-theme] .bc-callout { background: linear-gradient(115deg, var(--bc-panel), var(--bc-bg-elev)); }
:root[data-bc-theme] .bc-category,
:root[data-bc-theme] .bc-home .bc-category:nth-child(2),
:root[data-bc-theme] .compact-card,
:root[data-bc-theme] .bc-home-order,
:root[data-bc-theme] .bc-popup-card,
:root[data-bc-theme] .bc-floating-coupon {
  background: var(--bc-surface);
  color: var(--bc-white);
  border-color: var(--bc-border-strong);
}
/* Inline coupon panel colours are legacy presentational attributes only. */
:root[data-bc-theme] .compact-card[style] {
  background: var(--bc-panel) !important;
  border-color: var(--bc-border-strong) !important;
}
:root[data-bc-theme] .bc-home main h1,
:root[data-bc-theme] .bc-home main h2,
:root[data-bc-theme] .bc-home main h3,
:root[data-bc-theme] .bc-light h1,
:root[data-bc-theme] .bc-light h2,
:root[data-bc-theme] .bc-light h3,
:root[data-bc-theme] .bc-section-head h2,
:root[data-bc-theme] .compact-card h1,
:root[data-bc-theme] .compact-card h2,
:root[data-bc-theme] .compact-card h3,
:root[data-bc-theme] .bc-claim-wrap h1,
:root[data-bc-theme] .bc-claim-form label,
:root[data-bc-theme] .bc-phone-slot a { color: var(--bc-white); }
:root[data-bc-theme] .bc-home main p,
:root[data-bc-theme] .bc-home main li,
:root[data-bc-theme] .bc-light .bc-muted,
:root[data-bc-theme] .bc-light .bc-lead,
:root[data-bc-theme] .bc-light .bc-small,
:root[data-bc-theme] .bc-category p,
:root[data-bc-theme] .bc-category-number,
:root[data-bc-theme] .bc-section-head p,
:root[data-bc-theme] .bc-photo-grid figcaption,
:root[data-bc-theme] .bc-contact-copy p,
:root[data-bc-theme] .bc-contact-status,
:root[data-bc-theme] .bc-footer-bottom,
:root[data-bc-theme] .bc-claim-wrap .lede,
:root[data-bc-theme] .char-count,
:root[data-bc-theme] .bc-catalogue-media-note,
:root[data-bc-theme] .bc-catalogue-media-note span,
:root[data-bc-theme] [data-bc-enquiry-status],
:root[data-bc-theme] #enquiry-delivery { color: var(--bc-muted); }
:root[data-bc-theme] .bc-home .bc-eyebrow,
:root[data-bc-theme] .bc-light .bc-eyebrow,
:root[data-bc-theme] .bc-category .bc-text-link,
:root[data-bc-theme] .bc-light .bc-text-link,
:root[data-bc-theme] .bc-gallery-kind,
:root[data-bc-theme] .card-title--caps,
:root[data-bc-theme] .bc-floating-coupon-label,
:root[data-bc-theme] .bc-floating-coupon-code,
:root[data-bc-theme] .bc-visitor-bar-2row .bc-source .bc-sl,
:root[data-bc-theme] .bc-field-caption a,
:root[data-bc-theme] #enquiry-delivery a { color: var(--bc-purple); }
:root[data-bc-theme] .bc-product-media,
:root[data-bc-theme] .bc-local-map,
:root[data-bc-theme] .bc-photo-placeholder { background: var(--bc-panel); color: var(--bc-purple); }
:root[data-bc-theme] .bc-illustration-label { color: var(--bc-muted); }
:root[data-bc-theme] input::placeholder,
:root[data-bc-theme] textarea::placeholder { color: var(--bc-placeholder); opacity: 1; }
:root[data-bc-theme] .bc-popup-close,
:root[data-bc-theme] .btn-secondary,
:root[data-bc-theme] .bc-poll-option,
:root[data-bc-theme] .bc-claim-radios label,
:root[data-bc-theme] .bc-code-inline,
:root[data-bc-theme] .bc-code-box,
:root[data-bc-theme] .bc-poll-other input,
:root[data-bc-theme] .bc-claim-form input,
:root[data-bc-theme] .bc-claim-form textarea,
:root[data-bc-theme] .coupon-input-row input[data-bc-coupon-input] {
  background: var(--bc-panel);
  color: var(--bc-white);
  border-color: var(--bc-border-strong);
}
:root[data-bc-theme] .bc-poll-option span { color: var(--bc-white); }
:root[data-bc-theme] .btn-secondary:hover,
:root[data-bc-theme] .bc-popup-close:hover,
:root[data-bc-theme] .bc-poll-option:hover,
:root[data-bc-theme] .bc-claim-radios label:hover { background: var(--bc-bg-elev); }
:root[data-bc-theme] .bc-draft,
:root[data-bc-theme] .bc-legal-warning strong { color: var(--bc-warning); }
:root[data-bc-theme] .bc-draft { background: var(--bc-warning-bg); }
:root[data-bc-theme] .info-box { background: var(--bc-panel); color: var(--bc-white); }
:root[data-bc-theme] .bc-hours-notice,
:root[data-bc-theme] .bc-site-banner-wip { background: var(--bc-notice-bg); color: var(--bc-white); }
:root[data-bc-theme] .bc-hours-notice p,
:root[data-bc-theme] .bc-notice-copy strong { color: var(--bc-white); }
:root[data-bc-theme] .bc-hours-notice a,
:root[data-bc-theme] .bc-hours-notice a:visited,
:root[data-bc-theme] .bc-hours-expanded a,
:root[data-bc-theme] .bc-hours-notice .bc-orders-open,
:root[data-bc-theme] .bc-hours-notice [data-bc-phone-status],
:root[data-bc-theme] .bc-hours-details summary,
:root[data-bc-theme] .bc-qr-confirmation,
:root[data-bc-theme] .bc-notice-copy span { color: var(--bc-green); }
:root[data-bc-theme] .bc-faq details p,
:root[data-bc-theme] .bc-faq details p a { color: var(--bc-muted); }
:root[data-bc-theme] .bc-faq details p .bc-text-link { color: var(--bc-purple); }

:root[data-bc-theme] .bc-construction-notice {
  background: linear-gradient(115deg, var(--bc-bg), var(--bc-panel) 65%, var(--bc-notice-bg));
  color: var(--bc-white);
  border-color: var(--bc-purple);
  border-left-color: var(--bc-green);
}
:root[data-bc-theme] .bc-development-copy p { color: var(--bc-muted); }
:root[data-bc-theme] .bc-development-copy strong { color: var(--bc-white); }
:root[data-bc-theme] .bc-development-copy .bc-development-label { color: var(--bc-purple); }
:root[data-bc-theme] .bc-development-copy h2 {
  color: var(--bc-green);
  animation: bc-heading-breathe 3.2s ease-in-out infinite;
}
:root[data-bc-theme] .bc-development-cta {
  background: var(--bc-green);
  color: var(--bc-bg);
  border-color: var(--bc-green);
  animation: bc-cta-breathe 3.2s ease-in-out infinite;
}
:root[data-bc-theme] .bc-development-cta:hover { background: var(--bc-purple); color: var(--bc-bg); }
@keyframes bc-heading-breathe {
  0%, 100% { text-shadow: 0 0 3px #70e6ad33; }
  50% { text-shadow: 0 0 12px #70e6ad99, 0 0 24px #9857cd66; }
}
@keyframes bc-cta-breathe {
  0%, 100% { box-shadow: 0 0 5px #70e6ad33; }
  50% { box-shadow: 0 0 20px #70e6ad88, 0 0 30px #9857cd55; }
}
@media (max-width: 1180px) and (min-width: 861px) {
  .bc-header-inner { gap: 10px; }
  .bc-header-nav a { padding-inline: 8px; }
  .bc-header-cta { display: none; }
}
@media (max-width: 860px) {
  .bc-theme-control { margin-left: auto; }
  .bc-menu-toggle { order: 1; }
  .bc-header-inner { gap: 10px; }
}
@media (max-width: 380px) {
  .bc-header-brand { gap: 6px; }
  .bc-header-brand-name { font-size: 1.05rem; }
  .bc-header-brand img { width: 32px; height: 32px; }
  .bc-theme-control button { padding-inline: 6px; min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  :root[data-bc-theme] .bc-development-copy h2,
  :root[data-bc-theme] .bc-development-cta { animation: none; }
  :root[data-bc-theme] .bc-development-copy h2 { text-shadow: 0 0 6px #70e6ad44; }
  :root[data-bc-theme] .bc-development-cta { box-shadow: 0 0 12px #70e6ad55; }
}

.bc-code-section {
  --bc-code-accent: var(--bc-cyan);
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--bc-border);
  border-left: 4px solid var(--bc-code-accent);
  border-radius: 10px;
  background: var(--bc-surface);
  color: var(--bc-white);
  scroll-margin-top: 100px;
}
.bc-code-section[data-code-section="free_tag"] { --bc-code-accent: var(--bc-green); }
.bc-code-section[data-code-section="personal"] { --bc-code-accent: var(--bc-purple); }
.bc-form .bc-code-section label { color: var(--bc-code-accent); }
.bc-code-help { font-size: .84rem; line-height: 1.55; color: var(--bc-muted); }
.bc-code-section .coupon-input-row input { flex: 1 1 200px; min-width: 0; }
:root[data-bc-theme] .bc-code-section .btn-secondary {
  min-height: 44px;
  border-color: var(--bc-code-accent);
  background: var(--bc-code-accent);
  color: var(--bc-bg);
}
.bc-code-highlight { outline: 3px solid var(--bc-code-accent); outline-offset: 3px; }

/* Phone display only: shared with staging. */
.bc-phone-mask{filter:blur(6px)!important;background:none!important;color:var(--bc-white,#ded6e6)!important;border:0!important;border-radius:0;opacity:.7!important;text-shadow:none!important;box-shadow:none!important;}
.bc-phone-open .bc-phone-mask{display:none!important}
.bc-phone-open [data-bc-phone-link]{color:#d71932!important;-webkit-text-fill-color:#d71932;-webkit-text-stroke:0;font-weight:900;text-decoration:none!important;background:#fff!important;border:3px solid #080808;border-radius:8px;padding:4px 10px;box-sizing:border-box;text-shadow:none;box-shadow:0 0 6px 1px #d7193266;transition:box-shadow .25s ease;animation:bc-phone-glow 1.8s ease-in-out infinite!important}
.bc-phone-open .bc-phone-slot{text-align:center;width:auto;max-width:100%}
.bc-phone-open .bc-phone-slot::before{content:"Click the phone number to call us";display:block;font:600 .7rem/1.3 system-ui;text-align:center;margin-bottom:3px}
@keyframes bc-phone-glow{0%,100%{box-shadow:0 0 6px 1px #d7193266}50%{box-shadow:0 0 15px 3px #d7193299}}
@media(prefers-reduced-motion:reduce){.bc-phone-open [data-bc-phone-link]{animation:none!important}}
.bc-phone-contact::before{content:"\260E";margin-right:8px;color:inherit;font-size:1.4rem}
.bc-phone-contact:not(.bc-phone-open) [data-bc-phone-state]{font-weight:700}
[data-bc-phone]:not(.bc-phone-open) .bc-phone-contact::after{content:"Phone available during opening hours.";font-size:.8rem;display:block}

.bc-first100-dialog{max-width:600px;width:calc(100% - 32px);box-sizing:border-box;max-height:90dvh;overflow:auto;border:2px solid #c49d39;border-radius:16px;padding:24px;background:#fff;color:#291039}.bc-first100-dialog h2{font:700 1.35rem/1.3 system-ui}.bc-first100-code{font:800 1.8rem monospace;overflow-wrap:anywhere}.bc-first100-dialog::backdrop{background:#0009}.bc-first100-dialog button{padding:14px;margin:8px;border-radius:8px;border:1px solid #7023a7;cursor:pointer}

#bc-first100-banner{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 20px;background:#f6efff;color:#291039;border-bottom:1px solid #c49d39;font: .9rem/1.5 system-ui}#bc-first100-banner button{padding:8px 12px;border:1px solid #7023a7;border-radius:8px;background:#fff;color:#291039;cursor:pointer}#bc-first100-banner span{overflow-wrap:anywhere}.bc-first100-dialog select{max-width:100%;margin:8px;padding:8px}




/* Shared shop launch treatment; motion is decorative and can be paused. */
.bc-live-status{position:relative;margin-block:28px;padding:clamp(24px,4vw,48px);border:1px solid var(--bc-border-strong);border-radius:var(--bc-radius);background:linear-gradient(125deg,var(--bc-surface),var(--bc-panel));overflow:hidden}
.bc-live-status::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,var(--bc-purple-glow) 50%,transparent 70%);transform:translateX(-120%);animation:bcLiveShimmer 12s ease-in-out infinite}
.bc-live-intro,.bc-live-routes,.bc-motion-toggle{position:relative}
.bc-live-status h2{display:inline-block;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.15;color:var(--bc-purple);animation:bcLiveGlow 5s ease-in-out infinite}
.bc-live-status .bc-lead{margin:14px 0}.bc-live-trust{font-size:.88rem;color:var(--bc-muted);line-height:1.65}
.bc-live-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.bc-live-routes article{padding:20px;border:1px solid var(--bc-border);border-radius:var(--bc-radius-sm);background:var(--bc-surface)}
.bc-live-routes h3{font-size:.85rem;letter-spacing:.08em;color:var(--bc-purple)}
.bc-live-routes p{font-size:.92rem;margin:10px 0 18px;color:var(--bc-muted)}
.bc-live-routes .bc-button{min-height:48px}
.bc-motion-toggle{display:block;margin:20px 0 0 auto;min-height:44px;padding:8px 12px;border:1px solid var(--bc-border);border-radius:8px;font-size:.78rem}
.bc-square-badge{padding:14px;border:1px solid var(--bc-border-strong);border-radius:10px;background:var(--bc-panel);color:var(--bc-purple);font:750 .9rem/1.5 system-ui;animation:bcSquarePulse 6s ease-in-out infinite}
.bc-live-status .bc-button:is(:hover,:focus-visible,:active),.bc-coupon-check .bc-button:is(:hover,:focus-visible,:active),.bc-shop-content .bc-button:is(:hover,:focus-visible,:active){box-shadow:0 0 16px var(--bc-purple-glow);border-color:var(--bc-purple)}
.bc-coupon-success{padding:20px;border:1px solid var(--bc-border-strong);border-left:4px solid var(--bc-green);border-radius:12px;background:var(--bc-surface);animation:bcCouponReveal .5s ease-out both,bcCouponGlow 1.6s ease-out}
.bc-coupon-success>h2,.bc-coupon-success>strong{color:var(--bc-green)}.bc-coupon-success h2{font:750 1.2rem/1.4 system-ui;letter-spacing:.03em}
.bc-coupon-success h3{font-size:.88rem;margin-top:24px}
.bc-coupon-error{padding:14px;border:1px solid var(--bc-border-strong);border-radius:10px;color:var(--bc-white);background:var(--bc-warning-bg)}
.bc-coupon-facts{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px 20px;margin:22px 0}
.bc-coupon-facts dt{font-weight:750}.bc-coupon-facts dd{margin:0;overflow-wrap:anywhere}
.bc-coupon-check h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:18px}
.bc-shop-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0}
img[data-bc-logo]{user-select:none;-webkit-user-drag:none}
@keyframes bcLiveGlow{0%,100%{text-shadow:0 0 1px transparent}50%{text-shadow:0 0 14px var(--bc-purple-glow)}}
@keyframes bcLiveShimmer{0%,65%{transform:translateX(-120%)}95%,100%{transform:translateX(120%)}}
@keyframes bcSquarePulse{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 12px var(--bc-purple-glow)}}
@keyframes bcCouponReveal{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes bcCouponGlow{0%{box-shadow:0 0 15px var(--bc-purple-glow)}100%{box-shadow:0 0 0 transparent}}
.bc-effects-paused .bc-live-status::before,.bc-effects-paused .bc-live-status h2,.bc-effects-paused .bc-square-badge,.bc-effects-paused .bc-coupon-success{animation:none}
@media(max-width:620px){.bc-live-routes{grid-template-columns:1fr;gap:12px}.bc-live-status{padding:22px}.bc-live-routes article{padding:16px}.bc-live-routes .bc-button{width:100%}.bc-coupon-facts{grid-template-columns:85px minmax(0,1fr);gap:10px}.bc-coupon-check{margin:24px auto;padding:16px}}
@media(prefers-reduced-motion:reduce){.bc-live-status::before,.bc-live-status h2,.bc-square-badge,.bc-coupon-success{animation:none!important}.bc-live-status .bc-button,.bc-coupon-check .bc-button,.bc-shop-content .bc-button{transition:none!important}}
.bc-popup-card[data-kind="poll"]{width:min(520px,calc(100vw - 24px));min-height:min(520px,calc(100dvh - 24px));border-radius:12px;overflow:visible;padding:18px;max-height:none}
.bc-popup-card[data-kind="poll"] .bc-poll-form{display:flex;flex-direction:column;gap:8px}
.bc-popup-card[data-kind="poll"] .bc-poll-option{padding:9px;font-size:.85rem;min-height:44px}
.bc-popup-card[data-kind="poll"] .bc-popup-actions,.bc-popup-card[data-kind="poll"] .bc-poll-status{grid-column:1/-1}
.bc-popup-card[data-kind="poll"] .info-box{padding:10px;margin-bottom:10px}
.bc-popup-card[data-kind="poll"] .card-title{font-size:1.1rem}
.bc-popup-card[data-kind="poll"] .compact-card{padding:8px}
.bc-popup-card[data-kind="poll"] .bc-poll-option:has(.bc-poll-other){grid-column:1/-1;flex-wrap:wrap}
.bc-coupon-check{max-width:760px;margin:48px auto;padding:24px}
.bc-coupon-check input{width:100%;min-height:50px;padding:12px;background:var(--bc-surface);color:var(--bc-white);border:2px solid var(--bc-border-strong);border-radius:8px;margin:12px 0}
.bc-coupon-check [role=status]{margin:20px 0;white-space:pre-line}
.bc-coupon-check .bc-button{margin:8px 12px 8px 0}
@media(prefers-reduced-motion:reduce){.bc-header-nav a[href$="shop.html"],.bc-header-nav a[href="/shop"],.bc-launch-sparks i{animation:none}}
@media(max-height:600px){.bc-popup-card[data-kind="poll"]{padding:8px}.bc-popup-card[data-kind="poll"] .bc-poll-option{padding:4px;font-size:.78rem;min-height:40px}.bc-popup-card[data-kind="poll"] .bc-poll-form{gap:4px}.bc-popup-card[data-kind="poll"] .info-box{margin:0;padding:4px}}
.bc-visitor-bar-2row .bc-row2{flex-wrap:wrap;overflow:visible}
@media(max-width:540px){.bc-popup-card[data-kind="poll"]{min-height:0}}
@media(max-height:500px) and (min-width:620px){.bc-popup-card[data-kind="poll"]{width:min(700px,calc(100vw - 24px));min-height:0}.bc-popup-card[data-kind="poll"] .bc-poll-form{grid-template-columns:repeat(3,minmax(0,1fr))}.bc-popup-card[data-kind="poll"] .bc-poll-option:has(.bc-poll-other){grid-column:auto}}
#bcOverlayHost:has(.bc-poll-form) .bc-popup-card[data-kind="poll"]{width:min(560px,calc(100vw - 24px));min-height:min(560px,calc(100dvh - 24px));border-radius:12px;overflow:visible}
#bcOverlayHost .bc-popup-card[data-kind="poll"] .bc-poll-grid{width:100%}
@media(max-width:600px){#bcOverlayHost:has(.bc-poll-form) .bc-popup-card[data-kind="poll"]{min-height:0}}
@media(max-height:500px) and (min-width:620px){#bcOverlayHost:has(.bc-poll-form) .bc-popup-card[data-kind="poll"]{width:min(740px,calc(100vw - 24px));min-height:0}}
@media(min-width:861px) and (max-width:1100px){.bc-header-inner{flex-wrap:wrap;padding-block:12px;gap:12px}.bc-header-nav{order:3;width:100%;justify-content:center}}

/* One shared decorative effects layer, kept at the edges and away from copy. */
.bc-live-status::before{animation-duration:2s}
.bc-live-status h2,.bc-square-badge{animation-duration:1.6s}
.bc-header-nav a[href$="shop.html"],.bc-header-nav a[href="/shop"]{animation:bcSquarePulse 1.8s ease-in-out infinite}
.bc-button,.bc-motion-toggle{transition:background-color .2s,border-color .2s,box-shadow .2s}
.bc-coupon-success{animation:bcCouponReveal .2s ease-out both,bcCouponGlow 1.2s ease-out}
.bc-laser-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.bc-laser-sparks i{position:absolute;left:calc(8% + var(--spark)*12%);top:7px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 5px #fff,0 0 10px #c491ff;opacity:0;animation:bcLaserSpark 1.8s ease-out calc(var(--spark)*-.23s) infinite}
.bc-laser-sparks i:nth-child(even){top:auto;bottom:7px}
.bc-laser-sparks i:nth-child(3n){width:20px;height:1px}
@keyframes bcLaserSpark{0%,55%,100%{opacity:0;transform:translateX(-7px) scale(.6)}65%{opacity:.9;transform:translateX(0) scale(1)}85%{opacity:.3;transform:translateX(9px) scale(.7)}}
.bc-effects-paused .bc-laser-sparks{display:none}
.bc-effects-paused .bc-live-status::before,.bc-effects-paused .bc-live-status h2,.bc-effects-paused .bc-square-badge,.bc-effects-paused .bc-coupon-success,.bc-effects-paused .bc-header-nav a,.bc-effects-paused .bc-laser-sparks i{animation:none!important}
@media(prefers-reduced-motion:reduce){.bc-laser-sparks{display:none}.bc-header-nav a{animation:none!important}}

/* Quiet engraving sparks and one compact header control group. */
.bc-header-controls{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.bc-header-controls .bc-theme-control{margin:0}
.bc-header-controls .bc-motion-toggle{margin:0;min-height:50px;max-width:130px;padding:6px 10px;font-size:.7rem;line-height:1.4;color:var(--bc-muted);background:var(--bc-surface);border-color:var(--bc-border-strong)}
.bc-header-controls .bc-motion-toggle[aria-pressed="true"]{color:var(--bc-purple)}
.bc-header-controls button:focus-visible{outline:2px solid var(--bc-purple);outline-offset:3px}
.bc-logo-frame{position:relative;display:inline-flex;flex:none;isolation:isolate}
.bc-logo-frame img{position:relative;z-index:1}
img[data-bc-logo]{background:transparent!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 0 1px #ffffffb3) drop-shadow(0 0 4px #b675ead9) drop-shadow(0 0 8px #9652cc80);transition:filter .2s}
.bc-effects-paused img[data-bc-logo]{filter:drop-shadow(0 0 1px #ffffff80) drop-shadow(0 0 4px #aa6ad399)}
.bc-live-status::before{display:none;animation:none}
.bc-live-status h2,.bc-square-badge,.bc-header-nav a[href$="shop.html"],.bc-header-nav a[href="/shop"]{animation:none!important}
.bc-live-status h2{text-shadow:0 0 8px #ac77ce26}
.bc-coupon-success{animation:bcCouponReveal .2s ease-out both}
.bc-laser-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit;z-index:0}
.bc-laser-sparks i,.bc-laser-sparks i:nth-child(even),.bc-laser-sparks i:nth-child(3n){position:absolute;left:var(--spark-x);top:var(--spark-y);bottom:auto;width:2px;height:3px;border-radius:50%;background:#d5b0ff;box-shadow:0 0 2px #fff,0 0 4px #b878e8;opacity:0;animation:bcEngravingFall var(--spark-time,1s) ease-out both}
.bc-laser-sparks i.bc-spark-streak{width:1px;height:6px;background:#eee0ff}
@keyframes bcEngravingFall{0%{opacity:0;transform:translate(0,0)}15%{opacity:.65}65%{opacity:.35}100%{opacity:0;transform:translate(var(--spark-drift,3px),var(--spark-fall,32px))}}
@media(min-width:861px){.bc-header-inner{flex-wrap:wrap;gap:12px}.bc-header-nav{order:3;width:100%;justify-content:center}}
@media(max-width:860px){.bc-header-inner{flex-wrap:wrap;gap:10px}.bc-header-controls{order:2;width:100%;justify-content:flex-end}.bc-header-controls .bc-theme-control button{min-width:44px}.bc-header-controls .bc-motion-toggle{max-width:none;min-height:50px}.bc-menu-toggle{margin-left:auto}.bc-header-nav{order:3}}
@media(max-width:380px){.bc-header-controls{justify-content:space-between;gap:6px}.bc-header-controls .bc-motion-toggle{max-width:130px}}
@media(prefers-reduced-motion:reduce){.bc-laser-sparks{display:none}img[data-bc-logo]{transition:none}}

/* Homepage-only status and brighter, bounded engraving particles. */
.bc-home-live{isolation:isolate;padding:22px 30px;margin-block:22px;background:linear-gradient(125deg,#281639,#3a2051);border-color:#b588d7}
:root[data-bc-theme="light"] .bc-home-live{background:linear-gradient(125deg,#eee1ff,#faf4ff);border-color:#9962bc}
.bc-home-live .bc-live-intro,.bc-home-live .bc-live-routes{position:relative;z-index:1}
.bc-home-live h2{font-size:clamp(1.3rem,2.5vw,1.9rem);margin:0;color:#e6c8ff}
:root[data-bc-theme="light"] .bc-home-live h2{color:#5b247d}
.bc-home-live .bc-live-intro p{margin:8px 0 0;color:#eee4f5;font-size:.95rem}
:root[data-bc-theme="light"] .bc-home-live .bc-live-intro p{color:#46334f}
.bc-home-live .bc-live-routes{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.bc-home-live .bc-home-shop-cta{border:2px solid #c594ee;animation:bcShopAttention 4.8s ease-in-out infinite}
.bc-home-live .bc-button-secondary{border-color:#b697cb;color:#eee2f7}
:root[data-bc-theme="light"] .bc-home-live .bc-button-secondary{border-color:#795093;color:#4c2666}
@keyframes bcShopAttention{0%,100%{box-shadow:0 0 5px #ab69df55}50%{box-shadow:0 0 13px #ad73df88;border-color:#efdbff}}
.bc-home-live{animation:bcHomeAccent 6s ease-in-out infinite}
@keyframes bcHomeAccent{0%,100%{box-shadow:0 0 6px #a16bc922}50%{box-shadow:0 0 14px #a16bc944}}
.bc-header-inner{position:relative;isolation:isolate}
.bc-header-inner>:not(.bc-laser-sparks){z-index:1}
.bc-laser-sparks{z-index:0}
.bc-laser-sparks i,.bc-laser-sparks i:nth-child(even),.bc-laser-sparks i:nth-child(3n){width:var(--spark-size,3px);height:var(--spark-size,3px);background:#efdfff;box-shadow:0 0 2px #fff,0 0 5px #b655ff,0 0 9px #983ddb99;animation-name:bcVisibleEngravingFall}
.bc-laser-sparks i::before{content:"";position:absolute;bottom:2px;left:50%;width:2px;height:9px;transform:translateX(-50%);background:linear-gradient(transparent,#c18affaa);border-radius:2px}
:root[data-bc-theme="light"] .bc-laser-sparks i{background:#8424be;box-shadow:0 0 2px #fff,0 0 5px #982fea,0 0 8px #9236cc99}
.bc-laser-sparks i.bc-spark-streak{width:3px;height:12px;background:#fff0ff;box-shadow:0 0 3px #fff,0 0 7px #b24aff}
:root[data-bc-theme="light"] .bc-laser-sparks i.bc-spark-streak{background:#7020a7}
@keyframes bcVisibleEngravingFall{0%{opacity:0;transform:translate(0,0)}10%,55%{opacity:1}80%{opacity:.8}100%{opacity:0;transform:translate(var(--spark-drift,5px),var(--spark-fall,60px))}}
.bc-effects-paused .bc-home-live,.bc-effects-paused .bc-home-shop-cta{animation:none!important}
@media(max-width:620px){.bc-home-live{padding:18px 24px}.bc-home-live .bc-live-routes{gap:10px}.bc-home-live .bc-live-routes .bc-button{width:100%}}
@media(prefers-reduced-motion:reduce){.bc-home-live,.bc-home-shop-cta{animation:none!important}}

/* Crawlable public catalogue, using the existing site palette. */
.bc-seo-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin:18px 0;padding-left:20px}.bc-seo-categories h3{font-size:1rem}.bc-seo-categories li{margin:8px 0}.bc-seo-intro h1{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.2;margin-bottom:16px}#bc-seo-catalogue p{margin:12px 0}.bc-seo-categories a{text-decoration:underline}@media(max-width:600px){.bc-seo-categories{grid-template-columns:1fr}}
