/**
 * jsm-home.css
 * Refactored: dedup + cleanup duplicates (v0.43.1)
 * Total rules: 170 (reduced from 193)
 *
 * Class hierarchy:
 *   .jsm-fc (wrapper)          — fixed bottom, container untuk bar + panel
 *   .jsm-fc-bar (toggle)       — selalu visible
 *   .jsm-fc-panel              — slide-up expand
 *   .jsm-fc-row*               — single product row dalam panel
 *
 * Legacy (deprecated):
 *   .jsm-floating-cart*        — sebelum v0.43, sudah tidak di-render
 */

/* v0.48.3: shell tidak constrain — nav & section bg full viewport width.
   Inner content (section-head, grid, dll) di-cap masing-masing via inner wrapper. */
.jsm-home-shell {
	max-width: none !important;
	margin: 0;
	background: var(--jsm-white);
	width: 100%;
}

.jsm-home-nav-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
}

.jsm-home-nav-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.5px;
}

.jsm-home-nav-logo {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.jsm-home-nav-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

.jsm-home-nav-btn {
	padding: 8px 16px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: opacity 0.15s;
}

.jsm-home-nav-btn-ghost {
	color: var(--jsm-white) !important;
	background: transparent;
}

.jsm-home-nav-btn-ghost:hover { background: rgba(255,255,255,0.1); color: var(--jsm-lime) !important; }

.jsm-home-nav-btn-primary {
	background: var(--jsm-lime);
	color: var(--jsm-navy) !important;
}

.jsm-home-nav-btn-primary:hover { opacity: 0.92; }

.jsm-home-hero-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(200,241,51,0.18), transparent 40%),
		radial-gradient(circle at 80% 70%, rgba(200,241,51,0.12), transparent 40%);
	pointer-events: none;
}

.jsm-home-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto;
}

.jsm-home-eyebrow {
	display: inline-block;
	background: rgba(200,241,51,0.15);
	color: var(--jsm-lime);
	padding: 6px 16px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.jsm-home-hero-title {
	font-size: 38px;
	font-weight: 900;
	color: var(--jsm-white);
	line-height: 1.1;
	letter-spacing: -1px;
	margin: 0 0 14px;
}

.jsm-home-accent {
	color: var(--jsm-lime);
}

.jsm-home-hero-tagline {
	font-size: 16px;
	color: rgba(255,255,255,0.85);
	line-height: 1.6;
	max-width: 560px;
	margin: 0 auto 26px;
}

.jsm-home-hero-cta {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 26px;
}

.jsm-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.3px;
	transition: transform 0.1s, opacity 0.15s;
	border: 2px solid transparent;
}

.jsm-home-btn:active { transform: scale(0.98); }

.jsm-home-btn-primary {
	background: var(--jsm-lime);
	color: var(--jsm-navy);
}

.jsm-home-btn-primary:hover { opacity: 0.92; }

.jsm-home-btn-outline {
	background: transparent;
	color: var(--jsm-white) !important;
	border-color: rgba(255,255,255,0.3);
}

.jsm-home-btn-outline:hover { border-color: var(--jsm-lime); color: var(--jsm-lime) !important; }

.jsm-home-btn-primary-inverse {
	background: var(--jsm-navy);
	color: var(--jsm-lime) !important;
}

.jsm-home-btn-wa-inverse {
	background: var(--jsm-wa-green);
	color: var(--jsm-white) !important;
}

.jsm-home-hero-trust {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 12px;
	color: rgba(255,255,255,0.75);
}

.jsm-home-hero-trust i { color: var(--jsm-lime); margin-right: 4px; vertical-align: -2px; }

.jsm-home-section-alt {
	background: var(--jsm-bg);
}

.jsm-home-section-head {
	text-align: center;
	max-width: 600px;
	margin: 0 auto 36px;
}

.jsm-home-section-eyebrow {
	font-size: 11px;
	font-weight: 700;
	color: var(--jsm-navy);
	opacity: 0.7;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.jsm-home-section-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--jsm-navy);
	line-height: 1.3;
	letter-spacing: -0.3px;
}

@media (max-width: 768px) {
	.jsm-home-usp-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.jsm-home-usp-grid { grid-template-columns: 1fr; }
}

.jsm-home-usp {
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 16px;
	padding: 20px;
	transition: transform 0.15s, box-shadow 0.15s;
}

.jsm-home-usp:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.08);
	border-color: var(--jsm-lime);
}

.jsm-home-usp-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin-bottom: 14px;
}

.jsm-home-usp h3 {
	font-size: 15px;
	font-weight: 800;
	color: var(--jsm-navy);
	margin: 0 0 6px;
	letter-spacing: -0.2px;
}

.jsm-home-usp p {
	font-size: 13px;
	color: var(--jsm-text-muted);
	line-height: 1.5;
	margin: 0;
}

@media (max-width: 640px) {
	.jsm-home-step-grid { grid-template-columns: 1fr; }
}

.jsm-home-step {
	background: var(--jsm-white);
	border-radius: 16px;
	padding: 32px 20px 22px;
	text-align: center;
	position: relative;
	box-shadow: 0 4px 16px rgba(0,0,0,0.05);
	border: 1px solid var(--jsm-border);
}

.jsm-home-step-num {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-weight: 900;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(200,241,51,0.35);
}

.jsm-home-step-icon {
	font-size: 32px;
	color: var(--jsm-navy);
	margin-bottom: 10px;
}

.jsm-home-step h3 {
	font-size: 15px;
	font-weight: 800;
	color: var(--jsm-navy);
	margin: 0 0 4px;
}

.jsm-home-step p {
	font-size: 12px;
	color: var(--jsm-text-muted);
	margin: 0;
}

.jsm-home-final-cta h2 {
	font-size: 28px;
	font-weight: 900;
	margin: 0 0 8px;
	letter-spacing: -0.5px;
}

.jsm-home-final-cta p {
	font-size: 14px;
	margin: 0 0 22px;
	color: rgba(31,44,114,0.85);
}

.jsm-home-final-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.jsm-home-footer-brand {
	color: var(--jsm-white);
	font-weight: 800;
	font-size: 14px;
	margin-bottom: 6px;
}

.jsm-home-footer-meta {
	margin-top: 4px;
	font-size: 11px;
}

.jsm-home-footer-meta i {
	color: var(--jsm-lime);
	vertical-align: -2px;
	margin-right: 4px;
}

@media (max-width: 540px) {
	.jsm-home-hero { padding: 44px 18px 52px; }
	.jsm-home-hero-title { font-size: 28px; }
	.jsm-home-hero-tagline { font-size: 14px; }
	.jsm-home-section { padding: 36px 16px; }
	.jsm-home-section-title { font-size: 22px; }
	.jsm-home-final-cta h2 { font-size: 22px; }
}

.jsm-home-section-desc {
	font-size: 14px;
	color: var(--jsm-text-muted);
	margin-top: 6px;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 640px) {
	.jsm-home-product-grid { grid-template-columns: repeat(2, 1fr); }
}

