/* ── Buttons ──────────────────────────────────────────── */

.btn-signal {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 20px;
	background: var(--rf-signal);
	color: #001a10;
	font-family: var(--rf-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background 120ms;
}

.btn-signal:hover { background: #33e398; color: #001a10; }

.btn-signal-lg {
	font-size: 12px;
	padding: 13px 36px;
	letter-spacing: 0.12em;
}

/* ── Hero ─────────────────────────────────────────────── */

.lp-hero {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 48px 56px;
}

.lp-hero-frame {
	position: relative;
	max-width: 1100px;
	width: 100%;
	padding: 44px 56px;
	border: 1px solid var(--rf-border);
}

.lp-hero-body {
	display: flex;
	align-items: center;
	gap: 72px;
}

.lp-hero-left  { flex: 1; }

.lp-hero-right {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
}

.crosshair {
	position: absolute;
	width: 14px;
	height: 14px;
}
.crosshair.tl { top: -1px; left: -1px;   border-top:    1px solid var(--rf-signal); border-left:  1px solid var(--rf-signal); }
.crosshair.tr { top: -1px; right: -1px;  border-top:    1px solid var(--rf-signal); border-right: 1px solid var(--rf-signal); }
.crosshair.bl { bottom: -1px; left: -1px;  border-bottom: 1px solid var(--rf-signal); border-left:  1px solid var(--rf-signal); }
.crosshair.br { bottom: -1px; right: -1px; border-bottom: 1px solid var(--rf-signal); border-right: 1px solid var(--rf-signal); }

.lp-overline {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--rf-mono);
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rf-signal);
	margin-bottom: 32px;
}

.lp-overline::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background: var(--rf-signal);
	flex-shrink: 0;
}

.lp-headline {
	font-size: clamp(44px, 7vw, 76px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: var(--rf-text);
	margin-bottom: 20px;
}

.lp-headline em {
	font-style: normal;
	color: var(--rf-signal);
}

.lp-subtext {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.65;
	color: var(--rf-text-dim);
	max-width: 480px;
}

/* rate strip */
.lp-rate-strip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.lp-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--rf-signal);
	box-shadow: 0 0 8px var(--rf-signal);
	flex-shrink: 0;
}

.lp-rate-tags {
	display: inline-flex;
	border: 1px solid var(--rf-border-strong);
	background: var(--rf-border-strong);
	gap: 1px;
}

.lp-rate-tag {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 6px 14px;
	background: var(--rf-panel);
	font-family: var(--rf-mono);
	line-height: 1;
}

.lp-rate-tag-label {
	font-size: 8px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rf-text-mute);
}

.lp-rate-tag-value {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--rf-signal);
}

.lp-rate-tag-value.ipca { color: var(--rf-warn); }

.lp-cta-row {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.lp-login-link, button.lp-login-link {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.lp-login-link {
	font-family: var(--rf-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rf-text-mute);
	text-decoration: none;
	transition: color 120ms;
}

.lp-login-link:hover { color: var(--rf-text-dim); }

/* ── Section label ────────────────────────────────────── */

.lp-section-label {
	font-family: var(--rf-mono);
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rf-text-mute);
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 40px;
}

.lp-section-label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--rf-border);
}

/* ── Preview table ───────────────────────────────────── */

.lp-preview {
	padding: 0 48px 80px;
	max-width: 1160px;
	margin: 0 auto;
}

.lp-preview-wrap {
	position: relative;
	border: 1px solid var(--rf-border);
}

.lp-preview-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--rf-mono);
	font-size: 11px;
}

.lp-preview-table thead tr { border-bottom: 1px solid var(--rf-border); }

.lp-preview-table th {
	padding: 10px 16px;
	text-align: left;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rf-text-mute);
	font-weight: 400;
	white-space: nowrap;
}

.lp-preview-table td {
	padding: 13px 16px;
	border-top: 1px solid var(--rf-border);
	color: var(--rf-text-dim);
	white-space: nowrap;
}

.lp-preview-table tbody tr:first-child td { border-top: none; }
.lp-preview-table tbody tr:nth-child(odd) td { background: rgba(255,255,255,0.012); }
.lp-preview-table td.td-name  { color: var(--rf-text); }
.lp-preview-table td.td-net   { color: var(--rf-signal); font-weight: 500; }
.lp-preview-table td.td-real  { color: var(--rf-warn);   font-weight: 500; }
.lp-preview-table img         { height: 15px; width: auto; }

.lp-badge {
	display: inline-block;
	padding: 2px 8px;
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid;
}

.lp-badge-yes { color: var(--rf-signal); border-color: rgba(0,217,126,0.30); background: rgba(0,217,126,0.07); }
.lp-badge-no  { color: var(--rf-text-mute); border-color: var(--rf-border); background: transparent; }

