@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 — REFACTORED MASTER CSS
   Woodmart + WPBakery
   30 Sep 2026

   This replaces the accumulated page-by-page CSS once the
   migration checklist has been completed.
   ========================================================== */

/* ==========================================================
   01. BRAND TOKENS
   ========================================================== */
:root {
  --fm-bg: #14181b;
  --fm-bg-2: #1a1f23;
  --fm-cream: #eee9e2;
  --fm-mist: #d2d4d5;
  --fm-slate: #50646e;
  --fm-grey: #6f7377;
  --fm-rust: #a3431d;
  --fm-rust-tint: #c8724d;
  --fm-teal: #007580;
  --fm-ink: #1c2226;
  --fm-serif: "Times New Roman", Times, serif;
  --fm-sans: Graphik, Arial, Helvetica, sans-serif;
  --fm-container: 1222px;
  --fm-section-y: 112px;
}

/* ==========================================================
   02. WORDPRESS / WOODMART BASE FIXES
   ========================================================== */
html,
body {
  background: var(--fm-bg) !important;
}

header.whb-header {
  padding-top: 0 !important;
}

.main-page-wrapper,
.main-page-wrapper > .container,
.main-page-wrapper .row.content-layout-wrapper,
.site-content,
.site-content article.hentry,
.site-content .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.main-page-wrapper,
.site-content,
.site-content article.hentry,
.site-content .entry-content {
  margin-bottom: 0 !important;
}

.page-title-wrapper,
.woodmart-breadcrumbs {
  display: none !important;
}

/* ==========================================================
   03. SHARED SECTION SYSTEM
   ========================================================== */
.vc_row.fm-section {
  margin-bottom: 0;
  padding: var(--fm-section-y) 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-bg-2);
}

.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-section.fm-tight {
  padding-top: 48px;
  padding-bottom: 48px;
}

.vc_row#contact {
  border-bottom: 0 !important;
}

/* Keep normal WPBakery container gutters on all non-split-hero sections. */
.vc_row.fm-section:not(.fm-split-hero) > .vc_row-fluid > .wpb_column > .vc_column-inner,
.vc_row.fm-section:not(.fm-split-hero) > .vc_row-fluid > .wpb_column > .vc_column_container > .vc_column-inner {
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 1000px) {
  .vc_row.fm-section:not(.fm-split-hero) > .vc_row-fluid > .wpb_column:first-child > .vc_column-inner,
  .vc_row.fm-section:not(.fm-split-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));
  }
}

/* ==========================================================
   04. SHARED TYPOGRAPHY
   ========================================================== */
.fm-section :is(h1, h2, h3) {
  margin: 0 0 12px;
  color: inherit;
  font-family: var(--fm-serif);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.1;
  text-transform: none;
}

.fm-section h1,
.fm-inner-hero h1 {
  font-size: clamp(42px, 5.1vw, 68px);
  line-height: 1.08;
  margin-bottom: 24px;
}

.fm-section h2,
.fm-title {
  font-size: clamp(32px, 3.6vw, 47px);
  line-height: 1.13;
}

.fm-section p {
  margin: 0;
}

.fm-eyebrow {
  margin: 0 0 18px !important;
  color: var(--fm-acc, var(--fm-rust));
  font: 500 11px/1.5 var(--fm-sans);
  letter-spacing: .19em;
  text-transform: uppercase;
}

.fm-crumb,
.fm-breadcrumb {
  margin: 0 0 26px !important;
  color: var(--fm-mut, #aeb5b8);
  font: 400 12px/1.5 var(--fm-sans);
}

.fm-crumb a,
.fm-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.fm-crumb a:hover,
.fm-breadcrumb a:hover {
  color: var(--fm-cream);
}

.fm-lead {
  max-width: 730px;
  margin: 0;
  color: var(--fm-sub);
  font: 400 17px/1.8 var(--fm-sans);
}

.fm-copy {
  margin: 0;
  color: var(--fm-mut);
  font: 400 16px/1.78 var(--fm-sans);
}

.fm-copy + .fm-copy {
  margin-top: 18px;
}

.fm-note {
  color: var(--fm-mut);
  font-size: 12px;
}

.fm-accent {
  color: var(--fm-acc);
}

/* ==========================================================
   05. SHARED HERO SYSTEM
   ========================================================== */
.vc_row.fm-inner-hero {
  padding-top: 102px;
  padding-bottom: 108px;
}

.fm-inner-hero .fm-inner-hero-content {
  max-width: 850px;
}

.fm-inner-hero .fm-lead {
  max-width: 730px;
}

/* Homepage split hero only. */
.vc_row.fm-split-hero {
  padding: 0;
}

.vc_row.fm-split-hero > .vc_row-fluid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.vc_row.fm-split-hero .fm-hero-left,
.vc_row.fm-split-hero .fm-hero-image {
  display: flex;
}

.vc_row.fm-split-hero .fm-hero-left > .vc_column-inner {
  width: 100%;
  min-height: 640px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 96px 48px 64px max(15px, calc((100vw - var(--fm-container)) / 2 + 15px));
}

.vc_row.fm-split-hero .fm-hero-image > .vc_column-inner {
  width: 100%;
  min-height: 640px;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ==========================================================
   06. BUTTONS + LINKS
   ========================================================== */
.fm-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.fm-btn,
.fm-outline-btn {
  display: inline-block;
  padding: 14px 26px;
  border: 1px solid var(--fm-rust);
  background: transparent;
  color: inherit;
  font-size: 12px;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .2s, color .2s;
}

.fm-btn-fill {
  background: var(--fm-rust);
  color: #fff;
}

.fm-btn:hover,
.fm-outline-btn:hover {
  background: var(--fm-rust);
  color: #fff;
}

.fm-link,
.fm-inline-link {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--fm-acc);
  color: var(--fm-acc);
  font-size: 12px;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.fm-btn:focus-visible,
.fm-link:focus-visible,
.fm-inline-link:focus-visible {
  outline: 2px solid var(--fm-acc);
  outline-offset: 3px;
}

/* Large contact CTA — reused site-wide. */
.fm-big {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 22px 26px;
  border: 1px solid var(--fm-ln);
  color: inherit;
  font-size: 14px;
  text-decoration: none;
}

.fm-big small {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fm-big-fill {
  background: var(--fm-rust);
  border-color: var(--fm-rust);
  color: #fff;
}

/* ==========================================================
   07. SHARED EDITORIAL / FACTS / MEDIA COMPONENTS
   ========================================================== */
.fm-editorial-left {
  max-width: 520px;
  padding-right: 35px;
}

.fm-editorial-right {
  max-width: 570px;
}

.fm-divider-list {
  border-left: 2px solid var(--fm-rust);
  padding-left: 29px;
}

.fm-divider-item {
  padding: 4px 0 22px;
  border-bottom: 1px solid var(--fm-ln);
}

.fm-divider-item + .fm-divider-item {
  padding-top: 22px;
}

.fm-divider-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.fm-divider-item h3 {
  margin: 0 0 8px;
  font: 500 12px/1.6 var(--fm-sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.fm-divider-item p {
  color: var(--fm-mut);
  font-size: 15px;
  line-height: 1.7;
}

.fm-facts {
  margin-top: 30px;
  border-top: 1px solid var(--fm-ln, #d2d4d5);
}

.fm-fact {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 25px;
  padding: 20px 0;
  border-bottom: 1px solid var(--fm-ln, #d2d4d5);
}

.fm-fact-label {
  color: var(--fm-mut, #6f7377);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fm-fact-value {
  margin: 0;
  color: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.fm-media-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 410px;
  overflow: hidden;
  background: linear-gradient(135deg, #a5b7b5, #3c5153);
}

.fm-media-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================
   08. SHARED CARDS / NUMBERED FEATURES
   ========================================================== */
.fm-card {
  border: 1px solid var(--fm-ln);
  background: var(--fm-card);
}

.fm-number-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--fm-ln);
}

.fm-number-item {
  min-width: 0;
  padding: 28px 21px 0 0;
}

.fm-number-item + .fm-number-item {
  padding-left: 21px;
  border-left: 1px solid var(--fm-ln);
}

.fm-number {
  display: block;
  margin-bottom: 24px;
  color: var(--fm-acc);
  font: 400 34px var(--fm-serif);
}

.fm-number-item h3 {
  margin-bottom: 13px;
  font-size: 21px;
}

.fm-number-item p {
  color: var(--fm-mut);
  font-size: 14px;
  line-height: 1.7;
}

/* ==========================================================
   09. HOMEPAGE — FINAL CONSOLIDATED COMPONENTS
   ========================================================== */


/* ==========================================================
   09A. HOMEPAGE BASE + SECTION SPACING
   ========================================================== */

#home-hero,
#home-thesis,
#home-strategies,
#home-track-record,
#home-why,
#home-team,
#home-credentials,
#contact.fm-home-rev {
    font-family: var(--fm-sans);
}

#home-thesis,
#home-strategies,
#home-track-record,
#home-why,
#home-team,
#contact.fm-home-rev {
    margin-bottom: 0 !important;
    padding-top: 95px !important;
    padding-bottom: 95px !important;
}

#home-strategies {
    padding-top: 90px !important;
    padding-bottom: 100px !important;
}

#home-track-record {
    padding-top: 90px !important;
    padding-bottom: 95px !important;
}

#home-team {
    padding-top: 90px !important;
    padding-bottom: 100px !important;
}


/* ==========================================================
   09B. HOMEPAGE TYPOGRAPHY
   ========================================================== */

#home-hero h1,
#home-thesis h2,
#home-strategies h2,
#home-track-record h2,
#home-why h2,
#home-team h2,
#contact.fm-home-rev h2 {
    margin: 0 0 18px;

    font-family: var(--fm-serif) !important;
    font-weight: 400 !important;
    letter-spacing: -.015em !important;
    line-height: 1.1 !important;
    text-transform: none !important;
}

#home-hero h1 {
    font-size: clamp(42px, 5.1vw, 68px) !important;
    line-height: 1.08 !important;
}