.jsm-home-product-card {
	background: var(--jsm-bg);
	border: 1px solid var(--jsm-border);
	border-radius: 12px;
	padding: 16px 12px;
	text-align: center;
	transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.jsm-home-product-card:hover {
	transform: translateY(-2px);
	border-color: var(--jsm-lime);
	box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.jsm-home-product-icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 10px;
	border-radius: 14px;
	background: var(--jsm-navy);
	color: var(--jsm-lime);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
}

.jsm-home-product-name {
	font-weight: 800;
	font-size: 13px;
	color: var(--jsm-navy);
}

.jsm-home-product-sub {
	font-size: 11px;
	color: var(--jsm-text-muted);
	margin-top: 2px;
}

.jsm-home-product-badge {
	margin: 22px auto 0;
	max-width: 360px;
	background: var(--jsm-navy);
	color: var(--jsm-white);
	border-radius: 999px;
	padding: 10px 18px;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 600;
}

.jsm-home-product-badge i {
	color: var(--jsm-lime);
	font-size: 18px;
}

@media (max-width: 640px) {
	.jsm-home-pain-grid { grid-template-columns: 1fr; }
}

.jsm-home-pain-card {
	background: rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 20px 14px;
	text-align: center;
	color: var(--jsm-white);
	border: 1px solid rgba(255,255,255,0.06);
}

.jsm-home-pain-card i {
	font-size: 32px;
	color: var(--jsm-lime);
	margin-bottom: 8px;
	display: block;
}

.jsm-home-pain-card h3 {
	font-size: 15px;
	font-weight: 800;
	margin: 0 0 4px;
	color: var(--jsm-white);
}

.jsm-home-pain-card p {
	font-size: 12px;
	color: rgba(255,255,255,0.7);
	margin: 0;
}

.jsm-home-pain-cta {
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--jsm-lime);
	margin-top: 24px;
}

@media (max-width: 720px) {
	.jsm-home-tier-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}

@media (max-width: 420px) {
	.jsm-home-tier-grid { grid-template-columns: repeat(2, 1fr); }
}

.jsm-home-tier-step {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 14px;
	padding: 18px 10px 14px;
	text-align: center;
	position: relative;
	transition: transform 0.15s;
}

.jsm-home-tier-step:hover { transform: translateY(-2px); }

.jsm-home-tier-popular {
	background: rgba(200,241,51,0.12);
	border-color: var(--jsm-lime);
	box-shadow: 0 8px 24px rgba(200,241,51,0.2);
	padding-top: 26px;
}

.jsm-home-tier-badge {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-size: 9px;
	font-weight: 900;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 1px;
	white-space: nowrap;
}

.jsm-home-tier-icon {
	width: 54px;
	height: 54px;
	margin: 0 auto 10px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
}

.jsm-home-tier-name {
	font-weight: 800;
	font-size: 13px;
	color: var(--jsm-white);
	letter-spacing: 0.5px;
}

.jsm-home-tier-popular .jsm-home-tier-name { color: var(--jsm-lime); }

.jsm-home-tier-min {
	font-size: 11px;
	color: rgba(255,255,255,0.65);
	margin-top: 2px;
}

@media (max-width: 760px) {
	.jsm-home-store-wrap { grid-template-columns: 1fr; }
}

.jsm-home-store-map {
	border-radius: 16px;
	overflow: hidden;
	background: var(--jsm-bg);
	border: 1px solid var(--jsm-border);
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.jsm-home-store-map iframe { display: block; }

.jsm-home-store-map-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: var(--jsm-text-muted);
}

.jsm-home-store-map-placeholder i {
	font-size: 56px;
	color: var(--jsm-lime);
}

.jsm-home-store-map-placeholder span {
	font-weight: 700;
	font-size: 14px;
	color: var(--jsm-navy);
}

.jsm-home-store-map-placeholder small { font-size: 11px; }

.jsm-home-store-info {
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.jsm-home-store-row {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.jsm-home-store-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}

.jsm-home-store-label {
	font-weight: 700;
	font-size: 12px;
	color: var(--jsm-navy);
	margin-bottom: 2px;
}

.jsm-home-store-value {
	font-size: 13px;
	color: var(--jsm-text-muted);
	line-height: 1.5;
}

.jsm-home-store-fac {
	border-top: 1px solid var(--jsm-border);
	padding-top: 14px;
}

.jsm-home-store-fac-label {
	font-weight: 700;
	font-size: 12px;
	color: var(--jsm-navy);
	margin-bottom: 8px;
}

.jsm-home-store-fac-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	font-size: 12px;
	color: var(--jsm-text);
}

.jsm-home-store-fac-grid span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.jsm-home-store-fac-grid i {
	color: var(--jsm-navy);
	opacity: 0.7;
	font-size: 14px;
}

.jsm-home-store-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.jsm-home-store-actions .jsm-home-btn {
	flex: 1;
	min-width: 0;
	padding: 11px 14px;
	font-size: 12px;
}

.jsm-home-eyebrow-pill i { font-size: 14px; }

.jsm-home-highlight {
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	padding: 0 8px;
	border-radius: 4px;
}

