/* Layout: one dark twilight canvas broken by light Brand Cloud bands — hero, pinned horizontal product strip, auto-playing walkthrough, agent card, calculator, guardrails, giant closing line. Deliberately single look. */
:root {
	--night: #0b1a38;
	--night2: #0f2650;
	--violet: #28164f;
	--ink: #070b16;
	--blue: #4285f4;
	--blue6: #2e6edb;
	--blue3: #8db5f9;
	--ai: #9a6df1;
	--ai3: #b596f7;
	--mint: #3ec07e;
	--amber: #f5a524;
	--rose: #ec6b6b;
	--paper: #f7faff;
	--paper2: #eef4ff;
	--text: #14171c;
	--text2: #4e5562;
	--line: #dde2e8;
	--on: #f3f6ff;
	--on2: rgba(243, 246, 255, 0.68);
	--on3: rgba(243, 246, 255, 0.42);
	--hair: rgba(243, 246, 255, 0.12);
	--display:
		'Urbanist', 'Noto Sans Devanagari', 'Noto Sans Tamil', 'Noto Sans Kannada', 'Noto Sans Telugu',
		'Noto Sans Malayalam', 'Noto Sans Bengali', 'Noto Sans Gujarati', 'Noto Sans Gurmukhi',
		'Noto Sans Oriya', ui-sans-serif, system-ui, sans-serif;
	--mono: 'DM Mono', ui-monospace, Menlo, monospace;
	color-scheme: dark;
}
* {
	box-sizing: border-box;
}
html {
	background: var(--ink);
	overflow-x: clip;
}
main,
footer,
section {
	overflow-x: clip;
}
body {
	margin: 0;
	background: var(--ink);
	color: var(--on);
	font-family: var(--display);
	font-weight: 400;
	font-size: 19px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
body::before {
	content: '';
	position: fixed;
	inset: 0 0 auto;
	height: env(safe-area-inset-top, 0px);
	z-index: 60;
	background: var(--ink);
}
h1,
h2,
h3,
h4,
b,
strong {
	font-weight: 500;
}
h1,
h2,
h3 {
	margin: 0;
	letter-spacing: -0.035em;
	text-wrap: balance;
	line-height: 1;
}
p {
	margin: 0;
}
a {
	color: inherit;
	text-decoration: none;
}
button {
	font: inherit;
	color: inherit;
	cursor: pointer;
}
:focus-visible {
	outline: 2px solid var(--blue3);
	outline-offset: 3px;
	border-radius: 8px;
}
.wrap {
	max-width: 1320px;
	margin: 0 auto;
	padding-left: max(20px, env(safe-area-inset-left, 0px));
	padding-right: max(20px, env(safe-area-inset-right, 0px));
}
.mono {
	font-family: var(--mono);
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.grain {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 70;
	opacity: 0.06;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.prog {
	position: fixed;
	left: 0;
	top: env(safe-area-inset-top, 0px);
	height: 2px;
	width: 100%;
	transform-origin: 0 50%;
	transform: scaleX(0);
	background: linear-gradient(90deg, var(--blue), var(--ai));
	z-index: 65;
}

/* loader */
.loader {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: var(--ink);
	display: grid;
	place-items: center;
	animation: lout 0.6s ease 1.9s forwards;
}
.loader svg {
	width: min(360px, 64vw);
	color: var(--on);
}
.loader .st {
	stroke-dasharray: 420;
	stroke-dashoffset: 420;
	animation: ldraw 1.3s cubic-bezier(0.6, 0, 0.2, 1) 0.1s forwards;
}
.loader circle {
	transform-origin: 258px 42px;
	transform: scale(0);
	animation: lpop 0.5s cubic-bezier(0.2, 1.4, 0.4, 1) 1.1s forwards;
}
.loader .lc {
	position: absolute;
	bottom: max(28px, env(safe-area-inset-bottom, 0px));
	left: 50%;
	transform: translateX(-50%);
	color: var(--on3);
}
@keyframes ldraw {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes lpop {
	to {
		transform: scale(1);
	}
}
@keyframes lout {
	to {
		opacity: 0;
		visibility: hidden;
	}
}

/* cursor */
.cur,
.cur2 {
	position: fixed;
	left: 0;
	top: 0;
	pointer-events: none;
	z-index: 90;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	display: none;
}
.cur {
	width: 8px;
	height: 8px;
	background: var(--on);
}
.cur2 {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(243, 246, 255, 0.5);
	transition:
		width 0.25s,
		height 0.25s,
		background 0.25s,
		border-color 0.25s;
}
.cur2.big {
	width: 84px;
	height: 84px;
	background: rgba(66, 133, 244, 0.18);
	border-color: transparent;
}
@media (pointer: fine) {
	.cur,
	.cur2 {
		display: block;
	}
}

/* nav */
.nav {
	position: sticky;
	top: 0;
	z-index: 60;
	padding-top: env(safe-area-inset-top, 0px);
	transition:
		background 0.3s,
		backdrop-filter 0.3s;
}
.nav.solid {
	background: rgba(7, 11, 22, 0.72);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--hair);
}
.nav .wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	height: 72px;
}
.logo {
	display: flex;
	align-items: center;
	gap: 10px;
}
.logo svg {
	height: 22px;
	width: auto;
	color: var(--on);
}
.logo small {
	font-size: 12.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--on3);
}
.links {
	display: flex;
	gap: 4px;
	margin-left: auto;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--hair);
	border-radius: 999px;
	padding: 4px;
}
.links a {
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 16px;
	color: var(--on2);
	white-space: nowrap;
	transition:
		background 0.2s,
		color 0.2s;
}
.links a.on {
	background: rgba(255, 255, 255, 0.14);
	color: var(--on);
}
section[id],
#top {
	scroll-margin-top: 84px;
}
.links a:hover {
	background: rgba(255, 255, 255, 0.08);
	color: var(--on);
}
.btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 24px;
	border-radius: 999px;
	border: 0;
	font-size: 17px;
	font-weight: 500;
	white-space: nowrap;
	transition:
		transform 0.2s,
		background 0.2s;
}
.btn.pri {
	background: var(--blue6);
	color: #fff;
}
.btn.pri:hover {
	background: #2357b3;
}
.btn.ghost {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid var(--hair);
	color: var(--on);
}
.btn.ghost:hover {
	background: rgba(255, 255, 255, 0.12);
}
.btn.light {
	background: var(--on);
	color: var(--ink);
}
.btn .ar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	display: grid;
	place-items: center;
	margin-right: -12px;
}
.nav .btn {
	height: 42px;
	padding: 0 18px;
	font-size: 16px;
}
@media (max-width: 1380px) {
	.nav .wrap {
		flex-wrap: wrap;
		height: auto;
		padding-block: 10px;
		row-gap: 8px;
	}
	.links {
		order: 3;
		width: 100%;
		margin-left: 0;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.links::-webkit-scrollbar {
		display: none;
	}
	.links a {
		padding: 7px 13px;
		font-size: 15px;
	}
	.nav .ghost {
		display: none;
	}
	.nav {
		background: rgba(7, 11, 22, 0.72);
		backdrop-filter: blur(16px);
	}
	.nav .wrap {
		justify-content: space-between;
	}
}

/* hero */
.hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 80% 10%, var(--violet) 0%, transparent 55%),
		linear-gradient(160deg, var(--night2), var(--ink) 75%);
}
.orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: 0.55;
	pointer-events: none;
}
.o1 {
	width: 520px;
	height: 520px;
	background: #2e6edb;
	right: -140px;
	top: -160px;
	animation: fl 16s ease-in-out infinite alternate;
}
.o2 {
	width: 420px;
	height: 420px;
	background: #6d3bd0;
	left: 30%;
	bottom: -220px;
	animation: fl 19s ease-in-out infinite alternate-reverse;
}
@keyframes fl {
	to {
		transform: translate(-60px, 50px) scale(1.1);
	}
}
.gridbg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(var(--hair) 1px, transparent 1px),
		linear-gradient(90deg, var(--hair) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: radial-gradient(70% 60% at 60% 40%, #000, transparent);
	opacity: 0.5;
}
.hgrid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 48px;
	padding-block: 72px 96px;
	align-items: center;
}
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px 6px 8px;
	border: 1px solid var(--hair);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	font-size: 15px;
	color: var(--on2);
}
.eyebrow i {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--blue), var(--ai));
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 12.5px;
	color: #fff;
}
.h1 {
	font-size: clamp(52px, 8.6vw, 132px);
	font-weight: 300;
	letter-spacing: -0.055em;
	line-height: 0.92;
	margin: 28px 0 26px;
}
.h1 .ln {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
}
.h1 .ln > span {
	display: inline-block;
}
.h1 em {
	font-style: normal;
	background: linear-gradient(100deg, var(--blue3), var(--ai3) 60%, #f3f6ff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.h1 .thin {
	font-weight: 200;
	color: var(--on2);
}
.lead {
	font-size: clamp(19px, 1.65vw, 23px);
	color: var(--on2);
	max-width: 560px;
}
.hcta {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 34px;
}
.choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 40px;
	max-width: 640px;
}
.choice {
	display: grid;
	gap: 6px;
	padding: 18px;
	border-radius: 20px;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.04);
	transition:
		background 0.25s,
		border-color 0.25s,
		transform 0.25s;
}
.choice:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(243, 246, 255, 0.28);
	transform: translateY(-3px);
}
.choice .ci {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: rgba(66, 133, 244, 0.18);
	color: var(--blue3);
	margin-bottom: 6px;
}
.choice b {
	font-size: 19px;
}
.choice span {
	font-size: 16px;
	color: var(--on2);
}
.choice .go {
	font-size: 15px;
	color: var(--blue3);
	margin-top: 4px;
}
.scrollcue {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 40px;
	color: var(--on3);
}
.scrollcue i {
	width: 26px;
	height: 40px;
	border: 1px solid var(--on3);
	border-radius: 14px;
	position: relative;
}
.scrollcue i::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 8px;
	width: 3px;
	height: 8px;
	border-radius: 3px;
	background: var(--on2);
	transform: translateX(-50%);
	animation: wheel 1.8s ease-in-out infinite;
}
@keyframes wheel {
	50% {
		transform: translate(-50%, 10px);
		opacity: 0.3;
	}
}
/* hero stage */
.stage {
	position: relative;
	aspect-ratio: 4/5;
	max-width: 520px;
	width: 100%;
	justify-self: end;
}
.fc {
	position: absolute;
	border-radius: 20px;
	padding: 16px;
	background: rgba(15, 22, 42, 0.72);
	border: 1px solid rgba(243, 246, 255, 0.14);
	backdrop-filter: blur(14px);
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
	font-size: 15.5px;
	line-height: 1.45;
	will-change: transform;
}
.fc .k {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--on3);
	margin-bottom: 8px;
}
.fc .k i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.fc b {
	font-size: 17px;
	display: block;
	margin-bottom: 4px;
	color: var(--on);
}
.fc .row {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}
.chipb {
	height: 30px;
	padding: 0 14px;
	border-radius: 999px;
	border: 0;
	font-size: 14.5px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
}
.f1 {
	left: 0;
	top: 6%;
	width: 68%;
}
.f2 {
	right: 0;
	top: 30%;
	width: 62%;
}
.f3 {
	left: 6%;
	top: 56%;
	width: 60%;
}
.f4 {
	right: 4%;
	bottom: 2%;
	width: 56%;
}
.ring {
	position: absolute;
	inset: 14% 10%;
	border-radius: 50%;
	border: 1px dashed rgba(243, 246, 255, 0.14);
	animation: spin 60s linear infinite;
}
.ring::after {
	content: '';
	position: absolute;
	top: -5px;
	left: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ai);
	box-shadow: 0 0 20px var(--ai);
}
@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}
@media (max-width: 980px) {
	.hgrid {
		grid-template-columns: 1fr;
	}
	.stage {
		justify-self: center;
		aspect-ratio: 1/1.05;
		max-width: 460px;
	}
}
@media (max-width: 560px) {
	.choices {
		grid-template-columns: 1fr;
	}
	.fc {
		font-size: 14.5px;
		padding: 12px;
	}
	.stage {
		aspect-ratio: auto;
		display: grid;
		gap: 10px;
	}
	.stage .fc {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		width: 100%;
	}
	.ring {
		display: none;
	}
}

/* marquee */
.mq {
	border-block: 1px solid var(--hair);
	background: var(--ink);
	overflow: hidden;
	padding-block: 22px;
	display: grid;
	gap: 14px;
}
.mrow {
	display: flex;
	gap: 14px;
	width: max-content;
	animation: mq 42s linear infinite;
}
.mrow.r {
	animation-direction: reverse;
	animation-duration: 50s;
}
.mq:hover .mrow {
	animation-play-state: paused;
}
.mi {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 0 20px;
	border: 1px solid var(--hair);
	border-radius: 999px;
	color: var(--on2);
	font-size: 17px;
	white-space: nowrap;
}
.mi i {
	width: 10px;
	height: 10px;
	border-radius: 3px;
}
@keyframes mq {
	to {
		transform: translateX(-50%);
	}
}

/* sections */
section {
	position: relative;
}
.light {
	background: linear-gradient(135deg, #f7faff 0%, #eef4ff 50%, #f7f3ff 100%);
	color: var(--text);
}
.sec {
	padding-block: clamp(80px, 11vw, 160px);
}
.sh {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
	gap: 40px;
	align-items: end;
	margin-bottom: 56px;
}
.h2 {
	font-size: clamp(40px, 6vw, 88px);
	font-weight: 300;
	letter-spacing: -0.05em;
	line-height: 0.95;
}
.h2 .thin {
	font-weight: 200;
	opacity: 0.55;
}
.light .sub {
	color: var(--text2);
}
.sub {
	color: var(--on2);
	font-size: 20px;
	max-width: 520px;
}
.lab {
	font-family: var(--mono);
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--blue6);
	margin-bottom: 18px;
	display: block;
}
.dark .lab,
.hero .lab {
	color: var(--blue3);
}
@media (max-width: 860px) {
	.sh {
		grid-template-columns: 1fr;
	}
}

