:root {
	/* Height of the navbar when the page is scrolled and the header is in its
	   compact, sticky state. Elements that stick below the header must offset
	   their own "top" by at least this much, or the header covers them. */
	--navbar-height-scrolled: 5.25rem;
}

body {
	line-height: 1.6!important;
}

.body--index,
.body--features {
	background-color: #e7e2ff;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.2!important;
}

img {
	max-width: 100%;
	height: auto;
}

.split-button {
	display: flex;
	gap: 2px;
}

.split-button a {
	padding: 1rem 2rem;
	background-color: var(--primary-1);
	display: inline-block;
	color: #fff;
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
}

.split-button a:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	padding-left: 2rem;
}

.split-button a:first-child:hover {
	filter: brightness(1.08);
	transition: filter 160ms ease;
}

.split-button a:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	padding-right: 2rem;
	color: #fff;
	margin-top: -.5px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.split-button a:last-child:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.28);
	color: #ffffff;
	transition: all 180ms ease;
}

.split-button--light a {
	background-color: var(--neutral-0);
	color: var(--neutral-9);
}

.split-button--light a:hover {
	background-color: var(--neutral-0);
}

.split-button + .caption {
	font-size: 80%;
	font-weight: normal;
	color: #fff;
	margin-top: 5px;
}

.eyebrow {
	font-size: 15px;
	text-transform: uppercase;
}

/* Header */

.announcement-bar {
	background-color: #fff;
	color: #0f1824;
	font-size: 14px;
	padding: 5px;
	text-align: center;
}

.navbar {
	padding-bottom: 2rem;
	background-color: #0f1824;
}

.navbar-link-github {
	display: flex;
	align-items: center;
	gap: 5px;
}

.navbar-github-logo,
.navbar-github-logo-mobile {
  max-width: 18px;
  position: relative;
}

.navbar-github-logo-mobile {
	display: none;
}

.menu-icon-top-line,
.menu-icon-middle-line,
.menu-icon-bottom-line,
.menu-icon-top-line,
.menu-icon-middle-line,
.menu-icon-bottom-line {
	background-color: var(--neutral-1);
}

@media screen and (min-width: 992px) {
	.navbar-link, 
	.navbar-link:hover, 
	.navbar-link.w--current,
	.navbar-link, 
	.navbar-link:hover, 
	.navbar-link.w--current {
		color: var(--neutral-1);
	}
}

@media screen and (max-width: 991px) {
	.navbar-github-logo {
		display: none;
	}

	.navbar-github-logo-mobile {
		display: block;
	}
}

/* Sticky header (desktop only: on mobile the navbar scrolls with the page). */

@media screen and (min-width: 992px) {
	html {
		scroll-padding-top: 7rem;
	}

	.navbar {
		position: sticky;
		top: 0;
		z-index: 1000;
		transition: padding-top 250ms ease, padding-bottom 250ms ease, box-shadow 250ms ease;
	}

	.navbar--scrolled {
		padding-top: 1rem;
		padding-bottom: 1rem;
		box-shadow: 0 6px 24px rgba(15, 24, 36, 0.12);
	}

	.body--index .navbar--scrolled,
	.body--features .navbar--scrolled {
		box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
	}
}

/* Footer */

.footer {
	background-color: #0f1824;
}

.footer-details {
	margin-bottom: 10px;
}

/* Sections */

/* The Lottie container has no intrinsic size: the width matches the images of
   the same sections, and the aspect ratio is set by site.js from the animation. */
.lottie-animation {
	width: 100%;
	max-width: 650px;
	height: auto;
	aspect-ratio: 16 / 9;
}

.section .hero-image-wrapper img {
	max-width: 650px;
	position: relative;
}

.section-left .hero-image-wrapper {
	margin-right: -5rem;
}

.section-right .hero-image-wrapper {
	margin-left: -5rem;
}

.section-right .grid-2-column {
	grid-column-gap: 3rem;
}

