/* ============================================================
   RocketX Component System
   Section · Badge · Card · Counter · Testimonials
   ============================================================ */

/* ---------- Section ---------- */
.rx-section {
	padding: clamp(4rem, 9vw, 8rem) clamp(1.5rem, 4vw, 4rem);
	position: relative;
}

.rx-section__inner {
	max-width: 1320px;
	margin: 0 auto;
}

.rx-section--dark {
	background: var(--rx-navy);
	color: #fff;
}

.rx-section--alt {
	background: var(--rx-navy-700);
	color: #fff;
}

.rx-section--light {
	background: var(--rx-bg-alt);
}

.rx-section__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.rx-section__headline {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0.5rem 0 1rem;
}

.rx-section__sub {
	font-size: var(--rx-fs-md);
	opacity: 0.7;
	max-width: 560px;
	margin: 0 auto;
	line-height: 1.6;
}

/* ---------- Badge / Eyebrow ---------- */
.rx-badge {
	display: inline-block;
	width: max-content;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 0.45rem 1rem;
	border-radius: var(--rx-r-pill);
}

.rx-badge--orange {
	color: var(--rx-orange-300);
	border: 1px solid rgba(220, 79, 44, 0.35);
	background: rgba(220, 79, 44, 0.08);
}

.rx-badge--subtle {
	color: rgba(255, 255, 255, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.05);
}

/* ---------- 3D Tilt Card ---------- */
.rx-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: var(--rx-s-3);
	align-items: stretch; /* cards in a row share the tallest height — no jagged bottoms */
}

.rx-card-3d-wrap {
	perspective: 900px;
}

.rx-card-3d {
	position: relative;
	height: 100%;        /* fill the stretched grid cell so sibling cards match height */
	box-sizing: border-box;
	border-radius: var(--rx-r-lg);
	padding: var(--rx-s-4);
	will-change: transform;
	cursor: default;
	transform-origin: center center;
	/* Self-contained premium glass surface — works with or without .rx-glass */
	background:
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.09) 0%,
			rgba(255, 255, 255, 0.035) 46%,
			rgba(255, 255, 255, 0.015) 100%
		);
	border: 1px solid rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(20px) saturate(155%);
	-webkit-backdrop-filter: blur(20px) saturate(155%);
	/* Resting elevation: top-edge specular + ambient drop + tight contact */
	box-shadow:
		inset 0 1px 0 0 rgba(255, 255, 255, 0.14),
		0 18px 40px -22px rgba(0, 0, 0, 0.55),
		0 4px 12px -8px rgba(0, 0, 0, 0.40);
	transition:
		box-shadow var(--rx-dur-base) var(--rx-ease-out),
		border-color var(--rx-dur-base) var(--rx-ease-out);
}

.rx-card-3d:hover {
	border-color: rgba(240, 133, 102, 0.38);
	box-shadow:
		inset 0 1px 0 0 rgba(255, 255, 255, 0.22),
		0 30px 60px -24px rgba(0, 0, 0, 0.60),
		0 0 38px -8px rgba(220, 79, 44, 0.35);
}

/* Depth layers — children with data-depth="1|2|3" float above the card */
.rx-card-3d [data-depth] {
	will-change: transform;
	display: block;
}

.rx-card-3d__icon {
	width: 52px;
	height: 52px;
	border-radius: var(--rx-r-md);
	display: grid;
	place-items: center;
	margin-bottom: var(--rx-s-3);
	background: linear-gradient(150deg, rgba(240, 133, 102, 0.28), rgba(220, 79, 44, 0.10));
	border: 1px solid rgba(240, 133, 102, 0.30);
	box-shadow:
		inset 0 1px 0 0 rgba(255, 255, 255, 0.18),
		0 6px 18px -8px rgba(220, 79, 44, 0.45);
	color: var(--rx-orange-300);
	font-size: 1.5rem;
}

.rx-card-3d__icon .rx-icon-svg {
	width: 26px;
	height: 26px;
}

.rx-card-3d__title {
	font-size: var(--rx-fs-lg);
	font-weight: 600;
	margin: 0 0 0.75rem;
	letter-spacing: -0.01em;
}

