/* Bond Street Mortgage ,  filtered program explorer. Scoped to .bsm-program-explorer. */
.bsm-program-explorer {
  --bsm-program-green: #00634a;
  --bsm-program-green-dark: #003f30;
  --bsm-program-ink: #102d24;
  --bsm-program-muted: #61766f;
  --bsm-program-line: #dbe7e2;
  --bsm-program-soft: #eef7f3;
  --bsm-program-paper: #ffffff;
  box-sizing: border-box;
  padding: clamp(56px, 7vw, 100px) 24px;
  background: #f6f9f8;
  color: var(--bsm-program-ink);
  font-family: Inter, Arial, sans-serif;
}
.bsm-program-explorer *, .bsm-program-explorer *::before, .bsm-program-explorer *::after { box-sizing: border-box; }
.bsm-program-explorer__inner { width: min(100%, 1320px); margin: 0 auto; }
.bsm-program-explorer__intro { max-width: 720px; }
.bsm-program-explorer__eyebrow { margin: 0 0 10px; color: var(--bsm-program-green); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bsm-program-explorer h2 { max-width: 640px; margin: 0; font-size: clamp(32px, 3.15vw, 52px); font-weight: 800; letter-spacing: -.045em; line-height: 1.03; }
.bsm-program-explorer__intro > p:last-child { max-width: 640px; margin: 14px 0 0; color: var(--bsm-program-muted); font-size: 16px; line-height: 1.55; }
.bsm-program-explorer__filters { display: flex; gap: 9px; margin-top: 38px; padding: 4px; overflow-x: auto; border: 1px solid var(--bsm-program-line); border-radius: 999px; background: rgba(255,255,255,.8); box-shadow: 0 6px 24px rgba(16,45,36,.05); scrollbar-width: thin; }
.bsm-program-explorer__filter { flex: 0 0 auto; min-height: 40px; padding: 9px 15px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--bsm-program-ink); font: inherit; font-size: 13px; font-weight: 750; line-height: 1.15; cursor: pointer; transition: background-color 160ms cubic-bezier(.23,1,.32,1), color 160ms cubic-bezier(.23,1,.32,1), border-color 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-program-explorer__filter:hover { border-color: rgba(0,99,74,.22); background: var(--bsm-program-soft); }
.bsm-program-explorer__filter:active { transform: scale(.98); }
.bsm-program-explorer__filter[aria-selected="true"] { border-color: var(--bsm-program-green); background: var(--bsm-program-green); color: #fff; box-shadow: 0 4px 12px rgba(0,99,74,.2); }
.bsm-program-explorer__filter:focus-visible, .bsm-program-explorer__card-link:focus-visible { outline: 3px solid rgba(0,99,74,.32); outline-offset: 3px; }
.bsm-program-explorer__result-summary { min-height: 22px; margin: 22px 0 15px; color: var(--bsm-program-muted); font-size: 14px; font-weight: 600; }
.bsm-program-explorer__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bsm-program-explorer__card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--bsm-program-line); border-radius: 16px; background: var(--bsm-program-paper); box-shadow: 0 10px 28px rgba(16,45,36,.045); }
.bsm-program-explorer__card-band { position: relative; display: flex; min-height: 128px; align-items: flex-start; justify-content: space-between; padding: 14px 17px; overflow: hidden; isolation: isolate; background-color: #d8eee5; background-image: linear-gradient(112deg, rgba(223,246,236,.91) 0%, rgba(232,248,240,.79) 55%, rgba(219,242,232,.72) 100%), url('./assets/bond-street-card-banner-home-crop.webp'); background-position: 0 0, 96% 12%; background-repeat: no-repeat; background-size: cover, cover; }
.bsm-program-explorer__card[data-tone="gold"] .bsm-program-explorer__card-band { background-color: #f7edca; background-image: linear-gradient(112deg, rgba(255,247,221,.93) 0%, rgba(255,248,228,.80) 55%, rgba(244,233,193,.73) 100%), url('./assets/bond-street-card-banner-home-crop.webp'); background-position: 0 0, 100% 30%; }
.bsm-program-explorer__card[data-tone="blue"] .bsm-program-explorer__card-band { background-color: #d9edf3; background-image: linear-gradient(112deg, rgba(224,243,247,.92) 0%, rgba(235,248,249,.79) 55%, rgba(211,235,238,.73) 100%), url('./assets/bond-street-card-banner-home-crop.webp'); background-position: 0 0, 84% 6%; }
.bsm-program-explorer__card[data-tone="ink"] .bsm-program-explorer__card-band { background-color: #073f32; background-image: linear-gradient(112deg, rgba(3,64,49,.93) 0%, rgba(0,86,65,.84) 55%, rgba(13,92,69,.74) 100%), url('./assets/bond-street-card-banner-home-crop.webp'); background-position: 0 0, 100% 15%; }
.bsm-program-explorer__card-band::after { position: absolute; z-index: -1; right: -15px; bottom: -48px; width: 140px; height: 140px; border: 3px solid rgba(255,255,255,.28); border-radius: 28px; content: ""; transform: rotate(30deg); }
.bsm-program-explorer__card[data-tone="ink"] .bsm-program-explorer__card-band::after { border-color: rgba(207,244,229,.18); }
.bsm-program-explorer__card-icon { position: relative; z-index: 1; display: grid; width: 88px; height: 88px; place-items: center; filter: drop-shadow(0 8px 10px rgba(16,45,36,.15)); }
.bsm-program-explorer__card-icon img { display: block; width: 82px; height: 82px; object-fit: contain; }
.bsm-program-explorer__card-tag { position: relative; z-index: 1; margin: 5px 0 0 8px; padding: 7px 9px; border: 1px solid rgba(0,99,74,.12); border-radius: 999px; background: rgba(255,255,255,.82); color: var(--bsm-program-green-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; backdrop-filter: blur(5px); }
.bsm-program-explorer__card[data-tone="ink"] .bsm-program-explorer__card-tag { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.9); }
.bsm-program-explorer__card-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 22px 22px 20px; }
.bsm-program-explorer__card h3 { margin: 0; font-size: 25px; font-weight: 800; letter-spacing: -.035em; line-height: 1.08; }
.bsm-program-explorer__card-description { display: -webkit-box; min-height: 72px; margin: 10px 0 18px; overflow: hidden; color: var(--bsm-program-muted); font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bsm-program-explorer__card-meta { margin: auto 0 18px; padding: 12px 0; border-top: 1px solid var(--bsm-program-line); border-bottom: 1px solid var(--bsm-program-line); color: var(--bsm-program-muted); font-size: 12px; line-height: 1.35; }
.bsm-program-explorer__card-meta strong { display: block; margin-top: 2px; color: var(--bsm-program-ink); font-size: 13px; }
.bsm-program-explorer__card-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid var(--bsm-program-green); border-radius: 7px; background: var(--bsm-program-green); color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; transition: background-color 160ms cubic-bezier(.23,1,.32,1), border-color 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-program-explorer__card-link:hover { border-color: var(--bsm-program-green-dark); background: var(--bsm-program-green-dark); transform: translateY(-1px); }
.bsm-program-explorer__card-link:active { transform: scale(.98); }
.bsm-program-explorer__card-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.bsm-program-explorer__disclaimer { margin: 24px 0 0; color: var(--bsm-program-muted); font-size: 12px; line-height: 1.45; }
@media (max-width: 980px) { .bsm-program-explorer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .bsm-program-explorer { padding: 52px 16px; } .bsm-program-explorer__intro { text-align: center; } .bsm-program-explorer h2 { font-size: 34px; } .bsm-program-explorer__intro > p:last-child { font-size: 15px; } .bsm-program-explorer__filters { margin-top: 28px; border-radius: 15px; } .bsm-program-explorer__filter { min-height: 38px; padding-inline: 13px; font-size: 12px; } .bsm-program-explorer__result-summary { text-align: center; } .bsm-program-explorer__grid { grid-template-columns: 1fr; gap: 14px; } .bsm-program-explorer__card-band { min-height: 118px; background-position: 0 0, 95% 10%; } .bsm-program-explorer__card-icon { width: 78px; height: 78px; } .bsm-program-explorer__card-icon img { width: 74px; height: 74px; } .bsm-program-explorer__card-body { padding: 20px; } .bsm-program-explorer__card h3 { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .bsm-program-explorer__filter, .bsm-program-explorer__card-link { 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 intro in normal flow. */
.bsm-program-explorer__intro { position: static; width: auto; z-index: auto; }
/* The homepage's inline `button { margin-right: 5px }`. */
.bsm-program-explorer button { margin: 0; }