#home-thesis h2,
#home-strategies h2,
#home-track-record h2,
#home-why h2,
#home-team h2,
#contact.fm-home-rev h2 {
    font-size: clamp(32px, 3.6vw, 47px) !important;
}

#home-hero .fm-eyebrow,
#home-thesis .fm-eyebrow,
#home-strategies .fm-eyebrow,
#home-track-record .fm-eyebrow,
#home-why .fm-eyebrow,
#home-team .fm-eyebrow {
    margin: 0 0 18px !important;

    font: 500 11px/1.5 var(--fm-sans);
    letter-spacing: .19em;
    text-transform: uppercase;
}


/* ==========================================================
   09C. HERO
   ========================================================== */

#home-hero.fm-home-rev {
    padding: 0 !important;

    background: var(--fm-bg);
    color: var(--fm-cream);
}

#home-hero.fm-home-rev > .vc_row-fluid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

#home-hero .fm-hero-left,
#home-hero .fm-hero-image {
    display: flex;
}

#home-hero .fm-hero-left > .vc_column-inner {
    width: 100%;
    min-height: 640px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-top: 96px;
    padding-right: 48px;
    padding-bottom: 64px;

    padding-left: max(
        15px,
        calc((100vw - var(--fm-container)) / 2 + 15px)
    );
}

#home-hero .fm-hero-image > .vc_column-inner {
    width: 100%;
    min-height: 640px;

    padding: 0 !important;

    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

#home-hero .fm-eyebrow {
    color: var(--fm-rust-tint) !important;
}

#home-hero .fm-home-hero-title {
    max-width: 670px;

    margin-bottom: 22px;

    color: var(--fm-cream) !important;

    font-family: var(--fm-serif) !important;
    font-weight: 400 !important;
}

#home-hero .fm-home-title-accent {
    display: block;

    margin-top: 12px;

    color: var(--fm-rust-tint) !important;
}

#home-hero .fm-home-hero-intro {
    max-width: 520px;

    margin: 0 0 30px !important;

    color: var(--fm-mist) !important;

    font-size: 16px;
    line-height: 1.8;
}

#home-hero .fm-btns {
    display: flex;
    flex-wrap: wrap;

    gap: 14px;

    margin: 4px 0 0;
}

#home-hero .fm-btn {
    color: var(--fm-cream);
}

#home-hero .fm-home-hero-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 20px;

    width: 100%;
    max-width: 680px;

    margin-top: 42px;
    padding-top: 28px;

    border-top: 1px solid rgba(210, 212, 213, .16);
}

#home-hero .fm-home-hero-stats b {
    display: block;

    margin-bottom: 9px;

    color: var(--fm-rust-tint) !important;

    font: 400 clamp(23px, 2.5vw, 34px)/1.1
        var(--fm-serif);
}

#home-hero .fm-home-hero-stats small {
    display: block;

    color: var(--fm-mist) !important;

    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .10em;
    text-transform: uppercase;
}


/* ==========================================================
   09D. INVESTMENT THESIS
   ========================================================== */

#home-thesis {
    background: var(--fm-cream);
    color: var(--fm-ink);
}

#home-thesis .fm-eyebrow {
    color: var(--fm-rust) !important;
}

#home-thesis .fm-home-thesis-quote {
    max-width: 620px;

    margin: 0;
    padding: 0;

    border: 0;

    color: var(--fm-ink) !important;

    font: 400 clamp(25px, 2.8vw, 38px)/1.42
        var(--fm-serif) !important;
}

#home-thesis .fm-home-strategies {
    padding-left: 28px;

    border-left: 2px solid var(--fm-rust);
}

#home-thesis .fm-home-strategy {
    padding: 6px 0 24px;

    border-bottom: 1px solid rgba(80, 100, 110, .28);
}

#home-thesis
.fm-home-strategy + .fm-home-strategy {
    padding-top: 22px;
}

#home-thesis
.fm-home-strategy:last-child {
    padding-bottom: 0;

    border-bottom: 0;
}

#home-thesis .fm-home-strategy h3 {
    margin: 0 0 9px;

    color: var(--fm-ink) !important;

    font: 500 12px/1.5 var(--fm-sans) !important;

    letter-spacing: .14em;
    text-transform: uppercase !important;
}

#home-thesis .fm-home-strategy p {
    margin: 0;

    color: var(--fm-slate) !important;

    font-size: 15px;
    line-height: 1.7;
}


/* ==========================================================
   09E. FEATURED FUNDS
   ========================================================== */

#home-strategies {
    background: #fff;
    color: var(--fm-ink);
}

#home-strategies .fm-eyebrow {
    color: var(--fm-rust) !important;
}

#home-strategies h2 {
    color: var(--fm-ink) !important;
}

#home-strategies .wpb_wrapper {
    width: 100%;
}