.rx-card-3d__body {
	font-size: var(--rx-fs-sm);
	line-height: 1.65;
	opacity: 0.72;
}

.rx-card-3d__body a {
	color: var(--rx-orange);
	text-decoration: none;
}

.rx-card-3d__body a:hover,
.rx-card-3d__body a:focus-visible {
	color: var(--rx-orange-600);
	text-decoration: underline;
}

/* Shine overlay */
.rx-card-3d::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(
		520px circle at var(--rx-mouse-x, 50%) var(--rx-mouse-y, 0%),
		rgba(255, 255, 255, 0.10),
		transparent 45%
	);
	pointer-events: none;
	transition: opacity var(--rx-dur-base) var(--rx-ease-out);
	opacity: 0.35;
}

.rx-card-3d:hover::after {
	opacity: 1;
}

/* ---------- Counter Section ---------- */
.rx-counters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--rx-s-2);
}

.rx-counter-item {
	padding: var(--rx-s-4) var(--rx-s-3);
	text-align: center;
	border-radius: var(--rx-r-lg);
}

.rx-counter {
	/* inline-block (not block): the gradient below is painted onto this
	   element's own box, then clipped to the text shape. A block box
	   stretches to the parent's full width regardless of how long the text
	   is — so a longer value (e.g. "1:1000") can render wider than that
	   fixed box, and the overflowing glyphs sit outside the painted
	   gradient, i.e. render invisible (transparent), not visibly clipped.
	   inline-block sizes to the text's actual rendered width instead, so
	   the gradient always exactly covers it, however long the value is. */
	display: inline-block;
	/* Lowered from a 4rem ceiling: at 64px bold, the longest value on the
	   site ("1:1000") is wider than a 4-up stat column has room for, so it
	   would still overflow into the next card even sized correctly. 3rem
	   comfortably fits every current stat without shrinking the others
	   enough to look inconsistent. */
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	color: #fff;
	background: linear-gradient(135deg, #fff 30%, var(--rx-orange-300) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rx-counter-label {
	display: block;
	margin-top: 0.6rem;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}

/* ---------- Testimonial Slider ---------- */
.rx-testimonials {
	position: relative;
	/* break out of any theme max-width container */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.rx-testimonials__track-wrap {
	overflow: hidden;
	border-radius: var(--rx-r-xl);
}

.rx-testimonials__track {
	display: flex;
	gap: var(--rx-s-3);
	overflow-x: scroll;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	cursor: grab;
	user-select: none;
}

.rx-testimonials__track::-webkit-scrollbar { display: none; }
.rx-testimonials__track.is-dragging { cursor: grabbing; scroll-behavior: auto; }

.rx-testimonial-card {
	flex: 0 0 clamp(300px, 38vw, 460px);
	scroll-snap-align: start;
	padding: var(--rx-s-4);
	border-radius: var(--rx-r-lg);
	display: flex;
	flex-direction: column;
	gap: var(--rx-s-3);
	cursor: pointer;
	opacity: 0.45;
	transform: scale(0.94);
	transition:
		opacity     var(--rx-dur-base, 0.45s) var(--rx-ease-out, ease-out),
		transform   var(--rx-dur-base, 0.45s) var(--rx-ease-out, ease-out),
		filter      var(--rx-dur-base, 0.45s) var(--rx-ease-out, ease-out),
		box-shadow  var(--rx-dur-base, 0.45s) var(--rx-ease-out, ease-out);
	filter: saturate(0.7);
}

.rx-testimonial-card.is-active {
	opacity: 1;
	transform: scale(1);
	filter: saturate(1);
}

/* Hover affordances — non-active cards lift slightly on pointer hover */
.rx-testimonial-card:not(.is-active):hover {
	opacity: 0.78;
	transform: scale(0.97) translateY(-3px);
	filter: saturate(0.95);
}

.rx-testimonial-card.is-active:hover {
	transform: scale(1) translateY(-3px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
}

.rx-testimonials__track.is-dragging .rx-testimonial-card {
	cursor: grabbing;
}

/* Entrance animation: pure CSS, triggered by JS adding .is-revealed.
   Skipped under reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
	.rx-testimonials[data-entrance]:not([data-entrance="none"]) .rx-testimonial-card,
	.rx-testimonials[data-entrance]:not([data-entrance="none"]) .rx-section__header {
		opacity: 0;
		transition:
			opacity   var(--rx-entrance-duration, 0.8s) cubic-bezier(0.22, 1, 0.36, 1),
			transform var(--rx-entrance-duration, 0.8s) cubic-bezier(0.22, 1, 0.36, 1);
		will-change: opacity, transform;
	}

	/* Per-type initial transforms */
	.rx-testimonials[data-entrance="fade-up"] .rx-testimonial-card,
	.rx-testimonials[data-entrance="fade-up"] .rx-section__header {
		transform: translateY(50px);
	}
	.rx-testimonials[data-entrance="fade-down"] .rx-testimonial-card,
	.rx-testimonials[data-entrance="fade-down"] .rx-section__header {
		transform: translateY(-50px);
	}
	.rx-testimonials[data-entrance="slide-right"] .rx-testimonial-card,
	.rx-testimonials[data-entrance="slide-right"] .rx-section__header {
		transform: translateX(-80px);
	}
	.rx-testimonials[data-entrance="slide-left"] .rx-testimonial-card,
	.rx-testimonials[data-entrance="slide-left"] .rx-section__header {
		transform: translateX(80px);
	}
	.rx-testimonials[data-entrance="scale"] .rx-testimonial-card,
	.rx-testimonials[data-entrance="scale"] .rx-section__header {
		transform: scale(0.85);
	}

	/* Revealed state — JS adds .is-revealed when section enters viewport */
	.rx-testimonials.is-revealed[data-entrance]:not([data-entrance="none"]) .rx-testimonial-card,
	.rx-testimonials.is-revealed[data-entrance]:not([data-entrance="none"]) .rx-section__header {
		opacity: 1;
		transform: none;
	}

	/* The dimmed-card baseline for non-active testimonials needs to override
	   the entrance transform once revealed, so we restore it explicitly. */
	.rx-testimonials.is-revealed .rx-testimonial-card:not(.is-active) {
		transform: scale(0.94);
	}
	.rx-testimonials.is-revealed .rx-testimonial-card.is-active {
		transform: scale(1);
	}
	.rx-testimonials.is-revealed .rx-testimonial-card:not(.is-active):hover {
		transform: scale(0.97) translateY(-3px);
	}
	.rx-testimonials.is-revealed .rx-testimonial-card.is-active:hover {
		transform: scale(1) translateY(-3px);
	}
}

.rx-testimonial-card__stars {
	color: var(--rx-orange);
	font-size: 1rem;
	letter-spacing: 0.1em;
}

.rx-testimonial-card__quote {
	font-size: var(--rx-fs-md);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
	flex: 1;
	font-style: italic;
}

.rx-testimonial-card__author {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-top: auto;
}

.rx-testimonial-card__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	background: var(--rx-navy-500);
	display: grid;
	place-items: center;
	font-size: 1.1rem;
	color: rgba(255, 255, 255, 0.5);
	overflow: hidden;
}

.rx-testimonial-card__name {
	font-weight: 600;
	font-size: var(--rx-fs-sm);
	color: #fff;
}

.rx-testimonial-card__role {
	font-size: var(--rx-fs-xs);
	color: rgba(255, 255, 255, 0.45);
	margin-top: 2px;
}

/* Nav controls */
.rx-slider-controls {
	display: flex;
	align-items: center;
	gap: var(--rx-s-2);
	margin-top: var(--rx-s-3);
	justify-content: center;
}

/* Hard reset — beats .elementor-kit-6 button (normal decl) via !important on specific rules below */
.rx-slider-btn,
.rx-slider-btn:focus,
.rx-slider-btn:hover,
.rx-slider-btn:active,
.rx-slider-dot,
.rx-slider-dot:focus,
.rx-slider-dot:hover,
.rx-slider-dot:active {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	font-family: inherit;
}

.rx-slider-btn {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	background: rgba(255, 255, 255, 0.05) !important;
	color: #fff !important;
	display: grid !important;
	place-items: center !important;
	padding: 0 !important;
	transition: background var(--rx-dur-fast), border-color var(--rx-dur-fast), transform var(--rx-dur-fast) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
}

.rx-slider-btn:hover {
	background: var(--rx-orange) !important;
	border-color: var(--rx-orange) !important;
	transform: scale(1.05) !important;
}

.rx-slider-btn:focus-visible {
	outline: 2px solid var(--rx-orange) !important;
	outline-offset: 3px !important;
}

.rx-slider-dots {
	display: flex;
	gap: 6px;
	align-items: center;
	padding: 0 var(--rx-s-1);
}

.rx-slider-dot {
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.25) !important;
	border: none !important;
	padding: 0 !important;
	transition: background var(--rx-dur-fast), width var(--rx-dur-fast), border-radius var(--rx-dur-fast) !important;
}

