/* =========================================================
   Bizbefikar – industry-grade static UI/UX layer
   ========================================================= */

/* ---- Font Awesome 5 Free (solid) – local webfonts ---- */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2") format("woff2"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff") format("woff"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.ttf") format("truetype");
}
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-regular-400.woff2") format("woff2"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-regular-400.woff") format("woff"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-regular-400.ttf") format("truetype");
}
@font-face {
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-brands-400.woff2") format("woff2"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-brands-400.woff") format("woff"),
       url("../wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-brands-400.ttf") format("truetype");
}

/* Explicit FA glyph content (works even if all.min.css order fails) */
.fas.fa-gem::before,
.fa.fa-gem::before { content: "\f3a5"; }
.fas.fa-users::before,
.fa.fa-users::before { content: "\f0c0"; }
.fas.fa-briefcase::before,
.fa.fa-briefcase::before { content: "\f0b1"; }
.fas.fa-award::before,
.fa.fa-award::before { content: "\f559"; }
.fas.fa-check-circle::before { content: "\f058"; }
.fas.fa-chevron-down::before { content: "\f078"; }
.fas.fa-bars::before { content: "\f0c9"; }
.fas.fa-times::before { content: "\f00d"; }
.fas.fa-arrow-right::before { content: "\f061"; }
.fab.fa-whatsapp::before { content: "\f232"; font-family: "Font Awesome 5 Brands" !important; font-weight: 400 !important; }

/* ---- Local Eucular (Euclid Circular A) ---- */
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Eucular";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../wp-content/uploads/2024/07/Euclid-Circular-A-Bold.ttf") format("truetype");
}

/* =========================================================
   CRITICAL: Elementor animations leave .elementor-invisible
   at opacity:0 when frontend JS doesn't run — force visible
   ========================================================= */
.elementor-invisible,
.elementor-element.elementor-invisible,
.elementor.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

/* ---- Typography system (professional pairing) ---- */
:root {
  --bb-navy: #1c4e95;
  --bb-navy-dark: #0f2f5c;
  --bb-ink: #0f172a;
  --bb-body: #334155;
  --bb-muted: #64748b;
  --bb-line: #e2e8f0;
  --bb-soft: #eef5ff;
  --bb-surface: #f8fafc;
  --bb-font: "Eucular", "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bb-display: "DM Sans", "Eucular", system-ui, sans-serif;
}

html {
  scroll-behavior: smooth;
  /* Prevent horizontal jump when scrollbar appears on refresh */
  scrollbar-gutter: stable;
  overflow-y: scroll;
}
body {
  font-family: var(--bb-font) !important;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bb-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Headings: clear hierarchy + real bold where needed */
h1, .elementor-heading-title.elementor-size-xxl,
h1.elementor-heading-title {
  font-family: var(--bb-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: var(--bb-ink);
  line-height: 1.15 !important;
}
h2, h2.elementor-heading-title {
  font-family: var(--bb-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  color: var(--bb-ink);
  line-height: 1.2 !important;
}
/* Footer is navy – never inherit body ink color on footer headings */
.elementor-location-footer h2,
.elementor-location-footer h2.elementor-heading-title,
.elementor-location-footer h3,
.elementor-location-footer h3.elementor-heading-title,
.elementor-62 h2,
.elementor-62 h2.elementor-heading-title,
.elementor-62 h3,
.elementor-62 h3.elementor-heading-title {
  color: #ffffff !important;
}
h3, h3.elementor-heading-title {
  font-family: var(--bb-display) !important;
  font-weight: 700 !important;
  color: var(--bb-ink);
  line-height: 1.25 !important;
}
h4, h4.elementor-heading-title {
  font-family: var(--bb-font) !important;
  font-weight: 600 !important;
  color: var(--bb-ink);
}
h5, h5.elementor-heading-title {
  font-family: var(--bb-font) !important;
  font-weight: 600 !important;
}
h6, h6.elementor-heading-title {
  font-family: var(--bb-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.8rem !important;
  color: var(--bb-navy) !important;
}

/* Body copy – readable, not tiny */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  font-family: var(--bb-font) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--bb-body) !important;
}
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b,
strong, b {
  font-weight: 700 !important;
  color: var(--bb-ink);
}

img {
  max-width: 100%;
  height: auto;
}
.site-logo img,
.elementor-widget-image img[src*="logo"],
.bb-logo img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
}

/* =========================================================
   HEADER – sticky + megamenu (hover bridge) + off-canvas
   ========================================================= */

/* Hide original Elementor logo/nav ALWAYS (not only after JS)
   — stops width/layout flash on refresh when custom header injects */
.elementor-42 .elementor-element-a840ab1,
.elementor-location-header .elementor-element-a840ab1 {
  display: none !important;
}

.bb-header-bar {
  position: sticky;
  top: 0;
  z-index: 10050;
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06), 0 8px 24px rgba(28, 78, 149, 0.06);
  /* stable height so content doesn't jump */
  min-height: 78px;
}
.bb-header-inner {
  max-width: 1366px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 24px; /* top + bottom padding */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  min-height: 78px;
}
.bb-logo {
  flex: 0 0 auto;
  line-height: 0;
}
.bb-logo img {
  height: 46px;
  width: auto;
  max-width: 200px;
  display: block;
}
.bb-nav-desktop {
  display: none;
  align-items: center;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.bb-nav-desktop > li {
  position: relative;
}
/* Invisible bridge so menu doesn't close when moving to mega */
.bb-nav-desktop > li.bb-has-mega::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
  background: transparent;
}
.bb-nav-desktop > li > a,
.bb-nav-desktop > li > .bb-nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 14px;
  color: var(--bb-ink);
  font-family: var(--bb-font);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  background: transparent;
  border-radius: 10px;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
  line-height: 1.2;
}
.bb-nav-desktop > li > a:hover,
.bb-nav-desktop > li:hover > a,
.bb-nav-desktop > li:hover > .bb-nav-trigger,
.bb-nav-desktop > li.is-open > .bb-nav-trigger,
.bb-nav-desktop > li.is-open > a {
  color: var(--bb-navy);
  background: var(--bb-soft);
}
.bb-nav-desktop .bb-caret {
  font-size: 11px;
  opacity: 0.75;
  transition: transform 0.2s;
}
.bb-nav-desktop > li:hover .bb-caret,
.bb-nav-desktop > li.is-open .bb-caret {
  transform: rotate(180deg);
}

/* Megamenu – delayed close handled in JS; CSS keeps open on li:hover */
.bb-mega {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  top: calc(100% + 6px);
  width: min(960px, 94vw);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.14);
  border: 1px solid rgba(28, 78, 149, 0.1);
  padding: 24px 22px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 10060;
}
/* Keep open while hovering parent OR mega itself */
.bb-nav-desktop > li:hover > .bb-mega,
.bb-nav-desktop > li.is-open > .bb-mega,
.bb-mega:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.bb-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 20px;
}
.bb-mega-col h4 {
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--bb-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bb-navy);
  font-family: var(--bb-font);
}
.bb-mega-col a {
  display: block;
  padding: 8px 10px;
  margin: 0 -6px 2px;
  border-radius: 8px;
  color: var(--bb-body);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.bb-mega-col a:hover {
  background: var(--bb-soft);
  color: var(--bb-navy);
  font-weight: 600;
}
.bb-header-cta {
  display: none;
  align-items: center;
  gap: 10px;
}
.bb-header-cta a.bb-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bb-navy);
  color: #fff !important;
  padding: 11px 18px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  box-shadow: 0 6px 16px rgba(28, 78, 149, 0.25);
}
.bb-header-cta a.bb-btn:hover {
  background: var(--bb-navy-dark);
  transform: translateY(-1px);
}
.bb-burger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--bb-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1c4e95 !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 0 !important;
  z-index: 10060 !important;
  position: relative !important;
  box-shadow: 0 2px 8px rgba(15, 47, 92, 0.08);
  appearance: none !important;
  -webkit-appearance: none !important;
}
.bb-burger:hover {
  background: var(--bb-soft) !important;
  color: #0f2f5c !important;
}
.bb-burger-icon,
.bb-burger svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  color: inherit !important;
  fill: currentColor !important;
  pointer-events: none;
}
.bb-offcanvas-close svg {
  display: block;
  width: 20px;
  height: 20px;
}

@media (min-width: 1025px) {
  .bb-nav-desktop { display: flex; }
  .bb-header-cta { display: flex; }
  .bb-burger { display: none !important; }
}
@media (max-width: 1024px) {
  .bb-nav-desktop { display: none !important; }
  .bb-header-cta { display: none !important; }
  .bb-burger { display: inline-flex !important; }
  .bb-header-inner {
    justify-content: space-between !important;
  }
}

/* Off-canvas mobile – expert UX (no white flash) */
.bb-offcanvas-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  z-index: 10070;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.bb-offcanvas-overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.bb-offcanvas {
  position: fixed;
  top: 0;
  right: 0;
  width: min(340px, 90vw);
  height: 100%;
  height: 100dvh;
  max-height: 100dvh;
  background: #f1f5f9;
  z-index: 10080;
  transform: translateX(105%);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  box-shadow: -16px 0 48px rgba(0, 0, 0, 0.18);
  color: #0f172a;
}
.bb-offcanvas.is-open { transform: translateX(0); }
.bb-offcanvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #e2e8f0;
  background: #ffffff;
  flex-shrink: 0;
}
.bb-offcanvas-head img { height: 34px; width: auto; max-width: 140px; display: block; }
.bb-offcanvas-close {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f1f5f9;
  color: #1c4e95;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid #e2e8f0;
  padding: 0;
  flex-shrink: 0;
}
.bb-offcanvas-close:active { background: #e2e8f0; }
.bb-offcanvas-body {
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
  padding: 12px 12px calc(24px + env(safe-area-inset-bottom, 0px));
  -webkit-overflow-scrolling: touch;
  background: #f1f5f9;
  overscroll-behavior: contain;
}

/* Nav list */
.bb-off-nav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: transparent !important;
}
.bb-off-nav > li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none !important;
  border: none !important;
}
.bb-off-nav > li::before,
.bb-off-nav > li::after { display: none !important; content: none !important; }

.bb-off-nav > li > a,
.bb-off-toggle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  padding: 13px 14px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  box-shadow: 0 1px 2px rgba(15, 47, 92, 0.04);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  appearance: none;
  -webkit-appearance: none;
  margin: 0 !important;
}
.bb-off-nav > li > a:hover,
.bb-off-nav > li > a:active,
.bb-off-toggle:hover,
.bb-off-toggle:active {
  background: #e8f1fc !important;
  border-color: #c5daf5 !important;
  color: #1c4e95 !important;
}
.bb-off-toggle-label {
  flex: 1 1 auto;
  text-align: left;
  color: inherit;
}
.bb-off-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  transition: transform 0.2s ease, background 0.15s, color 0.15s;
  flex-shrink: 0;
}
.bb-off-chevron svg { display: block; }
.bb-off-svc.is-open .bb-off-chevron {
  transform: rotate(180deg);
  background: #dbeafe;
  color: #1c4e95;
}
.bb-off-svc.is-open .bb-off-toggle {
  background: #e8f1fc !important;
  border-color: #b6d0ef !important;
  color: #1c4e95 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none;
}

/* Services accordion – soft navy panel (never empty white flash) */
.bb-off-svc {
  background: transparent !important;
}
.bb-off-sub {
  display: none;
  margin: 0 0 2px !important;
  padding: 6px 8px 10px !important;
  background: #e8f1fc !important;
  border: 1px solid #b6d0ef !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: none !important;
  color: #0f172a !important;
}
.bb-off-svc.is-open .bb-off-sub {
  display: block !important;
}
.bb-off-sub[hidden] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
}
.bb-off-group {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
}
.bb-off-group:last-of-type {
  margin-bottom: 4px !important;
}
.bb-off-group-title {
  margin: 6px 6px 4px !important;
  padding: 0 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #1c4e95 !important;
  line-height: 1.25 !important;
  background: transparent !important;
  border: none !important;
}
.bb-off-link {
  display: block !important;
  padding: 9px 11px !important;
  margin: 1px 0 !important;
  color: #1e293b !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: none !important;
  transition: background 0.12s, color 0.12s;
}
.bb-off-link:hover,
.bb-off-link:active {
  background: #ffffff !important;
  color: #1c4e95 !important;
  font-weight: 600 !important;
}
.bb-off-link-all {
  margin-top: 6px !important;
  color: #1c4e95 !important;
  font-weight: 700 !important;
  background: #ffffff !important;
  text-align: center !important;
  border: 1px solid #c5daf5 !important;
}

/* Menu CTA buttons – solid full-width pills */
.bb-off-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding: 12px 2px 4px !important;
  border-top: 1px solid #e2e8f0;
  background: transparent !important;
}
.bb-off-btn,
a.bb-off-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
  padding: 13px 16px !important;
  border-radius: 12px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-align: center !important;
  border: none !important;
  box-shadow: 0 8px 18px rgba(15, 47, 92, 0.14) !important;
  transition: transform 0.12s, filter 0.15s, background 0.15s !important;
  cursor: pointer !important;
}
.bb-off-btn:active {
  transform: scale(0.98);
}
.bb-off-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: block;
}
.bb-off-btn-primary,
a.bb-off-btn-primary {
  background: #1c4e95 !important;
  color: #ffffff !important;
}
.bb-off-btn-primary:hover,
a.bb-off-btn-primary:hover {
  background: #0f2f5c !important;
  color: #ffffff !important;
  filter: brightness(1.02);
}
.bb-off-btn-wa,
a.bb-off-btn-wa {
  background: #25d366 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(37, 211, 102, 0.28) !important;
}
.bb-off-btn-wa:hover,
a.bb-off-btn-wa:hover {
  background: #1ebe57 !important;
  color: #ffffff !important;
}
.bb-off-cta {
  display: none !important;
}
/* Original Elementor nav already hidden globally above */
body.has-bb-header .elementor-location-header .elementor-menu-toggle {
  display: none !important;
}

/* Off-canvas open: keep body width stable (no scrollbar jump) */
body.bb-nav-open {
  overflow: hidden;
  padding-right: var(--bb-scrollbar-w, 0px);
}
body.has-bb-header .elementor-42 .elementor-element-143e75f a {
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}
body.has-bb-header .elementor-42 .elementor-social-icon {
  background-color: transparent !important;
  color: #fff !important;
}
body.has-bb-header .elementor-42 .elementor-social-icon svg {
  fill: #fff !important;
  width: 14px;
  height: 14px;
}

/* =========================================================
   HOME – About Us section (image + content alignment)
   ========================================================= */
/* Hide revenue badge overlay on about image */
.elementor-1436 .elementor-element-13efece1,
.elementor-1436 .elementor-element.elementor-element-13efece1 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Two-column about: image height matches right content */
.elementor-1436 .elementor-element-40f1931e {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}
@media (max-width: 767px) {
  .elementor-1436 .elementor-element-40f1931e {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
    margin-top: 0 !important;
  }
}
.elementor-1436 .elementor-element-40f1931e > .e-con-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important; /* equal row height from content */
  gap: 2.5rem !important;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
}
/* Image column – wide + stretch to content height */
.elementor-1436 .elementor-element-10e42d56 {
  flex: 1 1 50% !important;
  max-width: 560px !important;
  width: 100% !important;
  position: relative !important;
  min-width: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Content column – defines the row height */
.elementor-1436 .elementor-element-1deb25a1 {
  flex: 1 1 48% !important;
  max-width: 560px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: stretch !important;
}

/* Image fills full height of right content */
.elementor-1436 .elementor-element-6335e834 {
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-1436 .elementor-element-6335e834 > .elementor-widget-container {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(15, 47, 92, 0.12);
  background: #e8f0fa;
  line-height: 0;
  display: flex !important;
}
.elementor-1436 .elementor-element-6335e834 img,
.elementor-1436 .bb-about-home-img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 16px !important;
  display: block !important;
  margin: 0 !important;
}

/* Right content typography polish for balance */
.elementor-1436 .elementor-element-1deb25a1 .elementor-heading-title {
  font-weight: 700 !important;
}
.elementor-1436 .elementor-element-138fc47d p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--bb-body) !important;
  font-weight: 400 !important;
}
.elementor-1436 .elementor-element-1deb25a1 .elementor-icon-box-title {
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}
.elementor-1436 .elementor-element-1deb25a1 .elementor-icon-box-description {
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--bb-body) !important;
}

