/*
 * FSCA Africa final brand / contrast layer
 * Purpose: keep the imported theme structure intact while applying the
 * FSCA palette and guaranteeing readable normal, hover, active and focus states.
 */

/* ---------- Local Binaria type family ---------- */
@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Thin.ttf') format('truetype');
    font-style: normal;
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-ThinItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-LightItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-RegularItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Medium.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-MediumItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-BoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 600 700;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: 800 900;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria';
    src: url('/fonts/binaria/Binaria-BlackItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 800 900;
    font-display: swap;
}

@font-face {
    font-family: 'Binaria Display';
    src: url('/fonts/binaria/Binaria-Display-Solid.otf') format('opentype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

:root {
    /* Local site typography. */
    --wdtFontTypo_Base: 'Binaria', sans-serif;
    --wdtFontTypo_Alt: 'Binaria', sans-serif;
    --wdtFontTypo_H1: 'Binaria', sans-serif;
    --wdtFontTypo_H2: 'Binaria', sans-serif;
    --wdtFontTypo_H3: 'Binaria', sans-serif;
    --wdtFontTypo_H4: 'Binaria', sans-serif;
    --wdtFontTypo_H5: 'Binaria', sans-serif;
    --wdtFontTypo_H6: 'Binaria', sans-serif;
    --wdtFontTypo_Ext: 'Binaria', sans-serif;
    --wdt-elementor-typo-primary-font-family: 'Binaria';
    --wdt-elementor-typo-secondary-font-family: 'Binaria';
    --wdt-elementor-typo-text-font-family: 'Binaria';
    --wdt-elementor-typo-accent-font-family: 'Binaria';
    --fsca-deep: #1F251E;
    --fsca-primary: #3B4036;
    --fsca-olive: #46503F;
    --fsca-sage: #68725F;
    --fsca-gold: #D4BE8B;
    --fsca-gold-deep: #765D2E;
    --fsca-ivory: #F6F3ED;
    --fsca-stone: #E7E2D8;
    --fsca-border: #D7D2C8;
    --fsca-text: #42483F;
    --fsca-white: #FFFFFF;

    /* Keep all theme aliases aligned. */
    --wdtPrimaryColor: var(--fsca-primary);
    --wdtPrimaryColorRgb: 59, 64, 54;
    --wdtSecondaryColor: var(--fsca-gold);
    --wdtSecondaryColorRgb: 212, 190, 139;
    --wdtTertiaryColor: var(--fsca-ivory);
    --wdtTertiaryColorRgb: 246, 243, 237;
    --wdtQuaternaryColor: var(--fsca-stone);
    --wdtQuaternaryColorRgb: 231, 226, 216;
    --wdtBodyTxtColor: var(--fsca-text);
    --wdtBodyTxtColorRgb: 66, 72, 63;
    --wdtHeadAltColor: var(--fsca-deep);
    --wdtHeadAltColorRgb: 31, 37, 30;
    --wdtLinkColor: var(--fsca-primary);
    --wdtLinkColorRgb: 59, 64, 54;
    --wdtLinkHoverColor: var(--fsca-gold-deep);
    --wdtLinkHoverColorRgb: 118, 93, 46;
    --wdtBorderColor: var(--fsca-border);
    --wdtBorderColorRgb: 215, 210, 200;
    --wdtAccentTxtColor: var(--fsca-white);
    --wdtAccentTxtColorRgb: 255, 255, 255;

    --wdt-elementor-color-primary: var(--fsca-deep);
    --wdt-elementor-color-primary-rgb: 31, 37, 30;
    --wdt-elementor-color-secondary: var(--fsca-gold);
    --wdt-elementor-color-secondary-rgb: 212, 190, 139;
    --wdt-elementor-color-text: var(--fsca-text);
    --wdt-elementor-color-text-rgb: 66, 72, 63;
    --wdt-elementor-color-accent: var(--fsca-olive);
    --wdt-elementor-color-accent-rgb: 70, 80, 63;
    --wdt-elementor-color-custom-1: var(--fsca-ivory);
    --wdt-elementor-color-custom-1-rgb: 246, 243, 237;
    --wdt-elementor-color-custom-2: var(--fsca-border);
    --wdt-elementor-color-custom-2-rgb: 215, 210, 200;
    --wdt-elementor-color-custom-3: var(--fsca-stone);
    --wdt-elementor-color-custom-3-rgb: 231, 226, 216;
    --wdt-elementor-color-custom-4: var(--fsca-white);
    --wdt-elementor-color-custom-4-rgb: 255, 255, 255;
}

/* ---------- Binaria site-wide typography ---------- */
.elementor-kit-16 {
    --e-global-typography-primary-font-family: 'Binaria';
    --e-global-typography-secondary-font-family: 'Binaria';
    --e-global-typography-text-font-family: 'Binaria';
    --e-global-typography-accent-font-family: 'Binaria';
}

body,
button,
input,
select,
textarea {
    font-family: 'Binaria', sans-serif;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .wdt-heading-title,
body .wdt-content-title,
body .wdt-services-title,
body .wdt-listings-item-title {
    font-family: 'Binaria', sans-serif;
}

/* ---------- Base readability ---------- */
body {
    color: var(--fsca-text);
    background-color: var(--fsca-white);
}

body p,
body li,
body .elementor-widget-text-editor,
body .wdt-heading-content-wrapper,
body .wdt-services-description {
    color: inherit;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .wdt-heading-title,
body .wdt-content-title,
body .wdt-services-title,
body .wdt-listings-item-title {
    color: var(--fsca-deep);
}

body a {
    color: var(--fsca-primary);
}

body a:hover,
body a:focus {
    color: var(--fsca-gold-deep);
}

/* Accessible keyboard focus without altering layout. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--fsca-gold);
    outline-offset: 3px;
}

/* ---------- Dark-mode content ---------- */
#main .wdt-dark-bg,
#main .wdt-dark-bg p,
#main .wdt-dark-bg .wdt-heading-content-wrapper,
#main .wdt-dark-bg .elementor-icon-list-text,
#main .wdt-dark-bg .wdt-content-description,
#main .wdt-dark-bg .wdt-services-description {
    color: var(--fsca-white);
}

#main .wdt-dark-bg h1,
#main .wdt-dark-bg h2,
#main .wdt-dark-bg h3,
#main .wdt-dark-bg h4,
#main .wdt-dark-bg h5,
#main .wdt-dark-bg h6,
#main .wdt-dark-bg .wdt-heading-title,
#main .wdt-dark-bg .wdt-content-title,
#main .wdt-dark-bg .wdt-content-title a,
#main .wdt-dark-bg .wdt-services-title a {
    color: var(--fsca-white) !important;
}

#main .wdt-dark-bg .wdt-heading-subtitle-wrapper,
#main .wdt-dark-bg .wdt-heading-subtitle,
#main .wdt-dark-bg .elementor-icon-list-icon i,
#main .wdt-dark-bg .elementor-icon-list-icon svg {
    color: var(--fsca-gold);
    fill: var(--fsca-gold);
}

#main .wdt-dark-bg a:hover,
#main .wdt-dark-bg a:focus,
#main .wdt-dark-bg .wdt-content-title a:hover,
#main .wdt-dark-bg .wdt-services-title a:hover {
    color: var(--fsca-gold) !important;
}