.jsm-home-starter-grid {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

@media (max-width: 720px) {
	.jsm-home-starter-grid { grid-template-columns: 1fr; }
}

.jsm-home-starter-card {
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 18px;
	padding: 22px 20px;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform 0.15s, box-shadow 0.15s;
}

.jsm-home-starter-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

.jsm-home-starter-featured {
	border: 2px solid var(--jsm-lime);
	box-shadow: 0 8px 24px rgba(200,241,51,0.2);
}

.jsm-home-starter-ribbon {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	padding: 5px 16px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 1px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.jsm-home-starter-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.jsm-home-starter-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--jsm-lime-soft);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.jsm-home-starter-persona {
	font-size: 10px;
	font-weight: 800;
	color: var(--jsm-text-muted);
	letter-spacing: 1px;
}

.jsm-home-starter-name {
	font-weight: 800;
	font-size: 16px;
	color: var(--jsm-navy);
	letter-spacing: -0.3px;
}

.jsm-home-starter-tagline {
	font-size: 12px;
	color: var(--jsm-text-muted);
	margin-bottom: 12px;
	line-height: 1.5;
}

.jsm-home-starter-price {
	font-weight: 900;
	font-size: 26px;
	color: var(--jsm-navy);
	letter-spacing: -0.5px;
	line-height: 1.1;
}

.jsm-home-starter-profit {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #E8F5E9;
	color: #2E7D32;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	margin: 8px 0 14px;
	width: max-content;
}

.jsm-home-starter-items {
	list-style: none;
	padding: 14px 0 0;
	margin: 0;
	border-top: 1px solid var(--jsm-border);
	flex: 1;
}

.jsm-home-starter-items li {
	font-size: 12px;
	color: var(--jsm-text);
	padding: 5px 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.jsm-home-starter-items i {
	color: var(--jsm-navy);
	font-size: 14px;
	flex-shrink: 0;
}

.jsm-home-btn-outline-dark {
	background: var(--jsm-white);
	color: var(--jsm-navy) !important;
	border: 2px solid var(--jsm-navy);
}

.jsm-home-btn-outline-dark:hover { background: var(--jsm-lime-soft); }

.jsm-home-starter-help {
	max-width: 720px;
	margin: 22px auto 0;
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 14px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.jsm-home-starter-help-icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--jsm-navy);
	color: var(--jsm-lime);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.jsm-home-starter-help-text {
	flex: 1;
	min-width: 0;
}

.jsm-home-starter-help-text strong {
	display: block;
	font-size: 13px;
	color: var(--jsm-navy);
	margin-bottom: 2px;
}

.jsm-home-starter-help-text small {
	display: block;
	font-size: 11px;
	color: var(--jsm-text-muted);
}

.jsm-home-ref-table-wrap {
	max-width: 560px;
	margin: 0 auto;
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

.jsm-home-ref-table {
	width: 100%;
	border-collapse: collapse;
}

.jsm-home-ref-table th {
	background: var(--jsm-navy);
	color: var(--jsm-white);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 18px;
	text-align: left;
}

.jsm-home-ref-table th:last-child { text-align: right; }

.jsm-home-ref-table td {
	padding: 12px 18px;
	font-size: 14px;
	color: var(--jsm-text);
	border-top: 1px solid var(--jsm-border);
}

.jsm-home-ref-table td:last-child { text-align: right; }

.jsm-home-ref-table td strong { color: var(--jsm-navy); font-size: 16px; }

.jsm-home-ref-row-top { background: var(--jsm-lime-soft); }

.jsm-home-ref-row-top td strong { color: var(--jsm-navy); }

.jsm-home-ref-note {
	max-width: 560px;
	margin: 14px auto 0;
	font-size: 12px;
	color: var(--jsm-text-muted);
	display: flex;
	align-items: flex-start;
	gap: 6px;
	padding: 0 6px;
	line-height: 1.5;
}

.jsm-home-ref-note i { color: var(--jsm-navy); flex-shrink: 0; margin-top: 1px; }

.jsm-home-testi-grid {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

@media (max-width: 820px) { .jsm-home-testi-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 540px) { .jsm-home-testi-grid { grid-template-columns: 1fr; } }

.jsm-home-testi-card {
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border);
	border-radius: 14px;
	padding: 20px;
	display: flex;
	flex-direction: column;
}

.jsm-home-testi-stars {
	display: flex;
	gap: 2px;
	color: #FFC107;
	margin-bottom: 8px;
	font-size: 16px;
}

.jsm-home-testi-stars i.ti-star { color: #DDD; }

.jsm-home-testi-quote {
	font-size: 13px;
	color: var(--jsm-text);
	line-height: 1.6;
	margin: 0 0 14px;
	flex: 1;
	font-style: italic;
}

.jsm-home-testi-author {
	display: flex;
	align-items: center;
	gap: 10px;
	border-top: 1px solid var(--jsm-border);
	padding-top: 12px;
}

.jsm-home-testi-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--jsm-navy);
	color: var(--jsm-lime);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 13px;
	flex-shrink: 0;
}

.jsm-home-testi-name {
	font-weight: 800;
	font-size: 13px;
	color: var(--jsm-navy);
}

.jsm-home-testi-meta {
	font-size: 11px;
	color: var(--jsm-text-muted);
}

.jsm-home-preview-wrap {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 40px;
	align-items: center;
}

@media (max-width: 820px) {
	.jsm-home-preview-wrap { grid-template-columns: 1fr; gap: 28px; }
	.jsm-home-preview-phone { order: -1; }
}

.jsm-home-preview-features {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.jsm-home-preview-feat {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px;
	background: var(--jsm-bg);
	border-radius: 12px;
}

.jsm-home-preview-feat-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}

.jsm-home-preview-feat strong {
	display: block;
	font-size: 14px;
	color: var(--jsm-navy);
	margin-bottom: 2px;
}

.jsm-home-preview-feat small {
	display: block;
	font-size: 12px;
	color: var(--jsm-text-muted);
}

.jsm-home-preview-phone {
	display: flex;
	justify-content: center;
}

.jsm-home-preview-phone-frame {
	width: 280px;
	background: #1a1a1a;
	border-radius: 36px;
	padding: 8px;
	box-shadow: 0 24px 48px rgba(0,0,0,0.18);
}

.jsm-home-preview-screen {
	background: var(--jsm-bg);
	border-radius: 28px;
	overflow: hidden;
	min-height: 380px;
	display: flex;
	flex-direction: column;
}

.jsm-home-preview-screen-hero {
	background: linear-gradient(160deg, var(--jsm-navy) 0%, var(--jsm-navy-dark) 100%);
	color: var(--jsm-white);
	padding: 28px 20px;
	text-align: center;
}

.jsm-home-preview-screen-avatar {
	width: 62px;
	height: 62px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--jsm-lime), #a3d12e);
	color: var(--jsm-navy);
	font-weight: 900;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid rgba(255,255,255,0.18);
}

.jsm-home-preview-screen-greeting {
	font-size: 10px;
	opacity: 0.75;
}

.jsm-home-preview-screen-name {
	font-weight: 800;
	font-size: 15px;
	color: var(--jsm-white);
}

.jsm-home-preview-screen-tier {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--jsm-white);
	color: var(--jsm-navy);
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	margin-top: 8px;
	letter-spacing: 0.5px;
}

