/* ============ Surfaces ============ */
.bc-glass { background: var(--bc-white); border: 1px solid var(--bc-border); border-radius: var(--bc-radius-lg); }
.bc-glass-bright { background: var(--bc-white); border: 1px solid var(--bc-border); border-radius: var(--bc-radius-lg); box-shadow: var(--bc-shadow-md); }

/* ============ Buttons (refined, classy) ============ */
.bc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 26px; border-radius: var(--bc-radius-full);
  font-size: 14px; font-weight: 600; letter-spacing: -0.005em;
  transition: all 220ms var(--bc-ease);
  white-space: nowrap; border: 0; cursor: pointer;
}
.bc-btn-primary { color: #fff; background: var(--bc-electric); box-shadow: 0 4px 16px -4px rgba(230,57,70,0.3); }
.bc-btn-primary:hover { background: var(--bc-electric-600); box-shadow: 0 8px 24px -6px rgba(230,57,70,0.4); transform: translateY(-1px); }
.bc-btn-secondary { color: #fff; background: var(--bc-royal); box-shadow: 0 4px 16px -4px rgba(29,78,216,0.3); }
.bc-btn-secondary:hover { background: var(--bc-royal-600); transform: translateY(-1px); }
.bc-btn-ghost { color: var(--bc-charcoal); background: transparent; border: 1px solid var(--bc-border-strong); }
.bc-btn-ghost:hover { background: var(--bc-cream); border-color: var(--bc-charcoal); }
.bc-btn-link { color: var(--bc-charcoal); background: transparent; padding: 14px 8px; }
.bc-btn-link:hover { color: var(--bc-electric); }
.bc-btn-link svg { color: var(--bc-electric); }

/* ============ Eyebrow (editorial micro-label) ============ */
.bc-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700;
  color: var(--bc-charcoal-500);
  white-space: nowrap;
}
.bc-eyebrow-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--bc-electric); flex-shrink: 0; }
.bc-eyebrow svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--bc-electric); }

/* ============ Header ============ */
.bc-strip { background: var(--bc-charcoal); color: rgba(255,255,255,0.92); font-size: 12px; }
.bc-strip-inner { display: flex; justify-content: space-between; align-items: center; height: 38px; }
.bc-strip a { font-weight: 600; color: #fff; }
.bc-strip a:hover { color: var(--bc-electric-400); }

.bc-header { position: sticky; top: 0; z-index: 40; transition: all 350ms var(--bc-ease); background: rgba(255,255,255,0.96); backdrop-filter: blur(12px); border-bottom: 1px solid transparent; }
.bc-header.is-scrolled { box-shadow: 0 1px 0 rgba(17,24,39,0.06); border-bottom-color: var(--bc-border); }

.bc-nav { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: 16px; }
.bc-logo { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.bc-logo svg { height: 38px; width: 38px; }
.bc-logo-text { font-family: var(--bc-font-display); font-weight: 800; font-size: 19px; line-height: 1; letter-spacing: -0.02em; color: var(--bc-charcoal); white-space: nowrap; }
.bc-logo-sub { font-size: 9px; letter-spacing: 0.24em; color: var(--bc-steel); display: block; margin-top: 4px; white-space: nowrap; font-weight: 600; }

.bc-nav-links { display: none; align-items: center; gap: 32px; }
@media (min-width: 1024px) { .bc-nav-links { display: flex; } }
.bc-nav-link { font-size: 14px; font-weight: 600; color: var(--bc-charcoal); position: relative; transition: color 200ms; white-space: nowrap; }
.bc-nav-link:hover { color: var(--bc-electric); }
.bc-nav-link::after { content: ''; position: absolute; bottom: -8px; left: 0; right: 0; height: 2px; background: var(--bc-electric); transform: scaleX(0); transform-origin: left; transition: transform 250ms var(--bc-ease); }
.bc-nav-link:hover::after, .bc-nav-link[aria-current="page"]::after { transform: scaleX(1); }

.bc-nav-actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.bc-nav-actions .bc-btn { padding: 11px 20px; font-size: 13px; }
.bc-nav-actions .bc-phone { display: none; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--bc-charcoal); white-space: nowrap; }
@media (min-width: 1024px) { .bc-nav-actions .bc-phone { display: inline-flex; } }
.bc-nav-actions .bc-phone:hover { color: var(--bc-electric); }
.bc-nav-actions .bc-phone svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--bc-electric); }

.bc-burger { display: inline-flex; padding: 12px; border-radius: var(--bc-radius-md); border: 1px solid var(--bc-border); background: var(--bc-white); color: var(--bc-charcoal); }
@media (min-width: 1024px) { .bc-burger { display: none; } }

.bc-mobile-menu { display: none; border-top: 1px solid var(--bc-border); background: var(--bc-white); padding: 28px 0; }
.bc-mobile-menu.is-open { display: block; }
.bc-mobile-menu ul { display: flex; flex-direction: column; gap: 14px; }
.bc-mobile-menu a { display: block; padding: 8px 0; font-size: 16px; font-weight: 600; color: var(--bc-charcoal); }
.bc-mobile-menu a:hover { color: var(--bc-electric); }

/* ============ Mega menu ============ */
.bc-nav-item { position: relative; }
.bc-mega { position: absolute; left: 50%; top: calc(100% + 16px); transform: translateX(-50%); width: 760px; padding: 28px; border-radius: var(--bc-radius-lg); opacity: 0; pointer-events: none; transition: opacity 200ms var(--bc-ease), transform 200ms var(--bc-ease); background: var(--bc-white); border: 1px solid var(--bc-border); box-shadow: var(--bc-shadow-xl); }
.bc-nav-item:hover .bc-mega, .bc-nav-item:focus-within .bc-mega { opacity: 1; pointer-events: auto; transform: translate(-50%, -4px); }
.bc-mega-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bc-mega-col h4 { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 800; color: var(--bc-charcoal); margin-bottom: 14px; }
.bc-mega-col ul { display: flex; flex-direction: column; gap: 10px; }
.bc-mega-col a { font-size: 14px; color: var(--bc-charcoal-500); font-weight: 500; transition: color 200ms; }
.bc-mega-col a:hover { color: var(--bc-electric); }

/* ============ Hero (editorial, generous) ============ */
.bc-hero { padding: 64px 0 64px; position: relative; }
@media (min-width: 1024px) { .bc-hero { padding: 96px 0 96px; } }
.bc-hero-grid { display: grid; gap: 56px; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .bc-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(380px, 1fr); gap: 72px; } }
.bc-hero-copy .bc-eyebrow { margin-bottom: 28px; }
.bc-hero h1 { font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: 1.02; letter-spacing: -0.038em; font-weight: 800; }
.bc-hero p { margin-top: 28px; max-width: 560px; font-size: 19px; color: var(--bc-charcoal-500); line-height: 1.65; }
.bc-hero p strong { color: var(--bc-charcoal); font-weight: 700; }
.bc-hero-actions { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bc-hero-checks { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 22px; font-size: 14px; color: var(--bc-charcoal-500); font-weight: 500; }
.bc-hero-checks li { display: inline-flex; align-items: center; gap: 8px; }
.bc-hero-check { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--bc-royal-50); color: var(--bc-royal); }
.bc-hero-check svg { width: 12px; height: 12px; stroke-width: 3; }
.bc-hero-rh { position: relative; }

/* ============ Trust strip (editorial bar) ============ */
.bc-trust-strip { padding: 36px 0; background: var(--bc-cream); border-top: 1px solid var(--bc-border); border-bottom: 1px solid var(--bc-border); }
.bc-trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 32px; }
@media (min-width: 768px) { .bc-trust-grid { grid-template-columns: repeat(5, 1fr); } }
.bc-trust-item { text-align: center; }
@media (min-width: 768px) { .bc-trust-item { text-align: left; padding-left: 24px; border-left: 1px solid var(--bc-border); } .bc-trust-item:first-child { padding-left: 0; border-left: 0; } }
.bc-trust-num { font-family: var(--bc-font-display); font-size: 32px; font-weight: 800; color: var(--bc-charcoal); line-height: 1; letter-spacing: -0.02em; }
.bc-trust-lbl { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--bc-steel); font-weight: 700; margin-top: 8px; }

/* ============ Cards ============ */
.bc-card { padding: 28px; border-radius: var(--bc-radius-lg); transition: all 250ms var(--bc-ease); height: 100%; background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-card-hover:hover { transform: translateY(-2px); border-color: var(--bc-charcoal); box-shadow: var(--bc-shadow-md); }

/* ============ Section headers ============ */
.bc-section-head { max-width: 760px; margin-bottom: 64px; }
.bc-section-head.is-center { margin-inline: auto; text-align: center; }
.bc-section-head h2 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; letter-spacing: -0.03em; font-weight: 800; }
.bc-section-head .bc-eyebrow { margin-bottom: 20px; }
.bc-section-head p { margin-top: 20px; font-size: 18px; color: var(--bc-charcoal-500); line-height: 1.7; }
@media (min-width: 1024px) { .bc-section-head p { font-size: 19px; } }

/* ============ Service grid ============ */
.bc-service-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 768px) { .bc-service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bc-service-grid { grid-template-columns: repeat(3, 1fr); } }
.bc-service-card { display: block; padding: 28px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); transition: all 250ms var(--bc-ease); }
.bc-service-card:hover { transform: translateY(-2px); border-color: var(--bc-charcoal); box-shadow: var(--bc-shadow-md); }
.bc-service-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--bc-radius-md); background: var(--bc-electric-50); color: var(--bc-electric); }
.bc-service-card-icon svg { width: 22px; height: 22px; }
.bc-service-card h3 { margin-top: 20px; font-size: 21px; font-weight: 700; transition: color 250ms; color: var(--bc-charcoal); }
.bc-service-card:hover h3 { color: var(--bc-electric); }
.bc-service-card p { margin-top: 10px; font-size: 14px; color: var(--bc-charcoal-500); line-height: 1.65; }
.bc-service-card-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--bc-border); display: flex; justify-content: space-between; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bc-steel); font-weight: 600; }
.bc-service-card-foot .bc-warranty { color: var(--bc-electric); }

/* ============ Trust badges ============ */
.bc-badges { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 768px) { .bc-badges { grid-template-columns: repeat(4, 1fr); } }
.bc-badge { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: var(--bc-radius-md); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-badge-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--bc-radius-full); background: var(--bc-electric-50); color: var(--bc-electric); flex-shrink: 0; }
.bc-badge-icon svg { width: 16px; height: 16px; }
.bc-badge-label { font-size: 13px; font-weight: 700; line-height: 1.2; color: var(--bc-charcoal); }
.bc-badge-sub { font-size: 11px; color: var(--bc-steel); margin-top: 2px; }