/* ---------- Header navigation ---------- */
/* Transparent header over the hero. */
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li > a {
    color: var(--fsca-white) !important;
    background-color: transparent !important;
}

#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li:hover > a,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li > a:hover,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li > a:focus,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li.current-menu-item > a,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li.current_page_item > a,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li.current-menu-ancestor > a,
#header .sticky-header:not(.sticky-header-active) .wdt-header-menu .wdt-primary-nav > li.current_page_ancestor > a {
    color: var(--fsca-gold) !important;
    background-color: rgba(31, 37, 30, 0.30) !important;
}

/* Sticky header changes to a light surface; menu text must change with it. */
#header .sticky-header-active {
    background-color: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(59, 64, 54, 0.16) !important;
    box-shadow: 0 10px 30px rgba(31, 37, 30, 0.10) !important;
}

#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li > a {
    color: var(--fsca-deep) !important;
    background-color: transparent !important;
}

#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li:hover > a,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li > a:hover,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li > a:focus,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li.current-menu-item > a,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li.current_page_item > a,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li.current-menu-ancestor > a,
#header .sticky-header-active .wdt-header-menu .wdt-primary-nav > li.current_page_ancestor > a {
    color: var(--fsca-white) !important;
    background-color: var(--fsca-primary) !important;
    border-color: var(--fsca-primary) !important;
}

