/* Bond Street Mortgage: scoped FAQ filters, accordion, and related resource carousel. */
.bsm-faq-resources { --bsm-faq-green:#00634a; --bsm-faq-deep:#063c2f; --bsm-faq-ink:#132f26; --bsm-faq-muted:#587068; --bsm-faq-mist:#eef7f2; --bsm-faq-paper:#fbfcfa; --bsm-faq-line:#d9e8e1; --bsm-faq-gold:#c4a45b; background:var(--bsm-faq-paper); color:var(--bsm-faq-ink); font-family:Inter,Arial,sans-serif; overflow:hidden; }
.bsm-faq-resources * { box-sizing:border-box; }
.bsm-faq-resources__inner { width:min(100%,1240px); margin:0 auto; padding:clamp(68px,9vw,126px) 24px; }
.bsm-faq-resources__heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.52fr); gap:32px; align-items:end; }
.bsm-faq-resources__eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0; color:var(--bsm-faq-green); font-size:11px; font-weight:800; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; }
.bsm-faq-resources__eyebrow::after { width:34px; height:2px; content:''; background:currentColor; }
.bsm-faq-resources h2,.bsm-faq-resources h3 { margin:15px 0 0; color:var(--bsm-faq-deep); font-weight:800; letter-spacing:-.06em; line-height:.98; }
.bsm-faq-resources h2 { max-width:760px; font-size:clamp(38px,5.6vw,68px); }
.bsm-faq-resources h3 { font-size:clamp(29px,3.4vw,43px); }
.bsm-faq-resources__heading > p { max-width:415px; margin:0 0 2px; color:var(--bsm-faq-muted); font-size:15px; font-weight:500; line-height:1.64; }
.bsm-faq-resources__filters { display:flex; flex-wrap:wrap; gap:9px; margin-top:47px; padding:13px; border:1px solid var(--bsm-faq-line); border-radius:12px; background:#fff; box-shadow:0 12px 25px rgba(7,61,45,.04); }
.bsm-faq-resources__filter { min-height:39px; padding:9px 14px; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--bsm-faq-muted); cursor:pointer; font:800 12px/1 Inter,Arial,sans-serif; letter-spacing:.01em; text-align:left; 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-faq-resources__filter:hover { border-color:#b7d5c7; background:var(--bsm-faq-mist); color:var(--bsm-faq-green); }
.bsm-faq-resources__filter[aria-selected="true"] { border-color:var(--bsm-faq-green); background:var(--bsm-faq-green); color:#fff; box-shadow:0 6px 14px rgba(0,99,74,.16); }
.bsm-faq-resources__filter:active { transform:scale(.97); }
.bsm-faq-resources__content { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:clamp(34px,6vw,76px); margin-top:38px; align-items:start; }
.bsm-faq-accordion { display:grid; gap:11px; }
.bsm-faq-accordion__item { overflow:hidden; border:1px solid var(--bsm-faq-line); border-radius:8px; background:#fff; box-shadow:0 7px 18px rgba(4,58,42,.035); transition:border-color 180ms cubic-bezier(.23,1,.32,1),box-shadow 180ms cubic-bezier(.23,1,.32,1); }
.bsm-faq-accordion__item:has(.bsm-faq-accordion__trigger[aria-expanded="true"]) { border-color:#a7cdbb; box-shadow:0 12px 24px rgba(0,99,74,.08); }
.bsm-faq-accordion__trigger { display:flex; width:100%; min-height:64px; align-items:center; justify-content:space-between; gap:18px; padding:17px 19px; border:0; background:#fff; color:var(--bsm-faq-ink); cursor:pointer; font:800 15px/1.32 Inter,Arial,sans-serif; text-align:left; transition:background-color 180ms cubic-bezier(.23,1,.32,1),color 180ms cubic-bezier(.23,1,.32,1); }
.bsm-faq-accordion__trigger:hover,.bsm-faq-accordion__trigger[aria-expanded="true"] { background:var(--bsm-faq-mist); color:var(--bsm-faq-green); }
.bsm-faq-accordion__topic { display:block; margin-top:5px; color:#758c83; font-size:9px; font-weight:800; letter-spacing:.075em; line-height:1; text-transform:uppercase; }
.bsm-faq-accordion__symbol { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:18px; font-weight:400; line-height:1; }
.bsm-faq-accordion__panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows 220ms cubic-bezier(.23,1,.32,1); }
.bsm-faq-accordion__panel[aria-hidden="false"] { grid-template-rows:1fr; }
.bsm-faq-accordion__panel-inner { min-height:0; overflow:hidden; }
.bsm-faq-accordion__answer { padding:2px 20px 21px; color:var(--bsm-faq-muted); font-size:14px; font-weight:500; line-height:1.66; }
.bsm-faq-accordion__answer > :first-child { margin-top:11px; }
.bsm-faq-accordion__answer p,.bsm-faq-accordion__answer ul,.bsm-faq-accordion__answer ol { margin:13px 0; }
.bsm-faq-accordion__answer ul,.bsm-faq-accordion__answer ol { padding-left:21px; }
.bsm-faq-accordion__answer li { margin:7px 0; }
.bsm-related-resources { position:sticky; top:24px; padding:25px; border:1px solid #cce2d7; border-radius:13px; background:linear-gradient(145deg,#f1faf5 0%,#fff 60%); box-shadow:0 14px 30px rgba(0,99,74,.06); }
.bsm-related-resources__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.bsm-related-resources__all-link { display:inline-flex; align-items:center; gap:5px; padding-bottom:3px; color:var(--bsm-faq-green); font-size:11px; font-weight:800; letter-spacing:.03em; line-height:1.1; text-decoration:none; white-space:nowrap; }
.bsm-related-resources__all-link span { font-size:15px; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-related-resources__all-link:hover span { transform:translateX(3px); }
.bsm-related-resources__intro { min-height:47px; margin:18px 0 17px; color:var(--bsm-faq-muted); font-size:13px; font-weight:500; line-height:1.55; }
.bsm-related-resources__carousel { display:grid; grid-template-columns:32px minmax(0,1fr) 32px; gap:7px; align-items:center; }
.bsm-related-resources__control { display:grid; width:32px; height:32px; padding:0; place-items:center; border:1px solid #b8d8c7; border-radius:50%; background:#fff; color:var(--bsm-faq-green); cursor:pointer; font-size:16px; line-height:1; transition:color 160ms cubic-bezier(.23,1,.32,1),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-related-resources__control:hover { border-color:var(--bsm-faq-green); background:var(--bsm-faq-green); color:#fff; transform:translateY(-1px); }
.bsm-related-resources__control:active { transform:scale(.97); }
.bsm-related-resources__rail { display:flex; gap:11px; overflow-x:auto; padding:3px 1px 8px; scrollbar-width:none; scroll-behavior:smooth; scroll-snap-type:x mandatory; }
.bsm-related-resources__rail::-webkit-scrollbar { display:none; }
.bsm-related-resources__card { display:flex; min-width:100%; min-height:207px; flex-direction:column; scroll-snap-align:start; overflow:hidden; border:1px solid var(--bsm-faq-line); border-radius:8px; background:#fff; box-shadow:0 5px 12px rgba(0,60,43,.035); }
.bsm-related-resources__card-top { min-height:56px; padding:14px 16px 11px; border-bottom:1px solid rgba(0,99,74,.09); background:radial-gradient(circle at 95% 0%,rgba(196,164,91,.22),transparent 39%),linear-gradient(135deg,#e9f7ef,#f8fcfa); }
.bsm-related-resources__pill { display:inline-flex; padding:5px 7px; border:1px solid #b7d7c6; border-radius:999px; color:var(--bsm-faq-green); font-size:9px; font-weight:800; letter-spacing:.075em; line-height:1; text-transform:uppercase; }
.bsm-related-resources__card-body { display:flex; min-height:150px; flex:1; flex-direction:column; padding:16px; }
.bsm-related-resources__card h4 { display:-webkit-box; margin:0; overflow:hidden; color:var(--bsm-faq-deep); font-size:16px; font-weight:800; letter-spacing:-.025em; line-height:1.23; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.bsm-related-resources__card p { display:-webkit-box; margin:8px 0 14px; overflow:hidden; color:var(--bsm-faq-muted); font-size:12px; font-weight:500; line-height:1.48; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.bsm-related-resources__card a { display:inline-flex; align-items:center; gap:5px; margin-top:auto; color:var(--bsm-faq-green); font-size:11px; font-weight:800; line-height:1; text-decoration:none; }
.bsm-related-resources__card a span { font-size:15px; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-related-resources__card a:hover span { transform:translateX(3px); }
.bsm-related-resources__count { margin:9px 0 0 40px; color:#668179; font-size:10px; font-weight:700; letter-spacing:.03em; }
.bsm-faq-resources button:focus-visible,.bsm-faq-resources a:focus-visible,.bsm-related-resources__rail:focus-visible { outline:3px solid var(--bsm-faq-gold); outline-offset:3px; }
@media (max-width:960px) { .bsm-faq-resources__heading { grid-template-columns:1fr; gap:16px; } .bsm-faq-resources__heading > p { max-width:675px; } .bsm-faq-resources__content { grid-template-columns:1fr; } .bsm-related-resources { position:static; } .bsm-related-resources__rail { gap:14px; } .bsm-related-resources__card { min-width:calc(50% - 7px); } }
@media (max-width:620px) { .bsm-faq-resources__inner { padding:68px 16px; } .bsm-faq-resources h2 { font-size:clamp(37px,11vw,51px); } .bsm-faq-resources__filters { flex-wrap:nowrap; margin-right:-16px; margin-left:-16px; padding:10px 16px; overflow-x:auto; border-right:0; border-left:0; border-radius:0; scrollbar-width:none; } .bsm-faq-resources__filters::-webkit-scrollbar { display:none; } .bsm-faq-resources__filter { flex:0 0 auto; } .bsm-faq-resources__content { margin-top:25px; gap:29px; } .bsm-faq-accordion__trigger { min-height:61px; padding:16px; font-size:14px; } .bsm-faq-accordion__answer { padding:2px 16px 18px; font-size:13px; } .bsm-related-resources { margin-right:-1px; margin-left:-1px; padding:20px 16px; } .bsm-related-resources__heading { align-items:flex-start; flex-direction:column; gap:12px; } .bsm-related-resources__all-link { padding:0; } .bsm-related-resources__intro { min-height:0; margin-top:12px; } .bsm-related-resources__carousel { grid-template-columns:1fr; } .bsm-related-resources__control { display:none; } .bsm-related-resources__rail { gap:12px; margin-right:-16px; padding-right:16px; } .bsm-related-resources__card { min-width:85%; } .bsm-related-resources__count { margin-left:0; } }
@media (prefers-reduced-motion: reduce) { .bsm-faq-resources *, .bsm-faq-resources *::before, .bsm-faq-resources *::after { scroll-behavior:auto!important; transition:none!important; } }

/* 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 faq.html: global rules that otherwise override this section. */
/* style_banner.css positions every <header> absolutely; keep the section headings in normal flow. */
.bsm-faq-resources__heading, .bsm-related-resources__heading { position: static; width: auto; z-index: auto; }
/* The page's inline `* { font-family: Montserrat }` beats inherited Inter; headings stay Montserrat via style.css. */
.bsm-faq-resources, .bsm-faq-resources * { font-family: Inter, Arial, sans-serif; }
/* The page's inline `button { margin-right: 5px }`. */
.bsm-faq-resources button { margin: 0; }
/* "Show more questions" button under the first FAQ items (bond-street-faq-resources.js). */
.bsm-faq-accordion__item[hidden] { display: none; }
.bsm-faq-accordion__more { justify-self: center; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 8px !important; padding: 11px 20px; border: 1px solid var(--bsm-faq-green); border-radius: 7px; background: #fff; color: var(--bsm-faq-green); cursor: pointer; font-size: 14px; font-weight: 800; line-height: 1; transition: background-color 160ms cubic-bezier(.23,1,.32,1), color 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-faq-accordion__more span { color: inherit; font-weight: 600; opacity: .75; }
.bsm-faq-accordion__more:hover { background: var(--bsm-faq-green); color: #fff; }
.bsm-faq-accordion__more:active { transform: scale(.97); }
/* The page's inline `h2 { font-size: 25px !important }` at <=768px. */
@media (max-width: 768px) { .bsm-faq-resources h2 { font-size: clamp(38px, 5.6vw, 68px) !important; } }
@media (max-width: 620px) { .bsm-faq-resources h2 { font-size: clamp(37px, 11vw, 51px) !important; } }
