/* Public site chrome and homepage. Loaded after legacy styles. */

body {
	font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
	color: #0f172a;
	background: #EEF1F6;
	padding-top: 84px;
}

.top-header .navbar.rz-nav {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
	min-height: 76px;
	align-items: center;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: max(20px, calc((100% - 1160px) / 2));
	padding-right: max(20px, calc((100% - 1160px) / 2));
	background: rgba(255, 255, 255, 0.86) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow: none;
	flex-wrap: nowrap;
	transition: box-shadow .3s ease, background .3s ease;
}

.top-header .navbar.rz-nav.rz-nav-scrolled {
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.top-header .navbar-brand {
	padding: 0;
	margin-right: 12px;
	flex: 0 0 auto;
}

.rz-brand {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin-left: 0;
}

.top-header .navbar-brand .rz-brand-mark {
	width: 36px !important;
	height: 36px !important;
	max-width: none;
	border-radius: 10px;
	object-fit: cover;
	background: transparent !important;
	padding: 0 !important;
}

.top-header .navbar-brand .rz-brand-word {
	height: 24px !important;
	width: auto !important;
	max-width: none;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0;
}

.rz-nav .navbar-collapse {
	flex-grow: 1;
	justify-content: flex-end;
}

.top-header .navbar .navbar-nav.menu-section-class {
	width: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-right: 0 !important;
	margin-left: auto !important;
	justify-content: flex-end;
	align-items: center;
}

.rz-nav .nav-item,
.rz-nav .navbar-nav .nav-item {
	padding: 0 !important;
	display: flex;
	align-items: center;
}

.rz-nav .login {
	margin-top: 0;
}

.rz-menu {
	flex-wrap: nowrap;
	align-items: center;
	gap: 2px;
}

.rz-menu .nav-link {
	position: relative;
	color: #334155 !important;
	font-weight: 600;
	font-size: 13.5px;
	padding: 8px 8px !important;
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.rz-menu .nav-link::after {
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 2px;
	height: 2px;
	border-radius: 99px;
	background: linear-gradient(90deg, #2563eb, #06b6d4);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .28s ease;
}

.rz-menu .nav-link:hover {
	color: #1d4ed8 !important;
}

.rz-menu .nav-link:hover::after {
	transform: scaleX(1);
}

a.rz-login.login-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: 4px;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 999px;
	background: linear-gradient(135deg, #1d4ed8, #0891b2, #22d3ee) !important;
	background-size: 180% 180%;
	color: #fff !important;
	font-weight: 700;
	font-size: 13.5px;
	text-transform: none;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
	animation: rz-sheen 5s ease infinite, rz-login-glow 2.6s ease-in-out infinite;
	transition: transform .25s ease;
}

a.rz-login.login-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(37, 99, 235, 0.34);
	color: #fff !important;
	background: linear-gradient(135deg, #1d4ed8, #0891b2) !important;
}

a.rz-demo {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-left: 4px;
	padding: 9px 12px !important;
	border-radius: 999px;
	border: 1.5px solid #1d4ed8 !important;
	background: linear-gradient(135deg, #fff, #dbeafe, #fff) !important;
	background-size: 180% 180%;
	color: #1d4ed8 !important;
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none !important;
	animation: rz-sheen 3.2s ease infinite, rz-demo-glow 2.2s ease-out infinite;
	transition: transform .25s ease, color .25s ease;
}

a.rz-demo::after {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: inherit;
	border: 2px solid rgba(37, 99, 235, 0.55);
	pointer-events: none;
	animation: rz-demo-ring 2.2s ease-out infinite;
}

a.rz-demo:hover {
	background: #eff6ff !important;
	color: #1e40af !important;
	transform: translateY(-1px);
	animation: none;
}

a.rz-demo:hover::after {
	opacity: 0;
	animation: none;
}

.rz-langs {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: 6px;
	list-style: none;
}

.rz-langs .flag-class {
	display: inline-flex;
	padding: 3px;
	border-radius: 999px;
	border: 2px solid transparent;
	opacity: .55;
	transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}

.rz-langs .flag-class img,
li.flag-class a img {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	padding: 0;
	object-fit: cover;
}

.rz-langs .flag-class.active-lang,
.rz-langs .flag-class:hover {
	opacity: 1;
	border-color: #93c5fd;
	transform: translateY(-1px);
}

.rz-langs .flag-class.active-lang {
	animation: rz-lang-ring 2s ease-in-out infinite;
}

.rz-langs .flag-class.active-lang img {
	animation: rz-icon-pop 2.2s ease-in-out infinite;
}

.rz-toggler {
	width: 44px;
	height: 44px;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px;
	padding: 0;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background: #fff;
}

.rz-toggler span {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 99px;
	background: #0f172a;
}

@media (max-width: 991px) {
	.rz-toggler {
		display: inline-flex;
	}

	.top-header .navbar.rz-nav .navbar-collapse {
		background: #fff;
		border: 1px solid #e2e8f0;
		border-radius: 18px;
		margin-top: 12px;
		padding: 12px;
		box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
	}

	.rz-nav .navbar-collapse {
		flex-grow: 0;
	}

	.top-header .navbar .navbar-nav.menu-section-class {
		margin-left: 0 !important;
		align-items: flex-end;
		text-align: right;
	}

	.rz-menu .nav-link {
		text-align: right;
	}

	.rz-login,
	.rz-demo {
		margin: 8px 0 4px;
	}

	.rz-langs {
		margin: 8px 0 0;
		justify-content: flex-end;
	}
}

/* Homepage */
#home-scroll,
#howitwork-scroll,
#security-scroll,
#signup-scroll,
#pricing-scroll,
#contactus-scroll,
#integrations-scroll,
#faq-scroll {
	scroll-margin-top: 96px;
}

.rz-home {
	overflow: hidden;
	background: transparent;
}

body:not([data-home="1"]) .rz-home {
	position: relative;
	margin-top: -84px;
	padding-top: 84px;
	background:
		radial-gradient(820px 340px at 12% 0, rgba(37, 99, 235, 0.08), transparent 62%),
		radial-gradient(680px 300px at 88% 0, rgba(6, 182, 212, 0.07), transparent 64%),
		transparent;
}

body:not([data-home="1"]) .rz-home::before,
body:not([data-home="1"]) .rz-home::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(8px);
	pointer-events: none;
	z-index: 0;
}

body:not([data-home="1"]) .rz-home::before {
	width: 280px;
	height: 280px;
	left: -80px;
	top: 16px;
	background: rgba(37, 99, 235, 0.08);
}

body:not([data-home="1"]) .rz-home::after {
	width: 220px;
	height: 220px;
	right: 6%;
	top: 8px;
	background: rgba(6, 182, 212, 0.08);
}

body:not([data-home="1"]) .rz-home > * {
	position: relative;
	z-index: 1;
}

.rz-wrap {
	width: min(1160px, calc(100% - 40px));
	margin: 0 auto;
}

.rz-hero {
	position: relative;
	padding: 54px 0 28px;
}

.rz-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(8px);
	pointer-events: none;
}

.rz-orb-a {
	width: 280px;
	height: 280px;
	left: -80px;
	top: 40px;
	background: rgba(37, 99, 235, 0.08);
}

.rz-orb-b {
	width: 220px;
	height: 220px;
	right: 8%;
	top: 20px;
	background: rgba(6, 182, 212, 0.08);
}

.rz-orb-c {
	width: 160px;
	height: 160px;
	right: 28%;
	bottom: 10px;
	background: rgba(99, 102, 241, 0.07);
}

.rz-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
	gap: 36px;
	align-items: center;
}

