.bc-list-section, .bc-content-section, .bc-related-section { padding: 72px 0; background: #080808; }
.bc-related-section { border-top: 1px solid rgba(255,255,255,.06); background: #090909; }
.bc-list-section--tight { padding-top: 12px; }
.bc-content-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 26px; align-items: start; }
.bc-content-card, .bc-media-card, .bc-spec-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)), #101010;
  box-shadow: 0 24px 70px rgba(0,0,0,.2);
}
.bc-content-card { padding: 30px; }
.bc-content-card--wide { max-width: 980px; margin: 0 auto; }
.bc-content-rich { color: rgba(255,255,255,.78); line-height: 1.75; }
.bc-content-rich > :first-child { margin-top: 0; }
.bc-content-rich > :last-child { margin-bottom: 0; }
.bc-content-rich h2 { margin: 34px 0 12px; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: clamp(1.8rem,2.5vw,2.5rem); line-height: 1; text-transform: uppercase; }
.bc-content-rich h3 { margin: 26px 0 10px; color: #fff; }
.bc-content-rich p, .bc-content-rich ul, .bc-content-rich ol { margin: 0 0 16px; }
.bc-content-rich li + li { margin-top: 7px; }
.bc-content-rich strong { color: #fff; }
.bc-content-rich a { color: #ff8a94; }
.bc-media-card { position: sticky; top: 20px; overflow: hidden; min-height: 340px; }
.bc-media-card img { position: relative; z-index: 2; width: 100%; min-height: 340px; height: 100%; object-fit: cover; }
.bc-media-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(circle, rgba(255,36,52,.18), transparent 32%), #0d0d0d; }
.bc-media-card__placeholder svg { width: 48px; height: 48px; color: rgba(255,255,255,.28); }
.bc-spec-card { position: sticky; top: 20px; display: grid; gap: 8px; padding: 26px; }
.bc-spec-card > span { color: #ff7a85; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bc-spec-card > strong { margin-bottom: 10px; font-size: 1.08rem; }
.bc-spec-card p { margin: 4px 0 12px; color: var(--text-muted); font-size: .88rem; line-height: 1.6; }
.bc-mini-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.bc-mini-card a { position: relative; display: block; min-height: 140px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.035); color: inherit; text-decoration: none; transition: var(--transition); }
.bc-mini-card a:hover { transform: translateY(-3px); border-color: rgba(255,36,52,.42); background: rgba(255,255,255,.05); }
.bc-mini-card span { color: #ff7c87; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bc-mini-card h3 { max-width: 90%; margin: 12px 0 0; font-size: 1.06rem; line-height: 1.3; }
.bc-mini-card svg { position: absolute; right: 18px; bottom: 18px; width: 18px; height: 18px; color: var(--accent); }
.bc-cta { padding: 36px 0 78px; background: #080808; }
.bc-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 30px; border: 1px solid var(--line); border-radius: 26px; background: radial-gradient(circle at 80% 20%, rgba(255,36,52,.16), transparent 30%), #101010; }
.bc-cta__inner > div { max-width: 700px; }
.bc-cta p:not(.bc-cta__eyebrow) { margin: 12px 0 0; color: var(--text-muted); line-height: 1.6; }
.bc-not-found { min-height: 70vh; display: grid; place-items: center; padding: 90px 0; background: radial-gradient(circle at 50% 30%, rgba(255,36,52,.15), transparent 28%), #080808; }
.bc-not-found__inner { text-align: center; }
.bc-not-found__code { display: block; color: rgba(255,255,255,.12); font-family: "Barlow Condensed", sans-serif; font-size: clamp(6rem,16vw,13rem); font-weight: 800; line-height: .7; }
.bc-not-found h1 { margin: 34px 0 0; font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.7rem,5vw,4.7rem); text-transform: uppercase; }
.bc-not-found h1 span { color: var(--accent); }
.bc-not-found p { color: var(--text-muted); }
.bc-not-found__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.bc-support-section {
  position: relative;
  overflow: clip;
  padding: 72px 0;
  border-top: 1px solid rgba(255,255,255,.06);
  background: #080808;
}
.bc-support-section--process { background: radial-gradient(circle at 88% 18%, rgba(255,36,52,.1), transparent 28%), #090909; }
.bc-support-section--contrast { background: linear-gradient(180deg, #0b0b0b, #070707); }
.bc-support-section--faq { background: radial-gradient(circle at 8% 16%, rgba(255,36,52,.08), transparent 26%), #090909; }
.bc-support-section .bc-section-heading,
.bc-related-section .bc-section-heading { margin-bottom: 32px; }
.bc-section-heading__text { max-width: 64ch; margin: 16px 0 0; color: var(--text-muted); line-height: 1.7; }

.bc-process-grid,
.bc-reasons-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
}
.bc-process-grid { list-style: none; }
.bc-process-card,
.bc-reason-card {
  position: relative;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), #101010;
  box-shadow: 0 24px 64px rgba(0,0,0,.18);
}
.bc-process-card { min-height: 238px; overflow: hidden; }
.bc-process-card::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -62px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(255,36,52,.07);
  pointer-events: none;
}
.bc-process-card__number {
  display: inline-block;
  margin-bottom: 40px;
  color: #ff7a85;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.bc-process-card h3,
.bc-reason-card h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.bc-process-card p,
.bc-reason-card p { margin: 12px 0 0; color: var(--text-muted); font-size: .91rem; line-height: 1.67; }

.bc-reason-card { min-height: 210px; }
.bc-reason-card__line { display: block; width: 42px; height: 3px; margin-bottom: 30px; border-radius: 999px; background: linear-gradient(90deg,var(--accent),#ff7a85); }

.bc-faq-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(36px,7vw,92px); align-items: start; }
.bc-faq-layout > .bc-section-heading { margin-bottom: 0; }
.bc-faq-list { display: grid; gap: 12px; }
.bc-faq-list details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  transition: border-color var(--transition), background var(--transition);
}
.bc-faq-list details:hover { border-color: rgba(255,255,255,.18); }
.bc-faq-list details[open] { border-color: rgba(255,36,52,.34); background: rgba(255,255,255,.045); }
.bc-faq-list summary {
  position: relative;
  display: block;
  min-height: 68px;
  padding: 21px 58px 21px 22px;
  color: rgba(255,255,255,.91);
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
  cursor: pointer;
  transition: color var(--transition), background var(--transition);
}
.bc-faq-list summary::-webkit-details-marker { display: none; }
.bc-faq-list summary::marker { content: ""; }
.bc-faq-list summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 23px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #ff7a85;
  border-bottom: 2px solid #ff7a85;
  transform: translateY(-70%) rotate(45deg);
  transition: transform var(--transition);
}
.bc-faq-list summary:hover { color: #fff; background: rgba(255,255,255,.025); }
.bc-faq-list summary:focus-visible { z-index: 1; outline: 2px solid #ff6d78; outline-offset: -3px; border-radius: 16px; }
.bc-faq-list details[open] summary { color: #fff; }
.bc-faq-list details[open] summary::after { transform: translateY(-25%) rotate(225deg); }
.bc-faq-list details p { margin: -2px 0 0; padding: 0 58px 22px 22px; color: var(--text-muted); font-size: .92rem; line-height: 1.68; }

.bc-related-section .bc-empty-state { margin-top: 20px; }

.bc-blog-index .bc-section-heading { margin-bottom: 32px; }
.bc-blog-card__date,
.bc-post-meta { color: #ff7a85; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bc-post-shell { max-width: 980px; }
.bc-post-meta { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.bc-post-meta time { color: var(--text-muted); }
.bc-post-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/8;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #0d0d0d;
}
.bc-post-media > .bc-image-placeholder { position: absolute; inset: 0; }
.bc-post-media__image { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.bc-post-content { max-width: none; margin-top: 24px; }

/* Images sit above the introductory text and related card titles. */
.bc-category-page > .vc-container,
.bc-generated-page > .vc-container { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; }
.bc-category-page > .vc-container > *,
.bc-generated-page > .vc-container > * { min-width: 0; }
.bc-sheet-content > .vc-container > .bc-entity-media ~ .bc-sheet-block,
.bc-sheet-content > .vc-container > .bc-entity-media ~ .bc-related-section { margin-top: 0; }
.bc-entity-media { width: 100%; max-width: 840px; justify-self: center; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 22px; background: #111; box-shadow: 0 12px 32px rgba(0,0,0,.18); }
.bc-entity-image { display: block; width: 100%; height: clamp(240px,32vw,360px); object-fit: cover; }
.bc-related-card__image { display: block; width: 100%; height: 220px; margin-bottom: 20px; object-fit: cover; border: 1px solid var(--line); border-radius: 14px; }
.bc-mini-card:has(.bc-related-card__image) a { height: 100%; padding: 18px 18px 42px; }
.bc-mini-card .bc-related-card__image { height: 200px; }
.bc-mini-card:has(.bc-related-card__image) h3 { max-width: none; margin-top: 9px; font-size: 1.08rem; overflow-wrap: anywhere; }
.bc-mini-card a:focus-visible,
.bc-feature-card > a:focus-visible,
.bc-grid-card__link:focus-visible { outline: 2px solid #ff7c87; outline-offset: -3px; }
