@font-face {
	font-family: "La Belle Aurore";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/la-belle-aurore-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Reenie Beanie";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/reenie-beanie-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Caveat";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/caveat-latin.woff2") format("woff2");
}

/* Self-hosted fonts: the cookie plugin blocks Google Fonts until consent, so the hero fonts live in the theme */
@font-face {
	font-family: "Dancing Script";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/dancing-script-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/montserrat-latin.woff2") format("woff2");
}

/* Fortune Investors brand tokens & shared utility classes */

:root {
	--fi-navy: #0b2545;
	--fi-navy-dark: #071a33;
	--fi-white: #ffffff;
	--fi-grey-light: #f4f6f8;
	--fi-grey: #6b7785;
	--fi-border: #e2e6ea;
	--fi-gold: #b08d3f;
	--fi-green: #1e6f5c;
	--fi-radius: 10px;
	--fi-shadow: 0 8px 24px rgba(11, 37, 69, 0.08);
}

body {
	color: var(--fi-navy);
}

.fi-section {
	padding: 80px 0;
}

.fi-section--grey {
	background: var(--fi-grey-light);
}

.fi-section--navy {
	background: var(--fi-navy);
	color: var(--fi-white);
}

.fi-eyebrow {
	color: var(--fi-gold);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
}

.fi-card {
	background: var(--fi-white);
	border: 1px solid var(--fi-border);
	border-radius: var(--fi-radius);
	padding: 32px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fi-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fi-shadow);
}