.rz-hero-copy > * {
	animation: rz-rise .7s ease both;
}

.rz-hero-copy > *:nth-child(2) { animation-delay: .08s; }
.rz-hero-copy > *:nth-child(3) { animation-delay: .16s; }
.rz-hero-copy > *:nth-child(4) { animation-delay: .24s; }
.rz-hero-copy > *:nth-child(5) { animation-delay: .32s; }

.rz-kicker,
.rz-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #1d4ed8;
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid #dbeafe;
	border-radius: 999px;
	padding: 6px 12px 6px 8px;
}

.rz-kicker-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
	animation: rz-pulse 1.8s infinite;
}

.rz-hero-title #heading,
.rz-hero-title h6,
.rz-hero-title p {
	margin: 0;
	color: #0f172a;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.08;
	font-size: clamp(32px, 3vw, 42px);
	font-family: Inter, sans-serif;
}

.rz-hero-title h6 {
	background: linear-gradient(100deg, #1d4ed8 10%, #0891b2 55%, #22d3ee 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rz-lead {
	margin: 18px 0 0;
	max-width: 520px;
	color: #475569;
	font-size: 18px;
	line-height: 1.6;
}

.rz-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.rz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 20px;
	border-radius: 14px;
	font-weight: 700;
	text-decoration: none !important;
	border: 0;
	cursor: pointer;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.rz-btn-primary {
	position: relative;
	overflow: hidden;
	color: #fff !important;
	background: linear-gradient(135deg, #1d4ed8, #0284c7 55%, #06b6d4);
	background-size: 180% 180%;
	animation: rz-sheen 6s ease infinite;
	box-shadow: 0 12px 24px rgba(29, 78, 216, 0.28);
}

.rz-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(29, 78, 216, 0.34);
	color: #fff !important;
}

.rz-btn-ghost {
	color: #0f172a !important;
	background: #fff;
	border: 1px solid #dbe3ee;
}

.rz-btn-ghost:hover {
	transform: translateY(-2px);
	border-color: #93c5fd;
}

.rz-btn-line {
	color: #1d4ed8 !important;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	margin-top: 8px;
}

.rz-btn-line:hover {
	background: #dbeafe;
	transform: translateY(-1px);
}

.rz-btn-block {
	width: 100%;
	margin-top: 8px;
}

.rz-btn .rz-spinner {
	display: none;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rz-spin 0.7s linear infinite;
	flex: 0 0 auto;
}

.rz-btn.is-loading {
	cursor: wait;
	pointer-events: none;
	opacity: 0.92;
}

.rz-btn.is-loading .rz-spinner {
	display: inline-block;
}

.rz-btn.is-loading:hover {
	transform: none;
}

@keyframes rz-spin {
	to { transform: rotate(360deg); }
}

.rz-hero-points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.rz-hero-points li {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
}

.rz-hero-stage {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	height: auto;
}

.rz-stage-board {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	height: 440px;
}

.rz-stage-ring {
	position: absolute;
	inset: 0;
	border-radius: 28px;
	background: #fff;
	border: 1px solid #e8eef6;
	box-shadow: 0 30px 70px rgba(15, 23, 42, 0.12);
	overflow: hidden;
}

.rz-stage-laptop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	object-fit: cover;
	object-position: left top;
	border-radius: 28px;
	background: #fff;
}