#home-strategies .fm-home-funds {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    grid-template-rows:
        repeat(2, minmax(220px, auto));

    gap: 18px;

    width: 100%;

    margin-top: 36px;
}

#home-strategies .fm-home-fund {
    width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(80, 100, 110, .28);

    background: var(--fm-cream) !important;
    color: var(--fm-ink) !important;
}


/* LARGE LEFT CARD */

#home-strategies
.fm-home-fund:first-child {
    grid-column: 1;
    grid-row: 1 / span 2;
}


/* TOP RIGHT */

#home-strategies
.fm-home-fund:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}


/* BOTTOM RIGHT */

#home-strategies
.fm-home-fund:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* FUND IMAGES */

#home-strategies
.fm-home-fund-photo {
    height: 130px;

    flex: none;

    background-color: var(--fm-slate);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#home-strategies
.fm-home-fund:first-child
.fm-home-fund-photo {
    height: 260px;
}


/* FUND BODY */

#home-strategies
.fm-home-fund-body {
    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 25px 26px 26px;

    background: var(--fm-cream) !important;
    color: var(--fm-ink) !important;
}

#home-strategies
.fm-home-fund-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 20px;
}

#home-strategies
.fm-home-fund-meta {
    color: var(--fm-slate) !important;

    font-size: 10px;
    letter-spacing: .11em;
    text-transform: uppercase;
}

#home-strategies
.fm-home-fund-status {
    padding: 4px 8px;

    border: 1px solid var(--fm-rust);

    color: var(--fm-rust) !important;

    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#home-strategies
.fm-home-fund h3 {
    margin: 0 0 12px;

    color: var(--fm-ink) !important;

    font-family: var(--fm-serif) !important;
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 400 !important;
    line-height: 1.15;
}

#home-strategies
.fm-home-fund-summary {
    margin: 0 0 20px !important;

    color: var(--fm-slate) !important;

    font-size: 14px;
    line-height: 1.7;
}


/* FUND FOOTER */

#home-strategies
.fm-home-fund-foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 12px;

    margin-top: auto;
    padding-top: 19px;

    border-top: 1px solid rgba(80, 100, 110, .28);
}

#home-strategies
.fm-home-fund-foot small {
    display: block;

    color: var(--fm-slate) !important;

    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#home-strategies
.fm-home-fund-foot strong {
    display: block;

    margin-top: 6px;

    color: var(--fm-rust) !important;

    font: 400 22px var(--fm-serif);
}

#home-strategies
.fm-inline-link,
#home-strategies
.fm-home-fund-foot a {
    color: var(--fm-rust) !important;

    font-size: 10px;
    letter-spacing: .11em;
    text-decoration: none;
    text-transform: uppercase;

    border-bottom: 1px solid var(--fm-rust);
}


/* ==========================================================
   09F. TRACK RECORD
   ========================================================== */

#home-track-record {
    background: var(--fm-bg);
    color: var(--fm-cream);
}

#home-track-record .fm-eyebrow {
    color: var(--fm-rust-tint) !important;
}

#home-track-record h2 {
    color: var(--fm-cream) !important;
}

#home-track-record
.fm-home-metrics {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    margin-top: 32px;

    border: 1px solid rgba(210, 212, 213, .16);
}

#home-track-record
.fm-home-metric {
    padding: 35px 32px;

    color: var(--fm-cream);
}

#home-track-record
.fm-home-metric + .fm-home-metric {
    border-left:
        1px solid rgba(210, 212, 213, .16);
}

#home-track-record
.fm-home-metric strong {
    display: block;

    margin-bottom: 12px;

    color: var(--fm-rust-tint) !important;

    font: 400 clamp(38px, 4vw, 55px)/1.05
        var(--fm-serif);
}

#home-track-record
.fm-home-metric b {
    display: block;

    color: var(--fm-cream) !important;

    font-family: var(--fm-sans);
    font-size: 13px;
    font-weight: 500;
}

#home-track-record
.fm-home-metric small {
    display: block;

    margin-top: 8px;

    color: var(--fm-mist) !important;

    font-size: 12px;
}

#home-track-record
.fm-home-performance-note {
    margin: 18px 0 0 !important;

    color: var(--fm-mist) !important;

    font-size: 12px;
    line-height: 1.65;
}


/* ==========================================================
   09G. WHY FIRMUS
   ========================================================== */

#home-why {
    background: var(--fm-cream);
    color: var(--fm-ink);
}

#home-why .fm-eyebrow {
    color: var(--fm-rust) !important;
}

#home-why h2 {
    color: var(--fm-ink) !important;
}

#home-why .fm-home-strengths {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    margin-top: 38px;

    border-top:
        1px solid rgba(80, 100, 110, .28);
}

#home-why .fm-home-strength {
    min-width: 0;

    padding: 28px 21px 0 0;
}

#home-why
.fm-home-strength + .fm-home-strength {
    padding-left: 21px;

    border-left:
        1px solid rgba(80, 100, 110, .28);
}

#home-why
.fm-home-strength-number {
    display: block;

    margin-bottom: 24px;

    color: var(--fm-rust) !important;

    font: 400 34px var(--fm-serif);
}

#home-why
.fm-home-strength h3 {
    margin: 0 0 13px;

    color: var(--fm-ink) !important;

    font-family: var(--fm-serif) !important;
    font-size: 21px;
    font-weight: 400 !important;
    line-height: 1.2;
}

#home-why
.fm-home-strength p {
    margin: 0;

    color: var(--fm-slate) !important;

    font-size: 14px;
    line-height: 1.7;
}


/* ==========================================================
   09H. OUR PEOPLE
   ========================================================== */

#home-team {
    background: #fff;
    color: var(--fm-ink);
}

#home-team .fm-eyebrow {
    color: var(--fm-rust) !important;
}

#home-team h2 {
    color: var(--fm-ink) !important;
}

#home-team .fm-team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 22px;

    margin-top: 40px;
}

#home-team .fm-person {
    display: flex;
    align-items: stretch;

    gap: 20px;

    padding: 22px;

    border:
        1px solid rgba(80, 100, 110, .28);

    background: var(--fm-cream) !important;
    color: var(--fm-ink) !important;
}

#home-team .fm-avatar {
    flex: none;

    width: 120px;
    height: 120px;

    background-color: var(--fm-slate);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#home-team .fm-person h3 {
    margin: 0;

    color: var(--fm-ink) !important;

    font-family: var(--fm-serif) !important;
    font-size: 1.35rem;
    font-weight: 400 !important;
}

#home-team .fm-person small {
    display: block;

    margin: 4px 0 6px;

    color: var(--fm-rust) !important;

    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#home-team .fm-person p {
    margin: 0;

    color: var(--fm-slate) !important;

    font-size: 13px;
    line-height: 1.5;
}


/* SHOW MORE — SUPPORTS BOTH MIGRATION CLASS NAMES */

#home-team
:is(.fm-more-team, .fm-home-more-team) {
    margin-top: 22px;
}

#home-team
:is(.fm-more-team, .fm-home-more-team)
> summary {
    display: table;

    margin: 22px 0 0 auto;
    padding: 4px 0;

    border: 0;

    background: transparent;

    color: var(--fm-rust) !important;

    cursor: pointer;

    font-size: 11px;
    letter-spacing: .12em;
    list-style: none;
    text-transform: uppercase;
}

