/* =========================================================
   BLUE STRIPE MORTGAGE
   FULL SITE CSS REPLACEMENT
   CLEAN BSM MAIN SITE STYLE
========================================================= */

/* =========================
   GLOBAL COLORS
========================= */

:root {
  --bsm-blue: #004AD0;
  --bsm-blue-dark: #0039A6;
  --bsm-navy: #081634;
  --bsm-text: #1f2a44;
  --bsm-muted: #5e6a7d;
  --bsm-soft: #f4f7ff;
  --bsm-border: #e7edf5;
  --bsm-card-border: #e4ebf4;
  --bsm-radius: 20px;
  --bsm-radius-large: 32px;
  --bsm-shadow: 0 14px 34px rgba(8, 22, 52, 0.075);
  --bsm-shadow-strong: 0 22px 54px rgba(8, 22, 52, 0.13);
}

/* =========================
   GLOBAL CLEANUP
========================= */

.home .entry-header,
.home .page-title {
  display: none !important;
}

html,
body,
.site,
#main,
.site-main,
.content-area {
  background: #ffffff !important;
}

.home,
.home body,
.home .site,
.home #main,
.home .content-area,
.home article,
.home .site-main,
.home .entry-content {
  background: #ffffff !important;
}

.home .site-main {
  padding-top: 0 !important;
}

.home .entry-content > *:first-child {
  margin-top: 0 !important;
}

.home .entry-content,
.home .entry-content > *,
.home .site-main,
.home article {
  overflow: visible !important;
}

.home .wp-block-group,
.home .wp-block-columns,
.home .gb-container,
.home .stk-block,
.home .ct-section,
.home .alignfull,
.home .alignwide {
  background: transparent !important;
}

.home .ct-container,
.home .ct-container-full {
  background: transparent !important;
}

body {
  color: #33415c;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--bsm-text);
}

/* =========================================================
   HEADER + MENU FINAL CLEAN VERSION
   Main BSM site: matches Florida + Maine
   Fixes active blue menu pill and removes conflicting rules
========================================================= */

/* =========================
   HEADER BASE
========================= */

.site-header,
#header,
.ct-header,
header {
  position: relative !important;
  z-index: 99999 !important;
  background: #ffffff !important;
  border: 0 !important;
  border-bottom: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ct-header,
.ct-header *,
.site-header,
.site-header *,
#header,
#header * {
  box-sizing: border-box !important;
}

.ct-header [data-row],
.ct-header [data-row="middle"],
.ct-header [data-column],
.ct-header .ct-container,
.site-header .ct-container,
#header .ct-container {
  overflow: visible !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ct-header [data-row="top"],