.rz-stage-phone {
	position: relative;
	flex: 0 0 186px;
	width: 186px;
	z-index: 5;
	padding: 0;
	background: none;
	filter: drop-shadow(0 22px 36px rgba(15, 23, 42, 0.28));
	animation: rz-float 6.2s ease-in-out infinite reverse;
}

.rz-phone-frame {
	display: block;
	width: 100%;
	height: auto;
}

.rz-phone-screen {
	position: absolute;
	left: 6.64%;
	top: 3.02%;
	width: 87.38%;
	height: 94.14%;
	z-index: 1;
	overflow: hidden;
	border-radius: 11.8% / 5.5%;
	background: #fff;
}

.rz-phone-screen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.rz-float-chip {
	position: absolute;
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-width: 180px;
	padding: 12px 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid #e2e8f0;
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
	animation: rz-float 5.5s ease-in-out infinite;
}

.rz-float-chip strong {
	font-size: 14px;
	color: #1d4ed8;
}

.rz-float-chip span {
	font-size: 12px;
	color: #64748b;
	line-height: 1.35;
}

.rz-float-chip-1 { left: -6px; bottom: 70px; animation-delay: -1.5s; }
.rz-float-chip-2 { right: 8px; top: 18px; animation-delay: -2.4s; }

.rz-section {
	padding: 78px 0;
}

.rz-section-head {
	max-width: 760px;
	margin-bottom: 34px;
}

.rz-section-head h2,
.rz-feature-copy h2,
.rz-contact-copy h2 {
	margin: 10px 0 0;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.15;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: #0f172a;
}

