/* Bond Street Mortgage ,  next-step action section. Scoped to .bsm-next-step. */
.bsm-next-step {
  --bsm-next-green: #00634a;
  --bsm-next-deep: #003f30;
  --bsm-next-ink: #102d24;
  --bsm-next-line: #d5e4dd;
  box-sizing: border-box;
  padding: clamp(62px, 7.2vw, 108px) 24px;
  background: #f7faf8;
  color: var(--bsm-next-ink);
  font-family: Inter, Arial, sans-serif;
  text-align: center;
}
.bsm-next-step *, .bsm-next-step *::before, .bsm-next-step *::after { box-sizing: border-box; }
.bsm-next-step__inner { width: min(100%, 900px); margin: 0 auto; }
.bsm-next-step__heading { margin: 0 auto 29px; }
.bsm-next-step__eyebrow { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0 0 13px; color: var(--bsm-next-green); font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.bsm-next-step__eyebrow::before, .bsm-next-step__eyebrow::after { width: 32px; height: 2px; content: ''; background: currentColor; }
.bsm-next-step h2 { margin: 0; color: var(--bsm-next-deep); font-size: clamp(38px, 4.1vw, 58px); font-weight: 800; letter-spacing: -.055em; line-height: 1.01; }
.bsm-next-step__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(100%, 720px); margin: 0 auto; }
.bsm-next-step__action { display: flex; min-height: 112px; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--bsm-next-green); border-radius: 5px; background: rgba(255,255,255,.38); color: var(--bsm-next-ink); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; line-height: 1.15; text-align: center; text-decoration: none; transition: background-color 160ms cubic-bezier(.23,1,.32,1), border-color 160ms cubic-bezier(.23,1,.32,1), box-shadow 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-next-step__action:hover, .bsm-next-step__action:focus-visible { border-color: #004d39; background: rgba(255,255,255,.76); box-shadow: 0 7px 17px rgba(0,99,74,.15); transform: translateY(-1px); }
.bsm-next-step__action:active { transform: scale(.97); }
.bsm-next-step__action:focus-visible { outline: 3px solid rgba(0,99,74,.28); outline-offset: 3px; }
.bsm-next-step__action img { display: block; width: 56px; height: 56px; flex: 0 0 auto; object-fit: contain; }
.bsm-next-step__action span { max-width: 112px; }
.bsm-next-step__status { min-height: 19px; margin: 13px 0 0; color: #527268; font-size: 12px; font-weight: 600; line-height: 1.35; }
@media (max-width: 620px) { .bsm-next-step { padding: 56px 16px; } .bsm-next-step__heading { margin-bottom: 25px; } .bsm-next-step h2 { font-size: clamp(33px, 10.2vw, 43px); } .bsm-next-step__actions { gap: 8px; } .bsm-next-step__action { min-height: 92px; flex-direction: column; gap: 4px; padding: 7px 4px; font-size: 10px; } .bsm-next-step__action img { width: 40px; height: 40px; } .bsm-next-step__action span { max-width: 100%; overflow-wrap: anywhere; } }
@media (prefers-reduced-motion: reduce) { .bsm-next-step__action { transition: none; } }

/* Delivery cleanup: remove decorative bars that appear beside eyebrow or kicker text. */
[class*="eyebrow"]::after, [class*="eyebrow"]:after, [class*="kicker"]::after, [class*="kicker"]:after { content: none !important; display: none !important; }

/* Site fixes for index.html: global rules that otherwise override this section. */
/* style_banner.css positions every <header> absolutely; keep the heading in normal flow. */
.bsm-next-step__heading { position: static; width: auto; z-index: auto; }
/* The homepage's inline `button { margin-right: 5px }` (Schedule appointment is a <button>). */
.bsm-next-step button { margin: 0; }
/* The delivery cleanup above removes only the right-hand eyebrow bar; drop the left one too so the label stays symmetric. */
.bsm-next-step__eyebrow::before { content: none; display: none; }
