.bema-article {
  --bema-blue: #005ca9;
  --bema-blue-dark: #004b8a;
  --bema-ink: #292d32;
  --bema-muted: #f5f5f5;
  --bema-line: #d7dce1;
  color: var(--bema-ink);
  font-size: 15px;
  line-height: 1.62;
  max-width: 1180px !important;
}

.bema-article a { color: var(--bema-blue); }

.bema-article__hero,
.bema-article__section {
  gap: clamp(2.25rem, 5vw, 5rem);
  margin: 0;
  padding: clamp(3.25rem, 6vw, 6.5rem) clamp(1.25rem, 3vw, 3rem);
}

.bema-article__hero,
.bema-article__section--muted { background: var(--bema-muted); }

.bema-article__eyebrow {
  color: var(--bema-blue);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: .55rem;
  text-transform: uppercase;
}

.bema-article__title {
  color: var(--bema-blue);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  line-height: 1.16;
  margin: 0 0 1.3rem;
}

.bema-article__intro { font-size: 1rem; line-height: 1.7; }

.bema-toc {
  border: 0;
  margin-top: 1.5rem;
  padding: 0;
  background: transparent;
}

.bema-toc h2 {
  color: var(--bema-blue);
  font-size: .92rem !important;
  margin: 0 0 .4rem;
}

.bema-toc ul {
  display: grid;
  gap: .2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bema-toc li::before { color: var(--bema-blue); content: "› "; font-weight: 700; }
.bema-toc a { font-size: .88rem; text-decoration: none; }
.bema-toc a:hover { text-decoration: underline; }

.bema-article__hero-image,
.bema-article__section-image { margin: 0; }

.bema-article__hero-image img,
.bema-article__section-image img {
  aspect-ratio: 16 / 10;
  border-radius: 0;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.bema-article .wp-element-caption {
  color: #8a8e92;
  font-size: .72rem;
  margin-top: .3rem;
  text-align: center;
}

.bema-article__section-copy { max-width: 35rem; }
.bema-article__section-copy h2 {
  color: var(--bema-ink);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.25;
  margin: 0 0 1.1rem;
}

.bema-article__section-copy p { margin: 0 0 1rem; }
.bema-article__section-copy ul { padding-left: 1.15rem; }

.bema-cta {
  margin: -2.4rem 0 0;
  padding: 0 clamp(1.25rem, 3vw, 3rem) clamp(3.25rem, 6vw, 6.5rem);
}

.bema-cta h3 { font-size: 1rem; margin: 0 0 .25rem; }
.bema-cta p { font-size: .9rem; margin: 0 0 .9rem; }
.bema-cta .wp-block-buttons { gap: 1rem; }
.bema-cta__button .wp-block-button__link {
  background: var(--bema-blue);
  border-radius: 0;
  color: #fff;
  font-size: .78rem;
  padding: .72rem 1.35rem;
}
.bema-cta__button .wp-block-button__link:hover { background: var(--bema-blue-dark); }

.bema-faq {
  margin: 0 auto;
  max-width: 760px !important;
  padding: clamp(4rem, 7vw, 7rem) 1.25rem;
}

.bema-faq > h2 { font-size: 1.3rem; line-height: 1.25; margin-bottom: 1.75rem; }
.bema-faq__item { border-bottom: 1px solid var(--bema-line); padding: 1rem .35rem; }
.bema-faq__item summary { cursor: pointer; font-size: .9rem; font-weight: 500; }
.bema-faq__item summary::marker { color: var(--bema-blue); }

@media (max-width: 781px) {
  .bema-article__hero,
  .bema-article__section { gap: 2rem; padding-block: 3rem; }

  .bema-article__section--reverse .wp-block-column:first-child { order: 2; }
  .bema-article__section--reverse .wp-block-column:last-child { order: 1; }
  .bema-cta { margin-top: -1.5rem; }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