.lp-preview-fade {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 80px;
	background: linear-gradient(to bottom, transparent, var(--rf-bg));
	pointer-events: none;
}

.lp-preview-cta {
	margin-top: 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--rf-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rf-text-mute);
}

/* ── Features ─────────────────────────────────────────── */

.lp-features {
	padding: 80px 48px;
	max-width: 1160px;
	margin: 0 auto;
}

.lp-feature-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	background: var(--rf-border);
	gap: 1px;
}

/* Top row: 3 cards × 2 cols; bottom row: 2 cards × 3 cols */
.lp-feature:nth-child(-n+3) { grid-column: span 2; }
.lp-feature:nth-child(n+4)  { grid-column: span 3; }

.lp-feature {
	background: var(--rf-bg);
	padding: 36px 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lp-feature-num   { font-family: var(--rf-mono); font-size: 9px; letter-spacing: 0.14em; color: var(--rf-signal); opacity: 0.5; }
.lp-feature-icon  { font-size: 20px; color: var(--rf-signal); line-height: 1; }
.lp-feature-title { font-family: var(--rf-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rf-text); }
.lp-feature-body  { font-size: 13px; font-weight: 300; line-height: 1.7; color: var(--rf-text-dim); }

/* ── API section ─────────────────────────────────────── */

.lp-api {
	padding: 0 48px 80px;
	max-width: 1160px;
	margin: 0 auto;
}

.lp-api-headline {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--rf-text);
	margin-bottom: 12px;
}

.lp-api-sub {
	font-size: 14px;
	font-weight: 300;
	color: var(--rf-text-dim);
	max-width: 560px;
	line-height: 1.65;
	margin-bottom: 32px;
}

.lp-json-viewer {
	border: 1px solid var(--rf-border);
	background: var(--rf-panel);
	padding: 20px 24px;
	font-family: var(--rf-mono);
	font-size: 12px;
	line-height: 1.9;
}

.lp-json-line,
.lp-json-item  { color: var(--rf-text-dim); }

.lp-json-section { margin: 2px 0; }
.lp-json-item    { padding-left: 20px; }
.lp-json-fields  { padding-left: 40px; }
.lp-json-field   { color: var(--rf-text-dim); }

.lp-jv-key   { color: var(--rf-text); }
.lp-jv-str   { color: var(--rf-signal); }
.lp-jv-num   { color: #7ec8e3; }
.lp-jv-bool  { color: var(--rf-warn); }
.lp-jv-null  { color: var(--rf-text-mute); }
.lp-jv-meta  { color: var(--rf-text-mute); font-size: 10px; letter-spacing: 0.06em; }
.lp-jv-index { color: var(--rf-text-mute); }

.lp-jv-arrow       { color: var(--rf-text-mute); font-size: 9px; user-select: none; }
.lp-jv-arrow-right { color: var(--rf-border-strong); }

.lp-jv-preview              { color: var(--rf-text-mute); }
.lp-jv-preview .lp-jv-key  { color: var(--rf-text-dim); }
.lp-jv-preview .lp-jv-str,
.lp-jv-preview .lp-jv-num  { color: var(--rf-text-mute); }

/* ── Pricing ─────────────────────────────────────────── */

.lp-pricing {
	padding: 0 48px 40px;
	max-width: 1160px;
	margin: 0 auto;
}

/* ── CTA section ──────────────────────────────────────── */

.lp-cta-section {
	padding: 56px 48px 100px;
	text-align: center;
}

.lp-cta-section .lp-section-label { justify-content: center; max-width: 220px; margin: 0 auto 52px; }
.lp-cta-section .lp-section-label::after { display: none; }

.lp-cta-headline {
	font-size: clamp(28px, 4vw, 50px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--rf-text);
	margin-bottom: 16px;
}

.lp-cta-sub {
	font-size: 15px;
	font-weight: 300;
	color: var(--rf-text-dim);
	margin-bottom: 44px;
}

/* ── Responsive ───────────────────────────────────────── */

@media (max-width: 1100px) {
	.lp-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-feature:nth-child(-n+3),
	.lp-feature:nth-child(n+4) { grid-column: span 1; }
}

@media (max-width: 900px) {
	.lp-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-hero-frame { padding: 40px 32px; }
	.lp-hero-body { flex-direction: column; gap: 36px; align-items: flex-start; }
	.lp-hero, .lp-features, .lp-cta-section, .lp-preview, .lp-pricing { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 520px) {
	.lp-feature-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	/* Preview table: keep only Nome and Ganho Real a.a. */
	.lp-preview-table th:nth-child(n+2):nth-child(-n+8),
	.lp-preview-table td:nth-child(n+2):nth-child(-n+8) {
		display: none;
	}
}
