@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//www.firmus.com.sg/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=7.4.3") format("woff2");
}

:root {
	--wd-header-banner-h: 40px;
	--wd-text-font: "Graphik Reg", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 300;
	--wd-text-color: rgb(0,0,0);
	--wd-text-font-size: 13px;
	--wd-title-font: "Graphik Med", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Graphik Med", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Graphik Reg", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Graphik Med", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 500;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Graphik Med", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 300;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-primary-color: rgb(163,67,29);
	--wd-alternative-color: rgb(163,67,29);
	--wd-link-color: rgb(163,67,29);
	--wd-link-color-hover: rgb(163,67,29);
	--btn-default-bgcolor: rgb(247,247,247);
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(34,34,33);
	--btn-accented-bgcolor-hover: rgb(111,115,119);
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
}
div.wd-popup.wd-age-verify {
	background-color: rgb(255,255,255);
	background-image: none;
	max-width: 1000px;
}
.wd-popup.wd-promo-popup {
	background-color: rgba(17,17,17,0.09);
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
div.wd-popup.wd-promo-popup {
	max-width: 800px;
}
.page-title-default {
	background-color: rgb(20,24,27);
	background-image: none;
	background-size: cover;
	background-position: center center;
}
.woodmart-archive-shop:not(.single-product) .main-page-wrapper {
	background-color: rgb(247,247,247);
	background-image: none;
}
.single-product .main-page-wrapper {
	background-color: rgb(247,247,247);
	background-image: none;
}
.woodmart-archive-blog .main-page-wrapper {
	background-color: rgb(247,247,247);
	background-image: none;
}
.single-post .main-page-wrapper {
	background-image: url(https://www.firmus.com.sg/wp-content/uploads/2022/03/pattern3-b.jpg);
}
div.wd-popup.popup-quick-view {
	max-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-header-banner-h: 40px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


@font-face {
	font-family: "Graphik Reg";
	src: url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Regular.woff") format("woff2"), 
url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Graphik Med";
	src: url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Medium.woff") format("woff2"), 
url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: "Graphik Bold";
	src: url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Bold.woff") format("woff2"), 
url("//www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}

/*#user-registration .user-registration-MyAccount-navigation a{
padding: 10px 15px;
font-weight: 400;
font-size: 14px;
font-family: sans-serif;
text-decoration: none;
border-width: 0 0 0 4px;
border-style: solid;
border-color: transparent;
-webkit-box-shadow: 0 0 0 transparent;
box-shadow: 0 0 0 transparent;
}

#user-registration a {
	color: #000;	
} */

.ur-frontend-form .ur-form-row .ur-form-grid label, .ur-frontend-form .ur-form-row .ur-form-grid legend {
display: block;
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
color: #000 !important;
}

.ur-frontend-form .ur-form-row .ur-form-grid input[type=text] {
display: block;
width: 100%;
padding: 4px 8px;
border-radius: 0;
min-height: 36px;
margin-bottom: 10px;
line-height: 1.5;
border-color: #e6e6e6 !important;
}

.ur-frontend-form .ur-form-row .ur-form-grid input[type=password] {
display: block;
width: 100%;
padding: 4px 8px;
border-radius: 0;
min-height: 36px;
margin-bottom: 10px;
line-height: 1.5;
border-color: #e6e6e6 !important;
}

.whb-col-right .wd-dropdown-my-account {
right: 0;
left: auto;
display: none !important;
}



/****** LOGIN ******/

.wd-login-title {
    text-transform: uppercase;
    font-size: 22px;
		color: #000 !important;
}

label {
    display: block;
    margin-bottom: 5px;
	color: #000;
    vertical-align: middle;
    font-weight: 400;
}

#cta-id label { 
	color: #fff !important;
}


.global-color-scheme-light #customer_login>div:not(:first-child):last-child {
    border-color: rgba(255,255,255,0.15);
    display: none;
}

.woocommerce-Input .woocommerce-Input--text .input-text {
	border: #000 !important;
}


.price {
    display: none;
}


.wd-hover-quick .wd-add-btn {
    display: none;
}

.product-image-summary .cart {
    display: none;
}

.global-color-scheme-light .product-tabs-wrapper {
    background-color: #fff !important;
}

.global-color-scheme-light .main-page-wrapper {
	background-color: #fff !important;
}

.shop-loop-head {
    display: none !important;
}

/****** GRAVITY FORMS ******/

.gform_wrapper.gravity-theme * {
    box-sizing: border-box;
    border-color: #d2d4d5;
		color: #000 ;
}

.gform_confirmation_message_1 {
	color: #000 !important;
	font-size: 14px !important;
}

.gform_confirmation_message_3 {
	color: #000 !important;
	font-size: 14px !important;
}

.gform_wrapper.gravity-theme .gfield input.large, .gform_wrapper.gravity-theme .gfield select.large {
		border-color: #d2d4d5;
}

/****** CONTACT FORM ******/
.gform_wrapper.gravity-theme .gfield input.large, .gform_wrapper.gravity-theme .gfield select.large {
    border-color: #D2D4D5 !important;
}

.gm-style .gm-style-iw-c {
	color: #000 !important;
}

/* CUSTOM FONT */
@font-face {
  font-family: Graphik;
  src: url(https://www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Regular.woff);
}

/* SLIDER FONT */
@font-face {
  font-family: 'Graphik';
  src: url(https://www.firmus.com.sg/wp-content/uploads/2022/01/Graphik-Regular.woff) format('woff'),
	font-weight: 700;
	font-style: bold;}
	.my_font {font-family: Graphik !important };
}

.input[type='email'], .input[type='date'], .input[type='search'], .input[type='number'], .input[type='text'], .input[type='tel'], .input[type='url'], .input[type='password'], .textarea, .select
{
	color: #000; !important
}

/****** GLOBAL NAVIGATION ******/

body:not(.single-product) .whb-overcontent:not(.whb-sticked) .whb-row:not(.whb-with-bg) {
	background-color: transparent !important;
}

.whb-color-light:not(.whb-with-bg){
	background-color:#3c5e68 !important;
}

.wd-dropdown.color-scheme-light, .color-scheme-light .wd-dropdown, .wd-dropdown-menu.wd-design-default.color-scheme-light .wd-dropdown {
	background-color: #3c5e68 !important;
}

.wd-sub-menu li a {
    position: relative;
    display: flex;
    align-items: center;
    padding-top: 8px;
    padding-bottom: 8px;
    color: var(--sub-menu-color);
    font-size: 12px !important;
    line-height: 1.3;
}

/******* CTA *******/

.wd-title-style-bordered .liner-continer:after {
	border-color: #a3431d !important;
}

.button {
	color: #fff !important;
	background-color:#3f606a !important;
	border-radius: 10px !important;
	border-width: 2px !important;
	border-color: #3c5e68 !important;
}

.button:hover {
	color: #fff !important;
	background-color: #222221 !important;
	border-radius: 10px !important;
	border-width: 2px !important;
	border-color: #222221 !important;
	transition-duration: 0.4s !important; 
}

.gform_wrapper.gravity-theme .gfield_label {
    font-size: 16px !important;
    font-weight: 700;
	 	color: #222221 !important;
    margin-bottom: 0px;
    display: inline-block;
    padding: 0;
	 	font-family: 'Graphik' !important;
}

.gfield_required .gfield_required_asterisk {
	color: #a3431d; !important
}

.gform_wrapper.gravity-theme .gfield textarea.small {
    font-size: 16px;
    padding: 10px;
		color: #222221 ;
    margin-bottom: 0;
    margin-top: 0;
    border-width: 1px !important;
    border-color: #dedede !important;
		border-width: 10%
}

.gform_wrapper.gravity-theme input[type=text] {
    font-size: 16px;
		color: #222221;
    padding: 10px;
    margin-bottom: 0;
    margin-top: 0;
    border-width: 1px !important;
    border-color: #d2d4d5 !important;
}

/*** WHATSAPP + FOOTER ***/

.wa__btn_popup .wa__btn_popup_txt {
	display: none !important;
}


}
.copyrights-wrapper {
    background-color: #6f7377 ;
		color: #fff ;
}


.footer-column {
	margin-bottom: 10px !important;
}

.wd-prefooter {
	padding-bottom: 0px !important;
}


strong, b {
    color: #000;
}

/*******  ALL PAGES *******/

.vc_row-full-width .vc_clearfix {
    display: none;
}

.wpb-js-composer .title-wrapper u {
	color: inherit !important;
	font-weight: 700 !important;
}

#pagelink-col .wpb_wrapper {
	display: flex;
	justify-content: space-between;
}


/****** PORTFOLIO BLOG ******/

.vp-filter__style-default .vp-filter__item.vp-filter__item-active {
    --vp-filter-default--items__color:#fff;
    --vp-filter-default--items__background-color:  #a3431d;
    --vp-filter-default--items-hover__color: #fff;
    --vp-filter-default--items-hover__background-color: #a3431d;
}

.single-portfolio .single-post-navigation {
	display: none !important;
}

.vp-pagination__style-minimal .vp-pagination__item {
	display: none !important;
}

.banner-mask .wrapper-content-banner:hover {
 background-color: #6f7377 !important;
}


.read-more-section a {
	color: #3c5e68 !important;
}


.wd-post-date.wd-style-with-bg {
    display: none;
}

.wd-post-cat.wd-style-with-bg {
    display: none;
}

.entry-meta-list {
    display: none;
}

.wd-entities-title {
	color: #a3431d !important;
	margin-top: 50px !important;
}

.blog-design-masonry .post-title {
	font-size: 18px !important;
	font-weight: 700 !important;
}

.widgettitle, .widget-title {
    color: #000;
}

.widget_categories ul li a, .widget_pages ul li a, .widget_archive ul li a, .widget_nav_menu ul li a {
    color: #3c5e68;
}

[class*="color-scheme-light"] .blog-post-loop .article-body-container {
    background-color:#fff !important;
}

.gform_fileupload_rules {
	color:#222221 !important; 
}


/***** Terms & Conditions Pop Up *****/
.termsagree  {
    background:#3c5e68 !important;
    color: #fff;
		border-radius:10px !important;
}

.termsagree:hover  {
    background:#3c5e68 !important;
    color: #fff;
		border-radius:10px !important;
}

.wd-age-verify-forbidden {
    border-radius: var(--btn-default-brd-radius);
    color: var(--btn-default-color);
    box-shadow: var(--btn-default-box-shadow);
    background-color: var(--btn-default-bgcolor);
    display: none!important;
}

h3.termstitle {
    background:#d2d4d5!important;
    color: #000000 !important;
		font-size: 22px !important;
		font-weight:500 !important;
	  text-align: center;
    padding: 2% !important;
}


.vc_tta-color-black.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a {
    color: #fff;
    background-color: #101010 !important;
}

.vc_tta.vc_general .vc_tta-panel-title>a {
    background: 0 0;
    display: block;
    padding: 14px 20px;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: color .2s ease-in-out;
    border: none;
    box-shadow: none;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    padding-left: 25px !important;
}
.vc_tta-color-black.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a {
    color: #fff;
    font-size: 18px !important;
}

.vc_tta.vc_general .vc_tta-panel-body {
    border: solid transparent;
    box-sizing: content-box;
    padding: 0px 0px !important;
    display: none;
    overflow: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    transition: padding .2s ease-in-out;
}

.vc_tta-color-black.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a {
color: #fff;
font-weight: 900 !important;
font-family: 'Graphik Med' !important;
}

.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-body {
    display: block;
    padding-top: 20px !important;
		padding-bottom: 20px !important;
		padding-left: 25px !important;
}

/***** Password Protected *****/

.post-password-form {
    color: #000;
}

label pwbox-10036 {
		color: #000 !important;
}

pwbox .label {
		color: #000 !important;
}

label #pwbox-10036 {
	color: #000 !important;
	border-color: #000 !important;
}

/* ==========================================================
   FIRMUS CAPITAL – HOMEPAGE STYLES (Woodmart + WPBakery)
   Paste into: child theme style.css  OR
   Woodmart > Theme Settings > Custom CSS
   Every class starts with "fm-" so nothing else on the site changes.
   Guide: firmus-wpbakery-build-guide.md
   ========================================================== */

/* ---------- 1. Brand tokens ---------- */
:root{
  --fm-bg:#14181b;        /* dark, derived from brand slate */
  --fm-bg2:#1a1f23;
  --fm-cream:#eee9e2;     /* Pantone Warm Grey 1C */
  --fm-mist:#d2d4d5;      /* Pantone 427C */
  --fm-slate:#50646e;     /* Pantone 7477C */
  --fm-grey:#6f7377;      /* Pantone Cool Grey 10C */
  --fm-rust:#a3431d;      /* Pantone 173C */
  --fm-rust-tint:#c8724d; /* lightened rust, for small text on dark only */
  --fm-teal:#007580;      /* Pantone 7714C */
  --fm-ink:#1c2226;
  --fm-serif:"Times New Roman",Times,serif;
  --fm-sans:Graphik,Arial,Helvetica,sans-serif;
  --fm-container:1222px;  /* match Theme Settings > General > Site width */
}

/* Graphik: uncomment ONLY after the web-font licence is confirmed,
   and point the URLs at the uploaded files.
@font-face{font-family:"Graphik";font-weight:400;font-display:swap;
  src:url("/wp-content/uploads/fonts/Graphik-Regular.woff2") format("woff2")}
@font-face{font-family:"Graphik";font-weight:500;font-display:swap;
  src:url("/wp-content/uploads/fonts/Graphik-Medium.woff2") format("woff2")}
*/

/* ---------- 2. Section rows (dark / light / white) ---------- */
.vc_row:is(.fm-dark,.fm-light,.fm-white){
  margin-bottom:0;padding:112px 0;font-family:var(--fm-sans);font-size:16px;line-height:1.65;
  border-bottom:1px solid var(--fm-ln);
}
.vc_row.fm-dark{background:var(--fm-bg);color:var(--fm-cream);
  --fm-sub:var(--fm-mist);--fm-mut:#9aa0a4;--fm-ln:rgba(210,212,213,.16);--fm-acc:var(--fm-rust-tint);--fm-card:var(--fm-bg2)}
.vc_row.fm-light{background:var(--fm-cream);color:var(--fm-ink);
  --fm-sub:#3a4850;--fm-mut:var(--fm-slate);--fm-ln:rgba(80,100,110,.28);--fm-acc:var(--fm-rust);--fm-card:#fff}
.vc_row.fm-white{background:#fff;color:var(--fm-ink);
  --fm-sub:#3a4850;--fm-mut:var(--fm-slate);--fm-ln:rgba(80,100,110,.28);--fm-acc:var(--fm-rust);--fm-card:var(--fm-cream)}
.vc_row.fm-tight{padding:44px 0}
.vc_row#contact{border-bottom:0!important} /* last section before the footer: the colour change to the footer already separates it, so the divider line is redundant here */

.vc_row:is(.fm-dark,.fm-light,.fm-white) :is(h1,h2,h3){
  font-family:var(--fm-serif);font-weight:400;letter-spacing:-.01em;line-height:1.1;color:inherit;margin:0 0 12px;text-transform:none}
.vc_row:is(.fm-dark,.fm-light,.fm-white) h1{font-size:clamp(2.7rem,5.4vw,4.6rem);margin-bottom:26px}
.vc_row:is(.fm-dark,.fm-light,.fm-white) h2{font-size:clamp(2rem,4vw,3rem)}
.vc_row:is(.fm-dark,.fm-light,.fm-white) p{margin:0}
.vc_row .fm-accent{display:block;color:var(--fm-acc)}
.vc_row .fm-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fm-acc);margin:0 0 18px}
.vc_row .fm-note{font-size:12px;color:var(--fm-mut)}
.vc_row .fm-ph{font-style:normal;border-bottom:1px dashed var(--fm-acc)} /* remove class once real data is in */

/* ---------- 3. Buttons and links ---------- */
.vc_row .fm-btns{display:flex;gap:14px;flex-wrap:wrap;margin:0}
.vc_row a.fm-btn{display:inline-block;padding:14px 26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--fm-rust);color:inherit;background:transparent;text-decoration:none;transition:background .2s}
.vc_row a.fm-btn-fill{background:var(--fm-rust);color:#fff}
.vc_row a.fm-btn:hover{background:var(--fm-rust);color:#fff}
.vc_row a.fm-link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-acc);
  border-bottom:1px solid var(--fm-acc);padding-bottom:2px;text-decoration:none}
.vc_row a:focus-visible{outline:2px solid var(--fm-acc);outline-offset:3px}

/* ---------- 4. Hero ---------- */
/* Row: "Stretch row and content (no paddings)". Left column class fm-hero-left, right column fm-facade */
.vc_row.fm-hero{padding:0}
.vc_row.fm-hero .fm-hero-left>.vc_column-inner{
  padding:96px 48px 64px max(15px,calc((100vw - var(--fm-container))/2 + 15px));min-height:640px;
  display:flex;flex-direction:column;justify-content:center}
.vc_row.fm-hero .fm-lede{max-width:470px;color:var(--fm-sub);margin-bottom:34px}
/* Fallback until a photo is set in the column's Design Options */
.vc_row.fm-hero .fm-facade>.vc_column-inner{min-height:640px;background:
  repeating-linear-gradient(90deg,rgba(20,24,27,.6) 0 2px,transparent 2px 72px),
  repeating-linear-gradient(0deg,rgba(20,24,27,.6) 0 2px,transparent 2px 96px),
  linear-gradient(160deg,#07262b 0%,var(--fm-teal) 58%,var(--fm-slate) 100%);background-size:cover;background-position:center}
.vc_row .fm-stats{display:grid;grid-template-columns:repeat(4,auto);gap:34px;margin-top:56px;padding-top:28px;
  border-top:1px solid var(--fm-ln);max-width:560px;justify-content:start}
.vc_row .fm-stats b{display:block;font:400 38px/1 var(--fm-serif);color:var(--fm-acc);margin-bottom:8px}
.vc_row .fm-stats small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fm-mut);line-height:1.4}
/* Hero: retain existing split WPBakery columns and image column background. */
.vc_row.fm-home-rev.fm-hero .fm-home-hero-title{max-width:670px}
.vc_row.fm-home-rev.fm-hero .fm-home-hero-title .fm-home-title-accent{color:var(--fm-rust-tint);display:block}
.vc_row.fm-home-rev.fm-hero .fm-home-hero-intro{max-width:520px;color:var(--fm-mist);font-size:16px;line-height:1.8;margin:0 0 30px}
.vc_row.fm-home-rev .fm-home-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-top:1px solid var(--fm-ln);padding-top:28px;margin-top:42px;max-width:680px}
.vc_row.fm-home-rev .fm-home-hero-stats b{display:block;color:var(--fm-rust-tint);font:400 clamp(23px,2.5vw,34px)/1.1 var(--fm-serif);margin-bottom:9px}
.vc_row.fm-home-rev .fm-home-hero-stats small{display:block;font-size:10px;letter-spacing:.10em;text-transform:uppercase;line-height:1.5;color:var(--fm-mist)}

