/* =========================================================
   FILEKY MODERN FRONT PAGE
   Prefix: fksco_
   ========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

:root {

	--fksco-primary: #7047eb;
	--fksco-primary-dark: #5730cf;
	--fksco-primary-soft: #f1edff;

	--fksco-dark: #17152a;
	--fksco-heading: #202033;

	--fksco-text: #656579;
	--fksco-muted: #9292a5;

	--fksco-bg: #ffffff;
	--fksco-bg-soft: #f8f8fb;

	--fksco-border: #e9e9f0;

	--fksco-green: #20b486;

	--fksco-radius: 16px;

	--fksco-shadow:
		0 15px 45px rgba(30, 25, 70, .08);

	--fksco-shadow-lg:
		0 25px 70px rgba(30, 25, 70, .13);

	--fksco-transition:
		all .3s ease;
}


/* =========================================================
   GLOBAL
========================================================= */

.fksco_site_main {
	overflow: hidden;

	color: var(--fksco-text);

	background: var(--fksco-bg);
}

.fksco_site_main *,
.fksco_site_main *::before,
.fksco_site_main *::after {
	box-sizing: border-box;
}

.fksco_container {
	width: min(1240px, calc(100% - 48px));

	margin-left: auto;
	margin-right: auto;
}

.fksco_section {
	padding: 110px 0;
}

.fksco_section_heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 40px;

	margin-bottom: 45px;
}

.fksco_section_heading h2,
.fksco_why_header h2,
.fksco_process_heading h2,
.fksco_faq_intro h2 {
	margin: 0 0 15px;

	color: var(--fksco-heading);

	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.12;

	font-weight: 800;

	letter-spacing: -.035em;
}

.fksco_section_heading p,
.fksco_why_header p,
.fksco_process_heading p,
.fksco_faq_intro p {
	max-width: 620px;

	margin: 0;

	color: var(--fksco-text);

	font-size: 15px;
	line-height: 1.8;
}

.fksco_overline {
	display: block;

	margin-bottom: 12px;

	color: var(--fksco-primary);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: .12em;
	text-transform: uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.fksco_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 10px;

	min-height: 52px;

	padding: 0 23px;

	border-radius: 10px;

	font-size: 13px;
	font-weight: 700;

	text-decoration: none !important;

	transition: var(--fksco-transition);
}

.fksco_btn i {
	font-size: 17px;

	transition: transform .3s ease;
}

.fksco_btn:hover i {
	transform: translateX(4px);
}

.fksco_btn_primary {
	color: #fff !important;

	background: var(--fksco-primary);

	box-shadow:
		0 12px 25px rgba(112, 71, 235, .25);
}

.fksco_btn_primary:hover {
	color: #fff !important;

	background: var(--fksco-primary-dark);

	transform: translateY(-2px);
}

.fksco_btn_outline {
	color: var(--fksco-heading) !important;

	background: #fff;

	border: 1px solid var(--fksco-border);
}

.fksco_btn_outline:hover {
	color: var(--fksco-primary) !important;

	border-color: var(--fksco-primary);

	transform: translateY(-2px);
}

.fksco_btn_light {
	color: var(--fksco-dark) !important;

	background: #fff;
}

.fksco_btn_light:hover {
	color: var(--fksco-primary) !important;

	transform: translateY(-2px);
}

.fksco_btn_white {
	color: var(--fksco-primary) !important;

	background: #fff;
}

.fksco_btn_white:hover {
	transform: translateY(-2px);

	box-shadow: 0 15px 30px rgba(0,0,0,.15);
}

.fksco_btn_transparent {
	color: #fff !important;

	background: transparent;

	border: 1px solid rgba(255,255,255,.3);
}

.fksco_btn_transparent:hover {
	background: rgba(255,255,255,.1);

	border-color: #fff;
}


/* =========================================================
   ANNOUNCEMENT
========================================================= */

.fksco_announcement {
	position: relative;
	z-index: 10;

	background: var(--fksco-dark);
}

.fksco_announcement p {
	display: flex;
	align-items: center;
	justify-content: center;

	flex-wrap: wrap;

	gap: 8px;

	min-height: 36px;

	margin: 0;

	color: #c8c6d4;

	font-size: 11px;
}

.fksco_announcement a {
	display: inline-flex;
	align-items: center;

	gap: 5px;

	color: #fff !important;

	font-weight: 700;

	text-decoration: none !important;
}

.fksco_announcement a:hover {
	color: #b7a5ff !important;
}

.fksco_announcement_icon {
	color: #b49cff;
}