/* Hamburger stays visible over hero and after the header becomes sticky. */
#header .sticky-header:not(.sticky-header-active) .mobile-nav-container .menu-trigger {
    color: var(--fsca-white) !important;
}

#header .sticky-header-active .mobile-nav-container .menu-trigger {
    color: var(--fsca-deep) !important;
}

/* Mobile drawer. */
.mobile-menu,
.mobile-menu > ul,
.mobile-menu ul:not(.menu-item-object-wdt_mega_menus ul) {
    background-color: var(--fsca-white) !important;
}

.mobile-menu li > a,
.mobile-menu ul li > a {
    color: var(--fsca-deep) !important;
}

.mobile-menu ul li.menu-item > a:hover,
.mobile-menu ul li.menu-item:hover > a,
.mobile-menu ul li.current-menu-item > a,
.mobile-menu ul li.current-page-item > a,
.mobile-menu ul li.current-menu-ancestor > a,
.mobile-menu ul li.current-page-ancestor > a {
    color: var(--fsca-white) !important;
    background-color: var(--fsca-primary) !important;
}

/* ---------- Buttons ---------- */
.wdt-button-holder.wdt-template-filled .wdt-button,
.wdt-button,
button,
input[type="submit"],
input[type="button"] {
    background-color: var(--fsca-gold);
    color: var(--fsca-deep);
    border-color: transparent;
}

.wdt-button-holder.wdt-template-filled .wdt-button:hover,
.wdt-button-holder.wdt-template-filled .wdt-button:focus,
.wdt-button:hover,
.wdt-button:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
    background-color: var(--fsca-primary);
    color: var(--fsca-white);
}

.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button {
    background-color: var(--fsca-gold) !important;
    color: var(--fsca-deep) !important;
}

.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button:hover,
.wdt-dark-bg .wdt-button-holder.wdt-template-filled .wdt-button:focus {
    background-color: var(--fsca-white) !important;
    color: var(--fsca-deep) !important;
}

.wdt-button-holder.wdt-template-textual .wdt-button {
    color: var(--fsca-deep) !important;
    background-color: transparent !important;
}

.wdt-button-holder.wdt-template-textual .wdt-button:hover,
.wdt-button-holder.wdt-template-textual .wdt-button:focus {
    color: var(--fsca-gold-deep) !important;
    background-color: transparent !important;
}

.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button {
    color: var(--fsca-white) !important;
}

.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:hover,
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:focus {
    color: var(--fsca-gold) !important;
}

/* ---------- Services cards ---------- */
.wdt-services-item.wdt-type-3 {
    background-color: var(--fsca-white);
    border-color: var(--fsca-border);
}

.wdt-services-item.wdt-type-3 .wdt-services-title h5,
.wdt-services-item.wdt-type-3 .wdt-services-title h5 a,
.wdt-services-item.wdt-type-3 .wdt-services-description {
    color: var(--fsca-deep);
}

.wdt-services-item.wdt-type-3 .wdt-services-button > a {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-gold) !important;
}

.wdt-services-item.wdt-type-3:hover {
    background-color: var(--fsca-primary) !important;
}

.wdt-services-item.wdt-type-3:hover .wdt-services-title h5,
.wdt-services-item.wdt-type-3:hover .wdt-services-title h5 a,
.wdt-services-item.wdt-type-3:hover .wdt-services-description {
    color: var(--fsca-white) !important;
}