/* ============ Crumbs ============ */
.bc-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: var(--bc-steel); font-weight: 500; }
.bc-crumbs li:not(:last-child)::after { content: '/'; margin-left: 6px; opacity: 0.4; }
.bc-crumbs a:hover { color: var(--bc-electric); }
.bc-crumbs li[aria-current="page"] { color: var(--bc-charcoal); font-weight: 600; }

/* ============ Lead form (premium) ============ */
.bc-lead-form { padding: 32px; border-radius: var(--bc-radius-xl); background: var(--bc-white); border: 1px solid var(--bc-border); box-shadow: var(--bc-shadow-xl); position: relative; }
.bc-lead-form .bc-eyebrow { margin-bottom: 8px; }
.bc-lead-form h3 { font-size: 26px; line-height: 1.2; margin-top: 4px; color: var(--bc-charcoal); font-weight: 800; letter-spacing: -0.02em; }
.bc-lead-form p.bc-lead-sub { margin-top: 8px; font-size: 14px; color: var(--bc-steel); }
.bc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.bc-field label { display: block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--bc-charcoal); }
.bc-field input, .bc-field textarea {
  margin-top: 6px; width: 100%;
  padding: 12px 14px;
  border-radius: var(--bc-radius-md);
  background: var(--bc-cream);
  border: 1px solid var(--bc-border);
  color: var(--bc-charcoal);
  font-size: 14px;
  transition: all 200ms;
}
.bc-field input:focus, .bc-field textarea:focus { outline: none; border-color: var(--bc-charcoal); background: var(--bc-white); box-shadow: 0 0 0 3px rgba(17,24,39,0.06); }
.bc-field textarea { min-height: 88px; resize: vertical; }
.bc-form-full { grid-column: 1 / -1; }
.bc-form-actions { margin-top: 22px; }
.bc-form-actions .bc-btn { width: 100%; padding: 14px 24px; font-size: 15px; }
.bc-form-disclaimer { margin-top: 14px; text-align: center; font-size: 11px; color: var(--bc-steel); }
.bc-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.bc-form-success { padding: 32px; text-align: center; border-radius: var(--bc-radius-xl); background: var(--bc-white); border: 1px solid var(--bc-success); }
.bc-form-success h3 { font-size: 24px; color: var(--bc-charcoal); }
.bc-form-success p { margin: 8px 0 24px; color: var(--bc-charcoal-500); font-size: 14px; }

/* ============ FAQ accordion ============ */
.bc-faq-list { border-radius: var(--bc-radius-lg); overflow: hidden; background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-faq-list > * + * { border-top: 1px solid var(--bc-border); }
.bc-faq-item button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 22px 26px; text-align: left; }
.bc-faq-item button:hover { background: var(--bc-cream); }
.bc-faq-q { font-family: var(--bc-font-display); font-size: 16px; font-weight: 700; color: var(--bc-charcoal); }
@media (min-width: 1024px) { .bc-faq-q { font-size: 18px; } }
.bc-faq-toggle { color: var(--bc-steel); transition: transform 250ms var(--bc-ease), color 250ms; flex-shrink: 0; }
.bc-faq-toggle svg { width: 18px; height: 18px; }
.bc-faq-item.is-open .bc-faq-toggle { transform: rotate(45deg); color: var(--bc-electric); }
.bc-faq-a { display: none; padding: 0 26px 22px; color: var(--bc-charcoal-500); font-size: 16px; line-height: 1.75; }
.bc-faq-item.is-open .bc-faq-a { display: block; }

/* ============ Process steps ============ */
.bc-steps { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 768px) { .bc-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bc-steps { grid-template-columns: repeat(4, 1fr); } }
.bc-step-num { font-size: 11px; letter-spacing: 0.32em; color: var(--bc-electric); font-weight: 800; }
.bc-step-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--bc-radius-md); background: var(--bc-royal-50); color: var(--bc-royal); margin-top: 14px; margin-bottom: 18px; }
.bc-step-icon svg { width: 22px; height: 22px; }
.bc-step h3 { font-size: 19px; color: var(--bc-charcoal); font-weight: 700; }
.bc-step p { margin-top: 10px; font-size: 14px; color: var(--bc-charcoal-500); line-height: 1.65; }

/* ============ Testimonials ============ */
.bc-testimonials { overflow: hidden; position: relative; background: var(--bc-cream); }
.bc-testimonials::before, .bc-testimonials::after { content: ''; position: absolute; inset-block: 0; width: 120px; z-index: 2; pointer-events: none; }
.bc-testimonials::before { left: 0; background: linear-gradient(90deg, var(--bc-cream), transparent); }
.bc-testimonials::after { right: 0; background: linear-gradient(-90deg, var(--bc-cream), transparent); }
.bc-marquee { display: flex; gap: 20px; padding: 0 24px; will-change: transform; animation: bc-marquee 60s linear infinite; }
.bc-marquee-pause:hover .bc-marquee { animation-play-state: paused; }
@keyframes bc-marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.bc-tcard { width: 380px; flex-shrink: 0; padding: 28px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-tstars { color: var(--bc-electric); letter-spacing: 2px; font-size: 14px; }
.bc-tcard p { margin: 16px 0; color: var(--bc-charcoal); font-size: 15px; line-height: 1.65; font-style: italic; }
.bc-tcard-foot { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--bc-border); }
.bc-avatar { width: 40px; height: 40px; border-radius: var(--bc-radius-full); background: var(--bc-charcoal); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 13px; flex-shrink: 0; }
.bc-tcard-name { font-size: 14px; font-weight: 700; color: var(--bc-charcoal); }
.bc-tcard-meta { font-size: 11px; color: var(--bc-steel); }

/* ============ Floating CTA ============ */
.bc-floating { position: fixed; bottom: 22px; right: 22px; z-index: 50; transform: translateY(40px); opacity: 0; transition: opacity 350ms var(--bc-ease), transform 350ms var(--bc-ease); }
.bc-floating.is-visible { opacity: 1; transform: translateY(0); }