/* =========================================================
   HERO
========================================================= */

.fksco_hero {
	position: relative;

	padding: 105px 0 115px;

	background:
		linear-gradient(
			135deg,
			#fbfaff 0%,
			#ffffff 52%,
			#f8f6ff 100%
		);
}

.fksco_hero_background {
	position: absolute;

	inset: 0;

	pointer-events: none;
}

.fksco_hero_background span {
	position: absolute;

	display: block;

	border-radius: 50%;

	filter: blur(2px);
}

.fksco_hero_background span:nth-child(1) {
	width: 420px;
	height: 420px;

	top: -180px;
	left: -180px;

	background: rgba(112,71,235,.07);
}

.fksco_hero_background span:nth-child(2) {
	width: 300px;
	height: 300px;

	right: 5%;
	top: 10%;

	background: rgba(32,180,134,.06);
}

.fksco_hero_background span:nth-child(3) {
	width: 250px;
	height: 250px;

	right: 20%;
	bottom: -100px;

	background: rgba(112,71,235,.06);
}

.fksco_hero_grid {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);

	align-items: center;

	gap: 75px;
}

.fksco_hero_content {
	max-width: 650px;
}

.fksco_hero_kicker {
	display: inline-flex;
	align-items: center;

	gap: 9px;

	margin-bottom: 23px;
	padding: 8px 13px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border: 1px solid rgba(112,71,235,.12);

	border-radius: 50px;

	font-size: 11px;
	font-weight: 700;
}

.fksco_hero_kicker span {
	width: 7px;
	height: 7px;

	background: var(--fksco-green);

	border-radius: 50%;

	box-shadow:
		0 0 0 4px rgba(32,180,134,.1);
}

.fksco_hero h1 {
	max-width: 700px;

	margin: 0 0 25px;

	color: var(--fksco-heading);

	font-size: clamp(46px, 6vw, 76px);

	line-height: 1.02;

	font-weight: 850;

	letter-spacing: -.055em;
}

.fksco_hero h1 span {
	background:
		linear-gradient(
			90deg,
			#7047eb,
			#9b72ff
		);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;
}

.fksco_hero_description {
	max-width: 610px;

	margin: 0 0 30px;

	color: var(--fksco-text);

	font-size: 17px;
	line-height: 1.8;
}

.fksco_hero_buttons {
	display: flex;
	flex-wrap: wrap;

	gap: 12px;

	margin-bottom: 25px;
}

.fksco_hero_note {
	display: flex;
	flex-wrap: wrap;

	gap: 16px;
}

.fksco_hero_note span {
	display: inline-flex;
	align-items: center;

	gap: 6px;

	color: var(--fksco-muted);

	font-size: 11px;
	font-weight: 600;
}

.fksco_hero_note i {
	color: var(--fksco-green);

	font-size: 15px;
}


/* =========================================================
   HERO VISUAL
========================================================= */

.fksco_hero_visual {
	position: relative;

	min-height: 540px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.fksco_visual_orbit {
	position: absolute;

	width: 470px;
	height: 470px;

	border: 1px solid rgba(112,71,235,.12);

	border-radius: 50%;
}

.fksco_visual_main {
	position: relative;
	z-index: 2;

	width: min(100%, 560px);

	overflow: hidden;

	background: #fff;

	border: 1px solid #e9e7f3;

	border-radius: 20px;

	box-shadow: var(--fksco-shadow-lg);

	transform: perspective(1000px) rotateY(-3deg);

	animation: fksco_dashboard_float 6s ease-in-out infinite;
}

.fksco_visual_topbar {
	display: flex;
	align-items: center;

	gap: 15px;

	height: 45px;

	padding: 0 16px;

	background: #fbfbfd;

	border-bottom: 1px solid var(--fksco-border);
}

.fksco_visual_dots {
	display: flex;
	gap: 5px;
}

.fksco_visual_dots span {
	width: 7px;
	height: 7px;

	background: #dddbe7;

	border-radius: 50%;
}

.fksco_visual_address {
	flex: 1;

	height: 25px;

	display: flex;
	align-items: center;

	padding: 0 10px;

	color: #aaa8b5;

	background: #fff;

	border: 1px solid #eeeef2;

	border-radius: 6px;

	font-size: 8px;
}

.fksco_visual_body {
	display: grid;

	grid-template-columns: 55px 1fr;

	min-height: 390px;
}

.fksco_visual_sidebar {
	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 22px;

	padding-top: 20px;

	background: #faf9fe;

	border-right: 1px solid var(--fksco-border);
}

.fksco_sidebar_logo {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	color: #fff;

	background: var(--fksco-primary);

	border-radius: 8px;

	font-size: 14px;
	font-weight: 800;
}

.fksco_visual_sidebar > span {
	width: 15px;
	height: 15px;

	background: #e3e0ed;

	border-radius: 4px;
}

.fksco_visual_dashboard {
	padding: 25px;
}

.fksco_dashboard_heading {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-bottom: 22px;
}

.fksco_dashboard_heading small {
	display: block;

	margin-bottom: 4px;

	color: var(--fksco-primary);

	font-size: 7px;
	font-weight: 800;

	letter-spacing: .1em;
}

.fksco_dashboard_heading strong {
	display: block;

	color: var(--fksco-heading);

	font-size: 17px;
}

.fksco_dashboard_avatar {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 50%;

	font-size: 13px;
}

.fksco_dashboard_search {
	display: flex;
	align-items: center;

	gap: 8px;

	height: 42px;

	padding: 0 13px;

	margin-bottom: 18px;

	color: #aaa8b5;

	background: #fafafd;

	border: 1px solid var(--fksco-border);

	border-radius: 8px;

	font-size: 10px;
}

.fksco_dashboard_cards {
	display: grid;

	grid-template-columns: repeat(3,1fr);

	gap: 10px;
}

.fksco_dashboard_cards > div {
	padding: 15px 10px;

	background: #fff;

	border: 1px solid var(--fksco-border);

	border-radius: 9px;
}

.fksco_mock_icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	margin-bottom: 9px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 7px;

	font-size: 14px;
}