.rz-steps,
.rz-role-grid,
.rz-price-grid,
.rz-integration-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.rz-step,
.rz-role {
	position: relative;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 22px;
	padding: 24px 22px 22px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.rz-step:hover,
.rz-role:hover,
.rz-option:hover,
.rz-form-card:hover {
	transform: translateY(-6px);
	border-color: #bfdbfe;
	box-shadow: 0 22px 40px rgba(37, 99, 235, 0.12);
}

.rz-step-icon {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	display: grid;
	place-items: center;
	background: linear-gradient(160deg, #eff6ff, #ecfeff);
	margin-bottom: 16px;
}

.rz-step-icon img,
.rz-role > img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.rz-steps .rz-step:nth-child(1) .rz-step-icon img {
	animation: rz-icon-float 3.2s ease-in-out infinite;
}

.rz-steps .rz-step:nth-child(2) .rz-step-icon img {
	animation: rz-icon-tilt 3.6s ease-in-out infinite;
}

.rz-steps .rz-step:nth-child(3) .rz-step-icon img {
	animation: rz-icon-pop 2.8s ease-in-out infinite;
}

.rz-step-icon {
	animation: rz-icon-glow 3.4s ease-in-out infinite;
}

.rz-steps .rz-step:nth-child(2) .rz-step-icon { animation-delay: .4s; }
.rz-steps .rz-step:nth-child(3) .rz-step-icon { animation-delay: .8s; }

.rz-step-no {
	position: absolute;
	top: 22px;
	right: 20px;
	font-size: 13px;
	font-weight: 800;
	color: #93c5fd;
}

.rz-step h3,
.rz-role h3,
.rz-option h4 {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.rz-step p,
.rz-feature-copy p,
.rz-role li,
.rz-option p,
.rz-option li,
.rz-contact-copy > .rz-lead,
.rz-transfer p {
	color: #475569;
	line-height: 1.65;
	margin: 0;
}

.rz-feature {
	padding: 28px 0 64px;
}

.rz-feature-alt {
	padding-top: 10px;
}

.rz-feature-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 42px;
	align-items: center;
}

.rz-feature-flip .rz-feature-media { order: 2; }
.rz-feature-flip .rz-feature-copy { order: 1; }

.rz-feature-media {
	background: #fff;
	border-radius: 28px;
	padding: 18px;
	border: 1px solid #e8eef6;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.rz-feature-media img {
	width: 100%;
	height: auto;
	display: block;
}

.rz-feature-media-dash img {
	border-radius: 16px;
}

.rz-feature-media-secure {
	display: grid;
	place-items: center;
	min-height: 320px;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 42%, #eff6ff, #fff 68%);
}

.rz-secure {
	position: relative;
	width: 240px;
	height: 260px;
	display: grid;
	place-items: center;
}

.rz-secure-shield {
	width: 168px;
	height: auto;
	filter: drop-shadow(0 18px 28px rgba(29, 78, 216, 0.28));
	animation: rz-icon-float 3.6s ease-in-out infinite;
}

.rz-secure-check {
	stroke-dasharray: 110;
	stroke-dashoffset: 110;
	animation: rz-secure-draw 2.8s ease-in-out infinite;
}

.rz-secure-ring {
	position: absolute;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 2px solid rgba(37, 99, 235, 0.28);
	animation: rz-secure-ripple 2.8s ease-out infinite;
}

.rz-secure-ring-b {
	animation-delay: 1.4s;
}

.rz-secure-badge {
	position: absolute;
	right: 28px;
	bottom: 36px;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #16a34a, #22c55e);
	box-shadow: 0 10px 20px rgba(22, 163, 74, 0.35);
	animation: rz-secure-badge 2.8s ease-in-out infinite;
}

.rz-secure-badge svg {
	width: 26px;
	height: 26px;
}

@keyframes rz-secure-draw {
	0% { stroke-dashoffset: 110; }
	35%, 80% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: 0; }
}

@keyframes rz-secure-ripple {
	0% { transform: scale(0.7); opacity: 0.65; }
	100% { transform: scale(1.45); opacity: 0; }
}

@keyframes rz-secure-badge {
	0%, 100% { transform: scale(1); }
	45% { transform: scale(1.08); }
}

.rz-roles {
	background: linear-gradient(180deg, rgba(239, 246, 255, 0.7), transparent);
}

.rz-role-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 14px;
	padding: 8px;
	border-radius: 16px;
	background: linear-gradient(160deg, #eff6ff, #ecfeff);
	display: grid;
	place-items: center;
}

.rz-role-icon svg {
	width: 42px;
	height: 42px;
	overflow: visible;
}

.rz-gear-spin {
	transform-origin: center;
	transform-box: fill-box;
}

.rz-people-ring {
	animation: rz-ring-march 2.8s linear infinite;
}

.rz-gear-spin {
	animation: rz-role-spin 5s linear infinite;
}

.rz-gear-spin-reverse {
	animation-duration: 7s;
	animation-direction: reverse;
}

.rz-approve-badge {
	transform-origin: center;
	transform-box: fill-box;
	animation: rz-approve-pop 2.4s ease-in-out infinite;
}

.rz-approve-check {
	stroke-dasharray: 16;
	stroke-dashoffset: 16;
	animation: rz-approve-draw 2.4s ease-in-out infinite;
}

@keyframes rz-role-spin {
	to { transform: rotate(360deg); }
}

@keyframes rz-ring-march {
	to { stroke-dashoffset: -24; }
}

@keyframes rz-approve-pop {
	0%, 62%, 100% { transform: scale(1); }
	78% { transform: scale(1.14); }
}

@keyframes rz-approve-draw {
	0%, 20% { stroke-dashoffset: 16; }
	48%, 100% { stroke-dashoffset: 0; }
}

.rz-role ul {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.rz-role li {
	position: relative;
	padding: 8px 0 8px 22px;
	border-top: 1px solid #f1f5f9;
}

.rz-role li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 15px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, #2563eb, #06b6d4);
}

.rz-contact {
	padding: 20px 0 80px;
}

.rz-contact-grid {
	display: grid;
	grid-template-columns: 1.35fr .75fr;
	gap: 28px;
	align-items: start;
}

.rz-transfer {
	margin-top: 22px;
}

.rz-transfer h3 {
	font-size: 22px;
	font-weight: 800;
	margin: 0 0 8px;
}

.rz-supplier {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-top: 12px !important;
	background: #fff;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	padding: 8px 12px;
}

.rz-supplier strong {
	color: #1d4ed8;
	letter-spacing: .04em;
}

.rz-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 16px;
}