.rx-slider-dot.is-active {
	background: var(--rx-orange) !important;
	width: 22px !important;
	border-radius: 3px !important;
}

/* ---------- Google Reviews attribution ---------- */
.rx-google-attribution {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 2rem;
	opacity: 0.45;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.7);
}

.rx-google-attribution svg {
	display: block;
	flex-shrink: 0;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.rx-card-3d,
	.rx-card-3d [data-depth] {
		transition: none !important;
	}

	.rx-testimonials__track {
		scroll-behavior: auto;
	}
}

/* ============================================================
   Compliance bar
   ============================================================ */
.rx-compliance-bar {
	width: 100%;
	background: #0d1240;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 0.5rem clamp(1rem, 3vw, 2rem);
	text-align: center;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.52);
	line-height: 1.5;
	z-index: 9999;
	position: relative;
}

.rx-compliance-bar strong,
.rx-compliance-bar b {
	color: rgba(255, 255, 255, 0.7);
	font-weight: 600;
}

/* ============================================================
   Page-level dark background (page 2168)
   ============================================================ */
body.page-id-2168 {
	background: var(--rx-ink);
	color: #fff;
}

/* ============================================================
   Key Highlights — split layout
   ============================================================ */
.rx-highlights-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
	padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 4vw, 4rem);
	max-width: 1320px;
	margin: 0 auto;
}