@media (max-width: 1024px) {
  .elementor-1436 .elementor-element-40f1931e > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 1.75rem !important;
    align-items: stretch !important;
  }
  .elementor-1436 .elementor-element-10e42d56,
  .elementor-1436 .elementor-element-1deb25a1 {
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding-left: 0 !important;
  }
  .elementor-1436 .elementor-element-6335e834,
  .elementor-1436 .elementor-element-6335e834 > .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .elementor-1436 .elementor-element-6335e834 img,
  .elementor-1436 .bb-about-home-img {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }
}

/* =========================================================
   HOME – Team / Case studies / Happy clients / Testimonials
   (restored design after image replace)
   ========================================================= */

/* --- Team member cards --- */
.elementor-1436 .elementskit-team-img,
.elementor-1436 .profile-image,
.elementor-1436 .ekit-team-img,
.elementor-1436 .elementor-widget-image img.bb-team-img,
.elementor-1436 img.bb-team-img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 12px !important;
  display: block !important;
  max-width: 100% !important;
}
/* Team image wrappers */
.elementor-1436 .elementor-widget-image:has(.bb-team-img) .elementor-widget-container,
.elementor-1436 .elementor-element:has(.bb-team-img) .elementor-widget-container {
  overflow: hidden;
  border-radius: 12px;
}

/* --- Case study images (wide banners) --- */
.elementor-1436 img.bb-case-img {
  width: 100% !important;
  height: 200px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 12px 12px 0 0 !important;
  display: block !important;
}
.elementor-1436 .elementor-widget-image:has(.bb-case-img) .elementor-widget-container {
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  line-height: 0;
}

/* --- Generic home section photos (not testimonials – those are larger below) --- */
.elementor-1436 img.bb-section-img:not([src*="bb-testimonials-office"]) {
  width: 100% !important;
  height: auto !important;
  min-height: 280px !important;
  max-height: 420px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 16px !important;
  display: block !important;
}

/* --- Testimonials avatars (critical) --- */
.elementor-1436 .elementskit-commentor-image,
.elementor-1436 .ekit-testimonial--avatar,
.elementskit-commentor-image,
.ekit-testimonial--avatar {
  width: 70px !important;
  height: 70px !important;
  min-width: 70px !important;
  min-height: 70px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  display: block !important;
  line-height: 0 !important;
  background: #eef5ff !important;
}
.elementor-1436 .elementskit-commentor-image img,
.elementor-1436 .ekit-testimonial--avatar img,
.elementskit-commentor-image img,
.ekit-testimonial--avatar img,
img.bb-avatar-img {
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  max-height: 70px !important;
  min-width: 70px !important;
  min-height: 70px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 50% !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin: 0 !important;
}
/* Base visibility for testimonial widget (layout details in HOME block below) */
.elementor-1436 .elementskit-testimonial-slider,
.elementor-1436 .ekit-main-swiper,
.elementor-1436 .swiper-wrapper,
.elementor-1436 .swiper-slide {
  min-height: 0;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-1436 .elementor-element-298656b6 {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Generic section images (about content, partner, etc.) */
body.page img.bb-section-img,
body.page-id-7 img.bb-section-img,
.elementor-7 img.bb-section-img,
img.bb-section-img {
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 16px !important;
  display: block !important;
}
body.page .elementor-widget-image:has(.bb-section-img) .elementor-widget-container,
.elementor-7 .elementor-widget-image:has(.bb-section-img) .elementor-widget-container {
  overflow: hidden;
  border-radius: 16px;
  line-height: 0;
}

/* =========================================================
   CAREER PAGE – hero + content fix
   ========================================================= */
body.page-id-2337,
body.bb-career-page {
  overflow-x: hidden;
}

/* Hero banner */
.elementor-2337 .elementor-element-3809be2,
body.bb-career-page .elementor-element-3809be2 {
  position: relative !important;
  min-height: 380px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: url("../wp-content/uploads/generated/bb-career-office.jpg") !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-2337 .elementor-element-3809be2 > .elementor-background-overlay,
body.bb-career-page .elementor-element-3809be2 > .elementor-background-overlay {
  background: linear-gradient(
    120deg,
    rgba(12, 36, 74, 0.88) 0%,
    rgba(28, 78, 149, 0.78) 50%,
    rgba(15, 47, 92, 0.84) 100%
  ) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
.elementor-2337 .elementor-element-3809be2 > .elementor-container {
  min-height: 380px !important;
  position: relative;
  z-index: 1;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 3.5rem 1.5rem !important;
}
/* Hero text – readable on dark banner */
.elementor-2337 .elementor-element-3809be2 .elementor-heading-title,
.elementor-2337 .elementor-element-b0b2282 .elementor-heading-title,
.elementor-2337 .elementor-element-631e2738 .elementor-heading-title,
.elementor-2337 .elementor-element-7a59105c .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.elementor-2337 .elementor-element-b0b2282 .elementor-heading-title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  opacity: 0.95;
}
.elementor-2337 .elementor-element-b0b2282 .elementor-heading-title b {
  color: #fff !important;
}
.elementor-2337 .elementor-element-631e2738 .elementor-heading-title {
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 700 !important;
  margin: 0.35rem 0 0.75rem !important;
}
.elementor-2337 .elementor-element-7a59105c .elementor-heading-title {
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Kill broken 200px side margins on hero subtitle */
.elementor-2337 .elementor-element-7a59105c > .elementor-widget-container {
  margin: 0 auto !important;
  max-width: 640px !important;
  padding: 0 0.5rem !important;
}

/* Career main content: image + text equal columns */
.elementor-2337 .elementor-element-62d8afc2 {
  padding: 3.5rem 1.25rem !important;
  max-width: 1140px;
  margin: 0 auto !important;
}
.elementor-2337 .elementor-element-62d8afc2 > .elementor-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 2.5rem !important;
  max-width: 1140px;
}
.elementor-2337 .elementor-element-40a89704,
.elementor-2337 .elementor-element-64ff9d4d {
  width: 50% !important;
  max-width: 50% !important;
  flex: 1 1 50% !important;
  align-self: stretch !important;
}
.elementor-2337 .elementor-element-40a89704 .elementor-widget-wrap,
.elementor-2337 .elementor-element-63c035f7,
.elementor-2337 .elementor-element-63c035f7 .elementor-widget-container {
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-2337 .elementor-element-63c035f7 img,
.elementor-2337 img.bb-section-img,
.elementor-2337 img[src*="bb-career-office"] {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 16px !important;
  display: block !important;
}
.elementor-2337 .elementor-element-63c035f7 .elementor-widget-container {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(15, 47, 92, 0.1);
  background: #eef5ff;
}
.elementor-2337 .elementor-element-64ff9d4d .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 0.5rem 0 !important;
}
.elementor-2337 .elementor-element-442b9771 .elementor-heading-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--bb-ink) !important;
  line-height: 1.25 !important;
}
.elementor-2337 .elementor-element-613e8241 .elementor-heading-title,
.elementor-2337 .elementor-element-613e8241 {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--bb-body) !important;
  text-align: left !important;
}