/* ---------- 5. Approach ---------- */
.vc_row .fm-quote{margin:0;padding:0;border:0;font:400 clamp(1.5rem,2.6vw,2.1rem)/1.4 var(--fm-serif);color:inherit}
.vc_row .fm-caps{border-left:2px solid var(--fm-rust)}
.vc_row .fm-caps>div{padding:26px 0 26px 32px;border-bottom:1px solid var(--fm-ln)}
.vc_row .fm-caps>div:last-child{border-bottom:0}
.vc_row .fm-caps h3{font:500 12px var(--fm-sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.vc_row .fm-caps p{color:var(--fm-mut);font-size:15px;margin-bottom:12px}
/* Native WPBakery 1/2 + 1/2 investment-thesis row: left is quote, right is list. */
.vc_row.fm-home-rev .fm-home-thesis-quote{font:400 clamp(25px,2.8vw,38px)/1.42 var(--fm-serif);color:inherit;max-width:620px;margin:0}
.vc_row.fm-home-rev .fm-home-strategies{border-left:2px solid var(--fm-rust);padding-left:28px}
.vc_row.fm-home-rev .fm-home-strategy{padding:6px 0 24px;border-bottom:1px solid var(--fm-ln)}
.vc_row.fm-home-rev .fm-home-strategy + .fm-home-strategy{padding-top:22px}
.vc_row.fm-home-rev .fm-home-strategy:last-child{border-bottom:0;padding-bottom:0}
.vc_row.fm-home-rev .fm-home-strategy h3{font:500 12px/1.5 var(--fm-sans);letter-spacing:.14em;text-transform:uppercase;color:inherit;margin:0 0 9px}
.vc_row.fm-home-rev .fm-home-strategy p{font-size:15px;line-height:1.7;color:var(--fm-mut)}

/* ---------- 6. Featured assets ---------- */
.vc_row .fm-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.vc_row .fm-card{background:var(--fm-card);border:1px solid var(--fm-ln)}
.vc_row .fm-photo{height:190px;background:linear-gradient(135deg,var(--fm-slate),#2a343a) center/cover no-repeat}
.vc_row .fm-card-body{padding:26px 28px 28px}
.vc_row .fm-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.vc_row .fm-tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--fm-rust);color:var(--fm-acc)}
.vc_row .fm-tag-g{border-color:var(--fm-grey);color:var(--fm-mut)}
.vc_row .fm-card h3{font-size:1.55rem}
.vc_row .fm-addr{color:var(--fm-mut);font-size:14px;margin-bottom:22px}
.vc_row .fm-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--fm-ln);padding-top:16px}
.vc_row .fm-card-foot .fm-status{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fm-mut)}
.vc_row .fm-card-foot .fm-status em{font-style:normal}
/* Featured funds: asymmetric grid kept inside ONE WPBakery column. */
.vc_row.fm-home-rev .fm-home-funds{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(220px,auto));gap:18px;margin-top:36px}
.vc_row.fm-home-rev .fm-home-fund{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--fm-ln);background:var(--fm-card)}
.vc_row.fm-home-rev .fm-home-fund:first-child{grid-row:1/span 2}
.vc_row.fm-home-rev .fm-home-fund-photo{height:130px;background:#50646e center/cover no-repeat;position:relative}
.vc_row.fm-home-rev .fm-home-fund:first-child .fm-home-fund-photo{height:260px}
.vc_row.fm-home-rev .fm-home-fund-body{padding:25px 26px 26px;flex:1;display:flex;flex-direction:column}
.vc_row.fm-home-rev .fm-home-fund-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.vc_row.fm-home-rev .fm-home-fund-meta{color:var(--fm-mut);font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.vc_row.fm-home-rev .fm-home-fund-status{border:1px solid var(--fm-acc);padding:4px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fm-acc)}
.vc_row.fm-home-rev .fm-home-fund h3{font-size:clamp(22px,2.1vw,30px);margin-bottom:12px}
.vc_row.fm-home-rev .fm-home-fund-summary{color:var(--fm-mut);font-size:14px;line-height:1.7;margin-bottom:20px!important}
.vc_row.fm-home-rev .fm-home-fund-foot{margin-top:auto;border-top:1px solid var(--fm-ln);padding-top:19px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.vc_row.fm-home-rev .fm-home-fund-foot small{display:block;color:var(--fm-mut);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.vc_row.fm-home-rev .fm-home-fund-foot strong{display:block;color:var(--fm-acc);font:400 22px var(--fm-serif);margin-top:6px}
.vc_row.fm-home-rev .fm-home-preview-note{color:var(--fm-mut);font-size:12px;line-height:1.65;margin-top:22px!important}

/* Track record. Do not publish figures until verified and compliance-approved. */
.vc_row.fm-home-rev .fm-home-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;border:1px solid var(--fm-ln)}
.vc_row.fm-home-rev .fm-home-metric{padding:35px 32px}
.vc_row.fm-home-rev .fm-home-metric + .fm-home-metric{border-left:1px solid var(--fm-ln)}
.vc_row.fm-home-rev .fm-home-metric strong{display:block;font:400 clamp(38px,4vw,55px)/1.05 var(--fm-serif);color:var(--fm-acc);margin-bottom:12px}
.vc_row.fm-home-rev .fm-home-metric b{display:block;font-size:13px;font-weight:500;color:inherit}
.vc_row.fm-home-rev .fm-home-metric small{display:block;font-size:12px;color:var(--fm-mut);margin-top:8px}
.vc_row.fm-home-rev .fm-home-performance-note{color:var(--fm-mut);font-size:12px;line-height:1.65;margin-top:18px!important}

/* ---------- 7. Why Firmus ---------- */
.vc_row .fm-why{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px}
.vc_row .fm-why>div{border-top:2px solid var(--fm-rust);padding-top:24px}
.vc_row .fm-why h3{font-size:1.45rem}
.vc_row .fm-why p{color:var(--fm-mut);font-size:15px}
/* Why Firmus: numbered columns, similar to supplied reference, existing brand colours. */
.vc_row.fm-home-rev .fm-home-strengths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--fm-ln);margin-top:38px}
.vc_row.fm-home-rev .fm-home-strength{min-width:0;padding:28px 21px 0 0}
.vc_row.fm-home-rev .fm-home-strength + .fm-home-strength{border-left:1px solid var(--fm-ln);padding-left:21px}
.vc_row.fm-home-rev .fm-home-strength-number{display:block;color:var(--fm-acc);font:400 34px var(--fm-serif);margin-bottom:24px}
.vc_row.fm-home-rev .fm-home-strength h3{font-size:21px;margin-bottom:13px}
.vc_row.fm-home-rev .fm-home-strength p{font-size:14px;line-height:1.7;color:var(--fm-mut)}