#home-team
:is(.fm-more-team, .fm-home-more-team)
> summary::-webkit-details-marker {
    display: none;
}

#home-team
:is(.fm-less-label, .fm-home-less-label) {
    display: none;
}

#home-team
:is(.fm-more-team, .fm-home-more-team)[open]
:is(.fm-more-label, .fm-home-more-label) {
    display: none;
}

#home-team
:is(.fm-more-team, .fm-home-more-team)[open]
:is(.fm-less-label, .fm-home-less-label) {
    display: inline;
}


/* MEET THE TEAM */

#home-team
:is(.fm-team-cta, .fm-home-team-cta) {
    margin-top: 30px;

    text-align: center;
}

#home-team
:is(.fm-team-cta, .fm-home-team-cta) a {
    display: inline-block;

    padding: 12px 26px;

    border: 1px solid var(--fm-rust);

    background: transparent;

    color: var(--fm-rust) !important;

    font-size: 12px;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background-color .2s,
        color .2s;
}

#home-team
:is(.fm-team-cta, .fm-home-team-cta) a:hover {
    background: var(--fm-rust);

    color: #fff !important;
}


/* ==========================================================
   09I. LICENSED & REGULATED
   ========================================================== */

#home-credentials {
    background: var(--fm-cream);
    color: var(--fm-ink);
}

#home-credentials .fm-creds {
    color: var(--fm-ink);
}


/* ==========================================================
   09J. HOMEPAGE CONTACT — WHITE VERSION
   ========================================================== */

#contact.fm-home-rev {
    background: #fff !important;
    color: var(--fm-ink) !important;

    border-bottom: 0 !important;
}

#contact.fm-home-rev h2 {
    color: var(--fm-ink) !important;
}

#contact.fm-home-rev p {
    color: var(--fm-slate) !important;
}

#contact.fm-home-rev .fm-big {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin-bottom: 14px;
    padding: 22px 26px;

    border:
        1px solid rgba(80, 100, 110, .28);

    background: transparent;

    color: var(--fm-ink) !important;

    font-size: 14px;
    text-decoration: none;
}

#contact.fm-home-rev .fm-big small {
    display: block;

    margin-bottom: 2px;

    color: var(--fm-slate) !important;

    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#contact.fm-home-rev .fm-big-fill {
    background: var(--fm-rust) !important;

    border-color: var(--fm-rust) !important;

    color: #fff !important;
}

#contact.fm-home-rev
.fm-big-fill small {
    color: rgba(255, 255, 255, .78) !important;
}


/* ==========================================================
   09K. TABLET
   ========================================================== */

@media (max-width: 991px) {

    #home-hero
    .fm-home-hero-stats {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    #home-why
    .fm-home-strengths {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 25px;

        border-top: 0;
    }

    #home-why
    .fm-home-strength {
        padding: 20px 0 0;

        border-top:
            1px solid rgba(80, 100, 110, .28);
    }

    #home-why
    .fm-home-strength + .fm-home-strength {
        padding-left: 0;

        border-left: 0;
    }

    #home-team .fm-team {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ==========================================================
   09L. MOBILE
   ========================================================== */

@media (max-width: 767px) {

    #home-hero.fm-home-rev
    > .vc_row-fluid {
        display: block;
    }

    #home-hero
    .fm-hero-left > .vc_column-inner {
        min-height: auto;

        padding:
            70px 24px 64px;
    }

    #home-hero
    .fm-hero-image > .vc_column-inner {
        min-height: 420px;
    }


    /* SECTIONS */

    #home-thesis,
    #home-strategies,
    #home-track-record,
    #home-why,
    #home-team,
    #contact.fm-home-rev {
        padding-top: 65px !important;
        padding-bottom: 70px !important;
    }


    /* THESIS */

    #home-thesis
    .fm-home-strategies {
        margin-top: 35px;

        padding-left: 22px;
    }


    /* FUNDS */

    #home-strategies
    .fm-home-funds {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    #home-strategies
    .fm-home-fund:first-child,
    #home-strategies
    .fm-home-fund:nth-child(2),
    #home-strategies
    .fm-home-fund:nth-child(3) {
        grid-column: auto;
        grid-row: auto;
    }

    #home-strategies
    .fm-home-fund:first-child
    .fm-home-fund-photo {
        height: 195px;
    }


    /* TRACK RECORD */

    #home-track-record
    .fm-home-metrics {
        grid-template-columns: 1fr;
    }

    #home-track-record
    .fm-home-metric
    + .fm-home-metric {
        border-top:
            1px solid rgba(210, 212, 213, .16);

        border-left: 0;
    }


    /* WHY */

    #home-why
    .fm-home-strengths {
        grid-template-columns: 1fr;
    }


    /* TEAM */

    #home-team .fm-team {
        grid-template-columns: 1fr;
    }

    #home-team .fm-person {
        gap: 16px;
    }

    #home-team .fm-avatar {
        width: 100px;
        height: 100px;
    }

}
/* ==========================================================
   HOMEPAGE TEAM — SHOW LESS CLICK FIX
   ========================================================== */

#home-team
:is(.fm-more-team, .fm-home-more-team)
> summary {
    position: relative;
    z-index: 10;
    cursor: pointer;
    pointer-events: auto;
}

/* Let clicks pass through the text to the <summary> */
#home-team
:is(.fm-more-team, .fm-home-more-team)
> summary span {
    pointer-events: none;
}
/* ==========================================================
   10. ABOUT US — TEAM + EXPANDABLE BIOS
   ========================================================== */


/* ==========================================================
   TEAM GRID
   ========================================================== */

#about-team .fm-team-2col {
    --fm-bio-photo: 210px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 22px;

    width: 100%;
    margin-top: 40px;

    align-items: stretch;
}


/* ==========================================================
   TEAM CARD
   ========================================================== */

#about-team .fm-person {
    min-width: 0;

    display: flex;
    align-items: stretch;

    gap: 26px;

    padding: 26px;

    border: 1px solid var(--fm-ln);

    background: var(--fm-card);
    color: var(--fm-ink);
}


/* ==========================================================
   TEAM PHOTO
   ========================================================== */

#about-team .fm-avatar {
    flex: 0 0 var(--fm-bio-photo);
    align-self: flex-start;

    width: var(--fm-bio-photo);
    height: var(--fm-bio-photo);

    background-color: var(--fm-slate);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;

    border-radius: 0;
}


/* ==========================================================
   TEAM CONTENT
   ========================================================== */

#about-team .fm-person-body {
    position: relative;

    flex: 1;
    min-width: 0;

    display: flex;
    flex-direction: column;
}

#about-team .fm-person h3 {
    margin: 0;

    color: var(--fm-ink);

    font-family: var(--fm-serif);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
}

#about-team .fm-person small {
    display: block;

    margin: 5px 0 10px;

    color: var(--fm-acc);

    font-size: 10px;
    font-weight: 500;
    letter-spacing: .11em;
    line-height: 1.5;
    text-transform: uppercase;
}

#about-team .fm-person p {
    margin: 10px 0 0;

    color: var(--fm-mut);

    font-size: 14px;
    line-height: 1.65;
}

#about-team .fm-person-body > p:first-of-type {
    margin-top: 0;
}


/* ==========================================================
   EXPANDABLE BIO
   ========================================================== */

#about-team .fm-bio-more {
    display: none;
}

#about-team
.fm-person-body:has(.fm-bio-check:checked)
.fm-bio-more {
    display: block;
}