.fi-btn {
	display: inline-block;
	font-weight: 600;
	border-radius: 6px;
	padding: 14px 28px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.fi-btn--primary {
	background: var(--fi-navy);
	color: var(--fi-white) !important;
	border: 2px solid var(--fi-navy);
}

.fi-btn--primary:hover {
	background: var(--fi-navy-dark);
	border-color: var(--fi-navy-dark);
}

.fi-btn--secondary {
	background: transparent;
	color: var(--fi-navy) !important;
	border: 2px solid var(--fi-navy);
}

.fi-btn--secondary:hover {
	background: var(--fi-navy);
	color: var(--fi-white) !important;
}

.fi-disclaimer {
	font-size: 13px;
	color: var(--fi-grey);
	border-top: 1px solid var(--fi-border);
	padding-top: 16px;
	margin-top: 24px;
}

.fi-badge-illustrative {
	display: inline-block;
	background: rgba(176, 141, 63, 0.12);
	color: var(--fi-gold);
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 6px 14px;
	border-radius: 20px;
	margin-bottom: 16px;
}

@media (max-width: 767px) {
	.fi-section {
		padding: 48px 0;
	}
}

/* ============================================================
   Native Elementor / HFE widget styling
   ============================================================ */

/* Eyebrow labels (heading widget, header_size = h6) */
.elementor-widget-heading .elementor-heading-title.fi-eyebrow-heading,
h6.fi-eyebrow-heading {
	color: var(--fi-gold);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
}

/* Info Card widget -> premium card look */
.elementor-widget-hfe-infocard .elementor-widget-container {
	background: var(--fi-white);
	border: 1px solid var(--fi-border);
	border-radius: var(--fi-radius);
	padding: 32px;
	height: 100%;
	box-sizing: border-box;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.elementor-widget-hfe-infocard .elementor-widget-container:hover {
	transform: translateY(-4px);
	box-shadow: var(--fi-shadow);
	border-color: var(--fi-gold);
}

.hfe-infocard .hfe-icon-wrap {
	margin-bottom: 18px;
}

.hfe-infocard .hfe-icon {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(176, 141, 63, 0.12) !important;
	color: var(--fi-gold);
	font-size: 20px;
}

.hfe-infocard-title {
	font-family: "Poppins", sans-serif;
	font-size: 19px;
	color: var(--fi-navy);
	margin: 0 0 10px;
}

.hfe-infocard-text {
	font-size: 14px;
	line-height: 1.7;
	color: var(--fi-grey);
}

.hfe-infocard-cta-link {
	color: var(--fi-gold) !important;
	font-weight: 600;
	font-size: 14px;
}

/* Icon List widget -> checklist look */
.elementor-widget-icon-list .elementor-icon-list-item {
	margin-bottom: 14px;
}

.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon-list .elementor-icon-list-icon svg {
	color: var(--fi-green);
}

.elementor-widget-icon-list .elementor-icon-list-text {
	color: #3a4757;
	font-size: 15px;
	line-height: 1.6;
}

.fi-icon-list--navy .elementor-icon-list-icon i,
.fi-icon-list--navy .elementor-icon-list-icon svg {
	color: var(--fi-gold);
}

/* Button widget refinements -- premium, modern CTA styling */
.elementor-widget-button .elementor-button {
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	padding: 18px 36px !important;
	border-radius: 8px !important;
	border-width: 2px !important;
	box-shadow: 0 10px 24px -8px rgba(11, 37, 69, 0.35);
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.elementor-widget-button .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -8px rgba(11, 37, 69, 0.45);
}


/* ============================================================
   Hero section (native container + SVG background_image)
   ============================================================ */

.fi-hero .elementor-widget-heading h1,
.fi-hero .elementor-widget-heading .elementor-heading-title {
	color: #ffffff;
	font-family: "Poppins", sans-serif;
}

.fi-hero .elementor-widget-text-editor,
.fi-hero .elementor-widget-text-editor p {
	color: #c3cbd6;
}

.fi-hero {
	position: relative;
}

/* Parallax scroll effect on hero backgrounds (pure CSS, no JS -- safe: if
   unsupported, browsers just fall back to normal scroll, nothing breaks). */
.fi-hero {
	background-attachment: fixed;
}

@media (max-width: 767px) {
	/* iOS Safari ignores fixed backgrounds inside transformed ancestors and can
	   behave inconsistently; scroll normally on mobile instead. */
	.fi-hero {
		background-attachment: scroll;
	}
}

/* Section dividers are kept static and solid. Three animation approaches
   were tried (transform, opacity, shimmer overlay) -- each either broke
   rendering at certain widths or just didn't look right. A clean static
   wave reads as more premium than a distracting effect. Motion on this
   site lives elsewhere: the hero background (animated SVG), card/image
   scroll-reveal, and the hero parallax. */

/* ============================================================
   Sticky site header (free HFE has no sticky-header control;
   this is standard theme-level CSS, not page content)
   ============================================================ */

.fi-check-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fi-check-list li {
	position: relative;
	padding-left: 30px;
	font-size: 15px;
	line-height: 1.6;
	color: #3a4757;
}

.fi-check-list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	color: var(--fi-green);
	font-weight: 700;
	font-size: 15px;
}

.fi-check-list--row {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.fi-check-list--row .fi-check-list {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 28px;
}

.fi-check-list--row .fi-check-list li {
	flex: 0 0 auto;
}

.fi-boxed {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
}

.fi-footer-logo img {
	filter: brightness(0) invert(1);
}

.ehf-header #masthead {
	position: sticky !important;
	top: 0;
	z-index: 999;
	box-shadow: 0 2px 12px rgba(11, 37, 69, 0.06);
}

/* ============================================================
   SureForms enquiry form -> match brand
   ============================================================ */

.srfm-form-title {
	display: none;
}

.srfm-single-form,
.srfm-form-container {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	max-width: 800px;
	margin: 0 auto;
}

.srfm-form {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
}

.srfm-block-single {
	box-sizing: border-box;
}

.srfm-block-width-50 {
	flex: 0 0 calc(50% - 10px);
	max-width: calc(50% - 10px);
}

.srfm-block-width-100 {
	flex: 0 0 100%;
	max-width: 100%;
}

.srfm-block-wrap {
	margin-bottom: 6px;
}

.srfm-error-wrap {
	height: 0 !important;
	min-height: 0 !important;
	overflow: visible;
}

.srfm-error-wrap:empty,
.srfm-error-wrap:not(:has(.srfm-error-message:not(:empty))) {
	margin: 0 !important;
}

.srfm-block {
	margin-bottom: 10px !important;
}

.srfm-block label,
.srfm-block-legend {
	margin-bottom: 4px !important;
}

.srfm-input-common,
.srfm-dropdown-common,
.srfm-input-common.srfm-input-textarea {
	background: var(--fi-white) !important;
	border: 1px solid var(--fi-border) !important;
	border-radius: 8px !important;
	padding: 11px 14px !important;
	font-size: 14px !important;
	color: var(--fi-navy) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.srfm-input-common.srfm-input-textarea {
	min-height: 90px;
}

@media (max-width: 600px) {
	.srfm-block-width-50 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

.srfm-input-common.srfm-input-phone {
	padding-left: 58px !important;
}

.srfm-input-common:focus,
.srfm-dropdown-common:focus {
	border-color: var(--fi-gold) !important;
	box-shadow: 0 0 0 3px rgba(176, 141, 63, 0.15) !important;
	outline: none !important;
}

.srfm-block label,
.srfm-block-legend {
	color: var(--fi-navy) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	margin-bottom: 8px !important;
}

.srfm-submit-container {
	margin-top: 6px !important;
}

.srfm-btn-frontend.srfm-button.srfm-submit-button {
	background: var(--fi-navy) !important;
	border: 2px solid var(--fi-navy) !important;
	color: #ffffff !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	padding: 14px 32px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.srfm-btn-frontend.srfm-button.srfm-submit-button:hover {
	background: var(--fi-navy-dark) !important;
	border-color: var(--fi-navy-dark) !important;
}

.srfm-multichoice-common,
.srfm-block-multichoice button,
.srfm-multi-button {
	border-radius: 6px !important;
	border-color: var(--fi-border) !important;
}

.srfm-multichoice-common.srfm-checked,
.srfm-block-multichoice button[aria-checked="true"] {
	background: rgba(11, 37, 69, 0.06) !important;
	border-color: var(--fi-navy) !important;
	color: var(--fi-navy) !important;
}

/* ============================================================
   Home hero: photo background, white fade on the left, dark text
   ============================================================ */

.fi-hero-home {
	background-attachment: scroll;
	background-size: cover;
	overflow: hidden;
}

.fi-hero-home::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 38%, rgba(255, 255, 255, 0.35) 58%, rgba(255, 255, 255, 0) 72%);
	pointer-events: none;
}

.fi-hero-home > .fi-hero-inner {
	position: relative;
	z-index: 1;
	align-items: flex-start;
	max-width: 760px;
	margin-left: 6%;
	margin-right: auto;
}

.fi-hero-home .fi-hero-eyebrow .elementor-heading-title {
	color: #3b4a63;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	padding-bottom: 14px;
	position: relative;
}

.fi-hero-home .fi-hero-eyebrow .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 3px;
	background: var(--fi-gold, #B08D3F);
}

.fi-hero-home .fi-hero-h1 .elementor-heading-title {
	font-family: "Montserrat", sans-serif;
	color: #0B2545;
	font-size: clamp(30px, 3.4vw, 50px);
	line-height: 1.12;
	font-weight: 800;
}

.fi-hero-home .elementor-widget-text-editor,
.fi-hero-home .elementor-widget-text-editor p {
	color: #3b4a63;
	font-size: 18px;
	line-height: 1.55;
}

.fi-hero-home .fi-hero-btns {
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 16px;
}

.fi-hero-home .fi-hero-btns > .e-con {
	width: auto !important;
	--width: auto;
}

.fi-hero-home .fi-hero-btns .elementor-button {
	padding: 16px 30px !important;
	font-size: 15px;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.fi-hero-home {
		background-position: 72% center;
	}

	.fi-hero-home::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.88) 60%, rgba(255, 255, 255, 0.55) 100%);
	}

	.fi-hero-home > .fi-hero-inner {
		margin-left: 0;
	}

	.fi-hero-home .elementor-widget-text-editor,
	.fi-hero-home .elementor-widget-text-editor p {
		font-size: 16px;
	}

}

/* ============================================================
   Funding Solutions hero: photo background, centred white text
   ============================================================ */

.fi-hero-fs {
	background-attachment: scroll;
	background-size: cover;
}

.fi-hero-fs .fi-hero-eyebrow .elementor-heading-title {
	color: #E0B450;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	padding-bottom: 16px;
	position: relative;
}

.fi-hero-fs .fi-hero-eyebrow .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 110px;
	height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, #E0B450, transparent);
}

.fi-hero-fs .fi-hero-h1 .elementor-heading-title {
	font-family: "Montserrat", sans-serif;
	color: #ffffff;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.15;
	font-weight: 700;
}