.jsm-home-preview-screen-stats {
	background: var(--jsm-white);
	margin: 14px;
	border-radius: 14px;
	padding: 14px 12px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.jsm-home-preview-screen-stats > div {
	text-align: center;
}

.jsm-home-preview-screen-stats small {
	font-size: 9px;
	color: var(--jsm-text-muted);
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 700;
}

.jsm-home-preview-screen-stats strong {
	display: block;
	font-size: 14px;
	color: var(--jsm-navy);
	font-weight: 900;
	margin-top: 2px;
}

.jsm-home-starter-prod-list li i { color: var(--jsm-lime) !important; }

.jsm-home-btn-secondary { background: var(--jsm-navy); color: white; }

.jsm-home-btn-ghost { background: transparent; color: var(--jsm-text-muted); border: 1px solid var(--jsm-border); }

.jsm-home-btn-primary:hover,
a.jsm-home-btn-primary:hover,
button.jsm-home-btn-primary:hover {
	opacity: 0.95;
	transform: translateY(-1px);
	color: #C8F133 !important;
	background: #1F2C72 !important;
}

.jsm-home-btn-secondary,
a.jsm-home-btn-secondary {
	background: #2A3A8A !important;
	color: white !important;
}

.jsm-home-btn-ghost,
a.jsm-home-btn-ghost {
	background: transparent !important;
	color: #6B7280 !important;
	border: 1px solid #E5E7EB !important;
}

.jsm-home-btn-ghost:hover,
a.jsm-home-btn-ghost:hover {
	border-color: #1F2C72 !important;
	color: #1F2C72 !important;
	background: transparent !important;
}

.jsm-home-btn-primary:disabled,
button.jsm-home-btn-primary:disabled {
	background: #9CA3AF !important;
	color: #E5E7EB !important;
	cursor: not-allowed;
}

.jsm-app-body .jsm-home-btn-primary:disabled,
.jsm-app-body button.jsm-home-btn-primary:disabled {
	background: #9CA3AF !important;
	color: #E5E7EB !important;
}

/* ============================================================
   v0.46 — ROTATING RIBBON (auto-cycle 4s fade)
   ============================================================ */
.jsm-home-ribbon-rotating {
	position: relative;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.jsm-home-ribbon-item {
	display: inline-block;
	transition: opacity 0.35s ease, transform 0.35s ease;
	opacity: 1;
	transform: translateY(0);
}
.jsm-home-ribbon-item.is-out {
	opacity: 0;
	transform: translateY(-8px);
}
@media (prefers-reduced-motion: reduce) {
	.jsm-home-ribbon-item { transition: none; }
}

/* ============================================================
   v0.46 — HERO MICROCOPY + DISCLAIMER (anti-friction + filter)
   ============================================================ */
.jsm-home-hero-microcopy {
	font-size: 12.5px;
	color: rgba(255,255,255,0.65);
	margin-top: 10px;
	margin-bottom: 4px;
	font-weight: 500;
	letter-spacing: 0.2px;
}

.jsm-home-hero-disclaimer {
	font-size: 11.5px;
	color: rgba(255,255,255,0.5);
	margin-top: 10px;
	padding: 8px 14px;
	background: rgba(255,255,255,0.04);
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 480px;
	line-height: 1.5;
}

.jsm-home-hero-disclaimer i {
	color: var(--jsm-lime);
	font-size: 14px;
	flex-shrink: 0;
	margin-top: 1px;
}

@media (max-width: 480px) {
	.jsm-home-hero-microcopy { font-size: 11.5px; }
	.jsm-home-hero-disclaimer {
		font-size: 11px;
		padding: 7px 12px;
		margin: 12px 8px 0;
	}
}

/* ============================================================
   v0.46 — CTA OUTLINE: lebih clear sebagai secondary
   ============================================================ */
.jsm-app-body .jsm-home-btn-outline {
	background: transparent !important;
	border-color: rgba(255,255,255,0.35) !important;
	color: rgba(255,255,255,0.85) !important;
	font-weight: 700;
}
.jsm-app-body .jsm-home-btn-outline:hover {
	border-color: var(--jsm-lime) !important;
	color: var(--jsm-lime) !important;
	background: rgba(200,241,51,0.06) !important;
}

/* ============================================================
   v0.47 — UNIVERSAL POLISH (biar ga pusing, semua subtle)
   ============================================================ */

/* === SCROLL REVEAL — DISABLED di v0.48.2 ===
   Bikin content faded mid-scroll, lebih bikin pusing daripada bantu.
   Class .jsm-reveal & .jsm-in-view tetap di-apply oleh JS supaya tidak break,
   tapi CSS-nya no-op (full visible langsung). */
.jsm-reveal { opacity: 1; transform: none; transition: none; }
.jsm-reveal.jsm-in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.jsm-reveal, .jsm-reveal.jsm-in-view { opacity: 1; transform: none; }
}

/* === CARD HOVER UNIFORMITY — semua card type: lift + lime border on hover === */
.jsm-home-pain-card,
.jsm-home-product-card,
.jsm-home-starter-card,
.jsm-home-tier-step,
.jsm-home-step,
.jsm-home-preview-feat {
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.jsm-home-product-card:hover,
.jsm-home-step:hover,
.jsm-home-preview-feat:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(31,44,114,0.08);
	border-color: var(--jsm-lime);
}
.jsm-home-pain-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(0,0,0,0.18);
}
.jsm-home-starter-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(31,44,114,0.10);
}

/* === SECTION DIVIDER — soft curve antara bg color transitions === */
.jsm-home-section-pain,
.jsm-home-section-dark,
.jsm-home-section-referral {
	position: relative;
}
.jsm-home-section-pain::after,
.jsm-home-section-dark::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 24px;
	background: linear-gradient(to bottom right, transparent 49%, var(--jsm-white) 50%);
	pointer-events: none;
}

/* === PRICE HIGHLIGHT (paket starter) — lime soft bg pill behind price === */
.jsm-home-starter-price {
	display: inline-block;
	padding: 2px 10px 2px 0;
	background: linear-gradient(90deg, rgba(200,241,51,0.22) 0%, rgba(200,241,51,0.05) 100%);
	border-left: 3px solid var(--jsm-lime);
	padding-left: 10px;
	border-radius: 6px;
	font-weight: 900 !important;
}

/* === TRUST BADGE — bold the number 2.000+ === */
.jsm-home-hero-trust span strong,
.jsm-home-hero-trust span b { color: var(--jsm-lime); font-weight: 900; }

/* === TIER POPULAR ELEVATION — Gold tier glow + scale === */
.jsm-home-tier-step.jsm-home-tier-popular {
	transform: scale(1.05);
	box-shadow: 0 0 0 2px var(--jsm-lime), 0 14px 36px rgba(200,241,51,0.18);
	z-index: 2;
}
.jsm-home-tier-step.jsm-home-tier-popular:hover {
	transform: scale(1.07) translateY(-2px);
}