@media (max-width: 900px) {
	.rx-highlights-split {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

.rx-highlights__copy {
	display: flex;
	flex-direction: column;
	gap: var(--rx-s-3);
}

.rx-highlights__eyebrow {
	display: inline-block;
	width: max-content;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #7BA8FF;
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(123, 168, 255, 0.25);
	border-radius: var(--rx-r-pill);
	background: rgba(123, 168, 255, 0.07);
}

.rx-highlights__headline {
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #fff;
	margin: 0;
}

.rx-highlights__body {
	font-size: var(--rx-fs-md);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.62);
	margin: 0;
}

/* Counter stack — right column */
.rx-highlights__counters {
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: var(--rx-r-xl);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.rx-highlights__counter-item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.5rem);
	background: rgba(10, 13, 26, 0.7);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: background var(--rx-dur-fast);
}

.rx-highlights__counter-item:hover {
	background: rgba(255, 255, 255, 0.03);
}

.rx-highlights__counter-item + .rx-highlights__counter-item {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.rx-highlights__counter-num {
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: #fff;
}

.rx-highlights__counter-num .rx-counter { display: inline; }

.rx-highlights__counter-label {
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #7BA8FF;
}

/* ============================================================
   Account type cards
   ============================================================ */
.rx-accounts-section {
	padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 4vw, 4rem);
	max-width: 1320px;
	margin: 0 auto;
}

.rx-accounts-section__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.rx-accounts-section__eyebrow {
	display: inline-block;
	width: max-content;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--rx-orange-300, #FF8C5A);
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(220, 79, 44, 0.3);
	border-radius: var(--rx-r-pill);
	background: rgba(220, 79, 44, 0.07);
	margin-bottom: 1rem;
}

.rx-accounts-section__headline {
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #fff;
	margin: 0 0 0.75rem;
}

.rx-accounts-section__sub {
	font-size: var(--rx-fs-md);
	color: rgba(255, 255, 255, 0.55);
	max-width: 540px;
	margin: 0 auto;
	line-height: 1.6;
}