/* ---------- 8. Team ---------- */
.vc_row .fm-team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.vc_row .fm-person{display:flex;gap:20px;align-items:center;padding:22px;border:1px solid var(--fm-ln);background:var(--fm-card)}
.vc_row .fm-avatar{flex:none;width:76px;height:76px;background:var(--fm-slate) center/cover no-repeat;color:#fff;display:grid;place-items:center;font:400 26px var(--fm-serif)}
.vc_row .fm-person h3{font-size:1.35rem;margin:0}
.vc_row .fm-person small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-acc);margin:4px 0 6px}
.vc_row .fm-person p{font-size:13px;color:var(--fm-mut);line-height:1.5}
/* Existing team cards are unchanged; details only controls visibility of extra cards/CTA. */
.vc_row.fm-home-rev .fm-home-more-team{margin-top:22px}
.vc_row.fm-home-rev .fm-home-more-team > summary{list-style:none;display:table;cursor:pointer;border:0;background:transparent;color:var(--fm-acc);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 0;margin:22px 0 0 auto;text-align:right}
.vc_row.fm-home-rev .fm-home-more-team > summary::-webkit-details-marker{display:none}
.vc_row.fm-home-rev .fm-home-more-team > summary .fm-home-less-label{display:none}
.vc_row.fm-home-rev .fm-home-more-team[open] > summary .fm-home-more-label{display:none}
.vc_row.fm-home-rev .fm-home-more-team[open] > summary .fm-home-less-label{display:inline}
.vc_row.fm-home-rev .fm-home-more-team > .fm-team{margin-top:27px}
.vc_row.fm-home-rev .fm-home-team-cta{text-align:center;margin-top:30px}
.vc_row.fm-home-rev .fm-home-team-cta a{display:inline-block;border:1px solid var(--fm-rust);color:var(--fm-rust);background:transparent;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:12px 26px;transition:background-color .2s,color .2s}
.vc_row.fm-home-rev .fm-home-more-team > summary:focus-visible{outline:2px solid var(--fm-acc);outline-offset:4px}
.vc_row.fm-home-rev .fm-home-team-cta a:focus-visible{outline:2px solid var(--fm-acc);outline-offset:4px}
.vc_row.fm-home-rev .fm-home-more-team > summary:hover{opacity:.75}
.vc_row.fm-home-rev .fm-home-team-cta a:hover{background:var(--fm-rust);color:#fff;opacity:1}

/* ---------- 9. Credentials strip ---------- */
.vc_row .fm-creds{display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.vc_row .fm-creds b{display:block;font:400 1.35rem var(--fm-serif)}
.vc_row .fm-creds small{color:var(--fm-mut);font-size:13px}

/* ---------- 10. Contact / CTA ---------- */
.vc_row .fm-big{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border:1px solid var(--fm-ln);
  margin-bottom:14px;font-size:14px;color:inherit;text-decoration:none}
.vc_row .fm-big small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-bottom:2px}
.vc_row a.fm-big-fill{background:var(--fm-rust);border-color:var(--fm-rust);color:#fff}
.vc_row .fm-crit{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin:26px 0 0;font-size:14px;color:var(--fm-mut)}
.vc_row .fm-crit dt{color:var(--fm-sub);font-weight:400}
.vc_row .fm-crit dd{margin:0}

/* ---------- 11. Header (Header Builder) ---------- */
/* Header Builder settings: row background #14181b, height 72px, colour scheme "light". */
/* Confirmed real cause of the header gap: Woodmart's sticky-header script
   sets an inline padding-top (e.g. 73px) directly on <header class="whb-header">,
   meant to reserve space for when the header becomes fixed on scroll. Here it
   was rendering as visible empty space instead, which was the reported gap. */
header.whb-header{padding-top:0!important}
.whb-header .whb-general-header{background:#14181b;border-bottom:1px solid rgba(210,212,213,.16)}
.whb-header .wd-nav>li>a{font:400 12px var(--fm-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fm-mist)}
.whb-header .wd-nav>li:hover>a,.whb-header .wd-nav>li.current-menu-item>a{color:var(--fm-cream)}

/* Nav dropdown submenu — confirmed real Woodmart markup:
   .wd-dropdown-menu.color-scheme-light > .container > ul.wd-sub-menu > li > a.woodmart-nav-link
   Matching the .color-scheme-light combination keeps specificity high enough
   to reliably beat the theme's own light-scheme defaults. */
.wd-dropdown-menu.color-scheme-light{
  background:var(--fm-bg)!important;border-top:2px solid var(--fm-rust)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.45)!important}
.wd-dropdown-menu .container{padding:10px 0!important;max-width:none!important;width:auto!important;min-width:200px!important}
.wd-sub-menu.color-scheme-light{background:transparent!important}
.wd-sub-menu li{margin:0!important;border:0!important}
.wd-sub-menu a.woodmart-nav-link{
  font:400 12px var(--fm-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  color:var(--fm-mist)!important;padding:12px 22px!important;display:block!important;
  background:transparent!important;transition:background .15s,color .15s}
.wd-sub-menu a.woodmart-nav-link:hover{
  color:var(--fm-cream)!important;background:rgba(210,212,213,.06)!important;padding-left:26px!important}
/* Investor Portal placeholder: add a Button in Header Builder with extra class "fm-portal".
   Hidden until a portal exists. To show it, delete the display:none line. */
.fm-portal{display:none!important}
.fm-portal{font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border:1px dashed var(--fm-grey);color:#9aa0a4;background:transparent}

/* ---------- 12. Footer ---------- */
.footer-container,.footer-widgets,.site-footer{background:#101315;color:#9aa0a4;font-family:var(--fm-sans)}
.footer-container h4,.footer-container h5,.footer-container .widget-title,.footer-container .widget-title h5,
.footer-widgets h4,.footer-widgets h5,.footer-widgets .widget-title,.footer-widgets .widget_title,
.site-footer h4,.site-footer h5,.site-footer .widget-title{
  font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--fm-mist)!important;font-weight:500!important;margin:0 0 14px!important}
.footer-container a{color:#9aa0a4}.footer-container a:hover{color:var(--fm-cream)}
.copyrights-wrapper{border-top:1px solid rgba(210,212,213,.16);font-size:12px;line-height:1.7}

/* Confirmed real markup: <footer class="footer-container color-scheme-light">.
   That two-class combination has higher specificity than a plain
   .footer-container rule, which is why the border kept winning — matching
   it exactly here settles it regardless of stylesheet load order. */
.footer-container.color-scheme-light{border-top:0!important}
.main-footer{padding-top:64px!important}

/* ---------- 13. Fixes: logos, image sizing, edge padding, header gap ---------- */

/* 13a. Credential logos (MAS / ASIC marks) */
.vc_row .fm-creds{align-items:center;gap:28px}
.vc_row .fm-creds>div{display:flex;align-items:center;gap:16px}
.vc_row .fm-creds>div:first-child{flex-direction:column;align-items:flex-start;gap:6px}
.vc_row .fm-creds>div:not(:first-child){background:#fff;border:1px solid var(--fm-ln);padding:16px 22px;flex:1;min-width:240px}
.vc_row .fm-creds img.fm-cred-logo{height:64px;width:auto;display:block;flex:none}
.vc_row .fm-creds>div:not(:first-child) small{font-size:13px;line-height:1.4;color:var(--fm-mut)}

/* 13b. Bigger asset and team photos */
.vc_row .fm-photo{height:320px;background-size:cover;background-position:center}
.vc_row .fm-avatar{width:120px;height:120px;background-size:cover;background-position:center;font-size:32px}
.vc_row .fm-person{align-items:stretch}
/* Alternative: stack the team card so the photo runs full-width and taller. Swap .fm-person to this if preferred: */
.vc_row .fm-person.fm-person-stacked{display:block;padding:0;overflow:hidden}
.vc_row .fm-person.fm-person-stacked .fm-avatar{width:100%;height:280px;border-radius:0;font-size:0}
.vc_row .fm-person.fm-person-stacked>div{padding:22px}

/* 13c. Stop left-side text sitting flush against the browser edge.
   Root cause: the row's "Row stretch" setting is set to "Stretch row and content
   (no paddings)" on rows OTHER than the hero. Only the hero row should use that
   setting. Every other row (fm-light / fm-white / fm-dark, non-hero) should use
   plain "Stretch row" instead, which keeps the theme's container gutters.
   This rule is a safety net in case a row is still set to the no-padding option. */
.vc_row:not(.fm-hero) > .vc_row-fluid > .wpb_column > .vc_column-inner,
.vc_row:not(.fm-hero) > .vc_row-fluid > .wpb_column > .vc_column_container > .vc_column-inner{
  padding-left:20px;padding-right:20px;
}
@media(min-width:1000px){
  .vc_row:not(.fm-hero) > .vc_row-fluid > .wpb_column:first-child > .vc_column-inner,
  .vc_row:not(.fm-hero) > .vc_row-fluid > .wpb_column:first-child > .vc_column_container > .vc_column-inner{
    padding-left:max(15px,calc((100vw - var(--fm-container))/2 + 15px));
  }
}

/* 13d. Hero: right-hand image matches the left column's height, no cropping gap.
   In the row's General settings, also turn ON "Columns are the same height"
   and set "Content position" to "Middle" — that alone may fix most of this. */
.vc_row.fm-hero > .vc_row-fluid{display:flex;flex-wrap:wrap;align-items:stretch}
.vc_row.fm-hero .fm-hero-left,
.vc_row.fm-hero .fm-facade{display:flex}
.vc_row.fm-hero .fm-hero-left>.vc_column-inner,
.vc_row.fm-hero .fm-facade>.vc_column-inner{min-height:0;height:auto;width:100%}
.vc_row.fm-hero .fm-facade>.vc_column-inner{align-self:stretch}

/* 13e. Remove the gap between the sticky nav and the hero row below it.
   Confirmed from the live markup: content sits inside
   .main-page-wrapper > .container > .row.content-layout-wrapper > .site-content
   and this wrapper is carrying the top spacing, not the hero row itself.
   Check the page's Woodmart template setting first (Full Width, no title,
   no padding) — that is the real fix. This CSS is a backup/reinforcement. */
.main-page-wrapper{margin-top:0!important;padding-top:0!important;margin-bottom:0!important}
.main-page-wrapper > .container{padding-top:0!important}
.main-page-wrapper .row.content-layout-wrapper{margin-top:0!important;margin-bottom:0!important}
.site-content{padding-top:0!important;margin-top:0!important;margin-bottom:0!important}
.site-content article.hentry{margin-top:0!important;margin-bottom:0!important}
.site-content .entry-content{margin:0!important;padding:0!important}
/* If a gap still remains, it is very likely an empty page-title/breadcrumb
   block rendered above .main-page-wrapper. Inspect just above
   .main-page-wrapper for something like .page-title-wrapper or
   .woodmart-breadcrumbs and add its class to the rule below: */
.page-title-wrapper,.woodmart-breadcrumbs{display:none!important}

/* Safety net: if any structural spacer (e.g. the sticky-header placeholder)
   still reserves space above the hero, make sure it blends with the design
   instead of showing as a mismatched black seam. This does not remove the
   gap itself, only its colour clash, while the real spacer element is
   identified via Inspect (see build guide notes). */
html,body{background:var(--fm-bg)!important}

/* ---------- 14. Mobile ---------- */
@media(max-width:900px){
  .vc_row:is(.fm-dark,.fm-light,.fm-white){padding:72px 0}
  .vc_row.fm-hero .fm-hero-left>.vc_column-inner{padding:64px 20px 48px;min-height:0}
  .vc_row.fm-hero .fm-facade>.vc_column-inner{min-height:260px}
  .vc_row .fm-stats{grid-template-columns:repeat(2,auto)}
  .vc_row :is(.fm-cards,.fm-why,.fm-team){grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.vc_row a.fm-btn{transition:none}}

/* ---------- 15. Footer widgets ---------- */
.fm-foot-logo{display:flex;align-items:center;gap:10px;font:400 19px var(--fm-serif);letter-spacing:.02em;color:var(--fm-cream);text-decoration:none}
.fm-foot-logo img{height:64px;width:auto;display:block}
.fm-foot-about{color:#9aa0a4;font-size:14px;line-height:1.6;margin:16px 0 0;max-width:300px}
.fm-foot-list,.footer-widgets ul.menu,.footer-container ul.menu{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:8px!important;font-size:14px}
.fm-foot-list li,.footer-widgets ul.menu li,.footer-container ul.menu li{margin:0!important;padding:0!important;line-height:1.4!important}
.fm-foot-list a,.footer-widgets ul.menu a,.footer-container ul.menu a{color:#9aa0a4;text-decoration:none;padding:0!important;display:inline-block}
.fm-foot-list a:hover,.footer-widgets ul.menu a:hover,.footer-container ul.menu a:hover{color:var(--fm-cream)}

/* Newsletter — rendered by the MC4WP plugin via the [mc4wp_form id="8382"] shortcode.
   Do not hand-paste the plugin's static HTML; the shortcode regenerates the
   hidden anti-spam/timestamp fields correctly wherever it's placed. */
.mc4wp-form-8382 .mc4wp-form-fields p{margin:14px 0 0;display:flex}
.mc4wp-form-8382 input[type=email]{
  flex:1;min-width:0;width:auto!important;background:transparent!important;
  border:1px solid rgba(210,212,213,.16);border-right:0;color:var(--fm-cream);
  padding:12px 14px;font:14px var(--fm-sans)}
.mc4wp-form-8382 input[type=email]::placeholder{color:#9aa0a4}
.mc4wp-form-8382 input[type=submit]{
  width:auto!important;background:var(--fm-rust)!important;color:#fff!important;
  border:0;padding:0 18px;font:12px var(--fm-sans);letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;height:44px}
.mc4wp-form-8382 label{display:none!important} /* hides the honeypot label text; keep the input itself untouched */

/* ---------- 16. About Us page: team cards with expandable full bios ---------- */
/* 2x2 grid. Cards in the same row are the same height while collapsed.
   "Read full bio" is a hidden checkbox + label (pure CSS, no JavaScript), so the
   extra bio text opens ABOVE the toggle and the toggle always sits at the bottom. */
.vc_row .fm-team-2col{--fm-bio-photo:210px;grid-template-columns:repeat(2,1fr);align-items:stretch}
.vc_row .fm-team-2col .fm-person{align-items:stretch;gap:26px;padding:26px}
.vc_row .fm-team-2col .fm-avatar{flex:none;align-self:flex-start;width:var(--fm-bio-photo);height:var(--fm-bio-photo);
  border-radius:0;background-size:cover;background-position:center top}
.vc_row .fm-team-2col .fm-person-body{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}
.vc_row .fm-team-2col .fm-person h3{font-size:1.4rem;margin:0}
.vc_row .fm-team-2col .fm-person p{font-size:14.5px;line-height:1.65;margin:10px 0 0}
/* The checkbox and label live together in .fm-bio-foot (a block element) so WordPress's
   automatic paragraph tags cannot split them apart. :has() links the checkbox to the extra text. */
.vc_row .fm-team-2col .fm-person p:has(> small){margin:0}
.vc_row .fm-bio-more{display:none}
.vc_row .fm-person-body:has(.fm-bio-check:checked) .fm-bio-more{display:block}
.vc_row .fm-bio-foot{margin-top:auto;padding-top:16px;align-self:flex-start}
.vc_row .fm-bio-check{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.vc_row .fm-bio-toggle{cursor:pointer;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-acc)}
.vc_row .fm-bio-toggle span{border-bottom:1px solid var(--fm-acc);padding-bottom:2px}
.vc_row .fm-bio-toggle .fm-less{display:none}
/* Everything below keys off :has() on the card, so it works whether the checkbox sits
   inside .fm-bio-foot (current markup) or directly beside the label (older markup). */
.vc_row .fm-person-body:has(.fm-bio-check:checked) .fm-bio-toggle .fm-more{display:none}
.vc_row .fm-person-body:has(.fm-bio-check:checked) .fm-bio-toggle .fm-less{display:inline}
.vc_row .fm-person-body:has(.fm-bio-check:focus-visible) .fm-bio-toggle{outline:2px solid var(--fm-acc);outline-offset:4px}
.vc_row .fm-person-body > .fm-bio-toggle{margin-top:auto;padding-top:16px;align-self:flex-start} /* older markup only */
@media(max-width:900px){
  .vc_row .fm-team-2col{grid-template-columns:1fr}
  .vc_row .fm-team-2col .fm-person{flex-direction:column}
  .vc_row .fm-team-2col .fm-avatar{width:100%;max-width:320px;height:auto;aspect-ratio:1/1}
}
/* Breadcrumb, used above the H1 on inner-page heroes */
.vc_row .fm-crumb{font-size:12px;color:var(--fm-mut);margin:0 0 20px}
.vc_row .fm-crumb a{color:var(--fm-mut)}
.vc_row .fm-crumb a:hover{color:var(--fm-cream)}
/* ==========================================
   WHAT WE DO – OUR APPROACH
   ========================================== */

/* Main container */

.vc_row .fm-approach {
    display: block;
    width: 100%;
    max-width: 100%;
}


/* Introductory paragraph */

.vc_row .fm-approach .fm-approach-intro {
    display: block;
    width: 100%;

    font-size: 15px;
    line-height: 1.75;
    color: var(--fm-mut);

    margin: 14px 0 36px;
}


/* Four-stage grid */

.vc_row .fm-approach-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;

    width: 100%;
    margin: 0;
}


/* Individual stages */

.vc_row .fm-approach-item {
    min-width: 0;
    border-top: 2px solid var(--fm-rust);
    padding-top: 18px;
}


/* Stage headings */

.vc_row .fm-approach-item h3 {
    font-family: var(--fm-serif);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;

    margin: 0 0 10px;
}


/* Stage descriptions */

.vc_row .fm-approach-item p {
    font-size: 14px;
    line-height: 1.65;
    color: var(--fm-mut);

    margin: 0;
}


/* Closing paragraph */

.vc_row .fm-approach .fm-approach-outro {
    display: block;
    width: 100%;

    font-size: 15px;
    line-height: 1.75;
    color: var(--fm-mut);

    margin: 36px 0 0;
}


/* Tablet */

@media (max-width: 900px) {

    .vc_row .fm-approach-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 600px) {

    .vc_row .fm-approach-grid {
        grid-template-columns: 1fr;
    }

}
/* FIRMUS – INVESTMENT MANAGEMENT PAGE ONLY
   Add below the existing firmus-homepage.css rules.
   No existing CSS rules need replacing. */

.vc_row.fm-im-row .fm-im-shell,
.fm-im-preview .fm-im-shell{width:100%;max-width:1120px;margin:0 auto;min-width:0}
.vc_row.fm-im-row .fm-im-shell * , .fm-im-preview .fm-im-shell *{box-sizing:border-box}
.vc_row.fm-im-row .fm-im-shell p, .fm-im-preview .fm-im-shell p{max-width:none}
.vc_row.fm-im-row .fm-im-kicker, .fm-im-preview .fm-im-kicker{font:500 11px/1.5 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.19em;text-transform:uppercase;color:var(--fm-acc,#a3431d);margin:0 0 19px}
.vc_row.fm-im-row .fm-im-title, .fm-im-preview .fm-im-title{max-width:900px;font:400 clamp(38px,5vw,67px)/1.11 var(--fm-serif,'Times New Roman',serif);letter-spacing:-.025em;margin:0 0 24px}
.vc_row.fm-im-row .fm-im-section-title, .fm-im-preview .fm-im-section-title{font:400 clamp(30px,3.8vw,47px)/1.16 var(--fm-serif,'Times New Roman',serif);max-width:920px;margin:0 0 24px}
.vc_row.fm-im-row .fm-im-lede, .fm-im-preview .fm-im-lede{font:400 18px/1.8 var(--fm-sans,Arial,Helvetica,sans-serif);max-width:740px;color:var(--fm-sub,#d2d4d5);margin:0}
.vc_row.fm-im-row .fm-im-body, .fm-im-preview .fm-im-body{font:400 16px/1.85 var(--fm-sans,Arial,Helvetica,sans-serif);max-width:790px;color:var(--fm-mut,#50646e);margin:0}
.vc_row.fm-im-row .fm-im-body + .fm-im-body, .fm-im-preview .fm-im-body + .fm-im-body{margin-top:16px}
.vc_row.fm-im-row .fm-im-meta, .fm-im-preview .fm-im-meta{font:400 12px/1.7 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.04em;color:var(--fm-mut,#50646e)}
.vc_row.fm-im-row .fm-im-breadcrumb, .fm-im-preview .fm-im-breadcrumb{font:400 12px/1.6 var(--fm-sans,Arial,Helvetica,sans-serif);color:var(--fm-mut,#9aa0a4);margin:0 0 55px}
.vc_row.fm-im-row.fm-dark .fm-im-breadcrumb, .fm-im-preview .im-dark .fm-im-breadcrumb{color:#aeb5b8}
.vc_row.fm-im-row .fm-im-breadcrumb a, .fm-im-preview .fm-im-breadcrumb a{color:inherit;text-decoration:none}
.vc_row.fm-im-row .fm-im-breadcrumb span, .fm-im-preview .fm-im-breadcrumb span{padding:0 8px;opacity:.6}
.vc_row.fm-im-row .fm-im-rule, .fm-im-preview .fm-im-rule{height:1px;background:var(--fm-ln,rgba(80,100,110,.26));margin:36px 0}
/* WPBakery-native two-column sections (Philosophy and CTA). */
.vc_row.fm-im-row.fm-im-two-col .wpb_column{min-width:0}
.vc_row.fm-im-row.fm-im-two-col .wpb_column > .vc_column-inner{height:100%}
.vc_row.fm-im-row .fm-im-philosophy-left,
.vc_row.fm-im-row .fm-im-philosophy-right{width:100%;min-width:0}
.vc_row.fm-im-row .fm-im-philosophy-right .fm-im-body{max-width:none}
.vc_row.fm-im-row .fm-im-philosophy-right .fm-im-body + .fm-im-body{margin-top:20px}
.vc_row.fm-im-row.fm-im-contact-row .fm-im-contact-copy .fm-im-body{color:#aeb5b8}
.vc_row.fm-im-row.fm-im-contact-row .fm-im-actions{max-width:none}
.vc_row.fm-im-row .fm-im-number, .fm-im-preview .fm-im-number{font:400 13px/1.3 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.13em;color:var(--fm-acc,#a3431d);margin:0 0 18px}
/* Process: structured, readable vertical list instead of another four-column grid. */
.vc_row.fm-im-row .fm-im-process, .fm-im-preview .fm-im-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.vc_row.fm-im-row .fm-im-step, .fm-im-preview .fm-im-step{min-width:0;padding:29px 31px 34px;border:1px solid var(--fm-ln,rgba(80,100,110,.26));background:var(--fm-card,#fff)}
.vc_row.fm-im-row .fm-im-step h3, .fm-im-preview .fm-im-step h3{font:400 27px/1.22 var(--fm-serif,'Times New Roman',serif);margin:0 0 14px}
.vc_row.fm-im-row .fm-im-step p, .fm-im-preview .fm-im-step p{font:400 15px/1.75 var(--fm-sans,Arial,Helvetica,sans-serif);color:var(--fm-mut,#50646e);margin:0}
.vc_row.fm-im-row .fm-im-step .fm-im-number, .fm-im-preview .fm-im-step .fm-im-number{display:block;margin-bottom:30px}
.vc_row.fm-im-row .fm-im-feature, .fm-im-preview .fm-im-feature{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);border:1px solid var(--fm-ln,rgba(80,100,110,.26));margin-top:42px;min-width:0}
.vc_row.fm-im-row .fm-im-feature-text, .fm-im-preview .fm-im-feature-text{padding:48px 48px 46px;min-width:0}
.vc_row.fm-im-row .fm-im-feature-text h3, .fm-im-preview .fm-im-feature-text h3{font:400 clamp(28px,3vw,39px)/1.17 var(--fm-serif,'Times New Roman',serif);margin:0 0 20px}
.vc_row.fm-im-row .fm-im-feature-text p, .fm-im-preview .fm-im-feature-text p{font:400 15px/1.85 var(--fm-sans,Arial,Helvetica,sans-serif);color:var(--fm-mut,#50646e);margin:0 0 16px}
.vc_row.fm-im-row .fm-im-feature-visual, .fm-im-preview .fm-im-feature-visual{min-height:350px;background:#50646e;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative}
.vc_row.fm-im-row .fm-im-feature-visual:after, .fm-im-preview .fm-im-feature-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.47))}
.vc_row.fm-im-row .fm-im-photo-note, .fm-im-preview .fm-im-photo-note{position:relative;z-index:1;color:white;font:400 11px/1.5 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.06em;padding:20px 22px}
.vc_row.fm-im-row .fm-im-link, .fm-im-preview .fm-im-link{display:inline-block;font:500 12px/1.4 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--fm-acc,#a3431d);border-bottom:1px solid currentColor;text-decoration:none;padding-bottom:4px;margin-top:8px}
.fm-im-preview .fm-im-contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.vc_row.fm-im-row .fm-im-actions, .fm-im-preview .fm-im-actions{display:grid;gap:13px}
.vc_row.fm-im-row .fm-im-action, .fm-im-preview .fm-im-action{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid rgba(210,212,213,.34);padding:23px 25px;text-decoration:none;color:inherit;font:400 15px/1.5 var(--fm-sans,Arial,Helvetica,sans-serif)}
.vc_row.fm-im-row .fm-im-action small, .fm-im-preview .fm-im-action small{display:block;font:400 10px/1.6 var(--fm-sans,Arial,Helvetica,sans-serif);letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;opacity:.8}
.vc_row.fm-im-row .fm-im-action-primary, .fm-im-preview .fm-im-action-primary{background:#a3431d;border-color:#a3431d;color:#fff}
.vc_row.fm-im-row .fm-im-action-arrow, .fm-im-preview .fm-im-action-arrow{font-size:25px}
@media(max-width:850px){
 .fm-im-preview .fm-im-editorial,.fm-im-preview .fm-im-contact{grid-template-columns:1fr;gap:28px}
 .vc_row.fm-im-row .fm-im-process,.fm-im-preview .fm-im-process{grid-template-columns:1fr;gap:15px}
 .vc_row.fm-im-row .fm-im-feature,.fm-im-preview .fm-im-feature{grid-template-columns:1fr}
 .vc_row.fm-im-row .fm-im-feature-text,.fm-im-preview .fm-im-feature-text{padding:31px 27px}
 .vc_row.fm-im-row .fm-im-feature-visual,.fm-im-preview .fm-im-feature-visual{min-height:280px}
 .vc_row.fm-im-row .fm-im-breadcrumb,.fm-im-preview .fm-im-breadcrumb{margin-bottom:32px}
}
/* ==========================================
   INVESTMENT MANAGEMENT
   INVESTMENT PLATFORM - TWO COLUMNS
   ========================================== */


/* LEFT COLUMN */

.vc_row.fm-im-platform-row .fm-im-platform-content {
    width: 100%;
    padding: 20px 45px 20px 0;
}


/* MAIN PARAGRAPH */

.vc_row.fm-im-platform-row .fm-im-body {
    max-width: 500px;
    line-height: 1.8;
    margin-bottom: 35px;
}


/* INVESTMENT DETAILS */

.vc_row.fm-im-platform-row .fm-im-platform-details {
    border-top: 1px solid rgba(80,100,110,.28);
    padding-top: 30px;
}


/* INVESTMENT DETAILS HEADING */

.vc_row.fm-im-platform-row .fm-im-platform-details h3 {
    font-family: var(--fm-serif);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 16px;
}


/* INVESTMENT DETAILS PARAGRAPH */

.vc_row.fm-im-platform-row .fm-im-platform-details > p:not(.fm-im-number) {
    font-size: 15px;
    line-height: 1.75;
    color: var(--fm-mut);
    margin-bottom: 24px;
}


/* RIGHT IMAGE COLUMN */

.vc_row.fm-im-platform-row .fm-im-platform-image {
    display: flex;
    min-height: 480px;
}


/* IMAGE CONTAINER */

.vc_row.fm-im-platform-row
.fm-im-platform-image > .vc_column-inner {

    width: 100%;
    min-height: 480px;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;

}


/* TABLET AND MOBILE */

@media (max-width: 991px) {

    .vc_row.fm-im-platform-row .fm-im-platform-content {
        padding: 0 0 35px;
    }

    .vc_row.fm-im-platform-row .fm-im-platform-image,
    .vc_row.fm-im-platform-row
    .fm-im-platform-image > .vc_column-inner {
        min-height: 350px;
    }

}

@media (max-width: 600px) {

    .vc_row.fm-im-platform-row .fm-im-platform-image,
    .vc_row.fm-im-platform-row
    .fm-im-platform-image > .vc_column-inner {
        min-height: 260px;
    }

}
@media(max-width:991px){
 .vc_row.fm-home-rev .fm-home-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vc_row.fm-home-rev .fm-home-strengths{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
 .vc_row.fm-home-rev .fm-home-strength + .fm-home-strength{border-left:0;padding-left:0}
 .vc_row.fm-home-rev .fm-home-strength{border-top:1px solid var(--fm-ln);padding-top:20px}
}
@media(max-width:767px){
 .vc_row.fm-home-rev .fm-home-funds{grid-template-columns:1fr;grid-template-rows:auto}
 .vc_row.fm-home-rev .fm-home-fund:first-child{grid-row:auto}
 .vc_row.fm-home-rev .fm-home-fund:first-child .fm-home-fund-photo{height:195px}
 .vc_row.fm-home-rev .fm-home-metrics{grid-template-columns:1fr}
 .vc_row.fm-home-rev .fm-home-metric + .fm-home-metric{border-left:0;border-top:1px solid var(--fm-ln)}
 .vc_row.fm-home-rev .fm-home-strengths{grid-template-columns:1fr}
 .vc_row.fm-home-rev .fm-home-strength{padding-right:0}
 .vc_row.fm-home-rev .fm-home-strategies{margin-top:25px}
}@media (min-width: 1025px) {
	.wd-sub-menu li a {
    position: relative;
    display: flex;
    align-items: center;
    padding-top: 8px;
    padding-bottom: 8px;
    color: var(--sub-menu-color);
    font-size: 13px;
    line-height: 1.3;
}

.strength-mobile {
	display: none !important;
}

	
.people-mobile {
	display: none !important;
}

.contact-cta-mobile {
	display: none !important;
}

.newsletter-mobile {
	display: none !important;
}

.newsletter-tablet {
	display: none !important;
}

.footer-sidebar {
	padding-bottom: -40px !important;
	padding-top: 10px !important;
}

.footer-mobile {
	display: none !important;
}

.product-grid-item .wd-entities-title {
    margin-bottom: 5px;
    font-size: 18px !important;
}

.port-cta-mobile {
	display: none !important;
}


}

@media (min-width: 768px) and (max-width: 1024px) {
	.page-title .title {
	font-size: 28px !important;
}

.vc_custom_1653884943943 {
	padding-top: -4vh !important;
}

.people-desktop {
	display: none !important;
}

.footer-sidebar {
	padding-bottom: -40px !important;
	padding-top: 0px !important;
}

.footer-desktop {
	display: none !important;
}

.newsletter-desktop {
	display: none !important;
}

.newsletter-mobile {
	display: none !important;
}

/*******  HOMEPAGE *******/

.home-aum-title {
	margin-top: -10px !important;
}

.home-logo-gif {
	margin-top: -35px !important;
}

.home-about-title {
	margin-top: 10px !important;
}

.home-about-button-dark {
	margin-bottom: 10px !important;
}

.home-strength-title {
	margin-top: -20px !important;
}

.home-strength-text {
	margin-bottom: -10px !important;
}

.home-strength-usp {
	margin-top: 40px !important;
}

.home-strength-button {
	margin-bottom: -20px !important;
}

.home-featured-title {
	margin-top: -20px !important;
}

.home-featured-button {
	margin-bottom: -60px !important;
	margin-top: 0px !important;
}

.home-team-title {
	margin-top: -40px !important;
}

.home-team-button {
	margin-bottom: -60px !important;
}

.home-license-title {
	margin-top: -20px !important;
}

.home-licenses-section {
	margin-bottom: -20px !important;
}

/*******  ABOUT *******/

.people-mobile-image {
	margin-top: -20px !important;
}

.about-para-1 {
	margin-top: -30px !important;
}

.license-section {
	margin-bottom: -80px !important;
}

.strength-linking {
	margin-top: -50px !important;
}

/*******  WHAT WE DO *******/

.asset-mng-intro {
	margin-top: -10px !important;
}

.asset-aum-title {
	margin-top: -10px !important;
}


.fund-logo {
	padding-bottom: 20px !important;
}

.inv-mng-intro {
	margin-top: 0px !important;
}

.opp-fund-title {
	margin-top: -20px !important;
}

.strength-mobile {
	display: none !important;
}

.our-strength-title {
	margin-top: -30px !important;
	font-weight: 900 !important;
}

.strength-what-titile {
	margin-top: -60px !important;
}

.strength-img-sec {
	margin-bottom: -40px !important;
}

/******* MEDIA CENTRE *******/

.wd-entities-title {
	margin-top: -10px !important;
	font-size: 22px !important;
	margin-bottom: 10px !important;
}

.media-contact-section {
	margin-bottom: -10px !important;
}

.contact-cta-desktop {
	display: none !important;
}

.port-media {
	margin-bottom: -50px !important;
}

.port-map {
	margin-bottom: -40px !important;
}

}

@media (max-width: 576px) {
	.whb-header .whb-overcontent .whb-sticky-shadow .whb-scroll-slide .whb-sticky-real .whb-sticky-prepared {
	padding-top: -40px !important;
}

.global-color-scheme-light .product-tabs-wrapper {
	display: none !important;
}

.page-title .title {
	font-size: 28px !important;
}

.port-content-1 {
	margin-top: -50px !important;
	margin-bottom: -50px !important;
}


.port-map {
	margin-bottom: 0px !important;
}

/*.port-media {
	margin-top: -50px !important;
	margin-bottom: -50px !important;
}

.port-map {
	margin-bottom: 0px !important;
}

.port-ft-img  {
	margin-bottom: -40px !important;
}

.port-map-ill {
	margin-bottom: -10px !important;
}*/
/*******  HOMEPAGE *******/

.home-aum-title {
	margin-top: -10px !important;
}

.home-logo-gif {
	margin-top: -10px !important;
}

.home-about-title {
	margin-top: -40px !important;
}

.home-about-button-dark {
	margin-bottom: 10px !important;
}

.home-strength-title {
	margin-top: -10px !important;
}

.home-strength-text {
	margin-bottom: -10px !important;
}

.home-strength-usp {
	margin-top: 40px !important;
}

.home-featured-title {
	margin-top: -20px !important;
}

.home-featured-button {
	margin-bottom: -20px !important;
	margin-top: 0px !important;
}

.home-team-title {
	margin-top: -20px !important;
}

.home-team-button {
	margin-bottom: -20px !important;
}

.home-license-title {
	margin-top: -20px !important;
}

.home-licenses-section {
	margin-bottom: 10px !important;
}

/*******  ABOUT *******/

.people-mobile-image {
	margin-top: -20px !important;
}

.people-desktop {
	display: none !important;
}

.about-para-1 {
	margin-top: -40px !important;
}

.abt-license-1 {
	margin-bottom: -10px !important;
}

.abt-license-2 {
	margin-bottom: 10px !important;
}

/*******  WHAT WE DO *******/

.asset-mng-intro {
	margin-top: -10px !important;
}

.asset-aum-title {
	margin-top: -10px !important;
}


.fund-logo {
	padding-bottom: 20px !important;
}

.inv-mng-intro {
	margin-top: 0px !important;
}

.opp-fund-title {
	margin-top: -20px !important;
}

.strength-desktop {
	display: none !important;
}

.our-strength-title {
	margin-top: -30px !important;
	font-weight: 900 !important;
}

.strength-what-titile {
	margin-top: -60px !important;
}

.strength-img-sec {
	margin-bottom: -40px !important;
}

/******* MEDIA CENTRE *******/

.wd-entities-title {
	margin-top: -10px !important;
	font-size: 18px !important;
	margin-bottom: px !important;
}

.media-contact-section {
	margin-bottom: -10px !important;
}

/******* CONTACT *******/

.contact-find-title {
	margin-top: -30px !important;
}

.contact-email-title {
	margin-top: -30px !important;
}

.contact-cta-desktop {
	display: none !important;
}

/******* NEWSLETTER *******/ 

.newsletter-desktop {
	display: none !important;
}

.newsletter-tablet {
	display: none !important;
}

/******* FOOTER *******/ 

.footer-sidebar {
	padding-bottom: -40px !important;
	padding-top: 0px !important;
}

.footer-desktop{
	display: none !important;
}



}