/* horizontal strip */
.hs {
	overflow: hidden;
}
.track {
	display: flex;
	gap: 20px;
	width: max-content;
	padding-left: max(20px, calc((100vw - 1320px) / 2 + 20px));
	padding-right: max(20px, env(safe-area-inset-right, 0px));
}
.pc {
	width: min(440px, 82vw);
	flex: none;
	border-radius: 28px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 22px;
	display: grid;
	gap: 16px;
	box-shadow: 0 30px 60px rgba(20, 23, 28, 0.08);
}
.pc .pt {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.pc .pt span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.pc h3 {
	font-size: 28px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.pc p {
	color: var(--text2);
	font-size: 17px;
}
.screen {
	border-radius: 18px;
	background: linear-gradient(160deg, #f7faff, #eef4ff);
	border: 1px solid var(--line);
	padding: 14px;
	display: grid;
	gap: 8px;
	min-height: 236px;
	font-size: 15px;
	align-content: start;
}
.sr {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 10px 12px;
}
.sr .av {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 12.5px;
	font-weight: 500;
	flex: none;
}
.sr .tt {
	flex: 1;
	min-width: 0;
}
.sr .tt b {
	display: block;
	font-size: 15px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sr .tt span {
	font-size: 13px;
	color: var(--text2);
}
.pill {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 500;
	white-space: nowrap;
}
.p-b {
	background: #d7f1fa;
	color: #0f6286;
}
.p-v {
	background: #eae0fd;
	color: #5a2fad;
}
.p-g {
	background: #d3f5e1;
	color: #106d43;
}
.p-a {
	background: #ffedc9;
	color: #74440c;
}
.p-r {
	background: #fde0e0;
	color: #a12626;
}
.bars {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	height: 120px;
	padding: 8px 4px 0;
}
.bars i {
	flex: 1;
	border-radius: 6px 6px 0 0;
	background: linear-gradient(180deg, #6aa0f7, #2e6edb);
	transform-origin: bottom;
}
.hsnote {
	margin-top: 26px;
	color: var(--text2);
	font-size: 16px;
}
@media (max-width: 860px) {
	.hs .track {
		overflow-x: auto;
		width: auto;
		max-width: 100%;
		scroll-snap-type: x mandatory;
		padding-bottom: 12px;
	}
	.pc {
		scroll-snap-align: start;
	}
}

/* feature grid */
.fgrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.fcard {
	border: 1px solid var(--hair);
	border-radius: 24px;
	padding: 24px;
	display: grid;
	gap: 14px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015));
	min-height: 280px;
	align-content: space-between;
	transition:
		border-color 0.3s,
		transform 0.3s;
}
.fcard:hover {
	border-color: rgba(141, 181, 249, 0.5);
	transform: translateY(-4px);
}
.fcard .big {
	font-size: 64px;
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 1;
	background: linear-gradient(120deg, #fff, var(--blue3));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.fcard b {
	font-size: 21px;
	display: block;
	margin-bottom: 6px;
}
.fcard p {
	color: var(--on2);
	font-size: 17px;
}
@media (max-width: 1000px) {
	.fgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.fgrid {
		grid-template-columns: 1fr;
	}
}

/* bharat */
.bh {
	background: linear-gradient(170deg, #fff6ea 0%, #fffdf8 45%, #f3f6ff 100%);
	color: var(--ink);
	position: relative;
	overflow: hidden;
}
.bh .sub {
	color: var(--text2);
}
.bhgrid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}
.hello {
	font-size: clamp(64px, 10vw, 150px);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1.15;
	min-height: 1.3em;
	background: linear-gradient(100deg, #e07b1f, #c2410c 40%, #7c3aed);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition:
		opacity 0.35s,
		transform 0.35s;
}
.hello.out {
	opacity: 0;
	transform: translateY(18px);
}
.hlang {
	font-family: var(--mono);
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
}
.lchips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}
.lchips button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 8px 14px;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	color: var(--text);
	transition: all 0.2s;
}
.lchips button small {
	color: var(--text2);
	font-size: 12.5px;
	margin-left: 6px;
}
.lchips button.on {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink);
}
.lchips button.on small {
	color: rgba(255, 255, 255, 0.6);
}
.wa {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: 20px;
	box-shadow: 0 30px 60px rgba(120, 60, 10, 0.08);
	display: grid;
	gap: 12px;
}
.wa .hd {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
}
.wa .hd i {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #d3f5e1;
	color: #106d43;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 14px;
	font-weight: 500;
}
.bub {
	max-width: 85%;
	padding: 12px 14px;
	border-radius: 18px;
	font-size: 18.5px;
	line-height: 1.5;
}
.bub.in {
	background: #f1f3f6;
	border-bottom-left-radius: 6px;
}
.bub.out {
	background: #dcf8e7;
	margin-left: auto;
	border-bottom-right-radius: 6px;
}
.bub small {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
	margin-bottom: 4px;
}
.aisum {
	border-radius: 16px;
	padding: 12px 14px;
	background: linear-gradient(135deg, #f0e8fe, #fff);
	font-size: 16px;
	border: 1px solid #e5dafd;
}
.aisum b {
	font-weight: 500;
}
.bfeat {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 56px;
}
.bf {
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 22px;
	background: rgba(255, 255, 255, 0.7);
	display: grid;
	gap: 8px;
	align-content: start;
}
.bf .n {
	font-family: var(--mono);
	font-size: 14px;
	color: #c2410c;
}
.bf b {
	font-size: 21px;
	font-weight: 500;
}
.bf p {
	color: var(--text2);
	font-size: 17px;
}
@media (max-width: 1000px) {
	.bhgrid {
		grid-template-columns: 1fr;
	}
	.bfeat {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.bfeat {
		grid-template-columns: 1fr;
	}
}
/* beyond */
.by2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.bx {
	border-radius: 28px;
	border: 1px solid var(--line);
	background: #fff;
	padding: 28px;
	display: grid;
	gap: 18px;
	align-content: start;
	box-shadow: 0 30px 60px rgba(20, 23, 28, 0.06);
}
.bx h3 {
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.bx p {
	color: var(--text2);
}
.gates {
	display: grid;
	gap: 8px;
}
.gate {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid var(--line);
	font-size: 16px;
	transition: all 0.4s;
}
.gate .gn {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #eef1f5;
	color: var(--text2);
	font-size: 14px;
	flex: none;
	transition: all 0.4s;
}
.gate .go2 {
	margin-left: auto;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
}
.gate.done .gn {
	background: var(--mint);
	color: #fff;
}
.gate.park {
	border-color: var(--amber);
	box-shadow: 0 0 0 3px rgba(245, 165, 36, 0.15);
}
.gate.park .gn {
	background: var(--amber);
	color: #fff;
}
.gate.work .gn {
	background: var(--ai);
	color: #fff;
	animation: gp 1.2s infinite;
}
@keyframes gp {
	50% {
		box-shadow: 0 0 0 6px rgba(154, 109, 241, 0.2);
	}
}
.cxs {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
}
.ringc {
	position: relative;
	width: 150px;
	height: 150px;
}
.ringc svg {
	transform: rotate(-90deg);
}
.ringc b {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-size: 34px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.ringc b small {
	display: block;
	font-size: 12.5px;
	font-family: var(--mono);
	color: var(--text2);
	letter-spacing: 0.1em;
	text-align: center;
	margin-top: -30px;
}
.cxl {
	display: grid;
	gap: 10px;
}
.cxl div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--line);
	padding-bottom: 8px;
	font-size: 16px;
}
.cxl div:last-child {
	border: 0;
}
.cxl b {
	font-weight: 500;
}
.uc {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.uc span {
	font-size: 14px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--paper2);
	color: #1e478e;
}
@media (max-width: 900px) {
	.by2 {
		grid-template-columns: 1fr;
	}
	.cxs {
		grid-template-columns: 1fr;
		justify-items: start;
	}
}
.hmw {
	display: grid;
	gap: 8px;
}
.hmh {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.hmg {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}
.hmg i {
	height: 18px;
	border-radius: 5px;
	opacity: 0;
	transform: scale(0.6);
	transition:
		opacity 0.5s,
		transform 0.5s;
}
.hmg.on i {
	opacity: 1;
	transform: none;
}
.vtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.vtabs button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 6px 12px;
	font: inherit;
	font-size: 15px;
	cursor: pointer;
	color: var(--text2);
}
.vtabs button.on {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink);
}
.vt {
	border-radius: 16px;
	background: var(--paper);
	padding: 14px 16px;
	display: grid;
	gap: 4px;
	width: 100%;
}
.vt b {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.vt span {
	font-size: 15px;
	color: var(--text2);
}

/* live dashboards */
.dsec {
	background:
		radial-gradient(90% 70% at 15% 0%, #1b2e5e 0%, transparent 60%),
		radial-gradient(80% 60% at 100% 100%, #2a1756 0%, transparent 55%), var(--ink);
}
.dtabs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.dtabs button {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.04);
	color: var(--on2);
	border-radius: 999px;
	padding: 10px 18px;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
}
.dtabs button.on {
	background: #fff;
	color: var(--ink);
	border-color: #fff;
}
.dtabs button i {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 0;
	background: var(--blue6);
}
.dtabs button.on i {
	animation: dprog 6.5s linear forwards;
}
@keyframes dprog {
	to {
		width: 100%;
	}
}
.dframe {
	border-radius: 24px;
	background: #f6f8fc;
	color: var(--text);
	box-shadow:
		0 60px 120px rgba(0, 0, 0, 0.45),
		0 0 0 1px rgba(255, 255, 255, 0.08);
	overflow: hidden;
	transform-origin: 50% 0;
}
.dbar {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 44px;
	padding: 0 16px;
	background: #fff;
	border-bottom: 1px solid var(--line);
}
.dbar .dots {
	display: flex;
	gap: 6px;
}
.dbar .dots i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #e2e6ec;
}
.dbar .url {
	flex: 1;
	max-width: 420px;
	margin: 0 auto;
	height: 26px;
	border-radius: 999px;
	background: #f1f3f7;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
	display: grid;
	place-items: center;
}
.dbody {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	min-height: 520px;
}
.dside {
	background: #fff;
	border-right: 1px solid var(--line);
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 14px 0;
	justify-items: center;
}
.dside i {
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: #eef1f6;
}
.dside i.on {
	background: #dce8fe;
	box-shadow: inset 0 0 0 1.5px #2e6edb;
}
.dmain {
	padding: 20px;
	display: grid;
	gap: 14px;
	align-content: start;
	min-width: 0;
}
.dhead {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
}
.dhead small {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2e6edb;
}
.dhead h4 {
	margin: 2px 0 0;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.dchip {
	font-size: 14px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #f0e8fe;
	color: #5a2fad;
}
.dk {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.dkc {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 14px;
	display: grid;
	gap: 4px;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.5s,
		transform 0.5s;
}
.dkc span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
}
.dkc b {
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.dkc em {
	font-style: normal;
	font-size: 14px;
	color: var(--text2);
}
.dkc em.up {
	color: #16884f;
}
.dkc em.dn {
	color: #c2413b;
}
.dg {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 12px;
}
.dcard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 14px 16px;
	display: grid;
	gap: 8px;
	min-width: 0;
	opacity: 0;
	transform: translateY(14px);
	transition:
		opacity 0.6s,
		transform 0.6s;
}
.dcard h5 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
}
.dcard .cp {
	font-size: 12.5px;
	color: var(--text2);
}
.dframe.on .dkc,
.dframe.on .dcard {
	opacity: 1;
	transform: none;
}
.dframe.on .dkc:nth-child(2) {
	transition-delay: 0.06s;
}
.dframe.on .dkc:nth-child(3) {
	transition-delay: 0.12s;
}
.dframe.on .dkc:nth-child(4) {
	transition-delay: 0.18s;
}
.dframe.on .dcard {
	transition-delay: 0.2s;
}
.dframe.on .dg .dcard + .dcard {
	transition-delay: 0.3s;
}
.dsvg {
	width: 100%;
	height: auto;
	display: block;
	overflow: visible;
}
.gb {
	transform-box: fill-box;
	transform-origin: 50% 100%;
	transform: scaleY(0);
	transition: transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.dframe.on .gb {
	transform: scaleY(1);
}
.gl {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.6s cubic-bezier(0.3, 0.7, 0.2, 1) 0.3s;
}
.dframe.on .gl {
	stroke-dashoffset: 0;
}
.ga {
	opacity: 0;
	transition: opacity 1s 0.9s;
}
.dframe.on .ga {
	opacity: 1;
}
.gd {
	transition: stroke-dashoffset 1.2s cubic-bezier(0.3, 0.7, 0.2, 1);
}
.gx {
	font-family: var(--mono);
	font-size: 12.5px;
	fill: #7a818e;
}
.dlist {
	display: grid;
	gap: 10px;
}
.dli {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 10px;
	font-size: 15px;
}
.dli .tb {
	grid-column: 1/-1;
	height: 6px;
	border-radius: 6px;
	background: #eef1f6;
	overflow: hidden;
}
.dli .tb i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 6px;
	transition: width 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.dframe.on .dli .tb i {
	width: var(--w);
}
.dli b {
	font-weight: 500;
}
.dli span {
	color: var(--text2);
	font-variant-numeric: tabular-nums;
}
.dheat {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}
.dheat i {
	height: 16px;
	border-radius: 4px;
	opacity: 0;
	transform: scale(0.5);
	transition:
		opacity 0.4s,
		transform 0.4s;
}
.dframe.on .dheat i {
	opacity: 1;
	transform: none;
}
.dleg {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	font-size: 12.5px;
	color: var(--text2);
}
.dleg span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.dleg i {
	width: 8px;
	height: 8px;
	border-radius: 3px;
}
.dpulse {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3ec07e;
	box-shadow: 0 0 0 0 rgba(62, 192, 126, 0.6);
	animation: dpu 1.8s infinite;
	margin-right: 6px;
	vertical-align: middle;
}
@keyframes dpu {
	70% {
		box-shadow: 0 0 0 8px rgba(62, 192, 126, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(62, 192, 126, 0);
	}
}
.dmini {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 22px;
}
.dm {
	border: 1px solid var(--hair);
	border-radius: 20px;
	padding: 18px;
	background: rgba(255, 255, 255, 0.04);
	display: grid;
	gap: 10px;
}
.dm b {
	font-size: 18.5px;
	font-weight: 500;
}
.dm p {
	color: var(--on2);
	font-size: 16px;
	margin: 0;
}
@media (max-width: 900px) {
	.dbody {
		grid-template-columns: 1fr;
	}
	.dside {
		display: none;
	}
	.dk {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dg {
		grid-template-columns: 1fr;
	}
	.dmini {
		grid-template-columns: 1fr;
	}
}
@media (prefers-reduced-motion: reduce) {
	.gb,
	.gl,
	.ga,
	.gd,
	.dkc,
	.dcard,
	.dli .tb i,
	.dheat i {
		transition: none !important;
	}
	.dtabs button.on i {
		animation: none;
		width: 100%;
	}
}
/* pricing */
.prsec {
	background: linear-gradient(180deg, #f7faff, #eef4ff);
	color: var(--ink);
}
.prsec .sub {
	color: var(--text2);
}
.bill {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--line);
	margin-bottom: 28px;
}
.bill button {
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 10px 18px;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	color: var(--text2);
}
.bill button.on {
	background: var(--ink);
	color: #fff;
}
.bill em {
	font-style: normal;
	font-size: 12.5px;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 999px;
	background: #d3f5e1;
	color: #106d43;
}
.tiers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}
.tier {
	border-radius: 28px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 28px;
	display: grid;
	gap: 18px;
	align-content: start;
	position: relative;
	transition:
		transform 0.3s,
		box-shadow 0.3s;
}
.tiers .tier {
	opacity: 0;
	transform: translateY(40px);
	transition:
		opacity 0.8s,
		transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1),
		box-shadow 0.3s;
}
.tiers.in .tier {
	opacity: 1;
	transform: none;
}
.tiers.in .tier:nth-child(2) {
	transition-delay: 0.1s, 0.1s, 0s;
}
.tiers.in .tier:nth-child(3) {
	transition-delay: 0.2s, 0.2s, 0s;
}
.tiers.in .tier:hover {
	transform: translateY(-6px);
	transition-delay: 0s;
	box-shadow: 0 30px 60px rgba(20, 23, 28, 0.1);
}
.tier.pop {
	background: linear-gradient(160deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
	box-shadow: 0 40px 80px rgba(40, 22, 79, 0.35);
}
.tier.pop .tl,
.tier.pop .tf li,
.tier.pop .tsub {
	color: var(--on2);
}
.tbadge {
	position: absolute;
	top: 20px;
	right: 20px;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 10px;
	border-radius: 999px;
	background: linear-gradient(100deg, var(--blue3), var(--ai3));
	color: var(--ink);
}
.tn {
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.tsub {
	color: var(--text2);
	font-size: 17px;
	margin-top: -10px;
}
.tp {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.tp b {
	font-size: 64px;
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 1;
}
.tp b small {
	font-size: 28px;
	vertical-align: top;
	margin-right: 2px;
	font-weight: 400;
}
.tl {
	color: var(--text2);
	font-size: 16px;
	line-height: 1.35;
}
.tf {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.tf li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 8px;
	font-size: 17px;
	color: var(--text2);
}
.tf li::before {
	content: '✓';
	color: var(--mint);
	font-weight: 600;
}
.tf li.h {
	grid-template-columns: 1fr;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: inherit;
	opacity: 0.8;
}
.tf li.h::before {
	content: none;
}
.tier .btn {
	justify-content: center;
	width: 100%;
}
.tier:not(.pop) .btn.ghost {
	background: var(--ink);
	color: #fff;
	border: 0;
}
.pcalc {
	margin-top: 24px;
	border-radius: 28px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 24px 28px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 28px;
	align-items: center;
}
.pcalc input[type='range'] {
	width: 100%;
	accent-color: #2e6edb;
}
.pcalc .pct {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.pcalc .pct div {
	border-radius: 16px;
	background: var(--paper);
	padding: 14px;
}
.pcalc .pct span {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
}
.pcalc .pct b {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.pcalc .pct div.on {
	background: #0f2650;
	color: #fff;
}
.pcalc .pct div.on span {
	color: rgba(255, 255, 255, 0.65);
}
.addons {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}
.addons div {
	border-radius: 20px;
	border: 1px dashed #c9d2de;
	padding: 16px 18px;
	display: grid;
	gap: 4px;
}
.addons b {
	font-weight: 500;
}
.addons span {
	color: var(--text2);
	font-size: 16px;
}
.cmp {
	margin-top: 28px;
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	overflow: auto;
}
.cmp table {
	width: 100%;
	border-collapse: collapse;
	min-width: 640px;
	font-size: 16px;
}
.cmp th,
.cmp td {
	padding: 12px 18px;
	border-bottom: 1px solid var(--line);
	text-align: left;
}
.cmp th {
	font-weight: 500;
	background: #f7faff;
}
.cmp td:not(:first-child),
.cmp th:not(:first-child) {
	text-align: center;
	width: 16%;
}
.cmp tr.g td {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
	background: #fbfcfe;
}
.cmp .y {
	color: #16884f;
	font-weight: 600;
}
.cmp .n {
	color: #b5bcc7;
}
.faq {
	margin-top: 28px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.faq details {
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 16px 20px;
}
.faq summary {
	cursor: pointer;
	font-weight: 500;
	list-style: none;
}
.faq summary::after {
	content: '+';
	float: right;
	color: var(--text2);
}
.faq details[open] summary::after {
	content: '–';
}
.faq p {
	color: var(--text2);
	margin: 10px 0 0;
	font-size: 17px;
}
@media (max-width: 1000px) {
	.tiers {
		grid-template-columns: 1fr;
	}
	.pcalc {
		grid-template-columns: 1fr;
	}
	.addons {
		grid-template-columns: 1fr;
	}
	.faq {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 560px) {
	.pcalc .pct {
		grid-template-columns: 1fr;
	}
	.tp b {
		font-size: 52px;
	}
}

/* products mega menu */
.pmenu .cv {
	font-size: 12.5px;
	margin-left: 4px;
	opacity: 0.7;
	display: inline-block;
	transition: transform 0.2s;
}
.pmenu[aria-expanded='true'] .cv {
	transform: rotate(180deg);
}
.mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: rgba(7, 11, 22, 0.94);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--hair);
	animation: megain 0.25s ease-out;
}
@keyframes megain {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
}
.megain {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
	gap: 24px;
	padding-block: 22px 26px !important;
	height: auto !important;
	align-items: stretch !important;
}
.megagrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.megagrid a {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 2px 12px;
	padding: 12px;
	border-radius: 16px;
	color: var(--on);
	transition: background 0.2s;
}
.megagrid a:hover {
	background: rgba(255, 255, 255, 0.06);
}
.megagrid .mi2 {
	grid-row: 1/3;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 500;
	color: #fff;
}
.megagrid b {
	font-weight: 500;
	font-size: 17px;
}
.megagrid span:not(.mi2) {
	font-size: 15px;
	color: var(--on2);
	line-height: 1.4;
}
.megaside {
	border-radius: 18px;
	padding: 18px;
	background: linear-gradient(150deg, #13285a, #28164f);
	display: grid;
	gap: 12px;
	align-content: start;
}
.megaside b {
	font-weight: 400;
	font-size: 19px;
	line-height: 1.35;
}
@media (max-width: 1380px) {
	.mega {
		max-height: calc(100vh - 150px);
		overflow-y: auto;
		background: #070b16;
	}
	.megain {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.megaside {
		display: none;
	}
}
@media (max-width: 900px) {
	.megain {
		grid-template-columns: 1fr !important;
	}
	.megagrid {
		grid-template-columns: 1fr 1fr;
	}
	.megaside {
		display: none;
	}
}
@media (max-width: 560px) {
	.megagrid {
		grid-template-columns: 1fr;
	}
	.megagrid a {
		padding: 10px;
	}
}
@media (max-width: 0px) {
}
/* suite */
.suite {
	background:
		radial-gradient(70% 60% at 0% 0%, #18306a 0%, transparent 60%),
		radial-gradient(60% 60% at 100% 100%, #2a1756 0%, transparent 55%), var(--ink);
}
.suitegrid {
	display: grid;
	grid-template-columns: minmax(260px, 0.75fr) minmax(0, 2fr);
	gap: 18px;
	align-items: start;
}
.slist {
	display: grid;
	gap: 8px;
}
.slist button {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 2px 12px;
	text-align: left;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.03);
	color: var(--on);
	font: inherit;
	cursor: pointer;
	transition:
		background 0.2s,
		border-color 0.2s;
}
.slist button .mi2 {
	grid-row: 1/3;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: 12.5px;
	font-weight: 500;
	color: #fff;
}
.slist button b {
	font-weight: 500;
	font-size: 18.5px;
}
.slist button span:not(.mi2) {
	font-size: 15px;
	color: var(--on3);
}
.slist button.on {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(141, 181, 249, 0.5);
}
.slist button i {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 0;
	background: linear-gradient(90deg, var(--blue3), var(--ai3));
}
.slist button.on i {
	animation: dprog 9s linear forwards;
}
.spanel {
	border-radius: 28px;
	border: 1px solid var(--hair);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015));
	padding: 26px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 24px;
	animation: sfin 0.45s ease-out;
	min-height: 520px;
}
@keyframes sfin {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
}
.spanel h3 {
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 300;
	letter-spacing: -0.04em;
	margin: 6px 0 10px;
	line-height: 1.05;
}
.spanel p {
	color: var(--on2);
	margin: 0 0 14px;
}
.scap {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	gap: 10px;
}
.scap li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 8px;
	font-size: 17px;
	color: var(--on2);
}
.scap li::before {
	content: '✓';
	color: var(--mint);
}
.sagents {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}
.sagents span {
	font-size: 14px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(154, 109, 241, 0.16);
	color: #d9c8ff;
	border: 1px solid rgba(154, 109, 241, 0.3);
}
.sstats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 18px;
}
.sstats div {
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	padding: 10px 12px;
}
.sstats b {
	display: block;
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.sstats span {
	font-size: 12.5px;
	color: var(--on3);
}
.sscreen {
	border-radius: 20px;
	background: #f6f8fc;
	color: var(--text);
	overflow: hidden;
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.4);
	align-self: start;
}
.sbar {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 12px;
	background: #fff;
	border-bottom: 1px solid var(--line);
}
.sbar i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e2e6ec;
}
.sbar span {
	margin-left: auto;
	margin-right: auto;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
}
.sbody {
	padding: 14px;
	display: grid;
	gap: 10px;
	font-size: 14.5px;
}
.sk2 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.sk2 div {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 8px 10px;
}
.sk2 span {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.sk2 b {
	font-size: 19px;
	font-weight: 400;
}
.scard {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 10px;
	display: grid;
	gap: 6px;
	opacity: 0;
	transform: translateY(10px);
	animation: sup 0.5s ease-out forwards;
}
@keyframes sup {
	to {
		opacity: 1;
		transform: none;
	}
}
.scard:nth-child(2) {
	animation-delay: 0.12s;
}
.scard:nth-child(3) {
	animation-delay: 0.24s;
}
.scard:nth-child(4) {
	animation-delay: 0.36s;
}
.scard:nth-child(5) {
	animation-delay: 0.48s;
}
.srow {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	align-items: center;
}
.srow em {
	font-style: normal;
	font-size: 12.5px;
	padding: 3px 8px;
	border-radius: 999px;
	white-space: nowrap;
}
.e-g {
	background: #d3f5e1;
	color: #106d43;
}
.e-a {
	background: #fdf0d5;
	color: #8a5a00;
}
.e-r {
	background: #fde2e2;
	color: #a23434;
}
.e-v {
	background: #efe7fe;
	color: #5a2fad;
}
.e-b {
	background: #dce8fe;
	color: #1e478e;
}
.kan {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.kan > div {
	background: #eef2f8;
	border-radius: 10px;
	padding: 8px;
	display: grid;
	gap: 6px;
	align-content: start;
}
.kan h6 {
	margin: 0;
	font-size: 12.5px;
	font-family: var(--mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.kc2 {
	background: #fff;
	border-radius: 8px;
	padding: 7px 8px;
	border: 1px solid var(--line);
	font-size: 13px;
	opacity: 0;
	animation: sup 0.5s ease-out forwards;
}
.sbars {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 70px;
}
.sbars i {
	flex: 1;
	border-radius: 5px 5px 2px 2px;
	background: #c9d6ee;
	transform-origin: bottom;
	animation: grow2 1s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}
.sbars i.ac {
	background: #2e6edb;
}
@keyframes grow2 {
	from {
		transform: scaleY(0);
	}
}
.spb {
	height: 6px;
	border-radius: 6px;
	background: #eef1f6;
	overflow: hidden;
}
.spb i {
	display: block;
	height: 100%;
	border-radius: 6px;
	background: linear-gradient(90deg, #2e6edb, #9a6df1);
	width: var(--w);
	animation: wfill 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}
@keyframes wfill {
	from {
		width: 0;
	}
}
.shm {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 3px;
}
.shm i {
	height: 14px;
	border-radius: 3px;
	opacity: 0;
	animation: sup 0.4s ease-out forwards;
}
.sgate {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 7px 9px;
	border-radius: 8px;
	border: 1px solid var(--line);
	background: #fff;
}
.sgate .n {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 12.5px;
	background: #eef1f5;
}
.sgate.d .n {
	background: #3ec07e;
	color: #fff;
}
.sgate.p {
	border-color: #f5a524;
}
.sgate.p .n {
	background: #f5a524;
	color: #fff;
}
.sgate.w .n {
	background: #9a6df1;
	color: #fff;
	animation: gp 1.2s infinite;
}
.sgate em {
	margin-left: auto;
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
}
.scta {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
@media (max-width: 1000px) {
	.suitegrid {
		grid-template-columns: 1fr;
	}
	.slist {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.spanel {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 560px) {
	.slist {
		grid-template-columns: 1fr;
	}
	.sstats {
		grid-template-columns: 1fr 1fr 1fr;
	}
}
/* partners band */
.partners {
	background: linear-gradient(160deg, #0b1a38, #070b16 70%);
}
.pgrid2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
}
.ptiers {
	display: grid;
	gap: 12px;
}
.ptr {
	display: grid;
	grid-template-columns: 110px 70px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 14px 18px;
	border-radius: 16px;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.03);
}
.ptr span {
	color: var(--on2);
}
.ptr b {
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.ptr i {
	height: 8px;
	border-radius: 8px;
	background: linear-gradient(90deg, var(--blue6), var(--ai));
	width: 0;
	transition: width 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ptiers.in .ptr i {
	width: var(--w);
}
.ptr.hot {
	border-color: rgba(141, 181, 249, 0.5);
	background: rgba(66, 133, 244, 0.08);
}
.pextra {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 6px;
}
.pextra div {
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	padding: 12px;
}
.pextra b {
	display: block;
	font-size: 22px;
	font-weight: 400;
}
.pextra span {
	font-size: 14px;
	color: var(--on3);
}
@media (max-width: 900px) {
	.pgrid2 {
		grid-template-columns: 1fr;
	}
	.pextra {
		grid-template-columns: 1fr 1fr;
	}
	.ptr {
		grid-template-columns: 90px 60px minmax(0, 1fr);
	}
}
@media (prefers-reduced-motion: reduce) {
	.scard,
	.kc2,
	.shm i,
	.sbars i,
	.spb i,
	.spanel,
	.mega {
		animation: none;
		opacity: 1;
		transform: none;
	}
	.slist button.on i {
		animation: none;
		width: 100%;
	}
}

/* walkthrough */
.wt {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 56px;
	align-items: center;
}
.steps {
	display: grid;
	gap: 8px;
}
.step {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 16px;
	align-items: start;
	text-align: left;
	padding: 18px;
	border-radius: 20px;
	border: 1px solid transparent;
	background: transparent;
	transition:
		background 0.3s,
		border-color 0.3s;
}
.step .n {
	font-size: 40px;
	font-weight: 200;
	line-height: 1;
	color: #9aa3af;
	letter-spacing: -0.04em;
}
.step b {
	font-size: 22px;
	display: block;
	color: var(--text);
}
.step span {
	color: var(--text2);
	font-size: 17px;
}
.step .bar {
	grid-column: 2;
	height: 3px;
	border-radius: 3px;
	background: var(--line);
	overflow: hidden;
	margin-top: 12px;
	display: none;
}
.step .bar i {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--blue6), var(--ai));
}
.step.on {
	background: #fff;
	border-color: var(--line);
	box-shadow: 0 20px 40px rgba(20, 23, 28, 0.06);
}
.step.on .n {
	color: var(--blue6);
}
.step.on .bar {
	display: block;
}
.restart {
	margin-top: 14px;
	height: 40px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--text);
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.device {
	position: relative;
	border-radius: 32px;
	background: linear-gradient(160deg, #0f2650, #28164f);
	padding: 14px;
	box-shadow: 0 40px 90px rgba(15, 38, 80, 0.35);
}
.device .bezel {
	border-radius: 22px;
	background: #fff;
	min-height: 440px;
	overflow: hidden;
	position: relative;
}
.dbar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--line);
	font-size: 14px;
	color: var(--text2);
}
.dbar i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #dde2e8;
}
.dview {
	position: absolute;
	inset: 44px 0 0;
	padding: 18px;
	display: grid;
	gap: 10px;
	align-content: start;
	color: var(--text);
	opacity: 0;
	transform: translateY(14px);
	transition:
		opacity 0.45s,
		transform 0.45s;
}
.dview.on {
	opacity: 1;
	transform: none;
}
.dview h4 {
	margin: 0;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.dview .note {
	border-radius: 14px;
	padding: 12px 14px;
	background: linear-gradient(135deg, #f0e8fe, #f7fafe);
	font-size: 15.5px;
	line-height: 1.5;
}
.typing::after {
	content: '▍';
	animation: blink 1s steps(1) infinite;
	color: var(--ai);
}
@keyframes blink {
	50% {
		opacity: 0;
	}
}
@media (max-width: 960px) {
	.wt {
		grid-template-columns: 1fr;
	}
}

/* stats */
.stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--hair);
}
.stat {
	padding: 40px 24px 8px 0;
	border-right: 1px solid var(--hair);
}
.stat:last-child {
	border-right: 0;
}
.stat .v {
	font-size: clamp(48px, 6vw, 96px);
	font-weight: 200;
	letter-spacing: -0.06em;
	line-height: 1;
}
.stat .v small {
	font-size: 0.4em;
	color: var(--on2);
	letter-spacing: -0.02em;
	margin-left: 4px;
}
.stat p {
	color: var(--on2);
	margin-top: 12px;
	font-size: 17px;
	max-width: 240px;
}
@media (max-width: 860px) {
	.stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.stat {
		border-right: 0;
		border-bottom: 1px solid var(--hair);
		padding-right: 12px;
	}
}

/* agent card */
.ag {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}
.tiltw {
	perspective: 1200px;
	display: grid;
	place-items: center;
}
.acard {
	width: min(460px, 100%);
	aspect-ratio: 1.58/1;
	border-radius: 28px;
	padding: 26px;
	position: relative;
	overflow: hidden;
	color: #fff;
	background: linear-gradient(135deg, #0f2650 0%, #2357b3 45%, #6d3bd0 100%);
	box-shadow: 0 50px 100px rgba(40, 22, 79, 0.45);
	transform-style: preserve-3d;
	transition: transform 0.15s ease-out;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.acard::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
		400px 200px at var(--mx, 70%) var(--my, 20%),
		rgba(255, 255, 255, 0.28),
		transparent 60%
	);
	pointer-events: none;
}
.acard svg.lg {
	height: 26px;
	width: auto;
	color: #fff;
}
.acard .chipr {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.acard .chipr span {
	font-size: 13px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(6px);
}
.acard .an {
	font-size: 24px;
	letter-spacing: -0.02em;
}
.acard .am {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.14em;
	opacity: 0.7;
	text-transform: uppercase;
}
.acard .glow {
	position: absolute;
	right: -40px;
	top: -40px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.25);
}
.alist {
	display: grid;
	gap: 4px;
	margin-top: 28px;
}
.alist > div {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--line);
}
.alist .ck {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #d3f5e1;
	color: #106d43;
	display: grid;
	place-items: center;
	font-size: 16px;
}
.alist b {
	display: block;
	font-size: 19px;
	color: var(--text);
}
.alist span {
	color: var(--text2);
	font-size: 17px;
}
@media (max-width: 960px) {
	.ag {
		grid-template-columns: 1fr;
	}
}

/* calculator */
.calc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	border-radius: 32px;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.03);
	padding: 16px;
}
.cin {
	padding: 24px;
	display: grid;
	gap: 28px;
}
.fld label {
	display: flex;
	justify-content: space-between;
	font-size: 17px;
	color: var(--on2);
	margin-bottom: 12px;
}
.fld label b {
	color: var(--on);
	font-size: 20px;
	font-variant-numeric: tabular-nums;
}
input[type='range'] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background: linear-gradient(
		90deg,
		var(--blue) var(--p, 50%),
		rgba(255, 255, 255, 0.14) var(--p, 50%)
	);
	outline: none;
}
input[type='range']::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 6px rgba(66, 133, 244, 0.25);
	cursor: pointer;
}
input[type='range']::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
}
.cout {
	border-radius: 24px;
	background: linear-gradient(150deg, #2e6edb, #6d3bd0);
	padding: 28px;
	display: grid;
	gap: 20px;
	align-content: space-between;
}
.cout .big {
	font-size: clamp(52px, 6vw, 88px);
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.cout .row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.cout .row2 div {
	background: rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	padding: 14px;
}
.cout .row2 b {
	display: block;
	font-size: 26px;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
}
.cout .row2 span {
	font-size: 15px;
	opacity: 0.8;
}
.cnote {
	font-size: 14.5px;
	opacity: 0.75;
}
@media (max-width: 860px) {
	.calc {
		grid-template-columns: 1fr;
	}
}

/* security */
.guards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.gd {
	border-radius: 24px;
	padding: 24px;
	border: 1px solid var(--hair);
	display: grid;
	gap: 12px;
	background: rgba(255, 255, 255, 0.03);
}
.gd .gi {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: rgba(62, 192, 126, 0.14);
	color: var(--mint);
}
.gd b {
	font-size: 20px;
}
.gd p {
	color: var(--on2);
	font-size: 17px;
}
@media (max-width: 900px) {
	.guards {
		grid-template-columns: 1fr;
	}
}

/* seats */
.tabs {
	display: inline-flex;
	gap: 4px;
	padding: 5px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--line);
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.tabs button {
	height: 42px;
	padding: 0 20px;
	border-radius: 999px;
	border: 0;
	background: transparent;
	color: var(--text2);
	font-size: 17px;
}
.tabs button.on {
	background: var(--blue6);
	color: #fff;
	font-weight: 500;
}
.seat {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
.seat h3 {
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 300;
	letter-spacing: -0.04em;
	color: var(--text);
}
.seat ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.seat li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--line);
	color: var(--text);
	font-size: 18.5px;
}
.seat li i {
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: #eef4ff;
	color: var(--blue6);
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 15px;
	font-family: var(--mono);
}
@media (max-width: 860px) {
	.seat {
		grid-template-columns: 1fr;
	}
}

/* cta */
.cta {
	text-align: left;
	overflow: hidden;
}
.giant {
	font-size: clamp(56px, 11vw, 190px);
	font-weight: 200;
	letter-spacing: -0.065em;
	line-height: 0.88;
}
.giant span {
	display: block;
}
.giant .g2 {
	background: linear-gradient(100deg, var(--blue3), var(--ai3));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 300;
}
.ctarow {
	display: flex;
	gap: 16px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 48px;
}
.magnet {
	display: inline-grid;
	place-items: center;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: var(--blue6);
	color: #fff;
	font-size: 19px;
	font-weight: 500;
	transition: background 0.3s;
}
.magnet:hover {
	background: #6d3bd0;
}
.contact {
	color: var(--on2);
	font-size: 17px;
	display: grid;
	gap: 6px;
}
.contact b {
	color: var(--on);
	font-size: 22px;
	font-weight: 400;
	user-select: all;
}

/* footer */
footer {
	border-top: 1px solid var(--hair);
	padding-block: 56px calc(32px + env(safe-area-inset-bottom, 0px));
	color: var(--on2);
	font-size: 16px;
}
.fcols {
	display: grid;
	grid-template-columns: 1.4fr repeat(4, 1fr);
	gap: 32px;
}
.fcols h5 {
	margin: 0 0 14px;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--on3);
	font-weight: 400;
}
.fcols a {
	display: block;
	padding: 5px 0;
	color: var(--on2);
}
.fcols a:hover {
	color: var(--on);
}
.fbot {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--hair);
	color: var(--on3);
	font-size: 15px;
}
.badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 18px;
}
.badges span {
	font-size: 14px;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid var(--hair);
}
@media (max-width: 860px) {
	.fcols {
		grid-template-columns: 1fr 1fr;
	}
	.fcols > div:first-child {
		grid-column: 1/-1;
	}
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation: none !important;
		transition: none !important;
	}
	.loader {
		display: none;
	}
	.dview {
		transition: none;
	}
}
.wfeed {
	display: grid;
	gap: 8px;
	min-height: 300px;
	align-content: start;
}
.wfi {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
	animation: wfin 0.5s ease both;
}
.wfi .sc {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-weight: 500;
	font-size: 17px;
}
.wfi b {
	font-weight: 500;
	font-size: 16px;
	display: block;
}
.wfi span {
	font-size: 14px;
	color: #6b7380;
}
.wfi em {
	font-style: normal;
	font-size: 12.5px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef3fe;
	color: #1e478e;
	white-space: nowrap;
}
.wfi.new {
	border-color: #8db5f9;
	box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.12);
}
@keyframes wfin {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
.mdpm {
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 12px;
	display: grid;
	gap: 6px;
}
.mdph,
.mdr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px 44px;
	gap: 10px;
	align-items: center;
}
.mdph {
	font-size: 12.5px;
	letter-spacing: 0.14em;
	color: #6b7380;
	text-transform: uppercase;
}
.mdph .cs {
	display: flex;
	gap: 4px;
}
.mdph .cs i {
	width: 21px;
	text-align: center;
	font-style: normal;
	letter-spacing: 0;
}
.mdr {
	font-size: 15px;
	padding: 4px 0;
	border-top: 1px solid #eef1f5;
}
.mdr .cs {
	display: flex;
	gap: 4px;
}
.mdr .cs i {
	flex: none;
	width: 21px;
	height: 21px;
	border-radius: 6px;
	background: #e5e8ee;
	transition: background 0.5s;
}
.mdr b {
	font-weight: 500;
	text-align: right;
}
@media (max-width: 560px) {
	.mdph,
	.mdr {
		grid-template-columns: minmax(0, 1fr) 120px 34px;
	}
	.mdr .cs {
		gap: 2px;
	}
	.mdr .cs i {
		width: 13px;
		height: 13px;
	}
	.mdph .cs {
		gap: 2px;
	}
	.mdph .cs i {
		width: 13px;
		font-size: 12.5px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.wfi {
		animation: none;
	}
}
.wave {
	display: flex;
	align-items: center;
	gap: 2px;
	height: 26px;
}
.wave i {
	flex: 1;
	height: 30%;
	border-radius: 2px;
	background: #0e9f8e;
	animation: wv 0.7s ease-in-out infinite alternate;
}
@keyframes wv {
	to {
		height: 100%;
	}
}
.lvdot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #e5484d;
	margin-right: 6px;
	animation: dpu 1.6s infinite;
	vertical-align: 1px;
}
@media (max-width: 1000px) {
	.addons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.addons {
		grid-template-columns: 1fr;
	}
}
@media (prefers-reduced-motion: reduce) {
	.wave i {
		animation: none;
		height: 60%;
	}
}
.jrn {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
}
.jrn span {
	border-radius: 12px;
	background: var(--paper);
	padding: 10px;
	font-size: 14.5px;
	color: var(--text2);
	display: grid;
	gap: 2px;
}
.jrn b {
	font-weight: 200;
	font-size: 24px;
	color: #e07b1f;
	letter-spacing: -0.03em;
}
@media (max-width: 560px) {
	.jrn {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.jmini {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	align-items: end;
}
.jmini div {
	display: grid;
	gap: 2px;
	justify-items: center;
	font-size: 12.5px;
	color: var(--text2);
}
.jmini i {
	width: 100%;
	border-radius: 4px 4px 2px 2px;
	background: #e07b1f;
	opacity: 0.85;
	transform-origin: bottom;
	animation: grow2 1s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
}
.jmini b {
	font-weight: 500;
	color: var(--text);
	font-size: 14px;
}
.dtop {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.dtop .dtabs {
	margin: 0;
	flex: 1;
	min-width: 0;
}
.dtabs.paused button.on i {
	animation: none;
	width: 100%;
	opacity: 0.35;
}
.dtabs button.on i {
	animation: dprog 9s linear forwards;
}
.dctl {
	display: flex;
	gap: 6px;
	flex: none;
}
.dctl button {
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.04);
	color: var(--on2);
	border-radius: 999px;
	padding: 10px 14px;
	font: inherit;
	font-size: 15px;
	cursor: pointer;
	white-space: nowrap;
}
.dctl button:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--on);
}
.dside i {
	cursor: default;
	transition: background 0.3s;
}
.dkc {
	position: relative;
	overflow: hidden;
}
.dkc .dsp {
	width: 100%;
	height: 26px;
	margin-top: 4px;
	display: block;
}
.dkc.tick b {
	animation: dtk 0.9s ease;
}
@keyframes dtk {
	30% {
		color: #2e6edb;
		transform: translateY(-2px);
	}
}
.dkc b {
	display: inline-block;
}
.dins {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	border-radius: 14px;
	padding: 12px 14px;
	background: linear-gradient(135deg, #f0e8fe, #fff);
	border: 1px solid #e5dafd;
	font-size: 15.5px;
	min-height: 48px;
	opacity: 0;
	transform: translateY(10px);
	transition:
		opacity 0.5s 0.15s,
		transform 0.5s 0.15s;
}
.dframe.on .dins {
	opacity: 1;
	transform: none;
}
.dins p {
	margin: 0;
	color: #3b2a6b;
}
.dai {
	width: 24px;
	height: 24px;
	border-radius: 8px;
	background: linear-gradient(135deg, #9a6df1, #2e6edb);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 14px;
	flex: none;
	animation: dspin 6s linear infinite;
}
@keyframes dspin {
	50% {
		transform: rotate(180deg) scale(1.08);
	}
}
.dg3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.dframe.on .dg3 .dcard {
	transition-delay: 0.35s;
}
.dframe.on .dg3 .dcard:nth-child(2) {
	transition-delay: 0.45s;
}
.dframe.on .dg3 .dcard:nth-child(3) {
	transition-delay: 0.55s;
}
.dframe.on .dfeed {
	transition-delay: 0.6s;
}
.dnw {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}
.hb {
	display: grid;
	gap: 9px;
}
.hbr {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	font-size: 14.5px;
}
.hbr span {
	color: var(--text2);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.hbr b {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
}
.hbr .tb {
	height: 8px;
	border-radius: 6px;
	background: #eef1f6;
	overflow: hidden;
}
.hbr .tb i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 6px;
	transition: width 1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.dframe.on .hbr .tb i {
	width: var(--w);
}
.dfn {
	display: grid;
	gap: 6px;
}
.dfn .fr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	font-size: 14px;
	color: var(--text2);
}
.dfn .fb {
	height: 24px;
	border-radius: 6px;
	width: 0;
	display: flex;
	align-items: center;
	padding-left: 8px;
	color: #fff;
	font-size: 14px;
	transition: width 1s cubic-bezier(0.2, 0.8, 0.2, 1);
	overflow: hidden;
	white-space: nowrap;
}
.dframe.on .dfn .fb {
	width: var(--w);
}
.dfn b {
	font-weight: 500;
}
.dga {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	text-align: center;
}
.dga svg {
	width: 100%;
	max-width: 88px;
	display: block;
	margin: 0 auto;
}
.dga span {
	font-size: 13px;
	color: var(--text2);
}
.dhm {
	display: grid;
	gap: 3px;
	font-size: 12.5px;
	color: var(--text2);
	align-items: center;
}
.dhm em {
	font-style: normal;
	text-align: center;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.04em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dhm span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.dhm i {
	height: 16px;
	border-radius: 4px;
	opacity: 0;
	transform: scale(0.5);
	transition:
		opacity 0.4s,
		transform 0.4s;
}
.dframe.on .dhm i {
	opacity: 1;
	transform: none;
}
.dtw {
	overflow-x: auto;
}
.dtb {
	color: var(--text);
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
	min-width: 300px;
}
.dtb th {
	text-align: left;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
	font-weight: 400;
	padding: 0 6px 6px;
	border-bottom: 1px solid var(--line);
}
.dtb td {
	color: var(--text);
	padding: 8px 6px;
	border-bottom: 1px solid #f0f2f6;
	white-space: nowrap;
}
.dtb tr:last-child td {
	border-bottom: 0;
}
.dtb tbody tr {
	opacity: 0;
	transform: translateX(-8px);
	transition:
		opacity 0.4s,
		transform 0.4s;
}
.dframe.on .dtb tbody tr {
	opacity: 1;
	transform: none;
}
.dp {
	font-style: normal;
	font-size: 12.5px;
	padding: 2px 7px;
	border-radius: 999px;
}
.dp.b {
	background: #dce8fe;
	color: #1e478e;
}
.dp.v {
	background: #efe7fe;
	color: #5a2fad;
}
.dmc {
	display: inline-flex;
	gap: 3px;
}
.dmc i {
	width: 13px;
	height: 13px;
	border-radius: 3px;
	flex: none;
}
.dfl {
	display: grid;
	gap: 6px;
}
.dfe {
	display: grid;
	grid-template-columns: 8px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	font-size: 14.5px;
	padding: 7px 10px;
	border-radius: 10px;
	background: #f7f9fc;
}
.dfe i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.dfe b {
	font-weight: 500;
	margin-right: 6px;
}
.dfe span {
	color: var(--text2);
}
.dfe time {
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
}
.dfe.new {
	animation: dfin 0.6s ease both;
	background: #eef4ff;
}
@keyframes dfin {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
}
.dsvg .pulse {
	animation: dpp 1.8s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
@keyframes dpp {
	50% {
		transform: scale(1.4);
	}
}
@media (max-width: 1100px) {
	.dg3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dg3 .dcard:last-child {
		grid-column: 1/-1;
	}
}
@media (max-width: 900px) {
	.dg3 {
		grid-template-columns: 1fr;
	}
	.dg3 .dcard:last-child {
		grid-column: auto;
	}
	.dctl {
		width: 100%;
	}
	.dctl button {
		flex: 1;
	}
}
@media (max-width: 560px) {
	.dnw {
		grid-template-columns: 1fr;
		justify-items: center;
	}
	.dtabs button {
		padding: 8px 13px;
		font-size: 15px;
	}
	.dmain {
		padding: 14px;
	}
	.dkc b {
		font-size: 24px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.dai,
	.dsvg .pulse,
	.dfe.new,
	.dkc.tick b {
		animation: none;
	}
	.hbr .tb i,
	.dfn .fb,
	.dhm i,
	.dtb tbody tr,
	.dins {
		transition: none !important;
	}
}
.prtabs {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--line);
	margin: 0 0 28px;
}
.prtabs button {
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 12px 22px;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	color: var(--text2);
}
.prtabs button.on {
	background: var(--ink);
	color: #fff;
}
.prtabs em {
	font-style: normal;
	font-size: 12.5px;
	font-family: var(--mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 999px;
	background: linear-gradient(100deg, var(--blue3), var(--ai3));
	color: var(--ink);
}
.cfg {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.cfgv {
	position: sticky;
	top: 96px;
}
.cfgvs {
	display: grid;
	gap: 14px;
}
.cfgwin {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	overflow: hidden;
	box-shadow: 0 40px 80px rgba(20, 23, 28, 0.1);
}
.cfgbar {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 38px;
	padding: 0 14px;
	border-bottom: 1px solid var(--line);
	background: #fafbfd;
}
.cfgbar i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #e2e6ec;
}
.cfgbar span {
	margin: 0 auto;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--text2);
}
.cfgapp {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	min-height: 330px;
}
.cfgrail {
	border-right: 1px solid var(--line);
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 14px 0;
	justify-items: center;
	background: #fafbfd;
}
.cfgrail span {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: 12.5px;
	color: #b5bcc7;
	background: #eef1f6;
	transition:
		background 0.35s,
		color 0.35s,
		transform 0.35s;
}
.cfgrail span.on {
	background: var(--c);
	color: #fff;
	transform: scale(1.04);
	box-shadow: 0 8px 18px rgba(20, 23, 28, 0.14);
}
.cfgmain {
	padding: 22px;
	display: grid;
	gap: 12px;
	align-content: start;
}
.cfgmain small {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--blue6);
}
.cfgmain > b {
	font-size: 28px;
	font-weight: 400;
	letter-spacing: -0.03em;
	color: var(--text);
}
.cfgseats {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	min-height: 24px;
}
.cfgseats i {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: linear-gradient(135deg, #6aa0f7, #9a6df1);
	animation: cfgpop 0.35s ease backwards;
}
.cfgseats em {
	font-style: normal;
	font-size: 14px;
	color: var(--text2);
	margin-left: 4px;
}
@keyframes cfgpop {
	from {
		transform: scale(0);
	}
}
.cfgmeta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 6px;
}
.cfgmeta div {
	border-radius: 12px;
	background: var(--paper);
	padding: 10px 12px;
}
.cfgmeta span {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.cfgmeta b {
	font-weight: 500;
	font-size: 16px;
	color: var(--text);
}
.cfgsum {
	border-radius: 20px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 18px 20px;
}
.cfgsum ul {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.cfgsum li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 16px;
	color: var(--text2);
}
.cfgsum li b {
	font-weight: 500;
	color: var(--text);
	font-variant-numeric: tabular-nums;
}
.cfgsum li.tot {
	border-top: 1px solid var(--line);
	padding-top: 10px;
	color: var(--text);
	font-weight: 500;
}
.cfgh {
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 300;
	letter-spacing: -0.04em;
	color: var(--text);
	margin: 0 0 10px;
}
.cfgp {
	color: var(--text2);
	margin: 0 0 22px;
}
.cfgbill {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--line);
	margin-bottom: 8px;
}
.cfgbill button {
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 9px 16px;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	color: var(--text2);
}
.cfgbill button.on {
	background: var(--ink);
	color: #fff;
}
.cfgbill em {
	font-style: normal;
	font-size: 12.5px;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 999px;
	background: #d3f5e1;
	color: #106d43;
}
.cfgs {
	padding: 30px 0;
	border-top: 1px solid var(--line);
}
.cfgs:first-of-type {
	border-top: 0;
}
.cfgsh {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: baseline;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.cfgsh h4 {
	margin: 0;
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: var(--text);
}
.cfghq {
	border: 0;
	background: none;
	color: var(--blue6);
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	padding: 0;
}
.cfghq span {
	font-size: 15px;
}
.cfghelp {
	border-radius: 16px;
	background: var(--paper2);
	color: #1e3a6e;
	padding: 14px 16px;
	font-size: 16px;
	margin-bottom: 14px;
	line-height: 1.5;
}
.cfgg {
	display: grid;
	gap: 10px;
}
.cfgc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	text-align: left;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 16px;
	padding: 16px 18px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.cfgc:hover {
	border-color: #9db3d8;
}
.cfgc.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 3px rgba(46, 110, 219, 0.12);
}
.cfgc.dis {
	opacity: 0.6;
}
.cfgc.dis:hover {
	border-color: var(--line);
}
.cfgct {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.cfgct b {
	font-weight: 500;
	font-size: 18.5px;
}
.cfgct > span {
	font-size: 16px;
	color: var(--text2);
}
.cfgct em {
	font-style: normal;
	font-size: 14px;
	color: #8a5a00;
}
.cfgct ul {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: grid;
	gap: 3px;
}
.cfgct li {
	font-size: 15px;
	color: var(--text2);
	padding-left: 16px;
	position: relative;
}
.cfgct li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--mint);
}
.cfgcp {
	text-align: right;
	font-weight: 500;
	font-size: 17px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.cfgcp small {
	display: block;
	font-weight: 400;
	font-size: 13px;
	color: var(--text2);
}
.cfgplan .cfgcp {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.cfgmod {
	grid-template-columns: 40px minmax(0, 1fr) auto 26px;
}
.cfgmi {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-family: var(--mono);
	font-size: 12.5px;
	color: #fff;
}
.cfgck {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1.5px solid var(--line);
	display: grid;
	place-items: center;
	font-size: 15px;
	color: var(--text2);
}
.cfgmod.on .cfgck {
	background: var(--blue6);
	border-color: var(--blue6);
	color: #fff;
}
.cfgseat {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.cfgpill {
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 10px 18px;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	color: var(--text);
}
.cfgpill.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 3px rgba(46, 110, 219, 0.12);
}
.cfgpill:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.cfgrng {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) 52px;
	gap: 12px;
	align-items: center;
	width: 100%;
	margin-top: 8px;
	font-size: 16px;
	color: var(--text2);
}
.cfgrng b {
	font-weight: 500;
	color: var(--text);
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.cfgrng input[type='range'] {
	background: linear-gradient(90deg, var(--blue6) var(--p, 50%), #e2e6ec var(--p, 50%));
}
.cfgrng input[type='range']::-webkit-slider-thumb {
	background: #fff;
	box-shadow:
		0 0 0 1px #c9d2de,
		0 2px 6px rgba(0, 0, 0, 0.15);
}
.cfgnote {
	border-radius: 16px;
	border: 1.5px dashed #c9d2de;
	padding: 16px 18px;
	color: var(--text2);
	font-size: 16px;
}
.cfgnote b {
	color: var(--text);
	font-weight: 500;
}
.cfgbarb {
	position: sticky;
	bottom: 0;
	z-index: 20;
	margin-top: 28px;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(16px);
	border-top: 1px solid var(--line);
	border-radius: 20px 20px 0 0;
	box-shadow: 0 -20px 40px rgba(20, 23, 28, 0.06);
}
.cfgbi {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-block: 14px;
	flex-wrap: wrap;
}
.cfgbt {
	display: grid;
	gap: 0;
}
.cfgbt span {
	font-size: 14px;
	color: var(--text2);
}
.cfgbt b {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.03em;
	color: var(--text);
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}
.cfgbm {
	display: grid;
}
.cfgbm span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
}
.cfgbm b {
	font-weight: 500;
	font-size: 19px;
	color: var(--text);
	font-variant-numeric: tabular-nums;
}
.cfgba {
	display: flex;
	gap: 8px;
	margin-left: auto;
	flex-wrap: wrap;
}
.cfgba .btn.ghost {
	background: var(--ink);
	color: #fff;
	border: 0;
}
@media (max-width: 1000px) {
	.cfg {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.cfgv {
		position: static;
	}
	.cfgapp {
		min-height: 0;
	}
}
@media (max-width: 560px) {
	.prtabs {
		display: flex;
	}
	.prtabs button {
		flex: 1;
		padding: 11px 12px;
		font-size: 16px;
	}
	.cfgc {
		padding: 14px;
	}
	.cfgmod {
		grid-template-columns: 36px minmax(0, 1fr) 24px;
	}
	.cfgmod .cfgcp {
		grid-column: 2;
		text-align: left;
	}
	.cfgmod .cfgck {
		grid-row: 1;
		grid-column: 3;
	}
	.cfgbi {
		gap: 10px 18px;
	}
	.cfgbt b {
		font-size: 26px;
	}
	.cfgba {
		width: 100%;
		margin-left: 0;
	}
	.cfgba .btn {
		flex: 1;
		justify-content: center;
		height: 42px;
		font-size: 16px;
	}
	.cfgbm + .cfgbm {
		display: none;
	}
	.cfgbi {
		padding-block: 10px;
	}
	.cfgrng {
		grid-template-columns: 1fr 52px;
	}
	.cfgrng span {
		grid-column: 1/-1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cfgseats i {
		animation: none;
	}
	.cfgrail span {
		transition: none;
	}
}
.roi {
	display: grid;
	grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.6fr);
	gap: 36px;
	align-items: start;
}
.roiin {
	position: sticky;
	top: 96px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-width: thin;
}
.roil {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
	margin: 0 0 8px;
}
.roil.roig {
	margin: 22px 0 4px;
	color: var(--blue6);
}
.roiprod > div {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}
.roiprod button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 5px 12px 5px 5px;
	font: inherit;
	font-size: 15px;
	cursor: pointer;
	color: var(--text2);
}
.roiprod button i {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	background: #eef1f6;
	color: #9aa3af;
	transition:
		background 0.25s,
		color 0.25s;
}
.roiprod button.on {
	border-color: var(--c);
	color: var(--text);
}
.roiprod button.on i {
	background: var(--c);
	color: #fff;
}
.roiprod button[aria-disabled] {
	cursor: default;
}
.roisc {
	margin-bottom: 6px;
}
.roisl {
	display: grid;
	gap: 6px;
	padding: 9px 0;
	border-bottom: 1px solid #eef1f6;
}
.roisl span {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-size: 16px;
	color: var(--text2);
}
.roisl b {
	font-weight: 500;
	color: var(--text);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.roisl input[type='range'] {
	background: linear-gradient(90deg, var(--blue6) var(--p, 50%), #e2e6ec var(--p, 50%));
}
.roisl input[type='range']::-webkit-slider-thumb {
	background: #fff;
	box-shadow:
		0 0 0 1px #c9d2de,
		0 2px 6px rgba(0, 0, 0, 0.15);
	width: 20px;
	height: 20px;
}
.roias {
	margin-top: 18px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 12px 16px;
}
.roias summary {
	cursor: pointer;
	font-size: 16px;
	font-weight: 500;
	color: var(--blue6);
}
.roias ul {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: grid;
	gap: 6px;
}
.roias li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-size: 15px;
	color: var(--text2);
}
.roias li b {
	font-weight: 500;
	color: var(--text);
	white-space: nowrap;
}
.roias {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.roias li b {
	white-space: normal;
	text-align: right;
	max-width: 60%;
}
.roias li {
	min-width: 0;
	overflow-wrap: anywhere;
}
.roiout {
	display: grid;
	gap: 14px;
	min-width: 0;
}
.roihero {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.roihero > div {
	border-radius: 22px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--line);
	display: grid;
	gap: 2px;
}
.roihero > div:first-child {
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
}
.roihero span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
}
.roihero > div:first-child span,
.roihero > div:first-child em {
	color: var(--on2);
}
.roihero b {
	font-size: clamp(36px, 4vw, 56px);
	font-weight: 200;
	letter-spacing: -0.04em;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
	color: var(--text);
}
.roihero > div:first-child b {
	background: linear-gradient(100deg, #fff, var(--blue3));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.roihero em {
	font-style: normal;
	font-size: 15px;
	color: var(--text2);
}
.roicard {
	border-radius: 22px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 18px 20px;
	display: grid;
	gap: 12px;
	align-content: start;
	min-width: 0;
	color: var(--text);
}
.roich {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: baseline;
	flex-wrap: wrap;
}
.roich h5 {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
}
.roich .cp {
	font-size: 14px;
	color: var(--text2);
}
.roig2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
}
.roisvg .rl {
	transition: none;
}
.roi.on .rd {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	animation: rdraw 1.4s cubic-bezier(0.3, 0.7, 0.2, 1) forwards;
}
@keyframes rdraw {
	to {
		stroke-dashoffset: 0;
	}
}
.roisvg .rp {
	animation: dpp 1.8s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
#prRoi .hbr .tb i,
#prRoi .rsbr .tb i {
	width: 0;
	transition: width 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#prRoi.on .hbr .tb i,
#prRoi.on .rsbr .tb i {
	width: var(--w);
}
.rsc {
	display: grid;
	gap: 12px;
}
.rsc h6 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 500;
}
.rsb {
	display: grid;
	gap: 4px;
}
.rsbr {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) 56px;
	gap: 8px;
	align-items: center;
	font-size: 14px;
	color: var(--text2);
}
.rsbr .tb {
	height: 8px;
	border-radius: 6px;
	background: #eef1f6;
	overflow: hidden;
}
.rsbr .tb i {
	display: block;
	height: 100%;
	border-radius: 6px;
}
.rsbr b {
	font-weight: 500;
	color: var(--text);
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.roigrp {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.rgm {
	display: grid;
	gap: 12px;
}
.rgm div {
	display: grid;
	gap: 1px;
	border-left: 2px solid #e5dafd;
	padding-left: 12px;
}
.rgm span {
	font-size: 14px;
	color: var(--text2);
}
.rgm b {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.rgm em {
	font-style: normal;
	font-size: 14px;
	color: var(--text2);
}
.roinote {
	font-size: 14.5px;
	color: var(--text2);
	margin: 0;
}
@media (max-width: 1100px) {
	.roi {
		grid-template-columns: 1fr;
	}
	.roiin {
		position: static;
		max-height: none;
		overflow: visible;
		padding: 0;
	}
	.roigrp {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 700px) {
	.roihero,
	.roig2 {
		grid-template-columns: 1fr;
	}
}
@media (prefers-reduced-motion: reduce) {
	.roi.on .rd {
		animation: none;
		stroke-dasharray: none;
	}
	.roisvg .rp {
		animation: none;
	}
	#prRoi .hbr .tb i,
	#prRoi .rsbr .tb i {
		transition: none;
	}
}
.spt {
	background: linear-gradient(180deg, #fff 0%, #f4f6fa 100%);
	color: var(--text);
}
.spthero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 6px;
	margin-bottom: 48px;
}
.spthero .h2 {
	margin-bottom: 24px;
}
.sptsearch {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	width: min(720px, 100%);
	background: #fff;
	border: 1.5px solid var(--line);
	border-radius: 999px;
	padding: 6px 6px 6px 22px;
	box-shadow: 0 20px 50px rgba(20, 23, 28, 0.08);
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.sptsearch:focus-within {
	border-color: var(--blue6);
	box-shadow:
		0 0 0 4px rgba(46, 110, 219, 0.12),
		0 20px 50px rgba(20, 23, 28, 0.08);
}
.sptsearch > span {
	font-size: 24px;
	color: var(--text2);
}
.sptsearch input {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	background: none;
	font: inherit;
	font-size: 19px;
	color: var(--text);
	padding: 10px 0;
}
.sptsearch .btn {
	height: 46px;
}
.sptres {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 20px;
	box-shadow: 0 30px 60px rgba(20, 23, 28, 0.14);
	padding: 8px;
	z-index: 30;
	text-align: left;
	display: grid;
}
.sptres button {
	display: grid;
	gap: 1px;
	text-align: left;
	border: 0;
	background: none;
	border-radius: 12px;
	padding: 10px 14px;
	font: inherit;
	cursor: pointer;
	color: var(--text);
}
.sptres button:hover {
	background: var(--paper);
}
.sptres b {
	font-weight: 500;
	font-size: 17px;
}
.sptres span {
	font-size: 14.5px;
	color: var(--text2);
}
.sptres .sptaskrow {
	color: var(--blue6);
	font-weight: 500;
	border-top: 1px solid var(--line);
	border-radius: 0 0 12px 12px;
	margin-top: 4px;
}
.sptnone {
	padding: 10px 14px;
	color: var(--text2);
	font-size: 16px;
}
.sptpop {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin-top: 16px;
	font-size: 15px;
	color: var(--text2);
	align-items: center;
}
.sptpop button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 6px 12px;
	font: inherit;
	font-size: 15px;
	color: var(--blue6);
	cursor: pointer;
}
.sptpop button:hover {
	border-color: var(--blue6);
}
.spttiles {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}
.spttiles button {
	display: grid;
	justify-items: center;
	gap: 10px;
	padding: 20px 8px;
	border-radius: 22px;
	border: 1.5px solid transparent;
	background: transparent;
	font: inherit;
	cursor: pointer;
	color: var(--text);
	transition:
		background 0.2s,
		border-color 0.2s,
		transform 0.2s;
}
.spttiles button:hover {
	background: #fff;
	transform: translateY(-3px);
}
.spttiles button.on {
	background: #fff;
	border-color: var(--line);
	box-shadow: 0 20px 40px rgba(20, 23, 28, 0.07);
}
.spttiles i {
	width: 64px;
	height: 64px;
	border-radius: 20px;
	display: grid;
	place-items: center;
	font-style: normal;
	font-family: var(--mono);
	font-size: 16px;
	color: #fff;
	background: var(--c);
	box-shadow: 0 12px 24px rgba(20, 23, 28, 0.14);
}
.spttiles b {
	font-weight: 500;
	font-size: 16px;
	text-align: center;
	line-height: 1.25;
}
.spttopics {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 22px 24px;
	margin-bottom: 64px;
	animation: sfin 0.4s ease-out;
}
.spttl {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: baseline;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.spttl h4 {
	margin: 0;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.sptacc {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 28px;
}
.sptacc details {
	border-bottom: 1px solid #eef1f6;
	padding: 14px 0;
}
.sptacc summary {
	cursor: pointer;
	font-weight: 500;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.sptacc summary::after {
	content: '+';
	color: var(--text2);
}
.sptacc details[open] summary::after {
	content: '–';
}
.sptacc p {
	margin: 8px 0 6px;
	color: var(--text2);
	font-size: 17px;
}
.sptfb {
	font-size: 14.5px;
	color: var(--text2);
	display: flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
}
.sptfb button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 3px 10px;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	color: var(--text);
}
.spth {
	text-align: center;
	margin: 0 0 24px;
}
.spth h3 {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 48px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.spth p {
	color: var(--text2);
	margin: 8px 0 0;
}
.sptways {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}
.sptw {
	display: grid;
	gap: 8px;
	align-content: start;
	text-align: left;
	border-radius: 24px;
	border: 1px solid var(--line);
	background: #fff;
	padding: 22px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
	transition:
		transform 0.25s,
		box-shadow 0.25s;
}
.sptw:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(20, 23, 28, 0.08);
}
.sptw i {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 22px;
	background: #eef4ff;
	color: var(--blue6);
}
.sptw b {
	font-weight: 500;
	font-size: 20px;
}
.sptw span {
	color: var(--text2);
	font-size: 16px;
}
.sptw em {
	font-style: normal;
	color: var(--blue6);
	font-size: 16px;
	margin-top: 4px;
}
.sptw.ai {
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
}
.sptw.ai i {
	background: linear-gradient(135deg, #9a6df1, #2e6edb);
	color: #fff;
	animation: dspin 6s linear infinite;
}
.sptw.ai span {
	color: var(--on2);
}
.sptw.ai em {
	color: var(--blue3);
}
.sptgrid {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 14px;
	margin-bottom: 64px;
}
.sptcard {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 22px 24px;
	display: grid;
	gap: 14px;
	align-content: start;
}
.spch {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: baseline;
	flex-wrap: wrap;
}
.spch h4 {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
}
.spch > span {
	font-size: 15px;
	color: #16884f;
}
.sptsy {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) 58px;
	gap: 12px;
	align-items: center;
	font-size: 15.5px;
}
.sptsy b {
	font-weight: 500;
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-size: 15px;
}
.sptbars {
	display: grid;
	grid-template-columns: repeat(30, minmax(0, 1fr));
	gap: 2px;
}
.sptbars i {
	height: 20px;
	border-radius: 2px;
	background: #3ec07e;
	animation: sbarin 0.5s ease backwards;
}
.sptbars i.w {
	background: #f5a524;
}
@keyframes sbarin {
	from {
		transform: scaleY(0);
	}
}
.sptinc {
	font-size: 15px;
	color: var(--text2);
	display: grid;
	gap: 2px;
	border-top: 1px solid #eef1f6;
	padding-top: 10px;
}
.sptinc b {
	font-weight: 500;
	color: var(--text);
}
.sptk {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.sptk div {
	border-radius: 16px;
	background: var(--paper);
	padding: 14px;
	display: grid;
	gap: 2px;
}
.sptk span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.sptk b {
	font-size: 28px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.sptk em {
	font-style: normal;
	font-size: 14px;
	color: var(--text2);
}
.sptplans {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 64px;
}
.sptp {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 22px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.sptp .lab {
	margin: 0;
}
.sptp b {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.sptp p {
	margin: 0;
	color: var(--text2);
	font-size: 16px;
}
.sptp ul {
	list-style: none;
	margin: 4px 0 8px;
	padding: 0;
	display: grid;
	gap: 6px;
}
.sptp li {
	font-size: 16px;
	color: var(--text2);
	padding-left: 20px;
	position: relative;
}
.sptp li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--mint);
}
.sptp.pop {
	background: linear-gradient(160deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
}
.sptp.pop p,
.sptp.pop li {
	color: var(--on2);
}
.sptp.pop .lab {
	color: var(--blue3);
}
.sptp .btn {
	justify-content: center;
	height: 44px;
	font-size: 16px;
}
.sptlinks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.sptlinks a {
	border-radius: 16px;
	background: var(--paper);
	padding: 14px;
	display: grid;
	gap: 2px;
}
.sptlinks a:hover {
	background: #e8effc;
}
.sptlinks b {
	font-weight: 500;
	color: var(--blue6);
}
.sptlinks span {
	font-size: 15px;
	color: var(--text2);
}
.sptsafe p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.sptsafe b {
	color: var(--text);
	font-weight: 500;
}
.sptchat {
	position: fixed;
	right: max(16px, env(safe-area-inset-right, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 75;
	width: min(420px, calc(100vw - 32px));
	height: min(620px, calc(100dvh - 120px));
	display: flex;
	flex-direction: column;
	background: #fff;
	color: var(--text);
	border-radius: 24px;
	border: 1px solid var(--line);
	box-shadow: 0 40px 90px rgba(7, 11, 22, 0.35);
	overflow: hidden;
	animation: sfin 0.35s ease-out;
}
.sptch {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 14px 12px;
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
}
.sptch > div {
	flex: 1;
	min-width: 0;
}
.sptch b {
	display: block;
	font-weight: 500;
}
.sptch span {
	font-size: 14px;
	color: var(--on2);
}
.sptav {
	width: 36px;
	height: 36px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #9a6df1, #2e6edb);
	color: #fff;
	flex: none;
	animation: dspin 6s linear infinite;
}
.sptch select {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid var(--hair);
	color: var(--on);
	border-radius: 8px;
	padding: 5px 6px;
	font: inherit;
	font-size: 14px;
}
.sptch select option {
	color: #111;
}
#sptX {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	border: 0;
	background: rgba(255, 255, 255, 0.1);
	color: var(--on);
	font-size: 22px;
	cursor: pointer;
}
.sptlog {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #f7f9fc;
}
.sptm {
	max-width: 88%;
	padding: 10px 13px;
	border-radius: 16px;
	font-size: 16px;
	line-height: 1.5;
	animation: dfin 0.35s ease both;
}
.sptm p {
	margin: 6px 0;
}
.sptm.me {
	align-self: flex-end;
	background: var(--blue6);
	color: #fff;
	border-bottom-right-radius: 5px;
}
.sptm.ai {
	align-self: flex-start;
	background: #fff;
	border: 1px solid var(--line);
	border-bottom-left-radius: 5px;
}
.sptm a {
	color: var(--blue6);
	font-weight: 500;
}
.spttyp {
	display: inline-flex;
	gap: 4px;
}
.spttyp i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #9a6df1;
	animation: blink 1s infinite;
}
.spttyp i:nth-child(2) {
	animation-delay: 0.15s;
}
.spttyp i:nth-child(3) {
	animation-delay: 0.3s;
}
.sptsrc {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin-top: 6px;
	font-size: 14px;
	color: var(--text2);
}
.sptsrc button,
.sptacts button,
.sptacts a {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 4px 10px;
	font: inherit;
	font-size: 14.5px;
	color: var(--blue6);
	cursor: pointer;
}
.sptacts {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 8px;
}
.sptm .sptfb {
	margin-top: 8px;
}
.spttk {
	display: grid;
	gap: 6px;
	margin: 8px 0;
	padding: 10px;
	border-radius: 12px;
	background: var(--paper);
}
.spttk div {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-size: 15px;
}
.spttk span {
	color: var(--text2);
}
.spttk b {
	font-weight: 500;
	text-align: right;
}
.sptsug {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 8px 12px;
	border-top: 1px solid #eef1f6;
	scrollbar-width: none;
}
.sptsug button {
	flex: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 6px 11px;
	font: inherit;
	font-size: 14.5px;
	color: var(--text);
	cursor: pointer;
}
.sptf {
	display: flex;
	gap: 8px;
	padding: 10px 12px 12px;
	border-top: 1px solid #eef1f6;
}
.sptf input {
	flex: 1;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 10px 14px;
	font: inherit;
	font-size: 16px;
	outline: 0;
}
.sptf input:focus {
	border-color: var(--blue6);
}
.sptf .btn {
	height: 42px;
	padding: 0 16px;
	font-size: 16px;
}
@media (max-width: 1100px) {
	.spttiles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.sptways,
	.sptplans {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sptgrid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 640px) {
	.spttiles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2px;
	}
	.spttiles button {
		padding: 12px 2px;
	}
	.spttiles i {
		width: 46px;
		height: 46px;
		border-radius: 14px;
		font-size: 14px;
	}
	.spttiles b {
		font-size: 13px;
	}
	.sptacc {
		grid-template-columns: 1fr;
	}
	.sptways,
	.sptplans,
	.sptlinks {
		grid-template-columns: 1fr;
	}
	.sptsy {
		grid-template-columns: 1fr 54px;
	}
	.sptsy .sptbars {
		grid-column: 1/-1;
		grid-row: 2;
	}
	.sptsearch {
		padding-left: 16px;
	}
	.sptsearch input {
		font-size: 17px;
	}
	.sptsearch .btn {
		padding: 0 14px;
	}
	.spttopics {
		padding: 18px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.sptbars i,
	.sptm,
	.sptchat,
	.spttopics {
		animation: none;
	}
	.sptw.ai i,
	.sptav {
		animation: none;
	}
}
.roiyt td.pos {
	color: #16884f;
}
.roiyt td.neg {
	color: #c2413b;
}
.roiyt tfoot td {
	font-weight: 500;
	border-top: 1px solid var(--line);
	padding: 8px 6px;
	color: var(--text);
}
.roiyt b {
	font-weight: 500;
}
.sptchat[hidden],
.sptres[hidden],
#prRoi[hidden],
#prBuild[hidden],
#prPlans[hidden] {
	display: none !important;
}
.roiyt tbody tr {
	opacity: 1 !important;
	transform: none !important;
}
@media (min-width: 1381px) and (max-width: 1560px) {
	.links a {
		padding: 8px 11px;
		font-size: 15.5px;
	}
	.nav .wrap {
		gap: 14px;
	}
}
.pst {
	background: #fff;
	color: var(--text);
}
.psthero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 860px;
	margin: 0 auto 56px;
}
.psthero .h2 {
	margin-bottom: 12px;
}
.psthero .sub {
	max-width: 640px;
	color: var(--text2);
	font-size: 21px;
}
.pstcta {
	display: flex;
	gap: 16px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 18px;
}
.pstcta span {
	font-size: 16px;
	color: var(--text2);
}
.pstwhat {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 64px;
}
.pstw {
	border-radius: 24px;
	background: #f5f7fb;
	padding: 26px 24px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.pstw i {
	font-style: normal;
	font-size: 44px;
	font-weight: 200;
	letter-spacing: -0.04em;
	color: #9aa6bb;
	line-height: 1;
}
.pstw b {
	font-size: 21px;
	font-weight: 500;
	letter-spacing: -0.01em;
}
.pstw p {
	margin: 0;
	color: var(--text2);
	font-size: 17px;
}
.pstbook {
	border-radius: 32px;
	border: 1px solid var(--line);
	background: linear-gradient(180deg, #f7faff, #fff);
	padding: 28px;
	margin-bottom: 64px;
	box-shadow: 0 40px 80px rgba(20, 23, 28, 0.06);
	scroll-margin-top: 96px;
}
.pststeps {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.pststeps button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 6px 14px 6px 6px;
	font: inherit;
	font-size: 16px;
	color: var(--text2);
	cursor: pointer;
}
.pststeps button:disabled {
	opacity: 0.5;
	cursor: default;
}
.pststeps i {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 14px;
	background: #eef1f6;
}
.pststeps button.on {
	border-color: var(--blue6);
	color: var(--text);
}
.pststeps button.on i {
	background: var(--blue6);
	color: #fff;
}
.pststeps button.ok i {
	background: var(--mint);
	color: #fff;
}
.pstpanel {
	opacity: 0;
	transform: translateY(10px);
	transition:
		opacity 0.35s,
		transform 0.35s;
}
.pstpanel.in {
	opacity: 1;
	transform: none;
}
.pstpanel h4 {
	margin: 0;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 400;
	letter-spacing: -0.03em;
}
.psts {
	margin: 6px 0 20px;
	color: var(--text2);
}
.pstprod {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}
.pstprod button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 6px 14px 6px 6px;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	color: var(--text2);
}
.pstprod i {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	background: #eef1f6;
	color: #9aa3af;
}
.pstprod button.on {
	border-color: var(--c);
	color: var(--text);
}
.pstprod button.on i {
	background: var(--c);
	color: #fff;
}
.psttop {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.psttop button {
	display: grid;
	gap: 3px;
	text-align: left;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 18px;
	padding: 16px;
	font: inherit;
	cursor: pointer;
	color: var(--text);
	transition:
		border-color 0.2s,
		box-shadow 0.2s;
}
.psttop button:hover {
	border-color: #9db3d8;
}
.psttop button.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 3px rgba(46, 110, 219, 0.12);
}
.psttop b {
	font-weight: 500;
	font-size: 18.5px;
}
.psttop span {
	font-size: 15.5px;
	color: var(--text2);
}
.pstl {
	display: block;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text2);
	margin: 16px 0 8px;
}
.pstchips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.pstchips button {
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 9px 16px;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	color: var(--text);
}
.pstchips button.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 3px rgba(46, 110, 219, 0.12);
}
.pstdays {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 6px;
	margin-bottom: 16px;
	scrollbar-width: thin;
}
.pstdays button {
	flex: none;
	display: grid;
	justify-items: center;
	gap: 0;
	width: 74px;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 18px;
	padding: 10px 6px;
	font: inherit;
	cursor: pointer;
	color: var(--text);
}
.pstdays span {
	font-size: 14px;
	color: var(--text2);
}
.pstdays b {
	font-size: 26px;
	font-weight: 400;
}
.pstdays button.on {
	border-color: var(--blue6);
	background: var(--blue6);
	color: #fff;
}
.pstdays button.on span {
	color: rgba(255, 255, 255, 0.8);
}
.pstslots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 8px;
}
.pstslots button {
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 14px;
	padding: 12px;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	color: var(--text);
	display: grid;
	gap: 0;
}
.pstslots button small {
	font-size: 12.5px;
	color: var(--text2);
}
.pstslots button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}
.pstslots button.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 3px rgba(46, 110, 219, 0.12);
}
.pstnone {
	border: 1.5px dashed #c9d2de;
	border-radius: 16px;
	padding: 16px;
	color: var(--text2);
	font-size: 16px;
}
.pstform {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.pstform label {
	display: grid;
	gap: 6px;
	font-size: 15px;
	color: var(--text2);
}
.pstform label:last-child {
	grid-column: 1/-1;
}
.pstform input,
.pstform textarea {
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 12px 14px;
	font: inherit;
	font-size: 17px;
	color: var(--text);
	outline: 0;
	background: #fff;
}
.pstform input:focus,
.pstform textarea:focus {
	border-color: var(--blue6);
}
.pstsum {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.pstsum div {
	border-radius: 14px;
	background: var(--paper);
	padding: 12px 14px;
	display: grid;
	gap: 2px;
}
.pstsum span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.pstsum b {
	font-weight: 500;
	font-size: 16.5px;
}
.pstsum.mini {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pstnav {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #eef1f6;
}
.pstnav .btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
.pstnav .btn.ghost {
	background: #fff;
	color: var(--text);
	border: 1px solid var(--line);
}
.pstdone {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 10px;
	padding: 10px 0;
}
.pstok {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--mint);
	color: #fff;
	font-size: 28px;
	animation: cfgpop 0.5s cubic-bezier(0.2, 1.4, 0.4, 1);
}
.pstdone h3 {
	margin: 0;
	font-size: 34px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.pstdone p {
	margin: 0;
	color: var(--text2);
}
.pstdone .pstsum {
	width: 100%;
	text-align: left;
	margin: 10px 0;
}
.pstact {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}
.pstact .btn.ghost {
	background: #fff;
	color: var(--text);
	border: 1px solid var(--line);
}
.pstfine {
	font-size: 14px;
}
.psth {
	text-align: center;
	margin-bottom: 20px;
}
.psth h3 {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 48px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.pstready {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 48px;
}
.pstready div {
	border-top: 2px solid var(--text);
	padding-top: 14px;
	display: grid;
	gap: 6px;
}
.pstready b {
	font-weight: 500;
	font-size: 19px;
}
.pstready span {
	color: var(--text2);
	font-size: 16.5px;
}
.pstfaq details {
	background: #f5f7fb;
	border-color: transparent;
}
@media (max-width: 1000px) {
	.pstwhat,
	.pstready {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.psttop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pstsum,
	.pstsum.mini {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.pstwhat,
	.pstready,
	.psttop,
	.pstform {
		grid-template-columns: 1fr;
	}
	.pstbook {
		padding: 18px;
		border-radius: 24px;
	}
	.psthero .sub {
		font-size: 19px;
	}
	.pststeps button {
		padding: 4px 10px 4px 4px;
		font-size: 15px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.pstpanel {
		transition: none;
	}
	.pstok {
		animation: none;
	}
}
.aps {
	background: #fff;
	color: var(--text);
	overflow: hidden;
}
.apshero {
	position: relative;
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 40px 0 48px;
	max-width: 900px;
	margin: 0 auto;
}
.apshero .h2 {
	margin-bottom: 10px;
	position: relative;
}
.apshero .sub {
	color: var(--text2);
	max-width: 640px;
	position: relative;
}
.apshero .lab {
	position: relative;
}
.apscloud {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 50vw + 24px);
	right: calc(50% - 50vw + 24px);
	max-width: none;
	pointer-events: none;
}
.apstabs {
	position: relative;
	z-index: 2;
}
.apscloud span {
	position: absolute;
	left: var(--x);
	top: var(--y);
	animation: apsfl 7s ease-in-out infinite;
	animation-delay: calc(var(--d) * -1);
}
.apscloud .apsic {
	width: 58px;
	height: 58px;
	font-size: 26px;
	opacity: 0.9;
}
@keyframes apsfl {
	50% {
		transform: translateY(-14px) rotate(3deg);
	}
}
.apsic {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 26px;
	color: #fff;
	background: linear-gradient(145deg, var(--b), var(--a));
	box-shadow:
		0 12px 26px rgba(20, 23, 28, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);
	flex: none;
}
.apstabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 auto 32px;
	padding: 5px;
	border-radius: 999px;
	background: #f2f4f8;
	width: max-content;
	max-width: 100%;
}
.apstabs button {
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 10px 18px;
	font: inherit;
	font-size: 17px;
	color: var(--text2);
	cursor: pointer;
}
.apstabs button.on {
	background: #fff;
	color: var(--text);
	box-shadow: 0 4px 14px rgba(20, 23, 28, 0.08);
}
.apspanel {
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.4s,
		transform 0.4s;
}
.apspanel.in {
	opacity: 1;
	transform: none;
}
.apsh {
	text-align: center;
	margin-bottom: 28px;
}
.apsh h3 {
	margin: 0;
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.apsh p {
	color: var(--text2);
	margin: 10px auto 0;
	max-width: 640px;
}
.apsgrid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 26px 14px;
}
.apsapp {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 6px;
	animation: apsin 0.5s ease both;
}
.apsapp .apsic {
	width: 84px;
	height: 84px;
	border-radius: 22px;
	font-size: 32px;
	transition: transform 0.25s;
}
.apsapp:hover .apsic {
	transform: translateY(-4px) scale(1.04);
}
.apsapp b {
	font-weight: 500;
	font-size: 17px;
	margin-top: 4px;
}
.apsapp span {
	font-size: 14.5px;
	color: var(--text2);
	max-width: 160px;
}
@keyframes apsin {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.96);
	}
}
.apsbar {
	display: flex;
	gap: 12px;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.apsf {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.apsf button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 7px 14px;
	font: inherit;
	font-size: 15.5px;
	color: var(--text2);
	cursor: pointer;
}
.apsf button.on {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink);
}
#apsQ {
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 10px 16px;
	font: inherit;
	font-size: 16px;
	min-width: 240px;
	outline: 0;
}
#apsQ:focus {
	border-color: var(--blue6);
}
.apscon {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.apsc {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px;
	animation: apsin 0.4s ease both;
}
.apsc b {
	font-weight: 500;
	display: block;
}
.apsc span {
	font-size: 15px;
	color: var(--text2);
}
.apsc em {
	font-style: normal;
	font-size: 12.5px;
	color: var(--text2);
	background: #f2f4f8;
	border-radius: 999px;
	padding: 3px 8px;
	white-space: nowrap;
}
.apsl {
	width: 44px;
	height: 44px;
	border-radius: 13px;
	display: grid;
	place-items: center;
	color: #fff;
	font-style: normal;
	font-weight: 600;
	font-size: 18.5px;
	box-shadow: 0 8px 18px rgba(20, 23, 28, 0.12);
}
.apsnone {
	grid-column: 1/-1;
	border: 1.5px dashed #c9d2de;
	border-radius: 16px;
	padding: 18px;
	color: var(--text2);
	text-align: center;
}
.apsfine {
	font-size: 14px;
	color: var(--text2);
	text-align: center;
	margin: 14px 0 0;
}
.apsmcp {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}
.apsmc {
	border-radius: 24px;
	border: 1px solid var(--line);
	padding: 22px;
	display: grid;
	gap: 8px;
	align-content: start;
	background: #f7f9fc;
}
.apsmc b {
	font-size: 22px;
	font-weight: 500;
}
.apsmc p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.apsmc ol {
	margin: 4px 0 0;
	padding-left: 20px;
	display: grid;
	gap: 4px;
	font-size: 16px;
	color: var(--text2);
}
.apsmc.dark {
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
}
.apsmc.dark p {
	color: var(--on2);
}
.apsmc.dark .btn {
	justify-self: start;
	height: 40px;
	font-size: 16px;
}
.apsbadge {
	justify-self: start;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 999px;
	background: #d3f5e1;
	color: #106d43;
}
.apsurl {
	display: block;
	font-family: var(--mono);
	font-size: 16px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--hair);
	border-radius: 12px;
	padding: 12px;
	word-break: break-all;
}
.apstools,
.apscode,
.apsperm {
	border-radius: 24px;
	border: 1px solid var(--line);
	padding: 20px 22px;
	margin-bottom: 14px;
}
.apsth {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.apsth b {
	font-weight: 500;
}
.apsth span {
	font-size: 15px;
	color: var(--text2);
}
.apstools {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
}
.apstools .apsth {
	grid-column: 1/-1;
}
.apst {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	padding: 9px 0;
	border-top: 1px solid #eef1f6;
	font-size: 15.5px;
}
.apst code {
	font-family: var(--mono);
	font-size: 14.5px;
	color: var(--blue6);
}
.apst em {
	font-style: normal;
	font-size: 12.5px;
	border-radius: 999px;
	padding: 2px 8px;
	background: #dce8fe;
	color: #1e478e;
}
.apst em.w {
	background: #fdf0d5;
	color: #8a5a00;
}
.apst span {
	color: var(--text2);
}
.apschat {
	display: grid;
	gap: 8px;
	min-height: 250px;
	align-content: start;
}
.apsm {
	max-width: 78%;
	padding: 10px 14px;
	border-radius: 16px;
	font-size: 16px;
	animation: dfin 0.4s ease both;
}
.apsm.me {
	justify-self: end;
	background: var(--blue6);
	color: #fff;
	border-bottom-right-radius: 5px;
}
.apsm.ai {
	background: #f2f4f8;
	border-bottom-left-radius: 5px;
}
.apsm.tool {
	font-family: var(--mono);
	font-size: 13px;
	color: #5a2fad;
	background: #f0e8fe;
	border-radius: 999px;
	padding: 5px 12px;
	justify-self: start;
}
.apsplg {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.apsp {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	border-bottom: 1px solid #eef1f6;
	padding: 14px 4px;
}
.apspt b {
	font-weight: 500;
	display: block;
}
.apspt span {
	font-size: 15.5px;
	color: var(--text2);
	display: block;
}
.apspt em {
	font-style: normal;
	font-size: 13px;
	color: var(--blue6);
}
.apsin {
	border: 0;
	border-radius: 999px;
	padding: 7px 18px;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	background: #eef2f8;
	color: var(--blue6);
	cursor: pointer;
	min-width: 76px;
}
.apsin.on {
	background: #d3f5e1;
	color: #106d43;
}
.apsag {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.apsa {
	border-radius: 24px;
	border: 1px solid var(--line);
	padding: 22px;
	display: grid;
	gap: 8px;
	align-content: start;
	background: #fff;
	transition:
		transform 0.25s,
		box-shadow 0.25s;
}
.apsa:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(20, 23, 28, 0.08);
}
.apsa.own {
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
	border-color: transparent;
}
.apsa.own p,
.apsa.own small {
	color: var(--on2);
}
.apsav {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #9a6df1, #2e6edb);
	color: #fff;
}
.apsa b {
	font-size: 20px;
	font-weight: 500;
}
.apsa p {
	margin: 0;
	color: var(--text2);
	font-size: 16px;
}
.apsr {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 6px;
}
.apsr span {
	font-size: 15px;
	border-radius: 12px;
	background: rgba(127, 140, 160, 0.1);
	padding: 8px 10px;
	display: grid;
}
.apsr small {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.apswf {
	display: grid;
	gap: 12px;
}
.apsw {
	border-radius: 22px;
	border: 1px solid var(--line);
	padding: 18px 20px;
	display: grid;
	gap: 10px;
}
.apsw > b {
	font-weight: 500;
	font-size: 19px;
}
.apsflow {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: stretch;
}
.apsflow span {
	position: relative;
	display: grid;
	gap: 1px;
	border-radius: 14px;
	padding: 9px 14px;
	font-size: 15.5px;
	background: #f2f4f8;
	animation: apsin 0.5s ease both;
}
.apsflow small {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.apsflow .tr {
	background: #dce8fe;
}
.apsflow .st {
	background: #efe7fe;
}
.apsflow .ap {
	background: #d3f5e1;
}
.apsflow span + span::before {
	content: '→';
	position: absolute;
	left: -8px;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #9aa3af;
	font-size: 14px;
}
.apssec {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}
.apssec div {
	border-radius: 24px;
	background: #f7f9fc;
	padding: 22px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.apssec i {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	font-style: normal;
	background: #d3f5e1;
	color: #106d43;
	font-size: 20px;
}
.apssec b {
	font-size: 20px;
	font-weight: 500;
}
.apssec p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.apspr {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 9px 0;
	border-top: 1px solid #eef1f6;
	font-size: 16.5px;
}
.apspr span {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 14px;
	flex: none;
}
.apspr .y {
	background: #d3f5e1;
	color: #106d43;
}
.apspr .n {
	background: #fde2e2;
	color: #a23434;
}
@media (max-width: 1100px) {
	.apsgrid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.apscon,
	.apsag,
	.apssec,
	.apsmcp {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 1100px) {
	.apscloud {
		display: none;
	}
}
@media (max-width: 640px) {
	.apsgrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px 8px;
	}
	.apsapp .apsic {
		width: 64px;
		height: 64px;
		font-size: 26px;
		border-radius: 18px;
	}
	.apsapp span {
		display: none;
	}
	.apscon,
	.apsag,
	.apssec,
	.apsmcp,
	.apsplg,
	.apstools {
		grid-template-columns: 1fr;
	}
	.apstabs {
		width: auto;
		border-radius: 22px;
		justify-content: flex-start;
	}
	.apstabs button {
		padding: 8px 13px;
		font-size: 16px;
	}
	#apsQ {
		min-width: 0;
		width: 100%;
	}
	.apscloud {
		inset: -20px -120px;
	}
	.apscloud .apsic {
		width: 40px;
		height: 40px;
		font-size: 18.5px;
		border-radius: 12px;
	}
	.apst {
		grid-template-columns: auto auto;
	}
	.apst span {
		grid-column: 1/-1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.apscloud span,
	.apsapp,
	.apsc,
	.apsflow span,
	.apsm {
		animation: none;
	}
	.apspanel {
		transition: none;
	}
}
.act {
	border-top: 1px solid var(--line);
	padding-top: 72px;
	margin-top: 8px;
	scroll-margin-top: 90px;
}
.acthero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 760px;
	margin: 0 auto 40px;
}
.acthero h3 {
	margin: 0;
	font-size: clamp(34px, 4.4vw, 60px);
	font-weight: 300;
	letter-spacing: -0.045em;
	line-height: 1.02;
}
.acthero p {
	color: var(--text2);
	margin: 4px 0 14px;
	font-size: 19px;
}
.actlogo {
	width: 76px;
	height: 76px;
	border-radius: 24px;
	display: grid;
	place-items: center;
	font-size: 30px;
	color: #fff;
	background: linear-gradient(135deg, #2e6edb, #9a6df1);
	box-shadow: 0 20px 40px rgba(46, 110, 219, 0.3);
	margin-bottom: 8px;
	animation: dspin 8s linear infinite;
}
.actsign {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
.actsign .btn {
	height: 46px;
	font-size: 16.5px;
}
.actsign .btn.ghost,
.actlock .btn.ghost {
	background: #fff;
	color: var(--text);
	border: 1px solid var(--line);
}
.actnote {
	font-size: 14.5px;
	color: var(--text2);
	margin-top: 6px;
}
.actfeat {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 28px;
}
.actfeat div {
	border-radius: 22px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 20px;
	display: grid;
	gap: 6px;
	align-content: start;
}
.actfeat i {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-style: normal;
	background: #eef4ff;
	color: var(--blue6);
	font-size: 19px;
}
.actfeat b {
	font-weight: 500;
	font-size: 18.5px;
}
.actfeat span {
	font-size: 16px;
	color: var(--text2);
}
.actmgr {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	border-radius: 28px;
	background: #fff;
	border: 1px solid var(--line);
	overflow: hidden;
	margin-bottom: 28px;
	min-height: 440px;
	box-shadow: 0 30px 70px rgba(20, 23, 28, 0.07);
}
.actside {
	background: #f7f9fc;
	border-right: 1px solid var(--line);
	padding: 24px 16px;
	display: grid;
	align-content: start;
	justify-items: center;
	gap: 4px;
	text-align: center;
}
.actside b {
	font-weight: 500;
	font-size: 18.5px;
}
.actside > span {
	font-size: 14px;
	color: var(--text2);
	word-break: break-all;
}
.actav {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 26px;
	font-weight: 400;
	background: #e2e6ec;
	color: #9aa3af;
	margin-bottom: 8px;
}
.actav.on {
	background: linear-gradient(135deg, #2e6edb, #9a6df1);
	color: #fff;
}
.actside nav {
	display: grid;
	gap: 2px;
	width: 100%;
	margin-top: 16px;
	text-align: left;
}
.actside nav button {
	border: 0;
	background: none;
	border-radius: 10px;
	padding: 9px 12px;
	font: inherit;
	font-size: 16px;
	color: var(--text2);
	text-align: left;
	cursor: pointer;
}
.actside nav button:hover {
	background: #eef1f6;
}
.actside nav button.on {
	background: #fff;
	color: var(--text);
	box-shadow: 0 2px 8px rgba(20, 23, 28, 0.06);
	font-weight: 500;
}
.actout {
	margin-top: 14px;
	border: 0;
	background: none;
	font: inherit;
	font-size: 15px;
	color: var(--blue6);
	cursor: pointer;
}
.actmain {
	padding: 28px 32px;
	min-width: 0;
}
.actpanel {
	animation: sfin 0.35s ease-out;
}
.actpanel h4 {
	margin: 0 0 14px;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.actp {
	color: var(--text2);
	font-size: 16.5px;
	margin: -6px 0 14px;
}
.actfine {
	font-size: 14px;
	color: var(--text2);
	margin: 18px 0 0;
}
.actrows {
	display: grid;
}
.actrow {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #eef1f6;
	font-size: 16.5px;
}
.actrow > span:first-child {
	color: var(--text2);
}
.actrow b {
	font-weight: 500;
}
.actrow select {
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 8px 10px;
	font: inherit;
	font-size: 16px;
	max-width: 220px;
}
.actlink {
	border: 0;
	background: none;
	font: inherit;
	font-size: 16px;
	color: var(--blue6);
	cursor: pointer;
	padding: 0;
	white-space: nowrap;
}
.actlink.red,
.btn.red {
	color: #c2413b !important;
}
.actsw {
	width: 44px;
	height: 26px;
	border-radius: 999px;
	border: 0;
	background: #d5dae2;
	position: relative;
	cursor: pointer;
	padding: 0;
	transition: background 0.2s;
}
.actsw::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s;
}
.actsw.on {
	background: #3ec07e;
}
.actsw.on::after {
	transform: translateX(18px);
}
.actscore {
	display: flex;
	gap: 16px;
	align-items: center;
	border-radius: 18px;
	background: #f7f9fc;
	padding: 16px;
	margin-bottom: 8px;
}
.actscore b {
	font-weight: 500;
	display: block;
}
.actscore span {
	font-size: 15.5px;
	color: var(--text2);
}
.actring {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	flex: none;
	display: grid;
	place-items: center;
	background: conic-gradient(#3ec07e calc(var(--v) * 1%), #e2e6ec 0);
	position: relative;
}
.actring::before {
	content: '';
	position: absolute;
	inset: 7px;
	border-radius: 50%;
	background: #f7f9fc;
}
.actring b {
	position: relative;
	font-size: 20px;
	font-weight: 400;
}
.actlist {
	display: grid;
	margin-bottom: 16px;
}
.actdv {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid #eef1f6;
}
.actdv i {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-style: normal;
	background: #eef4ff;
	color: var(--blue6);
	font-size: 18.5px;
	font-weight: 500;
}
.actdv b {
	font-weight: 500;
	display: block;
}
.actdv span {
	font-size: 15px;
	color: var(--text2);
}
.actdv em {
	font-style: normal;
	font-size: 14px;
	color: #106d43;
	background: #d3f5e1;
	border-radius: 999px;
	padding: 3px 9px;
}
.actdv.off {
	opacity: 0.5;
}
.actplan {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 8px 0 16px;
}
.actplan div {
	border-radius: 14px;
	background: #f7f9fc;
	padding: 14px;
	display: grid;
	gap: 2px;
}
.actplan span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.actplan b {
	font-weight: 500;
}
.actpv {
	display: grid;
	gap: 10px;
}
.actpv > div {
	border-radius: 16px;
	border: 1px solid var(--line);
	padding: 16px;
	display: grid;
	gap: 6px;
	justify-items: start;
}
.actpv b {
	font-weight: 500;
}
.actpv span {
	font-size: 16px;
	color: var(--text2);
}
.actpv em {
	font-style: normal;
	font-size: 15px;
	color: #106d43;
}
.actpv .btn {
	height: 38px;
	font-size: 15.5px;
	background: #fff;
	color: var(--text);
	border: 1px solid var(--line);
}
.actpv .danger {
	border-color: #f3c9c9;
}
.actlock {
	display: grid;
	gap: 16px;
	justify-items: center;
	text-align: center;
	padding: 24px 0;
}
.actlock p {
	color: var(--text2);
	margin: 0;
}
.actsk {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	filter: blur(0.4px);
	opacity: 0.6;
}
.actsk div {
	display: flex;
	gap: 10px;
	align-items: center;
	border-radius: 14px;
	background: #f2f4f8;
	padding: 14px;
	font-size: 16px;
	color: var(--text2);
}
.actsk i {
	width: 28px;
	height: 28px;
	border-radius: 9px;
	background: #e2e6ec;
}
.actfaq details {
	background: #fff;
}
@media (max-width: 1000px) {
	.actfeat {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.actmgr {
		grid-template-columns: 1fr;
	}
	.actside {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}
	.actside nav {
		display: flex;
		overflow-x: auto;
		gap: 4px;
		scrollbar-width: none;
	}
	.actside nav button {
		white-space: nowrap;
	}
}
@media (max-width: 600px) {
	.actfeat,
	.actplan,
	.actsk {
		grid-template-columns: 1fr;
	}
	.actmain {
		padding: 20px 16px;
	}
	.actrow {
		grid-template-columns: 1fr auto;
	}
	.actrow > span:first-child {
		grid-column: 1/-1;
		font-size: 14.5px;
	}
	.actsign .btn {
		flex: 1 1 45%;
		justify-content: center;
		padding: 0 10px;
		font-size: 15.5px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.actlogo,
	.actpanel {
		animation: none;
	}
}
.prv {
	border-top: 1px solid var(--line);
	padding-top: 72px;
	margin-top: 56px;
	scroll-margin-top: 90px;
}
.prvhero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 780px;
	margin: 0 auto 44px;
}
.prvlock {
	color: #14171c;
	margin-bottom: 6px;
	animation: prvb 4s ease-in-out infinite;
}
@keyframes prvb {
	50% {
		transform: translateY(-4px);
	}
}
.prvhero h3 {
	margin: 0;
	font-size: clamp(44px, 6.4vw, 96px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1;
}
.prvhero h3 span {
	display: block;
	font-weight: 200;
	color: #8a919c;
}
.prvhero p {
	color: var(--text2);
	font-size: 20px;
	margin: 10px 0 0;
}
.prvpr {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 28px;
}
.prvpr div {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 24px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.prvpr i {
	font-style: normal;
	font-size: 44px;
	font-weight: 200;
	letter-spacing: -0.04em;
	color: #9aa6bb;
	line-height: 1;
}
.prvpr b {
	font-size: 20px;
	font-weight: 500;
}
.prvpr p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.prvai {
	border-radius: 32px;
	background: linear-gradient(160deg, #0b1a38, #14102e);
	color: var(--on);
	padding: 36px;
	margin-bottom: 28px;
	overflow: hidden;
}
.prvaih {
	max-width: 640px;
	margin-bottom: 24px;
}
.prvaih .lab {
	color: var(--blue3);
}
.prvaih h4,
.prvlh h4 {
	margin: 0;
	font-size: clamp(28px, 3.2vw, 44px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.prvaih p {
	color: var(--on2);
	margin: 8px 0 0;
}
.prvflow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
}
.prvflow::before {
	content: '';
	position: absolute;
	left: 4%;
	right: 4%;
	top: 18px;
	height: 2px;
	background: rgba(243, 246, 255, 0.12);
}
.prvst {
	position: relative;
	display: grid;
	gap: 6px;
	align-content: start;
	justify-items: start;
	opacity: 0.38;
	transition: opacity 0.5s;
}
.prvst.on {
	opacity: 1;
}
.prvst span {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 15px;
	background: #1b2546;
	border: 2px solid rgba(243, 246, 255, 0.18);
	transition:
		background 0.4s,
		border-color 0.4s;
	position: relative;
	z-index: 1;
}
.prvst.on span {
	background: var(--c);
	border-color: var(--c);
}
.prvst b {
	font-weight: 500;
	font-size: 17px;
}
.prvst em {
	font-style: normal;
	font-size: 15px;
	color: var(--on2);
}
.prvdot {
	position: absolute;
	left: 0;
	top: 18px;
	width: 14px;
	height: 14px;
	margin: -7px 0 0 -7px;
	border-radius: 50%;
	background: #fff;
	box-shadow:
		0 0 0 6px rgba(141, 181, 249, 0.25),
		0 0 24px #8db5f9;
	transition:
		left 0.8s cubic-bezier(0.6, 0, 0.2, 1),
		top 0.8s;
	z-index: 2;
	pointer-events: none;
}
.prvlab,
.prvrep {
	border-radius: 28px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 28px;
	margin-bottom: 28px;
}
.prvlh {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.prvlh p {
	color: var(--text2);
	margin: 6px 0 0;
	font-size: 16.5px;
}
.prvpick {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.prvpick button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 7px 13px;
	font: inherit;
	font-size: 15.5px;
	color: var(--text2);
	cursor: pointer;
}
.prvpick button.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.prvcard {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	animation: sfin 0.35s ease-out;
}
.prvcol {
	border-radius: 20px;
	background: #f7f9fc;
	padding: 18px;
	display: grid;
	gap: 12px;
	align-content: start;
}
.prvcol h5 {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
	display: flex;
	gap: 8px;
	align-items: center;
}
.prvcol h5 i {
	font-style: normal;
	font-size: 14px;
}
.prvcol h5 .a {
	color: #2e6edb;
}
.prvcol h5 .b {
	color: #9aa3af;
}
.prvcol h5 .c {
	color: #c2413b;
}
.prvcol div {
	display: grid;
	gap: 2px;
	border-top: 1px solid #e7ebf1;
	padding-top: 10px;
}
.prvcol b {
	font-weight: 500;
	font-size: 16.5px;
}
.prvcol span,
.prvcol p {
	font-size: 15px;
	color: var(--text2);
	margin: 0;
}
.prvcol.nt {
	background: #fff6f6;
}
.prvbars {
	display: grid;
	gap: 12px;
}
.prvbr {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 170px;
	gap: 14px;
	align-items: center;
}
.prvbr b {
	font-weight: 500;
	display: block;
	font-size: 16.5px;
}
.prvbr span {
	font-size: 14.5px;
	color: var(--text2);
}
.prvbr em {
	font-style: normal;
	font-size: 15px;
	text-align: right;
	color: var(--text2);
	font-variant-numeric: tabular-nums;
}
.prvbr .tb {
	height: 12px;
	border-radius: 8px;
	background: #eef1f6;
	overflow: hidden;
}
.prvbr .tb i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 8px;
	transition: width 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.prvbars.on .tb i {
	width: var(--w);
}
.prvcust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}
.prvcust > div {
	border-top: 2px solid var(--text);
	padding-top: 14px;
}
.prvcust b {
	font-weight: 500;
}
.prvcust p {
	color: var(--text2);
	font-size: 16.5px;
	margin: 6px 0 0;
}
.prvcust a {
	color: var(--blue6);
}
.prvlinks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 16px;
	padding-top: 6px;
}
.prvlinks a {
	color: var(--blue6);
}
@media (max-width: 1100px) {
	.prvpr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.prvflow {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 22px;
	}
	.prvflow::before,
	.prvdot {
		display: none;
	}
	.prvcard {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 640px) {
	.prvpr,
	.prvcust {
		grid-template-columns: 1fr;
	}
	.prvflow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.prvai {
		padding: 24px 18px;
		border-radius: 24px;
	}
	.prvlab,
	.prvrep {
		padding: 20px 16px;
	}
	.prvbr {
		grid-template-columns: 1fr auto;
	}
	.prvbr .tb {
		grid-column: 1/-1;
		grid-row: 2;
	}
}
@media (prefers-reduced-motion: reduce) {
	.prvlock,
	.prvcard {
		animation: none;
	}
	.prvbr .tb i,
	.prvst,
	.prvdot {
		transition: none;
	}
}
.cmpl {
	border-top: 1px solid var(--line);
	padding-top: 72px;
	margin-top: 56px;
	scroll-margin-top: 90px;
}
.cmphero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 800px;
	margin: 0 auto 36px;
}
.cmpic {
	width: 72px;
	height: 72px;
	border-radius: 22px;
	display: grid;
	place-items: center;
	font-size: 32px;
	background: #14171c;
	color: #fff;
	margin-bottom: 8px;
}
.cmphero h3 {
	margin: 0;
	font-size: clamp(44px, 6.4vw, 96px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1;
}
.cmphero h3 span {
	display: block;
	font-weight: 200;
	color: #8a919c;
}
.cmphero p {
	color: var(--text2);
	font-size: 20px;
	margin: 10px 0 0;
}
.cmptl {
	border-radius: 28px;
	background: #14171c;
	color: #f3f6ff;
	padding: 28px 32px 30px;
	margin-bottom: 28px;
}
.cmptlh {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.cmptlh b {
	font-weight: 500;
	font-size: 20px;
}
.cmptlh span {
	font-size: 15px;
	color: rgba(243, 246, 255, 0.6);
}
.cmptrack {
	position: relative;
	height: 150px;
	margin: 0 70px;
}
.cmpline {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	border-radius: 4px;
	background: rgba(243, 246, 255, 0.14);
}
.cmpfill {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0;
	border-radius: 4px;
	background: linear-gradient(90deg, #3ec07e, #8db5f9);
	transition: width 1.6s cubic-bezier(0.3, 0.7, 0.2, 1);
}
.cmptrack.on .cmpfill {
	width: var(--w);
}
.cmpm {
	position: absolute;
	top: -8px;
	transform: translateX(-50%);
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 2px;
	width: 150px;
	opacity: 0;
	transition: opacity 0.6s 0.4s;
}
.cmptrack.on .cmpm {
	opacity: 1;
}
.cmpm i {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #14171c;
	border: 3px solid #8db5f9;
	margin-bottom: 8px;
}
.cmpm b {
	font-weight: 500;
	font-size: 16px;
}
.cmpm span {
	font-size: 14px;
	color: rgba(243, 246, 255, 0.6);
	font-family: var(--mono);
}
.cmpm em {
	font-style: normal;
	font-size: 13px;
	color: rgba(243, 246, 255, 0.55);
	line-height: 1.35;
}
@media (min-width: 701px) {
	.cmptlh {
		margin-bottom: 84px;
	}
	.cmpm.now {
		top: -62px;
	}
	.cmpm.now i {
		order: 3;
		margin: 6px 0 0;
	}
	.cmpm.now b {
		order: 1;
	}
	.cmpm.now span {
		order: 2;
	}
}
.cmpm.now i {
	border-color: #3ec07e;
	background: #3ec07e;
	box-shadow: 0 0 0 6px rgba(62, 192, 126, 0.25);
	animation: dpu 1.8s infinite;
}
.cmpm.now b {
	color: #3ec07e;
}
.cmpcount {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	font-size: 16px;
	color: rgba(243, 246, 255, 0.7);
}
.cmpcount b {
	font-size: 28px;
	font-weight: 400;
	color: #fff;
	margin-right: 6px;
}
.cmpbar {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.cmpf {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cmpf button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 7px 13px;
	font: inherit;
	font-size: 15.5px;
	color: var(--text2);
	cursor: pointer;
}
.cmpf button small {
	opacity: 0.6;
}
.cmpf button.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.cmpleg {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 14.5px;
	color: var(--text2);
}
.cmpleg i {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 5px;
	vertical-align: -1px;
}
.s1 {
	--sc: #16884f;
	--sb: #d3f5e1;
}
.s2 {
	--sc: #1e478e;
	--sb: #dce8fe;
}
.s3 {
	--sc: #8a5a00;
	--sb: #fdf0d5;
}
.s4 {
	--sc: #5a2fad;
	--sb: #efe7fe;
}
.cmpleg i.s1,
.cmpleg i.s2,
.cmpleg i.s3,
.cmpleg i.s4 {
	background: var(--sc);
}
.cmplist {
	display: grid;
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	overflow: hidden;
	margin-bottom: 28px;
}
.cmpi {
	border-top: 1px solid #eef1f6;
	animation: apsin 0.35s ease both;
}
.cmpi:first-child {
	border-top: 0;
}
.cmph {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto 24px;
	gap: 14px;
	align-items: center;
	width: 100%;
	text-align: left;
	border: 0;
	background: none;
	padding: 16px 22px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
}
.cmph:hover {
	background: #f9fafc;
}
.cmph b {
	font-weight: 500;
	font-size: 18px;
}
.cmpcat {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text2);
}
.cmph em {
	font-style: normal;
	font-size: 14px;
	font-weight: 500;
	color: var(--sc);
	background: var(--sb);
	border-radius: 999px;
	padding: 4px 10px;
	white-space: nowrap;
}
.cmph i {
	font-style: normal;
	color: var(--text2);
	font-size: 20px;
	transition: transform 0.25s;
}
.cmpi.open .cmph i {
	transform: rotate(45deg);
}
.cmpb {
	display: none;
	grid-template-columns: 1fr 1.4fr 1.4fr;
	gap: 18px;
	padding: 0 22px 20px 186px;
}
.cmpi.open .cmpb {
	display: grid;
	animation: sfin 0.3s ease-out;
}
.cmpb span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.cmpb p {
	margin: 4px 0 0;
	font-size: 16px;
	color: var(--text);
}
.cmpgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 28px;
}
.cmpgov,
.cmpinc,
.cmpshare,
.cmpdocs {
	border-radius: 24px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 24px;
}
.cmpgov h4,
.cmpinc h4,
.cmpsh h4 {
	margin: 0 0 14px;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 400;
	letter-spacing: -0.03em;
}
.cmproles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.cmproles div {
	border-radius: 16px;
	background: #f7f9fc;
	padding: 14px;
	display: grid;
	gap: 2px;
}
.cmproles b {
	font-weight: 500;
	font-size: 16.5px;
}
.cmproles span {
	font-size: 15px;
	color: var(--text2);
}
.cmpsteps {
	display: grid;
	gap: 0;
}
.cmpsteps div {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 2px 12px;
	padding: 10px 0;
	border-top: 1px solid #eef1f6;
}
.cmpsteps div:first-child {
	border-top: 0;
}
.cmpsteps em {
	grid-row: 1/3;
	font-style: normal;
	font-family: var(--mono);
	font-size: 15px;
	color: #fff;
	background: #14171c;
	border-radius: 10px;
	height: 34px;
	display: grid;
	place-items: center;
}
.cmpsteps b {
	font-weight: 500;
	font-size: 16.5px;
}
.cmpsteps span {
	font-size: 15px;
	color: var(--text2);
}
.cmpshare {
	margin-bottom: 28px;
}
.cmpcols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.cmpcols > div {
	border-radius: 18px;
	background: #f7f9fc;
	padding: 18px;
}
.cmpcols b {
	font-weight: 500;
}
.cmpcols ul {
	margin: 8px 0 0;
	padding-left: 18px;
	display: grid;
	gap: 6px;
	color: var(--text2);
	font-size: 16.5px;
}
.cmpdocs {
	margin-bottom: 16px;
}
.cmpdl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
}
.cmpd {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-top: 1px solid #eef1f6;
}
.cmpd i {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	display: grid;
	place-items: center;
	font-style: normal;
	background: #eef4ff;
	color: var(--blue6);
}
.cmpd b {
	font-weight: 500;
	display: block;
	font-size: 16.5px;
}
.cmpd span {
	font-size: 14.5px;
	color: var(--text2);
}
.cmpd button:disabled {
	color: #16884f;
	cursor: default;
}
.cmpnote {
	font-size: 14.5px;
	color: var(--text2);
	margin: 0;
}
@media (max-width: 1000px) {
	.cmpgrid,
	.cmpcols {
		grid-template-columns: 1fr;
	}
	.cmpb {
		grid-template-columns: 1fr;
		padding: 0 22px 20px;
	}
	.cmph {
		grid-template-columns: minmax(0, 1fr) auto 20px;
	}
	.cmpcat {
		grid-column: 1/-1;
	}
	.cmpdl {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 700px) {
	.cmptrack {
		margin: 0 10px;
		height: auto;
		display: grid;
		gap: 12px;
		padding-left: 22px;
	}
	.cmpline {
		left: 6px;
		right: auto;
		top: 0;
		bottom: 0;
		width: 4px;
		height: auto;
	}
	.cmpfill {
		width: 4px !important;
		height: 0;
		transition: height 1.6s;
	}
	.cmptrack.on .cmpfill {
		height: 30%;
	}
	.cmpm {
		position: relative;
		left: auto !important;
		top: auto;
		transform: none;
		justify-items: start;
		text-align: left;
		width: auto;
		grid-template-columns: auto 1fr;
		column-gap: 10px;
	}
	.cmpm i {
		grid-row: 1/4;
		margin: 2px 0 0 -26px;
	}
	.cmpcount {
		position: static;
		text-align: left;
		margin-top: 8px;
	}
	.cmproles {
		grid-template-columns: 1fr;
	}
	.cmptl {
		padding: 22px 18px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cmpi,
	.cmpb {
		animation: none;
	}
	.cmpfill,
	.cmpm {
		transition: none;
	}
	.cmpm.now i {
		animation: none;
	}
}
.envs {
	background: linear-gradient(180deg, #f3faf5 0%, #fff 40%, #f3faf5 100%);
	color: var(--text);
}
.envhero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 860px;
	margin: 0 auto 48px;
}
.envleaf {
	color: #1f9d61;
	animation: prvb 5s ease-in-out infinite;
}
.envhero .lab {
	color: #1f832e;
}
.envhero .sub {
	color: var(--text2);
	max-width: 660px;
}
.envhero .h2 .thin {
	color: #1f9d61;
	opacity: 0.75;
}
.envlev {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 28px;
}
.envlev div {
	border-radius: 24px;
	background: #fff;
	border: 1px solid #dcebe1;
	padding: 22px;
	display: grid;
	gap: 8px;
	align-content: start;
	transition:
		transform 0.25s,
		box-shadow 0.25s;
}
.envlev div:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(31, 131, 46, 0.08);
}
.envlev i {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 21px;
	background: #e5f4e8;
	color: #1f832e;
}
.envlev b {
	font-weight: 500;
	font-size: 20px;
}
.envlev p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.envcalc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 24px;
	border-radius: 32px;
	background: #fff;
	border: 1px solid #dcebe1;
	padding: 30px;
	margin-bottom: 28px;
	box-shadow: 0 30px 70px rgba(31, 131, 46, 0.06);
}
.envin h3,
.envdh h3 {
	margin: 0 0 10px;
	font-size: clamp(28px, 3.2vw, 44px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.envin .lab,
.envdh .lab {
	color: #1f832e;
}
.envin .roisl input[type='range'] {
	background: linear-gradient(90deg, #1f9d61 var(--p, 50%), #e2e6ec var(--p, 50%));
}
.envout {
	border-radius: 24px;
	background: linear-gradient(160deg, #0f2e1d, #123a2a);
	color: #f1faf4;
	padding: 24px;
	display: grid;
	gap: 16px;
	align-content: start;
}
.envbig span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(241, 250, 244, 0.65);
}
.envbig b {
	display: block;
	font-size: clamp(56px, 7vw, 96px);
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	background: linear-gradient(100deg, #fff, #9fe3b5);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.envbig em {
	font-style: normal;
	color: rgba(241, 250, 244, 0.7);
}
.envtr {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	font-size: 16px;
	line-height: 1;
	min-height: 20px;
}
.envtr i {
	font-style: normal;
	animation: cfgpop 0.35s ease backwards;
}
.envtree > span {
	display: block;
	font-size: 15px;
	color: rgba(241, 250, 244, 0.75);
	margin-top: 6px;
}
.envtree b {
	color: #fff;
	font-weight: 500;
}
.envk {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.envk > div:not(.envsplit) {
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.07);
	padding: 12px;
	display: grid;
	gap: 1px;
}
.envk span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(241, 250, 244, 0.6);
}
.envk b {
	font-weight: 400;
	font-size: 21px;
}
.envk em {
	font-style: normal;
	font-size: 14px;
	color: #9fe3b5;
}
.envsplit {
	grid-column: 1/-1;
	display: flex;
	height: 12px;
	border-radius: 8px;
	overflow: hidden;
	gap: 2px;
}
.envsplit i {
	transition: flex 0.5s;
}
.envout .dleg {
	grid-column: 1/-1;
	color: rgba(241, 250, 244, 0.7);
}
.envdash,
.envcom,
.envcsr {
	border-radius: 32px;
	background: #fff;
	border: 1px solid #dcebe1;
	padding: 30px;
	margin-bottom: 28px;
}
.envdh {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.envpill {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 6px 11px;
	background: #e5f4e8;
	color: #1f832e;
}
.envpill.draft {
	background: #fdf0d5;
	color: #8a5a00;
}
.envtiles {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
.envt {
	border-radius: 18px;
	background: #f3faf5;
	padding: 14px;
	display: grid;
	gap: 2px;
}
.envt span {
	font-size: 14px;
	color: var(--text2);
	min-height: 2.6em;
}
.envt b {
	font-size: 32px;
	font-weight: 200;
	letter-spacing: -0.03em;
	color: #1f832e;
	font-variant-numeric: tabular-nums;
}
.envt b em {
	font-style: normal;
}
.envt b small {
	font-size: 16px;
	margin-left: 3px;
	color: var(--text2);
}
.envt i {
	font-style: normal;
	font-size: 13px;
	color: var(--text2);
}
.envg {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.envcard {
	border-radius: 20px;
	border: 1px solid #e6eee9;
	padding: 18px;
	display: grid;
	gap: 12px;
	align-content: start;
}
.envch {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
}
.envch b {
	font-weight: 500;
}
.envch span {
	font-size: 14px;
	color: var(--text2);
}
.envcard .hbr span small {
	font-size: 12.5px;
	color: #9aa3af;
}
.envcard .hbr .tb {
	height: 12px;
}
#environment .hbr .tb i {
	width: 0;
	transition: width 1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#environment .envdash.on .hbr .tb i {
	width: var(--w);
}
.envsvg .envl {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.6s cubic-bezier(0.3, 0.7, 0.2, 1);
}
.envdash.on .envsvg .envl {
	stroke-dashoffset: 0;
}
.envtl {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	padding-top: 28px;
}
.envtlline {
	position: absolute;
	left: 0;
	right: 0;
	top: 8px;
	height: 4px;
	border-radius: 4px;
	background: #e5f4e8;
}
.envtlline i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 4px;
	background: linear-gradient(90deg, #1f9d61, #9fe3b5);
	transition: width 1.8s cubic-bezier(0.3, 0.7, 0.2, 1);
}
.envcom.on .envtlline i {
	width: 100%;
}
.envtli {
	position: relative;
	display: grid;
	gap: 6px;
	align-content: start;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.6s,
		transform 0.6s;
}
.envcom.on .envtli {
	opacity: 1;
	transform: none;
}
.envtli::before {
	content: '';
	position: absolute;
	top: -28px;
	left: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #1f9d61;
}
.envtli.isnow::before {
	background: #1f9d61;
	box-shadow: 0 0 0 6px rgba(31, 157, 97, 0.2);
}
.envtli em {
	font-style: normal;
	font-size: 34px;
	font-weight: 200;
	letter-spacing: -0.04em;
	color: #1f832e;
}
.envtli b {
	font-weight: 500;
	font-size: 19px;
}
.envtli p {
	margin: 0;
	color: var(--text2);
	font-size: 16px;
}
.envcg {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}
.envcg div {
	border-radius: 22px;
	background: #f3faf5;
	padding: 20px;
	display: grid;
	gap: 6px;
	align-content: start;
}
.envcg i {
	font-style: normal;
	font-size: 28px;
}
.envcg b {
	font-weight: 500;
	font-size: 19px;
}
.envcg p {
	margin: 0;
	color: var(--text2);
	font-size: 16px;
}
.envcg em {
	font-style: normal;
	font-size: 14.5px;
	color: #1f832e;
	font-weight: 500;
}
.envcsrw {
	border-radius: 22px;
	background: linear-gradient(150deg, #0f2e1d, #123a2a);
	color: #f1faf4;
	padding: 22px 24px;
}
.envcsrw b {
	font-weight: 500;
	font-size: 20px;
}
.envcsrw p {
	margin: 6px 0 0;
	color: rgba(241, 250, 244, 0.75);
	font-size: 16.5px;
	max-width: 900px;
}
@media (max-width: 1100px) {
	.envlev,
	.envg {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.envtiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.envcalc {
		grid-template-columns: 1fr;
	}
	.envcg {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.envtl {
		grid-template-columns: 1fr;
		padding: 0 0 0 30px;
	}
	.envtlline {
		left: 8px;
		right: auto;
		top: 0;
		bottom: 0;
		width: 4px;
		height: auto;
	}
	.envtlline i {
		width: 100% !important;
		height: 0;
		transition: height 1.8s;
	}
	.envcom.on .envtlline i {
		height: 100%;
	}
	.envtli::before {
		top: 6px;
		left: -30px;
	}
}
@media (max-width: 640px) {
	.envlev,
	.envg,
	.envcg,
	.envk {
		grid-template-columns: 1fr;
	}
	.envtiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.envcalc,
	.envdash,
	.envcom,
	.envcsr {
		padding: 20px 16px;
		border-radius: 24px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.envleaf,
	.envtr i {
		animation: none;
	}
	.envtli,
	.envtlline i,
	.envsvg .envl {
		transition: none;
	}
}
#mega[hidden] {
	display: none !important;
}
.cot,
.nws,
.car {
	background: #fff;
	color: var(--text);
}
.nws {
	background: #f5f5f7;
}
.cohero,
.carhero {
	text-align: center;
	display: grid;
	justify-items: center;
	gap: 8px;
	max-width: 860px;
	margin: 0 auto 44px;
}
.cohero .sub,
.carhero .sub {
	color: var(--text2);
	margin-top: 14px;
}
.cogrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--line);
	margin-bottom: 48px;
}
.coc {
	padding: 28px 24px;
	border-bottom: 1px solid var(--line);
	display: grid;
	gap: 6px;
	align-content: start;
}
.coc:not(:nth-child(3n)) {
	border-right: 1px solid var(--line);
}
.coc i {
	font-style: normal;
	font-size: 28px;
	color: var(--blue6);
}
.coc b {
	font-size: 23px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.coc p {
	margin: 0 0 4px;
	color: var(--text2);
	font-size: 17px;
}
.coc a {
	color: var(--blue6);
	font-size: 17px;
}
.coc a::after {
	content: ' ›';
}
.coc span {
	font-size: 16.5px;
	color: var(--text);
}
.cobot {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 24px;
}
.coform {
	border-radius: 28px;
	background: #f5f5f7;
	padding: 28px;
}
.coform h3 {
	margin: 0;
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.03em;
}
.coform > p {
	color: var(--text2);
	margin: 6px 0 18px;
}
#coF {
	display: grid;
	gap: 12px;
}
.cofr {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
#coF label {
	display: grid;
	gap: 6px;
	font-size: 15px;
	color: var(--text2);
}
#coF input,
#coF select,
#coF textarea {
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 12px 14px;
	font: inherit;
	font-size: 17px;
	color: var(--text);
	background: #fff;
	outline: 0;
}
#coF input:focus,
#coF select:focus,
#coF textarea:focus {
	border-color: var(--blue6);
}
.coact {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
}
.coact span {
	font-size: 15px;
	color: var(--text2);
}
#coSend[aria-disabled='true'] {
	opacity: 0.4;
	pointer-events: none;
}
.coinfo {
	display: grid;
	gap: 10px;
	align-content: start;
}
.coinfo div {
	border-radius: 20px;
	border: 1px solid var(--line);
	padding: 16px 18px;
}
.coinfo .lab {
	margin: 0 0 4px;
}
.coinfo b {
	font-weight: 500;
	font-size: 18.5px;
}
.coinfo p {
	margin: 2px 0 0;
	color: var(--text2);
	font-size: 16px;
}
.nwsh {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.nwsimg {
	position: relative;
	border-radius: 18px;
	aspect-ratio: 16/9;
	display: grid;
	place-items: center;
	overflow: hidden;
}
.nwsimg span {
	font-size: 44px;
	color: #fff;
	opacity: 0.9;
	transition: transform 0.5s;
}
.nwsimg.big {
	aspect-ratio: auto;
	min-height: 340px;
	border-radius: 0;
}
.nwsimg.big span {
	font-size: 96px;
}
.nwsimg.big i {
	position: absolute;
	inset: -30%;
	background: radial-gradient(40% 40% at 30% 30%, rgba(255, 255, 255, 0.25), transparent 60%);
	animation: nwsg 9s ease-in-out infinite alternate;
}
@keyframes nwsg {
	to {
		transform: translate(20%, 15%);
	}
}
.nwsfc {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	border: 0;
	padding: 0;
	width: 100%;
	text-align: left;
	font: inherit;
	color: var(--text);
	background: #fff;
	border-radius: 28px;
	overflow: hidden;
	cursor: pointer;
	margin-bottom: 28px;
	box-shadow: 0 20px 50px rgba(20, 23, 28, 0.06);
}
.nwsfc:hover .nwsimg span {
	transform: scale(1.1);
}
.nwsft {
	padding: 32px;
	display: grid;
	gap: 10px;
	align-content: center;
}
.nwsft h3 {
	margin: 0;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.15;
}
.nwsft p {
	margin: 0;
	color: var(--text2);
}
.nwsft em {
	font-style: normal;
	color: var(--blue6);
}
.nwscat {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text2);
}
.nwsf {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.nwsf button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 7px 14px;
	font: inherit;
	font-size: 16px;
	color: var(--text2);
	cursor: pointer;
}
.nwsf button.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.nwsg {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}
.nwsc {
	display: grid;
	gap: 10px;
	align-content: start;
	text-align: left;
	border: 0;
	background: #fff;
	border-radius: 22px;
	padding: 12px 12px 18px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
	animation: apsin 0.4s ease both;
	transition:
		transform 0.25s,
		box-shadow 0.25s;
}
.nwsc:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(20, 23, 28, 0.08);
}
.nwsc:hover .nwsimg span {
	transform: scale(1.12);
}
.nwsc .nwscat {
	padding: 0 6px;
}
.nwsc b {
	font-weight: 500;
	font-size: 19px;
	line-height: 1.3;
	padding: 0 6px;
}
.nwskit {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	flex-wrap: wrap;
	border-radius: 22px;
	background: #fff;
	padding: 20px 24px;
}
.nwskit b {
	font-weight: 500;
	font-size: 20px;
}
.nwskit p {
	margin: 4px 0 0;
	color: var(--text2);
	font-size: 16.5px;
}
.nwska {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
}
.nwska span {
	font-size: 16px;
	color: var(--text2);
}
.nwska .btn {
	background: var(--ink);
	color: #fff;
	border: 0;
	height: 44px;
}
.nwska .btn:disabled {
	background: #16884f;
}
.nwsmod {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(7, 11, 22, 0.55);
	backdrop-filter: blur(6px);
	display: grid;
	place-items: center;
	padding: 20px;
	animation: sfin 0.25s ease-out;
}
.nwsmod[hidden] {
	display: none !important;
}
.nwsbox {
	position: relative;
	width: min(760px, 100%);
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	background: #fff;
	color: var(--text);
	border-radius: 28px;
	padding: 28px;
	box-shadow: 0 40px 90px rgba(0, 0, 0, 0.3);
}
.nwsx {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 0;
	background: #f2f4f8;
	font-size: 24px;
	cursor: pointer;
	z-index: 1;
}
.nwsart {
	display: grid;
	gap: 12px;
}
.nwsart h3 {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.15;
}
.nwsart p {
	margin: 0;
	font-size: 18.5px;
	line-height: 1.6;
}
.nwsdek {
	color: var(--text2);
	font-size: 20px !important;
}
.nwsmc {
	border-top: 1px solid var(--line);
	padding-top: 12px;
	display: grid;
	font-size: 16px;
}
.nwsmc b {
	font-weight: 500;
}
.carap {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
	border-top: 1px solid var(--line);
	padding-top: 16px;
}
.carap span {
	font-size: 15px;
	color: var(--text2);
}
.carmodes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}
.carm {
	display: grid;
	gap: 8px;
	text-align: left;
	border: 1.5px solid var(--line);
	background: #fff;
	border-radius: 24px;
	padding: 24px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
	transition:
		border-color 0.2s,
		box-shadow 0.2s,
		transform 0.25s;
}
.carm:hover {
	transform: translateY(-3px);
}
.carm.on {
	border-color: var(--blue6);
	box-shadow: 0 0 0 4px rgba(46, 110, 219, 0.12);
}
.carm i {
	font-style: normal;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	font-size: 22px;
	background: #eef4ff;
	color: var(--blue6);
}
.carm b {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.carm span {
	color: var(--text2);
	font-size: 16.5px;
}
.carroles {
	margin-bottom: 56px;
}
.carbar {
	display: grid;
	gap: 12px;
	margin-bottom: 12px;
}
#carQ {
	border: 1.5px solid var(--line);
	border-radius: 999px;
	padding: 12px 18px;
	font: inherit;
	font-size: 17px;
	outline: 0;
	max-width: 420px;
}
#carQ:focus {
	border-color: var(--blue6);
}
.carf {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.carf button {
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: 7px 13px;
	font: inherit;
	font-size: 15.5px;
	color: var(--text2);
	cursor: pointer;
}
.carf button.on {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}
.carcount {
	font-size: 15px;
	color: var(--text2);
	padding: 8px 0;
}
.carlist {
	border-top: 1px solid var(--line);
}
.carr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px 110px 24px;
	gap: 14px;
	align-items: center;
	width: 100%;
	text-align: left;
	border: 0;
	border-bottom: 1px solid var(--line);
	background: none;
	padding: 16px 4px;
	font: inherit;
	color: var(--text);
	cursor: pointer;
	animation: apsin 0.35s ease both;
}
.carr:hover {
	background: #f9fafc;
}
.carr b {
	font-weight: 500;
	font-size: 18.5px;
	display: block;
}
.carr div span,
.carr > span {
	font-size: 15.5px;
	color: var(--text2);
}
.carr em {
	font-style: normal;
	font-size: 14px;
	font-weight: 500;
	border-radius: 999px;
	padding: 4px 10px;
	justify-self: start;
}
.m-Hybrid {
	background: #dce8fe;
	color: #1e478e;
}
.m-Virtual {
	background: #d3f5e1;
	color: #106d43;
}
.m-Intern {
	background: #fdf0d5;
	color: #8a5a00;
}
.carr i {
	font-style: normal;
	color: var(--blue6);
}
.carint {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 24px;
	border-radius: 32px;
	background: linear-gradient(150deg, #0f2650, #28164f);
	color: var(--on);
	padding: 32px;
	margin-bottom: 56px;
}
.carint .lab {
	color: var(--blue3);
}
.carint h3,
.carproc h3,
.carben h3,
.carval h3 {
	margin: 0 0 10px;
	font-size: clamp(30px, 3.6vw, 48px);
	font-weight: 300;
	letter-spacing: -0.04em;
}
.carint p {
	color: var(--on2);
	margin: 0;
}
.carit {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.carit > div {
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.07);
	padding: 16px;
	display: grid;
	gap: 2px;
}
.carit b {
	font-weight: 500;
}
.carit span {
	font-size: 15.5px;
	color: var(--on2);
}
.carit .carstip {
	grid-column: 1/-1;
	grid-template-columns: auto 1fr auto 1fr auto 1fr;
	gap: 4px 10px;
	align-items: baseline;
}
.carstip span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.carproc,
.carben,
.carval {
	margin-bottom: 48px;
}
.carps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}
.carps div {
	border-top: 2px solid var(--text);
	padding-top: 14px;
	display: grid;
	gap: 4px;
}
.carps i {
	font-style: normal;
	font-size: 36px;
	font-weight: 200;
	color: #9aa6bb;
	letter-spacing: -0.04em;
}
.carps b {
	font-weight: 500;
	font-size: 19px;
}
.carps span {
	color: var(--text2);
	font-size: 16px;
}
.carps em {
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--blue6);
}
.carbg {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 10px;
}
.carbg div {
	border-radius: 22px;
	background: #f5f5f7;
	padding: 20px;
	display: grid;
	gap: 6px;
}
.carbg i {
	font-style: normal;
	font-size: 24px;
	color: var(--blue6);
}
.carbg b {
	font-weight: 500;
	font-size: 19px;
}
.carbg p {
	margin: 0;
	color: var(--text2);
	font-size: 16.5px;
}
.carvg {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}
.carvg div {
	border-radius: 20px;
	border: 1px solid var(--line);
	padding: 18px;
	display: grid;
	gap: 6px;
}
.carvg b {
	font-weight: 500;
}
.carvg span {
	font-size: 16px;
	color: var(--text2);
}
@media (max-width: 1000px) {
	.cogrid,
	.nwsg,
	.carbg {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.coc:not(:nth-child(3n)) {
		border-right: 0;
	}
	.coc:nth-child(odd) {
		border-right: 1px solid var(--line);
	}
	.cobot,
	.nwsfc,
	.carint {
		grid-template-columns: 1fr;
	}
	.nwsimg.big {
		min-height: 220px;
	}
	.carps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.carvg {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.carr {
		grid-template-columns: minmax(0, 1fr) auto 20px;
	}
	.carr > span {
		display: none;
	}
}
@media (max-width: 640px) {
	.cogrid,
	.nwsg,
	.carbg,
	.carmodes,
	.carit,
	.carps,
	.carvg,
	.cofr {
		grid-template-columns: 1fr;
	}
	.coc {
		border-right: 0 !important;
	}
	.coform,
	.carint {
		padding: 20px;
		border-radius: 24px;
	}
	.nwsft {
		padding: 20px;
	}
	.nwsbox {
		padding: 22px 18px;
		border-radius: 22px;
	}
	.carit .carstip {
		grid-template-columns: auto 1fr;
	}
}
@media (prefers-reduced-motion: reduce) {
	.nwsimg.big i,
	.nwsc,
	.carr,
	.nwsmod {
		animation: none;
	}
}
.rt-off {
	display: none !important;
}
.lnav {
	position: sticky;
	top: var(--navh, 72px);
	z-index: 55;
	background: rgba(250, 250, 252, 0.96);
	backdrop-filter: saturate(180%) blur(18px);
	-webkit-backdrop-filter: saturate(180%) blur(18px);
	border-bottom: 1px solid rgba(20, 23, 28, 0.1);
	color: #14171c;
}
.lnav[hidden] {
	display: none;
}
.lnin {
	display: flex;
	align-items: center;
	gap: 20px;
	height: 52px;
}
.lnt {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.02em;
	white-space: nowrap;
	color: #14171c;
}
.lns {
	display: flex;
	gap: 4px;
	margin-left: auto;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.lns::-webkit-scrollbar {
	display: none;
}
.lns a {
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 15.5px;
	color: #4e5562;
	white-space: nowrap;
	transition:
		color 0.2s,
		background 0.2s;
}
.lns a:hover {
	color: #14171c;
}
.lns a.on {
	color: #14171c;
	background: rgba(20, 23, 28, 0.07);
	font-weight: 500;
}
.lnc {
	flex: none;
	height: 30px;
	padding: 0 14px;
	border-radius: 999px;
	background: #2e6edb;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
}
.lnc:hover {
	background: #2357b3;
}
@media (max-width: 860px) {
	.lnin {
		height: auto;
		flex-wrap: wrap;
		padding-block: 8px;
		gap: 6px 12px;
	}
	.lnt {
		font-size: 19px;
	}
	.lns {
		order: 3;
		width: 100%;
		margin-left: 0;
	}
	.lnc {
		margin-left: auto;
	}
}
body[data-page]:not([data-page='home']) main > section:first-of-type {
	scroll-margin-top: 0;
}
body:not([data-page='home']) main > section:not(.rt-off):first-of-type,
body:not([data-page='home']) main > .rt-first {
	padding-top: clamp(56px, 7vw, 96px);
}
.rtsub .act,
.rtsub .prv,
.rtsub .cmpl {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}
body:not([data-page='home']) .prtabs,
body:not([data-page='home']) #apsTabs {
	display: none;
}
/* home highlights */
.hl {
	background: #fff;
	padding: 12px;
	display: grid;
	gap: 12px;
}
.hlt {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	min-height: 560px;
	border-radius: 28px;
	overflow: hidden;
	background: linear-gradient(150deg, var(--g1), var(--g2));
	color: #f3f6ff;
	padding: 56px clamp(24px, 5vw, 72px);
	isolation: isolate;
}
.hlt.light {
	color: #14171c;
}
.hlt::after {
	content: '';
	position: absolute;
	inset: auto -20% -60% 30%;
	height: 120%;
	background: radial-gradient(closest-side, rgba(255, 255, 255, 0.12), transparent);
	z-index: -1;
	transition: transform 0.8s;
}
.hlt:hover::after {
	transform: translate(-8%, -8%);
}
.hlt.big {
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}
.hlk {
	display: block;
	font-size: 17px;
	font-weight: 500;
	margin-bottom: 10px;
	opacity: 0.85;
}
.hlt h2 {
	margin: 0;
	font-size: clamp(40px, 5.6vw, 80px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1;
}
.hlt h2 span,
.hlt h3 span {
	display: block;
	font-weight: 200;
	opacity: 0.7;
}
.hlt h3 {
	margin: 0;
	font-size: clamp(28px, 3.2vw, 46px);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1.05;
}
.hlt p {
	margin: 14px 0 0;
	font-size: 19px;
	opacity: 0.78;
	max-width: 46ch;
}
.hlb {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}
.hlbtn {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 20px;
	border-radius: 999px;
	font-size: 17px;
	font-weight: 500;
	border: 1px solid currentColor;
	cursor: pointer;
	transition:
		background 0.2s,
		color 0.2s;
}
.hlbtn.pri {
	background: #2e6edb;
	border-color: #2e6edb;
	color: #fff;
}
.hlbtn:not(.pri):hover {
	background: rgba(127, 127, 127, 0.15);
}
.hlgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.hlgrid .hlt {
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;
	align-items: start;
	min-height: 580px;
	padding: 48px 40px;
	text-align: center;
	justify-items: center;
}
.hlgrid .hlt p {
	margin-inline: auto;
}
.hlgrid .hlb {
	justify-content: center;
}
.hlart {
	display: grid;
	place-items: center;
	min-height: 220px;
	width: 100%;
}
.hlw {
	width: min(440px, 100%);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	padding: 18px;
	display: grid;
	gap: 10px;
	backdrop-filter: blur(8px);
	animation: hlfl 6s ease-in-out infinite;
}
@keyframes hlfl {
	50% {
		transform: translateY(-10px);
	}
}
.hlr {
	display: grid;
	grid-template-columns: 10px 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 17px;
}
.hlr i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c);
}
.hlr b {
	font-weight: 500;
}
.hlr em {
	font-style: normal;
	font-family: var(--mono);
	font-size: 15px;
	opacity: 0.8;
}
.hlbar {
	height: 8px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	overflow: hidden;
}
.hlbar i {
	display: block;
	height: 100%;
	width: 72%;
	border-radius: 8px;
	background: linear-gradient(90deg, #8db5f9, #b596f7);
	animation: hlgrow 3s ease-in-out infinite alternate;
}
@keyframes hlgrow {
	from {
		width: 30%;
	}
}
.hlart.mdp {
	gap: 8px;
	align-content: center;
}
.hlm {
	display: grid;
	grid-template-columns: 130px repeat(8, 30px) 40px;
	gap: 6px;
	align-items: center;
	font-size: 16px;
}
.hlm i {
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: #e2e6ec;
	animation: hlc 4s ease-in-out infinite;
}
.hlm b {
	font-weight: 500;
	text-align: right;
}
@keyframes hlc {
	0%,
	100% {
		filter: none;
	}
	50% {
		filter: brightness(1.12);
	}
}
.hlart.icons {
	grid-template-columns: repeat(4, 64px);
	gap: 14px;
	align-content: center;
}
.hlart.icons .apsic {
	animation: hlfl 5s ease-in-out infinite;
}
.hlart.hello {
	font-size: clamp(64px, 8vw, 120px);
	font-weight: 300;
	background: linear-gradient(100deg, #e07b1f, #c2410c 40%, #7c3aed);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition:
		opacity 0.35s,
		transform 0.35s;
	line-height: 1.3;
}
.hlart.hello.out {
	opacity: 0;
	transform: translateY(14px);
}
.hlart.gates {
	grid-template-columns: repeat(4, 52px);
	gap: 14px;
}
.hlart.gates i {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.3);
}
.hlart.gates i.d {
	background: #3ec07e;
	border-color: #3ec07e;
}
.hlart.gates i.p {
	background: #f5a524;
	border-color: #f5a524;
	animation: gp 1.4s infinite;
}
.hlart.journey {
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	width: min(380px, 100%);
	align-items: end;
	height: 200px;
}
.hlart.journey i {
	border-radius: 10px 10px 4px 4px;
	background: rgba(255, 255, 255, 0.85);
	transform-origin: bottom;
	animation: hlbar 3.2s ease-in-out infinite alternate;
}
.hlart.journey i:nth-child(1) {
	height: 45%;
}
.hlart.journey i:nth-child(2) {
	height: 60%;
	animation-delay: 0.2s;
}
.hlart.journey i:nth-child(3) {
	height: 80%;
	animation-delay: 0.4s;
}
.hlart.journey i:nth-child(4) {
	height: 55%;
	animation-delay: 0.6s;
}
.hlart.journey i:nth-child(5) {
	height: 35%;
	animation-delay: 0.8s;
}
@keyframes hlbar {
	from {
		transform: scaleY(0.55);
	}
}
.hlart.wave {
	grid-auto-flow: column;
	gap: 4px;
	height: 120px;
	align-items: center;
}
.hlart.wave i {
	width: 7px;
	height: 30%;
	border-radius: 4px;
	background: #bff3e9;
	animation: wv 0.8s ease-in-out infinite alternate;
}
.hlart.price {
	display: grid;
	gap: 0;
}
.hlart.price b {
	font-size: clamp(80px, 10vw, 140px);
	font-weight: 200;
	letter-spacing: -0.06em;
	line-height: 1;
}
.hlart.price span {
	color: #4e5562;
}
.hlart.chart {
	grid-template-columns: repeat(6, 34px);
	gap: 12px;
	height: 200px;
	align-items: end;
}
.hlart.chart i {
	border-radius: 8px 8px 3px 3px;
	background: linear-gradient(180deg, #8db5f9, #2e6edb);
	transform-origin: bottom;
	animation: hlbar 2.6s ease-in-out infinite alternate;
}
.hlart.chart i:nth-child(1) {
	height: 35%;
}
.hlart.chart i:nth-child(2) {
	height: 50%;
	animation-delay: 0.15s;
}
.hlart.chart i:nth-child(3) {
	height: 45%;
	animation-delay: 0.3s;
}
.hlart.chart i:nth-child(4) {
	height: 70%;
	animation-delay: 0.45s;
}
.hlart.chart i:nth-child(5) {
	height: 62%;
	animation-delay: 0.6s;
}
.hlart.chart i:nth-child(6) {
	height: 90%;
	animation-delay: 0.75s;
	background: linear-gradient(180deg, #b596f7, #9a6df1);
}
.hlart.cal {
	grid-template-columns: repeat(3, 84px);
	gap: 12px;
}
.hlart.cal span {
	display: grid;
	justify-items: center;
	border-radius: 20px;
	background: #fff;
	padding: 14px;
	font-size: 16px;
	color: #4e5562;
	box-shadow: 0 12px 30px rgba(31, 131, 46, 0.1);
}
.hlart.cal b {
	font-size: 34px;
	font-weight: 400;
	color: #14171c;
}
.hlart.cal .on {
	background: #1f9d61;
	color: #e5f4e8;
	transform: translateY(-10px);
}
.hlart.cal .on b {
	color: #fff;
}
.hlnews {
	border-radius: 28px;
	background: #f5f5f7;
	padding: 28px clamp(20px, 3vw, 40px);
	color: #14171c;
}
.hlnh {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 16px;
}
.hlnh b {
	font-weight: 500;
	font-size: 22px;
}
.hlnh a {
	color: #2e6edb;
}
.hlng {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.hln {
	display: grid;
	gap: 8px;
	align-content: start;
}
.hln i {
	display: block;
	aspect-ratio: 16/9;
	border-radius: 16px;
}
.hln span {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4e5562;
}
.hln b {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
}
.hln:hover b {
	color: #2e6edb;
}
@media (max-width: 1000px) {
	.hlt,
	.hlt.big {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
		min-height: 0;
		padding: 48px 24px;
	}
	.hlt p {
		margin-inline: auto;
	}
	.hlt .hlb {
		justify-content: center;
	}
	.hlgrid {
		grid-template-columns: 1fr;
	}
	.hlgrid .hlt {
		min-height: 0;
	}
	.hlng {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.hlm {
		grid-template-columns: 96px repeat(8, 22px) 32px;
		font-size: 14.5px;
		gap: 4px;
	}
	.hlm i {
		width: 22px;
		height: 22px;
		border-radius: 6px;
	}
}
@media (max-width: 560px) {
	.hl {
		padding: 8px;
		gap: 8px;
	}
	.hlt {
		border-radius: 22px;
	}
	.hlng {
		grid-template-columns: 1fr;
	}
	.hlm {
		grid-template-columns: 104px repeat(8, 15px) 24px;
		gap: 3px;
		font-size: 13px;
	}
	.hlm span {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.hlm i {
		width: 15px;
		height: 15px;
		border-radius: 4px;
	}
	.hlart.icons {
		grid-template-columns: repeat(4, 52px);
		gap: 10px;
	}
	.hlart.icons .apsic {
		width: 52px;
		height: 52px;
		font-size: 22px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.hlw,
	.hlart * {
		animation: none !important;
	}
}
.rt-first.sec {
	padding-top: clamp(40px, 5vw, 72px) !important;
}
.hlart {
	justify-content: center;
	align-content: center;
	max-width: 100%;
	overflow: hidden;
	min-width: 0;
}
.hltx {
	min-width: 0;
	max-width: 100%;
}
.hlgrid .hlt {
	grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 1000px) {
	.hlt,
	.hlt.big {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 560px) {
	.hlart.wave {
		gap: 3px;
	}
	.hlart.wave i {
		width: 4px;
	}
	.hlart.cal {
		grid-template-columns: repeat(3, 72px);
	}
}
.hlart.wave,
.hlart.journey,
.hlart.chart {
	grid-template-rows: 100%;
	align-content: stretch;
}
.askfab {
	position: fixed;
	right: max(20px, env(safe-area-inset-right, 0px));
	bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	z-index: 85;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 54px;
	padding: 0 20px 0 8px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #0f2650, #28164f);
	color: #fff;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	box-shadow:
		0 18px 40px rgba(15, 38, 80, 0.35),
		inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	transition:
		transform 0.25s,
		opacity 0.25s;
}
.askfab:hover {
	transform: translateY(-3px);
}
.askfab b {
	font-weight: 500;
}
@media (max-width: 620px) {
	.askfab {
		padding: 0 5px !important;
		width: 50px;
		justify-content: center;
	}
	.askfab b {
		display: none;
	}
}
.askfab.hid {
	opacity: 0;
	pointer-events: none;
	transform: scale(0.9);
}
.askorb {
	position: relative;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: conic-gradient(from 0deg, #8db5f9, #b596f7, #e0457b, #3ec07e, #8db5f9);
	animation: askspin 6s linear infinite;
	flex: none;
}
.askorb i {
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: #0f2650;
	display: grid;
	place-items: center;
}
.askorb i::after {
	content: '✦';
	color: #fff;
	font-style: normal;
	font-size: 17px;
	animation: askspin 6s linear infinite reverse;
}
@keyframes askspin {
	to {
		transform: rotate(360deg);
	}
}
body[data-page='pricing'] .askfab {
	bottom: calc(112px + env(safe-area-inset-bottom, 0px));
}
.askp {
	position: fixed;
	right: max(16px, env(safe-area-inset-right, 0px));
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 86;
	width: min(420px, calc(100vw - 32px));
	height: min(660px, calc(100dvh - 32px));
	display: flex;
	flex-direction: column;
	background: #fff;
	color: #14171c;
	border-radius: 24px;
	box-shadow:
		0 40px 100px rgba(7, 11, 22, 0.4),
		0 0 0 1px rgba(20, 23, 28, 0.06);
	overflow: hidden;
	animation: askin 0.3s cubic-bezier(0.2, 0.9, 0.3, 1.1);
}
.askp[hidden] {
	display: none !important;
}
@keyframes askin {
	from {
		opacity: 0;
		transform: translateY(16px) scale(0.97);
	}
}
.askh {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px;
	background: linear-gradient(135deg, #0f2650, #28164f);
	color: #fff;
}
.askh > div {
	flex: 1;
	min-width: 0;
}
.askh b {
	display: block;
	font-weight: 500;
	font-size: 18.5px;
}
.askh span#askMode {
	font-size: 14px;
	color: rgba(243, 246, 255, 0.7);
}
.askic {
	width: 34px;
	height: 34px;
	border-radius: 11px;
	border: 0;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 20px;
	cursor: pointer;
}
.askic:hover {
	background: rgba(255, 255, 255, 0.18);
}
.asklive {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	font-size: 14.5px;
	border-bottom: 1px solid #eef1f6;
	background: #fff;
	color: #4e5562;
}
.asklive i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #9aa3af;
	flex: none;
}
.asklive span {
	flex: 1;
	min-width: 0;
}
.asklive.on {
	background: #e5f4e8;
	color: #106d43;
}
.asklive.on i {
	background: #1fa466;
	animation: askpl 1.8s infinite;
}
.asklive.ask {
	background: #fff8eb;
	color: #74440c;
}
.asklive.ask i {
	background: #f5a524;
}
.asklive button {
	flex: none;
	border: 0;
	border-radius: 999px;
	padding: 5px 12px;
	font: inherit;
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
	background: #2e6edb;
	color: #fff;
}
@keyframes askpl {
	50% {
		box-shadow: 0 0 0 5px rgba(31, 164, 102, 0.2);
	}
}
@media (prefers-reduced-motion: reduce) {
	.asklive.on i {
		animation: none;
	}
}
.askctx {
	display: flex;
	gap: 6px;
	align-items: center;
	padding: 8px 14px;
	background: #f5f7fb;
	border-bottom: 1px solid #eef1f6;
	font-size: 14px;
}
.askctx span {
	color: #4e5562;
}
.askctx b {
	font-weight: 500;
}
.asklog {
	flex: 1;
	overflow-y: auto;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fafbfd;
}
.askm {
	max-width: 88%;
	padding: 10px 13px;
	border-radius: 16px;
	font-size: 16px;
	line-height: 1.5;
	animation: dfin 0.3s ease both;
}
.askm.me {
	align-self: flex-end;
	background: #2e6edb;
	color: #fff;
	border-bottom-right-radius: 5px;
}
.askm.ai {
	align-self: flex-start;
	background: #fff;
	border: 1px solid #e6eaf0;
	border-bottom-left-radius: 5px;
}
.askm a {
	color: #2e6edb;
	font-weight: 500;
}
.askm p {
	margin: 0;
}
.askm p + p,
.askm p + ul,
.askm ul + p {
	margin-top: 8px;
}
.askm ul {
	margin: 0;
	padding-left: 18px;
}
.askm li {
	margin: 2px 0;
}
.asknote {
	align-self: flex-start;
	font-size: 13px;
	color: #106d43;
	background: #e5f4e8;
	border-radius: 999px;
	padding: 4px 10px;
	animation: dfin 0.3s ease both;
}
.asktyp {
	display: inline-flex;
	gap: 4px;
}
.asktyp i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #9a6df1;
	animation: blink 1s infinite;
}
.asktyp i:nth-child(2) {
	animation-delay: 0.15s;
}
.asktyp i:nth-child(3) {
	animation-delay: 0.3s;
}
.asksug {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 10px 12px;
	border-top: 1px solid #eef1f6;
	scrollbar-width: none;
}
.asksug::-webkit-scrollbar {
	display: none;
}
.asksug button {
	flex: none;
	border: 1px solid #dde2e8;
	background: #fff;
	border-radius: 999px;
	padding: 7px 12px;
	font: inherit;
	font-size: 14.5px;
	color: #14171c;
	cursor: pointer;
	white-space: nowrap;
}
.asksug button:hover {
	border-color: #2e6edb;
	color: #2e6edb;
}
.askf {
	display: flex;
	gap: 8px;
	padding: 10px 12px 4px;
}
.askf input {
	flex: 1;
	min-width: 0;
	border: 1.5px solid #dde2e8;
	border-radius: 999px;
	padding: 11px 16px;
	font: inherit;
	font-size: 16.5px;
	outline: 0;
	color: #14171c;
	background: #fff;
}
.askf input:focus {
	border-color: #2e6edb;
}
.askf .btn {
	width: 44px;
	height: 44px;
	padding: 0;
	justify-content: center;
	border-radius: 50%;
	font-size: 19px;
}
.askfine {
	margin: 0;
	padding: 4px 14px 12px;
	font-size: 12.5px;
	color: #8a919c;
}
@media (max-width: 640px) {
	.askfab {
		height: 50px;
		padding: 0 16px 0 6px;
	}
	.askp {
		right: 0;
		bottom: 0;
		width: 100vw;
		height: min(88dvh, 720px);
		border-radius: 24px 24px 0 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.askorb,
	.askorb i::after,
	.askp,
	.askm,
	.asknote {
		animation: none;
	}
}
/* ---------- My consent preferences (DPDP) ---------- */
.cns {
	--c-card: var(--surface);
	--c-fg: var(--text);
	--c-mut: var(--text-2);
	--c-faint: var(--text-3);
	--c-line: var(--hair);
	--c-soft: var(--surface-2);
	--c-blue: var(--b600);
	--c-ok: var(--p-live-t);
	--c-okbg: var(--p-live-bg);
	--c-warn: var(--p-attn-t);
	--c-warnbg: var(--p-attn-bg);
	--c-bad: var(--d500, #de4545);
	display: grid;
	gap: 16px;
}
.cns .cn-id {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding: 16px 18px;
	background: var(--c-card);
	border: 1px solid var(--c-line);
	border-radius: 18px;
}
.cns .cn-av {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--c-soft);
	display: grid;
	place-items: center;
	font-weight: 600;
	color: var(--c-blue);
}
.cns .cn-id b {
	display: block;
	font-weight: 600;
	font-size: 18.5px;
}
.cns .cn-id span.m {
	color: var(--c-mut);
	font-size: 15.5px;
}
.cns .cn-vf {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--c-ok);
	background: var(--c-okbg);
	border-radius: 999px;
	padding: 3px 10px;
}
.cns .cn-law {
	margin-left: auto;
	font-size: 14px;
	color: var(--c-mut);
	font-family: var(--mono, ui-monospace, monospace);
}
.cns .cn-sum {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.cns .cn-sum div {
	background: var(--c-card);
	border: 1px solid var(--c-line);
	border-radius: 16px;
	padding: 14px 16px;
	display: grid;
	gap: 2px;
	min-width: 0;
}
.cns .cn-sum b {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.cns .cn-sum span {
	font-size: 15px;
	color: var(--c-mut);
}
.cns .cn-sum code {
	font-size: 15px;
	overflow-wrap: anywhere;
}
.cns .cn-tabs {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid var(--c-line);
	overflow-x: auto;
	scrollbar-width: none;
}
.cns .cn-tabs::-webkit-scrollbar {
	display: none;
}
.cns .cn-tabs button {
	flex: none;
	border: 0;
	background: none;
	padding: 11px 14px;
	font: inherit;
	font-weight: 500;
	font-size: 16.5px;
	color: var(--c-mut);
	cursor: pointer;
	border-bottom: 2px solid transparent;
}
.cns .cn-tabs button[aria-selected='true'] {
	color: var(--c-fg);
	border-bottom-color: var(--c-blue);
}
.cns .cn-tabs .n {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	border-radius: 999px;
	background: var(--c-soft);
	font-size: 13px;
	margin-left: 6px;
	padding: 0 6px;
}
.cns .cn-pan {
	display: grid;
	gap: 14px;
}
.cns .cn-pan[hidden] {
	display: none;
}
.cns h2.cn-h {
	margin: 0;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.cns h3.cn-h {
	margin: 0;
	font-size: 18.5px;
	font-weight: 600;
}
.cns .cn-gh {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 14px;
	flex-wrap: wrap;
}
.cns .cn-gh p,
.cns .cn-p {
	margin: 0;
	color: var(--c-mut);
	font-size: 16px;
	max-width: 80ch;
}
.cns .cn-box {
	background: var(--c-card);
	border: 1px solid var(--c-line);
	border-radius: 18px;
}
.cns .cn-pur {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 16px;
	padding: 15px 18px;
	align-items: center;
}
.cns .cn-pur + .cn-pur {
	border-top: 1px solid var(--c-line);
}
.cns .cn-pur .pt {
	display: grid;
	gap: 4px;
	min-width: 0;
}
.cns .cn-pur .pt p {
	margin: 0;
	color: var(--c-mut);
	font-size: 16px;
}
.cns .cn-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cns .cn-tag {
	font-size: 13px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--c-soft);
	color: var(--c-mut);
	border: 1px solid var(--c-line);
}
.cns .cn-tag.rq {
	color: var(--c-blue);
}
.cns .cn-tag.chg {
	color: var(--c-warn);
	background: var(--c-warnbg);
	border-color: transparent;
}
.cns .cn-more,
.cns .cn-lnk {
	justify-self: start;
	border: 0;
	background: none;
	color: var(--c-blue);
	padding: 0;
	cursor: pointer;
	font: inherit;
	font-size: 15.5px;
	font-weight: 500;
}
.cns .cn-det {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 6px;
}
.cns .cn-det[hidden] {
	display: none;
}
.cns .cn-det div {
	background: var(--c-soft);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 15.5px;
}
.cns .cn-det b {
	display: block;
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-faint);
	font-weight: 500;
	margin-bottom: 2px;
}
.cns .cn-swl {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-self: end;
}
.cns .cn-swl small {
	font-size: 14.5px;
	color: var(--c-mut);
	min-width: 28px;
	text-align: right;
}
.cns .cn-sw {
	position: relative;
	width: 50px;
	height: 28px;
	flex: none;
}
.cns .cn-sw input {
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	cursor: pointer;
	z-index: 1;
}
.cns .cn-sw span {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: var(--n300, #c2c9d2);
	transition: background 0.2s;
}
.cns .cn-sw span::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s;
}
.cns .cn-sw input:checked + span {
	background: var(--s500, #1fa466);
}
.cns .cn-sw input:checked + span::after {
	transform: translateX(22px);
}
.cns .cn-sw input:disabled {
	cursor: not-allowed;
}
.cns .cn-sw input:disabled + span {
	opacity: 0.55;
}
.cns .cn-sw input:focus-visible + span {
	outline: 2px solid var(--c-blue);
	outline-offset: 2px;
}
.cns .cn-tw {
	overflow-x: auto;
	border: 1px solid var(--c-line);
	border-radius: 18px;
	background: var(--c-card);
}
.cns .cn-tw table {
	border-collapse: collapse;
	width: 100%;
	font-size: 16px;
}
.cns .cn-tw th,
.cns .cn-tw td {
	padding: 11px 14px;
	border-bottom: 1px solid var(--c-line);
	text-align: left;
	vertical-align: middle;
}
.cns .cn-tw th {
	font-size: 12.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-faint);
	font-weight: 500;
	white-space: nowrap;
}
.cns .cn-tw tr:last-child td {
	border-bottom: 0;
}
.cns .cn-tw .c {
	text-align: center;
}
.cns .cn-tw td small {
	display: block;
	color: var(--c-mut);
	font-size: 14.5px;
}
.cns .cn-ck {
	width: 19px;
	height: 19px;
	accent-color: var(--s500, #1fa466);
	cursor: pointer;
}
.cns .cn-ck:disabled {
	cursor: not-allowed;
}
.cns .cn-row3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.cns .cn-fld {
	display: grid;
	gap: 6px;
	padding: 16px;
	align-content: start;
}
.cns .cn-fld label {
	font-weight: 600;
	font-size: 16.5px;
}
.cns .cn-fld select,
.cns .cn-fld input {
	border: 1px solid var(--c-line);
	background: var(--c-card);
	color: var(--c-fg);
	border-radius: 10px;
	padding: 8px 12px;
	width: 100%;
	font: inherit;
}
.cns .cn-fld p {
	margin: 0;
	font-size: 15px;
	color: var(--c-mut);
}
.cns .cn-chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.cns .cn-act {
	display: inline-flex;
	font-size: 14.5px;
	font-weight: 600;
	border-radius: 999px;
	padding: 2px 9px;
	white-space: nowrap;
}
.cns .cn-act.g {
	color: var(--c-ok);
	background: var(--c-okbg);
}
.cns .cn-act.w {
	color: var(--c-bad);
	background: color-mix(in srgb, var(--c-bad) 12%, transparent);
}
.cns .cn-act.u {
	color: var(--c-warn);
	background: var(--c-warnbg);
}
.cns .cn-mono {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 14.5px;
}
.cns .cn-rg {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.cns .cn-rc {
	padding: 18px;
	display: grid;
	gap: 8px;
	align-content: start;
}
.cns .cn-rc .ic {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: var(--c-soft);
	color: var(--c-blue);
	font-size: 20px;
}
.cns .cn-rc p {
	margin: 0;
	color: var(--c-mut);
	font-size: 16px;
}
.cns .cn-rc .sec {
	font-size: 13px;
	color: var(--c-faint);
}
.cns .cn-rq {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 14px;
	padding: 14px 18px;
	align-items: center;
}
.cns .cn-rq + .cn-rq {
	border-top: 1px solid var(--c-line);
}
.cns .cn-steps {
	display: flex;
	gap: 4px;
	grid-column: 1/-1;
}
.cns .cn-steps i {
	flex: 1;
	height: 5px;
	border-radius: 5px;
	background: var(--c-line);
}
.cns .cn-steps i.on {
	background: var(--s500, #1fa466);
}
.cns .cn-hg {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.cns .cn-ct {
	padding: 18px;
	display: grid;
	gap: 6px;
}
.cns .cn-ct p {
	margin: 0;
	color: var(--c-mut);
	font-size: 16px;
}
.cns .cn-ct .v {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	font-weight: 500;
}
.cns details {
	border-top: 1px solid var(--c-line);
	padding: 14px 18px;
}
.cns details:first-of-type {
	border-top: 0;
}
.cns summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 12px;
}
.cns summary::-webkit-details-marker {
	display: none;
}
.cns summary::after {
	content: '+';
	color: var(--c-faint);
	font-weight: 400;
	font-size: 22px;
	line-height: 1;
}
.cns details[open] summary::after {
	content: '–';
}
.cns details p {
	margin: 8px 0 0;
	color: var(--c-mut);
	font-size: 16px;
	max-width: 80ch;
}
.cns .cn-wd {
	padding: 16px 18px;
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}
.cns .cn-save {
	position: sticky;
	bottom: 12px;
	z-index: 5;
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	padding: 12px 16px;
	border-radius: 16px;
	background: var(--c-card);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow-lg);
}
.cns .cn-save[hidden] {
	display: none;
}
.cns .cn-save span {
	color: var(--c-mut);
	font-size: 16px;
	flex: 1;
	min-width: 180px;
}
.cn-rcpt {
	background: var(--surface-2);
	border-radius: 12px;
	padding: 14px;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 14.5px;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
.cn-mlist {
	margin: 0;
	padding-left: 18px;
	color: var(--text-2);
	display: grid;
	gap: 4px;
}
.cn-macts {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	flex-wrap: wrap;
}
@media (max-width: 1000px) {
	.cns .cn-sum {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cns .cn-det {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cns .cn-rg,
	.cns .cn-row3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cns .cn-hg {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.cns .cn-det,
	.cns .cn-rg,
	.cns .cn-row3 {
		grid-template-columns: 1fr;
	}
	.cns .cn-pur {
		grid-template-columns: 1fr;
	}
	.cns .cn-swl {
		justify-self: start;
	}
	.cns .cn-law {
		margin-left: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cns .cn-sw span,
	.cns .cn-sw span::after {
		transition: none;
	}
}

#consent-s {
	--surface: #fff;
	--surface-2: #f5f7fb;
	--text: #14171c;
	--text-2: #4e5562;
	--text-3: #8a919c;
	--hair: #e2e6ec;
	--b600: #2e6edb;
	--p-live-t: #106d43;
	--p-live-bg: #e5f4e8;
	--p-attn-t: #74440c;
	--p-attn-bg: #fff4de;
	--d500: #de4545;
	--s500: #1fa466;
	--n300: #c2c9d2;
	--shadow-lg: 0 20px 50px rgba(15, 38, 80, 0.16);
	color: #14171c;
}
#consent-s .ph {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}
#consent-s .ph > div:first-child {
	max-width: 780px;
}
#consent-s .eyebrow {
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #2e6edb;
}
#consent-s .ph h1 {
	margin: 8px 0 6px;
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1.02;
}
#consent-s .ph p {
	margin: 0;
	color: #4e5562;
	font-size: 19px;
}
#consent-s .chip {
	border: 1px solid #e2e6ec;
	background: #fff;
	border-radius: 999px;
	padding: 6px 12px;
	font: inherit;
	font-size: 15.5px;
	cursor: pointer;
	color: #14171c;
}
#consent-s .chip.on {
	background: #14171c;
	color: #fff;
	border-color: #14171c;
}
#consent-s .btn.sm,
.cn-mdl .btn.sm {
	height: 34px;
	padding: 0 14px;
	font-size: 15.5px;
}
#consent-s .btn.ghost,
.cn-mdl .btn.ghost {
	color: #14171c;
	border-color: #dde2e8;
	background: #fff;
}
.cn-ov {
	position: fixed;
	inset: 0;
	z-index: 95;
	background: rgba(7, 11, 22, 0.5);
	display: grid;
	place-items: center;
	padding: 16px;
}
.cn-ov[hidden] {
	display: none !important;
}
.cn-mdl {
	--surface-2: #f5f7fb;
	--text: #14171c;
	--text-2: #4e5562;
	background: #fff;
	color: #14171c;
	border-radius: 20px;
	width: min(540px, 100%);
	max-height: calc(100dvh - 32px);
	overflow: auto;
	padding: 22px;
	display: grid;
	gap: 12px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.cn-mdl .h4 {
	margin: 0;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.cn-mdl .cap {
	color: #4e5562;
	font-size: 15.5px;
}
.cn-mdl .field {
	display: grid;
	gap: 6px;
}
.cn-mdl .field label {
	font-weight: 600;
	font-size: 16px;
}
.cn-mdl .field input,
.cn-mdl .field textarea {
	border: 1px solid #dde2e8;
	border-radius: 10px;
	padding: 9px 12px;
	font: inherit;
	width: 100%;
}
.cn-mdl .btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}
.cn-toast {
	position: fixed;
	left: 50%;
	bottom: calc(90px + env(safe-area-inset-bottom, 0px));
	transform: translateX(-50%);
	background: #14171c;
	color: #fff;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 16px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
	z-index: 96;
}
.cn-toast.on {
	opacity: 1;
}
.studios {
	background: radial-gradient(90% 70% at 80% 0%, #28164f 0%, #0b1a38 45%, #070b16 100%);
}
.stg {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.stc {
	position: relative;
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 20px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	overflow: hidden;
	animation: stUp 0.6s ease both;
	transition:
		transform 0.3s,
		border-color 0.3s;
}
.stc:hover {
	transform: translateY(-4px);
	border-color: var(--a);
}
.stc::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--a), transparent);
}
@keyframes stUp {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
}
.stv {
	height: 86px;
	border-radius: 14px;
	background: linear-gradient(140deg, var(--b), rgba(0, 0, 0, 0.25));
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	padding: 12px;
	position: relative;
	overflow: hidden;
}
.stv i {
	flex: 1;
	max-width: 18px;
	border-radius: 5px 5px 2px 2px;
	background: var(--a);
	opacity: 0.85;
	transform-origin: bottom;
	animation: stBar 2.4s ease-in-out infinite alternate;
}
.stv i:nth-child(1) {
	height: 30%;
}
.stv i:nth-child(2) {
	height: 55%;
	animation-delay: 0.2s;
}
.stv i:nth-child(3) {
	height: 42%;
	animation-delay: 0.4s;
}
.stv i:nth-child(4) {
	height: 75%;
	animation-delay: 0.6s;
}
.stv i:nth-child(5) {
	height: 60%;
	animation-delay: 0.8s;
}
.stv i:nth-child(6) {
	height: 90%;
	animation-delay: 1s;
}
@keyframes stBar {
	from {
		transform: scaleY(0.45);
	}
	to {
		transform: scaleY(1);
	}
}
.stv.vco i,
.stv.vwr i,
.stv.vcx i {
	position: absolute;
	flex: none;
	width: 10px;
	height: 10px !important;
	max-width: none;
	border-radius: 50%;
	animation: stOrb 6s linear infinite;
}
.stv.vco i:nth-child(n),
.stv.vwr i:nth-child(n),
.stv.vcx i:nth-child(n) {
	left: 50%;
	top: 50%;
}
.stv.vco i:nth-child(2),
.stv.vwr i:nth-child(2),
.stv.vcx i:nth-child(2) {
	animation-delay: -1s;
	animation-duration: 7s;
}
.stv.vco i:nth-child(3),
.stv.vwr i:nth-child(3),
.stv.vcx i:nth-child(3) {
	animation-delay: -2s;
	animation-duration: 5s;
}
.stv.vco i:nth-child(4),
.stv.vwr i:nth-child(4),
.stv.vcx i:nth-child(4) {
	animation-delay: -3s;
	animation-duration: 8s;
}
.stv.vco i:nth-child(5),
.stv.vwr i:nth-child(5),
.stv.vcx i:nth-child(5) {
	animation-delay: -4s;
}
.stv.vco i:nth-child(6),
.stv.vwr i:nth-child(6),
.stv.vcx i:nth-child(6) {
	animation-delay: -5s;
	animation-duration: 9s;
	background: #fff;
}
@keyframes stOrb {
	from {
		transform: rotate(0) translateX(30px) rotate(0);
	}
	to {
		transform: rotate(360deg) translateX(30px) rotate(-360deg);
	}
}
.stk {
	font-size: 12.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--a);
	font-weight: 600;
}
.stc h3 {
	margin: 0;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #f3f6ff;
}
.stc dl {
	margin: 0;
	display: grid;
	gap: 4px;
}
.stc dt {
	font-size: 12.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(243, 246, 255, 0.45);
	margin-top: 6px;
}
.stc dd {
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
	color: rgba(243, 246, 255, 0.82);
}
.stl {
	margin-top: 6px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
}
.stl:hover {
	text-decoration: underline;
}
.stfoot {
	margin-top: 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 20px 24px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.stfoot b {
	display: block;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}
.stfoot span {
	color: rgba(243, 246, 255, 0.7);
	font-size: 16px;
}
.stbtn {
	display: inline-flex;
	align-items: center;
	height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	background: linear-gradient(135deg, #8250e6, #4285f4);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
@media (max-width: 1100px) {
	.stg {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.stg {
		grid-template-columns: 1fr;
	}
}
@media (prefers-reduced-motion: reduce) {
	.stc,
	.stv i {
		animation: none;
	}
}
.hlart.stuart {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 10px;
	height: 200px;
	width: 100%;
	max-width: 360px;
	margin: auto;
}
.hlart.stuart i {
	display: block;
	flex: 1;
	max-width: 30px;
	border-radius: 8px 8px 3px 3px;
	background: linear-gradient(180deg, #fff, var(--c));
	transform-origin: bottom;
	animation: stBar 2.4s ease-in-out infinite alternate;
}
@media (min-width: 821px) {
	.hlgrid > .hlt:last-child:nth-child(odd) {
		grid-column: 1/-1;
	}
}
.tseats {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}
.tseats i {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	font-style: normal;
	font-size: 12.5px;
	font-weight: 700;
	animation: tsp 2s ease-in-out infinite;
}
@keyframes tsp {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
	}
	20% {
		box-shadow: 0 0 0 5px rgba(79, 70, 229, 0.25);
	}
}
.tmsg {
	animation: tmu 0.5s ease both;
}
@keyframes tmu {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.tseats i,
	.tmsg {
		animation: none;
	}
}
.hlart.mtg {
	display: grid;
	justify-items: center;
	gap: 6px;
}
.hlart.mtg b {
	font-size: clamp(80px, 9vw, 130px);
	font-weight: 200;
	letter-spacing: -0.06em;
	line-height: 1;
}
.hlart.mtg span {
	font-size: 17px;
	opacity: 0.8;
}
.hlart.twins {
	display: grid;
	grid-template-columns: repeat(3, 64px);
	gap: 16px;
	justify-content: center;
	align-content: center;
	height: 220px;
}
.hlart.twins i {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-style: normal;
	font-weight: 700;
	font-size: 18.5px;
	color: #fff;
	background: var(--c);
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
	animation: twTalk 2.6s ease-in-out infinite;
}
@keyframes twTalk {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
	15% {
		transform: scale(1.08);
		box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.18);
	}
}
@media (prefers-reduced-motion: reduce) {
	.hlart.twins i {
		animation: none;
	}
}
/* customer experience suite hero */
.cxh .journey {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 36px;
	max-width: 680px;
}
.jy {
	position: relative;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 12px 12px 14px;
	border-radius: 16px;
	border: 1px solid var(--hair);
	background: rgba(255, 255, 255, 0.035);
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.3s;
	overflow: hidden;
}
.jy::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--c);
	opacity: 0.5;
	transition: opacity 0.3s;
}
.jy:hover,
.jy.on {
	background: rgba(255, 255, 255, 0.08);
	border-color: color-mix(in srgb, var(--c) 60%, transparent);
}
.jy.on::before {
	opacity: 1;
}
.jy:hover {
	transform: translateY(-2px);
}
.jn {
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--on3);
	padding-top: 2px;
}
.jt {
	display: grid;
	gap: 1px;
	min-width: 0;
}
.jt em {
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c);
	filter: brightness(1.35);
}
.jt b {
	font-size: 16.5px;
	font-weight: 500;
	color: var(--on);
}
.jt small {
	font-size: 14px;
	line-height: 1.35;
	color: var(--on3);
}
.cxh .h1 {
	font-size: clamp(46px, 5.4vw, 84px);
}
.cxstage {
	aspect-ratio: 1/1;
}
.cxstage .sw {
	position: absolute;
	inset: 2%;
}
.swring {
	position: absolute;
	inset: 12%;
	border-radius: 50%;
	border: 1px dashed rgba(243, 246, 255, 0.16);
	animation: spin 70s linear infinite;
}
.swring.r2 {
	inset: 30%;
	border-style: solid;
	border-color: rgba(243, 246, 255, 0.07);
	animation-duration: 110s;
	animation-direction: reverse;
}
.swhub {
	position: absolute;
	inset: 25%;
	border-radius: 50%;
	display: grid;
	place-content: center;
	justify-items: center;
	text-align: center;
	gap: 4px;
	padding: 10px;
	background: radial-gradient(
		circle at 30% 25%,
		rgba(141, 181, 249, 0.22),
		rgba(15, 22, 42, 0.85) 70%
	);
	border: 1px solid rgba(243, 246, 255, 0.16);
	box-shadow: 0 0 60px rgba(66, 133, 244, 0.25);
}
.swhub .mono {
	font-size: 12.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--on3);
}
.swhub > b {
	font-size: 20px;
	font-weight: 500;
	color: var(--on);
}
.swh {
	display: grid;
	grid-template-columns: auto auto;
	gap: 0 6px;
	font-size: 12.5px;
	color: var(--on3);
	align-items: baseline;
}
.swh strong {
	font-weight: 500;
	color: var(--on);
	font-size: 15px;
	text-align: left;
}
.swhub p {
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--on2);
	max-width: 190px;
	min-height: 48px;
	transition: opacity 0.35s;
}
.swhub p em {
	display: block;
	font-style: normal;
	font-family: var(--mono);
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--blue3);
}
.swhub p.fade {
	opacity: 0;
}
.swn {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	transform: rotate(var(--a)) translate(min(17vw, 218px)) rotate(calc(-1 * var(--a)));
}
.swn i {
	position: absolute;
	left: -23px;
	top: -23px;
	width: 46px;
	height: 46px;
	border-radius: 15px;
	display: grid;
	place-items: center;
	font-style: normal;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	background: var(--c);
	box-shadow: 0 10px 26px color-mix(in srgb, var(--c) 45%, transparent);
	transition:
		transform 0.35s,
		box-shadow 0.35s;
}
.swn span {
	position: absolute;
	left: 50%;
	top: 28px;
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: 12.5px;
	color: var(--on2);
	transition: color 0.35s;
}
.swn.on i {
	transform: scale(1.22);
	box-shadow:
		0 0 0 6px color-mix(in srgb, var(--c) 28%, transparent),
		0 14px 34px color-mix(in srgb, var(--c) 60%, transparent);
}
.swn.on span {
	color: var(--on);
}
.cxstage .f1 {
	left: 0;
	top: 0;
	width: 58%;
}
.cxstage .f2 {
	right: 0;
	top: auto;
	bottom: 16%;
	width: 56%;
}
.cxstage .f3 {
	left: 0;
	bottom: 0;
	top: auto;
	width: 54%;
}
.cxstage .fc {
	z-index: 2;
}
@media (max-width: 980px) {
	.swn {
		transform: rotate(var(--a)) translate(min(36vw, 170px)) rotate(calc(-1 * var(--a)));
	}
}
@media (max-width: 760px) {
	.cxh .journey {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.cxstage {
		aspect-ratio: auto;
	}
	.cxstage .sw {
		position: relative;
		inset: auto;
		width: 100%;
		max-width: 350px;
		aspect-ratio: 1/1;
		justify-self: center;
		margin: 0 auto 10px;
	}
	.swn {
		transform: rotate(var(--a)) translate(136px) rotate(calc(-1 * var(--a)));
	}
	.jy {
		padding: 10px;
	}
	.jt b {
		font-size: 15.5px;
	}
	.swn i {
		width: 38px;
		height: 38px;
		left: -19px;
		top: -19px;
		border-radius: 12px;
		font-size: 12.5px;
	}
	.swn span {
		font-size: 12.5px;
		top: 22px;
	}
	.swhub {
		inset: 29%;
	}
	.swhub p {
		display: none;
	}
	.swhub > b {
		font-size: 16px;
	}
	.swhub .mono {
		font-size: 12.5px;
	}
	.swh {
		font-size: 12.5px;
	}
	.cxh .journey {
		grid-template-columns: 1fr 1fr;
		margin-top: 28px;
	}
	.jt small {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.swring {
		animation: none;
	}
}
