/** Shopify CDN: Minification failed

Line 436:15 Unterminated string token

**/
/* Camera Hacks by Malcolm-Jay — Custom Theme Styles v2 */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=JetBrains+Mono:wght@400;500&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --chm-bg: #0e0e0e;
  --chm-bg-alt: #151515;
  --chm-ink: #f5f3ee;
  --chm-ink-dim: #a8a5a0;
  --chm-ink-muted: #6b6862;
  --chm-accent: #d94a2f;
  --chm-line: #2a2a2a;
  --chm-warm: #1a1816;
  --chm-rpi-red: #c41e3a;
}

/* Apply dark theme to body so the stock theme's default backgrounds don't show through */
body.chm-themed {
  background: var(--chm-bg);
  color: var(--chm-ink);
}

.chm-section {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  line-height: 1.6;
  color: var(--chm-ink);
  -webkit-font-smoothing: antialiased;
}

.chm-section * { box-sizing: border-box; }

/* ==== SHARED UTILITIES ==== */
.chm-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-accent);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.chm-btn {
  display: inline-block;
  padding: 16px 32px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.2s;
  cursor: pointer;
}
.chm-btn--primary { background: var(--chm-accent); color: white; }
.chm-btn--primary:hover { background: #b83d25; color: white; }
.chm-btn--ghost { border-color: var(--chm-ink-muted); color: var(--chm-ink); background: transparent; }
.chm-btn--ghost:hover { border-color: var(--chm-ink); background: rgba(255,255,255,0.03); color: var(--chm-ink); }

/* ==== HEADER ==== */
.chm-header {
  background: var(--chm-bg);
  border-bottom: 1px solid var(--chm-line);
  padding: 20px 48px;
  position: sticky;
  top: 0;
  z-index: 100;
  font-family: 'Inter', sans-serif;
}
.chm-header__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.chm-header__logo {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--chm-ink);
  text-decoration: none;
  flex-shrink: 0;
}
.chm-header__logo em { font-style: italic; color: var(--chm-accent); }
.chm-header__nav {
  display: flex;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.chm-header__nav a {
  color: var(--chm-ink-dim);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.chm-header__nav a:hover { color: var(--chm-ink); }
.chm-header__actions {
  display: flex;
  gap: 20px;
  align-items: center;
}
.chm-header__icon {
  color: var(--chm-ink-dim);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.2s;
  position: relative;
}
.chm-header__icon:hover { color: var(--chm-ink); }
.chm-header__cart-count {
  position: absolute;
  top: -8px;
  right: -12px;
  background: var(--chm-accent);
  color: white;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  padding: 1px 5px;
  min-width: 16px;
  text-align: center;
}
.chm-header__mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--chm-ink);
  font-size: 20px;
  cursor: pointer;
}

