:root{--c-ink:#000;--c-graphite:#1a1a1a;--c-slate:#5E5957;--c-stone:#CCC2B8;--c-pale:#E8E5DB;--c-cream:#F5F5F2;--c-cta:#4F000B;--c-cta-deep:#6B0011;--c-rose:#F5EDEE}
.cbm-eyebrow .elementor-heading-title,.cbm-eyebrow{display:inline-flex;align-items:center}
.cbm-eyebrow .elementor-heading-title::before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;margin-right:14px;opacity:.9}
.cbm-eyebrow .elementor-heading-title::after{content:"";display:inline-block;width:28px;height:1px;background:currentColor;margin-left:14px;opacity:.9}
.cbm-duotone img{filter:grayscale(1) sepia(.55) hue-rotate(-6deg) saturate(.6) brightness(.92) contrast(1.05);transition:filter .6s ease,transform .8s ease}
.cbm-duotone:hover img{filter:grayscale(1) sepia(.35) hue-rotate(-6deg) saturate(.85) brightness(.98) contrast(1.04)}
.cbm-hero-duotone img{filter:grayscale(1) sepia(.55) hue-rotate(-6deg) saturate(.6) brightness(.86) contrast(1.05)}
.cbm-card{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .4s ease}
.cbm-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(79,0,11,.22)}
.cbm-card:hover img{transform:scale(1.05)}
.cbm-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cbm-split-frame{position:relative}
.cbm-split-frame::after{content:"";position:absolute;inset:30px -30px -30px 30px;border:1px solid var(--c-cta);z-index:-1;pointer-events:none}
.cbm-linkarrow a,.cbm-linkarrow .elementor-button{position:relative}
.cbm-linkarrow a::after{content:" \2192";transition:margin .3s ease}
.cbm-linkarrow a:hover::after{margin-left:6px}
.cbm-topline{border-top:1px solid var(--c-cta);padding-top:32px}
.cbm-topline-stone{border-top:1px solid var(--c-stone);padding-top:36px}
.cbm-diff{border:1px solid var(--c-pale);transition:background .3s ease}
.cbm-diff:hover{background:var(--c-cream)}
.cbm-featurerow{border-bottom:1px solid var(--c-pale)}
.cbm-trustitem{border-left:1px solid var(--c-stone)}
@media(max-width:1024px){.cbm-trustitem{border-left:none}}
.cbm-hairline-y{border-top:1px solid var(--c-pale);border-bottom:1px solid var(--c-pale)}
.cbm-testimonial{border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.12);transition:background .4s ease,border-color .4s ease}
.cbm-testimonial:hover{background:rgba(0,0,0,.22);border-color:var(--c-stone)}
.cbm-quote .elementor-heading-title::before{content:"\201C";font-family:'Tenor Sans',serif;font-size:3.4rem;color:var(--c-stone);display:block;line-height:.6;margin-bottom:14px}
.cbm-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease}
.cbm-social a:hover{background:var(--c-cta);border-color:var(--c-cta)}
.cbm-contactinfo a:hover{color:var(--c-pale)}
.cbm-mapframe iframe{filter:grayscale(40%);width:100%;min-height:460px;border:0;display:block}
.cbm-mapframe.elementor-widget{display:flex;flex-grow:1}
.cbm-mapframe.elementor-widget>.elementor-widget-container{display:flex;width:100%}
.cbm-map{width:100%;display:flex;flex:1 1 auto}
.cbm-map iframe{height:100%!important;min-height:220px!important;filter:grayscale(40%)}
.cbm-foot a{color:#E8E5DB;text-decoration:none;transition:color .25s ease}
.cbm-foot a:hover{color:#fff}
.cbm-foot-links a{display:block;padding:6px 0;font-size:.92rem}
.cbm-foot-nav a{display:inline-block;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:500;padding:0 3px}
.cbm-foot-legal a{color:#E8E5DB;text-decoration:underline;text-underline-offset:2px}
.cbm-foot-legal a:hover{color:#fff}
.cbm-contactinfo a{color:#fff}
.cbm-linkarrow .elementor-widget-container>a,.cbm-btnlink a{border-bottom:1px solid currentColor;padding-bottom:4px;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:500}
.cbm-num{font-family:'Tenor Sans',serif;color:#4F000B;font-size:clamp(3rem,5vw,4.4rem);line-height:1;display:block}
.cbm-stat{font-family:'Tenor Sans',serif;font-size:clamp(2.2rem,3.2vw,2.8rem);color:#000;line-height:1;display:block}
.cbm-header-sticky.xtb-appear,.xtb-header-sticky.xtb-appear{background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.06)}
.cbm-card{background:#fff;overflow:hidden;border:1px solid transparent;height:100%}
.cbm-card:hover{border-color:#4F000B}
.cbm-cardimg img{height:240px;object-fit:cover;width:100%;display:block}
.cbm-guideimg img{height:210px;object-fit:cover;width:100%;display:block}
.cbm-splitimg img{width:100%;object-fit:cover;display:block}
.cbm-teamph{aspect-ratio:3/4;overflow:hidden;background:#E8E5DB}
.cbm-teamph img{width:100%;height:100%;object-fit:cover}
.cbm-quote .elementor-heading-title{font-style:italic}
.cbm-formwrap .wpforms-field-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#5E5957;font-weight:500;margin-bottom:8px}
.cbm-formwrap .wpforms-field{padding:0 0 22px}
.cbm-formwrap input[type=text],.cbm-formwrap input[type=email],.cbm-formwrap input[type=tel],.cbm-formwrap textarea,.cbm-formwrap select{width:100%;padding:14px 0;border:none;border-bottom:1px solid #CCC2B8;background:transparent;font-family:'Inter',sans-serif;font-size:1rem;color:#000;border-radius:0;box-shadow:none}
.cbm-formwrap textarea{min-height:120px}
.cbm-formwrap input:focus,.cbm-formwrap textarea:focus,.cbm-formwrap select:focus{outline:none;border-bottom-color:#4F000B;box-shadow:none}
.cbm-formwrap .wpforms-submit{background:#4F000B!important;color:#fff!important;border:none!important;border-radius:2px;padding:16px 34px!important;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:500;font-family:'Inter',sans-serif;transition:background .3s ease,transform .3s ease;cursor:pointer}
.cbm-formwrap .wpforms-submit:hover{background:#6B0011!important;transform:translateY(-2px)}
.cbm-formwrap .wpforms-field-row{margin-bottom:0}
.cbm-contactinfo{background:#4F000B;color:#fff}
.cbm-contact-method{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cbm-marquee{overflow:hidden!important;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.cbm-marquee>.e-con-inner{width:max-content!important;max-width:none!important}
.cbm-marquee-track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;animation:cbm-marq 42s linear infinite}
.cbm-marquee:hover .cbm-marquee-track{animation-play-state:paused}
.cbm-marquee-item{padding:0 24px!important;display:flex!important;align-items:center;flex:0 0 auto}
.cbm-marquee-item .elementor-heading-title{white-space:nowrap;font-family:'Tenor Sans',serif}
.cbm-marquee-item::after{content:'';width:5px;height:5px;border-radius:50%;background:#CCC2B8;display:inline-block;margin-left:24px;flex:0 0 auto}
@keyframes cbm-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.xpro-theme-builder-header.cbm-smart{position:fixed;top:0;left:0;right:0;z-index:9999;transition:transform 1s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,background .3s ease;will-change:transform}
.xpro-theme-builder-header.cbm-smart.cbm-scrolled{background:rgba(255,255,255,.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.06)}
.xpro-theme-builder-header.cbm-smart.cbm-hide{transform:translateY(-100%)}
/* Flush hero under fixed header */
#content.site-content{padding-top:0!important;margin-top:0!important}
#content .ast-container{padding-top:0!important;margin-top:0!important}
.elementor>.e-con.e-parent:first-child{margin-top:0!important}

/* Remove Xpro header nav 32px top offset (gap under header) */
.xpro-theme-builder-header-nav{top:0!important}
.xpro-theme-builder-header{margin:0!important}

html{scroll-padding-top:90px}

/* About: connect icons */
.cbm-connect{display:inline-flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cbm-connect a{width:56px;height:56px;border:1px solid #CCC2B8;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#4F000B;background:#fff;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.cbm-connect a:hover{background:#4F000B;border-color:#4F000B;color:#fff;transform:translateY(-3px);box-shadow:0 10px 24px rgba(79,0,11,.22)}
.cbm-connect a svg{width:22px;height:22px;display:block}

/* Team member social icons */
.cbm-teamsocial{display:inline-flex;gap:10px;margin-top:12px}
.cbm-teamsocial a{width:34px;height:34px;border:1px solid #E8E5DB;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#5E5957;transition:background .3s ease,color .3s ease,border-color .3s ease}
.cbm-teamsocial a:hover{color:#fff;background:#4F000B;border-color:#4F000B}
.cbm-teamsocial a svg{width:15px;height:15px;display:block}

/* Header logo consistent sizing */
.cbm-headlogo-col{width:auto!important;flex:0 0 auto!important;max-width:62%}
.cbm-headlogo,.cbm-headlogo .elementor-widget-container{width:auto!important;max-width:100%}
.cbm-headlogo img{height:100px!important;width:auto!important;max-width:100%!important;object-fit:contain;display:block}
@media(max-width:1024px){.cbm-headlogo img{height:80px!important}}
@media(max-width:767px){.cbm-headlogo img{height:62px!important}}


/* ===== Mobile responsiveness polish (launch audit) ===== */
/* Stats row: equal, shrinkable thirds so numbers never overflow on small screens */
@media(max-width:1024px){
  .cbm-stats-row{gap:14px!important}
  .cbm-stats-row > .e-con{flex:1 1 0!important;min-width:0!important;width:auto!important}
}
@media(max-width:767px){
  .cbm-stats-row{gap:10px!important}
  .cbm-stat-num .elementor-heading-title{font-size:19px!important;letter-spacing:0!important;white-space:nowrap}
}
@media(max-width:360px){
  .cbm-stat-num .elementor-heading-title{font-size:16px!important}
}

/* Prevent phantom horizontal scroll from the off-canvas mobile menu (clip = no scroll-container, keeps sticky intact) */
html{overflow-x:hidden;overflow-x:clip}

/* Header CTA button: hide on mobile only (hamburger + hero CTA cover it); Xpro's own hide control hides all breakpoints, so scope here */
@media(max-width:767px){.elementor-element-4722c609{display:none!important}}

/* 'Why CBM Financial Partners' 3-point row: stack vertically on mobile so cards don't overlap */
@media(max-width:767px){
  .elementor-element-bfe4a59a{flex-direction:column!important;flex-wrap:wrap!important;gap:26px!important}
  .elementor-element-bfe4a59a > .e-con{width:100%!important;max-width:100%!important}
}

/* ===== Legal pages (Privacy / Cookies / Terms) ===== */
.cbm-legal-hero{background:#F5F5F2;text-align:center;padding:88px 24px 52px!important}
.cbm-legal-hero .cbm-eyebrow .elementor-heading-title{color:#4F000B;justify-content:center}
.cbm-legal-hero h1.elementor-heading-title{font-family:'Tenor Sans',serif;font-weight:400;color:#000;font-size:46px;line-height:1.14;margin:14px 0 12px}
.cbm-legal-updated .elementor-heading-title{color:#5E5957;font-family:'Inter',sans-serif;font-size:.82rem;letter-spacing:.03em;font-weight:400;text-transform:uppercase}
@media(max-width:767px){.cbm-legal-hero{padding:72px 20px 38px!important}.cbm-legal-hero h1.elementor-heading-title{font-size:31px}}
.cbm-legal-wrap{max-width:840px;margin:0 auto!important;padding:56px 24px 96px!important}
@media(max-width:767px){.cbm-legal-wrap{padding:40px 20px 64px!important}}
.cbm-legal{font-family:'Inter',sans-serif;color:#2b2b2b;font-size:1rem;line-height:1.75}
.cbm-legal p{margin:0 0 16px}
.cbm-legal h2{font-family:'Tenor Sans',serif;font-weight:400;color:#000;font-size:1.55rem;line-height:1.28;margin:44px 0 14px}
.cbm-legal > :first-child{margin-top:0}
.cbm-legal h3{font-family:'Inter',sans-serif;font-weight:600;color:#000;font-size:1.02rem;letter-spacing:.01em;margin:28px 0 8px}
.cbm-legal ul{margin:0 0 18px;padding-left:22px}
.cbm-legal li{margin:0 0 9px}
.cbm-legal a{color:#4F000B;text-decoration:underline;word-break:break-word}
.cbm-legal strong{color:#000}
.cbm-legal em{color:#5E5957}
.cbm-legal-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
.cbm-legal table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.cbm-legal th,.cbm-legal td{border:1px solid #E8E5DB;padding:12px 14px;text-align:left;vertical-align:top;line-height:1.6}
.cbm-legal th{background:#F5F5F2;font-weight:600;color:#000}

/* cbm-legal-maxw: constrain legal prose to a readable column */
.cbm-legal.elementor-widget-text-editor{max-width:820px!important;margin-left:auto!important;margin-right:auto!important}
.cbm-legal-wrap>.e-con-inner{max-width:100%}

/* Uniform card CTA: push Discover to the bottom of each Our Services card */
.elementor-element-193902a5 .cbm-card{height:100%;display:flex;flex-direction:column}
.elementor-element-193902a5 .cbm-card > .e-con:last-child{flex:1 1 auto}
.elementor-element-193902a5 .cbm-card > .e-con:last-child > .e-con-inner{flex:1 1 auto;display:flex;flex-direction:column;height:100%}
.elementor-element-193902a5 .cbm-card > .e-con:last-child > .elementor-widget:last-child,
.elementor-element-193902a5 .cbm-card > .e-con:last-child > .e-con-inner > .elementor-widget:last-child{margin-top:auto}

/* Hidden until content is ready: Mortgage Guides section */
.cbm-guides-hidden{display:none!important}

/* Our Services: swipeable carousel on mobile */
@media(max-width:767px){
  .cbm-services-row{flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
  .cbm-services-row::-webkit-scrollbar{display:none;height:0}
  .cbm-services-row>.e-con{flex:0 0 78%!important;width:78%!important;max-width:78%!important;scroll-snap-align:center}
  .cbm-services-dots{display:flex!important;justify-content:center;gap:6px;margin-top:18px}
}
.cbm-services-dots{display:none;justify-content:center;gap:6px}
.cbm-services-dots .cbm-sd{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.18)}
.cbm-services-dots .cbm-sd.is-active{background:#4F000B}

/* Our Services carousel: fix centering overflow bug + widen cards */
@media(max-width:767px){
  .cbm-services-row{justify-content:flex-start!important;scroll-padding-left:0}
  .cbm-services-row>.e-con{flex:0 0 87%!important;width:87%!important;max-width:87%!important}
}

/* Our Services carousel: disable desktop hover-lift on mobile, widen cards further */
@media(max-width:767px){
  .cbm-services-row .cbm-card{transition:none!important}
  .cbm-services-row .cbm-card,
  .cbm-services-row .cbm-card:hover{transform:none!important;box-shadow:none!important;border-color:transparent!important}
  .cbm-services-row>.e-con{flex:0 0 94%!important;width:94%!important;max-width:94%!important}
}
