.bmsf-grey-background {
  background-color: #f6f6f6;
}

.bmsf-blue-tweak-font {
  color: rgb(28, 65, 149);
}

.bmsf-bold-tweak-background {
  background-color: rgb(174, 135, 66);
}

.video-heading {
  background: #ae8742 none repeat scroll 0 0;
  color: #ffffff;
  margin: 0px auto 0;
  margin-bottom: 20px;
  padding: 6px;
  text-align: center;
  /* width: 50%; */
  font-family:
    ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 500;
  font-size: 48px;
}

.bmsf-gold-tweak-font {
  color: rgb(210, 172, 103); /*  */
}

.bmsf-gold-tweak-background {
  background-color: rgb(210, 172, 103);
}

.bmsf-learn-more-button {
  background-color: rgba(174, 134, 66, 0.6);
  border: 2px solid #fff;
  border-radius: 8px;
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .bmsf-learn-more-button {
    border-width: 3px;
    border-radius: 11px;
    font-size: 18px;
    padding: 0.75rem 1.5rem;
    margin-top: 1.5rem;
  }
}

.bmsf-learn-more-button:hover {
  background-color: rgba(164, 124, 56, 0.6);
}

/* Hero overlay body copy: smaller on mobile, original 26px from md up */
.bmsf-hero-copy {
  font-size: 1rem;
  line-height: 1.375;
}

@media (min-width: 768px) {
  .bmsf-hero-copy {
    font-size: 26px;
    line-height: 31px;
  }
}

/* Hero overlay title: smaller on mobile, original 30px from md up */
.bmsf-hero-title {
  font-size: 1.25rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .bmsf-hero-title {
    font-size: 30px;
    line-height: 36px;
  }
}

.bmsf-legal-content ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  line-height: 1.4;
}

.bmsf-legal-content ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
  line-height: 1.4;
}

.bmsf-legal-content li {
  margin-bottom: 0.25rem;
}

.bmsf-legal-content p {
  margin-bottom: 1rem;
}

.bmsf-privacy-date {
  font-size: 16pt;
}

.bmsf-legal-heading {
  font-size: 18pt;
}

.bmsf-legal-subheading {
  font-size: 16pt;
}

.bmsf-text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.bmsf-page-cusheading {
  background-color: #f2f2f2;
}

.bmsf-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 768px) {
  .bmsf-contact-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.bmsf-contact-copy h3 {
  font-size: 13pt;
  font-weight: normal;
}

.bmsf-contact-help-link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.bmsf-contact-help-link:hover {
  text-decoration: underline;
}

.bmsf-contact-form input[type="submit"] {
  border: none;
  cursor: pointer;
}

.bmsf-contact-dialog {
  max-width: 42rem;
}

.bmsf-contact-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.bmsf-contact-dialog-close {
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}

#emailSuccessMessage,
#emailErrorMessage {
  font-weight: 700;
  text-align: center;
  font-size: 16px;
  padding: 12px;
  margin: 0 0 20px;
}

#emailSuccessMessage {
  background-color: #006600;
  color: #ffffff;
}

#emailErrorMessage {
  background-color: #990000;
  color: #ffffff;
}

#emailSuccessMessage p,
#emailErrorMessage p {
  margin: 0;
}

.bmsf-partner-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (min-width: 768px) {
  .bmsf-partner-grid {
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
  }
}

.bmsf-features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}

.bmsf-features-grid--title-first {
  row-gap: 1rem; /* half of default 2rem under the title */
}

@media (min-width: 768px) {
  .bmsf-features-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  /* H2 full-width, then image + copy side by side */
  .bmsf-features-grid--title-first > :first-child {
    grid-column: 1 / -1;
  }

  .bmsf-features-grid--title-first {
    row-gap: 1.25rem; /* half of default 2.5rem under the title */
    column-gap: 2.5rem;
  }
}

.bmsf-features-grid > img,
.bmsf-features-grid > * > img {
  display: block;
  width: 100%;
  height: auto;
}

