:root {
	--ez-ink: #1b1730;
	--ez-muted: #5c5672;
	--ez-line: #e6e1f0;
	--ez-paper: #ffffff;
	--ez-wash: #f6f4fb;
	--ez-purple: #3d2a86;
	--ez-purple-2: #5b3cc4;
	--ez-orange: #e87400;
	--ez-shadow: 0 18px 50px rgba(39, 24, 84, 0.08);
}

body {
	background: var(--ez-wash);
}

.ez-bar,
.ez-foot,
.ez-home,
.ez-doc {
	font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
	color: var(--ez-ink);
}

.ez-bar {
	background: #fff;
	border-bottom: 1px solid var(--ez-line);
}

.ez-bar-inner,
.ez-foot-inner,
.ez-wrap {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

.ez-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 76px;
}

.ez-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ez-ink);
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: -0.03em;
	text-decoration: none;
}

.ez-mark {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--ez-purple);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
}

.ez-nav-toggle {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ez-nav-open {
	display: none;
}

.ez-nav {
	display: flex;
	align-items: center;
	gap: 22px;
}

.ez-nav a {
	color: var(--ez-ink);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}

.ez-nav a:hover {
	color: var(--ez-purple-2);
}

.ez-btn,
.ez-nav .ez-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--ez-orange);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
	border: 0;
	cursor: pointer;
}

.ez-btn:hover {
	background: #cf6800;
}

.ez-btn-ghost {
	background: #fff;
	color: var(--ez-purple) !important;
	border: 1px solid #d9d2ea;
}

.ez-home {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background:
		radial-gradient(900px 420px at 90% -10%, rgba(91, 60, 196, 0.16), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--ez-wash) 42%);
}

.ez-hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: center;
	padding: 72px 0 36px;
}

.ez-kicker {
	margin: 0 0 12px;
	color: var(--ez-purple-2);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ez-hero h1,
.ez-doc h1 {
	margin: 0;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	line-height: 1.08;
	letter-spacing: -0.045em;
}

.ez-lead,
.ez-doc .ez-lead {
	margin: 16px 0 0;
	max-width: 38rem;
	color: var(--ez-muted);
	font-size: 1.12rem;
	line-height: 1.6;
}

.ez-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.ez-panel {
	background: #fff;
	border: 1px solid var(--ez-line);
	border-radius: 24px;
	box-shadow: var(--ez-shadow);
	padding: 22px;
}

.ez-panel h2 {
	margin: 0 0 8px;
	font-size: 1.05rem;
}

.ez-panel p,
.ez-note {
	margin: 0;
	color: var(--ez-muted);
	line-height: 1.55;
}

.ez-file {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--ez-wash);
	font-size: 0.92rem;
}

.ez-file strong {
	display: block;
}

.ez-file span {
	color: var(--ez-muted);
}

.ez-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	padding-bottom: 28px;
}

.ez-trust article,
.ez-card,
.ez-step {
	background: #fff;
	border: 1px solid var(--ez-line);
	border-radius: 18px;
	padding: 18px 18px 16px;
}

.ez-trust h2,
.ez-card h3,
.ez-step h3 {
	margin: 8px 0 6px;
	font-size: 1.02rem;
}

.ez-trust p,
.ez-card p,
.ez-step p {
	margin: 0;
	color: var(--ez-muted);
	line-height: 1.5;
	font-size: 0.95rem;
}

.ez-section {
	padding: 28px 0 10px;
}

.ez-section h2 {
	margin: 0 0 8px;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	letter-spacing: -0.03em;
}

.ez-picks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 22px;
}

.ez-pick {
	display: block;
	padding: 22px 20px 18px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--ez-line);
	color: inherit;
	text-decoration: none;
}

.ez-pick:hover {
	border-color: #c8b8ee;
	box-shadow: var(--ez-shadow);
}