/* === REFERRAL TABLE — komisi % progressive accent (top→navy, bottom→lime) === */
.jsm-home-ref-table tbody tr td:last-child {
	font-weight: 800;
	font-size: 16px;
	color: var(--jsm-navy);
}
.jsm-home-ref-table tbody tr:nth-child(1) td:last-child { color: rgba(31,44,114,0.65); }
.jsm-home-ref-table tbody tr:nth-child(2) td:last-child { color: rgba(31,44,114,0.78); }
.jsm-home-ref-table tbody tr:nth-child(3) td:last-child { color: rgba(31,44,114,0.9); font-size: 17px; }
.jsm-home-ref-table tbody tr:nth-child(4) td:last-child { color: var(--jsm-navy); font-size: 17px; }
.jsm-home-ref-table tbody tr:nth-child(5) td:last-child { color: #1e8a2e; font-size: 18px; }
.jsm-home-ref-table tbody tr:nth-child(6) td:last-child {
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-size: 19px;
	font-weight: 900;
}
.jsm-home-ref-table tbody tr {
	transition: background 0.15s;
}
.jsm-home-ref-table tbody tr:hover {
	background: rgba(200,241,51,0.06);
}

/* === PHONE PREVIEW — subtle float loop (3 detik) === */
.jsm-home-preview-phone {
	animation: jsmPhoneFloat 3.5s ease-in-out infinite;
}
@keyframes jsmPhoneFloat {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
	.jsm-home-preview-phone { animation: none !important; }
}

/* Phone stats — bold lime accent saat in-view */
.jsm-home-preview-screen-stats > div > div:last-child {
	color: var(--jsm-lime) !important;
	font-weight: 900 !important;
}

/* === 3-STEP CONNECTING LINE === */
.jsm-home-step-grid {
	position: relative;
}
@media (min-width: 768px) {
	.jsm-home-step-grid::before {
		content: '';
		position: absolute;
		top: 60px;
		left: 16%;
		right: 16%;
		height: 2px;
		background: repeating-linear-gradient(to right, var(--jsm-lime) 0 8px, transparent 8px 16px);
		opacity: 0.5;
		z-index: 0;
	}
	.jsm-home-step { position: relative; z-index: 1; background: var(--jsm-white); }
}

/* Step number bubble — make all 3 visible (currently only #2 was lime) */
.jsm-home-step-num {
	background: var(--jsm-lime) !important;
	color: var(--jsm-navy) !important;
	font-weight: 900;
	box-shadow: 0 0 0 4px rgba(200,241,51,0.18);
}

/* === FINAL CTA pre-text echo (v0.48.2: fix text wrap) === */
.jsm-home-final-precta {
	display: inline-block;
	padding: 8px 18px;
	background: rgba(200,241,51,0.14);
	color: var(--jsm-lime);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 16px;
	border: 1px solid rgba(200,241,51,0.25);
	max-width: 540px;
	line-height: 1.5;
	text-align: center;
}
.jsm-home-final-precta i {
	font-size: 14px;
	vertical-align: -2px;
	margin-right: 4px;
}
.jsm-home-final-precta strong { color: #ffffff; font-weight: 900; white-space: nowrap; }
@media (max-width: 420px) {
	.jsm-home-final-precta { font-size: 12px; padding: 7px 14px; }
}

/* === STICKY MOBILE CTA — fixed bottom, mobile only === */
.jsm-home-sticky-cta {
	position: fixed;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%) translateY(140%);
	background: var(--jsm-lime);
	color: var(--jsm-navy) !important;
	padding: 13px 22px;
	border-radius: 999px;
	font-weight: 900;
	font-size: 14.5px;
	box-shadow: 0 8px 28px rgba(31,44,114,0.28), 0 0 0 4px rgba(200,241,51,0.20);
	z-index: 90;
	display: none; /* hidden on desktop */
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: transform 0.3s ease-out, opacity 0.25s;
	opacity: 0;
	pointer-events: none;
}
.jsm-home-sticky-cta.is-visible {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
	pointer-events: auto;
}
.jsm-home-sticky-cta:active {
	transform: translateX(-50%) translateY(0) scale(0.96);
}
@media (max-width: 720px) {
	.jsm-home-sticky-cta { display: inline-flex; }
}

/* === MAP HOVER OVERLAY (sec 8) === */
.jsm-home-store-map {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
}
.jsm-home-store-map::after {
	content: '📍 Klik untuk buka di Google Maps';
	position: absolute;
	inset: 0;
	background: rgba(31,44,114,0.0);
	color: rgba(255,255,255,0);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 16px;
	font-weight: 800;
	font-size: 13.5px;
	transition: background 0.25s, color 0.25s;
	pointer-events: none;
}
.jsm-home-store-map:hover::after {
	background: linear-gradient(to top, rgba(31,44,114,0.65), transparent 50%);
	color: var(--jsm-lime);
}

/* === v0.47.2 — PRODUCT CARD CLICKABLE (link to katalog) === */
a.jsm-home-product-card-link {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
a.jsm-home-product-card-link::after {
	content: '→';
	position: absolute;
	right: 10px;
	top: 10px;
	font-size: 14px;
	color: var(--jsm-lime);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 0.18s, transform 0.18s;
	font-weight: 900;
}
a.jsm-home-product-card-link:hover::after {
	opacity: 1;
	transform: translateX(0);
}
a.jsm-home-product-card-link:hover {
	border-color: var(--jsm-lime);
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(31,44,114,0.10);
}
a.jsm-home-product-card-link:hover .jsm-home-product-icon {
	transform: scale(1.08);
	transition: transform 0.18s;
}
a.jsm-home-product-card-link:hover .jsm-home-product-sub {
	color: var(--jsm-navy);
	font-weight: 700;
}
.jsm-home-product-actions {
	display: flex;
	justify-content: center;
	margin-top: 22px;
}

/* === v0.47.3 — USP TOP FLAG + 4-col grid + reordered USP === */
.jsm-home-usp-grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}
.jsm-home-usp-top {
	position: relative;
	border: 2px solid var(--jsm-lime) !important;
	background: linear-gradient(180deg, rgba(200,241,51,0.06) 0%, var(--jsm-white) 100%) !important;
}
.jsm-home-usp-flag {
	position: absolute;
	top: -10px;
	left: 12px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.8px;
	padding: 4px 10px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(200,241,51,0.45);
}

/* === v0.47.4 — TIER benefit hint per card (v0.48.1: smaller text + tighter chip) === */
.jsm-home-tier-benefit {
	margin-top: 10px;
	padding: 5px 10px;
	background: rgba(200,241,51,0.14);
	color: var(--jsm-lime);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1px;
	line-height: 1.25;
	display: inline-block;
	white-space: normal;
	max-width: 92%;
	text-align: center;
}
.jsm-home-tier-popular .jsm-home-tier-benefit {
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-weight: 800;
	box-shadow: 0 2px 6px rgba(200,241,51,0.35);
}
.jsm-home-tier-step {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-bottom: 16px;
}
.jsm-home-tier-note {
	text-align: center;
	color: rgba(255,255,255,0.7);
	font-size: 12.5px;
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.jsm-home-tier-note i { color: var(--jsm-lime); }

/* === v0.47.5 — STARTER WA secondary link === */
.jsm-home-starter-wa-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 10px;
	font-size: 12px;
	color: var(--jsm-text-muted, #6B7280) !important;
	text-decoration: none;
	font-weight: 600;
	width: 100%;
	justify-content: center;
}
.jsm-home-starter-wa-link:hover {
	color: #25D366 !important;
	text-decoration: underline;
}
.jsm-home-starter-wa-link i { font-size: 14px; color: #25D366; }

/* === v0.47.6 — REFERRAL CALC EXAMPLE box === */
.jsm-home-ref-calc {
	background: linear-gradient(135deg, rgba(200,241,51,0.10), rgba(255,255,255,0.6));
	border: 1px dashed rgba(31,44,114,0.18);
	border-radius: 14px;
	padding: 16px 18px;
	margin-top: 22px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.jsm-home-ref-calc-label {
	font-size: 12px;
	font-weight: 800;
	color: var(--jsm-navy);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.jsm-home-ref-calc-label i { color: var(--jsm-lime-dark, #8aaa1f); }
.jsm-home-ref-calc-rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.jsm-home-ref-calc-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: var(--jsm-navy);
	line-height: 1.5;
}
.jsm-home-ref-calc-arrow {
	color: var(--jsm-lime-dark, #8aaa1f);
	font-weight: 900;
	font-size: 16px;
}
.jsm-home-ref-calc-output strong { color: var(--jsm-lime-dark, #5e7a14); }
.jsm-home-ref-calc-total {
	border-top: 2px solid rgba(31,44,114,0.12);
	padding-top: 10px;
	margin-top: 4px;
	font-size: 14.5px;
	font-weight: 700;
}
.jsm-home-ref-calc-total .jsm-home-ref-calc-output strong {
	color: var(--jsm-navy);
	background: var(--jsm-lime);
	padding: 2px 8px;
	border-radius: 6px;
}
@media (max-width: 480px) {
	.jsm-home-ref-calc-row { flex-direction: column; align-items: flex-start; gap: 4px; }
	.jsm-home-ref-calc-arrow { display: none; }
	.jsm-home-ref-calc-output { padding-left: 14px; }
}

/* === v0.47.7 — 3-STEP CTA action button === */
.jsm-home-step-cta {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

/* === v0.47.8 — FOOTER legal + structured layout === */
.jsm-home-footer {
	background: var(--jsm-navy);
	color: rgba(255,255,255,0.85);
	padding: 36px 24px 24px;
	text-align: left;
}
.jsm-home-footer-top {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
	max-width: 1100px;
	margin: 0 auto 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(255,255,255,0.10);
}
.jsm-home-footer-brand-wrap { flex: 1; min-width: 220px; }
.jsm-home-footer-brand {
	font-size: 22px;
	font-weight: 900;
	color: var(--jsm-lime);
	letter-spacing: -0.5px;
	margin-bottom: 6px;
}
.jsm-home-footer-tagline {
	font-size: 13px;
	color: rgba(255,255,255,0.65);
	line-height: 1.55;
	max-width: 380px;
}
.jsm-home-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13px;
	min-width: 240px;
}
.jsm-home-footer-contact a,
.jsm-home-footer-contact span {
	color: rgba(255,255,255,0.85) !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: color 0.15s;
}
.jsm-home-footer-contact a:hover { color: var(--jsm-lime) !important; }
.jsm-home-footer-contact i { color: var(--jsm-lime); font-size: 15px; }
.jsm-home-footer-links {
	max-width: 1100px;
	margin: 0 auto 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
	font-size: 12.5px;
}
.jsm-home-footer-links a {
	color: rgba(255,255,255,0.75) !important;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.15s;
}
.jsm-home-footer-links a:hover { color: var(--jsm-lime) !important; }
.jsm-home-footer-links .sep { color: rgba(255,255,255,0.3); }
.jsm-home-footer-legal {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	font-size: 11.5px;
	color: rgba(255,255,255,0.45);
	padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.06);
}
@media (max-width: 600px) {
	.jsm-home-footer-top { flex-direction: column; gap: 18px; }
	.jsm-home-footer-contact { min-width: auto; }
}

/* ============================================================
   v0.48.1 — POLISH PASS: spacing consistency + visual coherence
   ============================================================ */

/* Universal section padding tighter & konsisten — bukan oversized */
.jsm-home-section {
	padding: 56px 20px !important;
}
@media (max-width: 480px) {
	.jsm-home-section { padding: 44px 16px !important; }
}

/* Eyebrow: kasih breathing room + lebih punchy */
.jsm-home-section-eyebrow {
	display: inline-block;
	padding: 4px 0;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase;
	color: var(--jsm-navy);
	opacity: 0.7;
	margin-bottom: 8px;
}
.jsm-home-section-eyebrow.jsm-eyebrow-light {
	color: var(--jsm-lime) !important;
	opacity: 1 !important;
}

/* Section title spacing — tighter to eyebrow */
.jsm-home-section-title {
	margin-top: 4px !important;
	margin-bottom: 12px !important;
}

/* Section desc — max-width readability + line-height */
.jsm-home-section-desc {
	max-width: 580px;
	margin: 0 auto !important;
	line-height: 1.55 !important;
	color: var(--jsm-text-muted, #6B7280);
}
.jsm-home-section-desc.jsm-desc-light {
	color: rgba(255,255,255,0.75) !important;
}

/* Section head bottom margin — beri ruang ke konten */
.jsm-home-section-head {
	margin-bottom: 32px !important;
}

/* Product grid: konsisten gap + responsive */
.jsm-home-product-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
	gap: 14px;
	max-width: 920px;
	margin: 0 auto;
}
@media (max-width: 480px) {
	.jsm-home-product-grid { grid-template-columns: 1fr 1fr !important; gap: 10px; }
}
.jsm-home-product-card {
	background: var(--jsm-white);
	border: 1px solid var(--jsm-border, #E5E7EB);
	border-radius: 14px;
	padding: 18px 12px 14px;
	text-align: center;
	transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.jsm-home-product-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(31,44,114,0.08);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin: 0 auto 12px;
	transition: background 0.18s, color 0.18s, transform 0.18s;
}
a.jsm-home-product-card-link:hover .jsm-home-product-icon {
	background: var(--jsm-lime) !important;
	color: var(--jsm-navy) !important;
}
.jsm-home-product-name {
	font-size: 14px;
	font-weight: 800;
	color: var(--jsm-navy);
	margin-bottom: 4px;
	line-height: 1.3;
}
.jsm-home-product-sub {
	font-size: 11.5px;
	color: var(--jsm-text-muted, #6B7280);
	font-weight: 600;
}

/* Product badge bottom */
.jsm-home-product-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 24px auto 0;
	padding: 10px 18px;
	background: var(--jsm-navy);
	color: var(--jsm-lime);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	max-width: max-content;
	box-shadow: 0 6px 18px rgba(31,44,114,0.15);
}
.jsm-home-product-badge i { font-size: 16px; }

/* Pain cards grid */
.jsm-home-pain-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	max-width: 900px;
	margin: 0 auto;
}
.jsm-home-pain-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 22px 18px;
	text-align: center;
	color: var(--jsm-white);
}
.jsm-home-pain-card i {
	font-size: 28px;
	color: var(--jsm-lime);
	margin-bottom: 10px;
	display: inline-block;
	padding: 8px;
	background: rgba(200,241,51,0.12);
	border-radius: 50%;
	width: 48px;
	height: 48px;
	line-height: 32px;
}
.jsm-home-pain-card h3 {
	font-size: 16px;
	color: var(--jsm-white);
	font-weight: 800;
	margin-bottom: 4px;
}
.jsm-home-pain-card p {
	font-size: 13px;
	color: rgba(255,255,255,0.7);
	margin: 0;
}
.jsm-home-pain-cta {
	text-align: center;
	margin-top: 24px;
	color: var(--jsm-lime);
	font-weight: 700;
	font-size: 14px;
}

/* Tier grid: harus 4 column at desktop, 2 col mobile */
.jsm-home-tier-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	max-width: 880px;
	margin: 0 auto;
}
@media (max-width: 480px) {
	.jsm-home-tier-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}
.jsm-home-tier-step {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 20px 12px 18px !important;
	position: relative;
}
.jsm-home-tier-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin: 0 auto 10px;
}
.jsm-home-tier-name {
	font-size: 16px;
	font-weight: 800;
	color: var(--jsm-white);
	margin-bottom: 2px;
}
.jsm-home-tier-min {
	font-size: 12px;
	color: rgba(255,255,255,0.65);
	margin-bottom: 4px;
}
.jsm-home-tier-badge {
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.5px;
	padding: 3px 9px;
	border-radius: 999px;
	white-space: nowrap;
}

/* Final CTA section spacing */
.jsm-home-final-cta {
	padding: 50px 20px !important;
	text-align: center;
	background: var(--jsm-navy);
	color: var(--jsm-white);
}
.jsm-home-final-cta h2 {
	color: var(--jsm-white);
	font-size: 28px;
	margin-bottom: 8px;
	font-weight: 800;
}
.jsm-home-final-cta > p {
	color: rgba(255,255,255,0.75);
	margin-bottom: 20px;
	font-size: 14.5px;
}
.jsm-home-final-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Eyebrow pill (starter section) cleaner */
.jsm-home-eyebrow-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--jsm-navy);
	color: var(--jsm-lime);
	padding: 7px 16px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	margin-bottom: 14px;
}
.jsm-home-eyebrow-pill i { font-size: 14px; }

/* Diagonal divider — softer angle (was 49% → 49.5%) supaya tidak terlalu tajam */
.jsm-home-section-pain::after,
.jsm-home-section-dark::after {
	background: linear-gradient(to bottom right, transparent 49.5%, var(--jsm-white) 50.5%) !important;
}

/* Price highlight starter — cleaner border + spacing */
.jsm-home-starter-price {
	display: inline-block !important;
	padding: 4px 14px !important;
	background: linear-gradient(90deg, rgba(200,241,51,0.32) 0%, rgba(200,241,51,0.08) 100%) !important;
	border-radius: 8px !important;
	font-weight: 900 !important;
	color: var(--jsm-navy) !important;
	margin: 6px 0 !important;
	font-size: 28px !important;
	letter-spacing: -0.5px;
}

/* Sticky CTA — kasih jarak dari footer */
.jsm-home-sticky-cta {
	bottom: 16px !important;
}
@media (max-width: 720px) {
	body { padding-bottom: 70px; } /* sticky CTA tidak overlap konten terakhir */
}

/* ============================================================
   v0.48.4 — STRICT ZEBRA + section CTAs
   ============================================================ */

/* Section CTA — universal: container untuk button setelah section content */
.jsm-home-section-cta {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

/* Section dark (navy) — base */
.jsm-home-section-dark {
	background: var(--jsm-navy, #1F2C72) !important;
	color: var(--jsm-white);
}
.jsm-home-section-dark .jsm-home-section-title,
.jsm-home-section-dark h2,
.jsm-home-section-dark h3 {
	color: var(--jsm-white) !important;
}
.jsm-home-section-dark .jsm-home-section-desc,
.jsm-home-section-dark p {
	color: rgba(255,255,255,0.75) !important;
}

/* USP cards on DARK bg */
.jsm-home-section-dark .jsm-home-usp {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.12);
	color: var(--jsm-white);
}
.jsm-home-section-dark .jsm-home-usp h3 {
	color: var(--jsm-white) !important;
}
.jsm-home-section-dark .jsm-home-usp p {
	color: rgba(255,255,255,0.7) !important;
}
.jsm-home-section-dark .jsm-home-usp:hover {
	background: rgba(255,255,255,0.08);
	border-color: var(--jsm-lime);
	transform: translateY(-2px);
}
/* USP TOP on DARK bg — lime border stronger */
.jsm-home-section-dark .jsm-home-usp-top {
	background: rgba(200,241,51,0.08) !important;
	border: 2px solid var(--jsm-lime) !important;
}

/* Store/Pickup section on DARK bg */
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-row {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
}
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-label {
	color: rgba(255,255,255,0.6) !important;
}
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-value {
	color: var(--jsm-white) !important;
}
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-fac-label {
	color: rgba(255,255,255,0.8) !important;
}
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-fac-grid span {
	color: rgba(255,255,255,0.85) !important;
}
.jsm-home-section-dark.jsm-home-section-store .jsm-home-store-fac-grid span i {
	color: var(--jsm-lime);
}

/* Eyebrow di dark — pakai lime */
.jsm-home-section-dark .jsm-home-section-eyebrow:not(.jsm-eyebrow-light) {
	color: var(--jsm-lime) !important;
	opacity: 1 !important;
}

/* Section white (default) — explicit untuk consistency */
.jsm-home-section:not(.jsm-home-section-dark) {
	background: var(--jsm-white);
}

/* Hapus .jsm-home-section-alt grey bg karena 3-step sekarang plain white */
.jsm-home-section-alt {
	background: var(--jsm-white) !important;
}

/* ============================================================
   v0.48.5 — COMPREHENSIVE CSS for batch of fixes
   ============================================================ */

/* === PRODUCTS: strict 3-col grid + last "Lihat Semua" card === */
.jsm-home-product-grid-3col {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 14px !important;
	max-width: 920px !important;
	margin: 0 auto !important;
}
@media (max-width: 600px) {
	.jsm-home-product-grid-3col {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
.jsm-home-product-card-all {
	background: var(--jsm-navy) !important;
	color: var(--jsm-white) !important;
	border-color: var(--jsm-navy) !important;
}
.jsm-home-product-card-all .jsm-home-product-name {
	color: var(--jsm-lime) !important;
}
.jsm-home-product-card-all .jsm-home-product-sub {
	color: rgba(255,255,255,0.75) !important;
	font-weight: 700;
}
.jsm-home-product-icon-all {
	background: var(--jsm-lime) !important;
	color: var(--jsm-navy) !important;
}
a.jsm-home-product-card-all:hover {
	background: #2e3a85 !important;
	border-color: var(--jsm-lime) !important;
	transform: translateY(-3px);
}
a.jsm-home-product-card-all:hover .jsm-home-product-icon-all {
	transform: scale(1.08);
}
.jsm-home-product-card-span {
	grid-column: 1 / -1; /* span full row kalau total cards bukan kelipatan 3 */
}
.jsm-home-product-card-span .jsm-home-product-icon-all {
	display: inline-flex !important;
	margin: 0 12px 0 0 !important;
	vertical-align: middle;
}
.jsm-home-product-card-span {
	text-align: center;
	padding: 22px 18px !important;
}
@media (min-width: 601px) {
	.jsm-home-product-card-span {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 14px;
	}
	.jsm-home-product-card-span .jsm-home-product-icon-all {
		margin: 0 !important;
	}
	.jsm-home-product-card-span .jsm-home-product-name,
	.jsm-home-product-card-span .jsm-home-product-sub {
		margin: 0;
	}
}

/* === PAIN: solution chip per card === */
.jsm-home-pain-solution {
	margin-top: 12px;
	padding: 8px 12px;
	background: rgba(200,241,51,0.14);
	border: 1px solid rgba(200,241,51,0.3);
	border-radius: 8px;
	font-size: 11.5px;
	color: var(--jsm-lime);
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	line-height: 1.4;
	max-width: 100%;
	text-align: left;
}
.jsm-home-pain-solution i {
	font-size: 14px;
	flex-shrink: 0;
}

/* === TIER: cumulative benefits list === */
.jsm-home-tier-benefits-list {
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.jsm-home-tier-benefits-list li {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 11px;
	color: rgba(255,255,255,0.78);
	line-height: 1.4;
}
.jsm-home-tier-benefits-list li i {
	color: var(--jsm-lime);
	font-size: 12px;
	flex-shrink: 0;
	margin-top: 1px;
}
.jsm-home-tier-popular .jsm-home-tier-benefits-list li { color: var(--jsm-white); }
.jsm-home-tier-popular .jsm-home-tier-benefits-list li i { color: var(--jsm-lime); }

/* === REFERRAL: interactive calculator with slider === */
.jsm-home-ref-calc-interactive {
	background: linear-gradient(135deg, var(--jsm-navy) 0%, #2a3a8a 100%);
	color: var(--jsm-white);
	border-radius: 18px;
	padding: 26px 24px;
	margin-top: 26px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	box-shadow: 0 12px 32px rgba(31,44,114,0.18);
}
.jsm-home-ref-calc-interactive .jsm-home-ref-calc-label {
	color: var(--jsm-lime) !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	margin-bottom: 20px !important;
}
.jsm-home-ref-calc-interactive .jsm-home-ref-calc-label i {
	color: var(--jsm-lime) !important;
}
.jsm-home-ref-calc-controls {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-bottom: 24px;
}
.jsm-home-ref-calc-slider-row label {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
	gap: 12px;
}
.jsm-home-ref-calc-slider-label {
	font-size: 13px;
	color: rgba(255,255,255,0.75);
	font-weight: 600;
}
.jsm-home-ref-calc-slider-value {
	font-size: 16px;
	font-weight: 900;
	color: var(--jsm-lime);
	font-variant-numeric: tabular-nums;
}
.jsm-home-ref-calc-slider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 6px;
	background: rgba(255,255,255,0.15);
	border-radius: 999px;
	outline: none;
}
.jsm-home-ref-calc-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	background: var(--jsm-lime);
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(200,241,51,0.4);
	transition: transform 0.15s;
}
.jsm-home-ref-calc-slider::-webkit-slider-thumb:hover {
	transform: scale(1.15);
}
.jsm-home-ref-calc-slider::-moz-range-thumb {
	width: 22px;
	height: 22px;
	background: var(--jsm-lime);
	border-radius: 50%;
	cursor: pointer;
	border: none;
	box-shadow: 0 4px 12px rgba(200,241,51,0.4);
}
.jsm-home-ref-calc-result {
	background: rgba(200,241,51,0.10);
	border: 1px solid rgba(200,241,51,0.25);
	border-radius: 12px;
	padding: 18px 20px;
	text-align: center;
}
.jsm-home-ref-calc-result-label {
	font-size: 12px;
	color: rgba(255,255,255,0.7);
	font-weight: 600;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}
.jsm-home-ref-calc-result-amount {
	font-size: 36px;
	font-weight: 900;
	color: var(--jsm-lime);
	line-height: 1.1;
	margin-bottom: 8px;
	letter-spacing: -1px;
	font-variant-numeric: tabular-nums;
}
.jsm-home-ref-calc-result-breakdown {
	font-size: 12px;
	color: rgba(255,255,255,0.75);
	line-height: 1.5;
}

/* === USP: grid handling odd/even — auto-balance === */
.jsm-home-usp-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 14px;
	max-width: 1000px;
	margin: 0 auto;
}
/* 4 items = 2 rows of 2 OR 1 row of 4 depending on viewport */
.jsm-home-usp-grid-4 {
	grid-template-columns: repeat(2, 1fr) !important;
	max-width: 720px !important;
}
@media (min-width: 900px) {
	.jsm-home-usp-grid-4 {
		grid-template-columns: repeat(4, 1fr) !important;
		max-width: 1100px !important;
	}
}

/* === DASHBOARD: hover sync highlight === */
.jsm-home-preview-feat {
	cursor: pointer;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.jsm-home-preview-feat.jsm-feat-active {
	background: rgba(200,241,51,0.12) !important;
	border-color: var(--jsm-lime) !important;
	transform: translateX(4px);
	box-shadow: 0 8px 20px rgba(200,241,51,0.18);
}
.jsm-sync-highlight {
	box-shadow: 0 0 0 3px var(--jsm-lime), 0 0 24px rgba(200,241,51,0.55);
	border-radius: 14px;
	transition: box-shadow 0.25s;
	position: relative;
	z-index: 5;
}

/* === PICKUP: map fullwidth (no border) + right card colors === */
.jsm-home-section-store .jsm-home-store-map {
	border-radius: 18px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.18);
	background: var(--jsm-navy);
	min-height: 380px;
	position: relative;
	line-height: 0; /* hilangkan whitespace bawah iframe */
}
.jsm-home-section-store .jsm-home-store-map iframe {
	display: block;
	width: 100% !important;
	height: 380px !important;
	min-height: 380px !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: top;
}
@media (max-width: 600px) {
	.jsm-home-section-store .jsm-home-store-map,
	.jsm-home-section-store .jsm-home-store-map iframe {
		min-height: 280px !important;
		height: 280px !important;
	}
}
.jsm-home-section-store .jsm-home-store-info {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 18px;
	padding: 22px 20px;
}
.jsm-home-section-store .jsm-home-store-row {
	background: transparent !important;
	border: none !important;
	padding: 8px 0 !important;
	margin-bottom: 8px;
}
.jsm-home-section-store .jsm-home-store-row + .jsm-home-store-row {
	border-top: 1px solid rgba(255,255,255,0.08) !important;
	padding-top: 14px !important;
	margin-top: 8px;
}
.jsm-home-section-store .jsm-home-store-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--jsm-lime);
	color: var(--jsm-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}
.jsm-home-section-store .jsm-home-store-label {
	font-size: 11px;
	color: rgba(255,255,255,0.5) !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	margin-bottom: 2px;
}
.jsm-home-section-store .jsm-home-store-value {
	color: var(--jsm-white) !important;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.45;
}
.jsm-home-section-store .jsm-home-store-fac {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,0.08);
}
.jsm-home-section-store .jsm-home-store-fac-label {
	font-size: 13px;
	color: var(--jsm-white);
	font-weight: 700;
	margin-bottom: 10px;
}
.jsm-home-section-store .jsm-home-store-fac-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px 12px;
}
.jsm-home-section-store .jsm-home-store-fac-grid span {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
}
.jsm-home-section-store .jsm-home-store-fac-grid span i {
	color: var(--jsm-lime);
	font-size: 14px;
}
.jsm-home-section-store .jsm-home-store-actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	flex-wrap: wrap;
}
.jsm-home-section-store .jsm-home-store-actions .jsm-home-btn {
	flex: 1;
	min-width: 140px;
	justify-content: center;
}
.jsm-home-section-store .jsm-home-store-wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.jsm-home-section-store .jsm-home-store-wrap {
		grid-template-columns: 1.3fr 1fr;
	}
}