/* ==========================================================
   BIO TOGGLE
   ========================================================== */

#about-team .fm-bio-foot {
    align-self: flex-start;

    margin-top: auto;
    padding-top: 18px;
}

#about-team .fm-bio-check {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;

    pointer-events: none;
}

#about-team .fm-bio-toggle {
    display: inline-block;

    color: var(--fm-acc);

    cursor: pointer;

    font-size: 11px;
    letter-spacing: .12em;
    line-height: 1.5;
    text-transform: uppercase;
}

#about-team .fm-bio-toggle span {
    padding-bottom: 2px;

    border-bottom: 1px solid var(--fm-acc);
}

#about-team .fm-bio-toggle .fm-less {
    display: none;
}

#about-team
.fm-person-body:has(.fm-bio-check:checked)
.fm-bio-toggle .fm-more {
    display: none;
}

#about-team
.fm-person-body:has(.fm-bio-check:checked)
.fm-bio-toggle .fm-less {
    display: inline;
}

#about-team
.fm-person-body:has(.fm-bio-check:focus-visible)
.fm-bio-toggle {
    outline: 2px solid var(--fm-acc);
    outline-offset: 4px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991px) {

    #about-team .fm-team-2col {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    #about-team .fm-person {
        flex-direction: column;

        gap: 20px;

        padding: 22px;
    }

    #about-team .fm-avatar {
        width: 100%;
        max-width: 320px;
        height: auto;

        flex-basis: auto;

        aspect-ratio: 1 / 1;
    }

}
/* ==========================================================
   11. OUR STRATEGY — UNIQUE COMPONENTS
   ========================================================== */
#strategy-cards .fm-strategy-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

#strategy-cards .fm-strategy-card {
  min-height: 305px;
  display: flex;
  flex-direction: column;
  padding: 32px 28px 26px;
  border: 1px solid var(--fm-ln);
  border-top: 2px solid var(--fm-rust);
  background: #fff;
}

#strategy-cards .fm-strategy-card-index {
  margin-bottom: 28px;
  color: var(--fm-acc);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

#strategy-cards .fm-strategy-card h3 {
  margin-bottom: 16px;
  font-size: 31px;
  line-height: 1.15;
}

#strategy-cards .fm-strategy-card p {
  margin-bottom: 24px;
  color: var(--fm-mut);
  font-size: 15px;
  line-height: 1.75;
}

#strategy-cards .fm-strategy-card-foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--fm-ln);
  color: var(--fm-acc);
  font-size: 11px;
  letter-spacing: .11em;
  text-transform: uppercase;
}

#strategy-framework .fm-strategy-stage {
  margin-top: 6px;
  padding: 22px 10px 0 0;
  border-top: 2px solid var(--fm-rust);
}

#strategy-framework .fm-strategy-stage span {
  display: block;
  margin-bottom: 20px;
  color: var(--fm-acc);
  font: 400 32px/1.1 var(--fm-serif);
}

#strategy-framework .fm-strategy-stage h3 {
  margin-bottom: 13px;
  font-size: 23px;
}

#strategy-framework .fm-strategy-stage p {
  color: var(--fm-mut);
  font-size: 14px;
  line-height: 1.75;
}

#strategy-capabilities .fm-strategy-capability {
  min-height: 295px;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 31px 29px;
  border: 1px solid var(--fm-ln);
  background: var(--fm-cream);
}

#strategy-capabilities .fm-strategy-capability h3 {
  margin-bottom: 15px;
  font-size: 27px;
  line-height: 1.2;
}

#strategy-capabilities .fm-strategy-capability p {
  margin-bottom: 23px;
  color: var(--fm-mut);
  font-size: 15px;
  line-height: 1.75;
}

#strategy-capabilities :is(.fm-strategy-capability-link, .fm-strategy-capability-pending) {
  align-self: flex-start;
  margin-top: auto;
  color: var(--fm-acc);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#strategy-capabilities .fm-strategy-capability-link {
  padding-bottom: 3px;
  border-bottom: 1px solid var(--fm-acc);
  text-decoration: none;
}

#strategy-capabilities .fm-strategy-capability-pending {
  color: var(--fm-mut);
}
/* ==========================================
   STRATEGY CARD FOCUS
   ========================================== */

.fm-strategy-card {
    display: flex;
    flex-direction: column;
}

.fm-strategy-card > p {
    margin-bottom: 26px !important;
}

.fm-strategy-focus {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--fm-ln);

    font-size: 13px;
    line-height: 1.5;
    color: var(--fm-ink);
}

.fm-strategy-focus span {
    display: block;
    margin-bottom: 5px;

    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fm-acc);
}
/* ==========================================================
   12. INVESTMENT MANAGEMENT — UNIQUE COMPONENTS
   ========================================================== */
#im-platform .fm-platform-content {
  min-width: 0;
  padding: 15px 38px 15px 0;
}

#im-platform .fm-platform-details {
  margin-top: 32px;
  padding-top: 30px;
  border-top: 1px solid var(--fm-ln);
}

#im-platform .fm-platform-image {
  display: flex;
  min-height: 470px;
}

#im-platform .fm-platform-image > .vc_column-inner,
#im-platform .fm-platform-image .wpb_wrapper {
  width: 100%;
  min-height: 470px;
}

#im-platform .fm-platform-image > .vc_column-inner {
  padding: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#im-process .fm-im-flow-intro {
  max-width: 760px;
  margin-bottom: 42px;
}

#im-process .fm-im-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 34px 42px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#im-process .fm-im-flow-step {
  position: relative;
  min-width: 0;
  min-height: 194px;
  padding: 28px 26px 24px;
  border: 1px solid var(--fm-ln);
  border-top: 2px solid var(--fm-rust);
  background: #fff;
}

#im-process .fm-im-flow-number {
  display: block;
  margin-bottom: 20px;
  color: var(--fm-acc);
  font: 500 12px/1 var(--fm-sans);
  letter-spacing: .16em;
}

#im-process .fm-im-flow-step h3 {
  margin-bottom: 12px;
  font-size: 25px;
  line-height: 1.2;
}

#im-process .fm-im-flow-step p {
  color: var(--fm-mut);
  font-size: 14px;
  line-height: 1.65;
}

@media (min-width: 992px) {
  #im-process .fm-im-flow-step-1 { grid-column: 1 / span 2; grid-row: 1; }
  #im-process .fm-im-flow-step-2 { grid-column: 3 / span 2; grid-row: 1; }
  #im-process .fm-im-flow-step-3 { grid-column: 5 / span 2; grid-row: 1; }
  #im-process .fm-im-flow-step-4 { grid-column: 2 / span 2; grid-row: 2; }
  #im-process .fm-im-flow-step-5 { grid-column: 4 / span 2; grid-row: 2; }

  #im-process :is(.fm-im-flow-step-1, .fm-im-flow-step-2, .fm-im-flow-step-4)::after {
    content: "→";
    position: absolute;
    top: 44%;
    right: -33px;
    color: var(--fm-rust);
    font: 32px var(--fm-serif);
  }
}

/* ==========================================================
   13. ASSET MANAGEMENT — UNIQUE COMPONENTS
   ========================================================== */
#am-showcase .fm-showcase-image {
  display: flex;
  min-height: 470px;
}

#am-showcase .fm-showcase-image > .vc_column-inner,
#am-showcase .fm-showcase-image .wpb_wrapper {
  width: 100%;
  min-height: 470px;
}