.bmsf-feature-copy .bmsf-feature-point {
  margin: 0 0 0 0rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #1f2937;
}

.bmsf-feature-copy p {
  margin: 0 0 1.25rem;
}

.bmsf-partner-benefits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .bmsf-partner-benefits {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

.bmsf-partner-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bmsf-partner-checklist li {
  position: relative;
  padding-left: 2.75rem;
  margin-bottom: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  text-align: left;
}

.bmsf-partner-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 9999px;
  background-color: #1c4195;
  color: #caa348;
  font-size: 0.85rem;
  font-weight: 700;
}

.bmsf-partner-form-panel {
  background: #f6f6f6;
  border: 1px solid #c4c3c3;
  border-radius: 5px;
  padding: 20px;
  max-width: 360px;
  color: #1f61a9;
  text-align: left;
  box-sizing: border-box;
}

.bmsf-partner-form-title {
  font-size: 22px;
  line-height: 22px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #1f61a9;
}

.bmsf-partner-form-intro {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 700;
  color: #1f61a9;
}

.bmsf-partner-form-label {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #1f61a9;
}

.bmsf-partner-form-input {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 6px;
  border: 1px solid #979797;
  border-radius: 4px;
  background: #fff;
  color: #000;
  font-size: 14px;
  box-sizing: border-box;
}

.bmsf-partner-form-submit {
  display: inline-block;
  margin-top: 8px;
  padding: 10px;
  background: #caa348;
  border: 1px solid #fff;
  border-radius: 5px;
  color: #1c4195;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

.bmsf-tour-cta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  justify-items: center;
}

@media (min-width: 768px) {
  .bmsf-tour-cta-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.bmsf-how-roles {
  list-style: disc;
  padding-left: 1.5rem;
}

.bmsf-how-roles li {
  margin-bottom: 0.75rem;
}

/* Match legacy FAQ: beige panel, gray item cards, left gold +/- */
.bmsf-faq-accordion {
  background-color: #e5dccb;
}

.bmsf-faq-item {
  background-color: #f4f4f4;
  padding: 10px 10px 10px 36px;
  transition: background-color 0.3s ease;
}

.bmsf-faq-item[open] {
  background-color: #ffffff;
}

.bmsf-faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  font-size: 20px;
  line-height: 22px;
}

.bmsf-faq-item summary::-webkit-details-marker {
  display: none;
}

.bmsf-faq-item summary::before {
  content: "+";
  position: absolute;
  left: -27px;
  top: -1px;
  color: #d3bc9d;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
}

.bmsf-faq-item[open] summary::before {
  content: "−";
}

.bmsf-faq-content {
  margin-top: 0.75rem;
  padding: 0.5rem 0 0.25rem;
  font-size: 17px;
}

.bmsf-faq-content p,
.bmsf-faq-content ul {
  margin-bottom: 0.75rem;
}

.bmsf-faq-content ul {
  list-style: disc;
  padding-left: 1.5rem;
}

.bmsf-faq-secure {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: start;
}

@media (min-width: 640px) {
  .bmsf-faq-secure {
    grid-template-columns: 2fr 1fr;
  }
}

.bmsf-how-form {
  max-width: 40rem;
}

.bmsf-how-form input[type="submit"] {
  border: none;
  cursor: pointer;
}

.bmsf-rule {
  border: 0;
  border-top: 1px solid #e0dede;
  margin: 2rem 0;
}

.bmsf-carousel {
  position: relative;
}

.bmsf-carousel-viewport {
  position: relative;
  overflow: hidden;
  background: #f2f2f2;
}

.bmsf-carousel-slide {
  display: none;
  width: 100%;
}

.bmsf-carousel-slide.is-active {
  display: block;
}

.bmsf-carousel-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.bmsf-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 9999px;
  background: rgba(28, 65, 149, 0.75);
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.bmsf-carousel-btn:hover {
  background: rgba(28, 65, 149, 0.95);
}

.bmsf-carousel-prev {
  left: 0.5rem;
}