/* ============ Soil map tool ============ */
.bc-soil { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px) { .bc-soil { grid-template-columns: 1fr 1fr; } }
.bc-soil-svg { padding: 22px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-soil-chips { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.bc-soil-chip { font-size: 11px; padding: 7px 14px; border-radius: var(--bc-radius-full); border: 1px solid var(--bc-border); color: var(--bc-charcoal-500); background: var(--bc-white); cursor: pointer; transition: all 200ms; font-weight: 600; }
.bc-soil-chip:hover { color: var(--bc-charcoal); border-color: var(--bc-charcoal); }
.bc-soil-chip.is-active { background: var(--bc-charcoal); border-color: var(--bc-charcoal); color: #fff; }
.bc-soil-chip-dot { display: inline-block; width: 8px; height: 8px; border-radius: var(--bc-radius-full); margin-right: 6px; vertical-align: middle; }
.bc-soil-detail { padding: 28px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }

/* ============ Cost calculator ============ */
.bc-calc { padding: 32px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-calc-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 768px) { .bc-calc-grid { grid-template-columns: 1fr 1fr; } }
.bc-calc select, .bc-calc input[type="text"] { width: 100%; padding: 12px 16px; border-radius: var(--bc-radius-md); background: var(--bc-cream); border: 1px solid var(--bc-border); color: var(--bc-charcoal); font-size: 14px; }
.bc-calc input[type="range"] { width: 100%; accent-color: var(--bc-electric); }
.bc-calc-soil { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bc-calc-soil button { text-align: left; padding: 11px 14px; border-radius: var(--bc-radius-md); background: var(--bc-cream); border: 1px solid var(--bc-border); color: var(--bc-charcoal-500); font-size: 13px; transition: all 200ms; font-weight: 600; }
.bc-calc-soil button.is-active { background: var(--bc-charcoal); border-color: var(--bc-charcoal); color: #fff; }
.bc-calc-out { padding: 28px; border-radius: var(--bc-radius-lg); background: var(--bc-cream); border: 1px solid var(--bc-border); }
.bc-calc-out-num { font-family: var(--bc-font-display); font-size: 36px; font-weight: 800; margin-top: 12px; color: var(--bc-charcoal); letter-spacing: -0.02em; }
@media (min-width: 1024px) { .bc-calc-out-num { font-size: 44px; } }
.bc-calc-out-mid { font-size: 14px; color: var(--bc-charcoal-500); margin-top: 4px; }

/* ============ Internal link cluster ============ */
.bc-link-cluster { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 1024px) { .bc-link-cluster { grid-template-columns: 1fr 1fr; } }
.bc-link-block { padding: 28px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-link-block-title { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 800; color: var(--bc-charcoal); margin-bottom: 18px; }
.bc-link-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .bc-link-list { grid-template-columns: 1fr 1fr; } }
.bc-link-list a { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; font-size: 14px; color: var(--bc-charcoal-500); transition: color 200ms; }
.bc-link-list a:hover { color: var(--bc-electric); }
.bc-link-arrow { color: var(--bc-electric); margin-top: 2px; flex-shrink: 0; transition: transform 200ms; }
.bc-link-list a:hover .bc-link-arrow { transform: translate(2px, -2px); }
.bc-link-desc { display: block; margin-top: 2px; font-size: 12px; color: var(--bc-steel); font-weight: 400; }
.bc-link-list strong { font-weight: 600; color: var(--bc-charcoal); }

/* ============ Severity ============ */
.bc-sev-low { color: var(--bc-success); }
.bc-sev-moderate { color: var(--bc-warning); }
.bc-sev-high { color: var(--bc-electric); }
.bc-sev-urgent { color: var(--bc-electric); }

/* ============ Article prose ============ */
.bc-prose h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-top: 64px; margin-bottom: 22px; color: var(--bc-charcoal); letter-spacing: -0.025em; }
.bc-prose h3 { font-size: 22px; margin-top: 44px; margin-bottom: 14px; color: var(--bc-charcoal); }
.bc-prose p { font-size: 18px; line-height: 1.78; color: var(--bc-charcoal-500); margin-bottom: 18px; }
.bc-prose ul, .bc-prose ol { margin: 18px 0 18px 24px; }
.bc-prose ul { list-style: disc; }
.bc-prose ol { list-style: decimal; }
.bc-prose li { font-size: 18px; line-height: 1.78; color: var(--bc-charcoal-500); margin-bottom: 8px; }
.bc-prose strong { color: var(--bc-charcoal); font-weight: 700; }
.bc-prose em { color: var(--bc-electric); font-style: normal; font-weight: 600; }
.bc-prose table { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: 16px; background: var(--bc-white); border-radius: var(--bc-radius-md); overflow: hidden; border: 1px solid var(--bc-border); }
.bc-prose th { text-align: left; padding: 16px 18px; background: var(--bc-cream); border-bottom: 1px solid var(--bc-border); color: var(--bc-charcoal); font-weight: 700; }
.bc-prose td { padding: 16px 18px; border-bottom: 1px solid var(--bc-border); color: var(--bc-charcoal-500); }
.bc-prose tr:last-child td { border-bottom: 0; }

/* ============ Reveal ============ */
.bc-reveal { opacity: 0; transform: translateY(20px); transition: opacity 600ms var(--bc-ease), transform 600ms var(--bc-ease); }
.bc-reveal.is-revealed { opacity: 1; transform: none; }

/* ============ Compare table ============ */
.bc-compare-table { width: 100%; border-collapse: collapse; margin-top: 24px; border-radius: var(--bc-radius-lg); overflow: hidden; background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-compare-table th { background: var(--bc-cream); padding: 18px; font-weight: 800; text-align: left; color: var(--bc-charcoal); border-bottom: 1px solid var(--bc-border); }
.bc-compare-table td { padding: 18px; border-bottom: 1px solid var(--bc-border); vertical-align: top; color: var(--bc-charcoal-500); }
.bc-compare-table tr:last-child td { border-bottom: 0; }

/* ============ 2-col layout ============ */
.bc-twocol { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: flex-start; }
@media (min-width: 1024px) { .bc-twocol { grid-template-columns: minmax(0, 1.15fr) minmax(380px, 1fr); gap: 56px; } .bc-twocol-aside { position: sticky; top: 116px; } }

/* ============ Feature grid (image + copy) ============ */
.bc-feature-grid { display: grid; grid-template-columns: 1fr; gap: 56px; align-items: center; }
@media (min-width: 1024px) { .bc-feature-grid { grid-template-columns: 5fr 6fr; gap: 80px; } }
.bc-feature-visual { padding: 32px; border-radius: var(--bc-radius-xl); background: var(--bc-white); border: 1px solid var(--bc-border); }

/* ============ Hero image (for non-homepage) ============ */
.bc-hero-image { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.bc-hero-image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.9; }
.bc-hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,1) 100%); }

/* ============ Misc utilities ============ */
.bc-icon { width: 18px; height: 18px; flex-shrink: 0; }
.bc-icon-sm { width: 14px; height: 14px; flex-shrink: 0; }
svg.bc-icon, svg.bc-icon-sm { display: inline-block; vertical-align: middle; }
.bc-flex { display: flex; }
.bc-grid { display: grid; }
.bc-text-balance { text-wrap: balance; }
.bc-mt-md { margin-top: 24px; }
.bc-mt-lg { margin-top: 40px; }
.bc-mt-xl { margin-top: 56px; }
.bc-flex-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

.bc-pill-list { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--bc-radius-full); border: 1px solid var(--bc-border); background: var(--bc-white); font-size: 12px; color: var(--bc-charcoal-500); font-weight: 600; transition: all 200ms; }
.bc-pill:hover { border-color: var(--bc-charcoal); color: var(--bc-charcoal); }

.bc-dl { display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.bc-dl-row { display: flex; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--bc-border); padding-bottom: 10px; }
.bc-dl-row dt { color: var(--bc-steel); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; }
.bc-dl-row dd { color: var(--bc-charcoal); text-align: right; margin: 0; font-weight: 600; }

.bc-quiz { padding: 36px; border-radius: var(--bc-radius-lg); background: var(--bc-white); border: 1px solid var(--bc-border); }
.bc-quiz-progress { height: 6px; border-radius: var(--bc-radius-full); background: var(--bc-light); overflow: hidden; margin-top: 14px; }
.bc-quiz-progress-bar { height: 100%; background: var(--bc-electric); transition: width 500ms var(--bc-ease); }
.bc-quiz-options { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
@media (min-width: 768px) { .bc-quiz-options { grid-template-columns: 1fr 1fr; } }
.bc-quiz-option { padding: 18px 22px; border-radius: var(--bc-radius-md); text-align: left; background: var(--bc-cream); border: 1px solid var(--bc-border); transition: all 200ms; color: var(--bc-charcoal); font-weight: 600; cursor: pointer; }
.bc-quiz-option:hover { background: var(--bc-white); border-color: var(--bc-charcoal); transform: translateY(-1px); }

/* ============ Immersive hero (photo background) ============ */
.bc-hero-immersive { position: relative; overflow: hidden; min-height: 720px; display: flex; align-items: center; padding: 120px 0 96px; isolation: isolate; }
@media (max-width: 1024px) { .bc-hero-immersive { min-height: 0; padding: 80px 0 64px; } }
.bc-hero-bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.bc-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.bc-hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(95deg, rgba(15,23,42,0.94) 0%, rgba(15,23,42,0.78) 38%, rgba(15,23,42,0.58) 62%, rgba(15,23,42,0.42) 100%); }
.bc-hero-immersive-inner { position: relative; z-index: 1; width: 100%; }
.bc-hero-immersive .bc-hero-copy h1 { color: #fff; font-size: clamp(2.5rem, 5.5vw, 4.75rem); line-height: 1.02; letter-spacing: -0.04em; font-weight: 800; margin-top: 24px; text-shadow: 0 1px 30px rgba(0,0,0,0.35); }
.bc-hero-immersive .bc-hero-copy p { color: rgba(255,255,255,0.86); font-size: 19px; line-height: 1.65; margin-top: 24px; max-width: 560px; }
.bc-hero-immersive .bc-hero-copy p strong { color: #fff; font-weight: 700; }
.bc-hero-immersive .bc-hero-actions { margin-top: 32px; }

/* Light eyebrow + light link button (for dark backgrounds) */
.bc-eyebrow-light { color: rgba(255,255,255,0.95) !important; font-weight: 700; }
.bc-eyebrow-light .bc-eyebrow-dot { background: var(--bc-electric); }
.bc-eyebrow-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--bc-electric); margin-right: 10px; vertical-align: middle; flex-shrink: 0; }
.bc-btn-light-link { color: #fff !important; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); padding: 14px 22px; border-radius: var(--bc-radius-md); display: inline-flex; align-items: center; gap: 8px; font-weight: 600; transition: all 200ms; backdrop-filter: blur(8px); }
.bc-btn-light-link:hover { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.3); }
.bc-btn-light-link svg { width: 14px; height: 14px; }

/* Dark section block (for visual rhythm) */
.bc-bg-dark { background: linear-gradient(180deg, #0F172A 0%, #111827 100%); color: #fff; position: relative; }
.bc-bg-dark .bc-eyebrow { color: rgba(255,255,255,0.95); }
.bc-bg-dark h2, .bc-bg-dark h3, .bc-bg-dark h4 { color: #fff; }
.bc-bg-dark p { color: rgba(255,255,255,0.78); }

/* Internal page hero (photo backed, more compact than home) */
.bc-page-hero { position: relative; overflow: hidden; padding: 96px 0 72px; isolation: isolate; }
@media (max-width: 768px) { .bc-page-hero { padding: 64px 0 48px; } }
.bc-page-hero-bg { position: absolute; inset: 0; z-index: -2; }
.bc-page-hero-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bc-page-hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, rgba(15,23,42,0.92) 0%, rgba(15,23,42,0.74) 50%, rgba(15,23,42,0.55) 100%); }
.bc-page-hero-inner { position: relative; z-index: 1; }
.bc-page-hero h1 { color: #fff; font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1.04; letter-spacing: -0.035em; font-weight: 800; margin-top: 18px; text-shadow: 0 1px 24px rgba(0,0,0,0.3); }
.bc-page-hero p { color: rgba(255,255,255,0.85); font-size: 18px; line-height: 1.65; margin-top: 22px; max-width: 620px; }
.bc-page-hero .bc-eyebrow, .bc-page-hero .bc-breadcrumbs { color: rgba(255,255,255,0.92); }
.bc-page-hero .bc-breadcrumbs a { color: rgba(255,255,255,0.7); }
.bc-page-hero .bc-breadcrumbs a:hover { color: #fff; }

/* ============ Lead form: float over hero ============ */
.bc-hero-immersive .bc-lead-form,
.bc-page-hero .bc-lead-form {
  position: relative;
  margin-top: -16px;
  margin-bottom: -120px;
  padding: 36px 32px 32px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow: 0 30px 80px -20px rgba(15,23,42,0.55), 0 12px 32px -8px rgba(15,23,42,0.35);
  overflow: hidden;
  z-index: 5;
}
.bc-hero-immersive .bc-lead-form::before,
.bc-page-hero .bc-lead-form::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--bc-electric) 0%, #FF8067 50%, var(--bc-royal) 100%);
}
.bc-hero-immersive .bc-lead-form .bc-eyebrow,
.bc-page-hero .bc-lead-form .bc-eyebrow {
  color: var(--bc-electric);
  font-weight: 800;
}
.bc-hero-immersive .bc-lead-form h3,
.bc-page-hero .bc-lead-form h3 { font-size: 28px; }
.bc-hero-immersive .bc-form-actions .bc-btn,
.bc-page-hero .bc-form-actions .bc-btn {
  background: linear-gradient(135deg, var(--bc-electric) 0%, #C9303C 100%);
  font-size: 16px;
  font-weight: 700;
  padding: 16px 24px;
  letter-spacing: -0.01em;
  box-shadow: 0 8px 20px -4px rgba(230,57,70,0.45);
}
.bc-hero-immersive .bc-form-actions .bc-btn:hover,
.bc-page-hero .bc-form-actions .bc-btn:hover {
  box-shadow: 0 12px 28px -4px rgba(230,57,70,0.55);
  transform: translateY(-2px);
}

/* Push the trust strip / next section down to make room for the floating form */
.bc-hero-immersive + .bc-trust-strip,
.bc-page-hero + .bc-section,
.bc-page-hero + .bc-section-tight {
  padding-top: 160px;
}
@media (max-width: 1024px) {
  .bc-hero-immersive .bc-lead-form,
  .bc-page-hero .bc-lead-form { margin-bottom: -80px; }
  .bc-hero-immersive + .bc-trust-strip,
  .bc-page-hero + .bc-section,
  .bc-page-hero + .bc-section-tight { padding-top: 120px; }
}

/* ============ Color punch ============ */

/* Vibrant trust strip — alternating accent colors on numbers */
.bc-trust-strip { background: linear-gradient(180deg, #FFF5F1 0%, #FAFAFA 100%); border-top: 3px solid; border-image: linear-gradient(90deg, var(--bc-electric), var(--bc-royal), var(--bc-safety)) 1; }
.bc-trust-item:nth-child(1) .bc-trust-num { color: var(--bc-electric); }
.bc-trust-item:nth-child(2) .bc-trust-num { color: var(--bc-royal); }
.bc-trust-item:nth-child(3) .bc-trust-num { color: var(--bc-charcoal); }
.bc-trust-item:nth-child(4) .bc-trust-num { color: #B45309; }
.bc-trust-item:nth-child(5) .bc-trust-num { background: linear-gradient(135deg, var(--bc-electric), var(--bc-royal)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Service grid: category-colored top borders + icon backgrounds */
.bc-service-card { position: relative; padding: 28px; border-radius: 16px; background: #fff; border: 1px solid var(--bc-border); transition: all 250ms var(--bc-ease); display: block; overflow: hidden; }
.bc-service-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--bc-electric); transition: height 200ms; }
.bc-service-card[href*="crawl-space"]::before, .bc-service-card[href*="encapsulation"]::before { background: linear-gradient(90deg, #1D4ED8, #3B82F6); }
.bc-service-card[href*="drainage"]::before, .bc-service-card[href*="waterproofing"]::before { background: linear-gradient(90deg, #1D4ED8, #06B6D4); }
.bc-service-card[href*="structural"]::before, .bc-service-card[href*="house-leveling"]::before, .bc-service-card[href*="settling"]::before { background: linear-gradient(90deg, #B45309, #F59E0B); }
.bc-service-card[href*="retaining"]::before, .bc-service-card[href*="concrete"]::before { background: linear-gradient(90deg, #475569, #94A3B8); }
.bc-service-card[href*="pier-and-beam"]::before, .bc-service-card[href*="slab"]::before, .bc-service-card[href*="crack"]::before { background: linear-gradient(90deg, #E63946, #FB7185); }
.bc-service-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -12px rgba(15,23,42,0.18); border-color: transparent; }
.bc-service-card:hover::before { height: 6px; }
.bc-service-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(230,57,70,0.08); color: var(--bc-electric); transition: all 200ms; }
.bc-service-card[href*="crawl-space"] .bc-service-card-icon, .bc-service-card[href*="drainage"] .bc-service-card-icon, .bc-service-card[href*="waterproofing"] .bc-service-card-icon, .bc-service-card[href*="encapsulation"] .bc-service-card-icon { background: rgba(29,78,216,0.08); color: var(--bc-royal); }
.bc-service-card[href*="structural"] .bc-service-card-icon, .bc-service-card[href*="house-leveling"] .bc-service-card-icon, .bc-service-card[href*="settling"] .bc-service-card-icon { background: rgba(180,83,9,0.10); color: #B45309; }
.bc-service-card[href*="retaining"] .bc-service-card-icon, .bc-service-card[href*="concrete"] .bc-service-card-icon { background: rgba(71,85,105,0.10); color: #475569; }
.bc-service-card:hover .bc-service-card-icon { transform: scale(1.08) rotate(-4deg); }
.bc-service-card-icon svg { width: 26px; height: 26px; }
.bc-service-card h3 { margin-top: 22px; font-size: 19px; font-weight: 700; color: var(--bc-charcoal); letter-spacing: -0.01em; }
.bc-service-card p { margin-top: 8px; font-size: 14px; color: var(--bc-charcoal-500); line-height: 1.6; }
.bc-service-card-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--bc-border); display: flex; justify-content: space-between; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bc-steel); font-weight: 700; }
.bc-service-card-foot .bc-warranty { color: var(--bc-electric); }

/* Section heads with red dot accent */
.bc-section-head .bc-eyebrow .bc-eyebrow-dot { background: var(--bc-electric); }
.bc-section-head h2 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.04; letter-spacing: -0.025em; font-weight: 800; color: var(--bc-charcoal); margin-top: 16px; }
.bc-section-head p { margin-top: 18px; font-size: 18px; color: var(--bc-charcoal-500); line-height: 1.65; max-width: 640px; }
.bc-section-head.is-center { text-align: center; }
.bc-section-head.is-center p { margin-left: auto; margin-right: auto; }

/* Step cards with vibrant icons */
.bc-step { padding: 28px; border-radius: 16px; background: #fff; border: 1px solid var(--bc-border); transition: all 250ms; }
.bc-step:nth-child(1) .bc-step-icon { background: rgba(230,57,70,0.10); color: var(--bc-electric); }
.bc-step:nth-child(2) .bc-step-icon { background: rgba(29,78,216,0.10); color: var(--bc-royal); }
.bc-step:nth-child(3) .bc-step-icon { background: rgba(245,158,11,0.12); color: #B45309; }
.bc-step:nth-child(4) .bc-step-icon { background: rgba(16,185,129,0.10); color: #059669; }
.bc-step:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -14px rgba(15,23,42,0.16); }

/* Vibrant primary CTA — gradient red */
.bc-btn-primary { background: linear-gradient(135deg, var(--bc-electric) 0%, #C9303C 100%); }
.bc-btn-primary:hover { background: linear-gradient(135deg, #C9303C 0%, var(--bc-electric) 100%); }

/* Vibrant secondary — gradient blue */
.bc-btn-secondary { background: linear-gradient(135deg, var(--bc-royal) 0%, #1E40AF 100%); }
.bc-btn-secondary:hover { background: linear-gradient(135deg, #1E40AF 0%, var(--bc-royal) 100%); }

/* Section: alt background with subtle red wash */
.bc-bg-alt { background: linear-gradient(180deg, #FAFAFA 0%, #FFF5F1 100%); }

/* Soil map dark section gets a stronger gradient */
.bc-section.bc-bg-dark { background: linear-gradient(135deg, #0F172A 0%, #1E1B4B 50%, #1F0A12 100%); }

/* Eyebrows: ensure visible accent */
.bc-eyebrow { color: var(--bc-charcoal); }
.bc-bg-dark .bc-eyebrow, .bc-eyebrow-light { color: rgba(255,255,255,0.95); }


/* ============ MORE COLOR — round 2 ============ */

/* Bolder hero overlay with red+blue tint instead of neutral dark */
.bc-hero-immersive .bc-hero-overlay {
  background:
    radial-gradient(ellipse 60% 70% at 25% 40%, rgba(230,57,70,0.32) 0%, rgba(230,57,70,0) 60%),
    radial-gradient(ellipse 40% 60% at 85% 60%, rgba(29,78,216,0.30) 0%, rgba(29,78,216,0) 60%),
    linear-gradient(95deg, rgba(15,23,42,0.92) 0%, rgba(15,23,42,0.74) 38%, rgba(15,23,42,0.52) 62%, rgba(15,23,42,0.38) 100%);
}

/* Page hero (internal) — subtle red+blue tint too */
.bc-page-hero .bc-page-hero-overlay {
  background:
    radial-gradient(ellipse 50% 70% at 20% 50%, rgba(230,57,70,0.25) 0%, rgba(230,57,70,0) 60%),
    linear-gradient(110deg, rgba(15,23,42,0.92) 0%, rgba(15,23,42,0.74) 50%, rgba(15,23,42,0.52) 100%);
}

/* Bright top accent stripe across the trust strip */
.bc-trust-strip {
  position: relative;
  background: linear-gradient(180deg, #FFFBF0 0%, #FFF5F1 100%);
}
.bc-trust-strip::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #E63946 0%, #F59E0B 33%, #1D4ED8 66%, #E63946 100%);
}

/* Section dividers with colored shapes */
.bc-section, .bc-section-tight { position: relative; }
.bc-section-head .bc-eyebrow { padding-left: 0; }

/* Eyebrow upgrade — red dot becomes a colored badge */
.bc-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px;
  background: linear-gradient(135deg, rgba(230,57,70,0.10) 0%, rgba(29,78,216,0.10) 100%);
  border: 1px solid rgba(230,57,70,0.18);
  border-radius: 999px;
  color: #C9303C;
}
.bc-eyebrow-light {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.22);
  color: #fff !important;
  backdrop-filter: blur(8px);
}
.bc-eyebrow-light .bc-eyebrow-dot { background: #FFD60A; box-shadow: 0 0 10px #FFD60A80; }
.bc-eyebrow .bc-eyebrow-dot { background: var(--bc-electric); }

/* Yellow accent pill (use anywhere we want a pop) */
.bc-pill-yellow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: linear-gradient(135deg, #FFD60A, #F59E0B); color: #1F0A12; font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }

/* Service grid — more vibrant card backgrounds + colored shadow on hover */
.bc-service-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .bc-service-grid { grid-template-columns: 1fr 1fr; gap: 18px; } }
@media (min-width: 1024px) { .bc-service-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.bc-service-card { background: linear-gradient(180deg, #fff 0%, #FFFBF8 100%); }
.bc-service-card[href*="crawl-space"], .bc-service-card[href*="encapsulation"], .bc-service-card[href*="drainage"], .bc-service-card[href*="waterproofing"] { background: linear-gradient(180deg, #fff 0%, #F0F6FF 100%); }
.bc-service-card[href*="structural"], .bc-service-card[href*="house-leveling"], .bc-service-card[href*="settling"] { background: linear-gradient(180deg, #fff 0%, #FFFBEB 100%); }
.bc-service-card:hover { box-shadow: 0 20px 50px -12px rgba(230,57,70,0.22); }
.bc-service-card[href*="crawl-space"]:hover, .bc-service-card[href*="encapsulation"]:hover, .bc-service-card[href*="drainage"]:hover, .bc-service-card[href*="waterproofing"]:hover { box-shadow: 0 20px 50px -12px rgba(29,78,216,0.22); }

/* Decorative orb shapes for sections */
.bc-section::before, .bc-section-tight::before {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.bc-section.bc-decorate-red::before {
  top: -80px; right: -120px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(230,57,70,0.12) 0%, transparent 60%);
  filter: blur(40px);
}
.bc-section.bc-decorate-blue::before {
  bottom: -80px; left: -120px;
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(29,78,216,0.12) 0%, transparent 60%);
  filter: blur(40px);
}
.bc-section .bc-container, .bc-section-tight .bc-container { position: relative; z-index: 1; }

/* Process step numbers — bolder colored chip */
.bc-step-num {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.25em;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--bc-electric), #C9303C);
  color: #fff;
}
.bc-step:nth-child(2) .bc-step-num { background: linear-gradient(135deg, var(--bc-royal), #1E40AF); }
.bc-step:nth-child(3) .bc-step-num { background: linear-gradient(135deg, #B45309, #F59E0B); color: #fff; }
.bc-step:nth-child(4) .bc-step-num { background: linear-gradient(135deg, #059669, #10B981); }

/* CTAs — gradient with shadow */
.bc-btn-primary { box-shadow: 0 8px 24px -8px rgba(230,57,70,0.45); }
.bc-btn-secondary { box-shadow: 0 8px 24px -8px rgba(29,78,216,0.45); }

/* Section: bg-warm — soft warm cream with red accent corner */
.bc-bg-warm {
  background: linear-gradient(135deg, #FFF8F2 0%, #FFFBEB 100%);
  position: relative;
}
.bc-bg-warm::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 240px; height: 240px;
  background: linear-gradient(225deg, rgba(255,214,10,0.25) 0%, transparent 50%);
  pointer-events: none;
}

/* Service category eyebrow chips on internal pages */
.bc-cat-foundation { background: linear-gradient(135deg, rgba(230,57,70,0.12), rgba(230,57,70,0.04)); border-color: rgba(230,57,70,0.25); color: #C9303C; }
.bc-cat-crawl-space { background: linear-gradient(135deg, rgba(29,78,216,0.12), rgba(29,78,216,0.04)); border-color: rgba(29,78,216,0.25); color: #1E40AF; }
.bc-cat-structural { background: linear-gradient(135deg, rgba(180,83,9,0.12), rgba(180,83,9,0.04)); border-color: rgba(180,83,9,0.25); color: #B45309; }

/* Trust strip number — bigger and bolder */
.bc-trust-num { font-size: clamp(2rem, 3.5vw, 2.75rem); }

/* Section heads — bigger eyebrow */
.bc-section-head .bc-eyebrow { font-size: 12px; padding: 8px 16px; }

/* Footer accent stripe */
.bc-footer { position: relative; }
.bc-footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #E63946 0%, #F59E0B 33%, #1D4ED8 66%, #E63946 100%);
}

/* Hero text shadow softer to keep red+blue overlay tints visible */
.bc-hero-immersive .bc-hero-copy h1 { text-shadow: 0 2px 24px rgba(0,0,0,0.45); }


/* ============ Hero readability fix ============ */
/* Strong dark wash on the left where text sits */
.bc-hero-immersive .bc-hero-overlay {
  background:
    linear-gradient(95deg, rgba(8,15,30,0.92) 0%, rgba(8,15,30,0.85) 30%, rgba(8,15,30,0.55) 55%, rgba(8,15,30,0.30) 80%, rgba(8,15,30,0.20) 100%),
    radial-gradient(ellipse 50% 60% at 18% 50%, rgba(230,57,70,0.22) 0%, rgba(230,57,70,0) 60%),
    radial-gradient(ellipse 35% 50% at 90% 60%, rgba(29,78,216,0.20) 0%, rgba(29,78,216,0) 60%);
}

/* Heavy text shadow + glow for hero copy */
.bc-hero-immersive .bc-hero-copy h1 {
  text-shadow: 0 2px 20px rgba(0,0,0,0.85), 0 0 40px rgba(0,0,0,0.5);
}
.bc-hero-immersive .bc-hero-copy p {
  text-shadow: 0 1px 12px rgba(0,0,0,0.8);
  color: rgba(255,255,255,0.95);
}
.bc-hero-immersive .bc-hero-copy p strong { color: #FFD60A; }
.bc-hero-immersive .bc-eyebrow-light {
  background: rgba(0,0,0,0.45);
  border-color: rgba(255,255,255,0.25);
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}
.bc-hero-immersive .bc-btn-light-link {
  background: rgba(0,0,0,0.45);
  border-color: rgba(255,255,255,0.30);
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}


/* ============ HIGH-END / PINTEREST AESTHETIC v1.9 ============ */

/* Add a serif display font option for editorial accents */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,500&display=swap');

:root {
  --bc-serif: 'Playfair Display', Georgia, serif;
}

/* Top utility bar — small, refined, classy */
.bc-utility-bar {
  background: #0F172A;
  color: rgba(255,255,255,0.85);
  font-size: 12px;
  letter-spacing: 0.02em;
  padding: 8px 0;
}
.bc-utility-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.bc-utility-left, .bc-utility-right {
  display: flex;
  align-items: center;
  gap: 22px;
}
.bc-utility-bar a { color: #fff; font-weight: 600; }
.bc-utility-bar a:hover { color: var(--bc-electric-400, #FF8067); }
.bc-utility-bar .bc-pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--bc-electric);
  box-shadow: 0 0 0 0 rgba(230,57,70,0.8);
  animation: bc-pulse 2s infinite;
  display: inline-block;
}
@keyframes bc-pulse {
  0% { box-shadow: 0 0 0 0 rgba(230,57,70,0.8); }
  70% { box-shadow: 0 0 0 12px rgba(230,57,70,0); }
  100% { box-shadow: 0 0 0 0 rgba(230,57,70,0); }
}
@media (max-width: 768px) {
  .bc-utility-bar-inner { flex-direction: column; gap: 6px; padding: 4px 0; }
  .bc-utility-left, .bc-utility-right { gap: 14px; }
}

/* Hero headline — switch to editorial serif */
.bc-hero-immersive .bc-hero-copy h1 {
  font-family: var(--bc-serif);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.bc-page-hero h1 {
  font-family: var(--bc-serif);
  font-weight: 700;
  letter-spacing: -0.015em;
}

/* Section heads — editorial serif h2 */
.bc-section-head h2,
.bc-section-head .bc-text-balance {
  font-family: var(--bc-serif);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.08;
}

/* Image-led service cards — Pinterest style */
.bc-service-card {
  position: relative;
  padding: 0;
  background: #fff;
  border: 1px solid var(--bc-border);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 300ms var(--bc-ease);
}
.bc-service-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, #FFE5DD 0%, #FFD1C2 100%);
}
.bc-service-card[href*="crawl-space"] .bc-service-card-media,
.bc-service-card[href*="encapsulation"] .bc-service-card-media,
.bc-service-card[href*="drainage"] .bc-service-card-media,
.bc-service-card[href*="waterproofing"] .bc-service-card-media {
  background: linear-gradient(135deg, #DBEAFE 0%, #93C5FD 100%);
}
.bc-service-card[href*="structural"] .bc-service-card-media,
.bc-service-card[href*="house-leveling"] .bc-service-card-media,
.bc-service-card[href*="settling"] .bc-service-card-media {
  background: linear-gradient(135deg, #FEF3C7 0%, #FCD34D 100%);
}
.bc-service-card-media::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4), transparent 60%);
}
.bc-service-card-icon-large {
  position: absolute;
  bottom: 18px; left: 18px;
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(10px);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--bc-electric);
  box-shadow: 0 8px 24px -8px rgba(0,0,0,0.18);
}
.bc-service-card-icon-large svg { width: 28px; height: 28px; }
.bc-service-card[href*="crawl-space"] .bc-service-card-icon-large,
.bc-service-card[href*="encapsulation"] .bc-service-card-icon-large,
.bc-service-card[href*="drainage"] .bc-service-card-icon-large,
.bc-service-card[href*="waterproofing"] .bc-service-card-icon-large {
  color: var(--bc-royal);
}
.bc-service-card[href*="structural"] .bc-service-card-icon-large,
.bc-service-card[href*="house-leveling"] .bc-service-card-icon-large,
.bc-service-card[href*="settling"] .bc-service-card-icon-large {
  color: #B45309;
}
.bc-service-card-body {
  padding: 26px 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.bc-service-card-body h3 {
  font-family: var(--bc-serif);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--bc-charcoal);
}
.bc-service-card-body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--bc-charcoal-500);
}
.bc-service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px -16px rgba(15,23,42,0.20);
  border-color: transparent;
}
.bc-service-card:hover .bc-service-card-icon-large {
  transform: rotate(-6deg) scale(1.05);
}

/* Editorial pull-quote section style */
.bc-editorial-quote {
  position: relative;
  padding: 80px 0;
  text-align: center;
}
.bc-editorial-quote blockquote {
  font-family: var(--bc-serif);
  font-style: italic;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.4;
  max-width: 780px;
  margin: 0 auto;
  color: var(--bc-charcoal);
}
.bc-editorial-quote cite {
  display: block;
  margin-top: 24px;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bc-steel);
  font-style: normal;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
}

/* Refined section spacing — more generous, editorial */
.bc-section { padding: 96px 0; }
@media (min-width: 1024px) { .bc-section { padding: 120px 0; } }
.bc-section-tight { padding: 72px 0; }
@media (min-width: 1024px) { .bc-section-tight { padding: 96px 0; } }

/* Better section head spacing */
.bc-section-head { margin-bottom: 48px; max-width: 720px; }
.bc-section-head.is-center { margin-left: auto; margin-right: auto; text-align: center; }

/* Pinterest-style image gallery / mood board */
.bc-moodboard {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 120px;
  gap: 12px;
}
@media (max-width: 768px) {
  .bc-moodboard { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; }
}
.bc-moodboard-cell {
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--bc-cream), #fff);
  position: relative;
}
.bc-moodboard-cell.tall { grid-row: span 2; }
.bc-moodboard-cell.wide { grid-column: span 2; }
.bc-moodboard-cell img { width: 100%; height: 100%; object-fit: cover; }
.bc-moodboard-cell-tag {
  position: absolute; bottom: 14px; left: 14px;
  background: rgba(255,255,255,0.95);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bc-charcoal);
}

/* Header refinement — slimmer, more elegant */
.bc-nav { height: 76px; }
.bc-logo-text { font-family: var(--bc-serif); font-weight: 700; font-size: 22px; }
.bc-logo-sub { font-family: 'Inter', sans-serif; }
.bc-nav-link { font-size: 13px; letter-spacing: 0.02em; }

/* Footer top stripe — multi-color */
.bc-footer { background: #0A0F1C; color: rgba(255,255,255,0.7); padding: 80px 0 28px; }
.bc-footer h3 { color: #fff; font-family: var(--bc-serif); font-weight: 700; font-size: 18px; }


/* ============ Service card photo (real images) ============ */
.bc-service-card-media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms var(--bc-ease);
}
.bc-service-card-media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.42) 100%);
  pointer-events: none;
}
.bc-service-card:hover .bc-service-card-media img {
  transform: scale(1.06);
}
/* Override the default gradient now that we have real images */
.bc-service-card-media,
.bc-service-card[href*="crawl-space"] .bc-service-card-media,
.bc-service-card[href*="encapsulation"] .bc-service-card-media,
.bc-service-card[href*="drainage"] .bc-service-card-media,
.bc-service-card[href*="waterproofing"] .bc-service-card-media,
.bc-service-card[href*="structural"] .bc-service-card-media,
.bc-service-card[href*="house-leveling"] .bc-service-card-media,
.bc-service-card[href*="settling"] .bc-service-card-media {
  background: #1a1a1a;
}
.bc-service-card-media::before { display: none; }

/* ============ Hero overlay tuned for foundation-crack image (v1.9.2) ============ */
/* Lighter dark wash on the LEFT so the cracks remain visible behind the headline,
   stronger text-shadow on type to keep words crisp. */
.bc-hero-immersive .bc-hero-overlay {
  background:
    linear-gradient(95deg, rgba(8,15,30,0.74) 0%, rgba(8,15,30,0.62) 28%, rgba(8,15,30,0.38) 55%, rgba(8,15,30,0.18) 80%, rgba(8,15,30,0.10) 100%),
    radial-gradient(ellipse 50% 60% at 18% 50%, rgba(230,57,70,0.18) 0%, rgba(230,57,70,0) 60%);
}
.bc-hero-immersive .bc-hero-copy h1 {
  text-shadow: 0 2px 16px rgba(0,0,0,0.95), 0 0 30px rgba(0,0,0,0.7), 0 1px 2px rgba(0,0,0,1);
}
.bc-hero-immersive .bc-hero-copy p {
  text-shadow: 0 1px 10px rgba(0,0,0,0.92), 0 0 20px rgba(0,0,0,0.6);
}


/* ============ Bigger nav (v1.9.5) ============ */
.bc-nav { height: 92px; gap: 24px; }
.bc-nav-links { gap: 38px; }
.bc-nav-link {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.005em;
}
.bc-logo svg { height: 44px; width: 44px; }
.bc-logo-text { font-size: 24px; }
.bc-logo-sub { font-size: 10px; }
.bc-nav-actions .bc-phone { font-size: 16px; }
.bc-nav-actions .bc-phone svg { width: 18px; height: 18px; }
.bc-nav-actions .bc-btn { padding: 13px 24px; font-size: 14px; }
@media (max-width: 1200px) {
  .bc-nav-links { gap: 28px; }
  .bc-nav-link { font-size: 15px; }
}

/* ============ Logo polish (v1.9.8) — bigger Arkansas mark ============ */
.bc-logo svg, .bc-logo .bc-logo-mark { height: 56px; width: 56px; }
.bc-logo { gap: 14px; }
.bc-logo-text { font-size: 26px; line-height: 1; letter-spacing: -0.02em; }
.bc-logo-sub { font-size: 10px; letter-spacing: 0.22em; margin-top: 4px; color: var(--bc-charcoal-500); font-weight: 700; }
@media (max-width: 768px) {
  .bc-logo svg, .bc-logo .bc-logo-mark { height: 44px; width: 44px; }
  .bc-logo-text { font-size: 22px; }
}

/* ============ User-uploaded logo image (v2.0.1) ============ */
.bc-logo-image { display: inline-flex; align-items: center; }
.bc-logo-image img.bc-logo-mark {
  height: 64px;
  width: auto;
  max-width: 280px;
  display: block;
  object-fit: contain;
}
@media (max-width: 768px) {
  .bc-logo-image img.bc-logo-mark { height: 48px; }
}
/* Hide the old wordmark span (no longer needed since image contains the text) */
.bc-logo-image .bc-logo-text,
.bc-logo-image .bc-logo-sub { display: none; }

/* ============ Logo refinement (v2.0.2) — bigger + handle dark bg ============ */
.bc-nav { height: 110px; }
.bc-logo-image img.bc-logo-mark {
  height: 92px;
  /* Use mix-blend-mode multiply so the black background of the source image
     blends with the white header — the colorful Arkansas stays vivid. */
  mix-blend-mode: multiply;
}
@media (max-width: 768px) {
  .bc-nav { height: 84px; }
  .bc-logo-image img.bc-logo-mark { height: 64px; }
}

/* ============ Bigger logo + responsive stat row (v2.1.1) ============ */
.bc-nav { height: 130px; }
.bc-logo-image img.bc-logo-mark { height: 120px; }
@media (max-width: 1200px) {
  .bc-nav { height: 110px; }
  .bc-logo-image img.bc-logo-mark { height: 96px; }
}
@media (max-width: 768px) {
  .bc-nav { height: 88px; }
  .bc-logo-image img.bc-logo-mark { height: 68px; }
}

/* About-page stat row collapses gracefully on smaller screens */
.bc-stat-row { gap: 24px 18px; }
@media (max-width: 1024px) {
  .bc-stat-row { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .bc-stat-row { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============ Mobile lead form fixes (v2.1.2) ============ */
@media (max-width: 768px) {
  /* Stop horizontal overflow caused by floating form */
  body { overflow-x: hidden; }

  /* Collapse the 2-column form grid to a single column on mobile */
  .bc-form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* Tame the form's footprint so it sits cleanly inside its column */
  .bc-hero-immersive .bc-lead-form,
  .bc-page-hero .bc-lead-form {
    margin: 16px auto 0 !important;   /* no negative bottom — stays inside */
    padding: 24px 20px 22px !important;
    max-width: calc(100vw - 32px);
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
  }

  /* Push next section back up since the form no longer overlaps */
  .bc-hero-immersive + .bc-trust-strip,
  .bc-page-hero + .bc-section,
  .bc-page-hero + .bc-section-tight { padding-top: 64px !important; }

  /* Form headline + sub a touch smaller on mobile */
  .bc-hero-immersive .bc-lead-form h3,
  .bc-page-hero .bc-lead-form h3 { font-size: 22px; }
  .bc-lead-form { padding: 24px 20px; }
  .bc-lead-form h3 { font-size: 22px; }

  /* Inputs — comfortable tap targets, no overflow */
  .bc-field input,
  .bc-field textarea {
    font-size: 16px;        /* iOS won't zoom on focus */
    padding: 12px 14px;
    box-sizing: border-box;
  }

  /* Submit button stays full-width and tappable */
  .bc-form-actions .bc-btn {
    width: 100%;
    font-size: 15px;
    padding: 14px 20px;
  }

  /* Hero grid stacks single-column on mobile so form doesn't share space with copy */
  .bc-hero-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .bc-hero-rh { width: 100%; }

  /* Twocol containers (used by city / symptom heroes) also stack */
  .bc-twocol { grid-template-columns: 1fr !important; gap: 24px !important; }
  .bc-twocol-aside { width: 100%; }
}

/* ============ Mobile lead form FULL FIX (v2.1.3) ============ */
@media (max-width: 768px) {
  /* Hard prevent horizontal scroll anywhere on the page */
  html, body { overflow-x: hidden !important; max-width: 100vw; }

  /* Container has consistent padding, never overflows */
  .bc-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
    max-width: 100vw !important;
    width: 100% !important;
  }

  /* Hero — shorter on mobile, no min-height fight */
  .bc-hero-immersive {
    min-height: 0 !important;
    padding: 56px 0 32px !important;
    display: block !important;
  }
  .bc-hero-immersive-inner { width: 100% !important; }

  /* Stack hero grid into single column with no weird spacing */
  .bc-hero-grid,
  .bc-page-hero .bc-twocol {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* The right column (form holder) takes full width, no offsets */
  .bc-hero-rh,
  .bc-twocol-aside {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
  }

  /* Lead form — static, full-width, properly contained */
  .bc-lead-form,
  .bc-hero-immersive .bc-lead-form,
  .bc-page-hero .bc-lead-form {
    position: static !important;
    margin: 0 !important;
    padding: 22px 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    transform: none !important;
  }

  /* Inputs go single-column, full-width */
  .bc-form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .bc-field {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .bc-field input,
  .bc-field textarea {
    width: 100% !important;
    font-size: 16px !important;       /* iOS won't zoom */
    box-sizing: border-box !important;
    padding: 12px 14px !important;
  }

  /* Form heading + sub */
  .bc-lead-form h3,
  .bc-hero-immersive .bc-lead-form h3,
  .bc-page-hero .bc-lead-form h3 { font-size: 22px !important; }
  .bc-lead-sub { font-size: 13px !important; }

  /* Submit button */
  .bc-form-actions .bc-btn {
    width: 100% !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
    box-sizing: border-box !important;
  }

  /* Hero copy — smaller headline, smaller body */
  .bc-hero-immersive .bc-hero-copy h1 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
    line-height: 1.05 !important;
  }
  .bc-hero-immersive .bc-hero-copy p { font-size: 15px !important; line-height: 1.55 !important; }
  .bc-hero-actions { gap: 8px !important; flex-wrap: wrap !important; }
  .bc-hero-actions .bc-btn,
  .bc-hero-actions .bc-btn-light-link { width: 100% !important; justify-content: center !important; }

  /* Restore normal flow under hero — kill the negative-margin overlap */
  .bc-hero-immersive + .bc-trust-strip,
  .bc-page-hero + .bc-section,
  .bc-page-hero + .bc-section-tight {
    padding-top: 56px !important;
  }

  /* Eyebrow inside hero shouldn't have its own background squeeze */
  .bc-hero-immersive .bc-eyebrow,
  .bc-page-hero .bc-eyebrow { white-space: normal !important; }
}

/* ============ Hero paragraph readability boost (v2.1.4) ============ */
.bc-hero-immersive .bc-hero-copy p {
  /* Heavier text-shadow so words pop on bright photo zones */
  text-shadow:
    0 1px 14px rgba(0,0,0,0.95),
    0 0 22px rgba(0,0,0,0.78),
    0 1px 2px rgba(0,0,0,1);
  color: #fff !important;
  font-weight: 500;
}
.bc-hero-immersive .bc-hero-copy p strong {
  color: #FFD60A !important;
  text-shadow:
    0 1px 14px rgba(0,0,0,1),
    0 0 18px rgba(0,0,0,0.8);
}

/* Strengthen overlay slightly more around the copy zone */
.bc-hero-immersive .bc-hero-overlay {
  background:
    linear-gradient(95deg, rgba(8,15,30,0.86) 0%, rgba(8,15,30,0.78) 30%, rgba(8,15,30,0.50) 55%, rgba(8,15,30,0.24) 80%, rgba(8,15,30,0.12) 100%),
    radial-gradient(ellipse 50% 60% at 18% 50%, rgba(230,57,70,0.18) 0%, rgba(230,57,70,0) 60%);
}

/* ============ Page hero readability boost (v2.1.6) — applies to ALL internal page heroes ============ */
.bc-page-hero .bc-page-hero-overlay {
  background:
    linear-gradient(110deg, rgba(8,15,30,0.86) 0%, rgba(8,15,30,0.78) 35%, rgba(8,15,30,0.65) 60%, rgba(8,15,30,0.55) 85%, rgba(8,15,30,0.50) 100%),
    radial-gradient(ellipse 50% 70% at 20% 50%, rgba(230,57,70,0.16) 0%, rgba(230,57,70,0) 60%);
}

/* Strong text-shadow on every page-hero headline and paragraph */
.bc-page-hero h1 {
  text-shadow:
    0 2px 18px rgba(0,0,0,0.92),
    0 0 30px rgba(0,0,0,0.65),
    0 1px 2px rgba(0,0,0,1);
  color: #fff !important;
  font-weight: 700 !important;
}
.bc-page-hero p {
  text-shadow:
    0 1px 12px rgba(0,0,0,0.95),
    0 0 22px rgba(0,0,0,0.65),
    0 1px 2px rgba(0,0,0,0.9);
  color: rgba(255,255,255,0.95) !important;
  font-weight: 500 !important;
}

/* Eyebrow on page heroes — opaque dark backdrop, crisp white text */
.bc-page-hero .bc-eyebrow,
.bc-page-hero .bc-eyebrow-light {
  background: rgba(0,0,0,0.55) !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
  backdrop-filter: blur(6px);
}

/* Breadcrumbs in page hero — make them legible too */
.bc-page-hero .bc-crumbs,
.bc-page-hero .bc-crumbs a,
.bc-page-hero .bc-crumbs li {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.85);
}
.bc-page-hero .bc-crumbs a:hover { color: #FFD60A !important; }

/* Mobile: even darker overlay on page heroes since photos compete more in tight viewports */
@media (max-width: 768px) {
  .bc-page-hero .bc-page-hero-overlay {
    background:
      linear-gradient(180deg, rgba(8,15,30,0.78) 0%, rgba(8,15,30,0.78) 100%) !important;
  }
  .bc-page-hero h1 {
    font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
    line-height: 1.08 !important;
  }
  .bc-page-hero p { font-size: 15px !important; line-height: 1.55 !important; }
  .bc-page-hero { padding: 56px 0 40px !important; }
}

/* =========================================================================
   v2.2.0 — HOMEPAGE NAVY/CHARCOAL/WHITE/BLACK COLOR SCHEME
   Scoped to body only. New brand palette from truck wrap.
   ========================================================================= */

body {
  --bc-navy: #1A2F4A;
  --bc-navy-deep: #0F1E33;
  --bc-navy-light: #2B4972;
  --bc-charcoal: #404040;
  --bc-charcoal-deep: #262626;
  --bc-charcoal-light: #5A5A5A;
}

/* --- HERO --- */
body .bc-hero-immersive { background: #0A0A0A; }
body .bc-hero-overlay {
  background:
    linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.72) 50%, rgba(10,10,10,0.92) 100%),
    radial-gradient(ellipse at 30% 30%, rgba(26,47,74,0.45) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 70%, rgba(64,64,64,0.40) 0%, transparent 60%) !important;
}
body .bc-hero-copy h1,
body .bc-hero-copy p,
body .bc-hero-copy strong { color: #FFFFFF !important; }
body .bc-hero-copy strong {
  background: rgba(26,47,74,0.55);
  border-bottom: 2px solid #FFFFFF;
  padding: 1px 6px;
  border-radius: 3px;
}

/* --- EYEBROWS (homepage) --- */
body .bc-eyebrow {
  background: linear-gradient(135deg, rgba(26,47,74,0.10) 0%, rgba(64,64,64,0.10) 100%);
  border: 1px solid rgba(26,47,74,0.25);
  color: var(--bc-navy);
}
body .bc-eyebrow-dot { background: var(--bc-navy); }
body .bc-eyebrow-light {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  color: #FFFFFF;
}
body .bc-eyebrow-light .bc-eyebrow-dot { background: #FFFFFF; }

/* --- CTA BUTTONS --- */
body .bc-btn-primary {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-navy-deep) 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--bc-navy-deep) !important;
  box-shadow: 0 4px 14px rgba(26,47,74,0.35), inset 0 1px 0 rgba(255,255,255,0.10) !important;
}
body .bc-btn-primary:hover {
  background: linear-gradient(135deg, var(--bc-navy-light) 0%, var(--bc-navy) 100%) !important;
  box-shadow: 0 8px 22px rgba(26,47,74,0.50), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transform: translateY(-1px);
}
body .bc-btn-secondary {
  background: #FFFFFF !important;
  color: var(--bc-navy) !important;
  border: 1.5px solid var(--bc-navy) !important;
}
body .bc-btn-secondary:hover {
  background: var(--bc-navy) !important;
  color: #FFFFFF !important;
}
body .bc-btn-light-link {
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  background: rgba(255,255,255,0.05) !important;
}
body .bc-btn-light-link:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #FFFFFF !important;
}
body .bc-btn-link { color: var(--bc-navy) !important; }
body .bc-btn-link:hover { color: var(--bc-navy-deep) !important; }

/* --- TRUST STRIP --- */
body .bc-trust-strip {
  background: linear-gradient(180deg, #FFFFFF 0%, #F4F6FA 100%);
  border-top: 3px solid var(--bc-navy);
  border-bottom: 1px solid rgba(26,47,74,0.10);
}
body .bc-trust-num {
  color: var(--bc-navy) !important;
  background: none !important;
  -webkit-text-fill-color: var(--bc-navy) !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}
body .bc-trust-lbl { color: var(--bc-charcoal) !important; }

/* --- LEAD FORM (homepage) --- */
body .bc-lead-form {
  background: rgba(255,255,255,0.97) !important;
  border-top: 4px solid var(--bc-navy) !important;
  box-shadow: 0 20px 50px rgba(10,10,10,0.40) !important;
}
body .bc-lead-form::before,
body .bc-lead-form::after {
  background: linear-gradient(90deg, var(--bc-navy) 0%, var(--bc-charcoal) 50%, #0A0A0A 100%) !important;
}
body .bc-lead-form h3 { color: var(--bc-navy-deep) !important; }
body .bc-lead-form .bc-eyebrow {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-navy-deep) 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
}
body .bc-lead-form .bc-eyebrow svg { color: #FFFFFF !important; }
body .bc-lead-form input:focus,
body .bc-lead-form textarea:focus {
  border-color: var(--bc-navy) !important;
  box-shadow: 0 0 0 3px rgba(26,47,74,0.18) !important;
}

/* --- SERVICE CARDS --- */
body .bc-svc-card {
  border-top: 3px solid var(--bc-navy) !important;
}
body .bc-svc-card::before {
  background: linear-gradient(90deg, var(--bc-navy) 0%, var(--bc-charcoal) 100%) !important;
}
body .bc-svc-card:hover {
  border-color: var(--bc-navy-light) !important;
  box-shadow: 0 18px 42px rgba(26,47,74,0.20) !important;
}
body .bc-svc-icon,
body .bc-step-icon {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-navy-deep) 100%) !important;
  color: #FFFFFF !important;
}
body .bc-svc-icon svg,
body .bc-step-icon svg { color: #FFFFFF !important; }
body .bc-svc-card h3 { color: var(--bc-navy-deep) !important; }
body .bc-svc-card .bc-link { color: var(--bc-navy) !important; }

/* --- DARK SECTION (Soil Map block) --- */
body .bc-bg-dark {
  background: linear-gradient(160deg, var(--bc-navy-deep) 0%, #0A0A0A 60%, var(--bc-charcoal-deep) 100%) !important;
}

/* --- PROCESS STEPS --- */
body .bc-step-num {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-charcoal) 100%) !important;
  color: #FFFFFF !important;
}
body .bc-step h3 { color: var(--bc-navy-deep) !important; }

/* --- TESTIMONIALS --- */
body .bc-tstars { color: var(--bc-navy) !important; }
body .bc-avatar {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-navy-deep) 100%) !important;
  color: #FFFFFF !important;
}
body .bc-tcard-name { color: var(--bc-navy-deep) !important; }

/* --- ALT BG SECTION --- */
body .bc-bg-alt {
  background: linear-gradient(180deg, #F4F6FA 0%, #E8ECF3 100%) !important;
}

/* --- FLOATING / STICKY CTA (if present on homepage) --- */
body .bc-floating-cta,
body .bc-sticky-cta {
  background: linear-gradient(135deg, var(--bc-navy) 0%, var(--bc-navy-deep) 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 30px rgba(10,10,10,0.45) !important;
}

/* --- LINKS / ACCENTS --- */
body a:not(.bc-btn):not(.bc-eyebrow):hover { color: var(--bc-navy) !important; }
body .bc-section-head h2 strong,
body .bc-section-head h2 em { color: var(--bc-navy) !important; }

/* --- TEXT-BALANCE H2 ACCENT (homepage section heads) --- */
body h2.bc-text-balance { color: var(--bc-navy-deep); }
body .bc-bg-dark h2.bc-text-balance,
body .bc-bg-dark h2 { color: #FFFFFF !important; }


/* =========================================================================
   v2.2.1 — NEW LOGO ADJUSTMENTS
   New horizontal lockup is wide (3.27:1), transparent background. Remove
   blend-mode and adjust sizing.
   ========================================================================= */
.bc-logo-image img.bc-logo-mark {
  mix-blend-mode: normal !important;
  height: 78px !important;
  max-width: none !important;
  width: auto !important;
}
.bc-nav { height: 108px !important; }
@media (max-width: 1200px) {
  .bc-nav { height: 96px !important; }
  .bc-logo-image img.bc-logo-mark { height: 68px !important; }
}
@media (max-width: 768px) {
  .bc-nav { height: 76px !important; }
  .bc-logo-image img.bc-logo-mark { height: 56px !important; }
}
@media (max-width: 480px) {
  .bc-logo-image img.bc-logo-mark { height: 48px !important; }
}


/* =========================================================================
   v2.2.9 — SOIL MAP SECTION MOBILE FIX
   Stack legend cards, CTAs, and stat strip cleanly on narrow viewports.
   ========================================================================= */
.bc-section.bc-bg-dark .bc-feature-grid > div:first-child {
  min-width: 0; /* allow grid item to shrink below content size */
}

/* Constrain inner content widths and break long words on mobile */
.bc-section.bc-bg-dark .bc-feature-grid p,
.bc-section.bc-bg-dark .bc-feature-grid h2 {
  max-width: 100% !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Legend cards grid: force single column on narrow viewports */
@media (max-width: 768px) {
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  /* Stack CTA row vertically and full-width on mobile */
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="flex-wrap:wrap"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="flex-wrap:wrap"] > a {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  /* Stat strip: tighter gap, smaller numbers so all three fit in a row */
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="border-top:1px solid"] {
    gap: 16px !important;
    flex-wrap: wrap;
  }
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="border-top:1px solid"] > div > div:first-child {
    font-size: 22px !important;
  }
  .bc-section.bc-bg-dark .bc-feature-grid > div:first-child > div[style*="border-top:1px solid"] > div > div:last-child {
    font-size: 9px !important;
    letter-spacing: 1px !important;
  }

  /* Soil map SVG container: tighten padding so the state isn't cramped */
  .bc-soil-map-wrap {
    padding: 20px !important;
  }
}


/* =========================================================================
   v2.3.1 — INTERNAL PAGE HERO WITH OVERLAPPING LEAD FORM
   Internal-page heroes now use a 2-column layout: copy on the left, lead
   form floating on the right (overlapping the hero image like the homepage).
   ========================================================================= */
.bc-page-hero.bc-page-hero-immersive {
  position: relative;
  min-height: 520px;
  padding: 0;
  overflow: hidden;
  background: #0A0A0A;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10,10,10,0.50) 0%, rgba(10,10,10,0.78) 100%),
    radial-gradient(ellipse at 25% 30%, rgba(26,47,74,0.45) 0%, transparent 60%);
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-inner {
  position: relative;
  z-index: 2;
  padding-top: 72px;
  padding-bottom: 80px;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-copy h1 {
  color: #FFFFFF;
  font-family: var(--bc-font-display);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-top: 18px;
  text-shadow:
    0 1px 3px rgba(0,0,0,0.6),
    0 2px 12px rgba(0,0,0,0.4);
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-copy p {
  color: rgba(255,255,255,0.92);
  font-size: 17px;
  line-height: 1.65;
  margin-top: 16px;
  max-width: 560px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-copy .bc-breadcrumbs {
  color: rgba(255,255,255,0.85);
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-copy .bc-breadcrumbs a {
  color: rgba(255,255,255,0.85);
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-rh {
  position: relative;
}
.bc-page-hero.bc-page-hero-immersive .bc-page-hero-rh .bc-lead-form {
  margin: 0;
  max-width: 100%;
}

/* When noForm flag is set, copy spans full width */
.bc-page-hero.bc-page-hero-immersive.bc-page-hero-noform .bc-page-hero-grid {
  grid-template-columns: 1fr;
}

/* Mobile: stack copy + form vertically, form full-width */
@media (max-width: 1024px) {
  .bc-page-hero.bc-page-hero-immersive .bc-page-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .bc-page-hero.bc-page-hero-immersive .bc-page-hero-inner {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}
@media (max-width: 768px) {
  .bc-page-hero.bc-page-hero-immersive {
    min-height: auto;
  }
  .bc-page-hero.bc-page-hero-immersive .bc-page-hero-rh .bc-lead-form {
    padding: 24px 20px;
  }
}


/* ============================================================
   v2.5 — LEAD CAPTURE MACHINE
   Conversion hooks, visual energy, depth. Loads last; wins cascade.
   ============================================================ */

/* ---- Smooth, deeper card depth everywhere ---- */
body .bc-card,
body .bc-glass,
body .bc-service-card,
body .bc-tcard,
body .bc-step {
  box-shadow: var(--bc-shadow-sm);
  transition: transform 320ms var(--bc-ease), box-shadow 320ms var(--bc-ease), border-color 320ms var(--bc-ease);
}
body .bc-card-hover:hover,
body .bc-service-card:hover,
body .bc-step:hover {
  transform: translateY(-6px);
  box-shadow: var(--bc-shadow-lg);
}

/* ---- Eyebrow → confident navy pill ---- */
body .bc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 15px 7px 13px;
  border-radius: var(--bc-radius-full);
  background: rgba(26,47,74,0.07);
  border: 1px solid rgba(26,47,74,0.14);
  font-size: 11.5px; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--bc-navy);
}
body .bc-eyebrow-dot { background: var(--bc-electric); box-shadow: 0 0 0 3px rgba(230,57,70,0.18); }
body .bc-bg-dark .bc-eyebrow,
body .bc-eyebrow-light {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
  color: #fff;
}

/* ---- Primary button — gradient + shine ---- */
body .bc-btn-primary {
  background: linear-gradient(135deg, var(--bc-electric) 0%, var(--bc-electric-600) 100%);
  box-shadow: 0 10px 26px -8px rgba(230,57,70,0.55);
  position: relative; overflow: hidden;
  font-weight: 800; letter-spacing: 0.005em;
}
body .bc-btn-primary::after {
  content: ''; position: absolute; top: 0; left: -120%;
  width: 60%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.38), transparent);
  transform: skewX(-18deg); transition: left 650ms var(--bc-ease);
}
body .bc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -8px rgba(230,57,70,0.65);
}
body .bc-btn-primary:hover::after { left: 130%; }

/* ---- Section headline weight ---- */
body .bc-section-head h2,
body .bc-section-head .bc-text-balance {
  font-family: var(--bc-font-display);
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* ---- Trust strip — animated top shimmer + interactive items ---- */
body .bc-trust-strip {
  position: relative;
  background: linear-gradient(180deg, #FFFFFF 0%, #F1F4F9 100%);
  border-top: none; border-bottom: 1px solid rgba(26,47,74,0.10);
}
body .bc-trust-strip::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--bc-navy), var(--bc-electric), var(--bc-royal), var(--bc-navy));
  background-size: 300% 100%;
  animation: bc-shimmer 6s linear infinite;
}
@keyframes bc-shimmer { 0% { background-position: 0% 0; } 100% { background-position: 300% 0; } }
body .bc-trust-item { transition: transform 280ms var(--bc-ease); cursor: default; }
body .bc-trust-item:hover { transform: translateY(-4px); }
body .bc-trust-num {
  font-family: var(--bc-font-display) !important;
  font-weight: 800 !important;
}

/* ---- Service card media zoom ---- */
body .bc-service-card-media img { transition: transform 600ms var(--bc-ease); }
body .bc-service-card:hover .bc-service-card-media img { transform: scale(1.07); }
body .bc-service-card:hover { border-color: var(--bc-navy-light); }

/* ---- Step cards — bold number badge ---- */
body .bc-step { position: relative; overflow: hidden; }
body .bc-step::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px;
  background: linear-gradient(90deg, var(--bc-navy), var(--bc-electric));
  transform: scaleX(0); transform-origin: left; transition: transform 360ms var(--bc-ease);
}
body .bc-step:hover::before { transform: scaleX(1); }
body .bc-step-num {
  font-family: var(--bc-font-display); font-weight: 800;
  color: var(--bc-electric); letter-spacing: 0.14em; font-size: 12px;
}

/* ============ MID-PAGE CTA BAND ============ */
.bc-cta-band {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--bc-navy-deep) 0%, var(--bc-navy) 55%, var(--bc-charcoal-deep) 100%);
  color: #fff; padding: 72px 0;
}
.bc-cta-band::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(230,57,70,0.22), transparent 45%),
    radial-gradient(circle at 88% 80%, rgba(29,78,216,0.22), transparent 45%);
}
.bc-cta-band-inner {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  gap: 36px; flex-wrap: wrap;
}
.bc-cta-band-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--bc-safety); margin-bottom: 14px;
}
.bc-cta-band h2 {
  font-family: var(--bc-font-display); color: #fff;
  font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.06;
  letter-spacing: -0.03em; max-width: 18ch;
}
.bc-cta-band p {
  margin-top: 14px; color: rgba(255,255,255,0.78); font-size: 17px;
  line-height: 1.6; max-width: 46ch;
}
.bc-cta-band-actions { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.bc-cta-band-actions .bc-btn { justify-content: center; }
.bc-cta-band-phone {
  display: inline-flex; align-items: center; gap: 10px;
  color: #fff; font-family: var(--bc-font-display); font-weight: 800;
  font-size: 24px; letter-spacing: -0.01em;
}
.bc-cta-band-phone svg { color: var(--bc-safety); width: 22px; height: 22px; }
.bc-cta-band-note { font-size: 12.5px; color: rgba(255,255,255,0.55); letter-spacing: 0.02em; }
@media (max-width: 860px) {
  .bc-cta-band-inner { flex-direction: column; align-items: flex-start; }
  .bc-cta-band-actions { width: 100%; }
}

/* ============ INLINE PROOF ROW (near forms) ============ */
.bc-proof-row {
  display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center;
  margin-top: 22px;
}
.bc-proof-stars { color: var(--bc-safety); font-size: 16px; letter-spacing: 2px; }
.bc-proof-item {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 600; color: var(--bc-charcoal-500);
}
.bc-proof-item svg { width: 15px; height: 15px; color: var(--bc-success); }
.bc-bg-dark .bc-proof-item { color: rgba(255,255,255,0.82); }

/* ============ STICKY MOBILE CONVERSION BAR ============ */
.bc-mobile-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: none; grid-template-columns: 1fr 1fr;
  background: var(--bc-navy-deep);
  box-shadow: 0 -8px 30px rgba(10,15,26,0.35);
  border-top: 1px solid rgba(255,255,255,0.10);
}
.bc-mobile-cta a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 12px; font-family: var(--bc-font-display);
  font-weight: 800; font-size: 14.5px; letter-spacing: 0.01em;
}
.bc-mobile-cta svg { width: 17px; height: 17px; }
.bc-mobile-cta .bc-mcta-call { color: #fff; }
.bc-mobile-cta .bc-mcta-call svg { color: var(--bc-safety); }
.bc-mobile-cta .bc-mcta-quote {
  color: #fff;
  background: linear-gradient(135deg, var(--bc-electric) 0%, var(--bc-electric-600) 100%);
}
@media (max-width: 767px) {
  .bc-mobile-cta { display: grid; }
  body { padding-bottom: 56px; }
  .bc-floating { display: none !important; }
}

/* ============ FLOATING CTA — desktop, more presence ============ */
.bc-floating .bc-btn {
  box-shadow: 0 14px 36px -8px rgba(230,57,70,0.6);
  font-weight: 800; padding: 15px 24px;
}
.bc-floating .bc-btn svg { animation: bc-ring 2.4s var(--bc-ease) infinite; }
@keyframes bc-ring {
  0%, 70%, 100% { transform: rotate(0); }
  75% { transform: rotate(-12deg); } 80% { transform: rotate(12deg); }
  85% { transform: rotate(-10deg); } 90% { transform: rotate(8deg); }
}

/* ============ HERO — depth + slow zoom ============ */
.bc-hero-immersive .bc-hero-bg img {
  animation: bc-hero-zoom 18s ease-out forwards;
}
@keyframes bc-hero-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.bc-hero-immersive .bc-hero-overlay {
  background: linear-gradient(115deg, rgba(10,15,26,0.92) 0%, rgba(15,30,51,0.78) 42%, rgba(15,30,51,0.45) 100%);
}
body .bc-hero-immersive .bc-hero-copy h1 {
  font-family: var(--bc-font-display);
  font-weight: 800; letter-spacing: -0.035em;
}

/* ---- Reveal: add gentle stagger for grids ---- */
body .bc-reveal { transition: opacity 700ms var(--bc-ease), transform 700ms var(--bc-ease); }

/* ============================================================
   v2.11 — HERO READABILITY: proof row + phone link over photos
   ============================================================ */
body .bc-proof-row .bc-proof-item {
  color: #FFFFFF !important;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(0,0,0,0.9), 0 0 14px rgba(0,0,0,0.6);
}
body .bc-proof-row .bc-proof-item svg {
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.85));
}
body .bc-proof-row .bc-proof-stars {
  text-shadow: 0 1px 4px rgba(0,0,0,0.9), 0 0 10px rgba(0,0,0,0.55);
}
/* Phone link in hero — give it a solid, legible background */
body .bc-btn-light-link {
  background: rgba(15,23,42,0.78) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  color: #FFFFFF !important;
  font-weight: 700;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
}
body .bc-btn-light-link:hover {
  background: rgba(15,23,42,0.92) !important;
  border-color: #FFFFFF !important;
}
body .bc-btn-light-link svg { color: #FFFFFF !important; }

/* ============================================================
   v2.12 — SERVICE PAGE: statewide coverage as clean pill tiers
   ============================================================ */
.bc-coverage-tiers { display: flex; flex-direction: column; gap: 26px; margin-top: 8px; }
.bc-coverage-tier-label {
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 800; color: var(--bc-navy); margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.bc-coverage-tier-label::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, rgba(26,47,74,0.18), transparent);
}
body .bc-coverage-tier .bc-pill {
  font-size: 13px; padding: 9px 16px;
  background: var(--bc-cream); border-color: var(--bc-border);
  color: var(--bc-charcoal-700); font-weight: 600;
}
body .bc-coverage-tier .bc-pill:hover {
  background: var(--bc-navy); border-color: var(--bc-navy);
  color: #fff; transform: translateY(-2px);
  box-shadow: 0 8px 18px -6px rgba(26,47,74,0.4);
}