@media screen and (max-width: 991px) {

	.padding-vertical-3rem,
	.padding-vertical-5rem {
		padding-top: 2rem
	}

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

	.section-left .hero-image-wrapper,
	.section-right .hero-image-wrapper {
		margin-right: 0;
		margin-left: 0;
	}

}

/* Form */

.form-flex {
	display: flex;
	gap: 15px;
	align-items: center;
}

/* Reusable Features macro; page-specific Product styles are in marketing.css. */
.features--background {
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
	background-color: #6e4cf50d;
	border-radius: 16px;
	padding: 4rem 6rem 5.5rem;
}
.features__description {
	max-width: 800px;
	margin-left: auto!important;
	margin-right: auto!important;
	margin-top: 1.5rem!important;
}
.features__description > .body-l {
	line-height: 160%!important;
}

/* Case study */

.case-study .stats__wrapper {
	padding-top: 0;
	padding-bottom: 0;
}

@media screen and (max-width: 991px) {

	.case-study .home-quote-and-stats-quote-author {
		margin-bottom: 20px;
	}

}

/* FAQ */

.faq__question,
.faq__question-chevron {
	cursor: pointer;
}

/* Team */

.section-about-us-team {
	overflow: hidden;
}

/* Sections */

.section__title,
.section__description {
	max-width: 1000px;
}

.section__title {
	font-size: 32px;
	margin-top: 20px;
	margin-bottom: 20px;
	color: var(--neutral-9);
}

.section__description {
	color: var(--neutral-7);
	font-size: 1.125rem;
}

.section__columns {
	display: flex;
	gap: 50px;
	margin-top: 30px;
	align-items: start;
}

.section__columns .section__description {
	flex-shrink: 1.2;
}

.section__items {
	display: grid;
	grid-template-columns:  1fr 1fr 1fr;
	gap: 30px;
	margin-top: 30px;
}

.section__item {
	border: 1px solid var(--neutral-3);
	border-radius: 3px;
	padding: 30px;
	position: relative;
	font-size: 15px;
}

.section__item-icon {
	position: absolute;
	left: 50%;
	top: -18px;
	transform: translateX(-50%);
	background-color: #e7e2ff;
	padding: 0 17px;
}

.section__item-title {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 5px;
}

/* Home V1 */

@keyframes rotate {
  from { transform: rotate(0deg) }
  to   { transform: rotate(360deg) }
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 20px rgba(79, 70, 229, 0.7);
	}

	70% {
		box-shadow: 0 0 0 50px rgba(79, 70, 229, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
	}
}

/* Responsive layout for the custom Home and Features sections. */
@media screen and (max-width: 991px) {

	.section__columns {
		flex-direction: column;
		gap: 2rem;
		width: 100%;
	}

.section__columns > *,
.section__items > * {
		min-width: 0;
	}

	.section__description,
	.section__item,
	.section__item-text {
		overflow-wrap: anywhere;
	}

	.section .hero-image-wrapper img,
	.lottie-animation {
		max-width: 100%;
	}
}

