.lk-app {
	--lk-ink: #17322b;
	--lk-green: #0f6b4f;
	--lk-green-dark: #09513b;
	--lk-muted: #64736d;
	--lk-line: #d8e0db;
	--lk-paper: #fff;
	--lk-cream: #f4f1e9;
	max-width: 920px;
	margin: 36px auto;
	color: var(--lk-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	background: var(--lk-paper);
	border: 1px solid var(--lk-line);
	border-radius: 22px;
	box-shadow: 0 20px 50px rgba(23, 50, 43, .12);
	overflow: hidden;
	font-size: 16px;
	line-height: 1.5;
}

.lk-app * { box-sizing: border-box; }
.lk-app p, .lk-app h2, .lk-app h3 { letter-spacing: normal; }
.lk-intro { padding: 46px 50px 34px; background: var(--lk-cream); }
.lk-kicker { margin: 0 0 8px !important; color: var(--lk-green); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lk-intro h2 { margin: 0 0 14px; color: var(--lk-ink) !important; font-size: clamp(30px, 4vw, 43px); font-weight: 750; line-height: 1.15; }
.lk-intro > p:last-child { max-width: 760px; margin: 0; color: #4e625a !important; font-size: 17px; line-height: 1.65; }

.lk-progress { padding: 18px 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border-top: 1px solid var(--lk-line); border-bottom: 1px solid var(--lk-line); }
.lk-progress span { display: flex; align-items: center; gap: 9px; color: #829089; font-size: 13px; font-weight: 700; }
.lk-progress b { width: 29px; height: 29px; display: inline-grid; place-items: center; border: 1px solid #aab6b0; border-radius: 50%; }
.lk-progress .is-active { color: var(--lk-green); }
.lk-progress .is-active b { color: white; background: var(--lk-green); border-color: var(--lk-green); }
.lk-progress .is-complete b { color: var(--lk-green); background: #dcecdf; border-color: #dcecdf; }

.lk-step { display: none; padding: 46px 50px 50px; }
.lk-step.is-active { display: block; }
.lk-step h3 { margin: 0 0 28px; color: var(--lk-ink) !important; font-size: 27px; font-weight: 750; line-height: 1.25; }
.lk-help { margin: -18px 0 28px; color: #53675f !important; font-size: 14px; }
.lk-contact-title { margin-top: 38px !important; }
.lk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lk-wide { grid-column: 1 / -1; }

.lk-field { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.lk-field > span:not(.lk-money-input), .lk-field legend { color: var(--lk-ink) !important; font-size: 14px; font-weight: 700; line-height: 1.4; }
.lk-field input, .lk-field select {
	width: 100%;
	height: 54px;
	padding: 0 16px;
	color: var(--lk-ink) !important;
	background: white !important;
	border: 1px solid #c8d2cc;
	border-radius: 8px;
	font: inherit;
	font-size: 16px !important;
	text-align: left !important;
	outline: none;
}
.lk-field input:focus, .lk-field select:focus { border-color: var(--lk-green); box-shadow: 0 0 0 3px rgba(15, 107, 79, .1); }
.lk-field .is-invalid { border-color: #b63131; }
.lk-money-input { position: relative; display: block; }
.lk-money-input b {
	position: absolute;
	z-index: 1;
	left: 16px;
	top: 50%;
	color: #53675f !important;
	font-size: 16px;
	font-weight: 700;
	transform: translateY(-50%);
	pointer-events: none;
}
.lk-money-input input { padding-left: 42px !important; }

.lk-radios { padding: 0; border: 0; display: flex; flex-direction: row; flex-wrap: wrap; }
.lk-radios legend { width: 100%; margin-bottom: 7px; }
.lk-radios label { padding: 12px 20px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--lk-line); }
.lk-radios label:first-of-type { border-radius: 8px 0 0 8px; }
.lk-radios label:last-of-type { border-radius: 0 8px 8px 0; }
.lk-radios input { width: 17px; height: 17px; accent-color: var(--lk-green); }

.lk-calculation { margin-top: 32px; padding: 28px 30px; display: flex; align-items: center; justify-content: space-between; gap: 32px; color: #fff !important; background: #123d32 !important; border-radius: 14px; }
.lk-calculation div, .lk-calculation p, .lk-calculation span, .lk-calculation b, .lk-calculation strong { color: #fff !important; }
.lk-calculation small { display: block; color: #d4e7df !important; font-size: 13px; line-height: 1.5; }
.lk-calculation strong { display: block; margin: 5px 0; color: #fff !important; font-size: 38px; font-weight: 750; line-height: 1.1; }
.lk-calculation p { min-width: 240px; margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 22px; font-size: 15px; }
.lk-calculation p span { color: #d4e7df !important; }
.lk-calculation p b { font-size: 19px; }

.lk-consent { margin-top: 25px; padding: 15px; display: flex; align-items: flex-start; gap: 10px; color: var(--lk-muted); background: #f2f5f2; border-radius: 8px; font-size: 12px; line-height: 1.5; }
.lk-consent + .lk-consent { margin-top: 10px; }
.lk-consent input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--lk-green); }
.lk-consent a { color: var(--lk-green) !important; font-weight: 700; text-decoration: underline; }
.lk-legal-note { margin-top: 14px; padding: 17px 18px; color: #465b53; background: #fff9e8; border-left: 4px solid #c68a18; border-radius: 6px; font-size: 13px; line-height: 1.55; }
.lk-legal-note strong { display: block; margin-bottom: 3px; color: var(--lk-ink); }
.lk-legal-note p { margin: 0 !important; color: inherit !important; }
.lk-honeypot { position: absolute !important; left: -10000px !important; }
.lk-error { min-height: 20px; margin-top: 10px; color: #a62929; font-size: 13px; font-weight: 700; }

.lk-actions { margin-top: 28px; display: flex; justify-content: space-between; gap: 12px; }
.lk-actions-end { justify-content: flex-end; }
.lk-primary, .lk-secondary { min-height: 52px; padding: 0 24px; border: 1px solid var(--lk-green); border-radius: 8px; font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; }
.lk-primary { color: white; background: var(--lk-green); }
.lk-primary:hover { background: var(--lk-green-dark); }
.lk-primary:disabled { opacity: .65; cursor: wait; }
.lk-secondary { color: var(--lk-green); background: white; }

.lk-result { padding: 30px; border-radius: 14px; }
.lk-result-eligible { color: #0b563f; background: #dcecdf; }
.lk-result-review { color: #845000; background: #fff0d2; }
.lk-result-declined { color: #8e2929; background: #fde5e2; }
.lk-result-label { display: inline-block; padding: 4px 9px; border: 1px solid currentColor; border-radius: 99px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lk-result h3 { margin: 12px 0 8px; color: currentColor; font-size: 28px; }
.lk-result > p { line-height: 1.6; }
.lk-result-numbers { margin: 22px 0; padding: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: rgba(255, 255, 255, .55); border-radius: 9px; }
.lk-result-numbers span { display: flex; flex-direction: column; color: var(--lk-muted); font-size: 12px; }
.lk-result-numbers b { margin-top: 3px; color: var(--lk-ink); font-size: 20px; }
.lk-result ul { margin: 20px 0; padding: 0; list-style: none; }
.lk-result li { position: relative; margin: 9px 0; padding-left: 24px; }
.lk-result li::before { position: absolute; left: 0; font-weight: 900; }
.lk-result .lk-positive::before { content: "✓"; color: #0f6b4f; }
.lk-result .lk-warning::before { content: "!"; color: #9a6100; }
.lk-result .lk-negative::before { content: "×"; color: #a62929; }
.lk-disclaimer { margin-top: 20px !important; padding-top: 16px; border-top: 1px solid rgba(23, 50, 43, .15); font-size: 11px; }

@media (max-width: 680px) {
	.lk-app { margin: 20px 0; border-radius: 14px; }
	.lk-intro, .lk-step { padding: 28px 20px; }
	.lk-progress { padding: 14px 20px; }
	.lk-progress span { font-size: 0; }
	.lk-progress b { font-size: 13px; }
	.lk-grid, .lk-result-numbers { grid-template-columns: 1fr; }
	.lk-wide { grid-column: auto; }
	.lk-calculation { align-items: flex-start; flex-direction: column; }
	.lk-calculation p { width: 100%; min-width: 0; }
	.lk-actions { flex-direction: column-reverse; }
	.lk-actions button { width: 100%; }
}