.rz-option {
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 20px;
	padding: 18px;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.rz-option-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #64748b;
}

.rz-option-head em {
	font-style: normal;
	background: #dcfce7;
	color: #166534;
	border-radius: 999px;
	padding: 4px 8px;
	letter-spacing: 0;
	text-transform: none;
}

.rz-steps-title {
	margin: 14px 0 6px !important;
	font-weight: 700;
	color: #0f172a !important;
}

.rz-option ol {
	margin: 0 0 10px;
	padding-left: 18px;
}

.rz-option li + li {
	margin-top: 4px;
}

.rz-payroll {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rz-payroll a {
	text-decoration: none;
	background: #0f172a;
	color: #fff;
	border-radius: 999px;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 700;
	transition: transform .2s ease, background .2s ease;
}

.rz-payroll a:hover {
	background: #1d4ed8;
	transform: translateY(-2px);
	color: #fff;
}

.rz-form-card {
	position: sticky;
	top: 96px;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 24px;
	padding: 22px;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.rz-form-card label {
	display: block;
	margin: 12px 0 6px;
	font-size: 13px;
	font-weight: 700;
	color: #334155;
}

.rz-form-card input {
	width: 100%;
	height: 48px;
	border-radius: 12px;
	border: 1px solid #dbe3ee;
	padding: 0 14px;
	font-size: 15px;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.rz-form-card input:focus {
	border-color: #60a5fa;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.rz-success {
	text-align: center;
	padding: 18px 8px;
}

.rz-success img {
	width: 54px;
	margin-bottom: 10px;
}

.rz-home #accordion {
	border: 0;
	box-shadow: none;
	padding: 0;
	background: transparent;
}

.rz-home #accordion .card {
	border-radius: 16px;
}

.rz-home #accordion .card-header {
	padding: 0 !important;
	margin: 0;
	border-radius: 16px;
}

.rz-faq-wrap {
	width: min(1160px, calc(100% - 40px));
	max-width: none;
}

.rz-faq .card {
	border: 1px solid #e8eef6 !important;
	border-radius: 16px !important;
	margin-bottom: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
}

.rz-faq .card-header {
	background: #fff;
	border: 0;
	padding: 0;
}

.rz-faq #accordion .card-header .card-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 22px;
	color: #0f172a;
	font-family: Inter, sans-serif;
	font-weight: 700;
	text-align: left;
	line-height: 1.4;
	text-decoration: none;
}

.rz-faq .card-link::after {
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid #2563eb;
	border-bottom: 2px solid #2563eb;
	transform: rotate(45deg);
	transition: transform .25s ease;
	flex: none;
}

.rz-faq .card-link:not(.collapsed)::after {
	transform: rotate(-135deg);
	margin-top: 6px;
}

.rz-faq #accordion .card-body {
	color: #475569 !important;
	font-family: Inter, sans-serif;
	padding: 0 54px 18px 22px !important;
	text-align: left;
	line-height: 1.65;
}

.rz-pricing .rz-section-head .rz-lead {
	margin-top: 14px;
	max-width: 640px;
}