@media screen and (max-width: 768px) {

.section__items {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	@keyframes pulse {
		0% {
			box-shadow: 0 0 0 10px rgba(79, 70, 229, 0.7);
		}

		70% {
			box-shadow: 0 0 0 30px rgba(79, 70, 229, 0);
		}

		100% {
			box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
		}
	}

}

@media screen and (max-width: 480px) {

	.split-button {
		flex-direction: column;
		gap: 0.5rem;
	}

	.split-button a,
	.split-button a:first-child,
	.split-button a:last-child {
		width: 100%;
		padding: 0.875rem 1rem;
		border-radius: 5px;
	}

.section__title {
		font-size: 1.75rem;
	}

	.section__item {
		padding: 1.5rem;
	}

	@keyframes pulse {
		0% {
			box-shadow: 0 0 0 5px rgba(79, 70, 229, 0.7);
		}

		70% {
			box-shadow: 0 0 0 20px rgba(79, 70, 229, 0);
		}

		100% {
			box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
		}
	}

}

/* Home V2 */

.max-width-home-v2-banner {
	max-width: unset;
}

/* Contact Us page */

.contact-us-privacy-notice {
	font-size: 13px;
}

table.comparison {
	table-layout: fixed;
	width: 100%;
}
table.comparison td,
table.comparison th {
	padding: 12px;
}
table.comparison .note {
	font-size: 90%;
}

/* Privacy policy page */

.privacy-policy-content {
	text-align: left;
}

.privacy-policy-date {
	margin-top: 3px;
}

.privacy-policy-content > ol {
	margin-left: 10px;
	margin-top: 0px;
}

.privacy-policy-content > ol > li {
	margin-top: 20px;
}

.privacy-policy-content > ol > li:first-child {
	margin-top: 0;
}

.privacy-policy-list-item-title {
  font-size: 19px;
  font-weight: 500;
}

/* CTA */

.section-cta-horizontal h3 {
	margin-top: 0;
}

/* Krenalis 1.5 homepage. Keep component selectors separate from the Webflow
   export so the source template and the rest of the site remain reusable. */
.home {
	--home-navy: #0f1824;
	--home-lavender: #e7e2ff;
	--home-muted: #53576c;
	color: var(--home-navy);
	font-size: 1rem;
}

.home-container {
	width: calc(100% - 4rem);
	max-width: 1200px;
	margin-inline: auto;
}
.home-section {
	padding-block: 4.5rem;
}
.home h1, .home h2, .home h3 {
	margin-top: 0;
	color: inherit;
}
.home h2 {
	font-size: clamp(2rem, 3.1vw, 2.8rem);
	font-weight: 600;
	letter-spacing: -.045em;
}
.home h3 {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: -.025em;
}
.home p {
	margin: 0;
}
.home a {
	text-underline-offset: .2em;
}
.home a:focus-visible, .body--index .navbar a:focus-visible, .body--index .footer a:focus-visible {
	outline: 3px solid #a995f9;
	outline-offset: 5px;
}
.home-eyebrow {
	display: flex;
	align-items: center;
	gap: .75rem;
	color: #512aef;
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-bottom: 1.25rem !important;
}
.home-section-heading {
	max-width: 740px;
	margin-bottom: 2rem;
}
.home-section-heading > p:last-child {
	max-width: 600px;
	color: var(--home-muted);
	margin-top: 1.25rem;
}
.home-skip-link {
	position: fixed;
	top: -10rem;
	left: 1rem;
	z-index: 2000;
	padding: .75rem 1rem;
	color: #fff;
	background: #512aef;
	border-radius: 4px;
}
.home-skip-link:focus {
	top: 1rem;
}
.home-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
}
.home-button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: .9rem;
	min-height: 3.25rem;
	padding: .85rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 180ms, transform 180ms;
}
.home-button:hover {
	transform: translateY(-2px);
}
.home-button--primary {
	color: #fff;
	background: #6e4cf5;
}
.home-button--primary:hover {
	color: #fff;
	background: #512aef;
}
.home-button--outline {
	color: #fff;
	border-color: #586072;
}
.home-button--outline:hover {
	color: #fff;
	background: #212c3b;
}
.home-button--navy {
	color: #fff;
	background: #0f1824;
}
.home-button--navy:hover {
	color: #fff;
	background: #1e1b4b;
}
.home-button--light {
	color: #1e1b4b;
	border-color: #a59cce;
	background: #ffffff60;
}
.home-button--light:hover {
	color: #1e1b4b;
	background: #fff;
}
.home-text-link {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	color: #512aef;
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
}
.home-text-link:hover {
	color: #402d8f;
	text-decoration: underline;
}