@media (max-width: 1024px) {
  .elementor-2337 .elementor-element-62d8afc2 > .elementor-container {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .elementor-2337 .elementor-element-40a89704,
  .elementor-2337 .elementor-element-64ff9d4d {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  .elementor-2337 .elementor-element-63c035f7 img,
  .elementor-2337 img[src*="bb-career-office"] {
    height: auto !important;
    min-height: 280px !important;
    max-height: 400px !important;
  }
  .elementor-2337 .elementor-element-3809be2 > .elementor-container {
    min-height: 300px !important;
    padding: 2.5rem 1.25rem !important;
  }
}

/* =========================================================
   HOME – Drive Forward (original layout + readable type)
   ========================================================= */
.elementor-1436 .elementor-element-614d27 {
  position: relative;
  isolation: isolate;
  background-size: cover !important;
  background-position: center center !important;
}
.elementor-1436 .elementor-element-614d27:not(.elementor-motion-effects-element-type-background),
.elementor-1436 .elementor-element-614d27 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("../wp-content/uploads/generated/bb-drive-forward-office.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.elementor-1436 .elementor-element-614d27::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(12, 36, 74, 0.78) 0%,
    rgba(28, 78, 149, 0.68) 55%,
    rgba(15, 47, 92, 0.74) 100%
  );
  z-index: 0;
  pointer-events: none;
}
.elementor-1436 .elementor-element-614d27 > .e-con-inner,
.elementor-1436 .elementor-element-614d27 > .elementor-element {
  position: relative;
  z-index: 1;
}
.elementor-1436 .elementor-element-614d27 .elementor-heading-title {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.elementor-1436 .elementor-element-614d27 .elementor-widget-text-editor,
.elementor-1436 .elementor-element-614d27 .elementor-widget-text-editor p,
.elementor-1436 .elementor-element-5c75d384,
.elementor-1436 .elementor-element-5c75d384 p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-1436 .elementor-element-614d27 .elementor-button {
  background: #fff !important;
  color: var(--bb-navy) !important;
  font-weight: 700 !important;
  border-color: #fff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* =========================================================
   HOME – Services heading + 4-col grid + circular arrows
   ========================================================= */
.elementor-1436 .elementor-element-16734e58 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  position: relative;
}
/* Section title block */
.elementor-1436 .elementor-element-215ba147 {
  align-items: center !important;
  text-align: center !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 0.5rem !important;
}
.elementor-1436 .elementor-element-2c320435 {
  text-align: center !important;
  margin-bottom: 0.65rem !important;
}
/* "Services" label – glass effect pill */
.elementor-1436 .elementor-element-2c320435 .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0.55rem 1.35rem !important;
  color: #1c4e95 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(238, 245, 255, 0.55) 50%,
    rgba(255, 255, 255, 0.45) 100%
  ) !important;
  box-shadow:
    0 8px 24px rgba(28, 78, 149, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 -1px 0 rgba(28, 78, 149, 0.06) !important;
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
.elementor-1436 .elementor-element-38244e4d {
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-1436 .elementor-element-38244e4d .elementor-heading-title {
  color: var(--bb-ink) !important;
  font-size: clamp(1.55rem, 2.8vw, 2.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  margin: 0 auto !important;
  max-width: 22em;
}

/* Services track = horizontal slider, 4 larger cards per row */
.elementor-1436 .elementor-element.elementor-element-1f13befa,
.bb-services-carousel .elementor-element-1f13befa,
.elementor-1436 .elementor-element.elementor-element-1f13befa.bb-services-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 1.35rem !important;
  max-width: 100% !important;
  margin: 0 !important;
  width: 100% !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  grid-template-columns: none !important;
  --e-con-grid-template-columns: none !important;
  padding: 0.5rem 0.15rem 1rem !important;
  cursor: default !important;
}
.elementor-1436 .elementor-element.elementor-element-1f13befa::-webkit-scrollbar,
.bb-services-carousel .elementor-element-1f13befa::-webkit-scrollbar {
  display: none;
  height: 0;
}
/* 4 cards: gap 1.35rem × 3 ≈ 4.05rem */
.bb-services-carousel .bb-service-slide,
.elementor-1436 .elementor-element-1f13befa > .bb-service-slide {
  flex: 0 0 calc((100% - 4.05rem) / 4) !important;
  width: calc((100% - 4.05rem) / 4) !important;
  max-width: calc((100% - 4.05rem) / 4) !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  height: auto !important;
}

/* Shared circular carousel buttons */
.bb-carousel-btn {
  box-sizing: border-box !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1.5px solid rgba(28, 78, 149, 0.18) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--bb-navy) !important;
  box-shadow: 0 6px 18px rgba(15, 47, 92, 0.12) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  overflow: hidden;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}
.bb-carousel-btn:hover {
  background: var(--bb-navy) !important;
  color: #fff !important;
  border-color: var(--bb-navy) !important;
  box-shadow: 0 10px 22px rgba(28, 78, 149, 0.28) !important;
}
.bb-carousel-btn:disabled {
  opacity: 0.35;
  pointer-events: none;
}
.bb-carousel-btn-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  height: 100%;
}
.bb-carousel-btn svg {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.bb-services-carousel {
  position: relative;
  max-width: 1280px;
  margin: 1.15rem auto 0;
  padding: 0 3.4rem 0.25rem;
  width: 100%;
  box-sizing: border-box;
}
.bb-services-carousel.bb-services-carousel--active .bb-carousel-btn {
  display: inline-flex !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
}
.bb-services-carousel .bb-carousel-prev { left: 0; }
.bb-services-carousel .bb-carousel-next { right: 0; }

/* No bottom dots / pointer indicators under services */
.bb-services-dots,
.bb-services-dot {
  display: none !important;
}

/* ---------- Service cards – clean white UI (ref style) ---------- */
.bb-service-slide {
  display: flex !important;
  height: auto !important;
}

/* Clean white cards (Services + Why Choose) – balanced size */
.bb-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  min-height: 300px;
  padding: 1.75rem 1.25rem 1.45rem;
  box-sizing: border-box;
  background: #ffffff;
  background-image: none;
  border: 1px solid #e8eef6;
  border-top: 4px solid #1c4e95;
  border-radius: 4px 4px 10px 10px;
  box-shadow: 0 10px 28px rgba(15, 47, 92, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  overflow: hidden;
}
.bb-svc-card::before,
.bb-svc-card::after {
  display: none !important;
  content: none !important;
}
.bb-svc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(15, 47, 92, 0.13);
  border-color: #d0dff2;
  border-top-color: #1c4e95;
}

.bb-svc-num {
  position: absolute;
  top: 0.9rem;
  left: 1rem;
  z-index: 1;
  font-family: var(--bb-display, "DM Sans", sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #94a3b8;
  line-height: 1;
}

.bb-svc-icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0.25rem auto 1rem;
  color: #0f2f5c;
}
.bb-svc-icon i,
.bb-svc-icon .fas {
  font-size: 2.15rem !important;
  line-height: 1 !important;
  color: #0f2f5c !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  -webkit-font-smoothing: antialiased;
  display: inline-block !important;
}
.bb-svc-card:hover .bb-svc-icon {
  color: #1c4e95;
}
.bb-svc-card:hover .bb-svc-icon i {
  color: #1c4e95 !important;
  transform: scale(1.06);
  transition: transform 0.2s ease, color 0.2s ease;
}

.bb-svc-title {
  position: relative;
  z-index: 1;
  margin: 0 0 0.55rem !important;
  padding: 0 !important;
  font-family: var(--bb-display, "DM Sans", sans-serif) !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  color: #0f172a !important;
}

.bb-svc-desc {
  position: relative;
  z-index: 1;
  margin: 0 0 1.2rem !important;
  padding: 0 !important;
  flex: 1 1 auto;
  font-family: var(--bb-font, "Eucular", sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #64748b !important;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 28ch;
}

.bb-svc-btn {
  position: relative;
  z-index: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 124px;
  margin-top: auto;
  padding: 0.7rem 1.3rem !important;
  border-radius: 4px !important;
  background: #1c4e95 !important;
  color: #ffffff !important;
  font-family: var(--bb-font, "Eucular", sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 8px 16px rgba(28, 78, 149, 0.2);
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.bb-svc-btn:hover,
.bb-svc-btn:focus {
  background: #0f2f5c !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 47, 92, 0.26);
}

@media (max-width: 1100px) {
  .bb-services-carousel .bb-service-slide,
  .elementor-1436 .elementor-element-1f13befa > .bb-service-slide {
    flex: 0 0 calc((100% - 2.7rem) / 3) !important;
    width: calc((100% - 2.7rem) / 3) !important;
    max-width: calc((100% - 2.7rem) / 3) !important;
  }
  .bb-svc-card {
    min-height: 290px;
    padding: 1.55rem 1.15rem 1.3rem;
  }
}
@media (max-width: 900px) {
  .bb-services-carousel .bb-service-slide,
  .elementor-1436 .elementor-element-1f13befa > .bb-service-slide {
    flex: 0 0 calc((100% - 1.35rem) / 2) !important;
    width: calc((100% - 1.35rem) / 2) !important;
    max-width: calc((100% - 1.35rem) / 2) !important;
  }
}
@media (max-width: 640px) {
  /* Wider cards: less side gutter for arrows */
  .bb-services-carousel {
    padding: 0 1.35rem 0.15rem !important;
  }
  .bb-services-carousel .bb-carousel-prev { left: -2px !important; }
  .bb-services-carousel .bb-carousel-next { right: -2px !important; }
  .bb-services-carousel .elementor-element-1f13befa,
  .elementor-1436 .elementor-element.elementor-element-1f13befa.bb-services-track,
  .elementor-1436 .elementor-element.elementor-element-1f13befa {
    gap: 0.85rem !important;
    padding: 0.4rem 0 0.75rem !important;
  }
  .bb-services-carousel .bb-service-slide,
  .elementor-1436 .elementor-element-1f13befa > .bb-service-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  /* Bigger service cards on mobile */
  .bb-svc-card {
    min-height: 320px !important;
    padding: 1.65rem 1.25rem 1.4rem !important;
    gap: 0;
    border-radius: 12px !important;
    border-top-width: 5px !important;
  }
  .bb-svc-num {
    top: 1rem;
    left: 1.1rem;
    font-size: 0.8rem;
  }
  .bb-svc-icon {
    width: 72px;
    height: 72px;
    margin: 0.35rem auto 1rem;
  }
  .bb-svc-icon i {
    font-size: 2.15rem !important;
  }
  .bb-svc-title {
    font-size: 1.15rem !important;
    margin: 0 0 0.55rem !important;
    line-height: 1.3 !important;
  }
  .bb-svc-desc {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    margin: 0 0 1.15rem !important;
    -webkit-line-clamp: 4;
    max-width: none;
  }
  .bb-svc-btn {
    min-width: 140px;
    min-height: 46px;
    padding: 0.75rem 1.35rem !important;
    font-size: 0.92rem !important;
  }
  .elementor-1436 .elementor-element-38244e4d .elementor-heading-title {
    max-width: none;
    font-size: 1.35rem !important;
  }
  .elementor-1436 .elementor-element-16734e58 {
    --padding-top: 1.75rem !important;
    --padding-bottom: 1.75rem !important;
  }
}

/* =========================================================
   HOME – Why Choose Us (KeyDesign-style icon boxes, brand colors)
   Soft white cards, light icon tile, left-aligned title + text
   ========================================================= */
.elementor-1436 .elementor-element-1b64e80c .elementor-heading-title {
  color: var(--bb-navy) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.elementor-1436 .elementor-element-e44d915 {
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-1436 .elementor-element-e44d915 .elementor-heading-title {
  font-size: clamp(1.5rem, 2.5vw, 2.05rem) !important;
  font-weight: 700 !important;
  color: var(--bb-ink) !important;
  line-height: 1.25 !important;
  text-align: left !important;
}
.elementor-1436 .elementor-element-5989069f p {
  text-align: left !important;
}

/* 3 × 2 grid */
.elementor-1436 .elementor-element-56ef14b9 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  --e-con-grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-top: 1.35rem !important;
}

/* Soft white elevated cards */
.elementor-1436 .elementor-element-56ef14b9 > .e-con,
.elementor-1436 .elementor-element-56ef14b9 > .elementor-element,
.elementor-1436 .elementor-element-3410965c,
.elementor-1436 .elementor-element-36cb51b,
.elementor-1436 .elementor-element-424b1d7f,
.elementor-1436 .elementor-element-660d9ac3,
.elementor-1436 .elementor-element-cc59490,
.elementor-1436 .elementor-element-8ab3d05 {
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 47, 92, 0.06) !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 12px 40px rgba(15, 47, 92, 0.07) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
  --padding-top: 1.65rem !important;
  --padding-bottom: 1.55rem !important;
  --padding-left: 1.45rem !important;
  --padding-right: 1.45rem !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  text-align: left !important;
}
.elementor-1436 .elementor-element-56ef14b9 > .e-con:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 44px rgba(15, 47, 92, 0.11) !important;
}

/* Column stack: icon → title → text (KeyDesign layout) */
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-icon {
  margin: 0 !important;
  order: 0;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-content {
  width: 100% !important;
  text-align: left !important;
  order: 1;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-icon-box {
  margin: 0 0 0.35rem !important;
  width: 100% !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-icon-box > .elementor-widget-container,
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-text-editor > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Soft brand icon tile (like reference light square) */
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  border-radius: 14px !important;
  background: #eef5ff !important;
  background-image: none !important;
  color: #1c4e95 !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.2rem !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}
.elementor-1436 .elementor-element-56ef14b9 > .e-con:hover .elementor-icon {
  background: #e2edfc !important;
  transform: translateY(-1px);
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon i,
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon .fas {
  color: #1c4e95 !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  display: inline-block !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon svg {
  width: 1.2em !important;
  height: 1.2em !important;
  max-width: 22px !important;
  max-height: 22px !important;
  fill: #1c4e95 !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-view-stacked .elementor-icon {
  background: #eef5ff !important;
  color: #1c4e95 !important;
  fill: #1c4e95 !important;
  border-radius: 14px !important;
}

.elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #0f172a !important;
  letter-spacing: -0.015em !important;
  text-align: left !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-title span {
  color: inherit !important;
}

/* Short description – tight under title */
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-text-editor {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-text-editor p,
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget-text-editor span {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #6b7280 !important;
  max-width: none !important;
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  text-align: left !important;
}

.elementor-1436 .elementor-element-56ef14b9 .elementor-element {
  --widgets-spacing: 0px !important;
  --widgets-spacing-row: 0px !important;
}
.elementor-1436 .elementor-element-56ef14b9 .elementor-widget:not(:last-child) {
  margin-block-end: 0.45rem !important;
}

/* Optional learn-more look if any link appears */
.elementor-1436 .elementor-element-56ef14b9 a.bb-why-more {
  display: inline-flex;
  margin-top: 0.85rem;
  padding: 0.45rem 0.95rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #1c4e95 !important;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: border-color 0.2s, background 0.2s;
}
.elementor-1436 .elementor-element-56ef14b9 a.bb-why-more:hover {
  border-color: #1c4e95;
  background: #f8fafc;
}

@media (max-width: 1024px) {
  .elementor-1436 .elementor-element-56ef14b9 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .elementor-1436 .elementor-element-56ef14b9 {
    grid-template-columns: 1fr !important;
    --e-con-grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
  }
  .elementor-1436 .elementor-element-56ef14b9 > .e-con {
    --padding-top: 1.25rem !important;
    --padding-bottom: 1.2rem !important;
    --padding-left: 1.15rem !important;
    --padding-right: 1.15rem !important;
  }
}

/* =========================================================
   HOME – Testimonials polish (left image, left-aligned copy)
   ========================================================= */

/* Remove Happy Clients floating badge */
.elementor-1436 .elementor-element-481a7fe2 {
  display: none !important;
}

/* Two-column section: image left = content right (equal width + height) */
.elementor-1436 .elementor-element-723a9b48 {
  --padding-top: 4.5em !important;
  --padding-bottom: 4.5em !important;
}
.elementor-1436 .elementor-element-723a9b48 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 2rem 2.75rem !important;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

/* Left image column – same width share as content */
.elementor-1436 .elementor-element-1f82af71 {
  flex: 1 1 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  width: 50% !important;
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --width: 50% !important;
}
.elementor-1436 .elementor-element-1f82af71 .elementor-element-3a2946ff,
.elementor-1436 .elementor-element-3a2946ff {
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
}
.elementor-1436 .elementor-element-3a2946ff > .elementor-widget-container {
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}

/* Beat Elementor 206px / max-height caps – full equal column image */
.elementor-1436 .elementor-element-1f82af71 img.bb-section-img,
.elementor-1436 .elementor-element-3a2946ff img,
.elementor-1436 .elementor-element.elementor-element-3a2946ff img,
.elementor-1436 .elementor-element-3a2946ff img.bb-section-img,
.elementor-1436 img[src*="bb-testimonials-office"] {
  width: 100% !important;
  height: 100% !important;
  min-height: 560px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 20px !important;
  display: block !important;
  box-shadow: 0 18px 44px rgba(15, 47, 92, 0.12);
}
@media (max-width: 767px) {
  .elementor-1436 .elementor-element.elementor-element-3a2946ff img,
  .elementor-1436 .elementor-element-3a2946ff img {
    height: 320px !important;
    min-height: 320px !important;
  }
}

/* Content column – equal width, LEFT align */
.elementor-1436 .elementor-element-769d8c6a {
  flex: 1 1 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  width: 50% !important;
  --width: 50% !important;
  --align-items: flex-start !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  margin: 0 !important;
  --margin-left: 0px !important;
  --margin-right: 0px !important;
  --padding-top: 0.5rem !important;
  --padding-bottom: 0.5rem !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  align-self: stretch !important;
}
.elementor-1436 .elementor-element-769d8c6a > .e-con-inner {
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-1436 .elementor-element-769d8c6a .elementor-widget,
.elementor-1436 .elementor-element-769d8c6a .elementor-widget-container {
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.elementor-1436 .elementor-element-2dc8b23b .elementor-heading-title {
  color: var(--bb-navy) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin: 0 0 0.4rem !important;
}
.elementor-1436 .elementor-element-6dc8f792 {
  opacity: 1 !important;
  visibility: visible !important;
  text-align: left !important;
}
.elementor-1436 .elementor-element-6dc8f792 .elementor-heading-title {
  color: var(--bb-ink) !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  margin: 0 0 0.75rem !important;
  max-width: 16em;
}
.elementor-1436 .elementor-element-7b525758,
.elementor-1436 .elementor-element-7b525758 p {
  text-align: left !important;
  font-size: 0.98rem !important;
  line-height: 1.7 !important;
  color: var(--bb-body) !important;
  max-width: 48ch;
  margin: 0 0 1.1rem !important;
}

.elementor-1436 .elementor-element-298656b6 {
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  text-align: left !important;
}

.bb-testimonial-carousel {
  position: relative;
  width: 100%;
  max-width: 100%;
  text-align: left;
}
.bb-testimonial-carousel .bb-t-nav {
  display: flex;
  gap: 0.55rem;
  margin-top: 1.15rem;
  align-items: center;
  justify-content: flex-start;
}
.bb-testimonial-carousel .bb-carousel-btn {
  /* inherits .bb-carousel-btn circle styles */
  display: inline-flex !important;
}
.bb-testimonial-carousel .bb-t-dots {
  display: flex;
  gap: 0.4rem;
  margin-left: 0.4rem;
  align-items: center;
}
.bb-testimonial-carousel .bb-t-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: #c5daf5;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}
.bb-testimonial-carousel .bb-t-dot.is-active {
  background: var(--bb-navy);
  transform: scale(1.2);
}

.elementor-1436 .elementskit-testimonial-slider,
.elementor-1436 .ekit-main-swiper {
  overflow: hidden !important;
  width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-1436 .elementskit-testimonial-slider .swiper-wrapper.bb-t-track,
.elementor-1436 .bb-t-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  transition: transform 0.35s ease;
  width: 100%;
}
.elementor-1436 .elementskit-testimonial-slider .swiper-slide,
.elementor-1436 .bb-t-track > .swiper-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  box-sizing: border-box;
}
.elementor-1436 .elementskit-single-testimonial-slider,
.elementskit-single-testimonial-slider {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding: 1.35rem 1.25rem !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid var(--bb-line) !important;
  box-shadow: 0 10px 28px rgba(15, 47, 92, 0.06) !important;
  text-align: left !important;
  box-sizing: border-box;
}
.elementor-1436 .elementskit-commentor-content,
.elementskit-commentor-content {
  margin: 0 !important;
  text-align: left !important;
}
.elementor-1436 .elementskit-commentor-content p,
.elementskit-commentor-content p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--bb-body) !important;
  margin: 0 !important;
  text-align: left !important;
}
.elementor-1436 .elementskit-commentor-bio,
.elementskit-commentor-bio {
  margin-top: 0.25rem !important;
  padding-top: 0.85rem !important;
  border-top: 1px solid var(--bb-line);
}
.elementor-1436 .elementkit-commentor-details,
.elementkit-commentor-details {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  justify-content: flex-start !important;
}
.elementor-1436 .elementskit-profile-info,
.elementskit-profile-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: left !important;
}
.elementor-1436 .elementskit-author-name,
.elementskit-author-name {
  font-weight: 700 !important;
  color: var(--bb-ink) !important;
  text-align: left !important;
}
.elementor-1436 .elementskit-author-des,
.elementskit-author-des {
  font-size: 0.875rem !important;
  color: var(--bb-muted) !important;
  text-align: left !important;
}

@media (max-width: 900px) {
  .elementor-1436 .elementor-element-723a9b48 > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
  }
  .elementor-1436 .elementor-element-1f82af71,
  .elementor-1436 .elementor-element-769d8c6a {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    --width: 100% !important;
  }
  .elementor-1436 .elementor-element-1f82af71 img.bb-section-img,
  .elementor-1436 .elementor-element-3a2946ff img,
  .elementor-1436 img[src*="bb-testimonials-office"] {
    min-height: 320px !important;
    height: 340px !important;
    max-height: none !important;
  }
  .elementor-1436 .elementor-element-6dc8f792 .elementor-heading-title {
    max-width: none;
  }
}

/* =========================================================
   COUNTERS / FUNFACTS – icons + numbers
   ========================================================= */
.elementskit-funfact {
  padding: 1.25rem 0.75rem;
}
.elementskit-funfact .funfact-icon {
  margin-bottom: 14px !important;
}
.elementskit-funfact .elementskit-funfact-icon,
.elementskit-funfact .funfact-icon i,
.elementskit-funfact .funfact-icon .fas,
.elementskit-funfact .funfact-icon .far {
  font-size: 36px !important;
  line-height: 1 !important;
  color: var(--bb-navy) !important;
  display: inline-block !important;
  font-style: normal !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
.elementskit-funfact .funfact-icon .fab {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}
.elementskit-funfact .number-percentage-wraper {
  font-family: var(--bb-display) !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  color: var(--bb-ink) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
}
.elementskit-funfact .number-percentage {
  font-weight: 700 !important;
}
.elementskit-funfact .funfact-title {
  font-family: var(--bb-font) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--bb-muted) !important;
  margin-top: 8px !important;
}
/* Elementor counter (Happy Clients %) */
.elementor-counter-number-wrapper {
  font-family: var(--bb-display) !important;
  font-weight: 700 !important;
  font-size: 2.75rem !important;
  color: #fff !important;
}
.elementor-counter-title {
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.elementor-counter-number {
  font-weight: 700 !important;
}

/* Grid of funfacts – always 2 per row on mobile (never stack 1-col) */
.elementor-1436 .elementor-element-752a00ae {
  gap: 16px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  --e-con-grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
@media (max-width: 1024px) {
  .elementor-1436 .elementor-element-752a00ae {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }
}
@media (max-width: 767px) {
  .elementor-1436 .elementor-element-50511979 {
    --padding-top: 1.75rem !important;
    --padding-bottom: 1.75rem !important;
    --padding-left: 0.85rem !important;
    --padding-right: 0.85rem !important;
    padding: 1.75rem 0.85rem !important;
  }
  .elementor-1436 .elementor-element-752a00ae {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
    width: 100% !important;
  }
  .elementor-1436 .elementor-element-752a00ae > .elementor-widget,
  .elementor-1436 .elementor-element-752a00ae > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact {
    padding: 0.85rem 0.4rem !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .funfact-icon {
    margin-bottom: 8px !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .funfact-icon i {
    font-size: 26px !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .number-percentage-wraper {
    font-size: 1.55rem !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .funfact-title {
    font-size: 0.78rem !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
  }
}
@media (max-width: 520px) {
  /* Keep 2 columns even on small phones – do NOT collapse to 1 */
  .elementor-1436 .elementor-element-752a00ae {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 6px !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .number-percentage-wraper {
    font-size: 1.4rem !important;
  }
  .elementor-1436 .elementor-element-752a00ae .elementskit-funfact .funfact-title {
    font-size: 0.72rem !important;
  }
}

/* =========================================================
   SERVICE INNER PAGES – hero + content typography & lists
   (beats Elementor page CSS; exclude header/footer)
   ========================================================= */

/* ----- Type scale (main content only) ----- */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] h1.elementor-heading-title {
  font-family: var(--bb-display) !important;
  font-size: clamp(1.7rem, 2.8vw, 2.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
  color: var(--bb-ink) !important;
  margin: 0 0 0.75rem !important;
  text-transform: none !important;
}

/* Subsection titles under hero (not form, not FAQ shell) */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] h2.elementor-heading-title {
  font-family: var(--bb-display) !important;
  font-size: clamp(1.15rem, 1.7vw, 1.35rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  color: var(--bb-ink) !important;
  margin: 1.35rem 0 0.65rem !important;
  text-transform: none !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"]
  .elementor-widget-heading:first-child
  h2.elementor-heading-title {
  margin-top: 0 !important;
}

body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] h3.elementor-heading-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--bb-ink) !important;
  margin: 1.1rem 0 0.5rem !important;
}

/* Hero intro + body copy */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor span {
  font-family: var(--bb-font) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  color: var(--bb-body) !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  margin: 0 0 0.85rem !important;
  max-width: 68ch;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}

/* First band under header = service hero intro (often slightly larger lead) */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-widget-text-editor,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-widget-text-editor p,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-widget-text-editor span {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: #3b4a5e !important;
}

/* Kill Elementor negative-margin hacks on CTA + rating row */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .e-con:has(.elementor-rating-container),
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .e-con:has(.elementor-button-wrapper) {
  --margin-left: 0px !important;
  --margin-right: 0px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .e-con:has(.elementor-button-wrapper):has(+ .e-con),
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .e-con:has(> .elementor-widget-button) {
  --margin-left: 0px !important;
}

body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-rating-container {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.35rem 0.65rem !important;
  margin: 0.15rem 0 0 !important;
  font-family: var(--bb-font) !important;
  color: var(--bb-body) !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-rating-number {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--bb-ink) !important;
  margin: 0 !important;
}
body.page main .elementor-stars {
  display: inline-flex !important;
  gap: 1px !important;
  margin: 0 !important;
}
body.page main .elementor-star {
  font-size: 1rem !important;
  color: #f5a524 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-rating-count {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--bb-muted) !important;
}

/* Consult Now button in hero */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-button {
  font-family: var(--bb-font) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  padding: 0.85rem 1.35rem !important;
  border-radius: 999px !important;
  background-color: var(--bb-navy) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(28, 78, 149, 0.22);
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-button:hover {
  background-color: var(--bb-navy-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15, 47, 92, 0.28);
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-button .elementor-button-text {
  font-size: inherit !important;
  font-weight: inherit !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
  .elementor-button svg {
  width: 0.9em !important;
  height: 0.9em !important;
  fill: currentColor !important;
}

/* ----- Service pages: full usable width (kill 443px form lock) ----- */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Page inline CSS: .form-section { width:443px } → break layout on phones */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor .form-section,
.page-content .elementor .form-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (min-width: 1025px) {
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor .form-section,
  .page-content .elementor .form-section {
    width: 100% !important;
    max-width: 420px !important;
  }
}
/* Hero / content columns take full available width */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .e-con {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  max-width: none !important;
}

/* Consultation form card */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section {
  border-radius: 16px !important;
  border-width: 1px !important;
  border-color: rgba(28, 78, 149, 0.18) !important;
  box-shadow: 0 16px 40px rgba(15, 47, 92, 0.08) !important;
  background: #fff !important;
  --padding-top: 1.5rem !important;
  --padding-bottom: 1.5rem !important;
  --padding-left: 1.35rem !important;
  --padding-right: 1.35rem !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-heading-title,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section h2.elementor-heading-title {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--bb-ink) !important;
  margin: 0 0 1rem !important;
  text-align: left !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-group {
  margin-bottom: 0.85rem !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-textual,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section input.elementor-field,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section textarea.elementor-field {
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: var(--bb-ink) !important;
  border-radius: 10px !important;
  border: 1px solid var(--bb-line) !important;
  background: #f8fafc !important;
  padding: 0.7rem 0.9rem !important;
  min-height: 44px;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section textarea.elementor-field {
  min-height: 88px;
  resize: vertical;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-textual:focus,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section input.elementor-field:focus,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section textarea.elementor-field:focus {
  border-color: #93b4e0 !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(28, 78, 149, 0.12);
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-button[type="submit"],
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section button.elementor-button {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  padding: 0.85rem 1.25rem !important;
  border-radius: 10px !important;
  background: var(--bb-navy) !important;
  color: #fff !important;
  border: none !important;
  width: 100%;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-button[type="submit"]:hover,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section button.elementor-button:hover {
  background: var(--bb-navy-dark) !important;
  color: #fff !important;
}

/* Content card below hero */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:nth-child(2) {
  --padding-top: 2.25rem !important;
  --padding-bottom: 1.75rem !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:nth-child(2)
  > .e-con-inner > .e-con {
  border-radius: 16px !important;
  box-shadow: 0 10px 32px rgba(15, 47, 92, 0.07) !important;
  border: 1px solid var(--bb-line) !important;
  background: #fff !important;
  --padding-top: 1.75rem !important;
  --padding-bottom: 1.75rem !important;
  --padding-left: 1.5rem !important;
  --padding-right: 1.5rem !important;
}

/* Heading widget spacing rhythm */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-heading
  > .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-heading {
  margin-block-end: 0.35rem !important;
}
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor {
  margin-block-end: 0.85rem !important;
}

/* ----- Icon lists (cards) ----- */
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-items,
body.page main .elementor-widget-icon-list .elementor-icon-list-items,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: 10px !important;
}
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-item,
body.page main .elementor-widget-icon-list .elementor-icon-list-item,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0.85rem 1rem !important;
  border-radius: 12px;
  background: var(--bb-surface);
  border: 1px solid var(--bb-line);
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  align-items: flex-start !important;
  gap: 0.75rem;
}
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-item:hover,
body.page main .elementor-widget-icon-list .elementor-icon-list-item:hover,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-item:hover {
  border-color: #cfe0f5;
  background: var(--bb-soft);
  box-shadow: 0 4px 14px rgba(28, 78, 149, 0.06);
}
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-icon,
body.page main .elementor-widget-icon-list .elementor-icon-list-icon,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon {
  margin-right: 2px !important;
  margin-top: 3px;
  flex-shrink: 0;
  padding-inline-end: 0 !important;
}
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-icon i,
body.page main .elementor-widget-icon-list .elementor-icon-list-icon i,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon i,
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-icon svg,
body.page main .elementor-widget-icon-list .elementor-icon-list-icon svg,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon svg {
  color: var(--bb-navy) !important;
  fill: var(--bb-navy) !important;
  font-size: 15px !important;
  width: 16px !important;
  height: 16px !important;
}
body.page .site-main .elementor-widget-icon-list .elementor-icon-list-text,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-widget-icon-list .elementor-icon-list-text,
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-text,
body.page main .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
body.page main .elementor-widget-icon-list .elementor-icon-list-item > a {
  font-family: var(--bb-font) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--bb-body) !important;
}

/* Bullet text lists (ul) under service page content only */
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ul,
body.page main .elementor-widget-text-editor ul {
  list-style: none;
  padding-left: 0 !important;
  margin: 0.65rem 0 1rem !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: none;
}
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ul li,
body.page main .elementor-widget-text-editor ul li {
  position: relative;
  padding: 0.85rem 1rem 0.85rem 2.65rem !important;
  margin: 0 !important;
  background: var(--bb-surface);
  border-radius: 12px;
  border: 1px solid var(--bb-line);
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--bb-body) !important;
  max-width: none !important;
}
body.page .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor ul li::before,
body.page main .elementor-widget-text-editor ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0.95rem;
  top: 0.95rem;
  color: var(--bb-navy);
  font-size: 12px;
}

/* Footer lists stay compact */
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item,
.elementor-location-footer .elementor-widget-text-editor ul li {
  background: transparent !important;
  border: none !important;
  padding: 4px 0 !important;
  box-shadow: none !important;
}
.elementor-location-footer .elementor-widget-text-editor ul li::before {
  display: none !important;
}
/* FAQ title keeps larger display size (not subsection h2 scale) */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .bb-faq-block h2.elementor-heading-title,
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .bb-faq-block .bb-faq-heading {
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  margin: 0 0 1.25rem !important;
}

/* Generic page heading weight */
body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-heading-title {
  font-weight: 700 !important;
}

@media (max-width: 1024px) {
  /* Service pages: stack columns, use full screen width */
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
    gap: 1.15rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: 1 1 100% !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor .form-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] h1.elementor-heading-title {
    font-size: 1.55rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] h2.elementor-heading-title {
    font-size: 1.12rem !important;
    margin-top: 1.15rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
    .elementor-widget-text-editor,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:first-child
    .elementor-widget-text-editor p {
    font-size: 0.98rem !important;
    max-width: none !important;
  }

  /* Wider content: less outer padding (was 30px + card + list) */
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent {
    --padding-left: 0.65rem !important;
    --padding-right: 0.65rem !important;
    --padding-top: 1.25rem !important;
    --padding-bottom: 1.25rem !important;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner {
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    max-width: 100% !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor > .elementor-element:nth-child(1) {
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor-element:nth-child(2) .e-con-inner {
    padding-top: 1.5rem !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  /* Form – roomy full-width card (kill 443px + margin-left:-11px hacks) */
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) .page-content .elementor .form-section,
  .page-content .elementor .form-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    --padding-top: 1.35rem !important;
    --padding-bottom: 1.35rem !important;
    --padding-left: 1.15rem !important;
    --padding-right: 1.15rem !important;
    padding: 1.35rem 1.15rem !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-heading-title,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section h2.elementor-heading-title {
    font-size: 1.15rem !important;
    text-align: center !important;
    margin: 0 0 1.1rem !important;
    line-height: 1.3 !important;
  }

  /* Content card – more horizontal room */
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent:nth-child(2)
    > .e-con-inner > .e-con {
    --padding-top: 1.1rem !important;
    --padding-bottom: 1.1rem !important;
    --padding-left: 0.85rem !important;
    --padding-right: 0.85rem !important;
    padding: 1.1rem 0.85rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-widget-icon-list .elementor-icon-list-text {
    font-size: 0.92rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-widget-icon-list .elementor-icon-list-item {
    padding: 0.7rem 0.75rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-widget-text-editor p,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor-widget-text-editor {
    max-width: none !important;
  }

  /* Form fields – full width, comfortable touch targets */
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-form,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-form-fields-wrapper,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-group,
  .page-content .form-section .elementor-form,
  .page-content .form-section .elementor-form-fields-wrapper,
  .page-content .form-section .elementor-field-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-group {
    margin-bottom: 0.95rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-label,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section label {
    font-size: 0.88rem !important;
    margin-bottom: 0.35rem !important;
    display: block !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section input,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section textarea,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section select,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-textual,
  .page-content .form-section input,
  .page-content .form-section textarea,
  .page-content .form-section select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    font-size: 16px !important; /* no iOS zoom */
    padding: 0.75rem 0.95rem !important;
    border-radius: 10px !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section textarea {
    min-height: 100px !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-button,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section button[type="submit"],
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-field-type-submit {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0.25rem 0 0 !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section .elementor-button[type="submit"],
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .form-section button.elementor-button {
    min-height: 50px !important;
    padding: 0.9rem 1.25rem !important;
    font-size: 1rem !important;
    border-radius: 12px !important;
  }
  /* Kill page-level margin-left:-11px at ≤411px */
  .elementor-widget-form .elementor-form .elementor-form-fields-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
}

/* =========================================================
   FAQ accordion (services pages) – premium section cards
   ========================================================= */

/* Soft section shell around FAQ heading + accordion – full content width */
.bb-faq-block {
  --bb-faq-navy: #1c4e95;
  --bb-faq-navy-dark: #0f2f5c;
  --bb-faq-soft: #eef5ff;
  --bb-faq-surface: #f4f8fd;
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  margin: 2.25rem 0 1.5rem !important;
  padding: 1.65rem 1.35rem 1.5rem !important;
  border-radius: 20px !important;
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(28, 78, 149, 0.08) 0%, transparent 55%),
    radial-gradient(90% 70% at 100% 100%, rgba(15, 47, 92, 0.05) 0%, transparent 50%),
    linear-gradient(180deg, #f7faff 0%, #eef4fb 100%) !important;
  border: 1px solid rgba(28, 78, 149, 0.1) !important;
  box-shadow: 0 18px 40px rgba(15, 47, 92, 0.06);
  box-sizing: border-box;
}

.bb-faq-block > .elementor-widget-heading,
.bb-faq-block > .elementor-widget-accordion {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 1 1 100% !important;
}

/* Eyebrow + title */
.bb-faq-block .bb-faq-heading.elementor-heading-title,
.elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title {
  position: relative !important;
  display: block !important;
  margin: 0 0 1.25rem !important;
  padding: 0 0 0 0 !important;
  color: var(--bb-ink, #0f172a) !important;
  font-family: var(--bb-display, "DM Sans", sans-serif) !important;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
}

.bb-faq-block .bb-faq-heading.elementor-heading-title::before,
.elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title::before {
  content: "Got questions?";
  display: block;
  margin-bottom: 0.4rem;
  color: var(--bb-faq-navy, #1c4e95);
  font-family: var(--bb-font, "Eucular", "DM Sans", sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
}

.bb-faq-block .bb-faq-heading.elementor-heading-title::after,
.elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 0.7rem;
  border-radius: 99px;
  background: linear-gradient(90deg, #1c4e95, #5b8fd4);
}

/* Accordion container – full width (was capped at 820px) */
body.page .elementor-widget-accordion,
.elementor-widget-accordion,
main .elementor-widget-accordion,
.bb-faq-block .elementor-widget-accordion {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.elementor-accordion {
  border: none !important;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  counter-reset: bb-faq;
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-accordion .elementor-accordion-item {
  counter-increment: bb-faq;
  position: relative;
  margin: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(15, 47, 92, 0.04);
  overflow: hidden;
  transition:
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease;
}

.elementor-accordion .elementor-accordion-item:hover {
  border-color: #c5daf5 !important;
  box-shadow: 0 10px 28px rgba(28, 78, 149, 0.1);
  transform: translateY(-1px);
}

/* Open card state */
.elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active),
.elementor-accordion .elementor-accordion-item:has(.elementor-tab-title[aria-expanded="true"]),
.elementor-accordion .elementor-accordion-item.bb-faq-open {
  border-color: rgba(28, 78, 149, 0.28) !important;
  box-shadow:
    0 12px 32px rgba(28, 78, 149, 0.12),
    inset 0 0 0 1px rgba(28, 78, 149, 0.04);
}

.elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active)::before,
.elementor-accordion .elementor-accordion-item:has(.elementor-tab-title[aria-expanded="true"])::before,
.elementor-accordion .elementor-accordion-item.bb-faq-open::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #1c4e95, #5b8fd4);
  border-radius: 14px 0 0 14px;
  z-index: 1;
}

/* Question row */
.elementor-accordion .elementor-tab-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
  padding: 1.05rem 1.1rem !important;
  margin: 0 !important;
  background: #fff !important;
  border: none !important;
  cursor: pointer;
  transition: background 0.2s ease;
  float: none !important;
}

.elementor-accordion .elementor-tab-title.elementor-active,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] {
  background: linear-gradient(180deg, #f4f8fd 0%, #fff 100%) !important;
}

/* Number badge */
.elementor-accordion .elementor-tab-title::before {
  content: counter(bb-faq, decimal-leading-zero);
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  background: var(--bb-faq-soft, #eef5ff);
  color: var(--bb-faq-navy, #1c4e95);
  font-family: var(--bb-font, "Eucular", "DM Sans", sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.elementor-accordion .elementor-tab-title.elementor-active::before,
.elementor-accordion .elementor-tab-title[aria-expanded="true"]::before {
  background: var(--bb-faq-navy, #1c4e95);
  color: #fff;
  box-shadow: 0 6px 14px rgba(28, 78, 149, 0.28);
}

.elementor-accordion .elementor-accordion-title,
.elementor-accordion a.elementor-accordion-title {
  flex: 1 1 auto !important;
  order: 1;
  margin: 0 !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-family: var(--bb-font, "Eucular", "DM Sans", sans-serif) !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  transition: color 0.18s ease;
}

.elementor-accordion .elementor-tab-title:hover .elementor-accordion-title {
  color: #1c4e95 !important;
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-title {
  color: #0f2f5c !important;
}

/* Chevron icon pill */
.elementor-accordion .elementor-accordion-icon {
  order: 2;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #eef5ff !important;
  color: #1c4e95 !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease, transform 0.25s ease, box-shadow 0.2s ease;
}

.elementor-accordion .elementor-accordion-icon svg {
  width: 12px !important;
  height: 12px !important;
  fill: #1c4e95 !important;
  transition: fill 0.2s ease, transform 0.25s ease;
}

/* Icon open/closed visibility (works without Elementor JS) */
.elementor-accordion .elementor-accordion-icon .elementor-accordion-icon-closed {
  display: block !important;
}
.elementor-accordion .elementor-accordion-icon .elementor-accordion-icon-opened {
  display: none !important;
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon .elementor-accordion-icon-closed,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon .elementor-accordion-icon-closed {
  display: none !important;
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon .elementor-accordion-icon-opened,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon .elementor-accordion-icon-opened {
  display: block !important;
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon {
  background: #1c4e95 !important;
  box-shadow: 0 8px 16px rgba(28, 78, 149, 0.28);
  transform: rotate(0deg);
}

.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon svg {
  fill: #fff !important;
}

/* Answer panel – open/close must beat Elementor display:none */
.elementor-accordion .elementor-tab-content {
  display: none;
  padding: 0 1.15rem 1.15rem 3.85rem !important;
  border: none !important;
  border-block-start: none !important;
  background: transparent !important;
  color: #475569 !important;
  font-size: 0.94rem !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}
.elementor-accordion .elementor-tab-content.elementor-active,
.elementor-accordion .elementor-accordion-item.bb-faq-open > .elementor-tab-content,
.elementor-accordion .elementor-tab-title.elementor-active + .elementor-tab-content,
.elementor-accordion .elementor-tab-title[aria-expanded="true"] + .elementor-tab-content {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
}
.elementor-accordion .elementor-tab-title {
  -webkit-tap-highlight-color: rgba(28, 78, 149, 0.12);
  touch-action: manipulation;
  user-select: none;
}
.elementor-accordion .elementor-accordion-title,
.elementor-accordion a.elementor-accordion-title {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.elementor-accordion .elementor-tab-content p,
.elementor-accordion .elementor-tab-content span {
  margin: 0 !important;
  color: #475569 !important;
  font-weight: 400 !important;
  font-size: inherit !important;
  line-height: 1.72 !important;
}

.elementor-accordion .elementor-tab-content p + p {
  margin-top: 0.55rem !important;
}

/* Nested accordion (footer megamenus stay plain; only content FAQs get numbers above) */
.e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

/* Service-content FAQ nested style if ever used */
main .e-n-accordion-item {
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(15, 47, 92, 0.04);
}
main .e-n-accordion-item-title {
  padding: 1rem 1.15rem !important;
  background: #fff !important;
  cursor: pointer;
}
main .e-n-accordion-item-title-text {
  font-weight: 600 !important;
  font-size: 0.98rem !important;
  color: #0f172a !important;
}
main .e-n-accordion-item[open] .e-n-accordion-item-title,
main .e-n-accordion-item.e-active .e-n-accordion-item-title {
  background: #f4f8fd !important;
}

@media (max-width: 767px) {
  /* FAQ – wider full-bleed within content, clean cards */
  .bb-faq-block {
    margin: 1.15rem 0 0.75rem !important;
    padding: 1.1rem 0.85rem 1rem !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(15, 47, 92, 0.05) !important;
    background: #f4f8fd !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49)
    main
    .elementor[data-elementor-type="wp-page"]
    > .e-con-parent:nth-child(2)
    .bb-faq-block {
    /* expand past card padding for wider FAQ */
    width: calc(100% + 0.5rem) !important;
    max-width: none !important;
    margin-left: -0.25rem !important;
    margin-right: -0.25rem !important;
    padding: 1.1rem 0.9rem 1rem !important;
  }
  .bb-faq-block .bb-faq-heading.elementor-heading-title,
  .elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title {
    font-size: 1.2rem !important;
    margin: 0 0 0.85rem !important;
    line-height: 1.3 !important;
  }
  .bb-faq-block .bb-faq-heading.elementor-heading-title::before,
  .elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title::before {
    font-size: 0.65rem !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0.3rem !important;
  }
  .bb-faq-block .bb-faq-heading.elementor-heading-title::after,
  .elementor-widget-heading:has(+ .elementor-widget-accordion) .elementor-heading-title::after {
    width: 36px !important;
    height: 2.5px !important;
    margin-top: 0.5rem !important;
  }

  body.page .elementor-widget-accordion,
  .elementor-widget-accordion {
    max-width: 100% !important;
  }
  .elementor-accordion {
    gap: 0.55rem !important;
  }
  .elementor-accordion .elementor-accordion-item {
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(15, 47, 92, 0.04) !important;
  }
  .elementor-accordion .elementor-accordion-item:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(15, 47, 92, 0.04) !important;
  }
  .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active)::before,
  .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title[aria-expanded="true"])::before,
  .elementor-accordion .elementor-accordion-item.bb-faq-open::before {
    width: 3px !important;
    border-radius: 12px 0 0 12px !important;
  }

  /* Question row: smaller badge, wrap-friendly title */
  .elementor-accordion .elementor-tab-title {
    padding: 0.85rem 0.75rem !important;
    gap: 0.55rem !important;
    align-items: flex-start !important;
  }
  .elementor-accordion .elementor-tab-title::before {
    width: 1.6rem !important;
    height: 1.6rem !important;
    min-width: 1.6rem !important;
    border-radius: 8px !important;
    font-size: 0.65rem !important;
    margin-top: 0.1rem !important;
  }
  .elementor-accordion .elementor-accordion-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    margin-top: 0.05rem !important;
  }
  .elementor-accordion .elementor-accordion-icon svg {
    width: 10px !important;
    height: 10px !important;
  }
  .elementor-accordion .elementor-accordion-title,
  .elementor-accordion a.elementor-accordion-title {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    padding-right: 0.15rem !important;
    word-break: break-word !important;
    hyphens: auto;
  }
  .elementor-accordion .elementor-tab-content {
    padding: 0 0.75rem 0.9rem 0.75rem !important;
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
  }
  .elementor-accordion .elementor-tab-content p,
  .elementor-accordion .elementor-tab-content span {
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
  }

}

@media (max-width: 480px) {
  .bb-faq-block {
    padding: 1rem 0.8rem 0.9rem !important;
  }
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49)
    main
    .elementor[data-elementor-type="wp-page"]
    > .e-con-parent:nth-child(2)
    .bb-faq-block {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 1rem 0.8rem 0.9rem !important;
  }
  .elementor-accordion .elementor-tab-title {
    padding: 0.85rem 0.75rem !important;
    gap: 0.5rem !important;
  }
  .elementor-accordion .elementor-accordion-title,
  .elementor-accordion a.elementor-accordion-title {
    font-size: 0.88rem !important;
  }
  .elementor-accordion .elementor-tab-content {
    padding: 0 0.75rem 0.9rem 0.75rem !important;
  }
  .elementor-accordion .elementor-tab-content.elementor-active,
  .elementor-accordion .elementor-accordion-item.bb-faq-open > .elementor-tab-content {
    display: block !important;
  }
}

/* =========================================================
   Icons – Font Awesome reliability
   ========================================================= */
.fa, .fas, .far, .fab, .fal, .fad,
.elementor-icon i,
.elementskit-info-box-icon i,
.elementor-social-icon i {
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  line-height: 1;
}
.fas, .fa-solid, .elementskit-funfact-icon.fas {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
.far, .fa-regular {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}
.fab, .fa-brands {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}
.elementor-icon svg,
.elementskit-info-box-icon svg,
.e-font-icon-svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
  display: inline-block;
  vertical-align: -0.125em;
}

/* Buttons – no underline sitewide */
.elementor-button,
.elementor-button-link,
a.elementor-button,
a.elementor-button-link,
.elementskit-btn,
a.elementskit-btn,
button.elementor-button,
button[type="submit"],
input[type="submit"],
.e-form__buttons button,
.elementor-button-wrapper a,
.elementor-button-content-wrapper,
.elementor-button-text,
.bb-nav-desktop a,
.bb-off a,
.bb-off-nav a,
.bb-off-link,
.bb-off-btn,
a.bb-off-btn {
  text-decoration: none !important;
  box-shadow: none;
}
.elementor-button:hover,
.elementor-button:focus,
.elementor-button:active,
.elementor-button-link:hover,
.elementor-button-link:focus,
a.elementor-button:hover,
a.elementor-button:focus,
a.elementor-button:visited,
.elementskit-btn:hover,
.elementskit-btn:focus,
button[type="submit"]:hover,
button[type="submit"]:focus,
.elementor-button-wrapper a:hover,
.elementor-button-wrapper a:focus,
.elementor-button-text:hover {
  text-decoration: none !important;
}
.elementor-button,
.elementskit-btn,
button[type="submit"],
input[type="submit"] {
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}
/* Button links must not inherit link underlines from theme/kit */
a.elementor-button,
a.elementor-button-link,
.elementor-widget-button a {
  border-bottom: none !important;
  text-decoration-line: none !important;
  text-underline-offset: unset !important;
}

/* Footer – desktop base */
.elementor-location-footer .elementor-heading-title {
  font-weight: 700 !important;
}
.elementor-location-footer a {
  font-weight: 400;
}
.elementor-location-footer .elementor-heading-title a {
  font-weight: 500 !important;
}

/* =========================================================
   Footer copyright bar – isolated, no global h2 bleed
   ========================================================= */
.elementor-62 .elementor-element-99f356e,
.elementor-location-footer .elementor-element-99f356e,
.bb-footer-bar {
  width: 100% !important;
  max-width: 100% !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  --display: flex !important;
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.elementor-62 .elementor-element-99f356e > .e-con-inner,
.elementor-location-footer .elementor-element-99f356e > .e-con-inner,
.bb-footer-bar > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem 1.5rem !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0.85rem 1.25rem !important;
  box-sizing: border-box !important;
}

/* Kill Elementor 50% column squeeze */
.elementor-62 .elementor-element-99f356e .elementor-element-3205c3e,
.elementor-62 .elementor-element-99f356e .elementor-element-b30b343,
.bb-footer-bar .elementor-element-3205c3e,
.bb-footer-bar .elementor-element-b30b343 {
  --width: 100% !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  align-self: center !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-3205c3e {
  flex: 1 1 auto !important;
  text-align: left !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-b30b343 {
  flex: 0 0 auto !important;
  text-align: right !important;
  --align-items: flex-end !important;
  align-items: flex-end !important;
}

/* Widget wrappers full width of flex child */
.elementor-62 .elementor-element-eb8d391,
.elementor-62 .elementor-element-eb8d391 > .elementor-widget-container,
.bb-footer-bar .elementor-element-eb8d391 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/*
  Copyright text – reset every global h2 / footer heading rule.
  Use .bb-footer-copy class (added by site.js) + element id.
*/
.elementor-62 .elementor-element-eb8d391 .elementor-heading-title,
.elementor-62 .elementor-element-eb8d391 h2.elementor-heading-title,
.elementor-location-footer .elementor-element-eb8d391 .elementor-heading-title,
.elementor-location-footer .elementor-element-eb8d391 h2.elementor-heading-title,
h2.bb-footer-copy,
.bb-footer-copy,
.elementor-62 h2.bb-footer-copy,
.elementor-location-footer h2.bb-footer-copy {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  font-family: "Eucular", "DM Sans", system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-align: left !important;
  color: #0f172a !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  -webkit-text-fill-color: #0f172a !important;
}
.bb-footer-copy .bb-footer-heart,
.elementor-element-eb8d391 .bb-footer-heart {
  display: inline !important;
  color: #e11d48 !important;
  -webkit-text-fill-color: #e11d48 !important;
  font-style: normal !important;
  margin: 0 0.15em !important;
}

/* Disclaimer / Privacy – plain text links, no card styles */
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5,
.bb-footer-bar .elementor-element-90560c5 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-widget-container,
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 0.25rem 1.1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-item,
.bb-footer-bar .elementor-element-90560c5 .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-item::before,
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-item::after,
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-item:not(:last-child)::after {
  display: none !important;
  content: none !important;
  border: none !important;
}
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-text,
.elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-item > a,
.bb-footer-bar .elementor-element-90560c5 .elementor-icon-list-text {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-transform: none !important;
  text-decoration: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .elementor-62 .elementor-element-99f356e > .e-con-inner,
  .bb-footer-bar > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 1rem 1rem 1.1rem !important;
    gap: 0.5rem !important;
  }
  .elementor-62 .elementor-element-99f356e .elementor-element-3205c3e,
  .elementor-62 .elementor-element-99f356e .elementor-element-b30b343 {
    width: 100% !important;
    --width: 100% !important;
    flex: 1 1 100% !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .elementor-62 .elementor-element-eb8d391,
  .elementor-62 .elementor-element-eb8d391 .elementor-heading-title,
  .elementor-62 .elementor-element-eb8d391 h2.elementor-heading-title,
  h2.bb-footer-copy,
  .bb-footer-copy {
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-transform: none !important;
  }
  .elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-items {
    justify-content: center !important;
  }
  .elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-text {
    font-size: 12px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
  }
}

/* Footer – mobile type scale (readable, not desktop 23px / weight 100) */
@media (max-width: 767px) {
  .elementor-location-footer,
  .elementor-62 {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .elementor-location-footer .e-con-inner,
  .elementor-62 .e-con-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .elementor-location-footer .elementor-element-b136a3f,
  .elementor-62 .elementor-element-b136a3f {
    --padding-top: 2rem !important;
    --padding-bottom: 1.5rem !important;
    --padding-left: 1rem !important;
    --padding-right: 1rem !important;
    padding: 2rem 1rem 1.5rem !important;
  }

  /* Column titles (Start Business, Licenses, etc.) */
  .elementor-location-footer .elementor-heading-title,
  .elementor-62 .elementor-heading-title {
    line-height: 1.35 !important;
    letter-spacing: 0.01em !important;
  }
  /* Section column headings ~23px desktop → mobile (NOT copyright bar) */
  .elementor-62 .elementor-element-5c1615b .elementor-heading-title,
  .elementor-62 .elementor-element-8dfbc22 .elementor-heading-title,
  .elementor-62 .elementor-element-0871c42 .elementor-heading-title,
  .elementor-62 .elementor-element-72f7eb7 .elementor-heading-title {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.55rem !important;
    text-transform: capitalize !important;
    color: #ffffff !important;
  }

  /* Link-style headings (services list) – exclude copyright line */
  .elementor-62 .elementor-widget-heading:not(.elementor-element-eb8d391) .elementor-heading-title {
    font-size: 0.8125rem !important; /* 13px */
    font-weight: 400 !important;
    line-height: 1.45 !important;
    margin: 0 0 0.2rem !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }
  /* Re-assert column titles larger than link headings */
  .elementor-62 .elementor-element-5c1615b .elementor-heading-title,
  .elementor-62 .elementor-element-8dfbc22 .elementor-heading-title,
  .elementor-62 .elementor-element-0871c42 .elementor-heading-title,
  .elementor-62 .elementor-element-72f7eb7 .elementor-heading-title {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    margin: 0.35rem 0 0.65rem !important;
    color: #ffffff !important;
  }

  .elementor-location-footer a,
  .elementor-62 a {
    font-size: inherit !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
  }
  .elementor-location-footer a:hover,
  .elementor-62 a:hover {
    color: #ffffff !important;
  }

  /* Icon list / contact lines */
  .elementor-location-footer .elementor-icon-list-text,
  .elementor-location-footer .elementor-icon-list-item,
  .elementor-location-footer .elementor-icon-list-item > a,
  .elementor-62 .elementor-icon-list-text,
  .elementor-62 .elementor-icon-list-item,
  .elementor-62 .elementor-icon-list-item > a {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }
  .elementor-location-footer .elementor-icon-list-icon i,
  .elementor-62 .elementor-icon-list-icon i {
    font-size: 0.85rem !important;
  }
  .elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item,
  .elementor-62 .elementor-widget-icon-list .elementor-icon-list-item {
    padding: 0.28rem 0 !important;
  }

  /* Paragraph / copyright / text editor */
  .elementor-location-footer .elementor-widget-text-editor,
  .elementor-location-footer .elementor-widget-text-editor p,
  .elementor-62 .elementor-widget-text-editor,
  .elementor-62 .elementor-widget-text-editor p {
    font-size: 0.78rem !important; /* ~12.5px */
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.82) !important;
  }

  /* Social icons size */
  .elementor-location-footer .elementor-social-icon,
  .elementor-62 .elementor-social-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.9rem !important;
  }

  /* Footer column stacks – tighter vertical rhythm */
  .elementor-62 .elementor-element-2978da6,
  .elementor-62 .elementor-element-002d1dd,
  .elementor-62 .elementor-element-5ab9d7a,
  .elementor-62 .elementor-element-13968a0 {
    --padding-top: 1rem !important;
    --padding-bottom: 0.35rem !important;
    padding-top: 1rem !important;
    padding-bottom: 0.35rem !important;
  }

  /* Copyright – black text on white bar (not footer white) */
  .elementor-62 .elementor-element-eb8d391 h2.elementor-heading-title,
  .elementor-62 .elementor-element-eb8d391 .elementor-heading-title,
  h2.bb-footer-copy,
  .bb-footer-copy {
    font-size: 12px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    text-align: center !important;
    line-height: 1.55 !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    margin: 0 !important;
    letter-spacing: 0.01em !important;
  }
  .elementor-62 .elementor-element-99f356e .elementor-element-90560c5 .elementor-icon-list-text {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
  }
}

@media (max-width: 480px) {
  .elementor-62 .elementor-widget-heading:not(.elementor-element-eb8d391) .elementor-heading-title {
    font-size: 0.8rem !important;
  }
  .elementor-62 .elementor-element-5c1615b .elementor-heading-title,
  .elementor-62 .elementor-element-8dfbc22 .elementor-heading-title,
  .elementor-62 .elementor-element-0871c42 .elementor-heading-title,
  .elementor-62 .elementor-element-72f7eb7 .elementor-heading-title {
    font-size: 0.9rem !important;
  }
  .elementor-62 .elementor-element-eb8d391 .elementor-heading-title,
  h2.bb-footer-copy,
  .bb-footer-copy {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-transform: none !important;
    font-weight: 400 !important;
  }
  .elementor-location-footer .elementor-icon-list-text,
  .elementor-62 .elementor-icon-list-text,
  .elementor-location-footer .elementor-icon-list-item > a,
  .elementor-62 .elementor-icon-list-item > a {
    font-size: 0.8rem !important;
  }
  .elementor-location-footer .elementor-widget-text-editor p,
  .elementor-62 .elementor-widget-text-editor p {
    font-size: 0.75rem !important;
  }
}

.joinchat { z-index: 9990 !important; }
.news-text { font-weight: 600 !important; }

/* Form labels */
.elementor-field-group label,
.elementor-field-label {
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}

/* Team / cards general */
.elementor-widget-image-box .elementor-image-box-title {
  font-weight: 700 !important;
}
.elementor-widget-image-box .elementor-image-box-description {
  font-weight: 400 !important;
}

/* Why choose feature boxes */
.elementor-icon-box-title {
  font-weight: 700 !important;
}
.elementor-icon-box-description {
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--bb-body) !important;
}

/* Global section spacing polish */
.e-con-inner,
.e-con {
  min-width: 0;
}

/* Testimonials */
.elementskit-commentor-content p,
.elementskit-commentor-coment {
  font-weight: 400 !important;
  line-height: 1.65 !important;
}
.elementskit-author-name {
  font-weight: 700 !important;
}

/* Hero on service pages – readable */
body.page .elementor-location-single .elementor-heading-title,
body.page main .elementor-heading-title {
  font-weight: 700 !important;
}

/* =========================================================
   ABOUT US – restored (original Elementor design + light fixes)
   ========================================================= */
/* Only functional fixes — no redesign */

/* Funfact icons remain FA navy (global rules apply) */
body.page-id-7 .elementskit-funfact .funfact-icon i,
body.page-id-7 .elementskit-funfact .funfact-icon .fas {
  color: #1c4e95 !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}

/* Generated images display properly without forced crop issues */
body.page-id-7 img.bb-section-img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
  border-radius: 10px;
  object-fit: cover;
}

/* Soft-reset any leftover injected extras if present in cache */
.bb-about-extras-root,
.bb-about-breadcrumb {
  display: none !important;
}

/* =========================================================
   ABOUT US â€“ complete layout polish
   Scoped to page 7 so the rest of the static site is unchanged.
   ========================================================= */
body.page-id-7 {
  background: #fff;
  overflow-x: hidden;
}

body.page-id-7 #content,
body.page-id-7 .page-content,
body.page-id-7 .elementor-7 {
  width: 100%;
  max-width: none;
  overflow: hidden;
}

body.page-id-7 .elementor-7 > .elementor-element-3737d690 {
  min-height: 0 !important;
  padding: clamp(5rem, 9vw, 8rem) 1.5rem clamp(4.5rem, 8vw, 7rem) !important;
  background: linear-gradient(135deg, #f4f8fd 0%, #eef4fb 48%, #f9fbfe 100%) !important;
  position: relative;
}

body.page-id-7 .elementor-7 > .elementor-element-3737d690::before {
  content: "";
  position: absolute;
  width: 28rem;
  height: 28rem;
  right: -12rem;
  top: -15rem;
  border-radius: 50%;
  background: rgba(28, 78, 149, 0.07);
}

body.page-id-7 .elementor-7 > .elementor-element-3737d690 > .elementor-container {
  position: relative;
  z-index: 1;
  display: block !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center;
}

body.page-id-7 .elementor-7 .elementor-element-56f9c714,
body.page-id-7 .elementor-7 .elementor-element-9d8509a,
body.page-id-7 .elementor-7 .elementor-element-4a49f85b {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-56f9c714 .elementor-heading-title {
  margin: 0 0 1rem !important;
  color: var(--bb-navy) !important;
  font-family: var(--bb-font) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
}

body.page-id-7 .elementor-7 .elementor-element-9d8509a .elementor-heading-title {
  margin: 0 !important;
  color: var(--bb-ink) !important;
  font-family: var(--bb-display) !important;
  font-size: clamp(2.2rem, 4vw, 3.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-transform: uppercase;
}

body.page-id-7 .elementor-7 .elementor-element-4a49f85b .elementor-heading-title {
  max-width: 560px;
  margin: 1.15rem auto 0 !important;
  color: #64748b !important;
  font-family: var(--bb-font) !important;
  font-size: clamp(0.88rem, 1.15vw, 0.98rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
}

body.page-id-7 .elementor-7 > .elementor-element-36828de {
  padding: clamp(4.5rem, 8vw, 7rem) 1.5rem !important;
  background: #fff !important;
}

body.page-id-7 .elementor-7 > .elementor-element-36828de > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
  align-items: center;
  gap: 1.35rem !important; /* image closer to content */
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-36828de > .elementor-column {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-36828de .elementor-widget-wrap {
  align-content: center;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-3fd85f29,
body.page-id-7 .elementor-7 .elementor-element-3fd85f29 .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

body.page-id-7 .elementor-7 .elementor-element-3fd85f29 .elementor-widget-container {
  border-radius: 24px;
  overflow: hidden;
  background: #e7eff8;
  box-shadow: 0 20px 50px rgba(15, 47, 92, 0.14);
}

body.page-id-7 .elementor-7 .elementor-element-3fd85f29 img.bb-section-img {
  width: 100% !important;
  height: clamp(360px, 40vw, 520px) !important;
  max-height: none !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.page-id-7 .elementor-7 .elementor-element-ebd872d,
body.page-id-7 .elementor-7 .elementor-element-4796b8bf,
body.page-id-7 .elementor-7 .elementor-element-1b48957f {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-ebd872d .elementor-heading-title,
body.page-id-7 .bb-eyebrow {
  color: var(--bb-navy) !important;
  font-family: var(--bb-font) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

body.page-id-7 .elementor-7 .elementor-element-4796b8bf .elementor-heading-title {
  margin: 0.9rem 0 1.25rem !important;
  color: var(--bb-ink) !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
}

body.page-id-7 .elementor-7 .elementor-element-1b48957f .elementor-heading-title {
  max-width: 54ch;
  margin: 0 !important;
  color: var(--bb-body) !important;
  font-family: var(--bb-font) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.75 !important;
}

body.page-id-7 .elementor-7 > .elementor-element-72612b79 {
  padding: clamp(4.5rem, 8vw, 7rem) 1.5rem !important;
  background: #f5f8fc !important;
}

body.page-id-7 .elementor-7 > .elementor-element-72612b79 > .elementor-container,
body.page-id-7 .elementor-7 .elementor-element-5c9bb062 {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 > .elementor-container > .elementor-column {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-5c9bb062 > .elementor-widget-wrap {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-71f928bd,
body.page-id-7 .elementor-7 .elementor-element-e9c526a {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-71f928bd {
  margin-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

body.page-id-7 .elementor-7 .elementor-element-71f928bd > .elementor-container,
body.page-id-7 .elementor-7 .elementor-element-e9c526a > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem !important; /* even box spacing */
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

body.page-id-7 .elementor-7 .elementor-element-71f928bd .elementor-column,
body.page-id-7 .elementor-7 .elementor-element-e9c526a .elementor-column {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  height: 100%;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-widget-wrap {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  height: 100%;
}

/* Clean white boxes around Vision / Values / Mission / Excellence */
body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-widget-icon-box {
  height: 100%;
  margin: 0 !important;
}
body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-widget-icon-box > .elementor-widget-container {
  height: 100%;
  box-sizing: border-box;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 1.35rem 1.25rem !important;
  box-shadow: 0 8px 24px rgba(15, 47, 92, 0.05);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-widget-icon-box > .elementor-widget-container:hover {
  border-color: #c5daf5 !important;
  box-shadow: 0 12px 28px rgba(28, 78, 149, 0.1);
  transform: translateY(-2px);
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-wrapper {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: start;
  gap: 1.15rem;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 !important;
  border-radius: 50%;
  background: var(--bb-navy);
  box-shadow: 0 10px 22px rgba(28, 78, 149, 0.2);
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-icon .elementor-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #fff !important;
  fill: #fff !important;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-icon svg {
  width: 25px;
  height: 25px;
  fill: #fff !important;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-title {
  margin: 0 0 0.55rem !important;
  color: var(--bb-ink) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-description {
  margin: 0 !important;
  color: var(--bb-body) !important;
  font-size: 0.96rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

body.page-id-7 .elementor-7 .elementor-element-b0e9b64 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(4.5rem, 8vw, 6rem) 1.5rem 1.75rem !important;
  background: #fff !important;
}

body.page-id-7 .elementor-7 .elementor-element-b0e9b64 > .e-con-inner {
  display: block !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-73e3945 {
  width: 100% !important;
  margin: 0 !important;
  text-align: center;
}

body.page-id-7 .elementor-7 .elementor-element-73e3945 .elementor-heading-title {
  margin: 0 !important;
  color: var(--bb-ink) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
}

body.page-id-7 .elementor-7 .elementor-element-c7b4c47 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 1.5rem clamp(4.5rem, 8vw, 6rem) !important;
  background: #fff !important;
}

body.page-id-7 .elementor-7 .elementor-element-c7b4c47 > .e-con-inner {
  display: block !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-63589f6 {
  display: block !important;
  width: 100% !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  border: 1px solid #d8e7f8;
  border-radius: 24px;
  background: linear-gradient(135deg, #eef6ff 0%, #e6f1ff 100%) !important;
  box-sizing: border-box;
}

body.page-id-7 .elementor-7 .elementor-element-9d35dce {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  width: 100% !important;
}

body.page-id-7 .elementor-7 .elementor-element-9d35dce > .elementor-element {
  min-width: 0;
  padding: 1.25rem 0.75rem;
  border-radius: 16px;
  text-align: center;
  transition: background 0.2s ease, transform 0.2s ease;
}

body.page-id-7 .elementor-7 .elementor-element-9d35dce > .elementor-element:hover {
  background: rgba(255, 255, 255, 0.52);
  transform: translateY(-3px);
}

body.page-id-7 .elementor-7 .elementskit-funfact {
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementskit-funfact .funfact-icon {
  margin-bottom: 0.9rem !important;
}

body.page-id-7 .elementor-7 .elementskit-funfact .funfact-icon i {
  font-size: 1.75rem !important;
}

body.page-id-7 .elementor-7 .elementskit-funfact .number-percentage-wraper {
  color: var(--bb-ink) !important;
  font-size: clamp(2rem, 4vw, 2.7rem) !important;
  line-height: 1 !important;
}

body.page-id-7 .elementor-7 .elementskit-funfact .funfact-title {
  margin-top: 0.55rem !important;
  color: #64748b !important;
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
}

/* Added sections */
body.page-id-7 .bb-about-extra {
  width: 100%;
  box-sizing: border-box;
}

body.page-id-7 .bb-about-shell {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
}

body.page-id-7 .bb-about-process {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: #fff;
}

body.page-id-7 .bb-section-heading {
  max-width: 700px;
  margin: 0 auto 3rem;
  text-align: center;
}

body.page-id-7 .bb-section-heading .bb-eyebrow,
body.page-id-7 .bb-trust-copy .bb-eyebrow {
  display: block;
  margin-bottom: 0.85rem;
}

body.page-id-7 .bb-section-heading h2,
body.page-id-7 .bb-trust-copy h2 {
  margin: 0;
  color: var(--bb-ink);
  font-family: var(--bb-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

body.page-id-7 .bb-section-heading p,
body.page-id-7 .bb-trust-copy > p {
  margin: 1rem auto 0;
  color: var(--bb-body);
  font-size: 1rem;
  line-height: 1.7;
}

body.page-id-7 .bb-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

body.page-id-7 .bb-process-card {
  min-width: 0;
  padding: 1.75rem;
  border: 1px solid var(--bb-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 47, 92, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.page-id-7 .bb-process-card:hover {
  border-color: #b9d1ee;
  box-shadow: 0 18px 36px rgba(28, 78, 149, 0.11);
  transform: translateY(-4px);
}

body.page-id-7 .bb-process-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 1.5rem;
  border-radius: 50%;
  background: #e8f2ff;
  color: var(--bb-navy);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

body.page-id-7 .bb-process-card h3 {
  margin: 0 0 0.65rem;
  color: var(--bb-ink);
  font-size: 1.25rem;
  line-height: 1.25;
}

body.page-id-7 .bb-process-card p {
  margin: 0;
  color: var(--bb-body);
  font-size: 0.95rem;
  line-height: 1.65;
}

body.page-id-7 .bb-about-trust {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: #f5f8fc;
}

body.page-id-7 .bb-trust-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 5.5rem);
}

body.page-id-7 .bb-trust-media {
  position: relative;
  min-width: 0;
}

body.page-id-7 .bb-trust-media img {
  display: block;
  width: 100%;
  height: clamp(360px, 42vw, 500px);
  border-radius: 24px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 20px 50px rgba(15, 47, 92, 0.14);
}

body.page-id-7 .bb-trust-badge {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  max-width: 190px;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 14px;
  background: rgba(15, 47, 92, 0.88);
  color: #fff;
  backdrop-filter: blur(10px);
}

body.page-id-7 .bb-trust-badge strong {
  color: #fff;
  font-size: 1rem;
}

body.page-id-7 .bb-trust-badge span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
}

body.page-id-7 .bb-trust-copy {
  min-width: 0;
}

body.page-id-7 .bb-trust-copy h2 {
  max-width: 520px;
}

body.page-id-7 .bb-trust-copy > p {
  max-width: 58ch;
  margin-left: 0;
  margin-right: 0;
}

body.page-id-7 .bb-trust-list {
  display: grid;
  gap: 1rem;
  margin: 1.75rem 0 2rem;
  padding: 0;
  list-style: none;
}

body.page-id-7 .bb-trust-list li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
}

body.page-id-7 .bb-trust-check {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #dcecff;
  color: var(--bb-navy);
  font-weight: 700;
}

body.page-id-7 .bb-trust-list strong,
body.page-id-7 .bb-trust-list small {
  display: block;
}

body.page-id-7 .bb-trust-list strong {
  color: var(--bb-ink);
  font-size: 0.98rem;
  line-height: 1.3;
}

body.page-id-7 .bb-trust-list small {
  margin-top: 0.25rem;
  color: var(--bb-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

body.page-id-7 .bb-about-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1.15rem;
  border-radius: 999px;
  background: var(--bb-navy);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}

body.page-id-7 .bb-about-cta:hover {
  background: var(--bb-navy-dark);
  color: #fff;
  transform: translateY(-2px);
}

/* Contact block below the added sections */
body.page-id-7 .elementor-7 > .elementor-element-1152ae3 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(4.5rem, 8vw, 7rem) 1.5rem !important;
  background: #fff !important;
}

body.page-id-7 .elementor-7 > .elementor-element-1152ae3 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 5rem);
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 > .e-con-inner > .e-con {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75,
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 .elementor-widget-container {
  overflow: hidden;
  border-radius: 24px;
  background: #e7eff8;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 img {
  width: 100% !important;
  height: clamp(360px, 38vw, 480px) !important;
  max-height: none !important;
  object-fit: cover !important;
}

body.page-id-7 .elementor-7 .elementor-element-8601ff6 .elementor-heading-title {
  margin: 0 0 0.8rem !important;
  color: var(--bb-ink) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
}

body.page-id-7 .elementor-7 .elementor-element-23da4e5 p {
  margin: 0 0 1.5rem !important;
  color: var(--bb-body) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

body.page-id-7 .elementor-7 .elementor-element-233231f .elementor-field-group {
  margin-bottom: 0.85rem !important;
}

body.page-id-7 .elementor-7 .elementor-element-233231f .elementor-field-label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--bb-ink) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

body.page-id-7 .elementor-7 .elementor-element-233231f .elementor-field {
  min-height: 46px;
  border: 1px solid #d9e2ee !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--bb-ink) !important;
  font-family: var(--bb-font) !important;
  font-size: 0.92rem !important;
}

body.page-id-7 .elementor-7 .elementor-element-233231f textarea.elementor-field {
  min-height: 110px;
  resize: vertical;
}

body.page-id-7 .elementor-7 .elementor-element-233231f .elementor-button {
  min-height: 46px;
  padding: 0.75rem 1.4rem !important;
  border-radius: 10px !important;
  background: var(--bb-navy) !important;
}

@media (max-width: 900px) {
  body.page-id-7 .elementor-7 > .elementor-element-36828de > .elementor-container,
  body.page-id-7 .bb-trust-layout,
  body.page-id-7 .elementor-7 > .elementor-element-1152ae3 > .e-con-inner {
    gap: 2.5rem;
  }

  body.page-id-7 .elementor-7 .elementor-element-9d35dce {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.page-id-7 .elementor-7 > .elementor-element-36828de > .elementor-container,
  body.page-id-7 .bb-trust-layout,
  body.page-id-7 .elementor-7 > .elementor-element-1152ae3 > .e-con-inner {
    grid-template-columns: 1fr;
  }

  body.page-id-7 .elementor-7 .elementor-element-3fd85f29 img.bb-section-img,
  body.page-id-7 .bb-trust-media img,
  body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 img {
    height: min(78vw, 440px) !important;
    min-height: 300px;
  }

  body.page-id-7 .elementor-7 .elementor-element-71f928bd > .elementor-container,
  body.page-id-7 .elementor-7 .elementor-element-e9c526a > .elementor-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  body.page-id-7 .bb-process-grid {
    grid-template-columns: 1fr;
  }
}

/* Contact form column — no blue/tinted panel */
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-8670ecf {
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

@media (max-width: 520px) {
  body.page-id-7 .elementor-7 > .elementor-element-3737d690,
  body.page-id-7 .elementor-7 > .elementor-element-36828de,
  body.page-id-7 .elementor-7 > .elementor-element-72612b79,
  body.page-id-7 .elementor-7 > .elementor-element-1152ae3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.page-id-7 .bb-about-shell {
    width: min(1120px, calc(100% - 2rem));
  }

  body.page-id-7 .elementor-7 .elementor-element-9d35dce {
    grid-template-columns: 1fr;
  }

  body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-wrapper {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 0.9rem;
  }

  body.page-id-7 .elementor-7 .elementor-element-72612b79 .elementor-icon-box-icon {
    width: 50px;
    height: 50px;
  }

  body.page-id-7 .bb-process-card {
    padding: 1.4rem;
  }

  body.page-id-7 .bb-trust-badge {
    left: 0.85rem;
    bottom: 0.85rem;
  }
}

/* Company section fallback: use a clean standalone grid instead of the
   narrow legacy Elementor column layout. */
body.page-id-7 .elementor-7 > .elementor-element-36828de {
  display: none !important;
}

body.page-id-7 .bb-company-modern {
  width: 100%;
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: #fff;
  box-sizing: border-box;
}

body.page-id-7 .bb-company-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: center;
  gap: 1.35rem; /* image closer to Welcome content */
}

body.page-id-7 .bb-company-media,
body.page-id-7 .bb-company-copy {
  min-width: 0;
}

body.page-id-7 .bb-company-media img {
  display: block;
  width: 100%;
  height: clamp(360px, 40vw, 520px);
  border-radius: 24px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 20px 50px rgba(15, 47, 92, 0.14);
}

body.page-id-7 .bb-company-copy {
  text-align: left !important;
}

body.page-id-7 .bb-company-copy .bb-eyebrow {
  display: block;
  margin-bottom: 0.9rem;
}

body.page-id-7 .bb-company-copy h2 {
  margin: 0 0 1.25rem;
  color: var(--bb-ink);
  font-family: var(--bb-display);
  font-size: clamp(1.9rem, 3.2vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

body.page-id-7 .bb-company-copy p {
  max-width: 58ch;
  margin: 0 0 0.9rem;
  color: var(--bb-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: left !important;
}

body.page-id-7 .bb-company-copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  body.page-id-7 .bb-company-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  body.page-id-7 .bb-company-media img {
    height: min(78vw, 440px);
    min-height: 300px;
  }
}

/* About hero breadcrumb */
body.page-id-7 .bb-hero-breadcrumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  margin: 0 auto 1.75rem;
  padding: 0.55rem 0.95rem;
  border: 1px solid rgba(28, 78, 149, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 20px rgba(28, 78, 149, 0.06);
  color: #64748b;
  font-family: var(--bb-font);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.2;
}

body.page-id-7 .bb-hero-breadcrumb a {
  color: var(--bb-navy);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}

body.page-id-7 .bb-hero-breadcrumb a:hover {
  color: var(--bb-navy-dark);
}

body.page-id-7 .bb-hero-breadcrumb span[aria-hidden="true"] {
  color: #94a3b8;
}

body.page-id-7 .bb-hero-breadcrumb span[aria-current="page"] {
  color: #475569;
}

/* Contact section: visual replacement + equal-height two-column cards */
body.page-id-7 .elementor-7 > .elementor-element-1152ae3 > .e-con-inner {
  align-items: stretch !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-e964c7c,
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-8670ecf {
  align-self: stretch !important;
  min-width: 0;
  box-sizing: border-box;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-e964c7c {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75,
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 .elementor-widget-container {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 img[src*="bb-partner-laptop.jpg"] {
  content: url("../wp-content/uploads/generated/bb-team-man-senior.jpg") !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-8670ecf {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 0.25rem 0 0.25rem 0.5rem !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-8601ff6,
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-23da4e5,
body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-233231f {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-8601ff6 .elementor-heading-title {
  font-size: clamp(1.8rem, 3vw, 2.65rem) !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-233231f .elementor-field {
  border-color: #cfdae8 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-233231f .elementor-field:focus {
  border-color: var(--bb-navy) !important;
  box-shadow: 0 0 0 3px rgba(28, 78, 149, 0.11) !important;
  outline: none;
}

@media (max-width: 760px) {
  body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-e964c7c {
    height: auto !important;
  }

  body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75,
  body.page-id-7 .elementor-7 .elementor-element-1152ae3 .elementor-element-4fa6a75 .elementor-widget-container {
    min-height: 320px !important;
    height: min(78vw, 440px) !important;
  }
}

/* =========================================================
   PARTNER WITH US – hero like About Us + content alignment
   ========================================================= */
body.page-id-2362,
body.bb-partner-page {
  overflow-x: hidden;
}

/* Hero – same soft gradient style as About Us */
body.page-id-2362 .elementor-2362 > .elementor-element-69617f88 {
  min-height: 0 !important;
  padding: clamp(5rem, 9vw, 8rem) 1.5rem clamp(4.5rem, 8vw, 7rem) !important;
  background: linear-gradient(135deg, #f4f8fd 0%, #eef4fb 48%, #f9fbfe 100%) !important;
  position: relative !important;
  margin: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}
body.page-id-2362 .elementor-2362 > .elementor-element-69617f88 > .elementor-background-overlay {
  display: none !important;
}
body.page-id-2362 .elementor-2362 > .elementor-element-69617f88::before {
  content: "";
  position: absolute;
  width: 28rem;
  height: 28rem;
  right: -12rem;
  top: -15rem;
  border-radius: 50%;
  background: rgba(28, 78, 149, 0.07);
  pointer-events: none;
}
body.page-id-2362 .elementor-2362 > .elementor-element-69617f88 > .elementor-container {
  position: relative;
  z-index: 1;
  display: block !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  min-height: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-69617f88 .elementor-column,
body.page-id-2362 .elementor-2362 .elementor-element-69617f88 .elementor-widget-wrap {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  align-items: center !important;
  text-align: center !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-40d00f1,
body.page-id-2362 .elementor-2362 .elementor-element-8c2a97d,
body.page-id-2362 .elementor-2362 .elementor-element-13469b5d {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Kill Elementor 200px side margins on hero text */
body.page-id-2362 .elementor-2362 .elementor-element-13469b5d > .elementor-widget-container,
body.page-id-2362 .elementor-2362 .elementor-element-40d00f1 > .elementor-widget-container,
body.page-id-2362 .elementor-2362 .elementor-element-8c2a97d > .elementor-widget-container {
  margin: 0 auto !important;
  max-width: 720px !important;
  padding: 0 !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-40d00f1 .elementor-heading-title {
  margin: 0 0 1rem !important;
  color: var(--bb-navy, #1c4e95) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-40d00f1 .elementor-heading-title b {
  color: inherit !important;
  font-weight: 700 !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-8c2a97d .elementor-heading-title {
  margin: 0 !important;
  color: var(--bb-ink, #0f172a) !important;
  font-size: clamp(2.2rem, 4vw, 3.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
body.page-id-2362 .elementor-2362 .elementor-element-13469b5d .elementor-heading-title {
  max-width: 710px !important;
  margin: 1.5rem auto 0 !important;
  color: #475569 !important;
  font-size: clamp(1rem, 1.5vw, 1.2rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.7 !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Breadcrumb pill — same as About Us */
body.page-id-2362 .bb-hero-breadcrumb,
body.bb-partner-page .bb-hero-breadcrumb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  margin: 0 auto 1.75rem !important;
  padding: 0.55rem 0.95rem !important;
  border: 1px solid rgba(28, 78, 149, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 8px 20px rgba(28, 78, 149, 0.06) !important;
  color: #64748b !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}
body.page-id-2362 .bb-hero-breadcrumb a {
  color: #1c4e95 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.page-id-2362 .bb-hero-breadcrumb a:hover {
  color: #0f2f5c !important;
}
body.page-id-2362 .bb-hero-breadcrumb span[aria-hidden="true"] {
  color: #94a3b8 !important;
}
body.page-id-2362 .bb-hero-breadcrumb span[aria-current="page"] {
  color: #475569 !important;
}

/* Content section under hero — image + text, not stuck */
body.page-id-2362 .elementor-2362 > .elementor-element-49a4163 {
  padding: clamp(4rem, 7vw, 6rem) 1.5rem !important;
  margin: 0 !important;
  background: #fff !important;
  width: 100% !important;
  overflow: visible !important;
}
body.page-id-2362 .elementor-2362 > .elementor-element-49a4163 > .elementor-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 1.25rem !important; /* tighter gap between image & text */
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
/* Image column a bit wider */
body.page-id-2362 .elementor-element-4714b76a {
  width: 54% !important;
  max-width: 54% !important;
  flex: 1 1 54% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-2362 .elementor-element-1c232f1d {
  width: 46% !important;
  max-width: 46% !important;
  flex: 1 1 46% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-2362 .elementor-element-4714b76a > .elementor-element-populated,
body.page-id-2362 .elementor-element-1c232f1d > .elementor-element-populated {
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-2362 .elementor-element-1c232f1d .elementor-widget-wrap {
  padding: 0.15rem 0 0.15rem 0.15rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  justify-content: center !important;
}
/* Kill 200px margins on content text */
body.page-id-2362 .elementor-element-6ff5b10c > .elementor-widget-container,
body.page-id-2362 .elementor-element-91bba4b > .elementor-widget-container {
  margin: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body.page-id-2362 .elementor-element-6ff5b10c .elementor-heading-title {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  text-align: left !important;
  margin: 0 !important;
}
body.page-id-2362 .elementor-element-91bba4b .elementor-heading-title {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: #475569 !important;
  text-align: left !important;
  margin: 0 !important;
  max-width: 100% !important;
}
body.page-id-2362 .elementor-element-31a823d1 img,
body.page-id-2362 img.bb-section-img,
body.page-id-2362 img[src*="bb-partner-handshake"] {
  width: 100% !important;
  height: auto !important;
  min-height: 380px !important;
  max-height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 16px !important;
  display: block !important;
}
body.page-id-2362 .elementor-element-31a823d1 .elementor-widget-container {
  overflow: hidden !important;
  border-radius: 16px !important;
  line-height: 0 !important;
  height: 100% !important;
}

@media (max-width: 900px) {
  body.page-id-2362 .elementor-2362 > .elementor-element-49a4163 > .elementor-container {
    flex-direction: column !important;
    gap: 1.5rem !important;
  }
  body.page-id-2362 .elementor-element-4714b76a,
  body.page-id-2362 .elementor-element-1c232f1d {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  body.page-id-2362 .elementor-element-1c232f1d .elementor-widget-wrap {
    padding: 0.5rem 0 !important;
  }
  body.page-id-2362 .elementor-element-31a823d1 img,
  body.page-id-2362 img[src*="bb-partner-handshake"] {
    min-height: 280px !important;
    max-height: 400px !important;
  }
  body.page-id-2362 .elementor-2362 > .elementor-element-69617f88 {
    padding: 3.5rem 1.25rem 3rem !important;
  }
}

/* =========================================================
   SITEWIDE MOBILE OPTIMIZATION + CRITICAL FIXES (v55)
   ========================================================= */

/* Header stacking above hero always */
.bb-header-bar {
  z-index: 10050 !important;
  position: sticky !important;
  top: 0 !important;
  isolation: isolate;
}
.elementor-location-header {
  position: relative;
  z-index: 10040;
  overflow: visible !important;
}

/* Hero base: never fixed 686px bleed */
.page-content .elementor .herosection,
.elementor-1436 .herosection,
.elementor-1436 .elementor-element-a9cd38c.herosection,
.elementor-1436 .elementor-element-a9cd38c {
  max-width: 100% !important;
}

@media (max-width: 1024px) {
  .bb-header-inner {
    padding: 12px 16px !important;
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  .bb-header-bar {
    min-height: 68px !important;
    width: 100% !important;
  }
  .bb-logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .bb-logo img {
    height: 40px !important;
    max-width: min(160px, 55vw) !important;
  }
  .bb-burger {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .bb-nav-desktop,
  .bb-header-cta {
    display: none !important;
  }
  .e-con-boxed > .e-con-inner {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }

  /* Hero height reset tablet+mobile – kills Elementor 800px / 686px */
  .page-content .elementor .herosection,
  .elementor-1436 .herosection,
  .elementor-1436 .elementor-element-a9cd38c.herosection,
  .elementor-1436 .elementor-element.elementor-element-a9cd38c,
  .elementor-1436 .elementor-element-a9cd38c {
    height: auto !important;
    min-height: 0 !important;
    --min-height: 0px !important;
    --padding-top: 2rem !important;
    --padding-bottom: 2rem !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  /* About / second section – reduce huge desktop 6em padding on tablet */
  .elementor-1436 .elementor-element-40f1931e,
  .elementor-1436 .elementor-element.elementor-element-40f1931e {
    --margin-top: 0px !important;
    margin-top: 0 !important;
    --padding-top: 2.5rem !important;
    --padding-bottom: 2.5rem !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100%;
  }
  body {
    font-size: 15px !important;
    line-height: 1.55 !important;
    overflow-x: hidden !important;
    color: #1e293b;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  .bb-header-inner {
    padding: 10px 12px !important;
    min-height: 58px !important;
    gap: 10px !important;
  }
  .bb-header-bar {
    min-height: 58px !important;
  }
  .bb-logo img {
    height: 32px !important;
    max-width: min(138px, 50vw) !important;
  }
  .bb-burger {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
  }

  /* Top marquee strip */
  .elementor-location-header .elementor-element-143e75f {
    max-width: 100% !important;
    overflow: hidden !important;
    --padding-top: 10px !important;
    --padding-bottom: 10px !important;
    --padding-left: 10px !important;
    --padding-right: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .elementor-location-header .elementor-element-143e75f .e-con-inner {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  body.has-bb-header .elementor-42 .elementor-element-143e75f a {
    font-size: 12px !important;
  }

  /* =========================================================
     HERO (mobile): IMAGE ON TOP → TEXT BELOW
     Overrides Elementor mobile: padding-top:800px, wrap-reverse
     ========================================================= */
  .page-content .elementor .herosection,
  .elementor-1436 .herosection,
  .elementor-1436 .elementor-element-a9cd38c.herosection,
  .elementor-1436 .elementor-element.elementor-element-a9cd38c,
  .elementor-1436 .elementor-element-a9cd38c {
    height: auto !important;
    min-height: 0 !important;
    --min-height: 0px !important;
    --flex-direction: column !important;
    --flex-wrap-mobile: nowrap !important;
    --justify-content: flex-start !important;
    --padding-top: 1.15rem !important;
    --padding-bottom: 1.35rem !important;
    --padding-left: 0.85rem !important;
    --padding-right: 0.85rem !important;
    padding: 1.15rem 0.85rem 1.35rem !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .elementor-1436 .elementor-element-a9cd38c > .e-con-inner,
  .elementor-1436 .herosection > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0.85rem !important;
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Visual / image column FIRST – larger hero image */
  .elementor-1436 .elementor-element-5d8f8a4,
  .elementor-1436 .elementor-element.elementor-element-5d8f8a4 {
    order: -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: 0 0 auto !important;
    --min-height: 300px !important;
    min-height: 300px !important;
    height: 300px !important;
    max-height: 340px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    margin: 0 auto !important;
    align-self: stretch !important;
  }
  .elementor-1436 .elementor-element-5d8f8a4:not(.elementor-motion-effects-element-type-background),
  .elementor-1436 .elementor-element-5d8f8a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    border-radius: 18px !important;
  }
  /* Spacer matches image height (no extra empty gap) */
  .elementor-1436 .elementor-element-076fe89,
  .elementor-1436 .elementor-element.elementor-element-076fe89 {
    --spacer-size: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-1436 .elementor-element-076fe89 .elementor-spacer,
  .elementor-1436 .elementor-element-076fe89 .elementor-spacer-inner {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  /* Text column SECOND – centered on mobile */
  .elementor-1436 .elementor-element-d23a286,
  .elementor-1436 .elementor-element.elementor-element-d23a286 {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: 0 0 auto !important;
    --padding-top: 0.35rem !important;
    --padding-bottom: 0.25rem !important;
    --padding-left: 0.35rem !important;
    --padding-right: 0.35rem !important;
    padding: 0.35rem 0.35rem 0.25rem !important;
    text-align: center !important;
    align-items: center !important;
    --align-items: center !important;
    --justify-content: flex-start !important;
  }
  .elementor-1436 .elementor-element-d23a286 .elementor-widget-container,
  .elementor-1436 .elementor-element-d23a286 .elementor-heading-title,
  .elementor-1436 .elementor-element-d23a286 .elementor-widget-text-editor,
  .elementor-1436 .elementor-element-d23a286 .elementor-widget-text-editor p {
    text-align: center !important;
  }
  .elementor-1436 .elementor-element-d23a286 .elementor-button-wrapper {
    text-align: center !important;
  }
  .elementor-1436 .elementor-element-d23a286 .elementor-button {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* Tiny spacer between copy & CTA */
  .elementor-1436 .elementor-element-c0e31fd {
    --spacer-size: 10px !important;
  }

  /* Hero type scale */
  .elementor-1436 .elementor-element-9aebce3 .elementor-heading-title {
    font-size: 0.78rem !important;
    letter-spacing: 0.06em !important;
    font-weight: 700 !important;
    color: #1c4e95 !important;
    margin: 0 0 0.35rem !important;
  }
  .elementor-1436 .elementor-element-af7e35a .elementor-heading-title {
    font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 0.55rem !important;
    color: #0f172a !important;
  }
  .elementor-1436 .elementor-element-aaab862 p,
  .elementor-1436 .elementor-element-a9cd38c .elementor-widget-text-editor p {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: #475569 !important;
    margin: 0 auto !important;
    max-width: 34em;
    text-align: center !important;
  }
  .elementor-1436 .elementor-element-233d34e .elementor-button {
    min-height: 46px !important;
    padding: 12px 22px !important;
    font-size: 0.92rem !important;
    border-radius: 999px !important;
  }
  .elementor-1436 .elementor-element-233d34e {
    text-align: center !important;
    align-self: center !important;
    width: 100% !important;
  }

  /* =========================================================
     SECOND SECTION (About) – kill 119px margin + huge gaps
     ========================================================= */
  .elementor-1436 .elementor-element-40f1931e,
  .elementor-1436 .elementor-element.elementor-element-40f1931e {
    --margin-top: 0px !important;
    --margin-bottom: 0px !important;
    margin: 0 !important;
    --padding-top: 1.75rem !important;
    --padding-bottom: 1.75rem !important;
    --padding-left: 0.85rem !important;
    --padding-right: 0.85rem !important;
    padding: 1.75rem 0.85rem !important;
  }
  .elementor-1436 .elementor-element-40f1931e > .e-con-inner {
    flex-direction: column !important;
    gap: 1.15rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-1436 .elementor-element-10e42d56,
  .elementor-1436 .elementor-element-1deb25a1 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 !important;
  }
  /* About image – natural height, no forced short crop */
  .elementor-1436 .elementor-element-6335e834,
  .elementor-1436 .elementor-element-6335e834 > .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .elementor-1436 .elementor-element-6335e834 img,
  .elementor-1436 .bb-about-home-img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 14px !important;
    display: block !important;
  }
  .elementor-1436 .elementor-element-1deb25a1 .elementor-heading-title {
    font-size: clamp(1.25rem, 5.5vw, 1.5rem) !important;
    line-height: 1.25 !important;
  }
  .elementor-1436 .elementor-element-138fc47d p {
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
  }
  .elementor-1436 .elementor-element-1deb25a1 .elementor-icon-box-title {
    font-size: 0.95rem !important;
  }
  .elementor-1436 .elementor-element-1deb25a1 .elementor-icon-box-description {
    font-size: 0.86rem !important;
  }

  /* Home sections – consistent vertical rhythm */
  .elementor-1436 .elementor-element-16734e58,
  .elementor-1436 .elementor-element-70569e01,
  .elementor-1436 .elementor-element-723a9b48,
  .elementor-1436 .elementor-element-614d27,
  .elementor-1436 .elementor-element-56ef14b9 {
    --padding-top: 2rem !important;
    --padding-bottom: 2rem !important;
    --padding-left: 0.85rem !important;
    --padding-right: 0.85rem !important;
  }

  .elementor-1436 .elementor-element-38244e4d .elementor-heading-title,
  .elementor-1436 .elementor-element-e44d915 .elementor-heading-title,
  .elementor-1436 .elementor-heading-title {
    word-wrap: break-word;
  }
  .elementor-1436 .elementor-element-38244e4d .elementor-heading-title,
  .elementor-1436 .elementor-element-e44d915 .elementor-heading-title {
    font-size: 1.3rem !important;
    line-height: 1.28 !important;
  }

  /* Services carousel – wider cards (less side gutter) */
  .bb-services-carousel {
    padding: 0 1.35rem 0.15rem !important;
    max-width: 100% !important;
    margin-left: -0.15rem !important;
    margin-right: -0.15rem !important;
  }
  .bb-services-carousel .bb-carousel-prev { left: -2px !important; }
  .bb-services-carousel .bb-carousel-next { right: -2px !important; }
  .bb-services-carousel .elementor-element-1f13befa,
  .elementor-1436 .elementor-element.elementor-element-1f13befa {
    gap: 0.85rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .bb-services-carousel .bb-service-slide,
  .elementor-1436 .elementor-element-1f13befa > .bb-service-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .bb-svc-card {
    min-height: 340px !important;
    padding: 1.75rem 1.3rem 1.5rem !important;
    border-radius: 12px !important;
  }
  .elementor-1436 .elementor-element-16734e58 {
    --padding-left: 0.65rem !important;
    --padding-right: 0.65rem !important;
  }
  .bb-svc-icon {
    width: 76px !important;
    height: 76px !important;
    margin: 0.4rem auto 1.05rem !important;
  }
  .bb-svc-icon i {
    font-size: 2.25rem !important;
  }
  .bb-svc-title {
    font-size: 1.18rem !important;
  }
  .bb-svc-desc {
    font-size: 0.94rem !important;
    -webkit-line-clamp: 4;
  }
  .bb-svc-btn {
    min-width: 148px !important;
    min-height: 48px !important;
    padding: 0.8rem 1.4rem !important;
    font-size: 0.95rem !important;
  }
  .bb-carousel-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  /* Drive Forward CTA – readable on mobile */
  .elementor-1436 .elementor-element-614d27 {
    --padding-top: 2.5rem !important;
    --padding-bottom: 2.5rem !important;
    --padding-left: 1rem !important;
    --padding-right: 1rem !important;
    padding: 2.5rem 1rem !important;
    min-height: 0 !important;
  }
  .elementor-1436 .elementor-element-614d27 .elementor-heading-title {
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
    line-height: 1.25 !important;
  }
  .elementor-1436 .elementor-element-614d27 .elementor-widget-text-editor p,
  .elementor-1436 .elementor-element-5c75d384 p {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    max-width: none !important;
  }

  /* Why Choose cards */
  .elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-title {
    font-size: 0.98rem !important;
    line-height: 1.3 !important;
  }
  .elementor-1436 .elementor-element-56ef14b9 .elementor-widget-text-editor p,
  .elementor-1436 .elementor-element-56ef14b9 .elementor-icon-box-description {
    font-size: 0.84rem !important;
    line-height: 1.5 !important;
  }

  /* Testimonials stack */
  .elementor-1436 .elementor-element-723a9b48 > .e-con-inner {
    flex-direction: column !important;
    gap: 1.1rem !important;
  }
  .elementor-1436 .elementor-element-1f82af71,
  .elementor-1436 .elementor-element-769d8c6a {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  .elementor-1436 .elementor-element-1f82af71 img,
  .elementor-1436 img[src*="bb-testimonials-office"] {
    min-height: 200px !important;
    height: 220px !important;
    max-height: 260px !important;
  }
  .elementor-1436 .elementor-element-6dc8f792 .elementor-heading-title {
    font-size: 1.3rem !important;
    max-width: none !important;
  }
  .elementor-1436 .elementor-element-7b525758,
  .elementor-1436 .elementor-element-7b525758 p {
    font-size: 0.9rem !important;
    max-width: none !important;
  }

  /* Forms – 16px prevents iOS zoom */
  .form-section,
  .elementor-form,
  .elementor-field-group {
    max-width: 100% !important;
  }
  .elementor-form .elementor-field-textual,
  .elementor-form input,
  .elementor-form textarea,
  .elementor-form select {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
  }
  .elementor-button,
  a.elementor-button,
  button.elementor-button {
    max-width: 100% !important;
  }

  /* Footer spacing (type scale is in dedicated footer block) */
  .elementor-location-footer .e-con-inner {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .elementor-location-footer {
    --padding-top: 2rem !important;
  }

  /* Global mobile type polish – main content only (not footer) */
  main .elementor-widget-text-editor p,
  .page-content .elementor-widget-text-editor p {
    font-size: 0.92rem;
    line-height: 1.6;
  }
  main h1.elementor-heading-title,
  .page-content h1.elementor-heading-title {
    font-size: clamp(1.45rem, 6.5vw, 1.85rem) !important;
    line-height: 1.2 !important;
  }
  main h2.elementor-heading-title,
  .page-content h2.elementor-heading-title {
    font-size: clamp(1.2rem, 5.2vw, 1.45rem) !important;
    line-height: 1.28 !important;
  }
  main h3.elementor-heading-title,
  .page-content h3.elementor-heading-title {
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
  }

  /* Soft-cap common large desktop spacers (not hero image spacer) */
  .elementor-1436 .elementor-element-5600af06,
  .elementor-1436 .elementor-element-575ba4e8,
  .elementor-1436 .elementor-element-103d020c,
  .elementor-1436 .elementor-element-373373c7,
  .elementor-1436 .elementor-element-335e8fc2,
  .elementor-1436 .elementor-element-6bd7c2d5,
  .elementor-1436 .elementor-element-53566102,
  .elementor-1436 .elementor-element-24c0fe38,
  .elementor-1436 .elementor-element-1dcb0740 {
    --spacer-size: 16px !important;
  }

  main.site-main,
  .page-content {
    max-width: 100% !important;
    overflow-x: hidden;
  }
  body {
    overflow-x: hidden !important;
  }
}

@media (max-width: 480px) {
  .bb-services-carousel {
    padding: 0 1.2rem 0.1rem !important;
  }
  .bb-services-carousel .bb-service-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .bb-svc-card {
    min-height: 310px !important;
    padding: 1.5rem 1.15rem 1.3rem !important;
  }
  .bb-svc-title {
    font-size: 1.08rem !important;
  }
  .bb-svc-desc {
    font-size: 0.88rem !important;
  }
  .bb-svc-icon {
    width: 68px !important;
    height: 68px !important;
  }
  .bb-svc-icon i {
    font-size: 2rem !important;
  }
  .page-content .elementor .herosection,
  .elementor-1436 .herosection {
    height: auto !important;
  }
  /* Hero still large on small phones */
  .elementor-1436 .elementor-element-5d8f8a4,
  .elementor-1436 .elementor-element.elementor-element-5d8f8a4 {
    min-height: 280px !important;
    height: 280px !important;
    max-height: 320px !important;
  }
  .elementor-1436 .elementor-element-076fe89,
  .elementor-1436 .elementor-element.elementor-element-076fe89 {
    --spacer-size: 280px !important;
  }
  .elementor-1436 .elementor-element-076fe89 .elementor-spacer-inner {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }
  .elementor-1436 .elementor-element-40f1931e {
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important;
  }
  .bb-offcanvas {
    width: min(100vw, 100%);
  }
}

/* =========================================================
   SERVICE DETAIL PAGES – keep the consultation card constrained
   while Elementor's sticky state changes during desktop scroll
   ========================================================= */
@media (min-width: 1025px) {
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner {
    align-items: flex-start !important;
  }

  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .elementor[data-elementor-type="wp-page"] > .e-con-parent > .e-con-inner > .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section.is-stuck,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section.elementor-sticky--active {
    align-self: flex-start !important;
    box-sizing: border-box !important;
    flex: 0 1 420px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 420px !important;
  }

  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section > .elementor-widget,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section > .elementor-widget > .elementor-widget-container,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section .elementor-form,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section .elementor-form-fields-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1024px) {
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section,
  body.page:not(.home):not(.page-id-7):not(.page-id-2337):not(.page-id-2362):not(.page-id-49) main .page-content .elementor .form-section.is-stuck {
    box-sizing: border-box !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }
}