.fksco_dashboard_cards strong {
	display: block;

	margin-bottom: 4px;

	color: var(--fksco-heading);

	font-size: 10px;
}

.fksco_dashboard_cards small {
	color: var(--fksco-muted);

	font-size: 7px;
}

.fksco_dashboard_line {
	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 10px;

	margin-top: 15px;
}

.fksco_dashboard_line span {
	height: 70px;

	background:
		linear-gradient(
			135deg,
			#f5f2ff,
			#fafafd
		);

	border-radius: 8px;
}


/* Floating boxes */

.fksco_floating_box {
	position: absolute;
	z-index: 5;

	display: flex;
	align-items: center;

	gap: 10px;

	padding: 12px 15px;

	background: rgba(255,255,255,.96);

	border: 1px solid rgba(255,255,255,.8);

	border-radius: 12px;

	box-shadow: var(--fksco-shadow);

	backdrop-filter: blur(12px);
}

.fksco_float_one {
	top: 80px;
	left: -25px;

	animation: fksco_float_one 5s ease-in-out infinite;
}

.fksco_float_two {
	right: -20px;
	bottom: 75px;

	animation: fksco_float_two 5s ease-in-out infinite;
}

.fksco_float_icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 38px;
	height: 38px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 9px;
}

.fksco_floating_box strong {
	display: block;

	color: var(--fksco-heading);

	font-size: 11px;
}

.fksco_floating_box span {
	display: block;

	margin-top: 2px;

	color: var(--fksco-muted);

	font-size: 8px;
}

@keyframes fksco_dashboard_float {

	0%,100% {
		transform:
			perspective(1000px)
			rotateY(-3deg)
			translateY(0);
	}

	50% {
		transform:
			perspective(1000px)
			rotateY(-3deg)
			translateY(-8px);
	}

}

@keyframes fksco_float_one {

	0%,100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}

}

@keyframes fksco_float_two {

	0%,100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(8px);
	}

}


/* =========================================================
   SEARCH
========================================================= */

.fksco_search_section {
	position: relative;
	z-index: 5;

	margin-top: -40px;
}

.fksco_search_box {
	padding: 28px 30px;

	background: #fff;

	border: 1px solid var(--fksco-border);

	border-radius: 17px;

	box-shadow: var(--fksco-shadow-lg);
}

.fksco_search_intro {
	margin-bottom: 17px;
}

.fksco_search_intro span {
	display: block;

	margin-bottom: 5px;

	color: var(--fksco-primary);

	font-size: 9px;
	font-weight: 800;

	letter-spacing: .1em;
}

.fksco_search_intro h2 {
	margin: 0;

	color: var(--fksco-heading);

	font-size: 21px;
}

.fksco_search_form {
	position: relative;

	display: flex;

	gap: 8px;
}

.fksco_search_input_wrap {
	flex: 1;

	display: flex;
	align-items: center;

	gap: 10px;

	height: 54px;

	padding: 0 17px;

	background: #fafafd;

	border: 1px solid var(--fksco-border);

	border-radius: 10px;

	transition: var(--fksco-transition);
}