.wdt-services-item.wdt-type-3:hover .wdt-services-title h5 a:hover,
.wdt-services-item.wdt-type-3:hover .wdt-services-title h5 a:focus {
    color: var(--fsca-gold) !important;
}

.wdt-services-item.wdt-type-3:hover .wdt-services-button > a {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-gold) !important;
}

.wdt-services-item.wdt-type-3:hover .wdt-services-button > a:hover,
.wdt-services-item.wdt-type-3:hover .wdt-services-button > a:focus {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-white) !important;
}

/* ---------- Journey tabs ---------- */
.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li .ui-tabs-anchor {
    color: var(--fsca-primary) !important;
    background-color: transparent !important;
}

.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li.ui-state-hover .ui-tabs-anchor,
.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li.ui-state-active .ui-tabs-anchor,
.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li.ui-tabs-active .ui-tabs-anchor,
.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li .ui-tabs-anchor:hover,
.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li .ui-tabs-anchor:focus {
    color: var(--fsca-deep) !important;
}

.elementor-3024 .wdt-tabs-container[class*='-template-classic'] .wdt-tabs-list li .ui-tabs-anchor:before {
    background-color: var(--fsca-gold) !important;
}

/* ---------- FAQ accordion ---------- */
.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-ivory) !important;
    border-color: var(--fsca-border) !important;
}

.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder.ui-state-hover,
.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder.ui-state-active {
    color: var(--fsca-white) !important;
    background-color: var(--fsca-primary) !important;
    border-color: var(--fsca-primary) !important;
}

.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder .wdt-accordion-toggle-icon {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-gold) !important;
}

.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder.ui-state-hover .wdt-accordion-toggle-icon,
.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-title-holder.ui-state-active .wdt-accordion-toggle-icon {
    color: var(--fsca-deep) !important;
    background-color: var(--fsca-gold) !important;
}

.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-wrapper:has(.wdt-accordion-toggle-description.ui-accordion-content-active) {
    background-color: var(--fsca-ivory) !important;
}

.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-description,
.elementor-3024 .wdt-template-bordered .wdt-accordion-toggle-description p {
    color: var(--fsca-text) !important;
}

/* ---------- Team cards ---------- */
.wdt-team-holder .wdt-content-item .wdt-content-detail-group .wdt-content-title h5,
.wdt-team-holder .wdt-content-item .wdt-content-detail-group .wdt-content-title h5 a,
.wdt-team-holder .wdt-content-item .wdt-content-detail-group .wdt-content-subtitle {
    color: var(--fsca-deep) !important;
}

.wdt-team-holder .wdt-content-item .wdt-social-icons-list li a {
    background-color: var(--fsca-gold) !important;
    color: var(--fsca-deep) !important;
}

.wdt-team-holder .wdt-content-item .wdt-social-icons-list li a:hover,
.wdt-team-holder .wdt-content-item .wdt-social-icons-list li a:focus {
    background-color: var(--fsca-primary) !important;
    color: var(--fsca-white) !important;
}

/* Text over team images must remain white. */
.wdt-team-holder.wdt-rc-template-standard .wdt-content-item .wdt-content-media-group .wdt-content-title h5,
.wdt-team-holder.wdt-rc-template-standard .wdt-content-item .wdt-content-media-group .wdt-content-title h5 a,
.wdt-team-holder.wdt-rc-template-standard .wdt-content-item .wdt-content-media-group .wdt-content-subtitle {
    color: var(--fsca-white) !important;
}

/* ---------- Project / portfolio listings ---------- */
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings--title,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings--title a,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-item-title,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-item-title a,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-taxonomy-container li a {
    color: var(--fsca-white) !important;
}

#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings--title a:hover,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings--title a:focus,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-item-title a:hover,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-item-title a:focus,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-taxonomy-container li a:hover,
#main .wdt-dark-bg .wdt-listings-item-wrapper.type3 .wdt-listings-taxonomy-container li a:focus {
    color: var(--fsca-gold) !important;
}

/* ---------- Footer ---------- */
#footer,
#footer p,
#footer li,
#footer .elementor-icon-list-text,
#footer .wdt-heading-content-wrapper {
    color: var(--fsca-white);
}

