.hero-grid {
	row-gap: 1.5rem;
	-moz-column-gap: 1.5rem;
	     column-gap: 1.5rem;
}

@media (min-width: 540px) {
		.hero-grid {
			-moz-column-gap: 2rem;
			     column-gap: 2rem;
		}
	}

.hero-title,
.hero-subtitle {
	color: var(--colors-primary-midnight-blue);
}

.hero-title {
	max-width: 501px;
}

@media (min-width: 540px) {
		.hero-grid img {
			width: 496px;
			max-width: 496px;
			transform: translate(-40px, 50px);
		}
	}

@media (min-width: 845px) {
		.hero-grid img {
			width: auto;
			max-width: 100%;
			transform: none;
		}
	}

.responsive-margin-top {
	margin-top: 2rem;
}

@media (min-width: 540px) {
		.responsive-margin-top {
			margin-top: 3rem;
		}
	}

@media (min-width: 845px) {
		.responsive-margin-top {
			margin-top: 3.75rem;
		}
	}

.responsive-margin-bottom {
	margin-bottom: 2rem;
}

@media (min-width: 540px) {
		.responsive-margin-bottom {
			margin-bottom: 3rem;
		}
	}

@media (min-width: 845px) {
		.responsive-margin-bottom {
			margin-bottom: 3.75rem;
		}
	}

.swim-lane-grid {
	gap: 1.25rem;
}

@media (min-width: 540px) {
		.swim-lane-grid {
			gap: 1.5rem;
		}
	}

@media (min-width: 845px) {
		.swim-lane-grid {
			gap: 2rem;
		}
	}

.swim-lane-grid img {
		border-radius: 1.25rem;
	}

html[data-theme='light'] .body-text-color {
		color: var(--neutrals-light-grey-14);
	}

html[data-theme='light'] .body-text-color-lighter {
		color: var(--neutrals-light-grey-26);
	}

:root .body-text-color-override {
	color: var(--neutrals-light-grey-14);
}

:root .body-text-color-lighter-override {
	color: var(--neutrals-light-grey-26);
}

html[data-theme='dark'] .body-text-color-lighter {
		color: var(--neutrals-dark-grey-84);
	}

@media (min-width: 845px) {
		.grid-card {
			padding: 2.5rem 2rem !important
		}
	}

.mobile-hide {
	display: none;
}

@media (min-width: 540px) {
		.mobile-hide {
			display: block;
		}
	}

.eyebrow {
	margin-bottom: 2px;
}

.upgrade-features-plan-generation {
	display: flex;
	gap: 2rem;
	flex-direction: column;
}

@media (min-width: 845px) {
		.upgrade-features-plan-generation {
			flex-direction: row;
		}
	}

.upgrade-features-code-transformation {
	display: flex;
	gap: 2rem;
	flex-direction: column-reverse;
}

@media (min-width: 845px) {
		.upgrade-features-code-transformation {
			flex-direction: row;
		}
	}

.upgrade-features-text {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

@media (min-width: 845px) {
		.upgrade-features-text {
			min-width: 350px;
			max-width: 350px;
		}
	}

.upgrade-features-graphic {
	background: linear-gradient(155.78deg, var(--brand-purple-tint-40) 2.89%, var(--magenta-tint-40) 86.11%);
	border-radius: 0.375rem;
	flex-grow: 1;
	padding-left: 22px;
	padding-right: 22px;
	padding-top: 18px;
}

@media (min-width: 540px) {
		.upgrade-features-graphic {
			border-radius: 1.25rem;
			padding-left: 31px;
			padding-right: 31px;
			padding-top: 62px;
		}
	}

@media (min-width: 845px) {
		.upgrade-features-graphic {
			padding-left: 45px;
			padding-right: 45px;
			padding-top: 62px;
		}
	}

.upgrade-features-graphic img {
	width: 100%;
	height: 100%;
	-o-object-fit: fill;
	   object-fit: fill;
	transform: translateY(6px);
}

@media (min-width: 540px) {
		.upgrade-features-graphic img {
			transform: none;
		}
	}

.btn-primary {
	margin-top: 0 !important;
}

.upgrade-features-grid {
	row-gap: 32px;
}

@media (min-width: 540px) {
		.upgrade-features-grid {
			row-gap: 60px;
			-moz-column-gap: 24px;
			     column-gap: 24px;
		}
	}

@media (min-width: 540px) {
		.upgrade-features-grid {
			-moz-column-gap: 32px;
			     column-gap: 32px;
		}
	}

.upgrade-features-card {
	background: linear-gradient(340.51deg, var(--blue-tint-45) 22.3%, var(--blue-tint-35) 95.98%);
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	border-radius: 20px;
}

@media (min-width: 540px) {
		.upgrade-features-card {
			min-height: 240px;
		}
	}

@media (min-width: 845px) {
		.upgrade-features-card {
			min-height: 260px;
		}
	}

html[data-theme='dark'] .upgrade-features-card {
		background: linear-gradient(340.51deg, var(--blue-shade-30) 22.3%, var(--blue-shade-40) 95.98%);
	}

.support-matrix-subtitle {
	max-width: 905px;
	margin-bottom: 1.25rem;
}

@media (min-width: 540px) {
		.support-matrix-subtitle {
			margin-bottom: 2rem;
		}
	}

.support-matrix-grid {
	gap: 1.25rem;
}

@media (min-width: 540px) {
		.support-matrix-grid {
			gap: 2rem;
		}
	}

.support-matrix-card {
	border: 2px solid var(--neutrals-light-grey-82);
	background: var(--colors-bg-contrast);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03922);
	padding: 1.25rem;
	border-radius: 1.25rem;
}

