.eslp-shell,
.eslp-landing {
	--eslp-ink: #201510;
	--eslp-muted: #6f6057;
	--eslp-bg: #fcf6ef;
	--eslp-paper: #fffdf9;
	--eslp-line: #eadccf;
	--eslp-accent: #9a5a2e;
	--eslp-accent-deep: #6e3514;
	--eslp-accent-soft: #f4e6d8;
	--eslp-success: #2f6a4d;
	--eslp-danger: #8f2d2d;
	color: var(--eslp-ink);
}

.eslp-landing {
	max-width: 1220px;
	margin: 0 auto;
	padding: 20px 0 12px;
}

.eslp-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
	gap: 24px;
	padding: 38px;
	margin-bottom: 28px;
	border: 1px solid var(--eslp-line);
	border-radius: 32px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.92), rgba(252,246,239,0.98)),
		radial-gradient(circle at top right, rgba(154, 90, 46, 0.18), transparent 30%),
		radial-gradient(circle at bottom left, rgba(110, 53, 20, 0.08), transparent 25%);
	box-shadow: 0 28px 70px rgba(32, 21, 16, 0.08);
}

.eslp-showcase-copy h1 {
	margin: 0 0 14px;
	font-size: clamp(2.3rem, 5vw, 4.3rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.eslp-lead {
	margin: 0 0 14px;
	font-size: 1.08rem;
	line-height: 1.8;
	color: var(--eslp-ink);
}

.eslp-support {
	max-width: 58ch;
	margin: 0;
	line-height: 1.8;
	color: var(--eslp-muted);
}

.eslp-showcase-panel {
	display: grid;
	gap: 14px;
	align-content: start;
}

.eslp-mini-stat,
.eslp-step-card,
.eslp-rule-box,
.eslp-faq-item,
.eslp-card,
.eslp-stat-card,
.eslp-side-note,
.eslp-join-card {
	padding: 24px;
	border: 1px solid var(--eslp-line);
	border-radius: 22px;
	background: rgba(255, 253, 249, 0.92);
	box-shadow: 0 14px 36px rgba(32, 21, 16, 0.05);
}

.eslp-mini-stat span,
.eslp-section-label,
.eslp-eyebrow {
	display: inline-block;
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--eslp-accent);
}

.eslp-mini-stat strong {
	display: block;
	font-size: 1.15rem;
	line-height: 1.5;
}

.eslp-actions {
	margin-top: 26px;
}

.eslp-story-grid,
.eslp-qa-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 28px;
}

.eslp-story-card h2,
.eslp-editorial-copy h2,
.eslp-detail-band h2,
.eslp-qa-grid .eslp-card h2,
.eslp-membership-box h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.1;
}

.eslp-step-card span {
	display: inline-block;
	margin-bottom: 16px;
	font-size: 2rem;
	line-height: 1;
	color: var(--eslp-accent);
}

.eslp-step-card h3,
.eslp-rule-box h3,
.eslp-faq-item h3,
.eslp-card h3 {
	margin-top: 0;
	margin-bottom: 10px;
}

.eslp-step-card p,
.eslp-rule-box p,
.eslp-faq-item p,
.eslp-editorial-copy p,
.eslp-membership-box p,
.eslp-join-card p,
.eslp-card p,
.eslp-card li,
.eslp-stat-card span,
.eslp-stat-card small,
.eslp-side-note {
	color: var(--eslp-muted);
	line-height: 1.75;
}

.eslp-editorial-grid,
.eslp-membership-box {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: 24px;
	align-items: start;
	margin-bottom: 28px;
}

.eslp-benefits-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.eslp-benefits-list li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 14px;
}

.eslp-benefits-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 11px;
	width: 12px;
	height: 12px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--eslp-accent), #d4a57a);
	box-shadow: 0 0 0 6px rgba(154, 90, 46, 0.08);
}

.eslp-detail-band {
	padding: 32px;
	margin-bottom: 28px;
	border-radius: 30px;
	background: linear-gradient(180deg, #241714, #2d1d17);
	color: #fff8f2;
}

.eslp-detail-band .eslp-section-label,
.eslp-detail-band h2,
.eslp-detail-band p,
.eslp-detail-band h3 {
	color: #fff8f2;
}

.eslp-rules-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 24px;
}