.rz-price {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.rz-price:hover {
	transform: translateY(-6px);
	border-color: #bfdbfe;
	box-shadow: 0 22px 40px rgba(37, 99, 235, 0.12);
}

.rz-price-top {
	padding: 26px 22px 0;
}

.rz-price h3 {
	margin: 0 0 8px;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #0f172a;
}

.rz-price-top p {
	margin: 0;
	color: #475569;
	font-size: 14.5px;
	line-height: 1.55;
}

.rz-price-users {
	margin-top: 16px !important;
	color: #94a3b8 !important;
	font-size: 14px !important;
}

.rz-price-band {
	margin-top: 18px;
	padding: 18px 22px 16px;
	background: linear-gradient(180deg, #eef2ff, #e0e7ff);
}

.rz-price-main {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}

.rz-price-main strong {
	font-size: 46px;
	line-height: 0.95;
	letter-spacing: -0.04em;
	color: #0f172a;
	font-weight: 800;
}

.rz-price-main span {
	padding-bottom: 4px;
	color: #334155;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.rz-price-custom {
	font-size: 32px !important;
	line-height: 1.15 !important;
	padding: 10px 0 6px;
}

.rz-price-monthly {
	margin: 12px 0 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.45;
}

.rz-price-monthly strong {
	color: #334155;
	font-weight: 700;
}

.rz-price .rz-btn {
	width: calc(100% - 44px);
	margin: 18px 22px 0;
}

.rz-price-includes {
	margin: 20px 22px 10px;
	font-weight: 800;
	font-size: 15px;
	color: #0f172a;
}

.rz-price ul {
	list-style: none;
	margin: 0;
	padding: 0 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rz-price ul.rz-price-only {
	margin-top: 20px;
}

.rz-price li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #334155;
	font-size: 14.5px;
	line-height: 1.4;
}

.rz-price li::before {
	content: "✓";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	border-radius: 50%;
	background: #dcfce7;
	color: #16a34a;
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
}

.rz-integrations .rz-section-head .rz-lead {
	margin-top: 14px;
}

.rz-integration {
	min-height: 148px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 26px 18px;
	background: #fff;
	border: 1px solid #e8eef6;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	text-decoration: none !important;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.rz-integration:hover {
	transform: translateY(-4px);
	border-color: #bfdbfe;
	box-shadow: 0 18px 36px rgba(37, 99, 235, 0.12);
}

.rz-integration img {
	width: min(210px, 86%);
	height: 56px;
	object-fit: contain;
}

.rz-integration span {
	color: #0f172a;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* Footer */
footer.rz-footer {
	position: relative;
	background: #0b1220;
	color: #cbd5e1;
	padding: 64px 0 0;
	overflow: hidden;
}

.rz-footer-inner {
	position: relative;
	width: min(1160px, calc(100% - 40px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr .8fr .9fr;
	gap: 36px;
	padding-bottom: 36px;
}

footer.rz-footer p,
footer.rz-footer span,
footer.rz-footer li,
footer.rz-footer a {
	font-family: Inter, sans-serif;
	text-align: left;
}

.rz-footer-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	padding: 8px 14px 8px 8px;
	background: #fff;
	border-radius: 16px;
	text-decoration: none;
}

.rz-footer-logo .rz-footer-mark {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	object-fit: cover;
	display: block;
}

.rz-footer-logo .rz-footer-word {
	height: 24px;
	width: auto;
	display: block;
}

.rz-footer-company {
	margin: 16px 0 6px !important;
	color: #fff !important;
	font-weight: 700;
}

.rz-footer-address,
.rz-footer-mails a,
.rz-footer-col li,
.rz-footer-bottom span {
	color: #94a3b8 !important;
	font-size: 14px;
	line-height: 1.6;
}

.rz-footer-mails {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 12px;
}

.rz-footer-mails a:hover,
.rz-footer-col a:hover {
	color: #fff !important;
}

.rz-social {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.rz-social a {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition: transform .2s ease, background .2s ease;
}

.rz-social a:hover {
	transform: translateY(-3px);
	background: #1d4ed8;
}

.rz-social svg {
	width: 16px;
	height: 16px;
	fill: #fff;
}

.rz-footer-apps {
	margin-top: 22px;
}

.rz-footer-apps p {
	margin: 0 0 10px !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
}

.rz-store-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rz-store-badges a {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}

.rz-store-badges img {
	display: block;
	height: 42px;
	width: auto;
}

.rz-footer-col h5 {
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 8px 0 14px;
}

.rz-footer-col ul,
.rz-footer-meta {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rz-footer-col li {
	margin-bottom: 8px;
}

.rz-footer-col a {
	color: #cbd5e1 !important;
	text-decoration: none;
}

.rz-footer-langs {
	display: flex;
	gap: 8px;
	margin-top: 16px;
}

.rz-footer-langs a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	text-decoration: none;
	opacity: .7;
}

.rz-footer-langs a.active-lang,
.rz-footer-langs a:hover {
	opacity: 1;
	border-color: #60a5fa;
	background: rgba(37, 99, 235, 0.2);
}

.rz-footer-langs a.active-lang {
	animation: rz-lang-ring 2s ease-in-out infinite;
}

.rz-footer-langs a.active-lang img {
	animation: rz-icon-pop 2.2s ease-in-out infinite;
}

.rz-footer-langs img {
	width: 18px;
	height: 18px;
	border-radius: 50%;
}

.rz-footer-langs span {
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
}

.rz-footer-bottom {
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	width: min(1160px, calc(100% - 40px));
	margin: 0 auto;
	padding: 16px 0 22px;
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.terms_privacy-content,
.form-heading {
	font-family: Inter, sans-serif;
}

.rz-legal-page {
	padding-top: 36px;
}

.rz-legal-page .rz-section-head,
.rz-legal {
	text-align: left;
}

.rz-legal-page .rz-section-head h1 {
	margin: 10px 0 0;
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.15;
	letter-spacing: -0.03em;
	font-weight: 800;
	color: #0f172a;
}

.rz-legal {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.06);
	border-radius: 24px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
	padding: 36px 40px 28px;
	color: #334155;
	font-size: 16px;
	line-height: 1.7;
	overflow-x: auto;
}

.rz-legal h3 {
	margin: 28px 0 10px;
	color: #0f172a;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.rz-legal p {
	margin: 0 0 14px;
}

.rz-legal ul {
	margin: 0 0 16px;
	padding-left: 20px;
}

.rz-legal li + li {
	margin-top: 6px;
}

.rz-legal a {
	color: #1d4ed8;
	font-weight: 600;
}

.rz-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 8px 0 18px;
}

.rz-legal th,
.rz-legal td {
	border: 1px solid #e2e8f0;
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
}

.rz-legal th {
	background: #f8fafc;
	color: #0f172a;
	font-size: 13px;
	letter-spacing: 0.02em;
}

@media (max-width: 700px) {
	.rz-legal {
		padding: 22px 18px 16px;
		border-radius: 18px;
	}
}

@keyframes rz-rise {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: none; }
}

@keyframes rz-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

@keyframes rz-pulse {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
	70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
	100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@keyframes rz-icon-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-7px); }
}

@keyframes rz-icon-tilt {
	0%, 100% { transform: rotate(0deg); }
	30% { transform: rotate(-10deg); }
	70% { transform: rotate(10deg); }
}

@keyframes rz-icon-pop {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.14); }
}