.rx-accounts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

@media (max-width: 900px) {
	.rx-accounts-grid {
		grid-template-columns: 1fr;
		max-width: 480px;
		margin: 0 auto;
	}
}

.rx-account-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: clamp(1.75rem, 3vw, 2.25rem);
	border-radius: var(--rx-r-xl);
	background: rgba(13, 18, 64, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	overflow: hidden;
	transition: transform var(--rx-dur-fast) var(--rx-ease-out),
	            border-color var(--rx-dur-fast);
}

.rx-account-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 255, 255, 0.14);
}

/* Featured card */
.rx-account-card--featured {
	background: linear-gradient(145deg, rgba(107, 33, 255, 0.55) 0%, rgba(58, 76, 245, 0.45) 100%);
	border-color: rgba(107, 33, 255, 0.5);
	transform: translateY(-6px);
	box-shadow: 0 20px 60px rgba(107, 33, 255, 0.3);
}

.rx-account-card--featured:hover {
	transform: translateY(-10px);
	box-shadow: 0 28px 70px rgba(107, 33, 255, 0.4);
}

/* Featured badge */
.rx-account-card--featured::before {
	content: "Most Popular";
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--rx-r-pill);
	padding: 0.3rem 0.75rem;
}

.rx-account-card__title {
	font-size: var(--rx-fs-lg);
	font-weight: 700;
	color: #fff;
	margin: 0;
}

.rx-account-card__specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rx-account-card__spec-item {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.rx-account-card__spec-label {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.38);
}

.rx-account-card__spec-value {
	font-size: var(--rx-fs-md);
	font-weight: 600;
	color: #fff;
}

.rx-account-card--featured .rx-account-card__spec-label {
	color: rgba(255, 255, 255, 0.5);
}

.rx-account-card__cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--rx-fs-sm);
	font-weight: 600;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding-top: 1.25rem;
	transition: color var(--rx-dur-fast), gap var(--rx-dur-fast);
}

.rx-account-card__cta:hover {
	color: #fff;
	gap: 0.8rem;
}

.rx-account-card--featured .rx-account-card__cta {
	border-top-color: rgba(255, 255, 255, 0.15);
	color: rgba(255, 255, 255, 0.85);
}

/* Section heading used for the market ticker area */
.rx-ticker-heading {
	text-align: center;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 4rem) 0;
	max-width: 1320px;
	margin: 0 auto;
}

.rx-ticker-heading__eyebrow {
	display: inline-block;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--rx-orange-300, #FF8C5A);
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(220, 79, 44, 0.3);
	border-radius: var(--rx-r-pill);
	background: rgba(220, 79, 44, 0.07);
	margin-bottom: 0.75rem;
}

.rx-ticker-heading__headline {
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0 0 0.5rem;
}

.rx-ticker-heading__sub {
	font-size: var(--rx-fs-md);
	color: rgba(255, 255, 255, 0.5);
	margin: 0;
}

/* ============================================================
   Account Types — Two-step selector  (v3)
   ============================================================ */

/* Hard reset — strip Elementor Kit button styles so our specific
   class rules (.rx-acct-ccy-btn, .rx-acct-type-tab) can apply cleanly.
   Strategy: all:unset removes everything; the specific class rules below
   use !important to beat .elementor-kit-6 button (normal declaration).
   We do NOT use !important here because our reset has the same specificity
   as the kit rule — that would make the reset override our own class rules. */
.rx-acct-section button,
.rx-acct-section button:focus,
.rx-acct-section button:hover,
.rx-acct-section button:active {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	font-family: inherit;
}

/* ── Outer wrapper ───────────────────────────────────────────── */
.rx-acct-section {
	padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 4vw, 4rem);
	max-width: 1320px;
	margin: 0 auto;
}

/* ── Section header ──────────────────────────────────────────── */
.rx-acct-section__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.rx-acct-section__eyebrow {
	display: inline-block;
	font-size: var(--rx-fs-xs);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--rx-orange-300);
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(220, 79, 44, 0.3);
	border-radius: var(--rx-r-pill);
	background: rgba(220, 79, 44, 0.07);
	margin-bottom: 0.75rem;
}