.fksco_search_input_wrap:focus-within {
	background: #fff;

	border-color: var(--fksco-primary);

	box-shadow:
		0 0 0 4px rgba(112,71,235,.08);
}

.fksco_search_input_wrap i {
	color: var(--fksco-muted);

	font-size: 18px;
}

#fksco_search_input {
	flex: 1;

	min-width: 0;

	height: 100%;

	padding: 0;

	color: var(--fksco-heading);

	background: transparent !important;

	border: 0 !important;
	outline: 0 !important;

	box-shadow: none !important;

	font-size: 13px;
}

.fksco_search_button {
	height: 54px;

	padding: 0 27px;

	color: #fff;

	background: var(--fksco-primary);

	border: 0;

	border-radius: 10px;

	font-size: 13px;
	font-weight: 700;

	cursor: pointer;

	transition: var(--fksco-transition);
}

.fksco_search_button:hover {
	background: var(--fksco-primary-dark);
}

.fksco_popular_searches {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 8px;

	margin-top: 13px;

	font-size: 10px;
}

.fksco_popular_searches span {
	color: var(--fksco-muted);
}

.fksco_popular_searches a {
	padding: 5px 9px;

	color: var(--fksco-text) !important;

	background: #f6f6f9;

	border-radius: 5px;

	text-decoration: none !important;

	transition: var(--fksco-transition);
}

.fksco_popular_searches a:hover {
	color: var(--fksco-primary) !important;

	background: var(--fksco-primary-soft);
}


/* =========================================================
   STATS
========================================================= */

.fksco_stats {
	padding: 20px 0;

	background: #fff;

	border-bottom: 1px solid var(--fksco-border);
}

.fksco_stats_grid {
	display: grid;

	grid-template-columns: repeat(4,1fr);
}

.fksco_stat_item {
	position: relative;

	padding: 20px;

	text-align: center;
}

.fksco_stat_item:not(:last-child)::after {
	content: "";

	position: absolute;

	top: 20%;
	right: 0;

	width: 1px;
	height: 60%;

	background: var(--fksco-border);
}

.fksco_stat_item strong {
	display: block;

	margin-bottom: 4px;

	color: var(--fksco-heading);

	font-size: 24px;
	font-weight: 800;
}

.fksco_stat_item span {
	color: var(--fksco-muted);

	font-size: 10px;
	font-weight: 600;
}


/* =========================================================
   CATEGORIES
========================================================= */

.fksco_categories {
	background: #fff;
}

.fksco_category_grid {
	display: grid;

	grid-template-columns: repeat(4,1fr);

	gap: 14px;
}

.fksco_category_card {
	display: flex;
	align-items: center;

	gap: 13px;

	min-height: 95px;

	padding: 17px;

	background: #fff;

	border: 1px solid var(--fksco-border);

	border-radius: 13px;

	text-decoration: none !important;

	transition: var(--fksco-transition);
}

.fksco_category_card:hover {
	border-color: rgba(112,71,235,.25);

	transform: translateY(-4px);

	box-shadow: var(--fksco-shadow);
}

.fksco_category_icon {
	flex-shrink: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 10px;

	font-size: 19px;
}

.fksco_category_info {
	flex: 1;
}

.fksco_category_info strong {
	display: block;

	margin-bottom: 4px;

	color: var(--fksco-heading);

	font-size: 13px;
}

.fksco_category_info span {
	display: block;

	color: var(--fksco-muted);

	font-size: 9px;
}

.fksco_category_arrow {
	color: #bbb8c7;

	font-size: 15px;

	transition: var(--fksco-transition);
}

.fksco_category_card:hover .fksco_category_arrow {
	color: var(--fksco-primary);

	transform: translateX(3px);
}


/* =========================================================
   TEXT LINK
========================================================= */

.fksco_text_link {
	display: inline-flex;
	align-items: center;

	flex-shrink: 0;

	gap: 7px;

	color: var(--fksco-primary) !important;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none !important;
}

.fksco_text_link:hover {
	color: var(--fksco-primary-dark) !important;
}

.fksco_text_link i {
	transition: transform .3s ease;
}

.fksco_text_link:hover i {
	transform: translateX(4px);
}


/* =========================================================
   TRENDING
========================================================= */

.fksco_trending {
	background: var(--fksco-bg-soft);
}


/* =========================================================
   RESOURCE CARDS
========================================================= */

.fksco_resource_grid {
	display: grid;

	gap: 20px;
}