/* === STARTER section on WHITE bg (current default) — make pill cleaner === */
/* No special change needed for starter; keep current */

/* === 3-step on white bg (no alt grey anymore) === */
.jsm-home-section-3step {
	background: var(--jsm-white) !important;
}

/* === v0.48.6 — REFERRAL: flex container side-by-side (table + calc), note wraps below === */
.jsm-home-ref-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 1100px;
	margin: 0 auto;
	align-items: stretch;
	justify-content: center;
}
.jsm-home-ref-flex .jsm-home-ref-table-wrap {
	flex: 1 1 100%;
	order: 1;
	margin: 0;
}
.jsm-home-ref-flex .jsm-home-ref-calc-interactive {
	flex: 1 1 100%;
	order: 2;
	margin: 0 !important;
	max-width: none !important;
}
.jsm-home-ref-flex .jsm-home-ref-note {
	flex: 1 1 100%;
	order: 3;
	margin: 0 !important;
}
@media (min-width: 900px) {
	.jsm-home-ref-flex .jsm-home-ref-table-wrap {
		flex: 1 1 calc(50% - 10px);
		max-width: calc(50% - 10px);
	}
	.jsm-home-ref-flex .jsm-home-ref-calc-interactive {
		flex: 1 1 calc(50% - 10px);
		max-width: calc(50% - 10px) !important;
	}
	.jsm-home-ref-flex .jsm-home-ref-note {
		flex: 1 1 100%;
		order: 3;
		text-align: center;
	}
}

/* === ZEBRA cleanup: subtle visual divider antara 2 white sections berturut === */
.jsm-home-section + .jsm-home-section:not(.jsm-home-section-dark):not(:first-of-type) {
	border-top: 1px solid rgba(31,44,114,0.06);
}

/* === STARTER section (kept white) — kasih bg gradient halus untuk distinct dari 3-step (white) === */
.jsm-home-section-starter {
	background: linear-gradient(180deg, var(--jsm-white) 0%, #f7f9fc 100%) !important;
}

/* === Hero CTA buttons — extra contrast on outline === */
.jsm-home-hero-cta {
	margin-top: 14px;
}

/* === Section title — consistent sizing === */
.jsm-home-section-title {
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
}
@media (min-width: 768px) {
	.jsm-home-section-title { font-size: 32px; }
}

/* === Final CTA polishing === */
.jsm-home-final-cta {
	padding: 56px 20px 64px !important;
}

/* === SCROLL PROGRESS BAR (thin lime top) === */
.jsm-scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	background: var(--jsm-lime);
	width: 0;
	z-index: 100;
	transition: width 0.08s linear;
	pointer-events: none;
	box-shadow: 0 0 8px rgba(200,241,51,0.5);
}