.rx-acct-section__headline {
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0.5rem 0;
}

.rx-acct-section__sub {
	font-size: var(--rx-fs-md);
	color: rgba(255, 255, 255, 0.5);
	margin: 0;
}

/* ── Step labels ─────────────────────────────────────────────── */
.rx-acct-step {
	margin-bottom: 1.5rem;
}

.rx-acct-step__label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.35);
	margin-bottom: 0.85rem;
}

.rx-acct-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.65rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.5);
	flex-shrink: 0;
}

/* ── Step 1: Currency cards ──────────────────────────────────── */
.rx-acct-ccy-row {
	display: flex;
	gap: 0.75rem;
}

.rx-acct-ccy-btn {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.85rem !important;
	padding: 1rem 1.25rem !important;
	border-radius: var(--rx-r-lg) !important;
	border: 1px solid rgba(255, 255, 255, 0.09) !important;
	background: rgba(255, 255, 255, 0.03) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	color: rgba(255, 255, 255, 0.55) !important;
	transition: border-color var(--rx-dur-fast), background var(--rx-dur-fast), color var(--rx-dur-fast) !important;
}

.rx-acct-ccy-btn:hover {
	border-color: rgba(255, 255, 255, 0.2) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #fff !important;
}

.rx-acct-ccy-btn.is-active {
	border-color: rgba(220, 79, 44, 0.5) !important;
	background: rgba(220, 79, 44, 0.08) !important;
	color: #fff !important;
	box-shadow: 0 0 0 1px rgba(220, 79, 44, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.rx-acct-ccy-btn__symbol {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: var(--rx-orange-300);
	width: 2rem;
	text-align: center;
	flex-shrink: 0;
}

.rx-acct-ccy-btn.is-active .rx-acct-ccy-btn__symbol {
	color: var(--rx-orange);
}

.rx-acct-ccy-btn__info {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.rx-acct-ccy-btn__code {
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.rx-acct-ccy-btn__name {
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.38);
	line-height: 1;
}

.rx-acct-ccy-btn.is-active .rx-acct-ccy-btn__name {
	color: rgba(255, 255, 255, 0.55);
}

/* ── Step 2: Account type tabs ───────────────────────────────── */
.rx-acct-type-tabs {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	gap: 0;
	margin-bottom: 2rem;
}

.rx-acct-type-tabs::-webkit-scrollbar { display: none; }

.rx-acct-type-tab {
	flex-shrink: 0 !important;
	display: inline-block !important;
	padding: 0.7rem 1.1rem !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: rgba(255, 255, 255, 0.38) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	white-space: nowrap !important;
	margin-bottom: -1px !important;
	transition: color 0.18s, border-color 0.18s !important;
}

.rx-acct-type-tab:hover {
	color: rgba(255, 255, 255, 0.75) !important;
}

.rx-acct-type-tab.is-active {
	color: #fff !important;
	border-bottom-color: var(--rx-orange) !important;
}

.rx-acct-type-tab__badge {
	display: inline-block;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: var(--rx-orange);
	color: #fff;
	padding: 0.15rem 0.4rem;
	border-radius: var(--rx-r-pill);
	margin-left: 0.35rem;
	vertical-align: middle;
}

/* ── Card panels ─────────────────────────────────────────────── */
.rx-acct-panels { position: relative; margin-top: 0; }

.rx-acct-card {
	display: none;
	width: 100%;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border-radius: var(--rx-r-xl);
	position: relative;
	/* Stronger fill + blur than the base .rx-glass utility: this panel often
	   sits over a recurring background live-float card, and the default
	   glass was translucent enough that the card behind showed through with
	   a hard edge right at the panel boundary — reading as a rendering
	   glitch rather than intentional glass. A denser, more opaque frost
	   reads as a solid panel regardless of what's behind it. */
	background: rgba(13, 19, 38, 0.62) !important;
	backdrop-filter: blur(32px) saturate(150%) !important;
	-webkit-backdrop-filter: blur(32px) saturate(150%) !important;
}

.rx-acct-card.is-active {
	display: block;
	animation: rx-acct-fadein 0.2s ease-out both;
}

@keyframes rx-acct-fadein {
	from { opacity: 0; transform: translateY(5px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Featured highlight */
.rx-acct-card--featured {
	border-color: rgba(220, 79, 44, 0.22) !important;
	box-shadow:
		0 0 0 1px rgba(220, 79, 44, 0.18),
		0 32px 64px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

.rx-acct-card--featured::after {
	content: 'Most Popular';
	position: absolute;
	top: 0; right: 2rem;
	transform: translateY(-50%);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: linear-gradient(135deg, var(--rx-orange), var(--rx-orange-600));
	color: #fff;
	padding: 0.25rem 0.85rem;
	border-radius: var(--rx-r-pill);
	box-shadow: 0 4px 12px rgba(220, 79, 44, 0.4);
}

.rx-acct-card__badge { display: none; }

/* Card top row: title + CTA */
.rx-acct-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.rx-acct-card__title {
	font-size: clamp(1.6rem, 2.8vw, 2.2rem);
	font-weight: 700;
	font-style: normal !important;
	color: #fff;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0 0 0.25rem;
}

.rx-acct-card__acct-name {
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
}

.rx-acct-card__note {
	display: inline-block;
	margin-top: 0.55rem;
	font-size: 0.7rem;
	color: var(--rx-orange-300);
	padding: 0.25rem 0.65rem;
	border-radius: var(--rx-r-pill);
	background: rgba(220, 79, 44, 0.09);
	border: 1px solid rgba(220, 79, 44, 0.18);
}

/* Spec grid: 5 columns */
.rx-acct-card__specs-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.rx-acct-spec {
	padding: 1.1rem 1.2rem;
	border-right: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.rx-acct-spec:nth-child(5n)        { border-right: none; }
.rx-acct-spec:nth-last-child(-n+5) { border-bottom: none; }

.rx-acct-spec__label {
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.35);
	margin-bottom: 0.4rem;
}

.rx-acct-spec__value {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

/* CTA */
.rx-acct-card__cta {
	display: inline-flex !important;
	align-items: center;
	gap: 0.4rem;
	padding: 0.6rem 1.15rem !important;
	border-radius: var(--rx-r-pill) !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	background: linear-gradient(135deg, var(--rx-orange), var(--rx-orange-600)) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(220, 79, 44, 0.24);
	transition: transform 0.15s, box-shadow 0.15s;
	border: none !important;
}

.rx-acct-card__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 28px rgba(220, 79, 44, 0.45);
	color: #fff !important;
}

/* Highlights placeholder */
.rx-highlights__placeholder {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 700;
	color: rgba(255, 255, 255, 0.2);
	letter-spacing: -0.02em;
}

/* Qualitative highlight (a word instead of a number, e.g. "FAST", "TIGHTEST") */
/* Matches the look & feel of the "270+" counter, set in all caps. */
.rx-highlights__word {
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.03em;
	line-height: 1;
	text-transform: uppercase;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
	.rx-acct-card__specs-grid { grid-template-columns: repeat(3, 1fr); }
	.rx-acct-spec:nth-child(5n)        { border-right: 1px solid rgba(255,255,255,0.06); }
	.rx-acct-spec:nth-last-child(-n+5) { border-bottom: 1px solid rgba(255,255,255,0.06); }
	.rx-acct-spec:nth-child(3n)        { border-right: none; }
	.rx-acct-spec:nth-last-child(-n+3) { border-bottom: none; }
}

@media (max-width: 640px) {
	.rx-acct-ccy-row { flex-direction: column; }
	.rx-acct-ccy-btn { flex: none; width: 100%; }
	.rx-acct-card__specs-grid { grid-template-columns: repeat(2, 1fr); }
	.rx-acct-spec:nth-child(3n)        { border-right: 1px solid rgba(255,255,255,0.06); }
	.rx-acct-spec:nth-last-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,0.06); }
	.rx-acct-spec:nth-child(2n)        { border-right: none; }
	.rx-acct-spec:nth-last-child(-n+2) { border-bottom: none; }
	.rx-acct-card__top { flex-direction: column; gap: 1rem; }
}

/* ============================================================
   Dark-page overrides — scoped to page 2168
   ============================================================ */

/* ── Testimonials: lift the section off the near-identical page background ── */
body.page-id-2168 .rx-testimonials.rx-section--dark {
	background: var(--rx-navy-500); /* #1F2747 — visibly lighter than --rx-ink */
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Slider disabled-button affordance ── */
.rx-slider-btn:disabled {
	opacity: 0.28 !important;
	cursor: default !important;
	pointer-events: none !important;
}

/* ── Header — glassmorphism dark bar on page 2168 ── */
/* Target the main header bar container (elementor-element-9442afd = the white bar) */
body.page-id-2168 .elementor-element.elementor-element-9442afd:not(.elementor-motion-effects-element-type-background),
body.page-id-2168 .elementor-element.elementor-element-9442afd > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: rgba(7, 10, 24, 0.88) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Nav link colors */
body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--main .elementor-item {
	color: rgba(255, 255, 255, 0.82) !important;
	fill:  rgba(255, 255, 255, 0.82) !important;
}

body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--main .elementor-item:hover,
body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--main .elementor-item:focus {
	color: #fff !important;
	fill:  #fff !important;
}

body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--rx-orange-300) !important;
}

/* Dropdown menu */
body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--dropdown,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 .elementor-nav-menu--dropdown {
	background-color: rgba(9, 13, 30, 0.96) !important;
	border: 1px solid rgba(255, 255, 255, 0.09) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--dropdown a,
body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-menu-toggle,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 .elementor-nav-menu--dropdown a,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 .elementor-menu-toggle {
	color: rgba(255, 255, 255, 0.82) !important;
	fill:  rgba(255, 255, 255, 0.82) !important;
}

body.page-id-2168 .elementor-element.elementor-element-b0af598 .elementor-nav-menu--dropdown a:hover,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 .elementor-nav-menu--dropdown a:hover {
	background-color: rgba(255, 255, 255, 0.06) !important;
	color: #fff !important;
}

/* Sign-up button on dark header */
body.page-id-2168 .newSignUpBtn {
	background-color: rgba(255, 255, 255, 0.06) !important;
	border-color: rgba(255, 255, 255, 0.22) !important;
}

body.page-id-2168 .newSignUpBtn li {
	color: rgba(255, 255, 255, 0.85) !important;
}

/* Mobile burger icon */
body.page-id-2168 .elementor-element.elementor-element-b0af598 div.elementor-menu-toggle,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 div.elementor-menu-toggle {
	color: rgba(255, 255, 255, 0.85) !important;
}

body.page-id-2168 .elementor-element.elementor-element-b0af598 div.elementor-menu-toggle svg,
body.page-id-2168 .elementor-element.elementor-element-8a4d491 div.elementor-menu-toggle svg {
	fill: rgba(255, 255, 255, 0.85) !important;
}

/* ── Footer — dark theme text overrides ── */
body.page-id-2168 .elementor-location-footer {
	background: var(--rx-navy);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

body.page-id-2168 .elementor-location-footer .elementor-heading-title {
	color: rgba(255, 255, 255, 0.9) !important;
}

body.page-id-2168 .elementor-location-footer .elementor-widget-text-editor,
body.page-id-2168 .elementor-location-footer p {
	color: rgba(255, 255, 255, 0.55) !important;
}

body.page-id-2168 .elementor-location-footer .elementor-icon-list-text {
	color: rgba(255, 255, 255, 0.6) !important;
}

body.page-id-2168 .elementor-location-footer .elementor-icon-list-icon i {
	color: rgba(255, 255, 255, 0.35) !important;
}

body.page-id-2168 .elementor-location-footer .elementor-icon-list-icon svg {
	fill: rgba(255, 255, 255, 0.35) !important;
}

body.page-id-2168 .elementor-location-footer a {
	color: rgba(255, 255, 255, 0.6);
	transition: color var(--rx-dur-fast);
}

body.page-id-2168 .elementor-location-footer a:hover {
	color: #fff;
}

body.page-id-2168 .elementor-location-footer .elementor-widget-divider .elementor-divider-separator {
	border-top-color: rgba(255, 255, 255, 0.1) !important;
}