html[data-theme='dark'] .support-matrix-card {
		border: 2px solid var(--neutrals-dark-grey-40);
	}

.resources-subtitle {
	margin-bottom: 1.25rem;
}

@media (min-width: 540px) {
		.resources-subtitle {
			margin-bottom: 1.5rem;
		}
	}

@media (min-width: 1248px) {
		.resources-subtitle {
			margin-bottom: 2rem;
		}
	}

.resources-grid {
	gap: 1.25rem;
}

@media (min-width: 540px) {
		.resources-grid {
			gap: 2rem;
		}
	}

.resources-card {
	border-width: 2px;
	background: var(--colors-bg-contrast);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03922);
	padding: 1.25rem;
	border-radius: 1.25rem;
	display: flex;
	flex-direction: column;
}

.resources-card.first {
	border-color: var(--colors-primary-magenta);
}

.resources-card.second {
	border-color: var(--colors-primary-blue);
}

html[data-theme='dark'] .fmg-logo {
		filter: invert(1);
	}

.testimonials-subtitle {
	margin-bottom: 1.25rem;
}

@media (min-width: 540px) {
		.testimonials-subtitle {
			margin-bottom: 2rem;
		}
	}

.testimonials-grid {
	row-gap: 1.25rem;
}

@media (min-width: 540px) {
		.testimonials-grid {
			-moz-column-gap: 1.5rem;
			     column-gap: 1.5rem;
		}
	}

@media (min-width: 845px) {
		.testimonials-grid {
			-moz-column-gap: 2rem;
			     column-gap: 2rem;
		}
	}