/* ==== FOOTER ==== */
.chm-footer {
  background: var(--chm-bg-alt);
  border-top: 1px solid var(--chm-line);
  padding: 80px 48px 40px;
  color: var(--chm-ink-dim);
  font-family: 'Inter', sans-serif;
}
.chm-footer__inner { max-width: 1400px; margin: 0 auto; }
.chm-footer__badges {
  display: flex;
  gap: 32px;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
  flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chm-ink-dim);
  padding-bottom: 60px;
  border-bottom: 1px solid var(--chm-line);
}
.chm-footer__badges span:not(:last-child)::after {
  content: "·";
  margin-left: 32px;
  color: var(--chm-ink-muted);
}
.chm-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}
.chm-footer__brand {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--chm-ink);
  margin-bottom: 16px;
}
.chm-footer__brand em { font-style: italic; color: var(--chm-accent); }
.chm-footer__tagline {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 16px;
  color: var(--chm-ink-dim);
  max-width: 36ch;
  line-height: 1.5;
}
.chm-footer__col-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chm-accent);
  margin-bottom: 20px;
}
.chm-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.chm-footer__links li { margin-bottom: 10px; }
.chm-footer__links a {
  color: var(--chm-ink-dim);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.2s;
}
.chm-footer__links a:hover { color: var(--chm-ink); }
.chm-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 30px;
  border-top: 1px solid var(--chm-line);
  flex-wrap: wrap;
  gap: 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-muted);
  letter-spacing: 0.05em;
}
.chm-footer__social { display: flex; gap: 20px; }
.chm-footer__social a {
  color: var(--chm-ink-dim);
  text-decoration: none;
  transition: color 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.chm-footer__social a:hover { color: var(--chm-accent); }

/* ==== HERO ==== */
.chm-hero {
  min-height: 85vh;
  padding: 120px 48px 80px;
  background: var(--chm-bg);
  background:
    linear-gradient(180deg, rgba(14,14,14,0.3) 0%, rgba(14,14,14,0.95) 100%),
    radial-gradient(ellipse at 70% 30%, #2a2520 0%, var(--chm-bg) 60%);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.chm-hero--image { background-size: cover; background-position: center; }
.chm-hero__inner { max-width: 1200px; margin: 0 auto; width: 100%; }
.chm-hero__eyebrow { margin-bottom: 24px; }
.chm-hero__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(48px, 8vw, 112px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin: 0 0 32px 0;
  max-width: 14ch;
  color: var(--chm-ink);
}
.chm-hero__title em { font-style: italic; font-weight: 400; color: var(--chm-accent); }
.chm-hero__sub {
  font-size: 18px;
  color: var(--chm-ink-dim);
  max-width: 50ch;
  margin: 0 0 48px 0;
  line-height: 1.5;
}
.chm-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }

/* ==== PRODUCT HERO (new) ==== */
.chm-product-hero {
  padding: 120px 48px;
  background: var(--chm-bg);
  position: relative;
  overflow: hidden;
}
.chm-product-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(217,74,47,0.08) 0%, transparent 60%);
  pointer-events: none;
}
.chm-product-hero__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.chm-product-hero__text {}
.chm-product-hero__eyebrow { margin-bottom: 24px; }
.chm-product-hero__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -0.03em;
  margin: 0 0 32px 0;
  color: var(--chm-ink);
}
.chm-product-hero__title em { font-style: italic; color: var(--chm-accent); }
.chm-product-hero__desc {
  font-size: 17px;
  color: var(--chm-ink-dim);
  line-height: 1.6;
  margin: 0 0 32px 0;
  max-width: 48ch;
}
.chm-product-hero__specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 40px;
  padding: 28px 0;
  border-top: 1px solid var(--chm-line);
  border-bottom: 1px solid var(--chm-line);
}
.chm-product-hero__spec-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--chm-ink-muted);
  margin-bottom: 6px;
  display: block;
}
.chm-product-hero__spec-value {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  color: var(--chm-ink);
  font-weight: 400;
}
.chm-product-hero__image-wrap {
  position: relative;
}
.chm-product-hero__image {
  width: 100%;
  height: auto;
  display: block;
}
.chm-product-hero__badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: var(--chm-accent);
  color: white;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 8px 14px;
}