@keyframes rz-icon-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
	50% { box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18); }
}

@keyframes rz-login-glow {
	0%, 100% { box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28); }
	50% { box-shadow: 0 12px 28px rgba(8, 145, 178, 0.55); }
}

@keyframes rz-demo-glow {
	0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.45); }
	70% { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
}

@keyframes rz-demo-ring {
	0% { transform: scale(0.96); opacity: 0.75; }
	100% { transform: scale(1.22); opacity: 0; }
}

@keyframes rz-lang-ring {
	0% { box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.55); }
	70% { box-shadow: 0 0 0 7px rgba(96, 165, 250, 0); }
	100% { box-shadow: 0 0 0 0 rgba(96, 165, 250, 0); }
}

@keyframes rz-sheen {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

@media (max-width: 991px) {
	.rz-hero-grid,
	.rz-feature-grid,
	.rz-contact-grid,
	.rz-steps,
	.rz-role-grid,
	.rz-price-grid,
	.rz-integration-row,
	.rz-options,
	.rz-footer-inner {
		grid-template-columns: 1fr;
	}

	.rz-feature-flip .rz-feature-media,
	.rz-feature-flip .rz-feature-copy {
		order: initial;
	}

	.rz-hero-stage {
		height: auto;
		min-height: 0;
		margin-top: 8px;
		gap: 12px;
	}

	.rz-stage-board {
		height: 300px;
	}

	.rz-stage-ring {
		inset: 0;
	}

	.rz-stage-phone {
		flex-basis: 132px;
		width: 132px;
	}

	.rz-float-chip-1 {
		left: 8px;
		bottom: 18px;
	}

	.rz-float-chip-2 {
		display: none;
	}

	.rz-form-card {
		position: static;
	}

	.rz-footer-bottom {
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.rz-hero {
		padding-top: 28px;
	}

	.rz-stage-board {
		height: 240px;
	}

	.rz-stage-phone {
		flex-basis: 112px;
		width: 112px;
	}

	.rz-float-chip-2 {
		display: none;
	}

	.rz-section {
		padding: 52px 0;
	}
}

/* Cookie and privacy consent */
body.rz-consent-locked {
	overflow: hidden;
}

body.rz-consent-locked > :not(#cookieBanner) {
	filter: blur(7px);
	pointer-events: none;
	user-select: none;
}

.rz-cookie {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: stretch;
	padding: 0;
}

.rz-cookie[hidden] {
	display: none !important;
}

.rz-cookie-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.18);
}

