/**
 * Force Teknologi Core frontend styles.
 */

.ft-pricing,
.ft-pricing * {
	box-sizing: border-box;
}

.ft-pricing {
	--ft-price-ink: #101828;
	--ft-price-muted: #667085;
	--ft-price-line: #eaecf0;
	--ft-price-primary: #0e4674;
	--ft-price-accent: #8b1cff;
	--ft-pricing-section-bg: transparent;
	background: var(--ft-pricing-section-bg);
	color: var(--ft-price-ink);
	width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ft-pricing__header {
	margin-bottom: 24px;
}

.ft-pricing__heading {
	margin: 0 0 8px;
	font-size: 32px;
	line-height: 1.15;
}

.ft-pricing__header p {
	max-width: 680px;
	margin: 0;
	color: var(--ft-price-muted);
}

.ft-comparison-pricing__grid {
	display: grid;
	grid-template-columns: repeat(var(--ft-columns-desktop, 3), minmax(0, 1fr));
	gap: 18px;
}

.ft-comparison-pricing__card,
.ft-tiered-pricing__row {
	position: relative;
	overflow: hidden;
}

.ft-comparison-pricing__card h3 {
	margin: 0 0 14px;
	font-size: 20px;
}

.ft-pricing__badge {
	display: inline-flex;
	margin-bottom: 12px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.ft-pricing__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 18px;
}

.ft-pricing__price strong {
	font-size: 38px;
	line-height: 1;
}

.ft-pricing__price span,
.ft-tiered-pricing__price span {
	color: var(--ft-price-muted);
}

.ft-comparison-pricing__card ul {
	display: grid;
	gap: 9px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.ft-comparison-pricing__card li {
	position: relative;
	padding-left: 24px;
}

.ft-comparison-pricing__card li::before {
	content: "\2713";
	position: absolute;
	top: 0;
	left: 0;
	color: #12b76a;
	font-weight: 800;
}

.ft-pricing__feature-label,
.ft-pricing__feature-small,
.ft-pricing__value-label,
.ft-pricing__value-small {
	display: block;
}

.ft-pricing__feature-small,
.ft-pricing__value-small {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
}

.ft-pricing__feature-small {
	color: var(--ft-feature-small-color, var(--ft-price-muted));
}

.ft-pricing__value-small {
	color: var(--ft-value-small-color, var(--ft-price-muted));
}

.ft-pricing__price .ft-pricing__value-small,
.ft-tiered-pricing__price .ft-pricing__value-small,
.ft-comparison-v2__price .ft-pricing__value-small {
	flex-basis: 100%;
}

.ft-pricing__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 6px;
	border: 0;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
}

.ft-comparison-style-1 .ft-comparison-pricing__card {
	padding: 24px;
	border: 1px solid var(--ft-price-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}

.ft-comparison-style-1 .ft-pricing__badge {
	background: #eff8ff;
	color: #175cd3;
}

.ft-comparison-style-1 .ft-pricing__button {
	background: var(--ft-price-primary);
	color: #fff;
}

.ft-comparison-style-2 .ft-comparison-pricing__grid {
	gap: 0;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	background: #fff;
}

.ft-comparison-style-2 .ft-comparison-pricing__card {
	padding: 28px;
	border-right: 1px solid #d0d5dd;
}

.ft-comparison-style-2 .ft-comparison-pricing__card:last-child {
	border-right: 0;
}

.ft-comparison-style-2 .ft-pricing__badge {
	background: #fdf2fa;
	color: #c11574;
}

.ft-comparison-style-2 .ft-pricing__button {
	border: 1px solid var(--ft-price-primary);
	color: var(--ft-price-primary);
}

.ft-comparison-style-3 {
	padding: 28px;
	border-radius: 8px;
	background: #101828;
	color: #fff;
}

.ft-comparison-style-3 .ft-pricing__header p,
.ft-comparison-style-3 .ft-pricing__price span {
	color: rgba(255, 255, 255, .68);
}

.ft-comparison-style-3 .ft-comparison-pricing__card {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 8px;
	background: rgba(255, 255, 255, .06);
}

.ft-comparison-style-3 .ft-pricing__badge,
.ft-comparison-style-3 .ft-pricing__button {
	background: #fff;
	color: #101828;
}

.ft-comparison-style-4 .ft-comparison-pricing__grid {
	align-items: stretch;
}

.ft-comparison-style-4 .ft-comparison-pricing__card {
	padding: 24px;
	border-left: 6px solid var(--ft-price-accent);
	border-radius: 0 8px 8px 0;
	background: linear-gradient(135deg, #fff, #f7f3ff);
}

.ft-comparison-style-4 .ft-pricing__badge {
	background: #f4ebff;
	color: #6941c6;
}

.ft-comparison-style-4 .ft-pricing__button {
	background: linear-gradient(135deg, #ff2bb5, #8b1cff, #5a8dff);
	color: #fff;
}

.ft-tiered-pricing__list {
	display: grid;
	grid-template-columns: repeat(var(--ft-columns-desktop, 1), minmax(0, 1fr));
	gap: 12px;
}

.ft-tiered-pricing__row {
	display: grid;
	grid-template-columns: auto 1fr auto 1fr;
	gap: 16px;
	align-items: center;
}

.ft-tiered-pricing__index {
	font-weight: 800;
}

.ft-tiered-pricing__tier {
	font-weight: 700;
}

.ft-tiered-pricing__price strong {
	display: block;
	font-size: 26px;
	line-height: 1;
}

.ft-tiered-pricing__benefit {
	color: var(--ft-price-muted);
}

.ft-tiered-pricing__action {
	grid-column: 1 / -1;
}

.ft-tiered-style-1 .ft-tiered-pricing__row {
	padding: 18px;
	border: 1px solid var(--ft-price-line);
	border-radius: 8px;
	background: #fff;
}

.ft-tiered-style-1 .ft-tiered-pricing__index {
	color: var(--ft-price-primary);
}

.ft-tiered-style-2 .ft-tiered-pricing__list {
	gap: 0;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	overflow: hidden;
}

.ft-tiered-style-2 .ft-tiered-pricing__row {
	padding: 18px;
	border-bottom: 1px solid #d0d5dd;
	background: #fff;
}

.ft-tiered-style-2 .ft-tiered-pricing__row:nth-child(2n) {
	background: #f9fafb;
}

.ft-tiered-style-2 .ft-tiered-pricing__row:last-child {
	border-bottom: 0;
}

.ft-tiered-style-3 {
	padding: 28px;
	border-radius: 8px;
	background: linear-gradient(135deg, #0e4674, #0b1320);
	color: #fff;
}

.ft-tiered-style-3 .ft-pricing__header p,
.ft-tiered-style-3 .ft-tiered-pricing__benefit,
.ft-tiered-style-3 .ft-tiered-pricing__price span {
	color: rgba(255, 255, 255, .72);
}

.ft-tiered-style-3 .ft-tiered-pricing__row {
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 8px;
	background: rgba(255, 255, 255, .08);
}

.ft-tiered-style-4 .ft-tiered-pricing__list {
	grid-template-columns: repeat(var(--ft-columns-desktop, 3), minmax(0, 1fr));
}

.ft-tiered-style-4 .ft-tiered-pricing__row {
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 22px;
	border-radius: 8px;
	background: #fff7ed;
	box-shadow: inset 0 0 0 1px #fed7aa;
}

.ft-tiered-style-4 .ft-tiered-pricing__index {
	width: fit-content;
	padding: 4px 8px;
	border-radius: 999px;
	background: #ffedd5;
	color: #c2410c;
}

.ft-comparison-v2__table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ft-comparison-v2__table {
	width: 100%;
	min-width: var(--ft-table-min-width, 760px);
	border-collapse: separate;
	border-spacing: 0;
}

.ft-comparison-v2__table th,
.ft-comparison-v2__table td {
	padding: 18px;
	text-align: center;
	vertical-align: middle;
	overflow-wrap: anywhere;
}

.ft-comparison-v2__table tbody th,
.ft-comparison-v2__table tfoot td:first-child {
	text-align: left;
	font-weight: 700;
}

.ft-comparison-v2__table thead th strong {
	display: block;
	font-size: 18px;
}

.ft-comparison-v2__table tfoot small {
	display: block;
	margin-bottom: 6px;
	color: var(--ft-price-muted);
	font-weight: 400;
	line-height: 1.5;
}

.ft-comparison-v2__price {
	display: grid;
	gap: 4px;
	margin-bottom: 12px;
}

.ft-comparison-v2__price strong {
	font-size: 20px;
	line-height: 1.2;
}

.ft-comparison-v2__price span {
	color: var(--ft-price-muted);
}

.ft-comparison-v2__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
}

.ft-comparison-v2__icon--check {
	background: #dcfae6;
	color: #079455;
}

.ft-comparison-v2__icon--cross {
	background: #fee4e2;
	color: #d92d20;
}

.ft-comparison-v2-style-1 .ft-comparison-v2__table {
	border: 1px solid var(--ft-price-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(16, 24, 40, .08);
	overflow: hidden;
}

.ft-comparison-v2-style-1 .ft-comparison-v2__table th,
.ft-comparison-v2-style-1 .ft-comparison-v2__table td {
	border-bottom: 1px solid var(--ft-price-line);
}

.ft-comparison-v2-style-1 .ft-comparison-v2__table tbody tr:nth-child(2n) {
	background: #f9fafb;
}

.ft-comparison-v2-style-1 .ft-pricing__badge {
	background: #fdf2fa;
	color: #c11574;
}

.ft-comparison-v2-style-1 .ft-pricing__button {
	background: var(--ft-price-primary);
	color: #fff;
}

.ft-comparison-v2-style-2 {
	padding: 28px;
	border-radius: 8px;
	background: #101828;
	color: #fff;
}

.ft-comparison-v2-style-2 .ft-pricing__header p,
.ft-comparison-v2-style-2 .ft-comparison-v2__price span,
.ft-comparison-v2-style-2 .ft-comparison-v2__table tfoot small {
	color: rgba(255, 255, 255, .7);
}

.ft-comparison-v2-style-2 .ft-comparison-v2__table {
	border-spacing: 8px;
}

.ft-comparison-v2-style-2 .ft-comparison-v2__table th,
.ft-comparison-v2-style-2 .ft-comparison-v2__table td {
	border-radius: 8px;
	background: rgba(255, 255, 255, .08);
}

.ft-comparison-v2-style-2 .ft-comparison-v2__table th:nth-child(3),
.ft-comparison-v2-style-2 .ft-comparison-v2__table td:nth-child(3) {
	background: rgba(139, 28, 255, .34);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}

.ft-comparison-v2-style-2 .ft-pricing__badge,
.ft-comparison-v2-style-2 .ft-pricing__button {
	background: #fff;
	color: #101828;
}

.ft-comparison-v2-style-3 .ft-comparison-v2__table {
	border-radius: 8px;
	background: linear-gradient(135deg, #fff, #f0f6ff);
}

.ft-comparison-v2-style-3 .ft-comparison-v2__table thead th {
	background: linear-gradient(135deg, #ff2bb5, #8b1cff, #5a8dff);
	color: #fff;
}

.ft-comparison-v2-style-3 .ft-comparison-v2__table thead th:first-child {
	background: #0e4674;
}

.ft-comparison-v2-style-3 .ft-comparison-v2__table tbody tr:nth-child(2n) td,
.ft-comparison-v2-style-3 .ft-comparison-v2__table tbody tr:nth-child(2n) th {
	background: rgba(14, 70, 116, .06);
}

.ft-comparison-v2-style-3 .ft-pricing__badge {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}

.ft-comparison-v2-style-3 .ft-pricing__button {
	background: linear-gradient(135deg, #ff2bb5, #8b1cff, #5a8dff);
	color: #fff;
}

.ft-comparison-v2-style-4 {
	padding: 24px;
	border-radius: 8px;
	background: #f8fafc;
}

.ft-comparison-v2-style-4 .ft-comparison-v2__table {
	border-spacing: 10px;
}

.ft-comparison-v2-style-4 .ft-comparison-v2__table th,
.ft-comparison-v2-style-4 .ft-comparison-v2__table td {
	border-radius: 8px;
	background: rgba(255, 255, 255, .86);
	box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
}

.ft-comparison-v2-style-4 .ft-comparison-v2__table tbody th {
	border-left: 4px solid #f79009;
}

.ft-comparison-v2-style-4 .ft-pricing__badge {
	background: #fff7ed;
	color: #c2410c;
}

.ft-comparison-v2-style-4 .ft-pricing__button {
	background: #0b1320;
	color: #fff;
}

.ft-animation-display {
	--ft-animation-size: 440px;
	--ft-animation-speed: 34s;
	--ft-icon-size: 52px;
	--ft-icon-inner-size: 54%;
	--ft-icon-background: #ffffff;
	--ft-icon-color: #175cd3;
	--ft-solar-ring-color: rgba(177, 245, 246, 0.15);
	display: grid;
	place-items: center;
	width: 100%;
	min-height: min(var(--ft-animation-size), 78vw);
	padding: 18px;
	overflow: hidden;
}

.ft-animation-display__scene {
	position: relative;
	width: min(100%, var(--ft-animation-size));
	aspect-ratio: 1;
	isolation: isolate;
}

.ft-animation-display__center {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 24%;
	aspect-ratio: 1;
	padding: 14px;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 50%;
	background: var(--ft-logo-background, #ffffff);
	box-shadow: 0 22px 70px rgba(15, 23, 42, 0.14);
	transform: translate(-50%, -50%);
}

.ft-animation-display__center img {
	display: block;
	width: var(--ft-logo-image-width, 58%);
	height: var(--ft-logo-image-width, 58%);
	object-fit: contain;
}

.ft-animation-display__center span {
	display: block;
	max-width: 100%;
	margin-top: 6px;
	color: #101828;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	overflow-wrap: anywhere;
}

.ft-animation-display__orbit {
	--ft-ring-size: 68%;
	--ft-ring-speed: var(--ft-animation-speed);
	--ft-ring-transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--ft-ring-size);
	height: var(--ft-ring-size);
	border: 1px solid rgba(16, 24, 40, 0.16);
	border-radius: 50%;
	transform: var(--ft-ring-transform) rotate(0deg);
	transform-origin: center;
	animation: ft-animation-orbit var(--ft-ring-speed) linear infinite;
}

.ft-animation-display__orbit--1 {
	--ft-ring-size: 42%;
}

.ft-animation-display__orbit--2 {
	--ft-ring-size: 66%;
	animation-direction: reverse;
}

.ft-animation-display__orbit--3 {
	--ft-ring-size: 92%;
}

.ft-animation-display__item {
	position: absolute;
	inset: 0;
	transform: rotate(var(--ft-item-angle, 0deg));
	transform-origin: center;
}

.ft-animation-display__icon {
	position: absolute;
	top: 50%;
	right: 0;
	display: grid;
	place-items: center;
	width: var(--ft-icon-size);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--ft-icon-background);
	color: var(--ft-icon-color);
	box-shadow: 0 15px 34px rgba(15, 23, 42, 0.16);
	transform: translate(50%, -50%) rotate(var(--ft-item-counter-angle, 0deg));
}

.ft-animation-display__icon img,
.ft-animation-display__icon svg {
	display: block;
	width: var(--ft-icon-inner-size);
	height: var(--ft-icon-inner-size);
	object-fit: contain;
	contain: content;
}

.ft-animation-display__icon svg {
	color: var(--ft-icon-color);
	fill: currentColor;
}

.ft-animation-display__icon svg path {
	fill: currentColor;
}

.ft-animation-display__icon i {
	color: var(--ft-icon-color);
	font-size: var(--ft-icon-font-size, 24px);
	line-height: 1;
}

.ft-animation-display--pause-hover:hover .ft-animation-display__orbit,
.ft-animation-display--pause-hover:hover .ft-animation-display__icon {
	animation-play-state: paused;
}

.ft-animation-display--logo-no-bg .ft-animation-display__center {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}

.ft-animation-display--solar .ft-animation-display__scene {
	perspective: 1100px;
	transform-style: preserve-3d;
}

.ft-animation-display--solar .ft-animation-display__orbit {
	--ft-ring-transform: translate(-50%, -50%) rotateX(64deg) rotateY(-9deg);
	border-color: rgba(23, 92, 211, 0.22);
	box-shadow: inset 0 0 22px rgba(23, 92, 211, 0.08);
}

.ft-animation-display--solar .ft-animation-display__orbit--2 {
	border-style: dashed;
	border-color: rgba(7, 148, 85, 0.28);
}

.ft-animation-display--solar .ft-animation-display__orbit--3 {
	border-color: rgba(220, 104, 3, 0.24);
}

.ft-animation-display--solar .ft-animation-display__center {
	background: radial-gradient(circle at 35% 24%, #ffffff, #eef4ff 78%);
	box-shadow: 0 26px 80px rgba(23, 92, 211, 0.24);
}

.ft-animation-display--solar.ft-animation-display--logo-no-bg .ft-animation-display__center {
	background: transparent;
	box-shadow: none;
}

.ft-animation-display--solar {
	display: block;
	min-height: 20em;
	padding: 0;
	overflow: hidden;
	background: transparent;
	font-size: 22px;
}

.ft-animation-display--solar .solarsystem {
	height: 20em;
	perspective: 2000px;
	position: relative;
	transform-style: preserve-3d;
	width: 100%;
}

.ft-animation-display--solar .solarsystem * {
	transform-style: preserve-3d;
}

.ft-animation-display--solar .solarsystem:hover .has-orbit {
	transform: rotateX(70deg);
}

.ft-animation-display--solar .manifold-logo {
	display: grid;
	place-items: center;
	left: 50%;
	height: 3em;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%) rotateX(-70deg);
	width: 3em;
}

.ft-animation-display--solar .manifold-label {
	display: block;
	max-width: 9em;
	margin-top: 0.5em;
	color: #101828;
	font-size: 0.5em;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	overflow-wrap: anywhere;
	transform: translateZ(0);
}

.ft-animation-display--solar .manifold-logo img,
.ft-animation-display--solar .manifold-logo svg {
	display: block;
	height: auto;
	width: var(--ft-logo-image-width, 100%);
}

.ft-animation-display--solar:not(.ft-animation-display--logo-no-bg) .manifold-logo {
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--ft-logo-background, #ffffff);
	box-shadow: 0 0 24px rgba(177, 245, 246, 0.35);
}

.ft-animation-display--solar:not(.ft-animation-display--logo-no-bg) .manifold-logo img {
	width: var(--ft-logo-image-width, 76%);
}

.ft-animation-display--solar .has-orbit {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: rotateX(75deg);
	transform-style: preserve-3d;
	transition: transform 700ms cubic-bezier(0.5, 0, 0.5, 1);
	width: 100%;
}

.ft-animation-display--solar .orbit {
	animation-name: orbit;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	left: 50%;
	position: absolute;
	top: 50%;
	transform-style: preserve-3d;
}

.ft-animation-display--solar .orbit::before {
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--ft-solar-ring-color);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.ft-animation-display--solar .orbit:nth-of-type(1) {
	animation-duration: 29s;
	height: 10em;
	margin-left: -5em;
	margin-top: -5em;
	width: 10em;
}

.ft-animation-display--solar .orbit:nth-of-type(1) .logo {
	animation-duration: inherit;
}

.ft-animation-display--solar .orbit:nth-of-type(2) {
	animation-direction: reverse;
	animation-duration: 37s;
	height: 18em;
	margin-left: -9em;
	margin-top: -9em;
	width: 18em;
}

.ft-animation-display--solar .orbit:nth-of-type(2) .logo {
	animation-direction: reverse;
	animation-duration: inherit;
}

.ft-animation-display--solar .orbit:nth-of-type(3) {
	animation-duration: 43s;
	height: 26em;
	margin-left: -13em;
	margin-top: -13em;
	width: 26em;
}

.ft-animation-display--solar .orbit:nth-of-type(3) .logo {
	animation-duration: inherit;
}

.ft-animation-display--solar .orbit:nth-of-type(4) {
	animation-duration: 53s;
	height: 34em;
	margin-left: -17em;
	margin-top: -17em;
	width: 34em;
}

.ft-animation-display--solar .orbit:nth-of-type(4) .logo,
.ft-animation-display--solar .orbit:nth-of-type(4) .planet {
	animation-duration: inherit;
}

.ft-animation-display--solar .orbit:nth-of-type(5) {
	animation-direction: reverse;
	animation-duration: 67s;
	height: 42em;
	margin-left: -21em;
	margin-top: -21em;
	width: 42em;
}

.ft-animation-display--solar .orbit:nth-of-type(5) .logo,
.ft-animation-display--solar .orbit:nth-of-type(5) .planet {
	animation-direction: reverse;
	animation-duration: inherit;
}

.ft-animation-display--solar .orbit:nth-of-type(6) {
	animation-duration: 79s;
	height: 50em;
	margin-left: -25em;
	margin-top: -25em;
	width: 50em;
}

.ft-animation-display--solar .orbit:nth-of-type(6) .logo,
.ft-animation-display--solar .orbit:nth-of-type(6) .planet {
	animation-duration: inherit;
}

.ft-animation-display--solar.ft-animation-display--pause-hover:hover .orbit,
.ft-animation-display--solar.ft-animation-display--pause-hover:hover .logo,
.ft-animation-display--solar.ft-animation-display--pause-hover:hover .planet,
.ft-animation-display--solar.ft-animation-display--pause-hover:hover .belt-path,
.ft-animation-display--solar.ft-animation-display--pause-hover:hover .belt-asteroid {
	animation-play-state: paused;
}

.ft-animation-display--solar .logo {
	animation-duration: 5s;
	animation-name: counter-orbit;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	border-radius: 50%;
	height: var(--ft-icon-size, 2em);
	left: 0;
	opacity: 0.8;
	position: absolute;
	top: 50%;
	transform-style: preserve-3d;
	width: var(--ft-icon-size, 2em);
}

.ft-animation-display--solar .ft-solar-logo {
	display: grid;
	place-items: center;
	overflow: hidden;
	background: var(--ft-icon-background);
	color: var(--ft-icon-color);
}

.ft-animation-display--solar .ft-solar-logo img,
.ft-animation-display--solar .ft-solar-logo svg {
	display: block;
	height: var(--ft-icon-inner-size, 100%);
	width: var(--ft-icon-inner-size, 100%);
	object-fit: cover;
	contain: content;
}

.ft-animation-display--solar .ft-solar-logo svg {
	color: var(--ft-icon-color);
	fill: currentColor;
}

.ft-animation-display--solar .ft-solar-logo svg path {
	fill: currentColor;
}

.ft-animation-display--solar .ft-solar-logo i {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: var(--ft-icon-background);
	color: var(--ft-icon-color);
	font-size: var(--ft-icon-font-size, 1em);
	line-height: 1;
}

.ft-animation-display--solar .planet {
	animation-name: counter-orbit;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	background-image: linear-gradient(-243deg, #ff3758 0%, #054e91 100%);
	border-radius: 50%;
	box-shadow: none;
	height: 1.5em;
	left: 85%;
	opacity: 0.6;
	position: absolute;
	top: 12.5%;
	width: 1.5em;
}

.ft-animation-display--solar .planet--orange {
	background-image: linear-gradient(-54deg, #ff0264 0%, #fe624e 41%, #fdbc39 82%, #fddf31 100%);
	height: 2em;
	width: 2em;
}

.ft-animation-display--solar .belt {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: rotateY(75deg);
	transform-style: preserve-3d;
	width: 100%;
}

.ft-animation-display--solar .belt-path {
	animation-duration: 19s;
	animation-name: orbit;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	height: 20em;
	left: 50%;
	margin-left: -37.5vw;
	margin-top: -18.75vw;
	position: absolute;
	top: 50%;
	transform-style: preserve-3d;
	width: 40em;
}

.ft-animation-display--solar .belt-asteroid {
	animation-duration: 19s;
	animation-name: asteroid-counter;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	box-shadow: 0 0 0 2px #3ac3a8;
	border-radius: 50%;
	height: 1em;
	left: 75%;
	margin-left: -6.5px;
	margin-top: -6.5px;
	opacity: 0.3;
	position: absolute;
	top: 50%;
	transform-style: preserve-3d;
	width: 1em;
}

.ft-animation-display--solar .belt-asteroid + .belt-asteroid {
	left: 25%;
	top: 62.5%;
	height: 0.5em;
	width: 0.5em;
}

.ft-animation-display--solar .belt--4 {
	transform: rotateY(65deg);
}

.ft-animation-display--solar .belt--4 .belt-asteroid {
	left: 12.5%;
	height: 0.375em;
	top: 42.5%;
	width: 0.375em;
}

.ft-animation-display--solar .belt--5 {
	transform: rotateX(80deg);
}

.ft-animation-display--solar .belt--5 .belt-asteroid {
	animation-name: counter-orbit;
	left: 37.5%;
	height: 0.5em;
	top: 25%;
	width: 0.5em;
}

@keyframes orbit {
	to {
		transform: rotateZ(-360deg);
	}
}

@keyframes counter-orbit {
	from {
		transform: translate(-50%, -50%) rotateX(-90deg) rotateY(360deg);
	}

	to {
		transform: translate(-50%, -50%) rotateX(-90deg) rotateY(0deg);
	}
}

@keyframes counter-orbit-2 {
	from {
		transform: translate(-50%, -50%) rotateX(-90deg) rotateY(0deg);
	}

	to {
		transform: translate(-50%, -50%) rotateX(-90deg) rotateY(360deg);
	}
}

@keyframes asteroid-counter {
	from {
		transform: rotateY(-90deg) rotateX(0deg);
	}

	to {
		transform: rotateY(-90deg) rotateX(360deg);
	}
}

.ft-animation-display--helix .ft-animation-display__scene {
	perspective: 1250px;
}

.ft-animation-display--helix .ft-animation-display__center {
	border-radius: 16px;
	background: var(--ft-logo-background, #0f172a);
	color: #ffffff;
}

.ft-animation-display--helix.ft-animation-display--logo-no-bg .ft-animation-display__center {
	background: transparent;
	box-shadow: none;
}

.ft-animation-display--helix .ft-animation-display__center span {
	color: #ffffff;
}

.ft-animation-display--helix .ft-animation-display__orbit {
	border-color: rgba(56, 189, 248, 0.32);
	border-style: dashed;
}

.ft-animation-display--helix .ft-animation-display__orbit--1 {
	--ft-ring-transform: translate(-50%, -50%) rotateX(72deg) rotateY(28deg);
}

.ft-animation-display--helix .ft-animation-display__orbit--2 {
	--ft-ring-transform: translate(-50%, -50%) rotateX(58deg) rotateY(-32deg);
}

.ft-animation-display--helix .ft-animation-display__orbit--3 {
	--ft-ring-transform: translate(-50%, -50%) rotateX(76deg) rotateY(8deg);
}

.ft-animation-display--helix .ft-animation-display__icon {
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.92);
	color: #026aa2;
	box-shadow: 0 16px 36px rgba(2, 106, 162, 0.24);
}

.ft-animation-display--radial .ft-animation-display__scene::before,
.ft-animation-display--radial .ft-animation-display__scene::after {
	content: "";
	position: absolute;
	inset: 17%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 158, 11, 0.12), rgba(255, 255, 255, 0) 68%);
	animation: ft-animation-pulse var(--ft-animation-speed) ease-in-out infinite;
}

.ft-animation-display--radial .ft-animation-display__scene::after {
	inset: 7%;
	border: 1px solid rgba(245, 158, 11, 0.2);
	background: transparent;
	animation-delay: -4s;
}

.ft-animation-display--radial .ft-animation-display__orbit {
	border-color: rgba(217, 45, 32, 0.2);
	box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.08);
}

.ft-animation-display--radial .ft-animation-display__orbit--2 {
	border-color: rgba(7, 148, 85, 0.22);
}

.ft-animation-display--radial .ft-animation-display__orbit--3 {
	border-color: rgba(23, 92, 211, 0.2);
}

.ft-animation-display--radial .ft-animation-display__center {
	border: 0;
	background: var(--ft-logo-background, #111827);
	box-shadow: 0 24px 66px rgba(17, 24, 39, 0.28);
}

.ft-animation-display--radial.ft-animation-display--logo-no-bg .ft-animation-display__center {
	background: transparent;
	box-shadow: none;
}

.ft-animation-display--radial .ft-animation-display__center span {
	color: #ffffff;
}

.ft-animation-display--radial .ft-animation-display__icon {
	border: 1px solid rgba(255, 255, 255, 0.78);
	background: #fff7ed;
	color: #c2410c;
}

@keyframes ft-animation-orbit {
	to {
		transform: var(--ft-ring-transform) rotate(360deg);
	}
}

@keyframes ft-animation-pulse {
	0%,
	100% {
		opacity: 0.62;
		transform: scale(0.96);
	}

	50% {
		opacity: 1;
		transform: scale(1.05);
	}
}

@media (max-width: 1024px) {
	.ft-comparison-pricing__grid,
	.ft-tiered-pricing__list,
	.ft-tiered-style-4 .ft-tiered-pricing__list {
		grid-template-columns: repeat(var(--ft-columns-tablet, 2), minmax(0, 1fr));
	}

	.ft-animation-display--fit-responsive {
		--ft-animation-size: min(520px, 92vw);
		min-height: min(var(--ft-animation-size), 92vw);
	}

	.ft-animation-display--solar.ft-animation-display--fit-responsive {
		font-size: 14px;
		min-height: 20em;
		overflow: visible;
	}

	.ft-animation-display--solar.ft-animation-display--fit-responsive .solarsystem {
		width: 100%;
	}
}

@media (max-width: 720px) {
	.ft-comparison-pricing__grid,
	.ft-tiered-pricing__list,
	.ft-tiered-style-4 .ft-tiered-pricing__list {
		grid-template-columns: repeat(var(--ft-columns-mobile, 1), minmax(0, 1fr));
	}

	.ft-tiered-pricing__row {
		grid-template-columns: 1fr;
	}

	.ft-comparison-style-2 .ft-comparison-pricing__card {
		border-right: 0;
		border-bottom: 1px solid #d0d5dd;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table {
		min-width: 0;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table thead,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tbody,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tfoot,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tr,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table th,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table td {
		display: block;
		width: 100%;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table thead {
		display: none;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tbody tr,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tfoot tr {
		margin-bottom: 14px;
		border: 1px solid var(--ft-price-line);
		border-radius: 8px;
		background: #fff;
		overflow: hidden;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tbody th,
	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table td {
		text-align: left;
		border-bottom: 1px solid var(--ft-price-line);
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tbody td::before {
		content: attr(data-plan) " - " attr(data-feature);
		display: block;
		margin-bottom: 6px;
		color: var(--ft-price-muted);
		font-size: 12px;
		font-weight: 700;
	}

	.ft-comparison-v2-mobile-stack .ft-comparison-v2__table tfoot td:not(:first-child)::before {
		content: attr(data-plan) " - " attr(data-feature);
		display: block;
		margin-bottom: 8px;
		color: var(--ft-price-muted);
		font-size: 12px;
		font-weight: 700;
	}

	.ft-pricing__heading {
		font-size: 26px;
	}

	.ft-pricing__price strong {
		font-size: 32px;
	}

	.ft-animation-display,
	.ft-animation-display--fit-responsive {
		--ft-animation-size: min(440px, 88vw);
		padding: 12px;
	}

	.ft-animation-display--solar.ft-animation-display--fit-responsive {
		font-size: 7px;
		min-height: 20em;
		padding: 0;
		overflow: visible;
	}

	.ft-animation-display__center {
		width: 28%;
		padding: 10px;
	}

	.ft-animation-display__center span {
		font-size: 11px;
	}

	.ft-animation-display__icon {
		width: var(--ft-icon-size);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ft-animation-display__orbit,
	.ft-animation-display--radial .ft-animation-display__scene::before,
	.ft-animation-display--radial .ft-animation-display__scene::after {
		animation: none;
	}
}