/* Hero and the identity relationship visual. Text is real HTML on all sizes. */
.home-hero {
	color: #fff;
	background: #0f1824;
	padding-top: 2.5rem;
}
.home-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1.12fr;
	align-items: center;
	gap: 3.25rem;
	padding-bottom: 4.5rem;
}
.home-hero .home-eyebrow {
	color: #bbaaFF;
}
.home-hero h1 {
	font-size: clamp(2.65rem, 4.3vw, 4rem);
	font-weight: 600;
	line-height: 1.1 !important;
	letter-spacing: -.055em;
	margin-bottom: 1.5rem;
}
.home-hero h1 > span {
	color: #b9a5ff;
}
.home-hero__description {
	color: #e7e2ff;
	font-size: 1.08rem;
	max-width: 480px;
}
.home-hero__deployment {
	color: #b5bdcb;
	font-size: .92rem;
	margin-top: 1rem !important;
	max-width: 450px;
}
.home-hero .home-actions {
	margin-top: 2rem;
}
.home-hero__note {
	color: #acb4c2;
	font-size: .73rem;
	margin-top: 1rem !important;
}
.home-identity-mark {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 27px;
	height: 20px;
}
.home-identity-mark::before {
	content: '';
	position: absolute;
	top: 9px;
	width: 27px;
	height: 1px;
	background: #a995f9;
}
.home-identity-mark i {
	position: absolute;
	width: 7px;
	height: 7px;
	border: 1px solid #b9a5ff;
	border-radius: 50%;
	background: #0f1824;
}
.home-identity-mark i:nth-child(2) {
	left: 10px;
	background: #a995f9;
}
.home-identity-mark i:nth-child(3) {
	right: 0;
}
.home-hero__principles {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	padding-block: 1.5rem;
	border-top: 1px solid #303848;
	font-size: .8rem;
	color: #c1c6d1;
}
.home-hero__principles > span {
	display: flex;
	align-items: center;
	gap: .65rem;
}
.home-hero__principles > span > span {
	color: #b9a5ff;
	font-size: 1.1rem;
}
.identity-demo {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 1.25rem;
	border: 1px solid #4c426b;
	border-radius: 12px;
	background: linear-gradient(135deg, #23233c, #152130);
	box-shadow: 0 20px 60px #0003;
	color: #eef0f8;
}
.identity-demo__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
	margin-bottom: 1.25rem;
	font-size: .72rem;
}
.identity-demo__top > span:first-child {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-weight: 600;
}
.identity-demo__top > span:last-child {
	color: #b6b9ca;
	font-size: .65rem;
}
@keyframes identity-status-pulse {
	50% {
		box-shadow: 0 0 0 6px #a995f930;
	}
}