#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
#footer .wdt-heading-title {
    color: var(--fsca-white) !important;
}

#footer a,
#footer .elementor-icon-list-text,
#footer .elementor-icon-list-icon i,
#footer .elementor-icon-list-icon svg {
    color: var(--fsca-white) !important;
    fill: var(--fsca-white);
}

#footer a:hover,
#footer a:focus,
#footer .elementor-icon-list-item:hover .elementor-icon-list-text,
#footer .elementor-icon-list-item:hover .elementor-icon-list-icon i,
#footer .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
    color: var(--fsca-gold) !important;
    fill: var(--fsca-gold) !important;
}

/* ---------- Forms ---------- */
input:not([type="submit"]):not([type="button"]),
textarea,
select {
    color: var(--fsca-deep);
    background-color: var(--fsca-white);
    border-color: var(--fsca-border);
}

input::placeholder,
textarea::placeholder {
    color: #6B7068;
    opacity: 1;
}

input:not([type="submit"]):not([type="button"]):focus,
textarea:focus,
select:focus {
    color: var(--fsca-deep);
    background-color: var(--fsca-white);
    border-color: var(--fsca-primary);
}

/* ---------- Small interactive controls ---------- */
#back-to-top {
    background-color: var(--fsca-primary) !important;
    border-color: var(--fsca-primary) !important;
    color: var(--fsca-white) !important;
}

#back-to-top:hover,
#back-to-top:focus {
    background-color: var(--fsca-gold) !important;
    border-color: var(--fsca-gold) !important;
    color: var(--fsca-deep) !important;
}

.swiper-pagination-bullet,
.wdt-swiper-pagination .swiper-pagination-bullet {
    background-color: var(--fsca-border);
}

.swiper-pagination-bullet-active,
.wdt-swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--fsca-primary);
}

/* Prevent inherited hover rules from making SVG icons disappear. */
a:hover svg,
a:focus svg,
button:hover svg,
button:focus svg {
    fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
    }
}

/* ---------- Homepage dark-section safeguards ---------- */
/* These selectors do not depend on the theme's runtime dark-mode class. */
.elementor-3024 .elementor-element.elementor-element-8ab18fb,
.elementor-3024 .elementor-element.elementor-element-c437ec7,
.elementor-3024 .elementor-element.elementor-element-ab416d1 {
    color: var(--fsca-white);
}

.elementor-3024 .elementor-element.elementor-element-8ab18fb h1,
.elementor-3024 .elementor-element.elementor-element-8ab18fb h2,
.elementor-3024 .elementor-element.elementor-element-8ab18fb h3,
.elementor-3024 .elementor-element.elementor-element-8ab18fb h4,
.elementor-3024 .elementor-element.elementor-element-8ab18fb h5,
.elementor-3024 .elementor-element.elementor-element-8ab18fb h6,
.elementor-3024 .elementor-element.elementor-element-8ab18fb .wdt-heading-title,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h1,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h2,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h3,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h4,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h5,
.elementor-3024 .elementor-element.elementor-element-c437ec7 h6,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .wdt-heading-title,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h1,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h2,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h3,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h4,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h5,
.elementor-3024 .elementor-element.elementor-element-ab416d1 h6,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .wdt-heading-title,
.elementor-3024 .elementor-element.elementor-element-8ab18fb p,
.elementor-3024 .elementor-element.elementor-element-c437ec7 p,
.elementor-3024 .elementor-element.elementor-element-ab416d1 p,
.elementor-3024 .elementor-element.elementor-element-8ab18fb .wdt-heading-content-wrapper,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .wdt-heading-content-wrapper,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .wdt-heading-content-wrapper,
.elementor-3024 .elementor-element.elementor-element-8ab18fb .elementor-icon-list-text,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .elementor-icon-list-text,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .elementor-icon-list-text {
    color: var(--fsca-white) !important;
}