.eslp-rule-box {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: none;
}

.eslp-membership-box {
	padding: 32px;
	border: 1px solid var(--eslp-line);
	border-radius: 30px;
	background:
		radial-gradient(circle at top left, rgba(154, 90, 46, 0.1), transparent 25%),
		linear-gradient(135deg, #fff, var(--eslp-bg));
}

.eslp-checkbox {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 0 18px;
}

.eslp-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 24px;
}

.eslp-stat-card strong {
	display: block;
	margin: 10px 0 8px;
	font-size: 34px;
	line-height: 1;
	color: var(--eslp-ink);
}

.eslp-table .is-negative {
	color: var(--eslp-danger);
}

.eslp-table .is-positive {
	color: var(--eslp-success);
}

.eslp-status {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--eslp-accent-soft);
	color: var(--eslp-accent);
}

.eslp-status-active {
	background: rgba(47, 106, 77, 0.12);
	color: var(--eslp-success);
}

.eslp-status-cancelled,
.eslp-status-reversed {
	background: rgba(143, 45, 45, 0.12);
	color: var(--eslp-danger);
}

@media (max-width: 1024px) {
	.eslp-showcase,
	.eslp-editorial-grid,
	.eslp-membership-box,
	.eslp-story-grid,
	.eslp-qa-grid,
	.eslp-grid,
	.eslp-rules-grid {
		grid-template-columns: 1fr;
	}
}

.eslp-floating-cta {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 9999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 999px;
	background: rgba(255, 250, 246, 0.84);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(194, 155, 116, 0.42);
	box-shadow: 0 18px 36px rgba(51, 29, 18, 0.1);
	color: #b69062;
	text-decoration: none;
	overflow: hidden;
	transform-origin: bottom right;
	transition: transform 0.24s ease, box-shadow 0.24s ease, background 0.24s ease, width 0.24s ease, height 0.24s ease;
}

.eslp-floating-cta:hover,
.eslp-floating-cta:focus-visible {
	background: rgba(255, 252, 249, 0.96);
	box-shadow: 0 22px 44px rgba(51, 29, 18, 0.14);
	transform: translateY(-2px);
	color: #b69062;
}

.eslp-floating-cta__icon,
.eslp-floating-cta__tooltip {
	position: absolute;
	inset: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.eslp-floating-cta__icon {
	transition: transform 0.24s ease, opacity 0.24s ease;
}

.eslp-floating-cta__icon svg,
.eslp-floating-cta__logo {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.eslp-floating-cta__tooltip {
	padding: 0 10px;
	color: #8f633d;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0;
	transform: scale(0.82);
	pointer-events: none;
	transition: opacity 0.24s ease, transform 0.24s ease;
}

.eslp-floating-cta:hover .eslp-floating-cta__icon,
.eslp-floating-cta:focus-visible .eslp-floating-cta__icon {
	opacity: 0;
	transform: scale(0.72);
}

.eslp-floating-cta:hover .eslp-floating-cta__tooltip,
.eslp-floating-cta:focus-visible .eslp-floating-cta__tooltip {
	opacity: 1;
	transform: scale(1);
}

.eslp-floating-cta.is-condensed {
	width: 52px;
	height: 52px;
}

.eslp-floating-cta.is-condensed .eslp-floating-cta__icon svg,
.eslp-floating-cta.is-condensed .eslp-floating-cta__logo {
	width: 30px;
	height: 30px;
}

.eslp-floating-cta.is-condensed:hover .eslp-floating-cta__tooltip,
.eslp-floating-cta.is-condensed:focus-visible .eslp-floating-cta__tooltip {
	font-size: 11px;
	letter-spacing: 0.14em;
}

@media (max-width: 640px) {
	.eslp-floating-cta {
		right: 14px;
		bottom: 14px;
		width: 54px;
		height: 54px;
	}

	.eslp-floating-cta__icon svg,
	.eslp-floating-cta__logo {
		width: 30px;
		height: 30px;
	}

	.eslp-floating-cta__tooltip {
		font-size: 10px;
		letter-spacing: 0.12em;
	}
}