.fksco_four_columns {
	grid-template-columns: repeat(4,minmax(0,1fr));
}

.fksco_three_columns {
	grid-template-columns: repeat(3,minmax(0,1fr));
}

.fksco_resource_card {
	overflow: hidden;

	background: #fff;

	border: 1px solid var(--fksco-border);

	border-radius: 14px;

	transition: var(--fksco-transition);
}

.fksco_resource_card:hover {
	transform: translateY(-6px);

	border-color: rgba(112,71,235,.22);

	box-shadow: var(--fksco-shadow);
}

.fksco_resource_image {
	position: relative;

	display: block;

	overflow: hidden;

	aspect-ratio: 1.55 / 1;

	background: #f4f3f8;
}

.fksco_resource_image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform .5s ease;
}

.fksco_resource_card:hover
.fksco_resource_image img {
	transform: scale(1.04);
}

.fksco_resource_placeholder {
	width: 100%;
	height: 100%;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #c4c1d0;

	font-size: 35px;
}

.fksco_resource_badge {
	position: absolute;

	top: 12px;
	left: 12px;

	padding: 5px 8px;

	border-radius: 5px;

	font-size: 8px;
	font-weight: 800;

	letter-spacing: .04em;

	text-transform: uppercase;
}

.fksco_badge_premium {
	color: #fff;

	background: var(--fksco-primary);
}

.fksco_badge_free {
	color: #147a5c;

	background: #e7f8f2;
}

.fksco_resource_bookmark {
	position: absolute;

	top: 10px;
	right: 10px;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	color: var(--fksco-heading);

	background: rgba(255,255,255,.94);

	border-radius: 50%;

	box-shadow: 0 5px 15px rgba(0,0,0,.08);

	font-size: 13px;
}

.fksco_resource_content {
	padding: 17px;
}

.fksco_resource_category {
	margin-bottom: 7px;

	color: var(--fksco-primary);

	font-size: 8px;
	font-weight: 800;

	letter-spacing: .08em;

	text-transform: uppercase;
}

.fksco_resource_title {
	margin: 0 0 7px;

	font-size: 14px;
	line-height: 1.35;
}

.fksco_resource_title a {
	color: var(--fksco-heading) !important;

	text-decoration: none !important;
}

.fksco_resource_title a:hover {
	color: var(--fksco-primary) !important;
}

.fksco_resource_excerpt {
	display: -webkit-box;

	overflow: hidden;

	margin: 0 0 15px;

	color: var(--fksco-muted);

	font-size: 10px;
	line-height: 1.6;

	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.fksco_resource_meta {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding-top: 12px;

	border-top: 1px solid var(--fksco-border);
}

.fksco_resource_views {
	display: inline-flex;
	align-items: center;

	gap: 5px;

	color: var(--fksco-muted);

	font-size: 9px;
}

.fksco_resource_views i {
	color: var(--fksco-primary);

	font-size: 13px;
}

.fksco_resource_arrow {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 27px;
	height: 27px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 50%;

	font-size: 13px;

	transition: var(--fksco-transition);
}

.fksco_resource_card:hover .fksco_resource_arrow {
	color: #fff;

	background: var(--fksco-primary);

	transform: translateX(3px);
}


/* =========================================================
   WHY FILEKY
========================================================= */

.fksco_why {
	background: #fff;
}

.fksco_why_header {
	max-width: 700px;

	margin-bottom: 45px;
}

.fksco_feature_grid {
	display: grid;

	grid-template-columns: repeat(4,1fr);

	gap: 1px;

	background: var(--fksco-border);

	border: 1px solid var(--fksco-border);

	border-radius: 16px;

	overflow: hidden;
}

.fksco_feature_card {
	position: relative;

	padding: 30px;

	background: #fff;

	transition: var(--fksco-transition);
}

.fksco_feature_card:hover {
	background: #fbfaff;
}

.fksco_feature_number {
	position: absolute;

	top: 20px;
	right: 20px;

	color: #d8d5e1;

	font-size: 10px;
	font-weight: 800;
}

.fksco_feature_icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	margin-bottom: 20px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 11px;

	font-size: 21px;
}

.fksco_feature_card h3 {
	margin: 0 0 10px;

	color: var(--fksco-heading);

	font-size: 16px;
}

.fksco_feature_card p {
	margin: 0;

	color: var(--fksco-text);

	font-size: 11px;
	line-height: 1.75;
}


/* =========================================================
   SERVICES
========================================================= */

.fksco_services {
	padding: 90px 0;

	background: #fff;
}

