/* Krenalis 1.5 commercial pages. Share typography, buttons and containers with
   the approved homepage, and keep layouts out of the Webflow export. */
.site-page {
	--home-muted: #53576c;
	color: #0f1824;
	background: #faf9ff;
	font-size: 1rem;
}
.site-page h1, .site-page h2, .site-page h3 {
	margin: 0 0 1rem;
	color: inherit;
	font-weight: 600;
	letter-spacing: -.04em;
}
.site-page h1 {
	font-size: clamp(2.5rem, 4.2vw, 3.75rem);
}
.site-page h2 {
	font-size: clamp(1.9rem, 3vw, 2.65rem);
}
.site-page h3 {
	font-size: 1.2rem;
	letter-spacing: -.025em;
}
.site-page p {
	margin: 0 0 1.2rem;
}
.site-page a {
	text-underline-offset: .2em;
}
.site-page a:focus-visible, .site-page summary:focus-visible,
.site-page input:focus-visible, .site-page textarea:focus-visible,
.site-page select:focus-visible, .site-page button:focus-visible,
.navbar a:focus-visible, .footer a:focus-visible {
	outline: 3px solid #a995f9;
	outline-offset: 4px;
}
.page-hero, .page-section, .page-cta {
	padding-block: 4.5rem;
}
.page-hero--dark, .page-section--dark {
	color: #f8f7ff;
	background: #0f1824;
}
.page-hero--dark .home-eyebrow, .page-hero--dark .home-text-link,
.page-section--dark .home-eyebrow,
.page-section--dark .home-text-link {
	color: #c8baff;
}
.page-hero h1 > span, .contact-copy h1 > span {
	color: #c2b2ff;
}
.page-hero .page-lead {
	max-width: 700px;
	color: #d1d4df;
	font-size: 1.15rem;
	margin-block: 1.5rem 2rem;
}
.page-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 4rem;
}
.page-split > *, .page-grid > *, .pricing-grid > *, .contact-layout > * {
	min-width: 0;
}
.page-section .page-split > div > p:not(.home-eyebrow), .page-heading > p:not(.home-eyebrow) {
	color: #53576c;
}
.page-section--dark .page-split > div > p:not(.home-eyebrow) {
	color: #cdd1df;
}
.page-hero .page-split > div > p.page-lead {
	color: #d1d4df;
}
.page-section--lavender {
	background: #e7e2ff;
}
.page-heading {
	max-width: 760px;
	margin-bottom: 2.5rem;
}
.page-heading > p:last-child {
	max-width: 680px;
}
.page-visual {
	margin: 0;
	min-width: 0;
	border-radius: 14px;
	overflow: hidden;
}
.page-visual--gradient {
	padding: 1.5rem;
	background: linear-gradient(135deg, #ebbba7, #cfc7f8);
}
.page-visual img {
	display: block;
	width: 100%;
}
.page-visual figcaption {
	color: #3b365d;
	font-size: .8rem;
	text-align: center;
	padding: 1rem;
}
.page-visual .lottie-animation {
	max-width: 100%;
}
.page-visual--gradient svg > g > g:first-child > path {
	fill: transparent;
}
/* The homepage walkthrough shares its final, readable diagram with Product. */
.identity-demo__walkthrough {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: .65rem .8rem;
	margin-bottom: 1.25rem;
}
.identity-demo__walkthrough p {
	min-height: 3em;
	margin: 0;
	color: #e0d4ff;
	font-size: .72rem;
	line-height: 1.5;
}
.identity-demo__progress {
	grid-column: 1 / -1;
	height: 3px;
	overflow: hidden;
	border-radius: 3px;
	background: #ffffff18;
}
.identity-demo__progress span {
	display: block;
	height: 100%;
	transform: scaleX(var(--demo-progress, 1));
	transform-origin: left;
	background: #b9a5ff;
}
.identity-demo__controls {
	display: flex;
	grid-column: 2;
	grid-row: 1;
	gap: .4rem;
}
.identity-demo__controls[hidden] {
	display: none;
}
.identity-demo__controls button {
	min-width: 4.5em;
	min-height: 36px;
	padding: .35rem .65rem;
	border: 1px solid #8b7cad;
	border-radius: 5px;
	color: #f3edff;
	background: #ffffff08;
	font: inherit;
	font-size: .72rem;
	cursor: pointer;
}
.identity-demo__controls button:hover {
	background: #b9a5ff24;
}
.identity-demo__controls button:disabled {
	color: #b8bed0;
	border-color: #596078;
	cursor: default;
}
.identity-demo__controls button:focus-visible {
	outline: 3px solid #b9a5ff;
	outline-offset: 3px;
}
.identity-demo--animated .identity-demo__status {
	animation: none;
}
.identity-demo--animated .identity-profile__count {
	margin-bottom: .8rem;
}
.identity-profile__attributes {
	display: grid;
	gap: .6rem;
	margin: 0;
	font-size: .7rem;
	line-height: 1.5;
}
.identity-profile__attributes > div {
	padding-top: .6rem;
	border-top: 1px solid #6a588a;
}
.identity-profile__attributes dt {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: .1rem .5rem;
	color: #e0d4ff;
}
.identity-profile__attributes dt span {
	color: #c8b9ed;
	font-size: .6rem;
}
.identity-profile__attributes dd {
	margin: .15rem 0 0;
	color: #f3edff;
	overflow-wrap: anywhere;
}
.identity-demo--animated.is-initialized .identity-record {
	opacity: var(--source-reveal, 1);
	transform: translateX(calc((1 - var(--source-reveal, 1)) * -12px));
}
.identity-demo--animated.is-initialized .identity-record:nth-child(1) {
	--source-reveal: var(--demo-source-one, 1);
}
.identity-demo--animated.is-initialized .identity-record:nth-child(2) {
	--source-reveal: var(--demo-source-two, 1);
}
.identity-demo--animated.is-initialized .identity-record:nth-child(3) {
	--source-reveal: var(--demo-source-three, 1);
}
.identity-demo--animated.is-initialized [data-demo-field] {
	opacity: var(--field-reveal, 1);
	transform: translateY(calc((1 - var(--field-reveal, 1)) * 8px));
}
.identity-demo--animated.is-initialized [data-demo-field="name"] {
	--field-reveal: var(--demo-name, 1);
}
.identity-demo--animated.is-initialized [data-demo-field="phone"] {
	--field-reveal: var(--demo-phone, 1);
}
.identity-demo--animated.is-initialized [data-demo-field="device"] {
	--field-reveal: var(--demo-device, 1);
}
.identity-demo--animated.is-initialized [data-demo-field="count"] {
	--field-reveal: var(--demo-count, 1);
}
.identity-demo--animated.is-initialized .identity-demo__connections span {
	opacity: var(--link-reveal, 1);
	transform: scaleX(var(--link-reveal, 1));
	transform-origin: left;
}
.identity-demo--animated.is-initialized .identity-demo__connections span:nth-child(1),
.identity-demo--animated.is-initialized .identity-demo__connections span:nth-child(2) {
	--link-reveal: var(--demo-id-link, 1);
}
.identity-demo--animated.is-initialized .identity-demo__connections span:nth-child(3) {
	--link-reveal: var(--demo-email-link, 1);
}
.identity-demo--animated.is-initialized .identity-demo__connections i {
	opacity: var(--demo-count, 1);
}
.identity-demo--animated[data-demo-step="customer-id"] [data-demo-match="customer-id"],
.identity-demo--animated[data-demo-step="email"] [data-demo-match="email"] {
	border-radius: 3px;
	box-shadow: 0 0 0 1px #b9a5ff;
	color: #fff;
	background: #b9a5ff33;
}
.identity-demo--animated[data-demo-step="complete"] .identity-unmatched {
	border-color: #9b92ae;
}
@media (max-width: 600px) {
	.identity-profile__attributes {
		grid-column: 1 / -1;
	}
	.identity-demo__walkthrough {
		grid-template-columns: minmax(0, 1fr);
	}
	.identity-demo__controls {
		grid-column: 1;
		grid-row: 2;
		justify-content: flex-end;
	}
	.identity-demo__controls button {
		min-height: 44px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.identity-demo--animated.is-initialized {
		--demo-source-one: 1 !important;
		--demo-source-two: 1 !important;
		--demo-source-three: 1 !important;
		--demo-name: 1 !important;
		--demo-phone: 1 !important;
		--demo-device: 1 !important;
		--demo-count: 1 !important;
		--demo-id-link: 1 !important;
		--demo-email-link: 1 !important;
		--demo-progress: 1 !important;
	}
}
/* Retain the original Krenalis artwork and its orbit and pulse effects. */
.brand-artwork {
	width: 100%;
	min-width: 0;
	margin: 0;
}
.brand-artwork__stage {
	position: relative;
	isolation: isolate;
}
.brand-artwork__stage img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
}
.brand-artwork figcaption {
	margin-top: .75rem;
	color: #d1d4df;
	font-size: .8rem;
	line-height: 1.6;
	text-align: center;
}
.brand-artwork--actions {
	max-width: 580px;
	margin-inline: auto;
}
.brand-artwork--actions .brand-artwork__stage::before,
.brand-artwork--actions .brand-artwork__stage::after {
	content: "";
	position: absolute;
	inset: 12.5%;
	border-radius: 50%;
	background: linear-gradient(90deg, #6062d000, #6062d099);
	animation: brand-artwork-orbit 9s linear infinite;
	pointer-events: none;
}
.brand-artwork--actions .brand-artwork__stage::after {
	inset: 18.5%;
	animation-duration: 7s;
	animation-direction: reverse;
}
.brand-artwork--map {
	padding: 1.25rem;
	border: 1px solid #d8d2ee;
	border-radius: 18px;
	background: #f4f1ff;
}
.brand-artwork--map figcaption {
	color: #53576c;
}
.brand-artwork--map .brand-artwork__stage::before {
	content: "";
	position: absolute;
	top: 41.3%;
	left: 50%;
	width: 15%;
	aspect-ratio: 1;
	border: 2px solid #7863ef;
	border-radius: 50%;
	box-shadow: 0 0 0 .4rem #7863ef33;
	animation: brand-artwork-pulse 3s ease-out infinite;
	pointer-events: none;
}
.w-mod-js .brand-artwork:not(.is-revealed) .brand-artwork__stage::before,
.w-mod-js .brand-artwork:not(.is-revealed) .brand-artwork__stage::after {
	animation-play-state: paused;
}
@keyframes brand-artwork-orbit {
	to { transform: rotate(360deg); }
}
@keyframes brand-artwork-pulse {
	from { transform: translate(-50%, -50%) scale(.9); opacity: .8; }
	to { transform: translate(-50%, -50%) scale(1.65); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.brand-artwork .brand-artwork__stage::before,
	.brand-artwork .brand-artwork__stage::after {
		animation: none;
	}
	.brand-artwork--map .brand-artwork__stage::before {
		display: none;
	}
}
.page-jumps {
	border-bottom: 1px solid #d8d2ee;
	background: #f4f1ff;
}
.page-jumps > div {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 2rem;
	padding-block: 1rem;
}
.page-jumps a {
	color: #4d3d83;
	font-size: .85rem;
	font-weight: 500;
	text-decoration: none;
	padding-block: .35rem;
}
.page-jumps a:hover {
	color: #512aef;
	text-decoration: underline;
}
.page-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
}
.page-steps li {
	border-top: 2px solid #c9bcff;
	padding-top: 1.25rem;
}
.page-steps li > span, .page-number, .page-card .page-number {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #512aef;
	margin-bottom: 1rem;
}
.page-steps p, .page-card p {
	color: #53576c;
	font-size: .94rem;
}
.page-grid {
	display: grid;
	gap: 1.25rem;
}
.page-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.page-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-card {
	padding: 1.75rem;
	border: 1px solid #d9d2ee;
	border-radius: 10px;
	background: #ffffffa8;
}
.page-card p:last-child {
	margin-bottom: 0;
}
.event-flow__source {
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto 2.5rem;
	padding: 1rem 2rem;
	border-radius: 10px;
	background: #0f1824;
	color: #f8f7ff;
	text-align: center;
}
.event-flow__source span, .event-flow__source strong {
	display: block;
}
.event-flow__source span {
	color: #c8baff;
	font-size: .8rem;
	margin-bottom: .35rem;
}
.event-flow__source::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	height: 1.25rem;
	border-left: 2px solid #a995f9;
}
.event-flow__branches {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
.event-flow__branch {
	position: relative;
	min-width: 0;
	padding: 1.75rem;
	border: 1px solid #d9d2ee;
	border-radius: 10px;
	background: #fff;
}
.event-flow__branch::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: -1px;
	right: calc(-1.25rem - 1px);
	height: 1.25rem;
	border-top: 2px solid #a995f9;
}
.event-flow__branch:first-child::before {
	left: 50%;
}
.event-flow__branch:last-child::before {
	right: 50%;
}
.event-flow__branch::after {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	height: 1.25rem;
	border-left: 2px solid #a995f9;
}
.event-flow__branch > p:not(.page-number) {
	color: #53576c;
	font-size: .94rem;
}
.event-flow__branch > p.event-flow__path {
	padding-block: .75rem;
	border-top: 1px solid #e7e2ff;
	color: #512aef;
	font-weight: 600;
}
.page-note {
	font-size: .82rem;
	color: #53576c;
	margin-top: 1.5rem !important;
}
.page-note .home-text-link {
	display: inline;
	font-size: inherit;
}
.rule-examples {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}
.rule-examples > article {
	padding: 1.75rem;
	border-left: 3px solid #6e4cf5;
	background: #f0ecff;
}
.rule-examples > article:last-child {
	border-color: #8c879e;
	background: #eeecf3;
}
.rule-examples h3 {
	margin-top: 1.25rem;
}
.rule-examples dl {
	font-size: .85rem;
	margin-block: 1.25rem;
}
.rule-examples dl > div {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: .25rem 1rem;
	border-bottom: 1px solid #d6cfea;
	padding-block: .5rem;
}
.rule-examples dt {
	font-weight: 600;
}
.rule-examples dd {
	margin: 0;
}
.rule-examples p {
	font-size: .9rem;
	margin-bottom: 0;
}
.rebuild-visual {
	border: 1px solid #4a436e;
	border-radius: 14px;
	padding: 2rem;
	background: #1a2136;
	text-align: center;
}
.rebuild-visual > div {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .65rem;
}
.rebuild-visual span, .rebuild-visual b {
	border: 1px solid #8074a4;
	border-radius: 6px;
	padding: .65rem;
	font-size: .8rem;
}
.rebuild-visual b {
	background: #372e63;
}
.rebuild-visual .page-number, .rebuild-visual__arrow {
	color: #c8baff;
}
.rebuild-visual .rebuild-visual__arrow {
	margin-block: .75rem;
	font-size: 1.5rem;
}
.rebuild-visual > p:last-child {
	font-size: .8rem;
	margin: 1.5rem 0 0;
	color: #cdd1df;
}
.page-facts article {
	padding-block: 1.2rem;
	border-bottom: 1px solid #d4cee7;
}
.page-facts article:first-child {
	padding-top: 0;
}
.page-facts p {
	font-size: .93rem;
	margin: 0;
}
.support-details {
	align-items: start;
	margin-top: 2.5rem;
}
.support-details a, .pricing-page .page-note a {
	color: #512aef;
}
.section-about-us-feature .hero-image-wrapper {
	margin-right: 0;
}
.page-section--dark .page-facts article {
	border-color: #41485b;
}
.page-section--dark .page-facts p {
	color: #cdd1df;
}
.page-cta {
	text-align: center;
	background: linear-gradient(115deg, #ebbba7, #cfc7f8);
}
.page-cta h2, .page-cta > div > p:not(.home-eyebrow) {
	max-width: 740px;
	margin-inline: auto;
}
.page-cta .home-eyebrow, .page-cta .home-actions {
	justify-content: center;
}
.page-cta .home-actions {
	margin-top: 1.75rem;
}
.page-notice {
	background: #ede8ff;
	border-left: 3px solid #6e4cf5;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}
.page-notice p {
	margin: .5rem 0 0;
	font-size: .9rem;
	max-width: 950px;
}
.pricing-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}
.plan-card {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	border: 1px solid #d4cbe9;
	border-radius: 10px;
	background: #fff;
}
.plan-card--accent {
	border: 2px solid #6e4cf5;
	padding: calc(1.5rem - 1px);
	background: #f3efff;
}
.plan-card .home-eyebrow {
	font-size: .64rem;
	min-height: 2.1rem;
	letter-spacing: .07em;
}
.plan-card h2 {
	font-size: 1.75rem;
}
.plan-card > p:not(.home-eyebrow) {
	font-size: .87rem;
}
.plan-card .plan-description {
	min-height: 4.5rem;
}
.plan-card > p.plan-price {
	color: #1e1b4b;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.25;
	margin-block: .5rem 1.25rem;
}
.plan-price span {
	display: block;
	color: #53576c;
	font-size: .72rem;
	font-weight: 400;
	line-height: 1.5;
	margin-top: .3rem;
}
.plan-card dl {
	font-size: .83rem;
	margin: 0 0 1.75rem;
}
.plan-card dl > div {
	padding-block: .8rem;
	border-top: 1px solid #e0daed;
}
.plan-card dt {
	color: #36304e;
	font-size: .7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: .3rem;
}
.plan-card dd {
	margin: 0;
	color: #53576c;
}
.plan-card .home-button {
	margin-top: auto;
	padding-inline: .75rem;
	font-size: .8rem;
}
.plan-card dl > div:nth-child(-n+2) dd {
	color: #1e1b4b;
	font-size: 1rem;
	font-weight: 600;
}
.usage-grid .page-card {
	display: flex;
	flex-direction: column;
}
.usage-grid + .page-notice {
	margin-top: 1.5rem;
}
.capacity-pack {
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: 1px solid #d4cee7;
}
.capacity-pack .page-number {
	font-size: .72rem;
}
.capacity-pack strong {
	color: #1e1b4b;
}
.pricing-usage-questions {
	margin-top: 2rem;
}
.community-panel {
	padding: 2rem;
	border: 1px solid #c9bfe4;
	border-radius: 12px;
	background: #f1edff;
}
.community-panel .home-text-link {
	display: flex;
	margin-top: 1rem;
}
.community-panel h3 {
	margin-top: 1rem;
}
.client-visual {
	padding: 1.75rem;
	border: 1px solid #4a436e;
	border-radius: 14px;
	background: #1a2136;
}
.client-visual .page-number {
	color: #c8baff;
}
.client-visual article {
	padding: 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid #686080;
	border-radius: 8px;
}
.client-visual article > div {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-block: .75rem;
}
.client-visual span {
	font-size: .8rem;
	background: #3e326c;
	padding: .4rem .7rem;
	border-radius: 5px;
}
.client-visual small, .client-visual > p:last-child {
	color: #cdd1df;
	font-size: .8rem;
}
.client-visual > p:last-child {
	margin: 0;
}
.delivery-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.delivery-list li {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 1.5rem;
	padding-block: 1.4rem;
	border-bottom: 1px solid #c9c0e5;
}
.delivery-list li > span {
	color: #6e4cf5;
	font-size: 1.8rem;
	font-weight: 500;
}
.delivery-list h3 {
	margin-bottom: .5rem;
}
.delivery-list p {
	margin: 0;
	color: #53576c;
}
.solution-index a {
	display: grid;
	grid-template-columns: 3rem 1fr 2rem;
	gap: 1rem;
	align-items: center;
	padding: 1.75rem .5rem;
	border-bottom: 1px solid #d4cbe9;
	text-decoration: none;
	color: #0f1824;
}
.solution-index a:hover {
	background: #ede7ff;
}
.solution-index a > span, .solution-index a > b {
	color: #512aef;
}
.solution-index h3 {
	font-size: 1.5rem;
	margin-bottom: .5rem;
}
.solution-index p {
	margin: 0;
	color: #53576c;
}
.solution-story {
	margin: 1.5rem 0;
}
.solution-story dt {
	color: #512aef;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	margin-bottom: .4rem;
}
.solution-story dd {
	color: #53576c;
	margin: 0 0 1.25rem;
}
.page-section--dark .solution-story dt {
	color: #c8baff;
}
.page-section--dark .solution-story dd {
	color: #cdd1df;
}
.solution-scenario {
	padding: 2rem;
	border: 1px solid #c9bfe4;
	border-radius: 12px;
	background: #f1edff;
}
.solution-scenario ol {
	list-style: none;
	padding: 0;
	margin: 0;
}
.solution-scenario li {
	padding: 1.25rem 0;
	border-bottom: 1px solid #c9bfe4;
}
.solution-scenario li > span {
	display: block;
	color: #512aef;
	font-size: .8rem;
	margin-bottom: .4rem;
}
.solution-scenario strong {
	display: block;
	font-size: 1rem;
	font-weight: 500;
}
.connector-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
}
.connector-heading {
	margin-block: 2.5rem 1.25rem !important;
}
.connector {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 6rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #d9d2ee;
	border-radius: 8px;
	text-decoration: none;
	color: #0f1824;
}
.connector:hover {
	border-color: #6e4cf5;
	background: #f3efff;
	color: #1e1b4b;
}
.connector img {
	width: 32px;
	height: 32px;
	object-fit: contain;
	flex: 0 0 32px;
}
.connector > span:not(.connector__arrow) {
	min-width: 0;
}
.connector strong {
	display: block;
	font-size: .95rem;
	font-weight: 600;
}
.connector small {
	display: block;
	font-size: .72rem;
	color: #53576c;
	margin-top: .25rem;
}
.connector__arrow {
	margin-left: auto;
	color: #512aef;
}
.contact-section {
	background: linear-gradient(135deg, #e7e2ff, #f5f2ff 65%);
}
.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: start;
	gap: 4rem;
}
.contact-copy h1 > span {
	color: #512aef;
}
.contact-copy > .page-lead {
	font-size: 1.1rem;
	color: #53576c;
	margin-block: 1.5rem 2rem;
}
.contact-paths article {
	border-top: 1px solid #c9bfe4;
	padding-block: 1.2rem;
}
.contact-paths h2 {
	font-size: 1.05rem;
	margin-bottom: .4rem;
	letter-spacing: -.02em;
}
.contact-paths p {
	margin: 0;
	font-size: .9rem;
	color: #53576c;
}
.contact-resources {
	display: grid;
	gap: 1rem;
	margin-top: 2rem;
}
.contact-resources > a:last-child {
	color: #512aef;
	font-size: .9rem;
}
.contact-panel {
	padding: 2rem;
	background: #fff;
	border: 1px solid #d9d2ee;
	border-radius: 12px;
	box-shadow: 0 12px 48px #1e1b4b0c;
}
.contact-fields label {
	display: block;
	font-size: .85rem;
	font-weight: 500;
	margin-bottom: .5rem;
}
.contact-fields label span {
	color: #626276;
	font-size: .72rem;
	font-weight: 400;
}
.contact-fields .form-input {
	font-family: inherit;
	font-size: .9rem;
	margin-bottom: 1.25rem;
	min-height: 3rem;
	padding: .7rem .8rem;
	border-color: #8b819d;
	border-radius: 5px;
	color: #0f1824;
	background: #fcfbff;
}
.contact-fields .form-input::placeholder {
	color: #696579;
}
.contact-fields textarea.form-input {
	min-height: 8rem;
	resize: vertical;
}
.contact-field-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
.contact-fields .contact-us-privacy-notice {
	font-size: .75rem;
	color: #53576c;
}
.contact-fields .contact-us-privacy-notice a {
	color: #512aef;
}
.contact-fields button {
	cursor: pointer;
}
.page-faq {
	max-width: 850px;
	margin: 0 auto 2rem;
}
.page-faq details {
	border-bottom: 1px solid #d4cbe9;
}
.page-faq summary {
	position: relative;
	padding: 1.4rem 2rem 1.4rem 0;
	font-weight: 600;
	font-size: 1.05rem;
	list-style: none;
	cursor: pointer;
}
.page-faq summary::-webkit-details-marker {
	display: none;
}
.page-faq summary::after {
	content: "+";
	position: absolute;
	right: 0;
	color: #512aef;
}
.page-faq details[open] summary::after {
	content: "−";
}
.page-faq p {
	color: #53576c;
	max-width: 780px;
}
.home-plan-path a {
	color: inherit;
	text-decoration: none;
}
.home-plan-path a:hover {
	text-decoration: underline;
}
@media screen and (min-width: 992px) {
	.navbar-link {
		padding-inline: .75rem;
		font-size: .9rem;
	}
	.navbar-link[aria-current="page"] {
		color: #c8baff;
	}
}
@media screen and (max-width: 1100px) {
	.page-split, .contact-layout {
		gap: 2rem;
	}
	.pricing-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 991px) {
	.event-flow__branches {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
		padding-left: 1.5rem;
		border-left: 2px solid #a995f9;
	}
	.event-flow__source {
		margin-left: 0;
		margin-bottom: 1.5rem;
	}
	.event-flow__source::after {
		left: 0;
		height: 1.5rem;
	}
	.event-flow__branch::before, .event-flow__branch:first-child::before,
	.event-flow__branch:last-child::before {
		top: 2rem;
		bottom: auto;
		left: calc(-1.5rem - 2px);
		right: auto;
		width: 1.5rem;
		height: 0;
	}
	.event-flow__branch::after {
		display: none;
	}
	.page-split, .contact-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}
	.page-hero .page-visual, .page-hero .client-visual {
		max-width: 620px;
	}
	.page-steps, .page-grid--three, .connector-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.product-example .identity-demo {
		max-width: 650px;
	}
	.navbar-menu a[aria-current="page"] {
		color: #512aef;
	}
}
@media screen and (max-width: 600px) {
	.section-about-us-values .features--background {
		padding: 2rem 1.25rem;
	}
	.section-about-us-values .features {
		margin-top: 2.5rem;
	}
	.page-hero, .page-section, .page-cta {
		padding-block: 3rem;
	}
	.site-page h1 {
		font-size: 2.3rem;
	}
	.page-hero .page-lead {
		font-size: 1rem;
	}
	.page-steps, .page-grid--three, .page-grid--two, .connector-grid,
	.pricing-grid, .rule-examples, .contact-field-pair {
		grid-template-columns: minmax(0, 1fr);
	}
	.page-split {
		gap: 2rem;
	}
	.page-jumps > div {
		gap: .4rem 1rem;
	}
	.page-jumps a {
		font-size: .78rem;
	}
	.page-card, .plan-card, .community-panel, .client-visual,
	.rebuild-visual, .contact-panel, .rule-examples > article, .event-flow__branch {
		padding: 1.25rem;
	}
	.plan-card--accent {
		padding: calc(1.25rem - 1px);
	}
	.plan-card .home-eyebrow {
		min-height: 0;
	}
	.plan-card .plan-description {
		min-height: 0;
	}
	.contact-field-pair {
		gap: 0;
	}
	.solution-index a {
		grid-template-columns: 1.5rem 1fr 1rem;
		gap: .75rem;
	}
	.solution-index h3 {
		font-size: 1.2rem;
	}
	.solution-index p {
		font-size: .88rem;
	}
	.delivery-list li {
		grid-template-columns: 2rem 1fr;
		gap: 1rem;
	}
	.site-page .home-button {
		font-size: .82rem;
	}
}