.elementor-3024 .elementor-element.elementor-element-8ab18fb .wdt-heading-subtitle-wrapper,
.elementor-3024 .elementor-element.elementor-element-8ab18fb .wdt-heading-colored-elements,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .wdt-heading-subtitle-wrapper,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .wdt-heading-subtitle-wrapper {
    color: var(--fsca-gold) !important;
}

.elementor-3024 .elementor-element.elementor-element-8ab18fb .elementor-icon-list-icon i,
.elementor-3024 .elementor-element.elementor-element-8ab18fb .elementor-icon-list-icon svg,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .elementor-icon-list-icon i,
.elementor-3024 .elementor-element.elementor-element-c437ec7 .elementor-icon-list-icon svg,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .elementor-icon-list-icon i,
.elementor-3024 .elementor-element.elementor-element-ab416d1 .elementor-icon-list-icon svg {
    color: var(--fsca-gold) !important;
    fill: var(--fsca-gold) !important;
}


/* ---------- Cinematic landing hero ---------- */
/* Local, self-hosted video. The overlay keeps the moving imagery atmospheric
   and protects text contrast at every point in the footage. */
.elementor-3024 .fsca-cinematic-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #151A14 !important;
    background-image: url('../media/landing/fsca-landing-poster.jpg') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.elementor-3024 .fsca-cinematic-hero .fsca-cinematic-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: #151A14;
}

.elementor-3024 .fsca-cinematic-hero .fsca-cinematic-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    display: block !important;
    visibility: visible !important;
    object-fit: cover;
    object-position: center center;
    opacity: 0.78;
    filter: saturate(0.72) contrast(1.08) brightness(0.82);
    transform: scale(1.015);
    pointer-events: none;
}

/* Replace the imported Elementor flat tint with a cinematic multi-layer wash. */
.elementor-3024 .fsca-cinematic-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    opacity: 1 !important;
    pointer-events: none;
    background:
        linear-gradient(90deg,
            rgba(15, 19, 14, 0.88) 0%,
            rgba(24, 30, 22, 0.70) 38%,
            rgba(31, 37, 30, 0.48) 67%,
            rgba(20, 25, 19, 0.66) 100%),
        linear-gradient(180deg,
            rgba(10, 13, 10, 0.46) 0%,
            rgba(10, 13, 10, 0.08) 46%,
            rgba(10, 13, 10, 0.52) 100%) !important;
}

/* Gentle edge vignette adds depth without making the footage look artificial. */
.elementor-3024 .fsca-cinematic-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse at center,
        rgba(0, 0, 0, 0) 42%,
        rgba(8, 11, 8, 0.20) 72%,
        rgba(8, 11, 8, 0.44) 100%);
}

.elementor-3024 .fsca-cinematic-hero > *:not(.fsca-cinematic-media) {
    position: relative;
    z-index: 2;
}

/* Hero typography remains legible even over the brightest video frames. */
.elementor-3024 .fsca-cinematic-hero .wdt-heading-title,
.elementor-3024 .fsca-cinematic-hero .wdt-heading-title .wdt-split-heading-title,
.elementor-3024 .fsca-cinematic-hero .elementor-icon-list-text {
    color: #FFFFFF !important;
    text-shadow: 0 2px 22px rgba(5, 8, 5, 0.42);
}

.elementor-3024 .fsca-cinematic-hero .wdt-heading-colored-elements,
.elementor-3024 .fsca-cinematic-hero .wdt-heading-colored-elements .wdt-split-heading-title,
.elementor-3024 .fsca-cinematic-hero .wdt-heading-subtitle,
.elementor-3024 .fsca-cinematic-hero .wdt-heading-subtitle-wrapper {
    color: var(--fsca-gold) !important;
}

.elementor-3024 .fsca-cinematic-hero .elementor-icon {
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.78) !important;
}

.elementor-3024 .fsca-cinematic-hero .elementor-icon:hover,
.elementor-3024 .fsca-cinematic-hero .elementor-icon:focus {
    color: var(--fsca-gold) !important;
    border-color: var(--fsca-gold) !important;
}