.fi-hero-fs .elementor-widget-text-editor,
.fi-hero-fs .elementor-widget-text-editor p {
	color: #ffffff;
	font-size: 18px;
	line-height: 1.6;
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

.fi-hero-fs .elementor-widget-button .elementor-button {
	background: #E0B450;
	color: #0B2545;
	text-transform: uppercase;
	padding: 18px 34px !important;
	border-radius: 6px !important;
}

.fi-hero-fs .fi-hero-inner {
	align-items: center;
	text-align: center;
}

@media (max-width: 767px) {
}

/* Home hero: keep the man on the right, let the photo fade into white on the left */
@media (min-width: 1025px) {
	.fi-hero-home {
		background-size: auto 100% !important;
		background-position: 40% center !important;
		background-repeat: no-repeat !important;
	}
}

.fi-hero-home > .fi-hero-inner {
	max-width: 900px;
}

/* Header CTA: one line, compact */
.fi-header .elementor-widget-button .elementor-button {
	white-space: nowrap;
	padding: 13px 22px !important;
	font-size: 14px;
}

@media (max-width: 767px) {
	.fi-hero-home > .fi-hero-inner,
	.fi-hero-fs > .fi-hero-inner {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 1024px) {
	.fi-hero-home::before {
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.9) 60%, rgba(255, 255, 255, 0.7) 100%);
	}
}

/* About hero: photo already fades to white on the left */
.fi-hero-about {
	background-size: cover !important;
	background-position: right center !important;
}

@media (min-width: 1025px) {
	.fi-hero-about {
		background-size: auto 100% !important;
		background-position: 65% center !important;
	}
}

.fi-hero-about .fi-hero-eyebrow .elementor-heading-title {
	color: #B08D3F;
	font-weight: 600;
}

.fi-hero-about > .fi-hero-inner {
	max-width: 690px;
}