.ez-pick small {
	color: var(--ez-purple-2);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ez-pick h3 {
	margin: 8px 0 6px;
	font-size: 1.2rem;
	letter-spacing: -0.03em;
}

.ez-pick p {
	margin: 0;
	color: var(--ez-muted);
	line-height: 1.5;
}

.ez-grid,
.ez-steps {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 18px;
}

.ez-steps {
	grid-template-columns: repeat(3, 1fr);
}

.ez-num {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #efeafb;
	color: var(--ez-purple);
	font-size: 0.82rem;
	font-weight: 800;
}

.ez-card a,
.ez-doc a,
.ez-foot a {
	color: var(--ez-purple-2);
}

.ez-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.ez-links a {
	display: inline-flex;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--ez-wash);
	color: var(--ez-ink);
	text-decoration: none;
	font-size: 0.88rem;
	font-weight: 700;
}

.ez-links a:hover {
	background: #efeafb;
}

.ez-faq details {
	background: #fff;
	border: 1px solid var(--ez-line);
	border-radius: 14px;
	padding: 14px 16px;
	margin-top: 10px;
}

.ez-faq summary {
	cursor: pointer;
	font-weight: 700;
}

.ez-faq p {
	margin: 10px 0 0;
	color: var(--ez-muted);
	line-height: 1.55;
}

.ez-close {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
	margin: 36px 0 64px;
	padding: 28px;
	border-radius: 24px;
	background: var(--ez-purple);
	color: #fff;
}

.ez-close h2,
.ez-close p {
	margin: 0;
	color: #fff;
}

.ez-close p {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.82);
}

.ez-foot {
	background: #241a4a;
	color: #efeafb;
	padding: 48px 0 28px;
}

.ez-foot .ez-logo {
	color: #fff;
}

.ez-foot-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 28px;
}

.ez-foot h2 {
	margin: 0 0 12px;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #c8bce8;
}

.ez-foot p,
.ez-foot li {
	color: #efeafb;
	line-height: 1.55;
}

.ez-foot ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ez-foot li + li {
	margin-top: 8px;
}

.ez-foot a {
	color: #fff;
	text-decoration: none;
}

.ez-foot a:hover {
	text-decoration: underline;
}

.ez-legal {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #c8bce8;
	font-size: 0.88rem;
}

.ez-doc {
	width: min(760px, calc(100% - 40px));
	margin: 48px auto 80px;
}

.ez-doc h1 {
	font-size: clamp(2rem, 4vw, 2.8rem);
}

.ez-doc h2 {
	margin: 1.6em 0 0.4em;
	font-size: 1.25rem;
}

.ez-doc p,
.ez-doc li {
	line-height: 1.65;
	color: #3c3654;
}

.ez-doc ul {
	padding-left: 1.2em;
}

.ez-form {
	display: grid;
	gap: 12px;
	margin-top: 22px;
}

.ez-form label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}

.ez-form input,
.ez-form textarea {
	width: 100%;
	border: 1px solid var(--ez-line);
	border-radius: 12px;
	padding: 12px 14px;
	font: inherit;
	color: var(--ez-ink);
	background: #fff;
}

.ez-form textarea {
	min-height: 140px;
	resize: vertical;
}

.ez-hp {
	position: absolute;
	left: -9999px;
}

.ez-alert {
	margin-top: 16px;
	padding: 12px 14px;
	border-radius: 12px;
	background: #efeafb;
}

.ez-alert.is-error {
	background: #fff1f0;
	color: #8a1f11;
}

@media (max-width: 860px) {
	.ez-nav-open {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		padding: 0 12px;
		border: 1px solid var(--ez-line);
		border-radius: 999px;
		font-weight: 700;
	}

	.ez-nav {
		display: none;
		position: absolute;
		left: 20px;
		right: 20px;
		top: 76px;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 16px;
		background: #fff;
		border: 1px solid var(--ez-line);
		border-radius: 16px;
		box-shadow: var(--ez-shadow);
	}

	.ez-nav-toggle:checked ~ .ez-nav {
		display: flex;
	}

	.ez-bar {
		position: relative;
	}

	.ez-hero,
	.ez-trust,
	.ez-grid,
	.ez-picks,
	.ez-steps,
	.ez-foot-grid,
	.ez-close {
		grid-template-columns: 1fr;
		display: grid;
	}

	.ez-hero {
		padding-top: 40px;
	}

	.ez-close {
		display: block;
	}

	.ez-close .ez-btn {
		margin-top: 16px;
	}
}
