/* Bond Street Mortgage ,  loan program pages: Purchase / Refinance / Schedule appointment links
   that replace the embedded mortgage-tool iframe. Matches the homepage hero entry cards
   (assets/home-hero). Scoped to .bsm-program-tool-links. */
.bsm-program-tool-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 720px);
  margin: 0 auto;
}
.bsm-program-tool-links *, .bsm-program-tool-links *::before, .bsm-program-tool-links *::after { box-sizing: border-box; }
.bsm-program-tool-links__card {
  display: flex;
  min-height: 112px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #00634a;
  border-radius: 5px;
  background: transparent;
  box-shadow: 0 3px 12px rgba(0, 99, 74, .08);
  color: #102d24;
  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-program-tool-links__card:hover,
.bsm-program-tool-links__card:focus-visible {
  border-color: #004d39;
  background: rgba(0, 99, 74, .04);
  box-shadow: 0 7px 17px rgba(0, 99, 74, .15);
  color: #102d24;
  transform: translateY(-1px);
}
.bsm-program-tool-links__card:active { transform: scale(.97); }
.bsm-program-tool-links__card:focus-visible { outline: 3px solid rgba(0, 99, 74, .3); outline-offset: 3px; }
.bsm-program-tool-links__icon { display: block; width: 56px; height: 56px; object-fit: contain; }
/* font-family is set here because these pages have an inline `* { font-family: Montserrat }`. */
.bsm-program-tool-links__label { color: #102d24; font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 800; line-height: 1.1; }
/* Inside a page banner, under the intro paragraph (first-time-home-buyer.html): align with the text. */
.bsm-program-tool-links--banner { position: relative; z-index: 1; margin: 32px 0 0; }
/* Homepage hero (index.html): sized like the vendor's hero cards, which were drawn inside the mortgage tool
   at 82% scale (about a 894px row of 92px-tall cards). Phones use the shared mobile sizes below, as the vendor did. */
.bsm-program-tool-links--hero { width: min(100%, 894px); margin: 16px auto 0; }
/* Hidden while the inline Schedule appointment form is open (inline script in index.html). */
.bsm-program-tool-links--hero[hidden] { display: none; }
@media (min-width: 621px) {
  .bsm-program-tool-links--hero { gap: 16px; }
  .bsm-program-tool-links--hero .bsm-program-tool-links__card { min-height: 92px; gap: 5px; padding: 7px 8px; }
  .bsm-program-tool-links--hero .bsm-program-tool-links__icon { width: 46px; height: 46px; }
  .bsm-program-tool-links--hero .bsm-program-tool-links__label { font-size: 11px; }
}
@media (max-width: 620px) { .bsm-program-tool-links--hero { margin-top: 34px; } }
@media (max-width: 620px) {
  .bsm-program-tool-links { gap: 8px; }
  .bsm-program-tool-links__card { min-height: 92px; gap: 4px; padding: 7px 4px; }
  .bsm-program-tool-links__icon { width: 40px; height: 40px; }
  .bsm-program-tool-links__label { max-width: 100%; font-size: 10px; line-height: 1.15; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { .bsm-program-tool-links__card { transition: none; } }