/* Light heroes: keep the white fade off the bottom band so the white wave divider stays visible */
.fi-hero-home::before {
	-webkit-mask-image: linear-gradient(180deg, #000 0, #000 calc(100% - 170px), transparent calc(100% - 60px));
	mask-image: linear-gradient(180deg, #000 0, #000 calc(100% - 170px), transparent calc(100% - 60px));
}

.fi-hero-home::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 240px;
	z-index: 0;
	background: linear-gradient(180deg, rgba(11, 37, 69, 0) 0%, rgba(11, 37, 69, 0.2) 100%);
	pointer-events: none;
}

.fi-hero .elementor-shape {
	z-index: 2;
}

/* Business Loans hero: sky on the left, window and desk on the right */
.fi-hero-loans,
.fi-hero-wc,
.fi-hero-collateral {
	background-size: cover !important;
	background-position: right center !important;
}

.fi-hero-loans > .fi-hero-inner,
.fi-hero-wc > .fi-hero-inner,
.fi-hero-collateral > .fi-hero-inner {
	max-width: 820px;
}

@media (min-width: 1025px) {
	.fi-hero-loans > .fi-hero-inner,
	.fi-hero-wc > .fi-hero-inner,
	.fi-hero-collateral > .fi-hero-inner {
		margin-left: 5%;
	}
}

/* Hero bottom-right navy corner (triangle) */
.fi-hero-corner {
	position: absolute !important;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: clamp(190px, 19vw, 300px) !important;
	height: clamp(300px, 32vw, 480px) !important;
	min-height: 0;
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	pointer-events: none;
}

/* Hero side texts (script tagline + word list) sit above the photo */
.fi-hero-script,
.fi-hero-list {
	z-index: 2;
	pointer-events: none;
	width: auto !important;
}

.fi-hero-script,
.fi-hero-list {
	position: absolute !important;
}

.fi-hero-script { left: 63%; top: 9%; }
.fi-hero-list { right: 5%; top: 7%; left: auto; }

.fi-hero-about .fi-hero-list { right: 4%; top: 9%; }
.fi-hero-loans .fi-hero-script { left: 66%; top: 7%; }
.fi-hero-loans .fi-hero-list { right: 4%; top: 8%; }
.fi-hero-wc .fi-hero-script { left: 57%; top: 6%; }
.fi-hero-wc .fi-hero-list { right: 4%; top: 8%; }
.fi-hero-collateral .fi-hero-script { left: 61%; top: 5%; }
.fi-hero-collateral .fi-hero-list { right: 10%; top: 6%; }

/* ============================================================
   Desktop hero = same proportions as the design mockups.
   The hero has the image's aspect ratio (2048x768) and everything
   inside is sized / placed in vw, so it scales like the artwork.
   ============================================================ */
@media (min-width: 1025px) {
	.fi-hero-home,
	.fi-hero-fs {
		aspect-ratio: 2048 / 768;
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
		background-size: cover !important;
		background-position: center !important;
		overflow: hidden;
	}

	.fi-hero-home .elementor-shape-bottom svg,
	.fi-hero-fs .elementor-shape-bottom svg {
		height: 5vw !important;
	}

	.fi-hero-home > .fi-hero-inner,
	.fi-hero-fs > .fi-hero-inner {
		position: absolute !important;
		left: 4.4%;
		top: 8%;
		width: 58% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		align-items: flex-start !important;
	}

	.fi-hero-about > .fi-hero-inner,
	.fi-hero-wc > .fi-hero-inner { left: 6.8%; }
	.fi-hero-loans > .fi-hero-inner,
	.fi-hero-collateral > .fi-hero-inner { left: 5.3%; }

	.fi-hero-home .fi-hero-inner .elementor-widget,
	.fi-hero-fs .fi-hero-inner .elementor-widget { margin: 0 !important; }

	.fi-hero-home .fi-hero-eyebrow,
	.fi-hero-fs .fi-hero-eyebrow { margin-bottom: 2.3vw !important; }

	.fi-hero-home .fi-hero-eyebrow .elementor-heading-title,
	.fi-hero-fs .fi-hero-eyebrow .elementor-heading-title {
		font-size: 0.8vw !important;
		letter-spacing: 0.34em;
		padding-bottom: 0.75vw;
	}

	.fi-hero-home .fi-hero-eyebrow .elementor-heading-title::after { width: 3vw; }

	.fi-hero-home .fi-hero-h1 .elementor-heading-title,
	.fi-hero-fs .fi-hero-h1 .elementor-heading-title {
		font-size: 3.15vw !important;
		line-height: 1.16 !important;
	}

	.fi-hero-home .elementor-widget-text-editor,
	.fi-hero-fs .elementor-widget-text-editor {
		margin-top: 0.7vw !important;
		max-width: 42vw;
	}

	.fi-hero-home .elementor-widget-text-editor p,
	.fi-hero-fs .elementor-widget-text-editor p {
		font-size: 1vw !important;
		line-height: 1.5 !important;
	}

	.fi-hero-home .fi-hero-btns,
	.fi-hero-fs .fi-hero-btns {
		margin-top: 1.5vw !important;
		gap: 0.8vw !important;
	}

	.fi-hero-home .fi-hero-btns .elementor-button,
	.fi-hero-fs .fi-hero-btns .elementor-button,
	.fi-hero-fs .elementor-widget-button .elementor-button {
		font-size: 0.82vw !important;
		padding: 1.05vw 1.7vw !important;
	}

	.fi-hero-home .fi-hero-features,
	.fi-hero-fs .fi-hero-features {
		width: 44vw !important;
		margin-top: 2.6vw !important;
	}

	.fi-hero-about .fi-hero-features { width: 38vw !important; }
	.fi-hero-collateral .fi-hero-features { width: 50vw !important; }

	.fi-hero-home .fi-hero-feature,
	.fi-hero-fs .fi-hero-feature { padding: 0 0.6vw !important; }

	.fi-hero-home .fi-hero-feature .elementor-icon,
	.fi-hero-fs .fi-hero-feature .elementor-icon { font-size: 2.2vw !important; }

	.fi-hero-home .fi-hero-feature .elementor-icon svg,
	.fi-hero-fs .fi-hero-feature .elementor-icon svg { width: 2.2vw; height: 2.2vw; }

	.fi-hero-home .fi-hero-feature .elementor-heading-title,
	.fi-hero-fs .fi-hero-feature .elementor-heading-title {
		font-size: 0.88vw !important;
		line-height: 1.3 !important;
	}

	.fi-hero-script .elementor-heading-title { font-size: 2.6vw !important; }

	.fi-hero-list .elementor-heading-title {
		font-size: 0.8vw !important;
		letter-spacing: 0.3em !important;
	}

	/* placement of the side texts, taken from the mockups */
	.fi-hero-script { left: 56%; top: 11%; }
	.fi-hero-list { right: 3.5%; top: 7%; left: auto; }
	.fi-hero-about .fi-hero-list { right: 1.7%; top: 12.5%; }
	.fi-hero-loans .fi-hero-script { left: 67.5%; top: 7%; }
	.fi-hero-loans .fi-hero-list { right: 3.7%; top: 8%; }
	.fi-hero-wc .fi-hero-script { left: 58.7%; top: 7%; }
	.fi-hero-wc .fi-hero-list { right: 2.5%; top: 8%; }
	.fi-hero-collateral .fi-hero-script { left: 62%; top: 4.5%; }
	.fi-hero-collateral .fi-hero-list { right: 11%; top: 5.5%; }

	/* Funding Solutions hero is centred */
	.fi-hero-fs > .fi-hero-inner {
		left: 50%;
		top: 13%;
		transform: translateX(-50%);
		align-items: center !important;
		text-align: center;
	}

	.fi-hero-fs .fi-hero-features {
		width: 60vw !important;
	}
}

@media (min-width: 1025px) {
	.fi-hero-home .fi-hero-inner .elementor-widget.fi-hero-eyebrow,
	.fi-hero-fs .fi-hero-inner .elementor-widget.fi-hero-eyebrow { margin-bottom: 2.4vw !important; }

	.fi-hero-home .fi-hero-inner .elementor-widget-text-editor,
	.fi-hero-fs .fi-hero-inner .elementor-widget-text-editor {
		margin-top: 1vw !important;
		max-width: 39vw !important;
	}

	.fi-hero-fs .fi-hero-inner .elementor-widget-text-editor { max-width: 46vw !important; }

	.fi-hero-script .elementor-heading-title { font-size: 2.2vw !important; }

	/* home: keep clear of the man and of the sign that is part of the photo */
	.fi-hero-script { left: 51%; top: 7%; }
	.fi-hero-list { right: auto; left: 76%; top: 7%; }
	.fi-hero-about .fi-hero-list { left: auto; right: 1.7%; top: 12.5%; }
	.fi-hero-loans .fi-hero-script { left: 62%; top: 6%; }
	.fi-hero-loans .fi-hero-list { left: auto; right: 3.7%; top: 8%; }
	.fi-hero-wc .fi-hero-script { left: 55%; top: 6%; }
	.fi-hero-wc .fi-hero-list { left: auto; right: 2.5%; top: 8%; }
	.fi-hero-collateral .fi-hero-script { left: 53%; top: 5%; }
	.fi-hero-collateral .fi-hero-list { left: auto; right: 3.5%; top: 6%; }
}

@media (min-width: 1025px) {
	.fi-hero-fs > .fi-hero-inner { width: 84% !important; top: 12%; }
	.fi-hero-fs .fi-hero-h1 .elementor-heading-title { font-size: 2.75vw !important; }
	.fi-hero-fs .fi-hero-features { margin-top: 3.2vw !important; }
}

@media (min-width: 1025px) {
	.fi-hero-home > .fi-hero-inner,
	.fi-hero-fs > .fi-hero-inner { top: 6.5%; }
	.fi-hero-fs > .fi-hero-inner { top: 11%; }

	.fi-hero-home .fi-hero-inner .elementor-widget.fi-hero-eyebrow { margin-bottom: 2vw !important; }
	.fi-hero-home .fi-hero-btns { margin-top: 1.2vw !important; }
	.fi-hero-home .fi-hero-features { margin-top: 1.8vw !important; }
	.fi-hero-about .fi-hero-features + .e-con { margin-top: 0.8vw !important; }

	.fi-hero-home .elementor-shape-bottom svg,
	.fi-hero-fs .elementor-shape-bottom svg { height: 4vw !important; }

	.fi-hero-about .fi-hero-list { right: auto; left: 74%; top: 8%; }
}

/* ============================================================
   Precision pass: sizes and positions measured from the mockups
   (values in vw so they scale with the artwork)
   ============================================================ */
@media (min-width: 1025px) {
	/* shared */
	.fi-hero-home .fi-hero-eyebrow .elementor-heading-title {
		font-size: 0.75vw !important;
		letter-spacing: 0.27em !important;
		padding-bottom: 1.2vw !important;
	}
	.fi-hero-home .fi-hero-eyebrow .elementor-heading-title::after { width: 3.25vw; height: 2px; }
	.fi-hero-home .fi-hero-inner .elementor-widget.fi-hero-eyebrow { margin-bottom: 1.5vw !important; }

	.fi-hero-home .elementor-widget-text-editor p {
		font-size: 1.08vw !important;
		line-height: 1.43 !important;
		margin: 0 !important;
	}
	.fi-hero-home .fi-hero-inner .elementor-widget-text-editor { margin-top: 1.1vw !important; }

	.fi-hero-home .fi-hero-btns { margin-top: 1.25vw !important; }
	.fi-hero-home .fi-hero-btns .elementor-button {
		font-size: 0.85vw !important;
		padding: 0.88vw 1.85vw !important;
		border-radius: 0.3vw !important;
	}

	.fi-hero-home .fi-hero-features { margin-top: 2.1vw !important; }
	.fi-hero-home .fi-hero-feature { padding: 0 0.5vw !important; }
	.fi-hero-home .fi-hero-feature .elementor-icon { font-size: 2.6vw !important; }
	.fi-hero-home .fi-hero-feature .elementor-heading-title { font-size: 0.85vw !important; line-height: 1.36 !important; }

	.fi-hero-list { gap: 0.75vw !important; }
	.fi-hero-list .elementor-heading-title { font-size: 0.75vw !important; line-height: 1.3 !important; }
	.fi-hero-script .elementor-heading-title { line-height: 1.05 !important; }

	/* HOME */
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) > .fi-hero-inner { top: 6.9%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-h1 .elementor-heading-title { font-size: 3.35vw !important; line-height: 1.07 !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .elementor-widget-text-editor { max-width: 37vw !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script { left: 56%; top: 11%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script .elementor-heading-title { font-size: 2.9vw !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-list { left: 90.75%; right: auto; top: 7.3%; }

	/* ABOUT */
	.fi-hero-about > .fi-hero-inner { top: 10.7%; }
	.fi-hero-about .fi-hero-h1 .elementor-heading-title { font-size: 3.26vw !important; line-height: 1.04 !important; }
	.fi-hero-about .elementor-widget-text-editor { max-width: 35vw !important; }
	.fi-hero-about .fi-hero-features { width: 38vw !important; margin-top: 1.6vw !important; }
	.fi-hero-about .fi-hero-eyebrow .elementor-heading-title { font-size: 0.68vw !important; }
	.fi-hero-about .fi-hero-list { left: 90%; right: auto; top: 12.5%; }

	/* BUSINESS LOANS */
	.fi-hero-loans > .fi-hero-inner { top: 9.6%; }
	.fi-hero-loans .fi-hero-h1 .elementor-heading-title { font-size: 3.54vw !important; line-height: 1.02 !important; }
	.fi-hero-loans .elementor-widget-text-editor { max-width: 36.5vw !important; }
	.fi-hero-loans .fi-hero-features { width: 44.2vw !important; }
	.fi-hero-loans .fi-hero-script { left: 67.5%; top: 7.3%; }
	.fi-hero-loans .fi-hero-script .elementor-heading-title { font-size: 2.95vw !important; }
	.fi-hero-loans .fi-hero-list { left: 92%; right: auto; top: 8%; gap: 0.5vw !important; }

	/* WORKING CAPITAL */
	.fi-hero-wc > .fi-hero-inner { top: 12.3%; }
	.fi-hero-wc .fi-hero-h1 .elementor-heading-title { font-size: 3.08vw !important; line-height: 1.17 !important; }
	.fi-hero-wc .elementor-widget-text-editor { max-width: 39vw !important; }
	.fi-hero-wc .fi-hero-features { width: 44.3vw !important; }
	.fi-hero-wc .fi-hero-eyebrow .elementor-heading-title { font-size: 0.68vw !important; }
	.fi-hero-wc .fi-hero-script { left: 58.7%; top: 7.3%; }
	.fi-hero-wc .fi-hero-script .elementor-heading-title { font-size: 2.85vw !important; }
	.fi-hero-wc .fi-hero-list { left: 89.25%; right: auto; top: 8.5%; }

	/* COLLATERAL */
	.fi-hero-collateral > .fi-hero-inner { top: 10.4%; }
	.fi-hero-collateral .fi-hero-h1 .elementor-heading-title { font-size: 3.4vw !important; line-height: 1.06 !important; }
	.fi-hero-collateral .elementor-widget-text-editor { max-width: 35.5vw !important; }
	.fi-hero-collateral .fi-hero-features { width: 49.5vw !important; }
	.fi-hero-collateral .fi-hero-script { left: 62%; top: 4.7%; }
	.fi-hero-collateral .fi-hero-script .elementor-heading-title { font-size: 2.55vw !important; }
	.fi-hero-collateral .fi-hero-list { left: 85%; right: auto; top: 5.3%; gap: 0.5vw !important; }

	/* feature captions: lighter grey under a bold title on the loan pages */
	.fi-hero-loans .fi-hero-feature .e-con .elementor-widget:last-child .elementor-heading-title,
	.fi-hero-wc .fi-hero-feature .e-con .elementor-widget:last-child .elementor-heading-title,
	.fi-hero-collateral .fi-hero-feature .e-con .elementor-widget:last-child .elementor-heading-title { color: #4a5a70 !important; }
}

/* Precision pass 2: paragraph sizes fitted to the mockup line lengths */
@media (min-width: 1025px) {
	.fi-hero-home .fi-hero-btns .elementor-button { font-size: 0.9vw !important; }
	.fi-hero-home .fi-hero-inner .elementor-widget.fi-hero-eyebrow { margin-bottom: 2.05vw !important; }
	.fi-hero-home .fi-hero-inner .elementor-widget-text-editor { margin-top: 1.7vw !important; }

	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .elementor-widget-text-editor p { font-size: 1.081vw !important; line-height: 1.37 !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-inner .elementor-widget-text-editor { margin-top: 1.1vw !important; }

	.fi-hero-about .elementor-widget-text-editor p { font-size: 1.047vw !important; line-height: 1.48 !important; }
	.fi-hero-about .fi-hero-inner .elementor-widget.fi-hero-eyebrow { margin-bottom: 1.55vw !important; }
	.fi-hero-about .fi-hero-inner .elementor-widget-text-editor { margin-top: 1.6vw !important; }

	.fi-hero-loans .elementor-widget-text-editor p { font-size: 1.119vw !important; line-height: 1.41 !important; }

	.fi-hero-wc .elementor-widget-text-editor p { font-size: 1.006vw !important; line-height: 1.55 !important; }
	.fi-hero-wc .fi-hero-inner .elementor-widget-text-editor { margin-top: 0.75vw !important; }

	.fi-hero-collateral .elementor-widget-text-editor p { font-size: 0.959vw !important; line-height: 1.56 !important; }
	.fi-hero-collateral .fi-hero-inner .elementor-widget-text-editor { margin-top: 0.85vw !important; }
}

@media (min-width: 1025px) {
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .elementor-widget-text-editor { max-width: 41vw !important; }
}

/* Precision pass 3: lighter script, no collisions, everything inside the hero */
@media (min-width: 1025px) {
	.fi-hero-home .elementor-shape-bottom svg,
	.fi-hero-fs .elementor-shape-bottom svg { height: 3.2vw !important; }

	.fi-hero-script .elementor-heading-title { font-weight: 500 !important; line-height: 1.18 !important; }
	.fi-hero-script .elementor-widget-divider .elementor-divider-separator { width: 5vw !important; }

	/* HOME */
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-h1 .elementor-heading-title { font-size: 3.15vw !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script { left: 52%; top: 8%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script .elementor-heading-title { font-size: 2.5vw !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-list { left: 72.5%; top: 7.3%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-list .elementor-heading-title { text-shadow: 0 0 0.5vw rgba(11, 37, 69, 0.75); }

	/* BUSINESS LOANS */
	.fi-hero-loans .fi-hero-script .elementor-heading-title { font-size: 2.6vw !important; }
	.fi-hero-loans .fi-hero-features { margin-top: 1.7vw !important; }
	.fi-hero-loans .fi-hero-list .elementor-heading-title { text-shadow: 0 0 0.5vw rgba(11, 37, 69, 0.7); }

	/* WORKING CAPITAL */
	.fi-hero-wc .fi-hero-script .elementor-heading-title { font-size: 2.5vw !important; }

	/* COLLATERAL: keep the whole row above the wave */
	.fi-hero-collateral > .fi-hero-inner { top: 8.6%; }
	.fi-hero-collateral .fi-hero-features { margin-top: 1.5vw !important; }
	.fi-hero-collateral .fi-hero-script .elementor-heading-title { font-size: 2.2vw !important; }
	.fi-hero-collateral .fi-hero-list { left: 90.5%; }
	.fi-hero-collateral .fi-hero-feature .elementor-heading-title { font-size: 0.8vw !important; }
}

@media (min-width: 1025px) {
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-h1 .elementor-heading-title { font-size: 3vw !important; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script { left: 56.5%; top: 6%; }
}

/* Precision pass 4: remove the remaining collisions */
@media (min-width: 1025px) {
	.fi-hero-script .elementor-heading-title { text-shadow: 0 0 0.6vw rgba(255, 255, 255, 0.85); }

	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script { left: 53%; top: 6%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script .elementor-heading-title { font-size: 2.3vw !important; }

	.fi-hero-loans .fi-hero-script { left: 58.5%; top: 6.5%; }

	.fi-hero-about .fi-hero-list { left: 88.5%; top: 11%; }
	.fi-hero-about .fi-hero-list .elementor-heading-title { color: #ffffff !important; text-shadow: 0 0 0.5vw rgba(11, 37, 69, 0.8); }
	.fi-hero-about .fi-hero-features + .e-con,
	.fi-hero-about .fi-hero-inner > .e-con:last-child { margin-top: 1.4vw !important; }

	.fi-hero-wc .fi-hero-features { width: 41vw !important; }
	.fi-hero-wc .fi-hero-feature .elementor-heading-title { font-size: 0.78vw !important; }
}

/* Precision pass 5: contrast */
@media (min-width: 1025px) {
	.fi-hero-about .fi-hero-list .elementor-heading-title { color: #0B2545 !important; text-shadow: 0 0 0.5vw rgba(255, 255, 255, 0.8); }

	.fi-hero-loans::before,
	.fi-hero-wc::before,
	.fi-hero-collateral::before {
		-webkit-mask-image: none;
		mask-image: none;
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 34%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 60%);
	}
	.fi-hero-loans::after,
	.fi-hero-wc::after,
	.fi-hero-collateral::after { display: none; }
}

/* Wave restored: taller divider, white fade stops above it, soft navy tint behind it */
@media (min-width: 1025px) {
	.fi-hero .elementor-shape-bottom svg { height: 5.5vw !important; }
	.fi-hero .elementor-shape-bottom { z-index: 3 !important; }

	.fi-hero-home::before,
	.fi-hero-about::before,
	.fi-hero-loans::before,
	.fi-hero-wc::before,
	.fi-hero-collateral::before {
		-webkit-mask-image: linear-gradient(180deg, #000 0, #000 62%, transparent 86%);
		mask-image: linear-gradient(180deg, #000 0, #000 62%, transparent 86%);
	}

	.fi-hero-home::after,
	.fi-hero-about::after,
	.fi-hero-loans::after,
	.fi-hero-wc::after,
	.fi-hero-collateral::after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 22%;
		z-index: 0;
		background: linear-gradient(180deg, rgba(11, 37, 69, 0) 0%, rgba(11, 37, 69, 0.3) 100%);
		pointer-events: none;
	}
}

@media (max-width: 1024px) {
	.fi-hero .elementor-shape-bottom svg { height: 60px !important; }
	.fi-hero .elementor-shape-bottom { z-index: 3 !important; }
}

@media (min-width: 1025px) {
	.fi-hero-home::before,
	.fi-hero-about::before,
	.fi-hero-loans::before,
	.fi-hero-wc::before,
	.fi-hero-collateral::before {
		-webkit-mask-image: linear-gradient(180deg, #000 0, #000 84%, transparent 97%);
		mask-image: linear-gradient(180deg, #000 0, #000 84%, transparent 97%);
	}

	.fi-hero-home::after,
	.fi-hero-about::after,
	.fi-hero-loans::after,
	.fi-hero-wc::after,
	.fi-hero-collateral::after { left: 48%; height: 20%; }
}

@media (min-width: 1025px) {
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-list { left: 90.75%; top: 7.3%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-list .elementor-heading-title { text-shadow: 0 0 0.5vw rgba(255, 255, 255, 0.85); }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script { left: 56%; top: 8%; }
	.fi-hero-home:not(.fi-hero-about):not(.fi-hero-loans):not(.fi-hero-wc):not(.fi-hero-collateral) .fi-hero-script .elementor-heading-title { font-size: 2.4vw !important; }
}

/* Signature-style lettering: slanted pen script tilted up to the right, like the mockups */
.fi-hero-script .elementor-heading-title {
	font-family: "La Belle Aurore", cursive !important;
	font-weight: 400 !important;
	line-height: 0.95 !important;
	letter-spacing: 0.01em;
}

@media (min-width: 1025px) {
	.fi-hero-script {
		transform: rotate(-8deg);
		transform-origin: left center;
	}
	.fi-hero-script .elementor-heading-title { font-size: 3.6vw !important; }
	.fi-hero-collateral .fi-hero-script .elementor-heading-title { font-size: 3.2vw !important; }
	.fi-hero-script .elementor-widget-divider { transform: rotate(-3deg); }
}

.fi-hero-corner .elementor-heading-title[style*="Reenie"],
.fi-hero-about .fi-hero-corner .elementor-heading-title {
	font-family: "La Belle Aurore", cursive !important;
	font-size: 2.1vw !important;
	transform: rotate(-6deg);
	transform-origin: right center;
}

@media (min-width: 1025px) {
	.fi-hero-script .elementor-heading-title { font-size: 2.5vw !important; line-height: 1.15 !important; }
	.fi-hero-collateral .fi-hero-script .elementor-heading-title { font-size: 2.3vw !important; }
	.fi-hero-script { transform: rotate(-6deg); }
	.fi-hero-about .fi-hero-corner .elementor-heading-title { font-size: 1.7vw !important; }
}

/* Property-Backed hero (uses the collateral layout, positions from its mockup) */
@media (min-width: 1025px) {
	.fi-hero-property { background-position: center !important; }
	.fi-hero-property > .fi-hero-inner { left: 5.85%; top: 7.6%; }
	.fi-hero-property .fi-hero-h1 .elementor-heading-title { font-size: 4vw !important; line-height: 1.02 !important; }
	.fi-hero-property .elementor-widget-text-editor { max-width: 36vw !important; }
	.fi-hero-property .elementor-widget-text-editor p { font-size: 1.12vw !important; line-height: 1.5 !important; }
	.fi-hero-property .fi-hero-features { width: 45vw !important; }
	.fi-hero-property .fi-hero-list { left: 91.7%; right: auto; top: 8.5%; }
	.fi-hero-property .fi-hero-list .elementor-heading-title { color: #0B2545 !important; text-shadow: 0 0 0.5vw rgba(255,255,255,0.8); }
}

@media (min-width: 1025px) {
	.fi-hero-property .fi-hero-h1 .elementor-heading-title { font-size: 3.75vw !important; }
	.fi-hero-property .elementor-widget-text-editor { max-width: 34.5vw !important; }
	.fi-hero-property .fi-hero-list { left: auto; right: 3.3%; }
}

/* Loan Takeover hero */
@media (min-width: 1025px) {
	.fi-hero-takeover > .fi-hero-inner { left: 4.7%; top: 7%; }
	.fi-hero-takeover .fi-hero-h1 .elementor-heading-title { font-size: 3.7vw !important; line-height: 1.04 !important; }
	.fi-hero-takeover .elementor-widget-text-editor { max-width: 36vw !important; }
	.fi-hero-takeover .elementor-widget-text-editor p { font-size: 1.12vw !important; line-height: 1.5 !important; }
	.fi-hero-takeover .fi-hero-features { width: 43vw !important; }
	.fi-hero-takeover .fi-hero-script { left: 57%; top: 6.5%; }
	.fi-hero-takeover .fi-hero-list { left: 84%; right: auto; top: 8%; }
	.fi-hero-takeover .fi-hero-list .elementor-heading-title { color: #ffffff !important; text-shadow: 0 0 0.5vw rgba(11,37,69,0.7); }
}

/* Structured Business Funding hero */
@media (min-width: 1025px) {
	.fi-hero-structured > .fi-hero-inner { left: 4.5%; top: 7%; }
	.fi-hero-structured .fi-hero-h1 .elementor-heading-title { font-size: 3.6vw !important; line-height: 1.05 !important; }
	.fi-hero-structured .elementor-widget-text-editor { max-width: 36vw !important; }
	.fi-hero-structured .elementor-widget-text-editor p { font-size: 1.12vw !important; line-height: 1.45 !important; }
	.fi-hero-structured .fi-hero-features { width: 44vw !important; }
	.fi-hero-structured .fi-hero-script { left: 46%; top: 8.5%; }
}

/* EMI Calculator hero: script sits on the right, near the mug */
@media (min-width: 1025px) {
	.fi-hero-emi > .fi-hero-inner { left: 4.4%; top: 8%; }
	.fi-hero-emi .fi-hero-h1 .elementor-heading-title { font-size: 3.5vw !important; line-height: 1.05 !important; }
	.fi-hero-emi .elementor-widget-text-editor { max-width: 34vw !important; }
	.fi-hero-emi .elementor-widget-text-editor p { font-size: 1.1vw !important; line-height: 1.5 !important; }
	.fi-hero-emi .fi-hero-features { width: 42vw !important; }
	.fi-hero-emi .fi-hero-script { left: 88%; top: 7%; transform: rotate(0deg); text-align: left; }
	.fi-hero-emi .fi-hero-script .elementor-heading-title { font-size: 1.55vw !important; text-align: left; color: #0B2545 !important; }
	.fi-hero-emi .fi-hero-script .elementor-widget-divider { display: none; }
}

/* Contact Us hero */
@media (min-width: 1025px) {
	.fi-hero-contact > .fi-hero-inner { left: 4.4%; top: 8%; }
	.fi-hero-contact .fi-hero-h1 .elementor-heading-title { font-size: 3.5vw !important; line-height: 1.08 !important; }
	.fi-hero-contact .elementor-widget-text-editor { max-width: 34vw !important; }
	.fi-hero-contact .elementor-widget-text-editor p { font-size: 1.05vw !important; line-height: 1.5 !important; }
	.fi-hero-contact .fi-hero-features { width: 40vw !important; }
	.fi-hero-contact .fi-hero-list { left: 86.5%; right: auto; top: 12%; }
	.fi-hero-contact .fi-hero-list .elementor-heading-title { color: #ffffff !important; text-shadow: 0 0 0.5vw rgba(11,37,69,0.6); }
}

/* Footer: fill the logo column with contact details + social links */
.fi-footer-heading .elementor-heading-title {
	margin-top: 24px;
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 700;
}

.fi-footer-contact.elementor-icon-list-widget .elementor-icon-list-item {
	align-items: flex-start;
	margin-bottom: 12px;
}

.fi-footer-contact .elementor-icon-list-icon {
	margin-top: 3px;
	width: 18px;
}

.fi-footer-contact .elementor-icon-list-text {
	font-size: 14px;
	line-height: 1.5;
}

.fi-footer-social.elementor-widget-social-icons {
	margin-top: 18px;
}

.fi-footer-social .elementor-icon {
	background: rgba(255, 255, 255, 0.12);
	transition: background 0.2s ease, transform 0.2s ease;
}

.fi-footer-social .elementor-icon:hover {
	background: var(--fi-gold, #B08D3F);
	transform: translateY(-2px);
}

/* Sticky WhatsApp button, every page */
.fi-whatsapp-float {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9999;
	width: 58px;
	height: 58px;
	background: #25D366;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fi-whatsapp-float:hover {
	transform: scale(1.08);
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.32);
}

@media (max-width: 480px) {
	.fi-whatsapp-float {
		right: 16px;
		bottom: 16px;
		width: 52px;
		height: 52px;
	}
}

/* Keep Astra's scroll-to-top button clear of the WhatsApp float: stack it above */
#ast-scroll-top.ast-scroll-to-top-right {
	bottom: 92px !important;
}

@media (max-width: 480px) {
	#ast-scroll-top.ast-scroll-to-top-right {
		bottom: 80px !important;
	}
}

/* ============================================================
   Blog (Astra default archive/single templates) -> brand styling
   ============================================================ */

.ast-archive-entry-banner {
	background: var(--fi-navy) !important;
	padding: 70px 0;
}

.ast-archive-entry-banner h1,
.ast-archive-entry-banner .ast-container h1,
.ast-archive-entry-banner .page-title {
	color: #ffffff !important;
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 40px;
	margin: 0;
}

.ast-archive-entry-banner .ast-archive-description {
	color: #c3cbd6;
}

/* Archive grid cards */
.ast-article-post {
	border: 1px solid var(--fi-border);
	border-radius: var(--fi-radius);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ast-article-post:hover {
	transform: translateY(-4px);
	box-shadow: var(--fi-shadow);
}

.ast-article-post .post-thumb img {
	border-radius: var(--fi-radius) var(--fi-radius) 0 0;
}

.ast-article-post .entry-title,
.entry-header:not(.related-entry-header) .entry-title {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
}

.ast-article-post .entry-title a,
.entry-title a {
	color: var(--fi-navy);
}

.ast-article-post .entry-title a:hover {
	color: var(--fi-gold);
}

.ast-article-post .entry-meta,
.entry-meta {
	color: var(--fi-grey);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ast-article-post .entry-meta a,
.entry-meta a,
.posted-on a {
	color: var(--fi-gold) !important;
	font-weight: 600;
}

.ast-article-post .ast-read-more-container a,
.ast-blog-more-link {
	color: var(--fi-navy) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ast-article-post .ast-read-more-container a:hover {
	color: var(--fi-gold) !important;
}

/* Single post */
.single .entry-header:not(.related-entry-header) .entry-title {
	color: var(--fi-navy);
	font-size: 38px !important;
}

.single .entry-content h2 {
	color: var(--fi-navy);
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 26px;
	margin-top: 1.4em;
}

.single .entry-content h3 {
	color: var(--fi-navy);
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 21px;
}

.single .entry-content p,
.single .entry-content li {
	color: #3a4757;
	font-size: 16px;
	line-height: 1.75;
}

.single .entry-content a {
	color: var(--fi-gold);
	font-weight: 600;
}

.single .post-thumb img,
.ast-single-post-featured-section.post-thumb img {
	border-radius: var(--fi-radius);
}

.single .ast-author-details .author-title,
.single .ast-author-details .author-name {
	color: var(--fi-navy);
}

/* Pagination */
.page-numbers {
	border-radius: 6px !important;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--fi-navy) !important;
	border-color: var(--fi-navy) !important;
	color: #ffffff !important;
}

/* De-box the native single-post template: Astra's default "boxed card on
   grey background" reads as a different product from the rest of the
   (full-bleed Elementor) site. Flatten it to plain white, full-width. */
.single-post.ast-separate-container {
	background: #ffffff;
}

.single-post .ast-separate-container .ast-article-single,
.single-post.ast-separate-container #primary,
.single-post.ast-separate-container .ast-article-single {
	background: transparent;
	box-shadow: none;
	border: 0;
}

.single-post.ast-narrow-container .ast-container {
	max-width: 900px;
}

@media (min-width: 922px) {
	.single-post.ast-separate-container .ast-article-single {
		padding: 0 !important;
	}
}

.single-post .entry-header:not(.related-entry-header) {
	margin-top: 50px;
}

.single-post .site-content {
	padding-bottom: 20px;
}

/* Archive grid: keep the card pattern (matches the rest of the site's
   card-based sections) but drop the container's own boxed background */
.blog.ast-plain-container,
.archive.ast-plain-container {
	background: #ffffff;
}

/* About page: founder section, navy panel with white wave into the next section */
.fi-founder-section {
	position: relative;
}

.fi-founder-imgcol {
	position: relative;
}

.fi-founder-photo {
	position: relative;
	z-index: 1;
}

.fi-founder-photo img {
	box-shadow: 0 20px 50px -14px rgba(0, 0, 0, 0.5);
	border: 3px solid #B08D3F;
}

.fi-founder-quote-icon .elementor-icon {
	margin-bottom: 4px;
}

@media (max-width: 767px) {
	#fnd_row.e-con {
		flex-direction: column-reverse;
	}
}
