:root {
  /* LIGHT Theme Color Palette with deep wellness accents */
  --bo-canvas: #FAF9F6;          /* Alabaster background */
  --bo-surface: #FFFFFF;         /* Pure white card backgrounds */
  --bo-prime: #0F766E;           /* Deep Teal accent (primary) */
  --bo-prime-hover: #0D9488;     /* Medium Teal hover */
  --bo-prime-tint: #CCFBF1;      /* Extremely light Teal background indicator */
  
  --bo-ink: #111827;             /* Charcoal for body typography */
  --bo-ink-muted: #4B5563;       /* Cool gray for secondary typography */
  --bo-edge: #E5E7EB;            /* Light gray borders */
  
  /* Layout constraints */
  --bo-width: 1180px;            /* Container width */
  --bo-radius: 14px;             /* Soft border-radius design */
  
  /* Raised Shadow Depth style */
  --bo-shadow: 0 10px 15px -3px rgba(15, 118, 110, 0.05), 0 4px 6px -2px rgba(15, 118, 110, 0.02);
  --bo-shadow-btn: 0 4px 14px rgba(15, 118, 110, 0.3);
  --bo-shadow-card: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02);

  /* Typography configuration */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;
}

/* Global resets & typography */
body {
  font-family: var(--font-body);
  background-color: var(--bo-canvas);
  color: var(--bo-ink);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .font-display {
  font-family: var(--font-display);
}

/* Container logic */
.bo-shell {
  max-width: var(--bo-width);
  width: 100%;
}

/* Header style override */
.bo-top-header {
  background-color: var(--bo-prime);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 20;
}

/* Showcase Section */
.bo-showcase-section {
  background-color: var(--bo-canvas);
  position: relative;
}

/* Gallery image container block */
.bo-gallery-main {
  border-radius: var(--bo-radius);
  border: 1px solid var(--bo-edge);
  box-shadow: var(--bo-shadow);
  transition: transform 0.3s ease;
}
.bo-gallery-main:hover {
  transform: translateY(-2px);
}

/* Price Display Badge */
.bo-price-tag {
  background-color: var(--bo-prime-tint);
  border-radius: var(--bo-radius);
}

/* Pull quote block (Magazine preset specific) */
.bo-pull-quote {
  border-left: 5px solid var(--bo-prime);
  background-color: rgba(15, 118, 110, 0.04);
  color: var(--bo-ink);
}

/* Guarantee strip layout */
.bo-guarantee-strip {
  border: 1px dashed var(--bo-prime);
  background-color: var(--bo-surface);
}

/* Conversion Call-To-Action Button styling */
.bo-main-btn {
  background-color: var(--bo-prime);
  color: #FFFFFF !important;
  border-radius: var(--bo-radius);
  box-shadow: var(--bo-shadow-btn);
}
.bo-main-btn:hover {
  background-color: var(--bo-prime-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45);
}
.bo-main-btn:active {
  transform: translateY(0);
}

/* Features rows alternating style layout */
.bo-features-divider {
  background-color: var(--bo-surface);
}
.bo-feature-row {
  border-bottom: 1px solid var(--bo-edge);
}

/* Testimonials background area */
.bo-testimonials-bg {
  background-color: var(--bo-canvas);
  border-top: 1px solid var(--bo-edge);
  border-bottom: 1px solid var(--bo-edge);
}

/* Masonry Columns Structure for Testimonials (Magazine Split specific) */
.bo-testimonial-masonry {
  column-count: 1;
  column-gap: 1.5rem;
}
@media (min-width: 768px) {
  .bo-testimonial-masonry {
    column-count: 2;
  }
}
@media (min-width: 1024px) {
  .bo-testimonial-masonry {
    column-count: 3;
  }
}

/* Masonry individual display block */
.bo-masonry-card {
  break-inside: avoid;
  margin-bottom: 1.5rem;
  position: relative;
  background-color: var(--bo-surface);
  border-left: 4px solid var(--bo-prime);
  border-radius: var(--bo-radius);
  padding: 1.75rem;
  box-shadow: var(--bo-shadow);
  transition: transform 0.2s ease-in-out;
}
.bo-masonry-card:hover {
  transform: scale(1.02);
  box-shadow: var(--bo-shadow-card);
}

/* Top-right corner avatar layout indicator */
.bo-masonry-avatar {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background-color: var(--bo-prime-tint);
  color: var(--bo-prime);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  font-family: var(--font-display);
}

/* Footer structure overrides */
.bo-main-footer {
  background-color: #111827; /* Deep color background for maximum AA contrast */
  position: relative;
  z-index: 20;
}
.bo-main-footer nav a {
  color: #9CA3AF;
}
.bo-main-footer nav a:hover {
  color: #FFFFFF;
}