.rth-button-row { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.rth-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: .78rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--rth-radius-sm);
	font-size: .93rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}
.rth-button:hover { transform: translateY(-2px); }
.rth-button--primary { background: var(--rth-blue); color: #fff; box-shadow: 0 12px 30px rgba(0,109,255,.25); }
.rth-button--primary:hover { background: var(--rth-blue-dark); color: #fff; box-shadow: 0 18px 38px rgba(0,109,255,.3); }
.rth-button--secondary { background: #fff; border-color: var(--rth-border); color: var(--rth-navy); }
.rth-button--secondary:hover { border-color: var(--rth-blue); background: #f4f8ff; color: var(--rth-blue); }
.rth-button--light { background: #fff; color: var(--rth-navy); }
.rth-button--light:hover { background: #eaf3ff; color: var(--rth-blue); }
.rth-button--ghost-light { background: transparent; border-color: rgba(255,255,255,.5); color: #fff; }
.rth-button--ghost-light:hover { background: #fff; border-color: #fff; color: var(--rth-navy); }
.rth-header-cta { min-height: 44px; padding: .7rem 1rem; }

.rth-card {
	position: relative;
	padding: clamp(1.4rem, 2.3vw, 2rem);
	background: #fff;
	border: 1px solid var(--rth-border);
	border-radius: var(--rth-radius-md);
	box-shadow: var(--rth-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.rth-card:hover { transform: translateY(-5px); border-color: rgba(0,109,255,.35); box-shadow: var(--rth-shadow-md); }
.rth-card h2, .rth-card h3 { margin-bottom: .65rem; }
.rth-card p:last-child { margin-bottom: 0; color: var(--rth-muted); }
.rth-card-index { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 1.4rem; border-radius: 12px; background: var(--rth-surface); color: var(--rth-blue); font-family: Manrope, sans-serif; font-weight: 800; }
.rth-card-media { display: block; margin: calc(-1 * clamp(1.4rem, 2.3vw, 2rem)) calc(-1 * clamp(1.4rem, 2.3vw, 2rem)) 1.4rem; overflow: hidden; border-radius: var(--rth-radius-md) var(--rth-radius-md) 0 0; }
.rth-card-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .35s ease; }
.rth-card:hover .rth-card-media img { transform: scale(1.03); }
.rth-card-meta { margin-bottom: .55rem; color: var(--rth-blue) !important; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rth-text-link { font-weight: 700; text-decoration: none; }

/* Global UI v1.8.239 — approved FAQ display-label body-text colour parity.
 * Visual-only locked-page exception: large FAQ labels use the shared muted body-text token.
 * No FAQ copy, typography, spacing, accordion behavior or page-specific content is changed.
 */
:root{--rth-faq-label-color:var(--rth-muted)}
.rth-faq__label,.rth-affiliate-faq__label{color:var(--rth-faq-label-color)!important}