@media (max-width: 767px) {
    .elementor-3024 .fsca-cinematic-hero {
        background-image: url('../media/landing/fsca-landing-poster-mobile.jpg') !important;
        background-position: center center !important;
    }

    .elementor-3024 .fsca-cinematic-hero .fsca-cinematic-video {
        object-position: 50% 46%;
        opacity: 0.70;
        filter: saturate(0.68) contrast(1.06) brightness(0.74);
        transform: scale(1.01);
    }

    .elementor-3024 .fsca-cinematic-hero::before {
        background:
            linear-gradient(180deg,
                rgba(13, 17, 13, 0.80) 0%,
                rgba(24, 30, 22, 0.61) 42%,
                rgba(13, 17, 13, 0.82) 100%),
            linear-gradient(90deg,
                rgba(15, 19, 14, 0.54) 0%,
                rgba(15, 19, 14, 0.34) 50%,
                rgba(15, 19, 14, 0.54) 100%) !important;
    }
}


/* ---------- FSCA tactical hero copy ---------- */
.elementor-3024 .fsca-cinematic-hero .fsca-hero-copy {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    text-align: center;
}

.elementor-3024 .fsca-cinematic-hero .fsca-hero-headline {
    margin: 0;
    color: #FFFFFF !important;
    font-family: 'Binaria', sans-serif;
    font-size: clamp(3rem, 5.6vw, 6.1rem);
    font-weight: 650;
    line-height: 0.98;
    letter-spacing: -0.035em;
    text-wrap: balance;
    text-shadow: 0 3px 28px rgba(5, 8, 5, 0.48);
}

.elementor-3024 .fsca-cinematic-hero .fsca-hero-headline-accent {
    color: var(--fsca-gold) !important;
}

.elementor-3024 .fsca-cinematic-hero .fsca-hero-subheading {
    max-width: 900px;
    margin: 28px auto 0;
    color: rgba(255, 255, 255, 0.94) !important;
    font-family: 'Binaria', sans-serif;
    font-size: clamp(1.05rem, 1.55vw, 1.35rem);
    font-weight: 350;
    line-height: 1.55;
    letter-spacing: 0.01em;
    text-wrap: balance;
    text-shadow: 0 2px 18px rgba(5, 8, 5, 0.58);
}

@media (max-width: 1024px) {
    .elementor-3024 .fsca-cinematic-hero .fsca-hero-copy {
        max-width: 820px;
        padding-inline: 20px;
    }

    .elementor-3024 .fsca-cinematic-hero .fsca-hero-headline {
        font-size: clamp(2.7rem, 7vw, 4.9rem);
        line-height: 1.02;
    }
}

@media (max-width: 767px) {
    .elementor-3024 .fsca-cinematic-hero .fsca-hero-copy {
        padding-inline: 16px;
    }

    .elementor-3024 .fsca-cinematic-hero .fsca-hero-headline {
        font-size: clamp(2.25rem, 11vw, 3.7rem);
        line-height: 1.04;
        letter-spacing: -0.025em;
    }

    .elementor-3024 .fsca-cinematic-hero .fsca-hero-subheading {
        max-width: 560px;
        margin-top: 20px;
        font-size: clamp(1rem, 4.4vw, 1.15rem);
        line-height: 1.5;
    }
}

/* FSC logo contrast switching.
   Light logo is used over dark hero media; dark logo is used once the header
   becomes a light sticky surface. Contact also opts into the dark logo via
   its page-specific stylesheet. */
#header .sticky-header-active .elementor-element-2198615 {
    display: none !important;
}

#header .sticky-header-active .elementor-element-61a5ce8 {
    display: block !important;
}

body.fsc-contact-page #header .sticky-header:not(.sticky-header-active) .elementor-element-2198615,
body.fsc-about-page #header .sticky-header:not(.sticky-header-active) .elementor-element-2198615 {
    display: none !important;
}

body.fsc-contact-page #header .sticky-header:not(.sticky-header-active) .elementor-element-61a5ce8,
body.fsc-about-page #header .sticky-header:not(.sticky-header-active) .elementor-element-61a5ce8 {
    display: block !important;
}