#am-showcase .fm-showcase-image > .vc_column-inner {
  padding: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#am-showcase .fm-showcase-copy {
  padding: 20px 0 20px 42px;
}

#am-process .fm-am-flow-intro {
  margin-bottom: 55px;
}

#am-process .fm-am-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#am-process .fm-am-flow-step {
  position: relative;
  min-width: 0;
  min-height: 245px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 14px 22px;
  border: 1px solid rgba(80, 100, 110, .35);
  border-top: 3px solid var(--fm-rust);
  border-radius: 95px 95px 24px 24px;
  background: rgba(255, 255, 255, .8);
  text-align: center;
}

#am-process .fm-am-flow-number {
  flex: none;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border: 1px solid var(--fm-rust);
  border-radius: 50%;
  color: var(--fm-rust);
  font: 500 12px var(--fm-sans);
}

#am-process .fm-am-flow-step h3 {
  min-height: 54px;
  margin-bottom: 11px;
  font-size: clamp(18px, 1.7vw, 23px);
  line-height: 1.19;
}

#am-process .fm-am-flow-step p {
  color: var(--fm-mut);
  font-size: 13px;
  line-height: 1.6;
}

@media (min-width: 992px) {
  #am-process {
    padding-bottom: 148px;
  }

  #am-process .fm-am-flow-step:nth-child(even) {
    transform: translateY(32px);
  }

  #am-process .fm-am-flow-step:not(:last-child)::after {
    content: "→";
    position: absolute;
    z-index: 2;
    top: 45%;
    right: -22px;
    color: var(--fm-rust);
    font: 27px var(--fm-serif);
  }
}
/* ==========================================
   ASSET MANAGEMENT PROCESS — NUMBER ALIGNMENT
   ========================================== */

.fm-am-flow-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    padding: 0;
    line-height: 1;

    border: 1px solid var(--fm-acc);
    border-radius: 50%;

    box-sizing: border-box;
}
/* ==========================================================
   14. PORTFOLIO — UNIQUE COMPONENTS
   ========================================================== */
#portfolio-grid .fm-port-header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 35px;
}

#portfolio-grid .fm-port-header p {
  max-width: 520px;
  color: var(--fm-mut);
  font-size: 15px;
}

#portfolio-grid .fm-port-filter-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px 34px;
  margin-bottom: 12px;
}

#portfolio-grid .fm-port-filter-label {
  display: block;
  margin-bottom: 11px;
  color: var(--fm-slate);
  font: 500 10px var(--fm-sans);
  letter-spacing: .17em;
  text-transform: uppercase;
}

#portfolio-grid .fm-port-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 28px;
}

#portfolio-grid .fm-port-filter {
  padding: 9px 16px;
  border: 1px solid rgba(80, 100, 110, .32);
  background: transparent;
  color: var(--fm-ink);
  cursor: pointer;
  font: 500 11px var(--fm-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}

#portfolio-grid .fm-port-filter:hover,
#portfolio-grid .fm-port-filter[aria-pressed="true"] {
  background: var(--fm-rust);
  border-color: var(--fm-rust);
  color: #fff;
}

#portfolio-grid .fm-port-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

#portfolio-grid .fm-port-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(80, 100, 110, .24);
  background: #fff;
  transition: transform .2s, box-shadow .2s;
}

#portfolio-grid .fm-port-card[hidden] {
  display: none !important;
}

#portfolio-grid .fm-port-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(20, 24, 27, .08);
}

#portfolio-grid .fm-port-photo {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: linear-gradient(145deg, #52666d, #26353b);
}

#portfolio-grid .fm-port-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#portfolio-grid .fm-port-photo img:not([src]),
#portfolio-grid .fm-port-photo img[src=""] {
  display: none;
}

#portfolio-grid .fm-port-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .78);
  font-size: 10px;
  letter-spacing: .17em;
  text-transform: uppercase;
  pointer-events: none;
}

#portfolio-grid .fm-port-photo:has(img[src]:not([src=""])) .fm-port-placeholder {
  display: none;
}

#portfolio-grid .fm-port-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 25px;
}

#portfolio-grid .fm-port-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 13px;
}

#portfolio-grid .fm-port-tag {
  padding: 3px 8px;
  border: 1px solid rgba(80, 100, 110, .28);
  color: var(--fm-slate);
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#portfolio-grid .fm-port-status[data-status="current"] {
  border-color: var(--fm-teal);
  color: var(--fm-teal);
}

#portfolio-grid .fm-port-status[data-status="divested"] {
  border-color: var(--fm-rust);
  color: var(--fm-rust);
}

#portfolio-grid .fm-port-card h3 {
  margin-bottom: 12px;
  color: var(--fm-ink);
  font-size: 26px;
  line-height: 1.16;
}

#portfolio-grid .fm-port-card-desc {
  margin-bottom: 23px !important;
  color: var(--fm-slate);
  font-size: 14px;
  line-height: 1.7;
}

#portfolio-grid .fm-port-open {
  align-self: flex-start;
  margin-top: auto;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid var(--fm-rust);
  background: transparent;
  color: var(--fm-rust);
  cursor: pointer;
  font: 500 11px var(--fm-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

#portfolio-grid .fm-port-open:hover { opacity: .7; }
#portfolio-grid .fm-port-count { margin: 18px 0 0; color: var(--fm-slate); font-size: 13px; }
#portfolio-grid .fm-port-empty { padding: 32px 0; color: var(--fm-slate); }

/* Portfolio modal lives outside the WPBakery row. */
.fm-port-dialog {
  width: min(940px, calc(100vw - 32px));
  max-height: min(90vh, 900px);
  padding: 0;
  overflow: auto;
  border: 0;
  background: #fff;
  color: var(--fm-ink);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .32);
}

.fm-port-dialog::backdrop {
  background: rgba(10, 17, 20, .78);
}

.fm-port-dialog-inner {
  position: relative;
  display: grid;
  grid-template-columns: 41% 59%;
}

.fm-port-modal-photo {
  position: relative;
  min-height: 100%;
  background: linear-gradient(145deg, #52666d, #26353b);
}

.fm-port-modal-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 780px;
  object-fit: cover;
}

.fm-port-modal-photo img:not([src]),
.fm-port-modal-photo img[src=""] {
  display: none;
}

.fm-port-modal-photo span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 12px;
  letter-spacing: .1em;
}

.fm-port-modal-photo:has(img[src]:not([src=""])) span {
  display: none;
}

.fm-port-modal-body {
  min-width: 0;
  padding: 48px 43px;
}