/* ==== PRESS STRIP ==== */
.chm-press {
  background: var(--chm-bg-alt);
  border-top: 1px solid var(--chm-line);
  border-bottom: 1px solid var(--chm-line);
  padding: 32px 48px;
}
.chm-press__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 48px;
  flex-wrap: wrap;
  justify-content: center;
}
.chm-press__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chm-ink-muted);
}
.chm-press__item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--chm-ink-dim);
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 400;
  text-decoration: none;
}
.chm-press__item:hover { color: var(--chm-ink); }
.chm-press__item strong { font-weight: 600; color: var(--chm-ink); }
.chm-press__item--rpi {
  background: var(--chm-rpi-red);
  color: white;
  padding: 8px 14px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
}
.chm-press__item--rpi::before { content: "●"; margin-right: 6px; color: #ffd700; }
.chm-press__stars {
  color: var(--chm-accent);
  letter-spacing: 2px;
  font-family: 'Fraunces', serif;
}
.chm-press__item--logo {
  padding: 0;
  background: transparent;
}
.chm-press__item--logo.chm-press__item--rpi {
  /* If using fallback text, keep the rpi pill style */
  padding: 8px 14px;
}
.chm-press__logo {
  display: block;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  transition: opacity 0.2s;
}
a.chm-press__item--logo:hover .chm-press__logo {
  opacity: 0.75;
}

/* ==== PULL QUOTE ==== */
.chm-quote {
  padding: 120px 48px;
  background: var(--chm-warm);
  position: relative;
  overflow: hidden;
}
.chm-quote::before {
  content: """;
  position: absolute;
  font-family: 'Fraunces', serif;
  font-size: 500px;
  color: var(--chm-line);
  top: -80px;
  left: 40px;
  line-height: 1;
  opacity: 0.4;
  pointer-events: none;
}
.chm-quote__inner { max-width: 960px; margin: 0 auto; position: relative; z-index: 2; }
.chm-quote__text {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 40px 0;
  color: var(--chm-ink);
}
.chm-quote__text span { color: var(--chm-accent); font-style: normal; }
.chm-quote__attribution { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.chm-quote__name {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--chm-ink-dim);
  text-transform: uppercase;
}
.chm-quote__name strong { color: var(--chm-ink); }
.chm-quote__link {
  color: var(--chm-accent);
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--chm-accent);
  padding-bottom: 2px;
}

/* ==== FEATURES ==== */
.chm-features { padding: 120px 48px; background: var(--chm-bg); }
.chm-features__inner { max-width: 1200px; margin: 0 auto; }
.chm-features__label { margin-bottom: 20px; }
.chm-features__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 80px 0;
  max-width: 18ch;
  color: var(--chm-ink);
}
.chm-features__title em { font-style: italic; color: var(--chm-accent); }
.chm-features__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--chm-line);
  border: 1px solid var(--chm-line);
}
.chm-feature { padding: 40px; background: var(--chm-bg); display: flex; gap: 24px; }
.chm-feature__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-accent);
  letter-spacing: 0.1em;
  flex-shrink: 0;
}
.chm-feature__title {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: -0.01em;
  margin: 0 0 12px 0;
  color: var(--chm-ink);
}
.chm-feature__body { color: var(--chm-ink-dim); font-size: 15px; line-height: 1.6; margin: 0; }

/* ==== SUBSTACK COMMUNITY ==== */
.chm-substack {
  padding: 120px 48px;
  background: var(--chm-bg);
  position: relative;
  overflow: hidden;
}
.chm-substack::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 40% at 80% 30%, rgba(255, 107, 61, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 20% 70%, rgba(217, 74, 47, 0.04) 0%, transparent 60%);
  pointer-events: none;
}
.chm-substack__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.chm-substack__content {}
.chm-substack__label { margin-bottom: 20px; }
.chm-substack__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(32px, 4.5vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 28px 0;
  color: var(--chm-ink);
}
.chm-substack__title em { font-style: italic; color: var(--chm-accent); }
.chm-substack__title p { margin: 0; }
.chm-substack__desc {
  font-size: 16px;
  color: var(--chm-ink-dim);
  line-height: 1.65;
  margin-bottom: 32px;
  max-width: 52ch;
}
.chm-substack__desc p { margin: 0 0 12px 0; }
.chm-substack__desc p:last-child { margin: 0; }
.chm-substack__topics {
  list-style: none;
  padding: 0;
  margin: 0 0 40px 0;
  display: grid;
  gap: 12px;
}
.chm-substack__topic {
  display: flex;
  gap: 14px;
  align-items: baseline;
  font-family: 'Fraunces', serif;
  font-size: 16px;
  color: var(--chm-ink);
  line-height: 1.4;
}
.chm-substack__topic-mark {
  font-family: 'JetBrains Mono', monospace;
  color: var(--chm-accent);
  font-size: 14px;
  flex-shrink: 0;
  line-height: 1.4;
}
.chm-substack__form {
  display: flex;
  gap: 0;
  max-width: 480px;
  border: 1px solid var(--chm-line);
  background: var(--chm-bg-alt);
  transition: border-color 0.2s;
}
.chm-substack__form:focus-within {
  border-color: var(--chm-accent);
}
.chm-substack__input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 16px 20px;
  color: var(--chm-ink);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  outline: none;
  min-width: 0;
}
.chm-substack__input::placeholder { color: var(--chm-ink-muted); }
.chm-substack__submit {
  background: var(--chm-accent);
  color: white;
  border: none;
  padding: 16px 28px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.chm-substack__submit:hover { background: #b83d25; }
.chm-substack__disclaimer {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-muted);
  letter-spacing: 0.05em;
  margin: 14px 0 0 0;
}

/* Substack card */
.chm-substack__card {
  background: var(--chm-bg-alt);
  border: 1px solid var(--chm-line);
  overflow: hidden;
  transform: rotate(1.5deg);
  transition: transform 0.3s ease;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 8px 16px rgba(0, 0, 0, 0.3);
}
.chm-substack__card:hover {
  transform: rotate(0deg) translateY(-4px);
}
.chm-substack__card-image {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
  background: var(--chm-warm);
}
.chm-substack__card-image--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--chm-ink-muted);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background:
    linear-gradient(135deg, #1a1816 0%, #2a2520 50%, #1f1b17 100%);
}
.chm-substack__card-body {
  padding: 28px;
}
.chm-substack__card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.chm-substack__card-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #ff6719;
  color: white;
  font-family: 'Georgia', serif;
  font-weight: 700;
  font-size: 14px;
  border-radius: 2px;
  font-style: italic;
}
.chm-substack__card-platform {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chm-ink-muted);
}
.chm-substack__card-title {
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0 0 8px 0;
  color: var(--chm-ink);
}
.chm-substack__card-byline {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 14px;
  color: var(--chm-ink-dim);
  margin: 0 0 20px 0;
  line-height: 1.4;
}
.chm-substack__card-stats {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-dim);
  letter-spacing: 0.05em;
  padding: 14px 0;
  border-top: 1px solid var(--chm-line);
  border-bottom: 1px solid var(--chm-line);
  margin-bottom: 20px;
}
.chm-substack__card-stats strong {
  color: var(--chm-ink);
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-size: 16px;
  margin-right: 4px;
}
.chm-substack__card-link {
  display: inline-block;
  color: var(--chm-accent);
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--chm-accent);
  padding-bottom: 2px;
  transition: color 0.2s;
}
.chm-substack__card-link:hover {
  color: var(--chm-ink);
  border-bottom-color: var(--chm-ink);
}

/* ==== GALLERY (new) ==== */
.chm-gallery { padding: 120px 48px; background: var(--chm-bg); }
.chm-gallery__inner { max-width: 1400px; margin: 0 auto; }
.chm-gallery__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
  gap: 40px;
  flex-wrap: wrap;
}
.chm-gallery__title-group { max-width: 600px; }
.chm-gallery__label { margin-bottom: 16px; }
.chm-gallery__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
  color: var(--chm-ink);
}
.chm-gallery__title em { font-style: italic; color: var(--chm-accent); }
.chm-gallery__desc {
  font-size: 15px;
  color: var(--chm-ink-dim);
  max-width: 48ch;
  margin: 0;
}
.chm-gallery__link {
  color: var(--chm-accent);
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--chm-accent);
  padding-bottom: 4px;
  flex-shrink: 0;
}
.chm-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 2px;
}
.chm-gallery__item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--chm-bg-alt);
}
.chm-gallery__item--wide { grid-column: span 2; aspect-ratio: 8/5; }
.chm-gallery__item--tall { grid-row: span 2; aspect-ratio: 4/10; }
.chm-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.chm-gallery__item:hover .chm-gallery__img { transform: scale(1.03); }

/* ==== CUSTOMER PHOTOS (new) ==== */
.chm-community { padding: 120px 48px; background: var(--chm-warm); }
.chm-community__inner { max-width: 1400px; margin: 0 auto; }
.chm-community__header { text-align: center; margin-bottom: 80px; }
.chm-community__label { margin-bottom: 16px; }
.chm-community__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 16px 0;
  color: var(--chm-ink);
}
.chm-community__title em { font-style: italic; color: var(--chm-accent); }
.chm-community__desc {
  font-size: 16px;
  color: var(--chm-ink-dim);
  max-width: 56ch;
  margin: 0 auto;
}
.chm-community__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.chm-community__card {
  background: var(--chm-bg);
  border: 1px solid var(--chm-line);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: border-color 0.2s;
}
.chm-community__card:hover { border-color: var(--chm-ink-muted); }
.chm-community__image {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}
.chm-community__attr {
  padding: 20px;
  border-top: 1px solid var(--chm-line);
}
.chm-community__photographer {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  color: var(--chm-ink);
  margin: 0 0 4px 0;
  font-weight: 500;
}
.chm-community__handle {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-muted);
  letter-spacing: 0.05em;
}
.chm-community__cta {
  text-align: center;
  margin-top: 60px;
}

/* ==== ABOUT PAGE ==== */
.chm-about { background: var(--chm-bg); }
.chm-about__hero {
  padding: 140px 48px 100px;
  background: linear-gradient(180deg, var(--chm-warm) 0%, var(--chm-bg) 100%);
  text-align: center;
}
.chm-about__hero-inner { max-width: 800px; margin: 0 auto; }
.chm-about__label { margin-bottom: 24px; }
.chm-about__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-style: italic;
  font-size: clamp(48px, 7vw, 88px);
  line-height: 1;
  letter-spacing: -0.03em;
  margin: 0 0 32px 0;
  color: var(--chm-ink);
}
.chm-about__title span { font-style: normal; color: var(--chm-accent); }
.chm-about__lede {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  line-height: 1.5;
  color: var(--chm-ink-dim);
  max-width: 52ch;
  margin: 0 auto;
}
.chm-about__portrait-section {
  padding: 80px 48px;
  background: var(--chm-bg);
}
.chm-about__portrait-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  align-items: center;
}
.chm-about__portrait { width: 100%; height: auto; display: block; }
.chm-about__portrait-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chm-ink-muted);
  margin-top: 16px;
}
.chm-about__intro {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--chm-ink-dim);
}
.chm-about__intro p { margin-bottom: 20px; }
.chm-about__intro strong { color: var(--chm-ink); font-weight: 500; }
.chm-about__story {
  padding: 80px 48px 120px;
  background: var(--chm-bg);
}
.chm-about__story-inner { max-width: 720px; margin: 0 auto; }
.chm-about__section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chm-accent);
  margin-bottom: 24px;
}
.chm-about__section-title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 32px 0;
  color: var(--chm-ink);
}
.chm-about__section-title em { font-style: italic; color: var(--chm-accent); }
.chm-about__body {
  font-size: 17px;
  line-height: 1.7;
  color: var(--chm-ink-dim);
  margin-bottom: 60px;
}
.chm-about__body p { margin-bottom: 20px; }
.chm-about__values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding: 80px 48px;
  max-width: 1200px;
  margin: 0 auto;
  border-top: 1px solid var(--chm-line);
}
.chm-about__value-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-accent);
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.chm-about__value-title {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 24px;
  line-height: 1.2;
  color: var(--chm-ink);
  margin: 0 0 12px 0;
}
.chm-about__value-body {
  font-size: 14px;
  line-height: 1.6;
  color: var(--chm-ink-dim);
  margin: 0;
}

/* ==== PRODUCT PAGE ==== */
.chm-product { background: var(--chm-bg); color: var(--chm-ink); }
.chm-product__main {
  padding: 60px 48px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 80px;
  align-items: start;
}
.chm-product__gallery {
  position: sticky;
  top: 100px;
}
.chm-product__main-image {
  width: 100%;
  background: var(--chm-warm);
  margin-bottom: 12px;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}
.chm-product__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.chm-product__thumb {
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
  background: var(--chm-warm);
  border: 1px solid var(--chm-line);
}
.chm-product__thumb:hover, .chm-product__thumb.is-active { opacity: 1; border-color: var(--chm-accent); }
.chm-product__info { padding-top: 20px; }
.chm-product__eyebrow { margin-bottom: 16px; }
.chm-product__title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 0 0 20px 0;
  color: var(--chm-ink);
}
.chm-product__title em { font-style: italic; color: var(--chm-accent); }
.chm-product__stars-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--chm-line);
}
.chm-product__star-rating {
  color: var(--chm-accent);
  font-family: 'Fraunces', serif;
  font-size: 18px;
  letter-spacing: 2px;
}
.chm-product__review-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-dim);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.chm-product__price {
  font-family: 'Fraunces', serif;
  font-size: 36px;
  font-weight: 400;
  margin-bottom: 32px;
  color: var(--chm-ink);
}
.chm-product__desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--chm-ink-dim);
  margin-bottom: 32px;
}
.chm-product__variants { margin-bottom: 32px; }
.chm-product__variant-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--chm-ink-muted);
  margin-bottom: 12px;
  display: block;
}
.chm-product__variant-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.chm-product__variant-option {
  padding: 12px 20px;
  border: 1px solid var(--chm-line);
  color: var(--chm-ink-dim);
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: transparent;
  transition: all 0.2s;
}
.chm-product__variant-option:hover { border-color: var(--chm-ink-muted); color: var(--chm-ink); }
.chm-product__variant-option.is-selected {
  border-color: var(--chm-accent);
  color: var(--chm-ink);
  background: rgba(217, 74, 47, 0.1);
}
.chm-product__buy {
  display: flex;
  gap: 12px;
  margin-bottom: 32px;
}
.chm-product__buy-btn {
  flex: 1;
  padding: 20px 32px;
  background: var(--chm-accent);
  color: white;
  border: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}
.chm-product__buy-btn:hover { background: #b83d25; }
.chm-product__meta {
  display: grid;
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--chm-line);
  border-bottom: 1px solid var(--chm-line);
  margin-bottom: 32px;
}
.chm-product__meta-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.chm-product__meta-icon {
  font-family: 'JetBrains Mono', monospace;
  color: var(--chm-accent);
  font-size: 14px;
  flex-shrink: 0;
}
.chm-product__meta-text {
  font-size: 13px;
  color: var(--chm-ink-dim);
  line-height: 1.5;
}
.chm-product__meta-text strong { color: var(--chm-ink); font-weight: 500; }
.chm-product__specs-section {
  background: var(--chm-bg-alt);
  padding: 100px 48px;
  border-top: 1px solid var(--chm-line);
}
.chm-product__specs-inner { max-width: 1200px; margin: 0 auto; }
.chm-product__specs-title {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-size: 40px;
  margin: 0 0 60px 0;
  color: var(--chm-ink);
  letter-spacing: -0.02em;
}
.chm-product__specs-title em { font-style: italic; color: var(--chm-accent); }
.chm-product__specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--chm-line);
}
.chm-product__spec-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 20px 0;
  border-bottom: 1px solid var(--chm-line);
  gap: 24px;
}
.chm-product__spec-row:nth-child(odd) { border-right: 1px solid var(--chm-line); padding-right: 24px; }
.chm-product__spec-row:nth-child(even) { padding-left: 24px; }
.chm-product__spec-key {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--chm-ink-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.chm-product__spec-val {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  color: var(--chm-ink);
}

/* ==== RESPONSIVE ==== */
@media (max-width: 968px) {
  .chm-header__nav { display: none; }
  .chm-header__mobile-toggle { display: block; }
  .chm-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .chm-product-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .chm-about__portrait-inner { grid-template-columns: 1fr; gap: 32px; }
  .chm-about__values { grid-template-columns: 1fr; gap: 32px; }
  .chm-product__main { grid-template-columns: 1fr; gap: 40px; padding: 40px 24px; }
  .chm-product__gallery { position: static; }
  .chm-product__specs-grid { grid-template-columns: 1fr; }
  .chm-product__spec-row:nth-child(odd) { border-right: none; padding-right: 0; }
  .chm-product__spec-row:nth-child(even) { padding-left: 0; }
  .chm-community__grid { grid-template-columns: repeat(2, 1fr); }
  .chm-gallery__grid { grid-template-columns: repeat(2, 1fr); }
  .chm-gallery__item--wide, .chm-gallery__item--tall { grid-column: auto; grid-row: auto; aspect-ratio: 4/5; }
  .chm-substack__inner { grid-template-columns: 1fr; gap: 60px; }
  .chm-substack__card { max-width: 440px; margin: 0 auto; transform: rotate(0); }
}

@media (max-width: 768px) {
  .chm-header, .chm-footer { padding-left: 24px; padding-right: 24px; }
  .chm-hero { padding: 80px 24px 60px; min-height: 70vh; }
  .chm-product-hero, .chm-quote, .chm-features, .chm-gallery, .chm-community { padding: 80px 24px; }
  .chm-substack { padding: 80px 24px; }
  .chm-substack__form { flex-direction: column; }
  .chm-substack__submit { padding: 16px 20px; }
  .chm-press { padding: 24px; }
  .chm-features__grid { grid-template-columns: 1fr; }
  .chm-press__inner { gap: 24px; }
  .chm-feature { padding: 28px; }
  .chm-product-hero__specs { grid-template-columns: 1fr; }
  .chm-footer__grid { grid-template-columns: 1fr; }
  .chm-about__hero { padding: 100px 24px 80px; }
  .chm-about__portrait-section, .chm-about__story { padding: 60px 24px; }
  .chm-about__values { padding: 60px 24px; }
  .chm-product__title { font-size: 36px; }
  .chm-gallery__header { flex-direction: column; align-items: flex-start; }
}
/* ==== FORCE DARK BACKGROUND SITE-WIDE (refined) ==== */

/* Only force backgrounds on structural elements, not product/media containers */
html,
body,
main,
#MainContent {
  background-color: #0e0e0e !important;
}

/* Section-level backgrounds — but NOT if they contain media/images */
.shopify-section:not(:has(img)):not(:has(video)):not(:has(picture)),
.shopify-section > .section-background,
.shopify-section > .page-width,
.section__inner {
  background-color: #0e0e0e !important;
}

/* Template-level wrappers */
.template-page,
.template-contact,
.template-collection,
.template-search,
.template-cart,
.template-blog,
.template-article,
.template-policy,
.template-404 {
  background-color: #0e0e0e !important;
}

/* Explicitly restore transparent backgrounds on media and card elements */
.card,
.card__media,
.card__image,
.card-wrapper,
.media,
.media--transparent,
.product-card,
.product-card__image,
.product-card__media,
[class*="product-card"],
[class*="card__media"],
picture,
img,
video,
.image,
.image-with-text__media,
.collection-card__image,
.collection-card__media {
  background-color: transparent !important;
}

/* Form fields */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select {
  background-color: #151515 !important;
  color: #f5f3ee !important;
  border-color: #2a2a2a !important;
}

input::placeholder,
textarea::placeholder {
  color: #6b6862 !important;
  opacity: 1;
}

/* Submit buttons */
button[type="submit"],
input[type="submit"],
.button--primary,
.btn--primary {
  background-color: #d94a2f !important;
  color: #ffffff !important;
  border-color: #d94a2f !important;
}

/* Text colors */
body,
main,
.page,
section {
  color: #f5f3ee;
}
/* ==== CART PAGE TEXT VISIBILITY FIX (Horizon) ==== */

/* Target via main's data-template attribute */
main[data-template="cart"] h1,
main[data-template="cart"] h2,
main[data-template="cart"] h3,
main[data-template="cart"] h4,
main[data-template="cart"] .h1,
main[data-template="cart"] .h2,
main[data-template="cart"] .h3,
main[data-template="cart"] .h4,
main[data-template="cart"] .cart-items__title,
main[data-template="cart"] .cart__total-label,
main[data-template="cart"] .cart__total-value,
main[data-template="cart"] .cart-items__price,
main[data-template="cart"] text-component {
  color: #f5f3ee !important;
}

/* Body text, small print, labels */
main[data-template="cart"] p,
main[data-template="cart"] small,
main[data-template="cart"] label,
main[data-template="cart"] .tax-note,
main[data-template="cart"] .cart-primary-typography,
main[data-template="cart"] .cart-secondary-typography,
main[data-template="cart"] #tncText,
main[data-template="cart"] .price {
  color: #a8a5a0 !important;
}

/* Links inside the cart — accent orange */
main[data-template="cart"] a:not(.button):not(.cart__checkout-button) {
  color: #d94a2f !important;
}

/* Checkout button — keep accent orange with white text */
main[data-template="cart"] .cart__checkout-button,
main[data-template="cart"] button[name="checkout"] {
  background-color: #d94a2f !important;
  color: #ffffff !important;
  border-color: #d94a2f !important;
}

/* Shop Pay / PayPal dynamic buttons — keep their colors but ensure readability */
main[data-template="cart"] shop-pay-wallet-button,
main[data-template="cart"] shopify-paypal-button {
  color: #ffffff !important;
}

/* Quantity selector visibility */
main[data-template="cart"] .quantity-selector,
main[data-template="cart"] cart-quantity-selector-component,
main[data-template="cart"] cart-quantity-selector-component input {
  color: #f5f3ee !important;
  background-color: #151515 !important;
}

main[data-template="cart"] cart-quantity-selector-component button {
  color: #f5f3ee !important;
}

/* Quantity input borders */
main[data-template="cart"] cart-quantity-selector-component {
  border-color: #2a2a2a !important;
}

/* Summary box border */
main[data-template="cart"] .cart__summary-container {
  border-color: #2a2a2a !important;
}

/* "You may also like" section (product recommendations below cart) */
main[data-template="cart"] .product-card__content,
main[data-template="cart"] .product-card .price,
main[data-template="cart"] .product-card h3,
main[data-template="cart"] .resource-card__title,
main[data-template="cart"] .resource-card__content .price {
  color: #f5f3ee !important;
}

/* Terms & Conditions checkbox text */
main[data-template="cart"] #tncText a {
  color: #d94a2f !important;
}

/* Remove button on cart items */
main[data-template="cart"] .cart-items__remove {
  color: #a8a5a0 !important;
}

main[data-template="cart"] .cart-items__remove:hover {
  color: #d94a2f !important;
}
/* ==== BLOG + ARTICLE + PAGE TEMPLATES TEXT VISIBILITY FIX (Horizon) ==== */

/* Headings across blog and article pages */
main[data-template="blog"] h1,
main[data-template="blog"] h2,
main[data-template="blog"] h3,
main[data-template="blog"] h4,
main[data-template="blog"] .h1,
main[data-template="blog"] .h2,
main[data-template="blog"] .h3,
main[data-template="blog"] .h4,
main[data-template="article"] h1,
main[data-template="article"] h2,
main[data-template="article"] h3,
main[data-template="article"] h4,
main[data-template="article"] .h1,
main[data-template="article"] .h2,
main[data-template="article"] .h3,
main[data-template="article"] .h4,
main[data-template="page"] h1,
main[data-template="page"] h2,
main[data-template="page"] h3,
main[data-template="page"] h4,
main[data-template="page"] .h1,
main[data-template="page"] .h2,
main[data-template="page"] .h3,
main[data-template="page"] .h4 {
  color: #f5f3ee !important;
}

/* Body text, paragraphs, lists */
main[data-template="blog"] p,
main[data-template="blog"] li,
main[data-template="blog"] blockquote,
main[data-template="article"] p,
main[data-template="article"] li,
main[data-template="article"] blockquote,
main[data-template="page"] p,
main[data-template="page"] li,
main[data-template="page"] blockquote {
  color: #a8a5a0 !important;
}

/* Article metadata (dates, author, tags, categories) */
main[data-template="blog"] time,
main[data-template="blog"] .article-card__meta,
main[data-template="blog"] .blog-article__meta,
main[data-template="blog"] .article__meta,
main[data-template="blog"] small,
main[data-template="article"] time,
main[data-template="article"] .article__meta,
main[data-template="article"] .blog-article__meta,
main[data-template="article"] .article-author,
main[data-template="article"] small {
  color: #6b6862 !important;
}

/* Article card titles (on blog listing) */
main[data-template="blog"] .article-card__title,
main[data-template="blog"] .blog-article__title,
main[data-template="blog"] .article-card h2,
main[data-template="blog"] .article-card h3 {
  color: #f5f3ee !important;
}

/* Article excerpt / preview text */
main[data-template="blog"] .article-card__excerpt,
main[data-template="blog"] .article-card__content p,
main[data-template="blog"] .article-excerpt {
  color: #a8a5a0 !important;
}

/* Links throughout blog and article pages — accent orange */
main[data-template="blog"] a:not(.button):not(.article-card__link),
main[data-template="article"] a:not(.button),
main[data-template="page"] a:not(.button) {
  color: #d94a2f !important;
}

/* Article card wrapper link — invisible wrapper, don't style it as a link */
main[data-template="blog"] .article-card__link {
  color: inherit !important;
}

/* "Read more" or article CTA buttons */
main[data-template="blog"] .article-card__cta,
main[data-template="blog"] .read-more {
  color: #d94a2f !important;
}

/* Article body content (main reading area) */
main[data-template="article"] .article__content,
main[data-template="article"] .rte,
main[data-template="article"] .rte p,
main[data-template="article"] .article-body p {
  color: #a8a5a0 !important;
}

main[data-template="article"] .article__content strong,
main[data-template="article"] .rte strong {
  color: #f5f3ee !important;
}

/* Blockquotes */
main[data-template="article"] blockquote,
main[data-template="page"] blockquote {
  color: #f5f3ee !important;
  border-left-color: #d94a2f !important;
}

/* Tags and categories */
main[data-template="blog"] .article-tags a,
main[data-template="article"] .article-tags a,
main[data-template="blog"] .tag,
main[data-template="article"] .tag {
  color: #d94a2f !important;
  border-color: #2a2a2a !important;
}

/* Pagination (next/prev article links) */
main[data-template="blog"] .pagination a,
main[data-template="article"] .pagination a,
main[data-template="blog"] .pagination__item {
  color: #a8a5a0 !important;
}

main[data-template="blog"] .pagination a:hover,
main[data-template="article"] .pagination a:hover,
main[data-template="blog"] .pagination__item--current {
  color: #f5f3ee !important;
}

/* Card borders throughout */
main[data-template="blog"] .article-card,
main[data-template="article"] .article-card {
  border-color: #2a2a2a !important;
}

/* Comments section (if enabled) */
main[data-template="article"] .comments,
main[data-template="article"] .comment {
  color: #a8a5a0 !important;
  border-color: #2a2a2a !important;
}

main[data-template="article"] .comment-author {
  color: #f5f3ee !important;
}

/* HR dividers */
main[data-template="blog"] hr,
main[data-template="article"] hr,
main[data-template="page"] hr {
  border-color: #2a2a2a !important;
}
/* ==== BLOG EXCERPT FIX (catches all excerpt variants) ==== */

/* Target any text element inside an article card that's not a heading or link */
main[data-template="blog"] article-card p,
main[data-template="blog"] .article-card p,
main[data-template="blog"] .article-card__content p,
main[data-template="blog"] .article-card__description,
main[data-template="blog"] .article-card__excerpt p,
main[data-template="blog"] .article-card__body,
main[data-template="blog"] .article-card__body p,
main[data-template="blog"] .blog-article__excerpt,
main[data-template="blog"] .blog-article__excerpt p,
main[data-template="blog"] [class*="article"] p,
main[data-template="blog"] [class*="excerpt"],
main[data-template="blog"] [class*="excerpt"] p,
main[data-template="blog"] .rte,
main[data-template="blog"] .rte p {
  color: #a8a5a0 !important;
}

/* Catch-all: any paragraph inside the blog main that's not already styled */
main[data-template="blog"] .section p:not([class]),
main[data-template="blog"] .group-block-content p {
  color: #a8a5a0 !important;
}