.ct-header [data-row="bottom"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.site-header::before,
.site-header::after,
#header::before,
#header::after,
.ct-header::before,
.ct-header::after,
.ct-sticky-container::before,
.ct-sticky-container::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   DESKTOP HEADER
========================================================= */

@media (min-width: 1000px) {

  .ct-header [data-row],
  .ct-header [data-row="middle"] {
    min-height: 84px !important;
    height: 84px !important;
    max-height: 84px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .site-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container,
  .ct-header [data-row="middle"] .ct-container {
    width: 100% !important;
    max-width: 1380px !important;
    min-height: 84px !important;
    height: 84px !important;
    margin: 0 auto !important;
    padding: 0 22px !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 24px !important;
  }

  .ct-header [data-row="middle"] [data-column="start"] {
    width: 220px !important;
    min-width: 0 !important;
    max-width: 220px !important;
    height: 84px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-self: start !important;
  }

  .ct-header [data-row="middle"] [data-column="middle"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 84px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
  }

  .ct-header [data-row="middle"] [data-column="end"] {
    width: auto !important;
    min-width: 0 !important;
    height: 84px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: end !important;
  }

  .ct-header [data-row="middle"] .ct-builder-item {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Logo */
  .ct-header [data-id="logo"],
  header [data-id="logo"],
  .ct-header .site-branding,
  .ct-header .ct-logo,
  .ct-header .site-logo-container {
    width: 220px !important;
    max-width: 220px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transform: none !important;
  }

  .ct-header [data-id="logo"] a,
  .ct-header .site-branding a,
  .ct-header .ct-logo a,
  .ct-header .site-logo-container a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ct-header [data-id="logo"] img,
  .ct-header .site-branding img,
  .ct-header .ct-logo img,
  .ct-header .site-logo-container img,
  .ct-header img.custom-logo,
  .site-branding img,
  .custom-logo,
  .site-logo-container img {
    display: block !important;
    width: auto !important;
    max-width: 215px !important;
    max-height: 58px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Menu structure */
  .ct-header [data-id="menu"],
  .ct-header [data-id="menu-1"],
  .ct-header-navigation {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .ct-header .menu,
  .ct-header-navigation .menu,
  .ct-header nav ul,
  #header .menu,
  .site-header .menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .ct-header .menu > li,
  .ct-header-navigation .menu > li,
  #header .menu > li,
  .site-header .menu > li {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* Default menu links */
  .ct-header .menu > li > a,
  .ct-header-navigation .menu > li > a,
  .ct-header nav .menu > li > a,
  .ct-header nav > ul > li > a,
  #header .menu > li > a,
  .site-header .menu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #081634 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  /* Active menu pill */
  .ct-header .menu > li.current-menu-item > a,
  .ct-header .menu > li.current_page_item > a,
  .ct-header .menu > li.current-menu-ancestor > a,
  .ct-header .menu > li.current_page_ancestor > a,
  .ct-header .menu > li.current_page_parent > a,
  .ct-header .menu > li[class*="current"] > a,
  .ct-header .menu > li > a[aria-current="page"],
  .ct-header-navigation .menu > li.current-menu-item > a,
  .ct-header-navigation .menu > li.current_page_item > a,
  .ct-header-navigation .menu > li.current-menu-ancestor > a,
  .ct-header-navigation .menu > li.current_page_ancestor > a,
  .ct-header-navigation .menu > li.current_page_parent > a,
  .ct-header-navigation .menu > li[class*="current"] > a,
  .ct-header-navigation .menu > li > a[aria-current="page"],
  #header .menu > li.current-menu-item > a,
  #header .menu > li.current_page_item > a,
  #header .menu > li[class*="current"] > a,
  #header .menu > li > a[aria-current="page"],
  .site-header .menu > li.current-menu-item > a,
  .site-header .menu > li.current_page_item > a,
  .site-header .menu > li[class*="current"] > a,
  .site-header .menu > li > a[aria-current="page"] {
    padding: 10px 16px !important;
    background: #004AD0 !important;
    background-color: #004AD0 !important;
    background-image: linear-gradient(135deg, #0039A6 0%, #004AD0 100%) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(0, 74, 208, 0.22) !important;
    border: 0 !important;
    text-decoration: none !important;
  }

  /* Hover menu pill */
  .ct-header .menu > li > a:hover,
  .ct-header-navigation .menu > li > a:hover,
  #header .menu > li > a:hover,
  .site-header .menu > li > a:hover {
    padding: 10px 16px !important;
    background: #004AD0 !important;
    background-color: #004AD0 !important;
    background-image: linear-gradient(135deg, #0039A6 0%, #004AD0 100%) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(0, 74, 208, 0.18) !important;
    text-decoration: none !important;
  }

  /* Dropdown menu */
  .ct-header .menu > li.menu-item-has-children,
  .ct-header .menu > li.page_item_has_children,
  .ct-header-navigation .menu > li.menu-item-has-children,
  .ct-header-navigation .menu > li.page_item_has_children {
    position: relative !important;
  }

  .ct-header .sub-menu,
  .ct-header .children,
  .ct-header-navigation .sub-menu,
  .ct-header-navigation .children,
  #header .sub-menu,
  .site-header .sub-menu {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    left: 0 !important;
    z-index: 999999 !important;
    display: block !important;
    width: 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 42px rgba(31, 42, 68, 0.12) !important;
    overflow: hidden !important;
  }

  .ct-header .sub-menu li,
  .ct-header .children li,
  .ct-header-navigation .sub-menu li,
  .ct-header-navigation .children li,
  #header .sub-menu li,
  .site-header .sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ct-header .sub-menu li a,
  .ct-header .children li a,
  .ct-header-navigation .sub-menu li a,
  .ct-header-navigation .children li a,
  #header .sub-menu li a,
  .site-header .sub-menu li a {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 22px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #081634 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .ct-header .sub-menu li a:hover,
  .ct-header .children li a:hover,
  .ct-header-navigation .sub-menu li a:hover,
  .ct-header-navigation .children li a:hover,
  #header .sub-menu li a:hover,
  .site-header .sub-menu li a:hover {
    padding: 12px 22px !important;
    background: #f7fbff !important;
    background-image: none !important;
    color: #004AD0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  /* Right header CTA */
  .bsm-header-utility {
    display: none !important;
  }

  .bsm-header-contact {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  .bsm-header-contact a,
  .bsm-header-contact a:link,
  .bsm-header-contact a:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 11px 24px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0039A6 0%, #004AD0 100%) !important;
    color: #ffffff !important;
    border: 2px solid #004AD0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 28px rgba(0, 74, 208, 0.24) !important;
  }

  .bsm-header-contact a:hover {
    background: #0039A6 !important;
    border-color: #0039A6 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
  }
}

/* Desktop tightening */
@media (min-width: 1000px) and (max-width: 1280px) {
  .site-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container,
  .ct-header [data-row="middle"] .ct-container {
    grid-template-columns: 195px minmax(0, 1fr) auto !important;
    column-gap: 15px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ct-header [data-row="middle"] [data-column="start"],
  .ct-header [data-id="logo"],
  header [data-id="logo"],
  .ct-header .site-branding,
  .ct-header .ct-logo,
  .ct-header .site-logo-container {
    width: 195px !important;
    max-width: 195px !important;
  }

  .ct-header [data-id="logo"] img,
  .ct-header .site-branding img,
  .ct-header .ct-logo img,
  .ct-header .site-logo-container img,
  .ct-header img.custom-logo,
  .site-branding img,
  .custom-logo,
  .site-logo-container img {
    max-width: 190px !important;
    max-height: 54px !important;
  }

  .ct-header .menu,
  .ct-header-navigation .menu,
  .ct-header nav ul,
  #header .menu,
  .site-header .menu {
    gap: 13px !important;
  }

  .ct-header .menu > li > a,
  .ct-header-navigation .menu > li > a,
  .ct-header nav .menu > li > a,
  #header .menu > li > a,
  .site-header .menu > li > a {
    font-size: 12.5px !important;
  }

  .ct-header .menu > li.current-menu-item > a,
  .ct-header .menu > li.current_page_item > a,
  .ct-header .menu > li[class*="current"] > a,
  .ct-header .menu > li > a[aria-current="page"],
  .ct-header-navigation .menu > li.current-menu-item > a,
  .ct-header-navigation .menu > li.current_page_item > a,
  .ct-header-navigation .menu > li[class*="current"] > a,
  .ct-header-navigation .menu > li > a[aria-current="page"] {
    padding: 8px 12px !important;
  }

  .bsm-header-contact a,
  .bsm-header-contact a:link,
  .bsm-header-contact a:visited {
    min-height: 42px !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
  }
}

/* Early mobile break */
@media (min-width: 1000px) and (max-width: 1080px) {
  .ct-header [data-id="menu"],
  .ct-header [data-id="menu-1"],
  .ct-header-navigation,
  .bsm-header-contact,
  .bsm-header-utility {
    display: none !important;
  }

  .site-header .ct-container,
  #header .ct-container,
  .ct-header .ct-container,
  .ct-header [data-row="middle"] .ct-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .ct-header [data-id="logo"],
  header [data-id="logo"],
  .ct-header .site-branding,
  .ct-header .ct-logo,
  .ct-header .site-logo-container {
    width: auto !important;
    max-width: none !important;
  }

  .ct-header [data-id="trigger"],
  .ct-header .ct-header-trigger,
  .ct-header .ct-trigger {
    display: flex !important;
    margin-left: auto !important;
  }
}

/* =========================================================
   MOBILE HEADER
========================================================= */

@media (max-width: 999px) {
  .site-header,
  #header,
  .ct-header,
  header,
  .ct-header [data-row],
  .ct-header [data-row="middle"],
  .ct-header [data-row="middle"] .ct-container {
    border: 0 !important;
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .ct-header [data-row="middle"] {
    min-height: 82px !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .ct-header [data-row="middle"] .ct-container {
    min-height: 82px !important;
    height: auto !important;
    padding: 10px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .ct-header [data-row="middle"] [data-column],
  .ct-header [data-row="middle"] [data-column] > *,
  .ct-header [data-row="middle"] .ct-builder-item {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .ct-header [data-row="middle"] [data-column="start"] {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  .ct-header [data-row="middle"] [data-column="end"] {
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
  }

  .ct-header [data-row="middle"] [data-id="logo"],
  .ct-header [data-row="middle"] .site-branding,
  .ct-header [data-row="middle"] .site-logo-container {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .ct-header [data-row="middle"] [data-id="logo"] img,
  .ct-header [data-row="middle"] .site-branding img,
  .ct-header [data-row="middle"] .custom-logo,
  .ct-header [data-row="middle"] .site-logo-container img {
    max-width: 250px !important;
    max-height: 66px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    transform: none !important;
  }

  .ct-header [data-row="middle"] [data-id="trigger"],
  .ct-header [data-row="middle"] .ct-header-trigger,
  .ct-header [data-row="middle"] .ct-trigger {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    transform: none !important;
    z-index: 20 !important;
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .ct-header [data-row="middle"] [data-id="trigger"] svg,
  .ct-header [data-row="middle"] .ct-header-trigger svg,
  .ct-header [data-row="middle"] .ct-trigger svg,
  .ct-header [data-row="middle"] [data-id="trigger"] .ct-icon,
  .ct-header [data-row="middle"] .ct-header-trigger .ct-icon,
  .ct-header [data-row="middle"] .ct-trigger .ct-icon {
    width: 28px !important;
    height: 28px !important;
  }

  .bsm-header-contact,
  .bsm-header-utility {
    display: none !important;
  }
}

/* =========================================================
   OFF CANVAS MOBILE MENU
========================================================= */

@media (max-width: 999px) {
  .ct-panel,
  .ct-drawer-canvas,
  .ct-offcanvas,
  .ct-header-panel {
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    color: #101436 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    box-shadow: none !important;
  }

  .ct-panel-content,
  .ct-drawer-content,
  .ct-offcanvas-content,
  .ct-panel-inner {
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    color: #101436 !important;
    padding: 22px 28px 30px !important;
    margin-top: 0 !important;
  }

  .ct-panel [data-id="offcanvas-logo"],
  .ct-drawer-canvas [data-id="offcanvas-logo"],
  .ct-offcanvas [data-id="offcanvas-logo"],
  .ct-header-panel [data-id="offcanvas-logo"] {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  .ct-panel [data-id="offcanvas-logo"] img,
  .ct-drawer-canvas [data-id="offcanvas-logo"] img,
  .ct-offcanvas [data-id="offcanvas-logo"] img,
  .ct-header-panel [data-id="offcanvas-logo"] img,
  .ct-panel .site-logo-container img,
  .ct-drawer-canvas .site-logo-container img,
  .ct-offcanvas .site-logo-container img,
  .ct-header-panel .site-logo-container img {
    display: block !important;
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
  }

  .ct-panel [data-id="mobile-menu"],
  .ct-drawer-canvas [data-id="mobile-menu"],
  .ct-offcanvas [data-id="mobile-menu"],
  .ct-header-panel [data-id="mobile-menu"],
  .ct-panel .mobile-menu,
  .ct-drawer-canvas .mobile-menu,
  .ct-offcanvas .mobile-menu,
  .ct-header-panel .mobile-menu {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
  }

  .ct-panel [data-id="mobile-menu"] ul,
  .ct-drawer-canvas [data-id="mobile-menu"] ul,
  .ct-offcanvas [data-id="mobile-menu"] ul,
  .ct-header-panel [data-id="mobile-menu"] ul,
  .ct-panel .mobile-menu ul,
  .ct-drawer-canvas .mobile-menu ul,
  .ct-offcanvas .mobile-menu ul,
  .ct-header-panel .mobile-menu ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: #ffffff !important;
  }

  .ct-panel [data-id="mobile-menu"] li,
  .ct-drawer-canvas [data-id="mobile-menu"] li,
  .ct-offcanvas [data-id="mobile-menu"] li,
  .ct-header-panel [data-id="mobile-menu"] li,
  .ct-panel .mobile-menu li,
  .ct-drawer-canvas .mobile-menu li,
  .ct-offcanvas .mobile-menu li,
  .ct-header-panel .mobile-menu li {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ct-panel [data-id="mobile-menu"] a,
  .ct-drawer-canvas [data-id="mobile-menu"] a,
  .ct-offcanvas [data-id="mobile-menu"] a,
  .ct-header-panel [data-id="mobile-menu"] a,
  .ct-panel .mobile-menu a,
  .ct-drawer-canvas .mobile-menu a,
  .ct-offcanvas .mobile-menu a,
  .ct-header-panel .mobile-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 9px 48px 9px 0 !important;
    color: #101436 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  .ct-panel [data-id="mobile-menu"] a:hover,
  .ct-drawer-canvas [data-id="mobile-menu"] a:hover,
  .ct-offcanvas [data-id="mobile-menu"] a:hover,
  .ct-header-panel [data-id="mobile-menu"] a:hover,
  .ct-panel .mobile-menu a:hover,
  .ct-drawer-canvas .mobile-menu a:hover,
  .ct-offcanvas .mobile-menu a:hover,
  .ct-header-panel .mobile-menu a:hover {
    color: #004AD0 !important;
  }

  .ct-panel .menu-item-has-children > button,
  .ct-drawer-canvas .menu-item-has-children > button,
  .ct-offcanvas .menu-item-has-children > button,
  .ct-header-panel .menu-item-has-children > button,
  .ct-panel .page_item_has_children > button,
  .ct-drawer-canvas .page_item_has_children > button,
  .ct-offcanvas .page_item_has_children > button,
  .ct-header-panel .page_item_has_children > button,
  .ct-panel .ct-toggle-dropdown-mobile,
  .ct-drawer-canvas .ct-toggle-dropdown-mobile,
  .ct-offcanvas .ct-toggle-dropdown-mobile,
  .ct-header-panel .ct-toggle-dropdown-mobile,
  .ct-panel [class*="toggle"],
  .ct-drawer-canvas [class*="toggle"],
  .ct-offcanvas [class*="toggle"],
  .ct-header-panel [class*="toggle"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 2px !important;
    right: 0 !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 99 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #101436 !important;
  }

  .ct-panel .menu-item-has-children > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children > .sub-menu,
  .ct-offcanvas .menu-item-has-children > .sub-menu,
  .ct-header-panel .menu-item-has-children > .sub-menu,
  .ct-panel .page_item_has_children > .children,
  .ct-drawer-canvas .page_item_has_children > .children,
  .ct-offcanvas .page_item_has_children > .children,
  .ct-header-panel .page_item_has_children > .children {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 0 0 18px !important;
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .ct-panel .menu-item-has-children.active > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children.active > .sub-menu,
  .ct-offcanvas .menu-item-has-children.active > .sub-menu,
  .ct-header-panel .menu-item-has-children.active > .sub-menu,
  .ct-panel .menu-item-has-children.ct-active > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children.ct-active > .sub-menu,
  .ct-offcanvas .menu-item-has-children.ct-active > .sub-menu,
  .ct-header-panel .menu-item-has-children.ct-active > .sub-menu,
  .ct-panel .menu-item-has-children.dropdown-active > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children.dropdown-active > .sub-menu,
  .ct-offcanvas .menu-item-has-children.dropdown-active > .sub-menu,
  .ct-header-panel .menu-item-has-children.dropdown-active > .sub-menu,
  .ct-panel .menu-item-has-children.open > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children.open > .sub-menu,
  .ct-offcanvas .menu-item-has-children.open > .sub-menu,
  .ct-header-panel .menu-item-has-children.open > .sub-menu,
  .ct-panel .menu-item-has-children.is-open > .sub-menu,
  .ct-drawer-canvas .menu-item-has-children.is-open > .sub-menu,
  .ct-offcanvas .menu-item-has-children.is-open > .sub-menu,
  .ct-header-panel .menu-item-has-children.is-open > .sub-menu,
  .ct-panel .menu-item-has-children > button[aria-expanded="true"] ~ .sub-menu,
  .ct-drawer-canvas .menu-item-has-children > button[aria-expanded="true"] ~ .sub-menu,
  .ct-offcanvas .menu-item-has-children > button[aria-expanded="true"] ~ .sub-menu,
  .ct-header-panel .menu-item-has-children > button[aria-expanded="true"] ~ .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .ct-panel .sub-menu a,
  .ct-drawer-canvas .sub-menu a,
  .ct-offcanvas .sub-menu a,
  .ct-header-panel .sub-menu a,
  .ct-panel .children a,
  .ct-drawer-canvas .children a,
  .ct-offcanvas .children a,
  .ct-header-panel .children a {
    min-height: 34px !important;
    padding: 5px 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #26304f !important;
    background: transparent !important;
  }

  .ct-panel .sub-menu a:hover,
  .ct-drawer-canvas .sub-menu a:hover,
  .ct-offcanvas .sub-menu a:hover,
  .ct-header-panel .sub-menu a:hover,
  .ct-panel .children a:hover,
  .ct-drawer-canvas .children a:hover,
  .ct-offcanvas .children a:hover,
  .ct-header-panel .children a:hover {
    color: #004AD0 !important;
  }
}

/* Keep header above page content */
.bsm-home-hero,
.bsm-loan-hero,
.bsm-refi-hero,
.bsm-purchase-hero,
.bsm-page,
.entry-content,
.site-main,
#main,
.ct-container-full {
  position: relative !important;
  z-index: 1 !important;
}


/* =========================
   GLOBAL BUTTON SYSTEM
========================= */

.bsm-btn--primary,
.bsm-button--primary,
.bsm-purchase-btn--primary,
.bsm-refi-btn--primary,
.bsm-funnel-btn--primary,
.bsm-about-btn--primary,
.bsm-contact-btn:not(.bsm-contact-btn--outline),
.bsm-me-btn--primary {
  background: var(--bsm-blue) !important;
  color: #ffffff !important;
  border: 2px solid var(--bsm-blue) !important;
  box-shadow: 0 12px 28px rgba(0, 74, 208, 0.22) !important;
}

.bsm-btn--primary:hover,
.bsm-button--primary:hover,
.bsm-purchase-btn--primary:hover,
.bsm-refi-btn--primary:hover,
.bsm-funnel-btn--primary:hover,
.bsm-about-btn--primary:hover,
.bsm-contact-btn:not(.bsm-contact-btn--outline):hover,
.bsm-me-btn--primary:hover {
  background: var(--bsm-blue-dark) !important;
  color: #ffffff !important;
  border-color: var(--bsm-blue-dark) !important;
}

.bsm-btn--outline,
.bsm-button--outline,
.bsm-purchase-btn--outline,
.bsm-refi-btn--outline,
.bsm-about-btn--secondary,
.bsm-about-btn--outline,
.bsm-funnel-btn--secondary,
.bsm-funnel-btn--outline,
.bsm-me-btn--outline,
.bsm-contact-btn--outline {
  background: #ffffff !important;
  color: var(--bsm-blue) !important;
  border: 2px solid var(--bsm-blue) !important;
  box-shadow: none !important;
}

/* =========================
   HERO FULL WIDTH
========================= */

.bsm-home-hero {
  position: relative !important;
  overflow: hidden !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 100px 20px 108px !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(rgba(255, 255, 255, 0.72), rgba(248, 251, 255, 0.78)),
    url('https://bluestripemortgage.com/wp-content/uploads/2026/04/Charming-suburban-neighborhood-in-daylight.png') center center / cover no-repeat !important;
  border-bottom: 1px solid #edf2f8 !important;
}

.bsm-home-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(0, 74, 208, 0.05), transparent 28%),
    radial-gradient(circle at 86% 22%, rgba(0, 74, 208, 0.035), transparent 24%) !important;
  pointer-events: none !important;
}

.bsm-home-hero__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.bsm-home-hero h1 {
  margin: 0 0 24px !important;
  font-size: clamp(52px, 8vw, 92px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  font-weight: 700 !important;
  color: var(--bsm-text) !important;
}

.bsm-home-hero__text {
  max-width: 760px !important;
  margin: 0 auto 36px !important;
  font-size: clamp(20px, 2.2vw, 30px) !important;
  line-height: 1.5 !important;
  color: #4f5d74 !important;
}

.bsm-home-hero__buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-bottom: 22px !important;
}

a.bsm-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-width: 280px !important;
  padding: 20px 30px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition: all 0.2s ease !important;
}

a.bsm-btn-primary {
  background: var(--bsm-blue) !important;
  color: #ffffff !important;
  border: 2px solid var(--bsm-blue) !important;
  box-shadow: 0 12px 26px rgba(0, 74, 208, 0.18) !important;
}

a.bsm-btn-primary:hover {
  background: var(--bsm-blue-dark) !important;
  border-color: var(--bsm-blue-dark) !important;
  color: #ffffff !important;
}

a.bsm-btn-secondary {
  background: #ffffff !important;
  color: var(--bsm-text) !important;
  border: 2px solid #d3deea !important;
  box-shadow: 0 6px 18px rgba(31, 42, 68, 0.05) !important;
}

a.bsm-btn-secondary:hover {
  border-color: var(--bsm-blue) !important;
  color: var(--bsm-blue) !important;
  background: #ffffff !important;
}

.bsm-home-hero__note {
  font-size: 18px !important;
  color: #60708a !important;
  font-weight: 500 !important;
}

/* =========================
   TRUST STRIP FULL WIDTH
========================= */

.bsm-trust-strip {
  position: relative !important;
  overflow: hidden !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  background: #f8fbff !important;
  border-top: 1px solid #e8eef6 !important;
  border-bottom: 1px solid #e8eef6 !important;
  padding: 20px 20px !important;
}

.bsm-trust-strip__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  text-align: center !important;
  font-size: 16px !important;
  color: #516075 !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* =========================
   STATE ROUTING
========================= */

.bsm-state-routing {
  background: #ffffff !important;
  padding: 0 20px 78px !important;
  border-top: 24px solid #ffffff !important;
}

.bsm-state-routing__inner {
  max-width: 920px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.bsm-state-routing h2 {
  margin: 0 0 14px !important;
  font-size: clamp(34px, 4.5vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: var(--bsm-text) !important;
}

.bsm-state-routing p {
  max-width: 760px !important;
  margin: 0 auto 38px !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: #5b6981 !important;
}

.bsm-state-routing__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}

a.bsm-state-card {
  display: block !important;
  background: #ffffff !important;
  border: 1px solid var(--bsm-card-border) !important;
  border-radius: 20px !important;
  padding: 34px 32px !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(31, 42, 68, 0.06) !important;
  transition: all 0.2s ease !important;
}

a.bsm-state-card:hover {
  border-color: #d4deea !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px rgba(31, 42, 68, 0.09) !important;
}

.bsm-state-card__eyebrow {
  display: inline-block !important;
  margin-bottom: 18px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(0, 74, 208, 0.08) !important;
  color: var(--bsm-blue) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.bsm-state-card__title {
  font-size: 34px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
  color: var(--bsm-text) !important;
  margin-bottom: 14px !important;
}

.bsm-state-card__text {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #617084 !important;
  margin-bottom: 24px !important;
}

.bsm-state-card__cta {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--bsm-blue) !important;
}

/* =========================
   REVIEWS SECTION
========================= */

.bsm-reviews-section {
  background: #fbfdff !important;
  padding: 66px 20px 78px !important;
  border-top: 1px solid #eef3f8 !important;
  border-bottom: 1px solid #eef3f8 !important;
}

.bsm-reviews-section__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.bsm-reviews-section h2 {
  margin: 0 0 14px !important;
  text-align: center !important;
  font-size: clamp(34px, 4.5vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #1d2742 !important;
}

.bsm-reviews-section p {
  max-width: 700px !important;
  margin: 0 auto 34px !important;
  text-align: center !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: #5a6980 !important;
}

.bsm-reviews-section .eapps-widget,
.bsm-reviews-section [class*="elfsight"],
.bsm-reviews-section iframe,
.bsm-reviews-section .wp-block-group,
.bsm-reviews-section .wp-block-column {
  background: transparent !important;
}

/* =========================
   LIVE RATES SECTION
========================= */

.bsm-rates-section {
  background: #ffffff !important;
  border-top: 1px solid #eef3f8 !important;
  padding: 62px 20px 72px !important;
}

.bsm-rates-section__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.bsm-rates-section__top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 30px !important;
}

.bsm-rates-section h2 {
  margin: 0 !important;
  max-width: 620px !important;
  font-size: clamp(32px, 4.2vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: #1d2742 !important;
}

.bsm-rates-section__link {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--bsm-blue) !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  margin-top: 10px !important;
}

.bsm-rates-section__link:hover {
  text-decoration: underline !important;
}

.bsm-rates-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  margin-bottom: 24px !important;
}

.bsm-rate-card {
  background: #ffffff !important;
  border: 1px solid var(--bsm-card-border) !important;
  border-radius: 20px !important;
  padding: 24px 24px 22px !important;
  box-shadow: 0 12px 30px rgba(31, 42, 68, 0.06) !important;
}

.bsm-rate-card__label {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  color: #5b6980 !important;
  margin-bottom: 24px !important;
}

.bsm-rate-card__value {
  font-size: clamp(42px, 4.8vw, 58px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 700 !important;
  color: var(--bsm-text) !important;
}

.bsm-rates-note {
  max-width: 980px !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #6a788d !important;
}

/* =========================
   FINAL CTA
========================= */

.bsm-final-cta {
  background: #f9fbfe !important;
  border-top: 1px solid #eef3f8 !important;
  padding: 56px 20px 80px !important;
}

.bsm-final-cta__inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.bsm-final-cta h2 {
  margin: 0 0 16px !important;
  font-size: clamp(34px, 4.5vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: #1d2742 !important;
}

.bsm-final-cta p {
  max-width: 760px !important;
  margin: 0 auto 30px !important;
  font-size: 22px !important;
  line-height: 1.55 !important;
  color: #5a6980 !important;
}

.bsm-final-cta__buttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* =========================
   FOOTER
========================= */

.site-footer,
.ct-footer,
footer.ct-footer {
  margin-top: 0 !important;
  padding: 0 !important;
  background: #f6f8fc !important;
  border-top: none !important;
  box-shadow: none !important;
}

footer.ct-footer [data-row="middle"],
footer.ct-footer [data-row="bottom"],
.ct-footer [data-row="middle"],
.ct-footer [data-row="bottom"] {
  background: #f6f8fc !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

footer.ct-footer [data-row="middle"] .ct-container,
.ct-footer [data-row="middle"] .ct-container,
.site-footer .ct-container,
.ct-footer .ct-container,
.ct-footer-inner-wrap,
.footer-widgets-container {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 34px 0 52px !important;
  background: transparent !important;
}

/* Footer layout */

.footer-widgets,
.footer-columns,
.ct-footer [data-columns],
.site-footer .widget-area,
.ct-footer .widget-area,
footer.ct-footer [data-row="middle"] .ct-container {
  display: grid !important;
  grid-template-columns: 300px 170px 190px 210px !important;
  column-gap: 70px !important;
  row-gap: 30px !important;
  align-items: start !important;
  justify-content: center !important;
}

/* Footer reset */

.footer-widgets > *,
.footer-columns > *,
.ct-footer [data-columns] > *,
.site-footer .widget-area > *,
.ct-footer .widget-area > *,
footer.ct-footer [data-row="middle"] [data-column] {
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.bsm-footer-brand,
.bsm-footer-col {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  text-align: left !important;
  background: transparent !important;
}

/* Footer logo */

.bsm-footer-logo,
.bsm-footer-logo-image,
footer.ct-footer img.custom-logo,
footer.ct-footer .site-logo-container img,
footer.ct-footer .ct-logo img {
  display: block !important;
  width: 255px !important;
  max-width: 255px !important;
  height: auto !important;
  margin: 0 0 18px !important;
  filter: none !important;
  transform: none !important;
}

/* Footer text */

.bsm-footer-brand p,
.bsm-footer-description,
.bsm-footer-col p,
footer.ct-footer p,
.site-footer p {
  margin: 0 0 18px !important;
  max-width: 300px !important;
  color: var(--bsm-muted) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

/* Footer headings */

.bsm-footer-col h3,
footer.ct-footer h2,
footer.ct-footer h3,
footer.ct-footer .widget-title,
.site-footer h2,
.site-footer h3,
.site-footer .widget-title {
  margin: 0 0 18px !important;
  color: var(--bsm-navy) !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}

/* Footer lists */

.bsm-footer-col ul,
.ct-footer ul,
.site-footer ul,
footer.ct-footer ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bsm-footer-col li,
.ct-footer li,
.site-footer li,
footer.ct-footer li {
  margin: 0 0 13px !important;
  padding: 0 !important;
  list-style: none !important;
  font-size: 16px !important;
  line-height: 1.38 !important;
}

/* Footer links */

.ct-footer a,
.site-footer a,
.bsm-footer-col a,
.bsm-footer-col li a,
footer.ct-footer a,
footer.ct-footer li a {
  display: inline-block !important;
  color: var(--bsm-blue) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.bsm-footer-col a:hover,
.ct-footer li a:hover,
.site-footer li a:hover,
footer.ct-footer a:hover {
  color: var(--bsm-blue-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

/* NMLS / licensing */

.bsm-footer-nmls {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  margin: 26px 0 24px !important;
  color: var(--bsm-muted) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.bsm-footer-nmls strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--bsm-navy) !important;
  font-weight: 900 !important;
}

/* Footer phone */

.bsm-footer-contact {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  margin-top: 28px !important;
  padding-top: 0 !important;
}

.bsm-footer-contact p {
  margin: 0 0 16px !important;
  color: var(--bsm-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.bsm-footer-phone,
.bsm-footer-contact .bsm-footer-phone,
.bsm-footer-contact a[href^="tel"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  background: var(--bsm-blue) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(0, 74, 208, 0.22) !important;
  border: 2px solid var(--bsm-blue) !important;
  white-space: nowrap !important;
  margin-top: 8px !important;
}

.bsm-footer-phone:hover,
.bsm-footer-contact .bsm-footer-phone:hover,
.bsm-footer-contact a[href^="tel"]:hover {
  background: var(--bsm-blue-dark) !important;
  border-color: var(--bsm-blue-dark) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Footer bottom row */

footer.ct-footer [data-row="bottom"] .ct-container,
.ct-footer [data-row="bottom"] .ct-container {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 0 22px !important;
  border-top: 1px solid #dfe6f1 !important;
  background: transparent !important;
}

.bsm-footer-bottom-left,
.bsm-footer-bottom-right,
.bsm-footer-bottom,
footer.ct-footer [data-row="bottom"],
footer.ct-footer [data-row="bottom"] p,
footer.ct-footer [data-row="bottom"] span {
  color: #7a8798 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  background: transparent !important;
}

.bsm-footer-bottom a,
.bsm-footer-bottom-right a,
.bsm-footer-bottom-left a,
footer.ct-footer [data-row="bottom"] a {
  color: #7a8798 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.bsm-footer-bottom a:hover,
.bsm-footer-bottom-right a:hover,
.bsm-footer-bottom-left a:hover,
footer.ct-footer [data-row="bottom"] a:hover {
  color: var(--bsm-blue) !important;
}

footer.ct-footer [data-row="bottom"] [data-column] {
  display: flex !important;
  align-items: center !important;
}

footer.ct-footer [data-row="bottom"] [data-column]:first-child {
  justify-content: flex-start !important;
}

footer.ct-footer [data-row="bottom"] [data-column]:last-child {
  justify-content: flex-end !important;
}

/* =========================
   FOOTER TABLET
========================= */

@media (max-width: 1100px) and (min-width: 701px) {
  .footer-widgets,
  .footer-columns,
  .ct-footer [data-columns],
  .site-footer .widget-area,
  .ct-footer .widget-area,
  footer.ct-footer [data-row="middle"] .ct-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 54px !important;
    row-gap: 54px !important;
    align-items: start !important;
  }

  footer.ct-footer [data-row="middle"] .ct-container,
  .ct-footer [data-row="middle"] .ct-container {
    padding-top: 58px !important;
    padding-bottom: 62px !important;
  }

  .bsm-footer-brand,
  .bsm-footer-col {
    text-align: left !important;
    max-width: 100% !important;
  }

  .bsm-footer-logo,
  .bsm-footer-logo-image {
    width: 230px !important;
    max-width: 230px !important;
  }

  .bsm-footer-contact {
    margin-top: 24px !important;
  }
}

/* =========================
   FOOTER MOBILE
========================= */

@media (max-width: 700px) {
  footer.ct-footer [data-row="middle"] .ct-container,
  .ct-footer [data-row="middle"] .ct-container {
    width: min(100% - 36px, 520px) !important;
    padding-top: 46px !important;
    padding-bottom: 48px !important;
  }

  .footer-widgets,
  .footer-columns,
  .ct-footer [data-columns],
  .site-footer .widget-area,
  .ct-footer .widget-area,
  footer.ct-footer [data-row="middle"] .ct-container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 34px !important;
  }

  .bsm-footer-brand,
  .bsm-footer-col {
    text-align: center !important;
  }

  .bsm-footer-logo,
  .bsm-footer-logo-image,
  footer.ct-footer img.custom-logo,
  footer.ct-footer .site-logo-container img,
  footer.ct-footer .ct-logo img {
    width: 220px !important;
    max-width: 220px !important;
    margin: 0 auto 22px !important;
  }

  .bsm-footer-brand p,
  .bsm-footer-description,
  .bsm-footer-col p,
  footer.ct-footer p {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 340px !important;
    font-size: 15px !important;
  }

  .bsm-footer-col h3,
  footer.ct-footer h2,
  footer.ct-footer h3,
  footer.ct-footer .widget-title {
    margin-bottom: 13px !important;
    font-size: 21px !important;
  }

  .bsm-footer-col li,
  .ct-footer li,
  .site-footer li,
  footer.ct-footer li {
    margin-bottom: 10px !important;
  }

  .bsm-footer-phone,
  .bsm-footer-contact .bsm-footer-phone,
  .bsm-footer-contact a[href^="tel"] {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bsm-footer-contact {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer.ct-footer [data-row="bottom"] .ct-container,
  .ct-footer [data-row="bottom"] .ct-container {
    width: min(100% - 36px, 520px) !important;
    padding-top: 14px !important;
    padding-bottom: 18px !important;
  }

  .bsm-footer-bottom-left,
  .bsm-footer-bottom-right,
  .bsm-footer-bottom,
  footer.ct-footer [data-row="bottom"] {
    text-align: center !important;
    width: 100% !important;
  }

  footer.ct-footer [data-row="bottom"] [data-column],
  footer.ct-footer [data-row="bottom"] [data-column]:first-child,
  footer.ct-footer [data-row="bottom"] [data-column]:last-child {
    justify-content: center !important;
  }
}

/* =========================
   GLOBAL SOFTER CORNERS
========================= */

.wp-block-group,
.wp-block-cover,
.wp-block-column,
.wp-block-media-text,
.wp-block-buttons,
.gb-container,
.gb-inside-container,
.stk-block,
.stk-inner-blocks,
.stk-block-container,
.ct-card,
.ct-panel,
.ct-box {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.bsm-action-card,
.bsm-state-card,
.bsm-rate-card,
.bsm-action-section__inner,
.bsm-final-cta__inner,
.bsm-state-routing__inner,
.bsm-reviews-section__inner,
.bsm-rates-section__inner {
  border-radius: 20px !important;
  overflow: hidden !important;
}

[class*="card"],
[class*="Card"],
[class*="box"],
[class*="Box"],
[class*="panel"],
[class*="Panel"] {
  border-radius: 20px !important;
  overflow: hidden !important;
}

button,
input[type="button"],
input[type="submit"],
.wp-element-button,
.ct-button,
a.bsm-btn,
a.bsm-action-btn {
  border-radius: 20px !important;
}

a.bsm-btn,
a.bsm-btn-primary,
a.bsm-btn-secondary,
a.bsm-action-btn,
a.bsm-action-btn-primary {
  border-radius: 999px !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="url"],
input[type="password"],
textarea,
select {
  border-radius: 14px !important;
}

/* =========================================================
   LOAN PROGRAMS PAGE
   PAGE ID 943
========================================================= */

.page-id-943 .wp-block-group,
.page-id-943 .wp-block-columns,
.page-id-943 .wp-block-column,
.page-id-943 .wp-block-media-text,
.page-id-943 .gb-container,
.page-id-943 .gb-inside-container,
.page-id-943 .stk-block,
.page-id-943 .stk-inner-blocks,
.page-id-943 .stk-block-container,
.page-id-943 .ct-card,
.page-id-943 [class*="card"],
.page-id-943 [class*="panel"],
.page-id-943 [class*="box"] {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.page-id-943 .bsm-loan-programs-hero,
.page-id-943 .bsm-loan-programs-hero__inner,
.page-id-943 .bsm-loan-hero,
.page-id-943 .bsm-loan-hero__inner,
.page-id-943 .bsm-programs-hero,
.page-id-943 .bsm-programs-hero__inner {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.page-id-943 .bsm-loan-card,
.page-id-943 .bsm-program-card,
.page-id-943 .bsm-loan-program-card,
.page-id-943 .bsm-programs-grid > *,
.page-id-943 .bsm-loan-grid > *,
.page-id-943 .bsm-loan-programs-grid > *,
.page-id-943 .bsm-loan-options-grid > * {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.page-id-943 .bsm-loan-cta,
.page-id-943 .bsm-loan-cta__inner,
.page-id-943 .bsm-conversation-section,
.page-id-943 .bsm-conversation-section__inner,
.page-id-943 .bsm-conversation-card,
.page-id-943 .bsm-cta-card,
.page-id-943 .bsm-loan-programs-cta,
.page-id-943 .bsm-loan-programs-cta__inner {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.page-id-943 .wp-element-button,
.page-id-943 .ct-button,
.page-id-943 button,
.page-id-943 input[type="button"],
.page-id-943 input[type="submit"],
.page-id-943 a.bsm-btn,
.page-id-943 a.bsm-action-btn,
.page-id-943 a[class*="btn"] {
  border-radius: 999px !important;
}

.page-id-943 input[type="text"],
.page-id-943 input[type="email"],
.page-id-943 input[type="tel"],
.page-id-943 input[type="search"],
.page-id-943 input[type="number"],
.page-id-943 input[type="url"],
.page-id-943 input[type="password"],
.page-id-943 textarea,
.page-id-943 select {
  border-radius: 14px !important;
}

.page-id-943 .bsm-loan-cta,
.page-id-943 .bsm-conversation-section,
.page-id-943 .bsm-loan-programs-cta {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-top: 28px !important;
  padding-bottom: 12px !important;
}

/* =========================
   RESPONSIVE PAGE SECTIONS
========================= */

@media (max-width: 768px) {
  .bsm-home-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 72px 20px 78px !important;
    background-position: center bottom !important;
  }

  .bsm-trust-strip {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 18px 16px !important;
  }

  .bsm-home-hero__text {
    font-size: 20px !important;
  }

  .bsm-home-hero__buttons,
  .bsm-final-cta__buttons {
    flex-direction: column !important;
    gap: 14px !important;
  }

  a.bsm-btn {
    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    font-size: 22px !important;
  }

  .bsm-trust-strip__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    font-size: 15px !important;
  }

  .bsm-state-routing {
    padding: 52px 20px 60px !important;
  }

  .bsm-state-routing p,
  .bsm-reviews-section p {
    font-size: 18px !important;
  }

  .bsm-state-routing__grid {
    grid-template-columns: 1fr !important;
  }

  a.bsm-state-card {
    padding: 28px 24px !important;
  }

  .bsm-state-card__title {
    font-size: 28px !important;
  }

  .bsm-reviews-section,
  .bsm-rates-section,
  .bsm-final-cta {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .bsm-rates-section__top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }

  .bsm-rates-section h2 {
    max-width: 100% !important;
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  .bsm-rates-section__link {
    font-size: 17px !important;
    margin-top: 0 !important;
  }

  .bsm-rates-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .bsm-rate-card {
    padding: 22px 20px !important;
    border-radius: 20px !important;
  }

  .bsm-rate-card__label {
    font-size: 17px !important;
    margin-bottom: 18px !important;
  }

  .bsm-rate-card__value {
    font-size: clamp(38px, 10vw, 50px) !important;
  }

  .bsm-rates-note {
    font-size: 15px !important;
  }

  .bsm-final-cta p {
    font-size: 18px !important;
  }

  footer.ct-footer [data-row="middle"] .ct-container {
    padding-top: 30px !important;
    padding-bottom: 14px !important;
  }

  footer.ct-footer [data-row="bottom"] .ct-container {
    padding-top: 8px !important;
    padding-bottom: 12px !important;
  }

  .bsm-footer-brand {
    max-width: 100%;
  }

  .bsm-footer-logo-image {
    max-width: 220px;
    margin-bottom: 12px;
  }

  .bsm-footer-brand p,
  .bsm-footer-col a,
  .bsm-footer-col span {
    font-size: 15px;
  }

  .bsm-footer-col h3 {
    margin-bottom: 12px;
  }

  .bsm-footer-bottom-left,
  .bsm-footer-bottom-right,
  .bsm-footer-bottom {
    text-align: center;
    width: 100%;
  }

  footer.ct-footer [data-row="bottom"] [data-column]:first-child,
  footer.ct-footer [data-row="bottom"] [data-column]:last-child {
    justify-content: center;
  }
}

/* =========================
   BSM Main Mobile Final CTA Fix
   Removes divider line and fixes button clipping
========================= */

@media (max-width: 768px) {

  /* Remove the line above the final CTA/state section */
  .bsm-final-cta,
  .bsm-state-routing,
  .bsm-reviews-section,
  .bsm-rates-section {
    border-top: none !important;
    box-shadow: none !important;
  }

  .bsm-final-cta::before,
  .bsm-final-cta::after,
  .bsm-state-routing::before,
  .bsm-state-routing::after,
  .bsm-reviews-section::before,
  .bsm-reviews-section::after,
  .bsm-rates-section::before,
  .bsm-rates-section::after {
    display: none !important;
    content: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* Final CTA mobile container */
  .bsm-final-cta {
    padding: 34px 16px 64px !important;
    margin: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  .bsm-final-cta__inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 42px 22px 44px !important;
    margin: 0 auto !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at top left, rgba(0, 74, 208, 0.10), transparent 34%),
      linear-gradient(135deg, #f8fbff 0%, #eef4ff 52%, #ffffff 100%) !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08) !important;
  }

  .bsm-final-cta h2 {
    max-width: 100% !important;
    margin: 0 auto 18px !important;
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
  }

  .bsm-final-cta p {
    max-width: 100% !important;
    margin: 0 auto 28px !important;
    font-size: 21px !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  /* Fix Florida / Maine button clipping */
  .bsm-final-cta__buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .bsm-final-cta__buttons a,
  .bsm-final-cta__buttons a:link,
  .bsm-final-cta__buttons a:visited,
  .bsm-final-cta__buttons .bsm-btn,
  .bsm-final-cta__buttons .bsm-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 64px !important;
    padding: 18px 22px !important;
    border-radius: 999px !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .bsm-final-cta__buttons a:first-child,
  .bsm-final-cta__buttons a:first-child:link,
  .bsm-final-cta__buttons a:first-child:visited {
    background: #004AD0 !important;
    color: #ffffff !important;
    border: 2px solid #004AD0 !important;
  }

  .bsm-final-cta__buttons a:nth-child(2),
  .bsm-final-cta__buttons a:nth-child(2):link,
  .bsm-final-cta__buttons a:nth-child(2):visited {
    background: #ffffff !important;
    color: #004AD0 !important;
    border: 2px solid #004AD0 !important;
  }
}

/* =========================
   BSM Main Mobile Final CTA Center Fix
========================= */

@media (max-width: 768px) {

  .bsm-final-cta {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  .bsm-final-cta__inner {
    width: min(100%, 640px) !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .bsm-final-cta__buttons {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 768px) {
  .entry-content .bsm-final-cta {
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    right: auto !important;
  }
}

/* =========================
   BSM Main Mobile Hero + Button Tighten
========================= */

@media (max-width: 768px) {

  /* Tighten hero on mobile */
  .bsm-home-hero {
    padding: 38px 18px 52px !important;
    margin-top: 0 !important;
  }

  .bsm-home-hero h1 {
    font-size: clamp(38px, 10.5vw, 52px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    margin-bottom: 22px !important;
  }

  .bsm-home-hero__text {
    font-size: 19px !important;
    line-height: 1.55 !important;
    margin-bottom: 28px !important;
  }

  /* Reduce all big pill buttons on mobile */
  a.bsm-btn,
  .bsm-btn,
  .bsm-button,
  .bsm-home-hero__buttons a,
  .bsm-final-cta__buttons a,
  .bsm-state-routing a,
  .bsm-state-card,
  .wp-element-button,
  .ct-button {
    min-height: 52px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 20px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .bsm-home-hero__buttons,
  .bsm-final-cta__buttons {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  /* Final CTA/state buttons specifically */
  .bsm-final-cta {
    padding: 30px 16px 54px !important;
  }

  .bsm-final-cta__inner {
    padding: 34px 20px 38px !important;
    border-radius: 24px !important;
  }

  .bsm-final-cta h2 {
    font-size: clamp(34px, 9.5vw, 48px) !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
  }

  .bsm-final-cta p {
    font-size: 19px !important;
    line-height: 1.55 !important;
    margin-bottom: 24px !important;
  }

  .bsm-final-cta__buttons a,
  .bsm-final-cta__buttons .bsm-btn,
  .bsm-final-cta__buttons .bsm-button {
    min-height: 54px !important;
    padding: 14px 20px !important;
    font-size: 18px !important;
  }

  /* Trust strip smaller on mobile */
  .bsm-trust-strip__inner {
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    gap: 10px !important;
  }
}

/* =========================
   BSM MAIN MOBILE BUTTON OVERRIDE
   Stronger fix for oversized mobile buttons
========================= */

@media (max-width: 768px) {

  /* HERO BUTTONS: Florida / Maine */
  .home .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn,
  .home .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn-primary,
  .home .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn-secondary,
  .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn,
  .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn-primary,
  .bsm-home-hero .bsm-home-hero__buttons a.bsm-btn-secondary {
    width: 100% !important;
    max-width: 310px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    font-size: 16.5px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .home .bsm-home-hero .bsm-home-hero__buttons,
  .bsm-home-hero .bsm-home-hero__buttons {
    width: 100% !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 12px !important;
  }

  /* FINAL CTA BUTTONS: Florida / Maine */
  .home .bsm-final-cta .bsm-final-cta__buttons a,
  .home .bsm-final-cta .bsm-final-cta__buttons a.bsm-btn,
  .home .bsm-final-cta .bsm-final-cta__buttons a.bsm-button,
  .bsm-final-cta .bsm-final-cta__buttons a,
  .bsm-final-cta .bsm-final-cta__buttons a.bsm-btn,
  .bsm-final-cta .bsm-final-cta__buttons a.bsm-button {
    width: 100% !important;
    max-width: 310px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    font-size: 16.5px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  .home .bsm-final-cta .bsm-final-cta__buttons,
  .bsm-final-cta .bsm-final-cta__buttons {
    width: 100% !important;
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 12px !important;
  }

  /* GENERAL BSM CTA BUTTONS ON MOBILE PAGES */
  .entry-content a.bsm-btn,
  .entry-content a.bsm-btn-primary,
  .entry-content a.bsm-btn-secondary,
  .entry-content a.bsm-button,
  .entry-content a.bsm-button--primary,
  .entry-content a.bsm-button--outline,
  .entry-content a.bsm-contact-btn,
  .entry-content a.bsm-action-btn,
  .entry-content a.bsm-action-btn-primary,
  .entry-content a[class*="btn"]:not(.bsm-state-card),
  .entry-content a[class*="button"]:not(.bsm-state-card) {
    max-width: 310px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 18px !important;
    font-size: 16.5px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
  }

  /* Button containers */
  .entry-content .wp-block-buttons,
  .entry-content .bsm-home-hero__buttons,
  .entry-content .bsm-final-cta__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  /* Do not shrink full cards as if they are buttons */
  .entry-content a.bsm-state-card,
  .bsm-state-routing a.bsm-state-card {
    max-width: 100% !important;
    min-height: auto !important;
    padding: 26px 22px !important;
    font-size: inherit !important;
    border-radius: 20px !important;
  }
}

/* =========================
   BSM Home Rate Factors Card Fix
   Prevents text from cutting off
========================= */

.bsm-rate-factors,
.bsm-rate-factors *,
.bsm-rate-section,
.bsm-rate-section *,
.bsm-pricing-factors,
.bsm-pricing-factors *,
.bsm-factor-card,
.bsm-rate-factor-card {
  box-sizing: border-box !important;
  overflow: visible !important;
}

.bsm-rate-factors,
.bsm-rate-section,
.bsm-pricing-factors {
  padding-left: clamp(22px, 5vw, 76px) !important;
  padding-right: clamp(22px, 5vw, 76px) !important;
}

.bsm-factor-card,
.bsm-rate-factor-card,
.bsm-rate-factors .wp-block-column,
.bsm-rate-section .wp-block-column,
.bsm-pricing-factors .wp-block-column {
  min-height: 138px !important;
  height: auto !important;
  padding: 24px 24px 22px !important;
  overflow: visible !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.bsm-factor-card h3,
.bsm-rate-factor-card h3,
.bsm-rate-factors h3,
.bsm-rate-section h3,
.bsm-pricing-factors h3 {
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.bsm-factor-card p,
.bsm-rate-factor-card p,
.bsm-rate-factors p,
.bsm-rate-section p,
.bsm-pricing-factors p {
  line-height: 1.55 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Mobile/tablet card cleanup */
@media (max-width: 900px) {
  .bsm-rate-factors,
  .bsm-rate-section,
  .bsm-pricing-factors {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .bsm-factor-card,
  .bsm-rate-factor-card,
  .bsm-rate-factors .wp-block-column,
  .bsm-rate-section .wp-block-column,
  .bsm-pricing-factors .wp-block-column {
    min-height: 0 !important;
    padding: 22px 20px !important;
  }
}

/* ================================
   BSM Footer Brand - Left Aligned
================================ */

.bsm-footer-brand {
  text-align: left !important;
  max-width: 360px;
  margin: 0;
  padding: 0;
}

.bsm-footer-brand .bsm-footer-logo-image {
  display: block;
  width: 240px;
  max-width: 100%;
  height: auto;
  margin: 0 0 18px 0;
}

.bsm-footer-brand p {
  text-align: left !important;
  margin: 0 0 18px 0;
  max-width: 340px;
  color: #24345f;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
}

.bsm-footer-brand p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   BSM GET STARTED FORM - CLEAN FINAL RESET
   Page ID 952
   One centered card, no ghost wrapper
========================================================= */

/* Heading */
body.page-id-952 h2.wp-block-heading {
  max-width: 900px !important;
  margin: 42px auto 8px !important;
  text-align: center !important;
  color: #17315F !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}

body.page-id-952 h2.wp-block-heading + p {
  max-width: 760px !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
  color: #5C6C86 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Kill ALL outer/wrapper cards */
body.page-id-952 .wp-block-jetpack-contact-form,
body.page-id-952 .wp-block-jetpack-contact-form-container,
body.page-id-952 .wp-block-group:has(.wp-block-jetpack-contact-form),
body.page-id-952 .wp-block-columns:has(.wp-block-jetpack-contact-form),
body.page-id-952 .wp-block-column:has(.wp-block-jetpack-contact-form) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Make the actual form the ONLY card */
body.page-id-952 .wp-block-jetpack-contact-form form,
body.page-id-952 form.contact-form,
body.page-id-952 form.grunion-contact-form {
  width: min(760px, calc(100vw - 48px)) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 30px 34px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 74, 208, 0.12) !important;
  border-radius: 26px !important;
  box-shadow: 0 18px 42px rgba(20, 49, 95, 0.10) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Keep everything inside the card */
body.page-id-952 .wp-block-jetpack-contact-form form *,
body.page-id-952 form.contact-form *,
body.page-id-952 form.grunion-contact-form * {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* Field spacing */
body.page-id-952 form.contact-form p,
body.page-id-952 form.grunion-contact-form p,
body.page-id-952 .grunion-field-wrap,
body.page-id-952 [class*="wp-block-jetpack-field"] {
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

/* Labels */
body.page-id-952 form.contact-form label,
body.page-id-952 form.grunion-contact-form label,
body.page-id-952 .grunion-field-label {
  display: block !important;
  margin: 0 0 5px !important;
  color: #17315F !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

/* Inputs */
body.page-id-952 form.contact-form input,
body.page-id-952 form.contact-form select,
body.page-id-952 form.contact-form textarea,
body.page-id-952 form.grunion-contact-form input,
body.page-id-952 form.grunion-contact-form select,
body.page-id-952 form.grunion-contact-form textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #D9E4F3 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #17315F !important;
  font-size: 15px !important;
  font-family: inherit !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Field height */
body.page-id-952 form.contact-form input,
body.page-id-952 form.contact-form select,
body.page-id-952 form.grunion-contact-form input,
body.page-id-952 form.grunion-contact-form select {
  height: 46px !important;
  min-height: 46px !important;
  padding: 9px 15px !important;
}

/* Phone field */
body.page-id-952 form.contact-form .iti,
body.page-id-952 form.grunion-contact-form .iti {
  width: 100% !important;
}

/* Message box */
body.page-id-952 form.contact-form textarea,
body.page-id-952 form.grunion-contact-form textarea {
  height: 120px !important;
  min-height: 120px !important;
  padding: 12px 15px !important;
  resize: vertical !important;
}

/* Submit button */
body.page-id-952 form.contact-form button[type="submit"],
body.page-id-952 form.contact-form input[type="submit"],
body.page-id-952 form.grunion-contact-form button[type="submit"],
body.page-id-952 form.grunion-contact-form input[type="submit"] {
  width: 100% !important;
  min-height: 50px !important;
  margin-top: 8px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #004AD0 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 14px 28px rgba(0, 74, 208, 0.22) !important;
  cursor: pointer !important;
}

/* Mobile */
@media (max-width: 767px) {
  body.page-id-952 .wp-block-jetpack-contact-form form,
  body.page-id-952 form.contact-form,
  body.page-id-952 form.grunion-contact-form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px 18px !important;
  }
}

/* Slightly tighten Get Started form spacing */
body.page-id-952 .wp-block-jetpack-contact-form,
body.page-id-952 form.contact-form,
body.page-id-952 form.grunion-contact-form {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

body.page-id-952 .wp-block-jetpack-contact-form p,
body.page-id-952 .wp-block-jetpack-contact-form .grunion-field-wrap,
body.page-id-952 .wp-block-jetpack-contact-form [class*="wp-block-jetpack-field"] {
  margin-bottom: 12px !important;
}

body.page-id-952 .wp-block-jetpack-contact-form textarea,
body.page-id-952 form.contact-form textarea,
body.page-id-952 form.grunion-contact-form textarea {
  height: 105px !important;
  min-height: 105px !important;
}

/* =========================
   FIX LOAN PROGRAMS CTA CARD CLIPPING
   Override global card/panel overflow rules
========================= */

.page-id-943 .bsm-loan-cta-band,
.page-id-943 .bsm-loan-cta-band *,
.page-id-943 .bsm-loan-cta-band__inner,
.page-id-943 .bsm-loan-cta-band__panel,
.page-id-943 .bsm-loan-cta-band__left,
.page-id-943 .bsm-loan-cta-band__right,
.page-id-943 .bsm-loan-cta-band__card,
.page-id-943 .bsm-loan-cta-band__card-title,
.page-id-943 .bsm-loan-cta-band__card-text,
.page-id-943 .bsm-loan-cta-band__buttons {
  box-sizing: border-box !important;
}

.page-id-943 .bsm-loan-cta-band,
.page-id-943 .bsm-loan-cta-band__inner,
.page-id-943 .bsm-loan-cta-band__right,
.page-id-943 .bsm-loan-cta-band__card,
.page-id-943 .bsm-loan-cta-band__card-title,
.page-id-943 .bsm-loan-cta-band__card-text,
.page-id-943 .bsm-loan-cta-band__buttons {
  overflow: visible !important;
}

/* Keep the blue panel rounded without clipping the white card */
.page-id-943 .bsm-loan-cta-band__panel {
  overflow: visible !important;
  border-radius: 20px !important;
}

/* Make sure the white card has enough internal space */
.page-id-943 .bsm-loan-cta-band__card {
  width: 100% !important;
  max-width: 430px !important;
  min-height: auto !important;
  height: auto !important;
  padding: 34px 34px 32px !important;
  border-radius: 20px !important;
}

/* Prevent title/text clipping */
.page-id-943 .bsm-loan-cta-band__card-title,
.page-id-943 .bsm-loan-cta-band__card-text {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: unset !important;
}

/* Let the right side card breathe */
.page-id-943 .bsm-loan-cta-band__right {
  max-width: 430px !important;
  min-width: 0 !important;
  justify-self: end !important;
}

/* Desktop layout */
.page-id-943 .bsm-loan-cta-band__panel {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;
}

/* Tablet/mobile stack */
@media (max-width: 900px) {
  .page-id-943 .bsm-loan-cta-band__panel {
    grid-template-columns: 1fr !important;
  }

  .page-id-943 .bsm-loan-cta-band__right {
    width: 100% !important;
    max-width: 460px !important;
    justify-self: start !important;
  }

  .page-id-943 .bsm-loan-cta-band__card {
    max-width: 460px !important;
  }
}

@media (max-width: 640px) {
  .page-id-943 .bsm-loan-cta-band__right,
  .page-id-943 .bsm-loan-cta-band__card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-id-943 .bsm-loan-cta-band__card {
    padding: 26px 22px 24px !important;
  }
}