.identity-demo__status {
	animation: identity-status-pulse 3s ease-in-out infinite;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #a995f9;
	box-shadow: 0 0 0 4px #a995f915;
}
.identity-demo__canvas {
	display: grid;
	grid-template-columns: 1.1fr 44px 1fr;
	align-items: center;
}
.identity-demo__sources {
	display: grid;
	gap: .65rem;
}
.identity-record {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	min-width: 0;
	padding: .8rem;
	border: 1px solid #4a455f;
	border-radius: 6px;
	background: #ffffff07;
}
.identity-record__source {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .2rem;
	font-size: .7rem;
	color: #d2c4ff;
}
.identity-record strong {
	font-size: .75rem;
	font-weight: 500;
}
.identity-record code {
	padding: 0;
	background: transparent;
	color: #dce0ec;
	font-size: .75rem;
	overflow-wrap: anywhere;
	line-height: 1.6;
}
.identity-key {
	font-size: .72rem;
	color: #afb5c8;
	overflow-wrap: anywhere;
}
.identity-key b {
	color: #e4d9ff;
	font-weight: 500;
}
.identity-demo__connections {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 74%;
}
.identity-demo__connections span {
	position: relative;
	width: 50%;
	height: 50%;
	margin-left: 0;
	border-right: 1px solid #a995f9;
}
.identity-demo__connections span:first-child {
	border-top: 1px solid #a995f9;
	border-top-right-radius: 8px;
}
.identity-demo__connections span:nth-child(2) {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 0;
	border-top: 1px solid #a995f9;
}
.identity-demo__connections span:nth-child(3) {
	border-bottom: 1px solid #a995f9;
	border-bottom-right-radius: 8px;
}
.identity-demo__connections i {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	background: #6e4cf5;
	font-size: .65rem;
	font-style: normal;
}
.identity-profile {
	min-width: 0;
	padding: 1rem .8rem;
	border: 1px solid #9c80ff;
	border-radius: 8px;
	background: linear-gradient(145deg, #3b2c64, #25253f);
}
.identity-profile__label {
	display: block;
	color: #e0d4ff;
	font-size: .7rem;
}
.identity-profile__avatar {
	display: grid;
	place-items: center;
	width: 45px;
	height: 45px;
	margin-block: 1rem .65rem;
	border-radius: 50%;
	color: #efe9ff;
	background: #6e4cf5;
	font-size: .8rem;
	font-weight: 600;
}
.identity-profile > strong {
	display: block;
	color: #fff;
	font-size: .95rem;
}
.identity-profile__count {
	display: block;
	color: #c8b9ed;
	font-size: .62rem;
	margin-block: .25rem 1.25rem;
}
.identity-profile__rule {
	display: grid;
	gap: .1rem;
	padding-block: .55rem;
	border-top: 1px solid #6a588a;
	font-size: .72rem;
	color: #cbc4db;
}
.identity-profile__rule b {
	font-weight: 500;
	color: #e6dcff;
}
.identity-unmatched {
	display: flex;
	align-items: center;
	gap: .65rem;
	margin-top: 1rem;
	padding: .7rem .8rem;
	border: 1px dashed #657084;
	border-radius: 6px;
}
.identity-unmatched__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 27px;
	height: 27px;
	border: 1px solid #6b7485;
	border-radius: 50%;
	color: #c5cbd5;
	font-size: .75rem;
}
.identity-unmatched > div {
	display: grid;
	gap: .1rem;
}
.identity-unmatched strong {
	font-size: .7rem;
	font-weight: 500;
}
.identity-unmatched > div > span {
	color: #b2b9c9;
	font-size: .63rem;
}
.identity-unmatched__state {
	margin-left: auto;
	color: #c9ceda;
	font-size: .62rem;
}
.identity-demo figcaption {
	color: #b8bed0;
	font-size: .64rem;
	line-height: 1.6;
	margin-top: .8rem;
}