.fm-port-modal-body .fm-port-kicker {
  margin: 0 0 15px;
  color: var(--fm-rust);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fm-port-modal-body h2 {
  margin: 0 45px 20px 0;
  color: var(--fm-ink);
  font: 400 clamp(29px, 3vw, 41px)/1.14 var(--fm-serif);
}

.fm-port-modal-body .fm-port-modal-desc {
  margin: 0 0 25px;
  color: var(--fm-slate);
  font: 15px/1.75 var(--fm-sans);
}

.fm-port-modal-note {
  margin: 20px 0 0;
  color: var(--fm-slate);
  font-size: 13px;
  line-height: 1.6;
}

.fm-port-facts {
  display: grid;
  grid-template-columns: 112px 1fr;
  margin: 0;
  border-top: 1px solid rgba(80, 100, 110, .25);
}

.fm-port-facts dt,
.fm-port-facts dd {
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid rgba(80, 100, 110, .18);
  font-size: 13px;
  line-height: 1.5;
}

.fm-port-facts dt { color: var(--fm-grey); }
.fm-port-facts dd { color: var(--fm-ink); }

.fm-port-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  background: var(--fm-bg);
  color: #fff;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}

.fm-port-detail-link {
  display: inline-block;
  margin-top: 22px;
  padding: 12px 20px;
  border: 1px solid var(--fm-rust);
  color: var(--fm-rust);
  font: 500 11px var(--fm-sans);
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.fm-port-detail-link:hover {
  background: var(--fm-rust);
  color: #fff;
}

.fm-port-link-pending {
  margin-top: 18px;
  color: var(--fm-grey);
  font: 13px var(--fm-sans);
}

.fm-port-open:focus-visible,
.fm-port-filter:focus-visible,
.fm-port-close:focus-visible {
  outline: 2px solid var(--fm-rust);
  outline-offset: 4px;
}

.fm-port-detail-link[hidden],
.fm-port-link-pending[hidden],
.fm-port-empty[hidden] {
  display: none !important;
}

/* ==========================================================
   15. INDIVIDUAL ASSET PAGES — REUSABLE TEMPLATE
   ========================================================== */
#asset-hero {
  padding-top: 110px !important;
  padding-bottom: 105px !important;
}

#asset-hero .fm-asset-hero-content {
  max-width: 850px;
}

#asset-hero .fm-asset-hero-desc {
  max-width: 590px;
  margin-top: 20px !important;
  color: var(--fm-mist);
  font-size: 18px;
  line-height: 1.8;
}

#asset-feature-image {
  padding: 0 !important;
  background: var(--fm-bg);
}

#asset-feature-image > .vc_row-fluid > .wpb_column > .vc_column-inner {
  padding: 0 !important;
}

#asset-feature-image .fm-asset-feature-photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 21 / 9;
}

#asset-feature-image .fm-asset-feature-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#asset-feature-image .fm-asset-image-note {
  position: absolute;
  right: 30px;
  bottom: 25px;
  padding: 9px 13px;
  background: rgba(20, 24, 27, .82);
  color: var(--fm-cream);
  font-size: 11px;
  letter-spacing: .08em;
}

#asset-overview .fm-editorial-left {
  max-width: 520px;
}

#asset-overview .fm-asset-intro-line {
  width: 45px;
  height: 2px;
  margin: 35px 0 22px;
  background: var(--fm-rust);
}

#asset-overview .fm-asset-intro-caption {
  color: var(--fm-grey);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

#asset-overview .fm-asset-overview-text {
  max-width: 505px;
  margin-bottom: 40px;
}

#asset-overview .fm-asset-overview-text p {
  margin-bottom: 18px !important;
  color: var(--fm-slate);
  font-size: 16px;
  line-height: 1.85;
}

#asset-management .fm-media-frame {
  min-height: 460px;
}

#asset-management .fm-asset-management-copy {
  max-width: 515px;
  margin-left: 20px;
  padding-left: 32px;
  border-left: 2px solid var(--fm-rust);
}

#asset-management .fm-asset-management-copy > p:not(.fm-eyebrow) {
  max-width: 440px;
  color: var(--fm-slate);
  line-height: 1.85;
}

#asset-management .fm-asset-hold {
  margin-top: 20px;
  padding: 15px 18px;
  border: 1px dashed #b69c90;
  background: #fffaf7;
  color: #6b534b;
  font-size: 13px;
  line-height: 1.7;
}

#asset-esg .fm-asset-esg-list {
  max-width: 550px;
  margin-left: 15px;
  border-top: 1px solid var(--fm-ln);
}

#asset-esg .fm-asset-esg-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid var(--fm-ln);
}

#asset-esg .fm-asset-num {
  padding-top: 5px;
  color: var(--fm-rust);
  font-size: 11px;
  letter-spacing: .12em;
}

#asset-esg .fm-asset-esg-text h3 {
  margin-bottom: 13px;
  font-size: 24px;
  line-height: 1.2;
}

#asset-esg .fm-asset-esg-text p {
  max-width: 430px;
  color: var(--fm-slate);
  font-size: 15px;
  line-height: 1.8;
}

#asset-gallery .fm-asset-gallery-intro {
  margin-bottom: 35px;
}

#asset-gallery .fm-asset-gallery-layout {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 15px;
}

#asset-gallery .fm-asset-gallery-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: linear-gradient(140deg, #6f8a8c, #273f48);
}

#asset-gallery .fm-asset-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#asset-nav .fm-asset-back {
  padding-top: 28px;
  border-top: 1px solid var(--fm-ln);
}

#asset-nav .fm-asset-back a {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--fm-rust);
  font-size: 11px;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}
/* ==========================================================
   LE QUEST — CERTIFICATION
   ========================================================== */

#asset-certification .fm-media-frame {
    min-height: 430px;
}

#asset-certification .fm-editorial-right {
    max-width: 560px;
}

#asset-certification .fm-asset-certification-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 20px;

    margin-top: 34px;
    padding-top: 24px;

    border-top: 1px solid var(--fm-ln);
}

#asset-certification
.fm-asset-certification-meta > div {
    min-width: 0;
}

#asset-certification
.fm-asset-certification-meta strong {
    display: block;

    margin-top: 7px;

    color: var(--fm-ink);

    font-family: var(--fm-serif);
    font-size: 22px;
    font-weight: 400;
}

@media (max-width: 767px) {

    #asset-certification
    .fm-asset-certification-meta {
        grid-template-columns: 1fr;
    }

    #asset-certification
    .fm-media-frame {
        min-height: 300px;
    }

}

/* ==========================================================
   RESIDENTIAL ASSET — LOCATION & CONNECTIVITY
   ========================================================== */

#asset-location .fm-media-frame {
    min-height: 470px;
}

#asset-location .fm-editorial-right {
    max-width: 570px;
}

#asset-location .fm-location-list {
    margin-top: 32px;

    border-top: 1px solid var(--fm-ln);
}

#asset-location .fm-location-item {
    padding: 20px 0;

    border-bottom: 1px solid var(--fm-ln);
}

#asset-location .fm-location-label {
    display: block;

    margin-bottom: 6px;

    color: var(--fm-acc);

    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#asset-location .fm-location-item strong {
    display: block;

    margin-bottom: 7px;

    color: var(--fm-ink);

    font-family: var(--fm-serif);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.25;
}

#asset-location .fm-location-item p {
    margin: 0;

    color: var(--fm-mut);

    font-size: 14px;
    line-height: 1.65;
}

@media (max-width: 767px) {

    #asset-location .fm-media-frame {
        min-height: 320px;
    }

}


/* ==========================================================
   16. CREDENTIALS / HEADER / FOOTER
   ========================================================== */