.fksco_services_box {
	display: grid;

	grid-template-columns: 1fr 1fr;

	align-items: center;

	gap: 70px;

	padding: 65px;

	background:
		linear-gradient(
			125deg,
			#1a172e,
			#29213f
		);

	border-radius: 25px;

	box-shadow: var(--fksco-shadow-lg);

	overflow: hidden;
}

.fksco_services_visual {
	position: relative;

	min-height: 350px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.fksco_services_window {
	width: 90%;

	overflow: hidden;

	background: #fff;

	border-radius: 14px;

	box-shadow: 0 25px 60px rgba(0,0,0,.3);

	transform: rotate(-3deg);
}

.fksco_window_header {
	display: flex;

	gap: 5px;

	padding: 12px;

	background: #f8f7fb;

	border-bottom: 1px solid #eee;
}

.fksco_window_header span {
	width: 6px;
	height: 6px;

	background: #d8d5e1;

	border-radius: 50%;
}

.fksco_window_content {
	display: grid;

	grid-template-columns: 45px 1fr;

	height: 240px;
}

.fksco_window_sidebar {
	background: #faf9fd;

	border-right: 1px solid #eee;
}

.fksco_window_main {
	padding: 20px;
}

.fksco_window_title {
	width: 45%;
	height: 12px;

	margin-bottom: 20px;

	background: #ddd9e9;

	border-radius: 4px;
}

.fksco_window_grid {
	display: grid;

	grid-template-columns: repeat(2,1fr);

	gap: 10px;
}

.fksco_window_grid span {
	height: 80px;

	background: #f2effc;

	border-radius: 7px;
}

.fksco_code_card {
	position: absolute;

	right: 0;
	bottom: 20px;

	display: flex;
	align-items: center;

	gap: 10px;

	padding: 12px 15px;

	color: #fff;

	background: rgba(255,255,255,.1);

	border: 1px solid rgba(255,255,255,.15);

	border-radius: 10px;

	backdrop-filter: blur(10px);
}

.fksco_code_card > span {
	color: #a895ff;

	font-size: 20px;
	font-weight: 800;
}

.fksco_code_card strong {
	display: block;

	font-size: 10px;
}

.fksco_code_card small {
	color: #aaa5b8;

	font-size: 8px;
}

.fksco_services_label {
	display: inline-block;

	margin-bottom: 12px;

	color: #a895ff;

	font-size: 10px;
	font-weight: 800;

	letter-spacing: .1em;

	text-transform: uppercase;
}

.fksco_services_content h2 {
	margin: 0 0 18px;

	color: #fff;

	font-size: clamp(32px,4vw,48px);

	line-height: 1.12;

	letter-spacing: -.035em;
}

.fksco_services_content h2 span {
	color: #a895ff;
}

.fksco_services_content > p {
	margin: 0 0 22px;

	color: #aaa5b8;

	font-size: 14px;

	line-height: 1.8;
}

.fksco_service_tags {
	display: flex;
	flex-wrap: wrap;

	gap: 7px;

	margin-bottom: 27px;
}

.fksco_service_tags span {
	padding: 6px 9px;

	color: #c9c4d3;

	background: rgba(255,255,255,.07);

	border: 1px solid rgba(255,255,255,.08);

	border-radius: 5px;

	font-size: 9px;
}


/* =========================================================
   PREMIUM
========================================================= */

.fksco_premium {
	background: #fff;
}


/* =========================================================
   FREE
========================================================= */

.fksco_free {
	background: var(--fksco-bg-soft);
}


/* =========================================================
   PROCESS
========================================================= */

.fksco_process {
	background: #fff;
}

.fksco_process_heading {
	max-width: 650px;

	margin-bottom: 55px;
}

.fksco_process_grid {
	display: grid;

	grid-template-columns:
		1fr 40px
		1fr 40px
		1fr 40px
		1fr;

	align-items: center;
}

.fksco_process_item {
	text-align: center;
}

.fksco_process_icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 60px;
	height: 60px;

	margin: 0 auto 18px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border: 1px solid rgba(112,71,235,.1);

	border-radius: 50%;

	font-size: 13px;
	font-weight: 800;
}

.fksco_process_item h3 {
	margin: 0 0 8px;

	color: var(--fksco-heading);

	font-size: 16px;
}

.fksco_process_item p {
	max-width: 180px;

	margin: 0 auto;

	color: var(--fksco-muted);

	font-size: 10px;
	line-height: 1.7;
}

.fksco_process_connector {
	height: 1px;

	background: var(--fksco-border);
}