.rz-cookie.rz-cookie-readable {
	pointer-events: none;
}

.rz-cookie.rz-cookie-readable .rz-cookie-backdrop {
	display: none;
}

.rz-cookie.rz-cookie-readable .rz-cookie-card {
	pointer-events: auto;
}

body.rz-consent-readable {
	padding-bottom: 220px;
}

.rz-cookie-actions {
	margin-right: 8px;
}

.rz-cookie-card {
	position: relative;
	z-index: 1;
	width: 100%;
	pointer-events: auto;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 16px 28px;
	align-items: center;
	padding: 22px 28px;
	background:
		radial-gradient(420px 160px at 0% 0%, rgba(37, 99, 235, 0.05), transparent 70%),
		rgba(238, 241, 246, 0.96);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 0;
	border-top: 1px solid #e8eef6;
	border-radius: 0;
	box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.12);
	animation: rz-cookie-in .4s ease both;
}

.rz-cookie-mark {
	width: 48px;
	height: 48px;
	margin-top: 2px;
	border-radius: 16px;
	display: grid;
	place-items: center;
	color: #1d4ed8;
	background: linear-gradient(160deg, #eff6ff, #ecfeff);
	border: 1px solid #dbeafe;
}

.rz-cookie-mark svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}

.rz-cookie-mark circle {
	fill: #fff;
}

.rz-cookie-title {
	margin: 0 0 6px;
	color: #0f172a;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.rz-cookie-copy p {
	margin: 0;
	color: #475569;
	font-size: 13.5px;
	line-height: 1.55;
}

.rz-cookie-copy p + p {
	margin-top: 6px;
}

.rz-cookie-copy strong {
	color: #0f172a;
	font-weight: 700;
}

.rz-cookie-copy a {
	color: #1d4ed8;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.rz-cookie-copy a:hover {
	color: #1e40af;
}

.rz-cookie-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 210px;
}

.rz-cookie-actions .rz-btn {
	width: 100%;
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
}

@keyframes rz-cookie-in {
	from { transform: translateY(16px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

@media (max-width: 860px) {
	.rz-cookie {
		padding: 0;
	}

	.rz-cookie-card {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.rz-cookie-actions {
		grid-column: 1 / -1;
		flex-direction: row;
		min-width: 0;
	}

	.rz-cookie-actions .rz-btn {
		flex: 1;
	}
}

@media (max-width: 560px) {
	.rz-cookie-card {
		grid-template-columns: 1fr;
		padding: 16px;
	}

	.rz-cookie-actions {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rz-orb,
	.rz-stage-laptop,
	.rz-stage-phone,
	.rz-float-chip,
	.rz-kicker-dot,
	.rz-btn-primary,
	.rz-login.login-btn,
	a.rz-demo,
	a.rz-demo::after,
	.rz-step-icon,
	.rz-step-icon img,
	.rz-people-ring,
	.rz-gear-spin,
	.rz-approve-badge,
	.rz-approve-check,
	.rz-langs .flag-class.active-lang,
	.rz-langs .flag-class.active-lang img,
	.rz-footer-langs a.active-lang,
	.rz-footer-langs a.active-lang img,
	.rz-secure-shield,
	.rz-secure-check,
	.rz-secure-ring,
	.rz-secure-badge,
	.rz-hero-copy > *,
	.rz-cookie-card,
	body.rz-consent-locked > :not(#cookieBanner) {
		animation: none !important;
	}
}