.fm-creds {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.fm-creds > div {
  display: flex;
  align-items: center;
  gap: 16px;
}

.fm-creds > div:first-child {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.fm-creds > div:not(:first-child) {
  flex: 1;
  min-width: 240px;
  padding: 16px 22px;
  border: 1px solid var(--fm-ln);
  background: #fff;
}

.fm-creds b {
  display: block;
  font: 400 1.35rem var(--fm-serif);
}

.fm-creds small {
  color: var(--fm-mut);
  font-size: 13px;
}

.fm-cred-logo {
  display: block;
  width: auto;
  height: 64px;
}

.whb-header .whb-general-header {
  background: var(--fm-bg);
  border-bottom: 1px solid rgba(210, 212, 213, .16);
}

.whb-header .wd-nav > li > a {
  color: var(--fm-mist);
  font: 400 12px var(--fm-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.whb-header .wd-nav > li:hover > a,
.whb-header .wd-nav > li.current-menu-item > a {
  color: var(--fm-cream);
}

.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-sub-menu a.woodmart-nav-link {
  display: block !important;
  padding: 12px 22px !important;
  background: transparent !important;
  color: var(--fm-mist) !important;
  font: 400 12px var(--fm-sans) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.wd-sub-menu a.woodmart-nav-link:hover {
  padding-left: 26px !important;
  background: rgba(210, 212, 213, .06) !important;
  color: var(--fm-cream) !important;
}

.fm-portal {
  display: none !important;
}

.footer-container,
.footer-widgets,
.site-footer {
  background: #101315;
  color: #9aa0a4;
  font-family: var(--fm-sans);
}

.footer-container.color-scheme-light {
  border-top: 0 !important;
}

.main-footer {
  padding-top: 64px !important;
}

.footer-container :is(h4, h5, .widget-title),
.footer-widgets :is(h4, h5, .widget-title),
.site-footer :is(h4, h5, .widget-title) {
  margin: 0 0 14px !important;
  color: var(--fm-mist) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !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;
}

.fm-foot-logo img {
  display: block;
  width: auto;
  height: 64px;
}

.fm-foot-about {
  max-width: 300px;
  margin: 16px 0 0;
  color: #9aa0a4;
  font-size: 14px;
  line-height: 1.6;
}

.fm-foot-list,
.footer-widgets ul.menu,
.footer-container ul.menu {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !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 {
  display: inline-block;
  padding: 0 !important;
  color: #9aa0a4;
  text-decoration: none;
}

.mc4wp-form-8382 .mc4wp-form-fields p {
  display: flex;
  margin: 14px 0 0;
}

.mc4wp-form-8382 input[type="email"] {
  flex: 1;
  min-width: 0;
  width: auto !important;
  padding: 12px 14px;
  border: 1px solid rgba(210, 212, 213, .16);
  border-right: 0;
  background: transparent !important;
  color: var(--fm-cream);
  font: 14px var(--fm-sans);
}

.mc4wp-form-8382 input[type="submit"] {
  width: auto !important;
  height: 44px;
  padding: 0 18px;
  border: 0;
  background: var(--fm-rust) !important;
  color: #fff !important;
  cursor: pointer;
  font: 12px var(--fm-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mc4wp-form-8382 label {
  display: none !important;
}

/* ==========================================================
   17. RESPONSIVE
   ========================================================== */
@media (max-width: 991px) {
  .fm-number-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
  }

  .fm-number-item + .fm-number-item {
    padding-left: 0;
    border-left: 0;
  }

  .fm-number-item {
    padding-top: 20px;
    border-top: 1px solid var(--fm-ln);
  }

  #home-hero .fm-home-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #im-platform .fm-platform-image,
  #im-platform .fm-platform-image > .vc_column-inner,
  #im-platform .fm-platform-image .wpb_wrapper,
  #am-showcase .fm-showcase-image,
  #am-showcase .fm-showcase-image > .vc_column-inner,
  #am-showcase .fm-showcase-image .wpb_wrapper {
    min-height: 360px;
  }

  #im-process .fm-im-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  #am-process .fm-am-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  #am-process .fm-am-flow-step {
    min-height: 200px;
    border-radius: 36px 36px 16px 16px;
  }

  #portfolio-grid .fm-port-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #asset-feature-image .fm-asset-feature-photo {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  :root {
    --fm-section-y: 72px;
  }

  .vc_row.fm-inner-hero,
  #asset-hero {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }

  .vc_row.fm-split-hero .fm-hero-left > .vc_column-inner {
    min-height: 0;
    padding: 64px 20px 48px;
  }

  .vc_row.fm-split-hero .fm-hero-image > .vc_column-inner {
    min-height: 260px;
  }

  .fm-editorial-left {
    margin-bottom: 38px;
    padding-right: 0;
  }

  .fm-fact {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .fm-number-grid,
  #home-strategies .fm-home-funds,
  #home-track-record .fm-home-metrics,
  #strategy-cards .fm-strategy-cards,
  #im-process .fm-im-flow,
  #am-process .fm-am-flow,
  #portfolio-grid .fm-port-grid,
  #about-team .fm-team-2col {
    grid-template-columns: 1fr;
  }

  #home-strategies .fm-home-fund:first-child {
    grid-row: auto;
  }

  #home-track-record .fm-home-metric + .fm-home-metric {
    border-top: 1px solid var(--fm-ln);
    border-left: 0;
  }

  #home-team .fm-team {
    grid-template-columns: 1fr;
  }

  #about-team .fm-person {
    flex-direction: column;
  }

  #about-team .fm-team-2col .fm-avatar {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  #im-platform .fm-platform-content,
  #am-showcase .fm-showcase-copy {
    padding: 0 0 28px;
  }

  #im-platform .fm-platform-image,
  #im-platform .fm-platform-image > .vc_column-inner,
  #im-platform .fm-platform-image .wpb_wrapper,
  #am-showcase .fm-showcase-image,
  #am-showcase .fm-showcase-image > .vc_column-inner,
  #am-showcase .fm-showcase-image .wpb_wrapper {
    min-height: 300px;
  }

  #im-process .fm-im-flow-step,
  #am-process .fm-am-flow-step {
    min-height: 0;
  }

  #im-process .fm-im-flow-step:not(:last-child)::after,
  #am-process .fm-am-flow-step:not(:last-child)::after {
    content: "↓";
    position: absolute;
    z-index: 2;
    bottom: -27px;
    left: calc(50% - 7px);
    color: var(--fm-rust);
    font: 23px var(--fm-serif);
  }

  #portfolio-grid .fm-port-filter-wrap {
    display: block;
  }

  #portfolio-grid .fm-port-photo {
    height: 240px;
  }

  .fm-port-dialog-inner {
    grid-template-columns: 1fr;
  }

  .fm-port-modal-photo {
    min-height: 230px;
  }

  .fm-port-modal-body {
    padding: 28px 24px;
  }

  #asset-feature-image .fm-asset-feature-photo {
    aspect-ratio: 4 / 3;
  }

  #asset-management .fm-media-frame {
    min-height: 300px;
    margin-bottom: 35px;
  }

  #asset-management .fm-asset-management-copy {
    margin-left: 0;
    padding-left: 22px;
  }

  #asset-esg .fm-asset-esg-list {
    margin-left: 0;
  }

  #asset-esg .fm-asset-esg-item {
    gap: 15px;
  }

  #asset-gallery .fm-asset-gallery-layout {
    grid-template-columns: 1fr;
  }

  #asset-gallery .fm-asset-gallery-item {
    aspect-ratio: 3 / 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fm-btn,
  #portfolio-grid .fm-port-card {
    transition: none;
  }
}

/* ==========================================
   CONTACT CTA — shared alignment
   ========================================== */

.fm-contact-actions {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
}

.fm-contact-actions .fm-big {
    width: 100%;
    box-sizing: border-box;
}

.fm-contact-actions .fm-big:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {

    .fm-contact-actions {
        max-width: none;
        margin-top: 32px;
        margin-left: 0;
    }

}
@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;
}



}