/* =========================================================
   FAQ
========================================================= */

.fksco_faq {
	background: var(--fksco-bg-soft);
}

.fksco_faq_layout {
	display: grid;

	grid-template-columns: .75fr 1.25fr;

	gap: 100px;

	align-items: start;
}

.fksco_faq_intro {
	position: sticky;

	top: 30px;
}

.fksco_faq_intro .fksco_text_link {
	margin-top: 25px;
}

.fksco_faq_list details {
	margin-bottom: 10px;

	background: #fff;

	border: 1px solid var(--fksco-border);

	border-radius: 11px;

	transition: var(--fksco-transition);
}

.fksco_faq_list details:hover {
	border-color: rgba(112,71,235,.2);
}

.fksco_faq_list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding: 20px;

	color: var(--fksco-heading);

	font-size: 13px;
	font-weight: 700;

	cursor: pointer;

	list-style: none;
}

.fksco_faq_list summary::-webkit-details-marker {
	display: none;
}

.fksco_faq_list summary span {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 27px;
	height: 27px;

	color: var(--fksco-primary);

	background: var(--fksco-primary-soft);

	border-radius: 50%;

	font-size: 17px;

	transition: transform .3s ease;
}

.fksco_faq_list details[open]
summary span {
	transform: rotate(45deg);
}

.fksco_faq_list details p {
	margin: 0;

	padding: 0 20px 20px;

	color: var(--fksco-text);

	font-size: 11px;

	line-height: 1.8;
}


/* =========================================================
   FINAL CTA
========================================================= */

.fksco_final_cta {
	position: relative;

	overflow: hidden;

	padding: 110px 0;

	background:
		linear-gradient(
			135deg,
			#5d38d2,
			#7b50ee
		);
}

.fksco_cta_shapes {
	position: absolute;

	inset: 0;

	pointer-events: none;
}

.fksco_cta_shapes span {
	position: absolute;

	border: 1px solid rgba(255,255,255,.1);

	border-radius: 50%;
}

.fksco_cta_shapes span:first-child {
	width: 500px;
	height: 500px;

	top: -300px;
	left: -150px;
}

.fksco_cta_shapes span:last-child {
	width: 400px;
	height: 400px;

	right: -200px;
	bottom: -250px;
}

.fksco_final_cta_content {
	position: relative;
	z-index: 2;

	max-width: 750px;

	margin: auto;

	text-align: center;
}

.fksco_cta_label {
	display: inline-block;

	margin-bottom: 15px;

	color: #d8ccff;

	font-size: 10px;
	font-weight: 800;

	letter-spacing: .15em;
}

.fksco_final_cta h2 {
	margin: 0 0 18px;

	color: #fff;

	font-size: clamp(38px,5vw,60px);

	line-height: 1.08;

	letter-spacing: -.04em;
}

.fksco_final_cta_content p {
	max-width: 570px;

	margin: 0 auto 30px;

	color: rgba(255,255,255,.72);

	font-size: 15px;

	line-height: 1.8;
}

.fksco_final_buttons {
	display: flex;
	justify-content: center;

	flex-wrap: wrap;

	gap: 10px;
}


/* =========================================================
   EMPTY
========================================================= */