.testimonial-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.testimonial-card .img-container {
	min-height: 120px;
	max-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.main-container {
	position: relative;
}

.radial-e57 {
	width: 1193px;
	height: 1383px;
	filter: blur(153px);
	border-radius: 50%;
	transform: rotate(33.28deg);
	opacity: 0.4;
	top: -244px;
	left: calc(50% - 745px);
}

.radial-e58 {
	width: 1433px;
	height: 1067px;
	filter: blur(112.5px);
	transform: rotate(127.36deg);
	opacity: 1;
	visibility: hidden;
}

.radial-e59 {
	width: 1800px;
	height: 2087px;
	filter: blur(106px);
	transform: rotate(169.43deg);
	opacity: 0.3;
	top: 1638px;
	left: calc(50% - 361px);
}

.radial-e60 {
	width: 1503px;
	height: 1119px;
	filter: blur(153px);
	opacity: 0.6;
	border-radius: 50%;
	transform: rotate(-142.72deg);
	top: 1475px;
	left: calc(50% - 603px);
}

.radial-e61 {
	width: 1260px;
	height: 939px;
	filter: blur(70px);
	opacity: 0.3;
	border-radius: 50%;
	transform: rotate(-146.72deg);
	top: 3910px;
	left: calc(50% - 205px);
}

.radial-e62 {
	width: 1503px;
	height: 1119px;
	filter: blur(75px);
	opacity: 0.3;
	border-radius: 50%;
	transform: rotate(-146.72deg);
	top: 5035px;
	left: calc(50% - 305px);
}

.radial-e73 {
	width: 1091px;
	height: 1004px;
	filter: blur(153px);
	opacity: 0.4;
	border-radius: 50%;
	visibility: hidden;
}

.radial-e74 {
	width: 1128px;
	height: 819px;
	filter: blur(153px);
	opacity: 0.4;
	border-radius: 50%;
	transform: rotate(31.38deg);
	top: 715px;
	left: calc(50% - 933px);
}

.radial-e75 {
	width: 1544px;
	height: 1791px;
	filter: blur(153px);
	opacity: 0.225;
	border-radius: 50%;
	transform: rotate(-146.72deg);
	top: 1980px;
	left: calc(50% - 472px);
}

.radial-e76 {
	width: 1381px;
	height: 1602px;
	filter: blur(153px);
	opacity: 0.45;
	border-radius: 50%;
	transform: rotate(-134.72deg);
	top: 1164px;
	left: calc(50% - 556px);
}

@media (min-width: 540px) {
	.radial-e57 {
		top: -257px;
		left: calc(50% - 1006px);
	}

	.radial-e58 {
		visibility: visible;
		top: 320px;
		left: calc(50% + 100px);
	}

	.radial-e59 {
		top: 1493px;
		left: calc(50% - 616px);
		opacity: 0.15;
	}

	.radial-e60 {
		top: 1440px;
		left: calc(50% - 870px);
	}

	.radial-e61 {
		top: 3785px;
		left: calc(50% - 430px);
	}

	.radial-e62 {
		top: 4830px;
		left: calc(50% - 563px);
	}

	.radial-e73 {
		visibility: visible;
		top: 540px;
		left: calc(50% - 106px);
	}

	.radial-e74 {
		top: 715px;
		left: calc(50% - 1127px);
	}

	.radial-e75 {
		top: 1118px;
		left: calc(50% - 927px);
	}

	.radial-e76 {
		top: 1657px;
		left: calc(50% - 127px);
	}
}

@media (min-width: 845px) {
	.radial-e57 {
		top: -190px;
		left: calc(50% - 1310px);
	}

	.radial-e58 {
		top: 265px;
		left: calc(50% - 110px);
	}

	.radial-e59 {
		top: 1679px;
		left: calc(50% - 908px);
	}

	.radial-e60 {
		top: 1520px;
		left: calc(50% - 1136px);
	}

	.radial-e61 {
		top: 3952px;
		left: calc(50% - 791px);
	}

	.radial-e62 {
		visibility: hidden;
	}

	.radial-e73 {
		top: 550px;
		left: calc(50% - 420px);
	}

	.radial-e74 {
		top: 710px;
		left: calc(50% - 1479px);
	}

	.radial-e75 {
		top: 1246px;
		left: calc(50% - 1215px);
	}

	.radial-e76 {
		top: 1980px;
		left: calc(50% - 1210px);
	}
}

/* Buttons */
.btn {
    font-weight: var(--font-semibold);
    text-align: center;
    white-space: nowrap;
    border: 2px solid transparent;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    font-family: var(--font-family-open);
    font-style: normal;
    line-height: 1.5rem;
    border-radius: 0.5rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    min-width: 130px;
    outline-offset: 2px;
    outline-width: 1px;
}
.btn:focus {
        outline-style: solid;
    }
.btn-primary {
    color: var(--colors-btn-primary-text);
    background-color: var(--colors-btn-primary-bg);
    border-color: var(--colors-btn-primary-border);
}
.btn-primary:hover {
        background-color: var(--colors-btn-primary-hover);
    }
.btn-primary:active {
        background-color: var(--colors-btn-primary-active);
    }
.btn-default {
    color: var(--colors-btn-default-text);
    background-color: transparent;
    border-color: var(--colors-btn-default-border);
}
.btn-default:hover {
        background-color: var(--colors-btn-default-hover);
    }
.btn-default:active {
        background-color: var(--colors-btn-default-active);
    }
.btn-white {
    color: var(--brand-purple-primary);
    background-color: var(--neutrals-light-white);
    border-color: var(--neutrals-light-white);
}
.btn-white:hover {
        background-color: var(--neutrals-light-grey-96);
    }
.btn-white:active {
        background-color: var(--neutrals-light-grey-94);
    }
.btn-magenta {
    color: var(--colors-btn-primary-text);
    background-color: var(--colors-btn-magenta);
    border-color: var(--colors-btn-magenta);
}
.btn-magenta:hover {
        background-color: var(--colors-btn-magenta-hover);
    }
.btn-magenta:active {
        background-color: var(--colors-btn-magenta-active);
    }
.split-button-wrapper a.btn-primary,.split-button-wrapper a.btn-magenta {
        border-right: 2px solid var(--brand-purple-tint-30);
        padding: .75rem 1rem;
        border-bottom-left-radius: var(--rounded-xs);
        border-top-left-radius: var(--rounded-xs);
        margin: 0;
        font-weight: var(--font-semibold);
        font-size: 1rem;
        line-height: 1.5rem;
    }
.split-button-wrapper .split-button {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        padding-left: .75rem;
        padding-right: .75rem;
        border-bottom-right-radius: var(--rounded-xs);
        border-top-right-radius: var(--rounded-xs);
    }
.split-button-wrapper a.btn-primary:focus,.split-button-wrapper .split-button:not(does-not-exist):focus {
            outline-style: solid;
            outline-width: 1px;
        }
.split-button-menu {
    width: 100%;
    margin-top: .5rem;
    z-index: 10;
    top: auto;
    left: 0;
    position: absolute;
    border-radius: var(--rounded-sm);
    border: 1px solid var(--neutrals-light-grey-88);
    background: var(--colors-bg-grid);
    background-clip: padding-box;
    padding-bottom: .25rem;
    padding-top: .25rem;
}
.split-button-menu li a {
        color: var(--colors-dark-additionals-gray);
        font-size: 1rem;
        line-height: 1.5rem;
        padding: .25rem 1.25rem;
        clear: both;
    }
.split-button-menu li a:hover {
            -webkit-text-decoration: underline;
            text-decoration: underline;
        }
[role=button],
button {
    cursor: pointer;
}