/* ---------- FSC homepage standards & governance ---------- */
.elementor-3024 .fsca-compliance-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.elementor-3024 .fsca-compliance-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 86px;
    padding: 20px 24px;
    color: #000000;
    font-family: 'Binaria', sans-serif;
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-align: center;
}

.elementor-3024 .fsca-compliance-item + .fsca-compliance-item {
    border-left: 1px solid rgba(0, 0, 0, 0.14);
}

@media (max-width: 767px) {
    .elementor-3024 .fsca-compliance-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor-3024 .fsca-compliance-item {
        min-height: 72px;
        padding: 16px 14px;
        font-size: 0.98rem;
    }

    .elementor-3024 .fsca-compliance-item:nth-child(3) {
        border-left: 0;
    }

    .elementor-3024 .fsca-compliance-item:nth-child(n+3) {
        border-top: 1px solid rgba(0, 0, 0, 0.14);
    }
}

/* ---------- Homepage client experience ---------- */
.fsca-client-experience {
    width: 100%;
    padding: clamp(64px, 7vw, 96px) 30px;
    background: var(--fsca-ivory);
}

.fsca-client-experience__inner {
    width: min(100%, 1320px);
    margin: 0 auto;
}

.fsca-client-experience__heading {
    max-width: 820px;
    margin: 0 auto clamp(34px, 4vw, 48px);
    text-align: center;
}

.fsca-client-experience__eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--fsca-gold-deep);
    font-family: 'Binaria', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.fsca-client-experience__heading h2 {
    max-width: 760px;
    margin: 0 auto;
    color: var(--fsca-deep) !important;
    font-family: 'Binaria', sans-serif;
    font-size: clamp(30px, 3.2vw, 44px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em;
    line-height: 1.08 !important;
}

.fsca-client-experience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.fsca-client-quote {
    position: relative;
    display: flex;
    min-height: 300px;
    flex-direction: column;
    padding: clamp(26px, 2.6vw, 36px);
    overflow: hidden;
    border: 1px solid rgba(31, 37, 30, .11);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(31, 37, 30, .045);
}

.fsca-client-quote::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--fsca-gold);
}

.fsca-client-quote__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    min-height: 46px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(31, 37, 30, .09);
}

.fsca-client-quote__topline > span:first-child {
    padding-top: 4px;
    color: var(--fsca-gold-deep);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .11em;
    line-height: 1.35;
    text-transform: uppercase;
}

.fsca-client-quote__mark {
    margin-top: -10px;
    color: rgba(118, 93, 46, .22);
    font-family: Georgia, serif;
    font-size: 58px;
    font-weight: 400;
    line-height: .9;
}

.fsca-client-quote blockquote {
    margin: 28px 0 30px;
    padding: 0;
    border: 0;
    color: var(--fsca-deep);
    font-family: 'Binaria', sans-serif;
    font-size: clamp(17px, 1.25vw, 19px);
    font-style: normal;
    font-weight: 400;
    letter-spacing: -.01em;
    line-height: 1.58;
}

.fsca-client-quote footer {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: auto;
}

.fsca-client-quote footer > span {
    width: 28px;
    height: 1px;
    flex: 0 0 auto;
    background: var(--fsca-gold-deep);
}

.fsca-client-quote footer small {
    color: #747a71;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 1024px) {
    .fsca-client-experience {
        padding-right: 20px;
        padding-left: 20px;
    }

    .fsca-client-experience__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fsca-client-quote:last-child {
        grid-column: 1 / -1;
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .fsca-client-experience {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .fsca-client-experience__heading {
        margin-bottom: 28px;
        text-align: left;
    }

    .fsca-client-experience__heading h2 {
        margin-left: 0;
        font-size: 30px !important;
        line-height: 1.12 !important;
    }

    .fsca-client-experience__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .fsca-client-quote,
    .fsca-client-quote:last-child {
        grid-column: auto;
        min-height: 0;
        padding: 25px 22px;
        border-radius: 12px;
    }

    .fsca-client-quote blockquote {
        margin: 22px 0 26px;
        font-size: 17px;
    }
}

