/* FLITKICK Sections 1.1.0. All visual rules are scoped to these widgets. */
.fk-section {
	--fk-accent: #ce5838;
	--fk-ink: #142b40;
	--fk-muted: #536372;
	--fk-duration: .65s;
	box-sizing: border-box;
	width: 100%;
	padding: 56px 32px;
	color: var(--fk-ink);
	background: #fff;
	font-family: inherit;
	text-align: start;
}
.fk-section *, .fk-section *::before, .fk-section *::after { box-sizing: border-box; }
.fk-section .fk-inner { max-width: 1180px; margin-inline: auto; min-width: 0; }
.fk-section .fk-intro { margin: 0 0 56px; }
.fk-section .fk-heading {
	margin: 0 0 8px;
	color: var(--fk-ink);
	font-family: inherit;
	font-size: clamp(38px, 7vw, 96px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.045em;
	overflow-wrap: anywhere;
}
.fk-section .fk-subheading { margin: 0 0 18px; color: var(--fk-ink); font-size: 16px; font-weight: 500; line-height: 1.45; text-transform: uppercase; }
.fk-section .fk-subheading-label { display: inline-flex; align-items: flex-start; column-gap: 12px; max-width: 100%; vertical-align: top; }
.fk-section .fk-subheading-circle { flex: 0 0 auto; display: block; width: var(--fk-circle-size, 12px); height: var(--fk-circle-size, 12px); margin-top: max(0px, calc((1.45em - var(--fk-circle-size, 12px)) / 2)); border: 2px solid var(--fk-accent); border-radius: 50%; background: transparent; }
.fk-section .fk-subheading-text { min-width: 0; }
.fk-section .fk-description { max-width: 680px; margin: 0; color: var(--fk-muted); font-size: 17px; line-height: 1.75; }
.fk-section .fk-item-title { color: var(--fk-ink); font-family: inherit; font-size: 24px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; margin: 0 0 10px; overflow-wrap: anywhere; }
.fk-section .fk-item-description { margin: 0; color: var(--fk-muted); font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.fk-section .fk-subheading, .fk-section .fk-description, .fk-section .fk-caption { overflow-wrap: anywhere; }
.fk-impact {
	--fk-stagger: 13%;
	--fk-list-display: flex;
	--fk-stagger-factor: 1;
	--fk-arrow-display: block;
}
.fk-impact .fk-stats { display: var(--fk-list-display); flex-direction: column; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin: 0; padding: 0; list-style: none; }
.fk-impact .fk-stat { --fk-offset: calc(var(--fk-index, 0) * var(--fk-stagger)); position: relative; width: calc(100% - var(--fk-offset) * var(--fk-stagger-factor)); min-width: 0; margin: 0; margin-inline-start: calc(var(--fk-offset) * var(--fk-stagger-factor)); padding: 0; list-style: none; }
.fk-impact .fk-stat-content { display: flex; align-items: center; gap: 34px; min-width: 0; }
.fk-impact .fk-stat-value { min-width: 0; flex: 0 1 auto; max-width: 100%; color: var(--fk-accent); font-size: clamp(62px, 8vw, 112px); font-weight: 800; line-height: 1; letter-spacing: -.055em; overflow-wrap: anywhere; }
.fk-impact .fk-stat:nth-child(even) .fk-stat-value { color: var(--fk-ink); }
.fk-impact .fk-stat-prefix, .fk-impact .fk-stat-suffix { font-size: .72em; }
.fk-impact .fk-stat-copy { flex: 1 1 0; min-width: 0; max-width: 370px; }
.fk-impact .fk-stat-rule { display: block; width: 135px; max-width: 100%; height: 3px; border-radius: 100%; margin-bottom: 14px; background: var(--fk-decoration, var(--fk-accent)); }
.fk-impact .fk-stat-arrow { display: var(--fk-arrow-display); width: 130px; height: 40px; max-width: 100%; margin: 12px 0 -22px 8%; color: var(--fk-decoration, var(--fk-accent)); stroke-width: 2.5px; }
.fk-impact:dir(rtl) .fk-stat-arrow { transform: scaleX(-1); }
.fk-process .fk-process-body { display: flex; flex-direction: row; align-items: stretch; gap: 70px; --fk-media-width: var(--fk-media-share, 42%); }
.fk-process .fk-steps {
	--fk-step-gap: 34px;
	--fk-marker-size: 18px;
	--fk-marker-offset: 5px;
	--fk-line-width: 2px;
	--fk-line-color: #d9e1e7;
	--fk-rail-space: 58px;
	--fk-start: auto;
	--fk-end: 0;
	--fk-pad-start: 0px;
	--fk-pad-end: var(--fk-rail-space);
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fk-process .fk-step { position: relative; margin: 0; padding: 0; padding-block-end: var(--fk-step-gap); padding-inline-start: var(--fk-pad-start); padding-inline-end: var(--fk-pad-end); list-style: none; min-height: calc(var(--fk-marker-offset) + var(--fk-marker-size) + var(--fk-step-gap)); }
.fk-process .fk-step:last-child { padding-block-end: 0; }
.fk-process .fk-step::before { content: ""; position: absolute; inset-inline-start: var(--fk-start); inset-inline-end: var(--fk-end); top: calc(var(--fk-marker-offset) + var(--fk-marker-size) / 2); bottom: calc(0px - var(--fk-marker-offset) - var(--fk-marker-size) / 2); width: var(--fk-marker-size); background: linear-gradient(var(--fk-line-color), var(--fk-line-color)) center / var(--fk-line-width) 100% no-repeat; pointer-events: none; }
.fk-process .fk-step:last-child::before { display: none; }
.fk-process .fk-marker { position: absolute; z-index: 1; inset-inline-start: var(--fk-start); inset-inline-end: var(--fk-end); top: var(--fk-marker-offset); display: flex; align-items: center; justify-content: center; width: var(--fk-marker-size); height: var(--fk-marker-size); background: var(--fk-accent); border: 2px solid var(--fk-accent); border-radius: 50%; color: #fff; font-size: 10px; font-weight: 700; line-height: 1; }
.fk-process .fk-step:first-child .fk-marker { box-shadow: 0 0 0 3px #fff inset; }
.fk-process.fk-no-line .fk-step::before { display: none; }
.fk-process.fk-no-markers .fk-marker { display: none; }
.fk-process.fk-no-line.fk-no-markers .fk-step { padding-inline-start: 0; padding-inline-end: 0; }
.fk-process .fk-step-card { display: flex; align-items: flex-start; gap: 18px; min-width: 0; }
.fk-process .fk-step-copy { flex: 1 1 0; min-width: 0; }
.fk-process .fk-step-visual { flex: 0 0 auto; width: 40px; max-width: 100%; line-height: 1; color: var(--fk-accent); }
.fk-process .fk-step-visual i { display: block; font-size: inherit; }
.fk-process .fk-step-visual { font-size: 40px; }
.fk-process .fk-step-visual svg { display: block; width: 100%; height: auto; fill: currentColor; }
.fk-process .fk-image { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; }
.fk-process .fk-media { flex: 0 1 var(--fk-media-width); width: var(--fk-media-width); min-width: 0; margin: 0; align-self: center; }
.fk-process .fk-media-visual { margin-inline: auto; width: 100%; }
.fk-process .fk-art { display: block; width: 100%; height: auto; color: var(--fk-art-accent, var(--fk-accent)); }
.fk-process .fk-caption { margin: 20px 0 0; color: var(--fk-muted); font-size: 14px; line-height: 1.6; text-align: center; }
/* Fallbacks keep the content usable before Elementor's generated CSS loads.
 * User-selected breakpoints and layouts override these low-specificity rules. */
@media (max-width: 1024px) {
	.fk-impact { --fk-list-display: flex; --fk-stagger-factor: 0; --fk-arrow-display: none; }
	.fk-impact .fk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fk-process .fk-process-body { gap: 36px; }
}
@media (max-width: 767px) {
	.fk-section { padding: 36px 20px; }
	.fk-section .fk-intro { margin-bottom: 36px; }
	.fk-impact .fk-stats { grid-template-columns: minmax(0, 1fr); }
	.fk-impact .fk-stat-content { flex-direction: column; align-items: flex-start; gap: 18px; }
	.fk-impact .fk-stat-copy { max-width: 100%; }
	.fk-process .fk-process-body { flex-direction: column; --fk-media-width: 100%; }
	.fk-process .fk-steps { --fk-start: 0; --fk-end: auto; --fk-pad-start: var(--fk-rail-space); --fk-pad-end: 0px; --fk-rail-space: 38px; }
}
/* Reveal is progressively enhanced by reveal.js. No CSS hides content while
 * waiting for JavaScript. Reduced-motion changes cancel active animations. */