.fksco_empty {
	grid-column: 1 / -1;

	padding: 50px;

	color: var(--fksco-muted);

	text-align: center;

	font-size: 13px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

	.fksco_container {
		width: min(100% - 36px, 960px);
	}

	.fksco_hero_grid {
		gap: 40px;
	}

	.fksco_hero h1 {
		font-size: 55px;
	}

	.fksco_visual_main {
		width: 100%;
	}

	.fksco_category_grid {
		grid-template-columns: repeat(2,1fr);
	}

	.fksco_four_columns {
		grid-template-columns: repeat(3,1fr);
	}

	.fksco_feature_grid {
		grid-template-columns: repeat(2,1fr);
	}

	.fksco_services_box {
		gap: 40px;

		padding: 45px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.fksco_container {
		width: calc(100% - 28px);
	}

	.fksco_section {
		padding: 70px 0;
	}

	.fksco_section_heading {
		display: block;

		margin-bottom: 30px;
	}

	.fksco_section_heading h2,
	.fksco_why_header h2,
	.fksco_process_heading h2,
	.fksco_faq_intro h2 {
		font-size: 32px;
	}

	.fksco_section_heading p {
		font-size: 13px;
	}

	.fksco_text_link {
		margin-top: 15px;
	}


	/* Announcement */

	.fksco_announcement p {
		padding: 7px 0;

		text-align: center;

		font-size: 9px;
	}


	/* Hero */

	.fksco_hero {
		padding: 65px 0 80px;
	}

	.fksco_hero_grid {
		grid-template-columns: 1fr;

		gap: 50px;
	}

	.fksco_hero h1 {
		font-size: clamp(40px,12vw,55px);
	}

	.fksco_hero_description {
		font-size: 14px;
	}

	.fksco_hero_buttons {
		display: grid;

		grid-template-columns: 1fr;
	}

	.fksco_btn {
		width: 100%;
	}

	.fksco_hero_note {
		gap: 8px 12px;
	}

	.fksco_hero_note span {
		font-size: 9px;
	}


	/* Visual */

	.fksco_hero_visual {
		min-height: 330px;
	}

	.fksco_visual_orbit {
		width: 310px;
		height: 310px;
	}

	.fksco_visual_main {
		width: 94%;

		border-radius: 14px;
	}

	.fksco_visual_body {
		grid-template-columns: 38px 1fr;

		min-height: 240px;
	}

	.fksco_visual_dashboard {
		padding: 15px;
	}

	.fksco_dashboard_heading strong {
		font-size: 13px;
	}

	.fksco_dashboard_cards {
		grid-template-columns: 1fr;
	}

	.fksco_dashboard_cards > div {
		display: flex;
		align-items: center;

		gap: 8px;

		padding: 8px;
	}

	.fksco_mock_icon {
		width: 25px;
		height: 25px;

		margin: 0;
	}

	.fksco_dashboard_cards small {
		display: none;
	}

	.fksco_dashboard_line {
		display: none;
	}

	.fksco_float_one {
		top: 10px;
		left: -2px;
	}

	.fksco_float_two {
		right: -2px;
		bottom: 5px;
	}

	.fksco_floating_box {
		padding: 8px 10px;
	}

	.fksco_float_icon {
		width: 30px;
		height: 30px;
	}

	.fksco_floating_box strong {
		font-size: 9px;
	}

	.fksco_floating_box span {
		font-size: 7px;
	}


	/* Search */

	.fksco_search_section {
		margin-top: -30px;
	}

	.fksco_search_box {
		padding: 20px;
	}

	.fksco_search_form {
		display: grid;

		grid-template-columns: 1fr;
	}

	.fksco_search_button {
		width: 100%;
	}


	/* Stats */

	.fksco_stats_grid {
		grid-template-columns: repeat(2,1fr);
	}

	.fksco_stat_item {
		padding: 15px 8px;
	}

	.fksco_stat_item:nth-child(2)::after {
		display: none;
	}

	.fksco_stat_item strong {
		font-size: 20px;
	}


	/* Categories */

	.fksco_category_grid {
		grid-template-columns: 1fr;
	}


	/* Resources */

	.fksco_four_columns,
	.fksco_three_columns {
		grid-template-columns: 1fr;
	}

	.fksco_resource_grid {
		gap: 16px;
	}


	/* Features */

	.fksco_feature_grid {
		grid-template-columns: 1fr;
	}


	/* Services */

	.fksco_services {
		padding: 60px 0;
	}

	.fksco_services_box {
		grid-template-columns: 1fr;

		gap: 45px;

		padding: 30px 22px;

		border-radius: 18px;
	}

	.fksco_services_visual {
		min-height: 250px;
	}

	.fksco_services_window {
		width: 95%;
	}

	.fksco_services_content h2 {
		font-size: 32px;
	}


	/* Process */

	.fksco_process_grid {
		display: grid;

		grid-template-columns: 1fr;

		gap: 30px;
	}

	.fksco_process_connector {
		display: none;
	}


	/* FAQ */

	.fksco_faq_layout {
		grid-template-columns: 1fr;

		gap: 40px;
	}

	.fksco_faq_intro {
		position: static;
	}


	/* CTA */

	.fksco_final_cta {
		padding: 75px 0;
	}

	.fksco_final_cta h2 {
		font-size: 39px;
	}

	.fksco_final_buttons {
		display: grid;

		grid-template-columns: 1fr;
	}

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.fksco_site_main a:focus-visible,
.fksco_site_main button:focus-visible,
.fksco_site_main input:focus-visible,
.fksco_site_main summary:focus-visible {
	outline: 3px solid rgba(112,71,235,.3);

	outline-offset: 3px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.fksco_visual_main,
	.fksco_float_one,
	.fksco_float_two {
		animation: none;
	}

	.fksco_site_main * {
		scroll-behavior: auto !important;
		transition: none !important;
	}

}