/* Homepage summaries. Detailed rules and workflow belong on Product. */
.home-difference, .home-integrations {
	background: #f8f6ff;
}
.home-difference__grid {
	display: grid;
	grid-template-columns: 1fr 210px;
	align-items: center;
	gap: 4rem;
}
.home-difference__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin-block: 1.75rem;
}
.home-difference__points article {
	border-top: 1px solid #b8a8ed;
	padding-top: 1rem;
}
.home-difference__points h3 {
	font-size: 1.08rem;
	margin-bottom: .65rem;
}
.home-difference__points p {
	color: var(--home-muted);
	font-size: .9rem;
}
.home-warehouse-visual {
	width: 100%;
	margin: 0;
	padding: 1rem;
	border-radius: 12px;
	background: linear-gradient(15deg, #ebbba7, #cfc7f8);
}
.home-warehouse-visual .lottie-animation {
	aspect-ratio: 500 / 550;
}
.home-existing-visual {
	width: 100%;
	max-width: 250px;
	margin-inline: auto;
	padding: 1rem;
	border-radius: 12px;
	background: linear-gradient(15deg, #ebbba7, #cfc7f8);
}
.home-existing-visual svg > g > g:first-child > path {
	fill: transparent;
}
.home-existing-visual .lottie-animation {
	aspect-ratio: 620 / 550;
}
.home-deployment {
	background: #e7e2ff;
}
.home-deployment__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
.home-deployment-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem;
	background: #f8f6ff;
	border: 1px solid #cec5ed;
	border-radius: 10px;
}
.home-deployment-card--managed {
	background: #f3eeff;
	border-color: #ac97f0;
}
.home-tag {
	padding: .3rem .65rem;
	margin-bottom: 1rem;
	border: 1px solid #c8b8ef;
	border-radius: 4px;
	color: #512aef;
	background: #e7e2ff;
	font-size: .68rem;
}
.home-tag--quiet {
	color: #53576c;
	background: transparent;
	border-color: #d0cbdc;
}
.home-deployment-card > p {
	color: var(--home-muted);
	font-size: .92rem;
	margin-bottom: 1.5rem;
}
.home-deployment-card > .home-text-link {
	margin-top: auto;
}
.home-footnote {
	color: #53576c;
	font-size: .8rem;
	margin-top: 1.25rem !important;
}
.home-footnote a {
	color: #512aef;
}
.home-ai {
	background: #0f1824;
	color: #fff;
}
.home-ai .home-eyebrow {
	color: #b9a5ff;
}
.home-ai__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	align-items: center;
	gap: 4rem;
}
.home-ai__grid .home-section-heading {
	margin-bottom: 0;
}
.home-ai__grid .home-section-heading > p:not(.home-eyebrow) {
	color: #bbc1cf;
	margin-top: 1.25rem;
}
.home-ai__scope {
	font-size: .8rem;
}
.home-ai .home-text-link {
	margin-top: 1.5rem;
	color: #c2adff;
}
.home-ai__visual {
	margin: 0;
}
.home-integration-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}
.home-integration-group {
	padding: 1.25rem;
	border: 1px solid #ded8ed;
	border-radius: 8px;
}
.home-integration-group--warehouse {
	border-color: #b7a1f7;
	background: #eee8ff;
}
.home-integration-group h3 {
	margin-bottom: .5rem;
	font-size: 1.08rem;
}
.home-integration-group > p {
	color: #53576c;
	font-size: .85rem;
}
.home-connector-list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}
.home-connector-list a {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .55rem .65rem;
	color: #0f1824;
	background: #fff;
	border: 1px solid #e3dfee;
	border-radius: 5px;
	font-size: .8rem;
	font-weight: 500;
	text-decoration: none;
}
.home-connector-list a:hover {
	border-color: #a995f9;
}
.home-connector-list img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	flex-shrink: 0;
}
.home-growth {
	padding-block: 2.5rem;
	background: #e7e2ff;
}
.home-growth__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 1.25rem 3rem;
}
.home-growth h2 {
	font-size: 1.5rem;
	letter-spacing: -.035em;
	margin-bottom: .5rem;
}
.home-plan-notice {
	color: #57516b;
	font-size: .76rem;
}
.home-plan-path {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.home-plan-path > li {
	border: 1px solid #c1b5e1;
	border-radius: 4px;
	background: #f7f4ff;
	padding: .6rem .75rem;
	color: #512aef;
	font-size: .8rem;
	font-weight: 500;
	text-align: center;
}
.home-growth__note {
	grid-column: 1 / -1;
	color: #53576c;
	font-size: .77rem;
}
.home-final {
	padding-block: 4rem;
	background: linear-gradient(110deg, #ebbba7, #d5c4eb 52%, #cfc7f8);
}
.home-final__inner {
	text-align: center;
}
.home-final .home-eyebrow, .home-final .home-actions {
	justify-content: center;
}
.home-final h2 {
	font-size: clamp(2rem, 3.5vw, 3.1rem);
}
.home-final__inner > p:not(.home-eyebrow) {
	margin: 1.25rem auto 1.75rem;
	max-width: 500px;
	color: #40394f;
}
.home-final__partner {
	display: inline-block;
	color: #40394f;
	font-size: .76rem;
	margin-top: 1.5rem;
}

@media screen and (max-width: 1100px) {
	.home-difference__grid {
		grid-template-columns: 1fr 180px;
		gap: 2rem;
	}
	.home-difference__points {
		gap: 1rem;
	}
	.home-hero__grid {
		gap: 2rem;
		grid-template-columns: 1fr 1.12fr;
	}
	.home-hero h1 {
		font-size: 3rem;
	}
}

@media screen and (max-width: 991px) {
	.home-section {
		padding-block: 3.5rem;
	}
	.home-difference__grid {
		grid-template-columns: 1fr 150px;
	}
	.home-growth__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.home-hero__grid {
		grid-template-columns: 1fr;
		gap: 3rem;
		max-width: 700px;
		padding-bottom: 3rem;
	}
	.home-hero__copy {
		max-width: 600px;
	}
	.home-hero h1 {
		font-size: clamp(2.8rem, 7vw, 4rem);
	}
	.home-hero__description, .home-hero__deployment {
		max-width: 560px;
	}
	.identity-demo {
		width: 100%;
		max-width: 600px;
		margin-inline: auto;
		padding: 1.5rem;
	}
	.identity-record code {
		font-size: .75rem;
	}
	.identity-key {
		font-size: .7rem;
	}
	.home-ai__grid {
		grid-template-columns: 1.3fr 1fr;
		gap: 2rem;
	}
}

@media screen and (max-width: 600px) {
	.home-difference__grid,
	.home-difference__points,
	.home-integration-grid {
		grid-template-columns: 1fr;
	}
	.home-warehouse-visual {
		max-width: 150px;
		justify-self: center;
	}
	.home-plan-path {
		grid-template-columns: 1fr 1fr;
	}
	.home-container {
		width: calc(100% - 2.5rem);
	}
	.home-section {
		padding-block: 3rem;
	}
	.home-hero {
		padding-top: 1.5rem;
	}
	.home-hero h1 {
		font-size: clamp(2.4rem, 9.5vw, 3.5rem);
	}
	.home-eyebrow {
		font-size: .64rem;
	}
	.home-hero__principles {
		flex-direction: column;
		gap: .6rem;
		padding-block: 1.25rem;
	}
	.home-hero__description {
		font-size: 1rem;
	}
	.home-button {
		min-height: 3rem;
		font-size: .82rem;
		padding: .75rem 1rem;
	}
	.home-section-heading {
		margin-bottom: 2rem;
	}

	.home-deployment__grid,
	.home-ai__grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.home-existing-visual {
		max-width: 230px;
	}
	.home-final {
		padding-block: 3rem;
	}
	.home-final .home-actions {
		flex-direction: column;
	}
	.home-final .home-button {
		width: 100%;
	}
	.identity-demo {
		padding: 1rem;
	}
	.identity-demo__canvas {
		grid-template-columns: 1fr;
	}
	.identity-demo__sources {
		gap: .5rem;
	}
	.identity-record {
		padding: .65rem .8rem;
	}
	.identity-record__source, .identity-record strong {
		font-size: .75rem;
	}
	.identity-record code {
		font-size: .7rem;
	}
	.identity-key {
		font-size: .72rem;
	}
	.identity-demo__connections {
		width: 1px;
		height: 2rem;
		border-left: 1px solid #a995f9;
		margin-inline: auto;
	}
	.identity-demo__connections span {
		display: none;
	}
	.identity-demo__connections i {
		top: 50%;
		left: 0;
	}
	.identity-profile {
		display: grid;
		grid-template-columns: 45px 1fr;
		column-gap: .8rem;
		padding: 1rem;
	}
	.identity-profile__label {
		grid-column: 1 / -1;
		margin-bottom: .75rem;
		font-size: .7rem;
	}
	.identity-profile__avatar {
		grid-row: span 2;
		margin: 0;
	}
	.identity-profile__count {
		margin: .1rem 0 1rem;
	}
	.identity-profile__rule {
		grid-column: 1 / -1;
		font-size: .65rem;
	}
	.identity-unmatched {
		gap: .5rem;
		padding-inline: .65rem;
	}
	.identity-unmatched__state {
		font-size: .58rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.identity-demo__status {
		animation: none;
	}
	.home-button {
		transition: none;
	}
	.home-button:hover {
		transform: none;
	}
}

/* Scroll reveal animations: add the fade-in class to any element that has to
   fade and slide up when it enters the viewport. The class is added by hand in
   the markup, site.js only toggles is-revealed on the elements that carry it. */

.w-mod-js .fade-in {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 900ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 900ms cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: opacity, transform;
}

/* Sibling elements, like the two columns of a 5050 section, follow the first
   one with a short delay instead of animating all at the same time. */
.w-mod-js .fade-in ~ .fade-in {
	transition-delay: 150ms;
}

.w-mod-js .fade-in.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

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

	.w-mod-js .fade-in {
		opacity: 1;
		transform: none;
		transition: none;
	}

}