.bmsf-carousel-next {
  right: 0.5rem;
}

.bmsf-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.bmsf-carousel-dot {
  width: 0.65rem;
  height: 0.65rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background: #c4c3c3;
  cursor: pointer;
}

.bmsf-carousel-dot.is-active {
  background: #1c4195;
}

.bmsf-solutions-compare-btn {
  display: block;
  margin: 0 auto;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.bmsf-solutions-compare-btn img {
  display: block;
  max-width: 100%;
  height: auto;
}

.bmsf-solutions-dialog {
  max-width: min(56rem, 95vw);
  padding: 1rem;
  border: none;
}

.bmsf-solutions-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.bmsf-solutions-dialog img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Squeeze / lead-gen landing (case study) — not marketing chrome */
.bmsf-landing-shell {
  margin: 0 auto;
  max-width: 800px;
}

.bmsf-landing-logo-bar {
  background-color: #e8e8e8;
  padding: 2rem 1rem 1.25rem;
  text-align: center;
}

.bmsf-landing-logo-bar img {
  display: inline-block;
  max-width: 240px;
  height: auto;
}

.bmsf-landing-hero {
  background-color: #1c4195;
}

.bmsf-landing-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}

@media (min-width: 768px) {
  .bmsf-landing-hero-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.bmsf-landing-copy {
  padding: 2.25rem 1.5rem 2rem 2.5rem;
  text-align: center;
}

.bmsf-landing-kicker {
  margin: 0 0 0.5rem;
  font-size: 18pt;
  font-weight: 700;
  color: #849fc3;
}

.bmsf-landing-subkicker {
  margin: 0 0 1.75rem;
  font-size: 16pt;
  font-weight: 700;
  color: #849fc3;
}

.bmsf-landing-quote {
  margin: 0;
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1.45;
  font-style: italic;
  font-weight: 400;
}

.bmsf-landing-rule {
  border: 0;
  border-top: 1px solid #e0dede;
  margin: 2.5rem auto;
  max-width: 100%;
}

.bmsf-landing-gold {
  margin: 0 0 1rem;
  color: #caa348;
  font-size: 1.15rem;
  line-height: 1.5;
  font-weight: 500;
}

.bmsf-landing-body {
  margin: 0;
  color: #ffffff;
  font-size: 1.15rem;
  line-height: 1.5;
  font-weight: 500;
}

.bmsf-landing-panel {
  background-color: #849fc3;
  padding: 2.25rem 3rem 4rem;
  text-align: center;
}

.bmsf-landing-cover {
  display: block;
  margin: 0 auto 1.5rem;
  max-width: 300px;
  width: 100%;
  height: auto;
}

.bmsf-landing-download {
  display: inline-block;
  padding: 0.85rem 1.5rem;
  background-color: #caa348;
  border: 1px solid #caa348;
  border-radius: 4px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.bmsf-landing-download:hover {
  background-color: #b8933f;
  border-color: #b8933f;
  color: #ffffff;
}

/* Quote cards: speech-bubble caret (TSS layout1) */
@media (min-width: 640px) {
  .bmsf-quote-bubble::after {
    content: "";
    position: absolute;
    left: -15px;
    top: 15px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-right: 15px solid #f8f8f8;
    border-bottom: 10px solid transparent;
    transition: top 0.75s ease-out;
  }

  .bmsf-quote-card:hover .bmsf-quote-bubble::after {
    top: 40px;
  }
}

.bmsf-features-grid .bmsf-quote-card img {
  width: 76px;
  height: 76px;
  object-fit: cover;
}

/* ActiveCampaign quote form: undo Tailwind transparent inputs */
._form_3 input[type="text"],
._form_3 input[type="tel"],
._form_3 input[type="date"],
._form_3 input[type="email"],
._form_3 select,
._form_3 textarea {
  background-color: #ffffff !important;
  border: 1px solid #979797;
  border-radius: 4px;
  color: #000000;
  padding: 8px;
}
