/**
 * Reguweb Elementor theme styles.
 *
 * 1. Tokens          5. Coded fallbacks (header, footer, posts)
 * 2. Base            6. Elementor design system (sections, cards, buttons)
 * 3. Accessibility   7. Plugin forms (scan, contact)
 * 4. Primitives      8. Motion preferences
 *
 * Every text colour here meets WCAG 2.2 AA on the background it is used on.
 * Signal cyan (#00BDFF) is only ever used on Midnight, never on white.
 */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--rw-midnight: #0a0f1e;
	--rw-midnight-2: #111832;
	--rw-ink: #171c26;
	--rw-electric: #1f2beb;
	--rw-electric-hover: #1720c4;
	--rw-logo-blue: #0000fb;
	--rw-signal: #00bdff;
	--rw-slate: #475069;
	--rw-muted: #5e6780;
	--rw-mist: #f4f6fb;
	--rw-line: #e3e8f2;
	--rw-white: #fff;
	--rw-pass: #0a7b42;
	--rw-alert: #b45309;
	--rw-on-dark: #fff;
	--rw-on-dark-muted: #a9b2c8;
	--rw-dark-line: rgba(169, 178, 200, 0.22);
	--rw-signature: linear-gradient(120deg, var(--rw-logo-blue) 0%, var(--rw-signal) 100%);
	/* Gradient text keeps both ends above 4.5:1 on its background. */
	--rw-text-gradient-light: linear-gradient(120deg, #0000fb 0%, #0369a1 100%);
	--rw-text-gradient-dark: linear-gradient(120deg, #8b95ff 0%, #00bdff 100%);
	--rw-font: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--rw-radius-sm: 10px;
	--rw-radius: 16px;
	--rw-radius-lg: 24px;
	--rw-shadow: 0 1px 2px rgba(10, 15, 30, 0.04), 0 8px 24px rgba(10, 15, 30, 0.06);
	--rw-shadow-lift: 0 2px 4px rgba(10, 15, 30, 0.05), 0 18px 40px rgba(10, 15, 30, 0.1);
	--rw-focus: 0 0 0 3px var(--rw-white), 0 0 0 6px var(--rw-electric);
	--rw-section-space: clamp(4rem, 8vw, 7rem);
	--rw-wide: 1240px;
	--rw-narrow: 760px;
}

/* 2. Base ------------------------------------------------------------------ */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: 96px;
}

body {
	margin: 0;
	background: var(--rw-white);
	color: var(--rw-slate);
	font-family: var(--rw-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.5em;
	color: var(--rw-ink);
	font-family: var(--rw-font);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

a {
	color: var(--rw-electric);
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--rw-electric-hover);
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

/* 3. Accessibility ---------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	border-radius: var(--rw-radius-sm);
	background: var(--rw-white);
	color: var(--rw-electric);
	font-weight: 700;
	box-shadow: var(--rw-focus);
}

:focus-visible {
	outline: 3px solid var(--rw-electric);
	outline-offset: 3px;
	border-radius: 4px;
}

.rw-section--dark :focus-visible,
.rw-hero :focus-visible,
.rw-footer :focus-visible,
.rw-band :focus-visible,
.rw-topbar :focus-visible {
	outline-color: var(--rw-signal);
}

.site-main:focus {
	outline: none;
}

.rw-preview-banner {
	position: relative;
	z-index: 9999;
	padding: 8px 16px;
	background: var(--rw-alert);
	color: var(--rw-white);
	font-size: 0.875rem;
	text-align: center;
}

.rw-preview-banner a {
	color: var(--rw-white);
	font-weight: 700;
}

/* 4. Primitives -------------------------------------------------------------- */
.rw-container {
	width: 100%;
	max-width: var(--rw-wide);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}

.rw-container--narrow {
	max-width: calc(var(--rw-narrow) + 4rem);
}

.rw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.65rem 1.25rem;
	border: 1.5px solid transparent;
	border-radius: var(--rw-radius-sm);
	font-family: var(--rw-font);
	font-size: 0.975rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.rw-btn--primary {
	background: var(--rw-electric);
	color: var(--rw-white);
	box-shadow: 0 6px 18px rgba(31, 43, 235, 0.28);
}

.rw-btn--primary:hover {
	background: var(--rw-electric-hover);
	color: var(--rw-white);
	transform: translateY(-1px);
}

.rw-btn--ghost {
	border-color: var(--rw-line);
	background: var(--rw-white);
	color: var(--rw-ink);
}

.rw-btn--ghost:hover {
	border-color: var(--rw-ink);
	color: var(--rw-ink);
}

.rw-eyebrow,
.rw-eyebrow .elementor-heading-title {
	color: var(--rw-electric) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

/* 5. Coded fallbacks --------------------------------------------------------- */
.rw-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--rw-line);
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(160%) blur(12px);
}

.rw-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 72px;
}

.rw-logo img {
	display: block;
	width: auto;
	height: 40px;
}

.rw-nav-toggle {
	display: none;
	padding: 10px;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-sm);
	background: var(--rw-white);
	color: var(--rw-ink);
	cursor: pointer;
}

.rw-primary-nav {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.rw-menu,
.rw-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rw-menu a {
	color: var(--rw-ink);
	font-weight: 500;
	text-decoration: none;
}

.rw-menu a:hover,
.rw-menu .current-menu-item > a {
	color: var(--rw-electric);
}

.rw-site-header__actions {
	display: flex;
	gap: 0.75rem;
}

@media (max-width: 1024px) {
	.rw-nav-toggle {
		display: inline-flex;
	}

	.rw-primary-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		padding: 1.5rem clamp(1rem, 4vw, 2rem);
		border-bottom: 1px solid var(--rw-line);
		background: var(--rw-white);
	}

	.rw-primary-nav.is-open {
		display: flex;
	}

	.rw-menu {
		flex-direction: column;
		gap: 1rem;
	}
}

.rw-site-footer {
	padding: 4rem 0 2rem;
	background: var(--rw-midnight);
	color: var(--rw-on-dark-muted);
}

.rw-site-footer a {
	color: var(--rw-on-dark);
}

.rw-site-footer__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
}

.rw-site-footer__legal {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rw-dark-line);
	font-size: 0.875rem;
}

.rw-entry__header {
	padding-top: var(--rw-section-space);
}

.rw-entry__title,
.rw-archive__title {
	font-size: clamp(2.25rem, 5vw, 3.25rem);
}

.rw-entry__meta,
.rw-card__meta {
	color: var(--rw-muted);
	font-size: 0.9375rem;
}

.rw-entry__media img {
	border-radius: var(--rw-radius-lg);
}

.rw-entry__content {
	padding-bottom: var(--rw-section-space);
}

.rw-entry__content > * + * {
	margin-top: 1.25em;
}

.rw-entry__content h2 {
	margin-top: 2em;
	font-size: 1.75rem;
}

.rw-archive {
	padding-block: var(--rw-section-space);
}

.rw-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 1.5rem;
}

.rw-card {
	overflow: hidden;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background: var(--rw-white);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.rw-card:hover {
	box-shadow: var(--rw-shadow-lift);
	transform: translateY(-2px);
}

.rw-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.rw-card__body {
	padding: 1.5rem;
}

.rw-card__title {
	font-size: 1.25rem;
}

.rw-card__title a {
	color: var(--rw-ink);
	text-decoration: none;
}

.rw-card__title a:hover {
	color: var(--rw-electric);
}

.rw-404 {
	padding-block: var(--rw-section-space);
	text-align: center;
}

/* 6. Elementor design system -------------------------------------------------- */

/* Sections */
.e-con.rw-section {
	--padding-top: var(--rw-section-space);
	--padding-bottom: var(--rw-section-space);
	--padding-left: clamp(1rem, 4vw, 2rem);
	--padding-right: clamp(1rem, 4vw, 2rem);
	--content-width: var(--rw-wide);
	scroll-margin-top: 88px;
}

.e-con.rw-section--tight {
	--padding-top: clamp(2.5rem, 5vw, 3.5rem);
	--padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.e-con.rw-section--mist {
	background-color: var(--rw-mist);
}

.e-con.rw-section--dark,
.e-con.rw-hero,
.e-con.rw-band {
	background-color: var(--rw-midnight);
	color: var(--rw-on-dark-muted);
}

.e-con.rw-hero,
.e-con.rw-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.e-con.rw-hero::before,
.e-con.rw-band::before {
	position: absolute;
	z-index: -1;
	inset: -40% -10% auto auto;
	width: min(900px, 90vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(0, 0, 251, 0.45), rgba(0, 189, 255, 0.12) 55%, transparent 72%);
	content: "";
	pointer-events: none;
}

.e-con.rw-hero::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image: linear-gradient(var(--rw-dark-line) 1px, transparent 1px), linear-gradient(90deg, var(--rw-dark-line) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse at 30% 20%, #000 0%, transparent 70%);
	mask-image: radial-gradient(ellipse at 30% 20%, #000 0%, transparent 70%);
	opacity: 0.35;
	content: "";
	pointer-events: none;
}

.e-con.rw-hero {
	--padding-top: clamp(2.25rem, 4.5vw, 3.75rem);
	--padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* Headings and copy */
.rw-section .elementor-widget-heading .elementor-heading-title,
.rw-hero .elementor-widget-heading .elementor-heading-title,
.rw-band .elementor-widget-heading .elementor-heading-title,
.rw-header .elementor-widget-heading .elementor-heading-title,
.rw-footer .elementor-widget-heading .elementor-heading-title {
	color: var(--rw-ink);
	font-family: var(--rw-font);
	font-weight: 700;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.rw-section--dark .elementor-widget-heading .elementor-heading-title,
.rw-hero .elementor-widget-heading .elementor-heading-title,
.rw-band .elementor-widget-heading .elementor-heading-title,
.rw-footer .elementor-widget-heading .elementor-heading-title {
	color: var(--rw-on-dark);
}

.rw-section--dark .rw-eyebrow .elementor-heading-title,
.rw-hero .rw-eyebrow .elementor-heading-title,
.rw-band .rw-eyebrow .elementor-heading-title,
.rw-section--dark .rw-eyebrow,
.rw-hero .rw-eyebrow {
	color: var(--rw-signal) !important;
}

.rw-display .elementor-heading-title {
	font-size: clamp(2.25rem, 4.4vw, 3.5rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.035em !important;
}

.rw-title .elementor-heading-title {
	font-size: clamp(2rem, 3.6vw, 2.875rem) !important;
	line-height: 1.1 !important;
}

.rw-subtitle .elementor-heading-title {
	font-size: clamp(1.125rem, 1.6vw, 1.3125rem) !important;
	line-height: 1.3 !important;
}

.rw-gradient-text .elementor-heading-title span,
.rw-gradient-text .elementor-heading-title em {
	background: var(--rw-text-gradient-light);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-style: normal;
}

.rw-hero .rw-gradient-text .elementor-heading-title span,
.rw-hero .rw-gradient-text .elementor-heading-title em,
.rw-section--dark .rw-gradient-text .elementor-heading-title span,
.rw-band .rw-gradient-text .elementor-heading-title span {
	background-image: var(--rw-text-gradient-dark);
}

.rw-section .elementor-widget-text-editor,
.rw-hero .elementor-widget-text-editor,
.rw-band .elementor-widget-text-editor {
	color: var(--rw-slate);
	font-family: var(--rw-font);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.rw-section--dark .elementor-widget-text-editor,
.rw-hero .elementor-widget-text-editor,
.rw-band .elementor-widget-text-editor {
	color: var(--rw-on-dark-muted);
}

.rw-lead.elementor-widget-text-editor {
	font-size: clamp(1.0625rem, 1.4vw, 1.25rem) !important;
	line-height: 1.6;
}

.rw-section .elementor-widget-text-editor p:last-child,
.rw-hero .elementor-widget-text-editor p:last-child,
.rw-band .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.rw-center {
	text-align: center;
}

.rw-intro {
	--width: min(100%, 760px);
	margin-inline: auto;
	text-align: center;
}

/* Buttons (Elementor Button widget with a class) */
.elementor-widget-button.rw-button-primary .elementor-button,
.elementor-widget-button.rw-button-ghost .elementor-button,
.elementor-widget-button.rw-button-light .elementor-button,
.elementor-widget-button.rw-button-outline-dark .elementor-button {
	min-height: 48px;
	padding: 0.8rem 1.4rem;
	border: 1.5px solid transparent;
	border-radius: var(--rw-radius-sm);
	font-family: var(--rw-font);
	font-size: 1rem;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.elementor-widget-button.rw-button-primary .elementor-button {
	background-color: var(--rw-electric);
	color: var(--rw-white);
	box-shadow: 0 8px 22px rgba(31, 43, 235, 0.3);
}

.elementor-widget-button.rw-button-primary .elementor-button:hover,
.elementor-widget-button.rw-button-primary .elementor-button:focus-visible {
	background-color: var(--rw-electric-hover);
	color: var(--rw-white);
	transform: translateY(-1px);
}

.elementor-widget-button.rw-button-ghost .elementor-button {
	border-color: var(--rw-line);
	background-color: var(--rw-white);
	color: var(--rw-ink);
}

.elementor-widget-button.rw-button-ghost .elementor-button:hover {
	border-color: var(--rw-ink);
	color: var(--rw-ink);
}

.elementor-widget-button.rw-button-outline-dark .elementor-button {
	border-color: rgba(255, 255, 255, 0.35);
	background-color: transparent;
	color: var(--rw-white);
}

.elementor-widget-button.rw-button-outline-dark .elementor-button:hover {
	border-color: var(--rw-white);
	background-color: rgba(255, 255, 255, 0.06);
	color: var(--rw-white);
}

.elementor-widget-button.rw-button-light .elementor-button {
	background-color: var(--rw-white);
	color: var(--rw-midnight);
}

.elementor-widget-button.rw-button-light .elementor-button:hover {
	background-color: var(--rw-mist);
	color: var(--rw-midnight);
}

.elementor-widget-button.rw-link .elementor-button {
	padding: 0;
	background: none;
	color: var(--rw-electric);
	font-weight: 700;
}

.elementor-widget-button.rw-link .elementor-button:hover {
	color: var(--rw-electric-hover);
	text-decoration: underline;
}

/* Cards */
.e-con.rw-card,
.e-con.rw-plan {
	--padding-top: 1.75rem;
	--padding-bottom: 1.75rem;
	--padding-left: 1.75rem;
	--padding-right: 1.75rem;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background-color: var(--rw-white);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.e-con.rw-card:hover {
	border-color: #cdd5e5;
	box-shadow: var(--rw-shadow-lift);
	transform: translateY(-3px);
}

.rw-section--dark .e-con.rw-card,
.rw-hero .e-con.rw-card {
	border-color: var(--rw-dark-line);
	background-color: rgba(255, 255, 255, 0.04);
}

.rw-card .elementor-widget-icon-box .elementor-icon,
.rw-feature .elementor-icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border-radius: 14px;
	background: linear-gradient(140deg, #eef0ff, #e6f8ff);
	color: var(--rw-electric);
	fill: var(--rw-electric);
	font-size: 24px;
}

.rw-card .elementor-icon svg,
.rw-feature .elementor-icon svg {
	width: 24px;
	height: 24px;
}

.rw-card .elementor-icon-box-wrapper {
	text-align: left;
}

.rw-card .elementor-icon-box-icon {
	margin-bottom: 1.1rem !important;
}

.rw-card .elementor-icon-box-title {
	margin: 0 0 0.5rem;
	color: var(--rw-ink);
	font-family: var(--rw-font);
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.3;
}

.rw-card .elementor-icon-box-title a {
	color: inherit;
}

.rw-card .elementor-icon-box-description {
	margin: 0;
	color: var(--rw-slate);
	font-family: var(--rw-font);
	font-size: 1rem;
	line-height: 1.6;
}

.rw-section--dark .rw-card .elementor-icon-box-title {
	color: var(--rw-on-dark);
}

.rw-section--dark .rw-card .elementor-icon-box-description {
	color: var(--rw-on-dark-muted);
}

.rw-section--dark .rw-card .elementor-icon {
	background: rgba(0, 189, 255, 0.12);
	color: var(--rw-signal);
	fill: var(--rw-signal);
}

/* Path cards: whole card is one link target via the title link. */
.e-con.rw-path {
	position: relative;
}

.rw-path .elementor-icon-box-title a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.rw-path .elementor-icon-box-title a::before {
	position: absolute;
	top: 1.75rem;
	right: 1.75rem;
	color: var(--rw-electric);
	content: "→";
	font-size: 1.25rem;
	transition: transform 0.2s ease;
}

.rw-path:hover .elementor-icon-box-title a::before {
	transform: translateX(4px);
}

/* Hero trust line */
.rw-trust .elementor-icon-list-items {
	gap: 0.5rem 1.5rem;
}

.rw-trust .elementor-icon-list-text {
	color: var(--rw-on-dark-muted) !important;
	font-size: 0.9375rem;
}

.rw-trust .elementor-icon-list-icon svg,
.rw-trust .elementor-icon-list-icon i {
	color: var(--rw-signal) !important;
	fill: var(--rw-signal) !important;
}

/* Standards strip */
.rw-badges .elementor-icon-list-items {
	justify-content: center;
	gap: 0.75rem;
}

.rw-badges .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0.55rem 1rem !important;
	border: 1px solid var(--rw-line);
	border-radius: 999px;
	background: var(--rw-white);
}

.rw-badges .elementor-icon-list-item::after {
	display: none !important;
}

.rw-badges .elementor-icon-list-text {
	color: var(--rw-ink) !important;
	font-size: 0.9375rem;
	font-weight: 600;
}

.rw-badges .elementor-icon-list-icon svg,
.rw-badges .elementor-icon-list-icon i {
	color: var(--rw-pass) !important;
	fill: var(--rw-pass) !important;
}

/* Stats */
.rw-stat .elementor-heading-title {
	background: var(--rw-text-gradient-light);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	font-size: clamp(2.25rem, 3.4vw, 3rem) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
}

.rw-section--dark .rw-stat .elementor-heading-title {
	background: var(--rw-text-gradient-dark);
	-webkit-background-clip: text;
	background-clip: text;
}

.rw-source.elementor-widget-text-editor {
	color: var(--rw-muted) !important;
	font-size: 0.8125rem !important;
}

.rw-section--dark .rw-source.elementor-widget-text-editor {
	color: var(--rw-on-dark-muted) !important;
}

/* Steps */
.rw-step-number .elementor-heading-title {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--rw-signature);
	color: var(--rw-white) !important;
	font-size: 1.125rem !important;
	font-weight: 800 !important;
}

/* Check lists */
.rw-checks .elementor-icon-list-item {
	align-items: flex-start !important;
}

.rw-checks .elementor-icon-list-text {
	color: var(--rw-slate) !important;
	font-size: 1rem;
}

.rw-checks .elementor-icon-list-icon {
	margin-top: 0.3em;
}

.rw-checks .elementor-icon-list-icon svg,
.rw-checks .elementor-icon-list-icon i {
	color: var(--rw-pass) !important;
	fill: var(--rw-pass) !important;
}

.rw-section--dark .rw-checks .elementor-icon-list-text {
	color: var(--rw-on-dark-muted) !important;
}

.rw-section--dark .rw-checks .elementor-icon-list-icon svg {
	color: var(--rw-signal) !important;
	fill: var(--rw-signal) !important;
}

/* Pricing */
.e-con.rw-plan--featured {
	border: 2px solid var(--rw-electric);
	box-shadow: 0 24px 60px rgba(31, 43, 235, 0.16);
}

.rw-plan-badge .elementor-heading-title {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--rw-electric);
	color: var(--rw-white) !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}

.rw-plan-tag .elementor-heading-title {
	color: var(--rw-electric) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}

.rw-plan .elementor-widget-button {
	margin-top: auto;
}

.rw-plan .elementor-button {
	width: 100%;
}

/* Media panel */
.e-con.rw-panel {
	border-radius: var(--rw-radius-lg);
	background-color: var(--rw-electric);
	/* Both ends keep white text above 8:1. */
	background-image: linear-gradient(135deg, #1f2beb 0%, #1a22b8 55%, #0a0f1e 100%);
	color: var(--rw-white);
}

.rw-panel .elementor-heading-title,
.rw-panel .elementor-widget-text-editor,
.rw-panel .elementor-icon-list-text {
	color: var(--rw-white) !important;
}

.rw-panel .elementor-icon-list-icon svg {
	color: var(--rw-white) !important;
	fill: var(--rw-white) !important;
}

/* FAQ (Elementor Nested Accordion) */
.rw-faq .e-n-accordion-item {
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background: var(--rw-white);
}

.rw-faq .e-n-accordion-item + .e-n-accordion-item {
	margin-top: 0.75rem;
}

.rw-faq .e-n-accordion-item-title {
	padding: 1.15rem 1.4rem !important;
	border: 0 !important;
	background: transparent !important;
}

.rw-faq .e-n-accordion-item-title-text {
	color: var(--rw-ink) !important;
	font-family: var(--rw-font);
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
}

.rw-faq .e-n-accordion-item-title-icon svg {
	fill: var(--rw-electric) !important;
}

.rw-faq .e-n-accordion-item > .e-con {
	--padding-top: 0;
	--padding-bottom: 1.25rem;
	--padding-left: 1.4rem;
	--padding-right: 1.4rem;
	border: 0 !important;
}

.rw-faq .e-n-accordion-item[open] {
	border-color: #c7cdf9;
	box-shadow: var(--rw-shadow);
}

/* Header template */
.e-con.rw-topbar {
	--padding-top: 6px;
	--padding-bottom: 6px;
	--padding-left: clamp(1rem, 4vw, 2rem);
	--padding-right: clamp(1rem, 4vw, 2rem);
	--content-width: var(--rw-wide);
	background-color: var(--rw-midnight);
	font-size: 0.875rem;
}

.rw-topbar .elementor-icon-list-text,
.rw-topbar a {
	color: var(--rw-on-dark-muted) !important;
}

.rw-topbar a:hover .elementor-icon-list-text {
	color: var(--rw-white) !important;
}

.rw-topbar .elementor-icon-list-icon svg {
	fill: var(--rw-signal) !important;
	color: var(--rw-signal) !important;
}

.e-con.rw-header {
	--padding-top: 14px;
	--padding-bottom: 14px;
	--padding-left: clamp(1rem, 4vw, 2rem);
	--padding-right: clamp(1rem, 4vw, 2rem);
	--content-width: var(--rw-wide);
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--rw-line);
	background-color: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(160%) blur(12px);
}

.admin-bar .e-con.rw-header {
	top: 32px;
}

.rw-header .elementor-widget-image,
.rw-footer .elementor-widget-image {
	flex: none;
	width: auto;
}

.rw-header .elementor-widget-image img,
.rw-header .elementor-widget-theme-site-logo img,
.rw-footer .elementor-widget-image img {
	width: 150px !important;
	max-width: none !important;
	height: auto !important;
}

.rw-header .elementor-widget-nav-menu {
	flex: 1 1 auto;
}

/* The actions group sizes to its buttons instead of Elementor's default full width. */
.rw-header > .e-con-inner > .e-con,
.rw-header > .e-con {
	--width: auto;
	flex: none;
}

.rw-header .elementor-nav-menu .elementor-item {
	padding: 10px 14px !important;
	color: var(--rw-ink) !important;
	font-family: var(--rw-font);
	font-size: 0.975rem;
	font-weight: 500 !important;
}

.rw-header .elementor-nav-menu .elementor-item:hover,
.rw-header .elementor-nav-menu .elementor-item.elementor-item-active {
	color: var(--rw-electric) !important;
}

.rw-header .elementor-nav-menu--main .elementor-item::after {
	height: 2px !important;
	background-color: var(--rw-electric) !important;
}

.rw-header .elementor-menu-toggle {
	border-radius: var(--rw-radius-sm);
	background-color: var(--rw-mist) !important;
	color: var(--rw-ink) !important;
	fill: var(--rw-ink) !important;
}

.rw-header .elementor-nav-menu--dropdown {
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background-color: var(--rw-white) !important;
	box-shadow: var(--rw-shadow-lift);
}

.rw-header .elementor-nav-menu--dropdown a {
	color: var(--rw-ink) !important;
	font-weight: 500;
}

.rw-header .elementor-nav-menu--dropdown a:hover,
.rw-header .elementor-nav-menu--dropdown a.elementor-item-active {
	background-color: var(--rw-mist) !important;
	color: var(--rw-electric) !important;
}

.rw-header .elementor-widget-button.rw-button-primary .elementor-button,
.rw-header .elementor-widget-button.rw-button-ghost .elementor-button {
	min-height: 42px;
	padding: 0.6rem 1.05rem;
	font-size: 0.9375rem;
}

/* Footer template */
.e-con.rw-footer {
	--padding-top: clamp(3.5rem, 7vw, 5rem);
	--padding-bottom: 2rem;
	--padding-left: clamp(1rem, 4vw, 2rem);
	--padding-right: clamp(1rem, 4vw, 2rem);
	--content-width: var(--rw-wide);
	background-color: var(--rw-midnight);
	color: var(--rw-on-dark-muted);
}

.rw-footer .elementor-widget-text-editor {
	color: var(--rw-on-dark-muted);
	font-size: 0.9375rem;
}

.rw-footer-heading .elementor-heading-title {
	color: var(--rw-on-dark) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}

.rw-footer .elementor-icon-list-text {
	color: var(--rw-on-dark-muted) !important;
	font-size: 0.9375rem;
}

.rw-footer a:hover .elementor-icon-list-text {
	color: var(--rw-white) !important;
	text-decoration: underline;
}

.rw-footer .elementor-icon-list-icon svg {
	fill: var(--rw-signal) !important;
	color: var(--rw-signal) !important;
}

.e-con.rw-footer-legal {
	border-top: 1px solid var(--rw-dark-line);
}

.rw-footer-legal .elementor-widget-text-editor {
	font-size: 0.875rem;
}

.rw-social .elementor-social-icon {
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.rw-social .elementor-social-icon:hover {
	background-color: var(--rw-electric) !important;
}

.rw-social .elementor-social-icon svg {
	fill: var(--rw-white) !important;
}

/* 7. Plugin forms -------------------------------------------------------------- */
.rw-scan {
	width: 100%;
	max-width: 620px;
}

.rw-scan__label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--rw-ink);
	font-size: 0.9375rem;
	font-weight: 600;
}

.rw-scan.is-dark .rw-scan__label {
	color: var(--rw-on-dark);
}

.rw-scan__row {
	display: flex;
	gap: 8px;
	padding: 6px;
	border: 1px solid var(--rw-line);
	border-radius: 14px;
	background: var(--rw-white);
	box-shadow: var(--rw-shadow);
}

.rw-scan.is-dark .rw-scan__row {
	border-color: rgba(255, 255, 255, 0.18);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.rw-scan__row:focus-within {
	box-shadow: var(--rw-focus);
}

.rw-scan__input {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	padding: 0 14px;
	border: 0;
	background: transparent;
	color: var(--rw-ink);
	font: inherit;
	font-size: 1.0625rem;
}

.rw-scan__input::placeholder {
	color: var(--rw-muted);
}

.rw-scan__input:focus {
	outline: none;
}

.rw-scan__button {
	flex: none;
}

.rw-scan__help {
	margin: 0.6rem 0 0;
	color: var(--rw-muted);
	font-size: 0.875rem;
}

.rw-scan.is-dark .rw-scan__help {
	color: var(--rw-on-dark-muted);
}

.rw-center .rw-scan,
.elementor-widget-shortcode.rw-center .rw-scan {
	margin-inline: auto;
	text-align: left;
}

@media (max-width: 520px) {
	.rw-scan__row {
		flex-direction: column;
	}

	.rw-scan__button {
		width: 100%;
	}
}

.rw-contact__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}

.rw-field {
	display: grid;
	gap: 6px;
	margin: 0;
}

.rw-field--wide {
	grid-column: 1 / -1;
}

.rw-field label {
	color: var(--rw-ink);
	font-size: 0.9375rem;
	font-weight: 600;
}

.rw-field__req {
	color: var(--rw-alert);
}

.rw-field input,
.rw-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
	border: 1px solid #c9d1e1;
	border-radius: var(--rw-radius-sm);
	background: var(--rw-white);
	color: var(--rw-ink);
	font: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-field input:focus,
.rw-field textarea:focus {
	border-color: var(--rw-electric);
	outline: none;
	box-shadow: 0 0 0 4px rgba(31, 43, 235, 0.15);
}

.rw-field [aria-invalid="true"] {
	border-color: var(--rw-alert);
}

.rw-contact__note {
	margin: 1rem 0;
	color: var(--rw-muted);
	font-size: 0.875rem;
}

.rw-contact__status {
	margin: 1rem 0 0;
	color: var(--rw-ink);
	font-weight: 600;
}

@media (max-width: 640px) {
	.rw-contact__grid {
		grid-template-columns: 1fr;
	}
}

/* 8. Motion preferences -------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (forced-colors: active) {
	.rw-stat .elementor-heading-title,
	.rw-gradient-text .elementor-heading-title span {
		background: none;
		color: CanvasText !important;
	}
}

/* Centred intro groups sit in the middle of their section. */
.e-con.rw-center {
	align-self: center;
	margin-inline: auto;
}

/* 9. Homepage components ------------------------------------------------------- */

/* Hero: keep the whole hero inside one screen on common laptops. */
.rw-hero .rw-lead.elementor-widget-text-editor {
	max-width: 36rem;
	font-size: 1.0625rem !important;
}

@media (min-width: 1025px) and (max-height: 820px) {
	.e-con.rw-hero {
		--padding-top: 2rem;
		--padding-bottom: 2.5rem;
	}
}

/* Hero scene ------------------------------------------------------------------ */
@property --rw-score {
	syntax: "<integer>";
	inherits: false;
	initial-value: 64;
}

.rw-hv {
	position: relative;
	width: 100%;
	max-width: 620px;
	margin-inline: auto;
	aspect-ratio: 620 / 470;
}

.rw-hv__stage {
	position: absolute;
	inset: 0;
	font-family: var(--rw-font);
}

.rw-hv__stage > * {
	position: absolute;
}

.rw-hv__dash {
	top: 16%;
	left: 0;
	width: 34%;
	height: 62%;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.05);
	opacity: 0.75;
	animation: rw-float 9s ease-in-out infinite;
}

.rw-hv__dash-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.rw-hv__dash-head span {
	width: 18px;
	height: 18px;
	border-radius: 6px;
	background: var(--rw-signature);
}

.rw-hv__dash-head b {
	width: 50%;
	height: 7px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.25);
}

.rw-hv__bars {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 38%;
	margin-bottom: 12px;
}

.rw-hv__bars i {
	flex: 1;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(180deg, #5b6bff, rgba(0, 189, 255, 0.35));
	transform-origin: bottom;
	animation: rw-bar 3.2s ease-in-out infinite;
}

.rw-hv__bars i:nth-child(1) { height: 40%; animation-delay: 0s; }
.rw-hv__bars i:nth-child(2) { height: 65%; animation-delay: 0.2s; }
.rw-hv__bars i:nth-child(3) { height: 50%; animation-delay: 0.4s; }
.rw-hv__bars i:nth-child(4) { height: 80%; animation-delay: 0.6s; }
.rw-hv__bars i:nth-child(5) { height: 70%; animation-delay: 0.8s; }
.rw-hv__bars i:nth-child(6) { height: 95%; animation-delay: 1s; }

.rw-hv__dash-rows span {
	display: block;
	height: 7px;
	margin-top: 9px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.14);
}

.rw-hv__dash-rows span:nth-child(2) { width: 80%; }
.rw-hv__dash-rows span:nth-child(3) { width: 60%; }

.rw-hv__browser {
	z-index: 2;
	top: 6%;
	left: 13%;
	width: 70%;
	overflow: hidden;
	border: 6px solid rgba(255, 255, 255, 0.92);
	border-radius: 20px;
	background: #0d1430;
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.rw-hv__chrome {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 9px 12px;
	background: #0a1026;
}

.rw-hv__chrome i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
}

.rw-hv__chrome span {
	margin-left: 10px;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	color: #a9b2c8;
	font-size: 10px;
}

.rw-hv__site {
	position: relative;
	padding: 14px 16px 18px;
}

.rw-hv__nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.rw-hv__nav b {
	width: 52px;
	height: 8px;
	margin-right: auto;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.4);
}

.rw-hv__nav span {
	width: 30px;
	height: 6px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.18);
}

.rw-hv__nav em {
	width: 34px;
	height: 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
}

.rw-hv__headline {
	margin-bottom: 14px;
	color: #e8ebf7;
	font-size: clamp(1rem, 2.4vw, 1.75rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.rw-hv__grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	grid-template-rows: 46px 70px;
	gap: 8px;
}

.rw-hv__tile {
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
}

.rw-hv__tile--img {
	grid-row: span 2;
	background: radial-gradient(120% 90% at 20% 10%, #3a3f8f, #151b3d 60%);
}

.rw-hv__tile--cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 12px;
	background: #2a3463;
	color: #c9d0ea;
	font-size: 11px;
}

.rw-hv__tile--cta i {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	font-style: normal;
}

.rw-hv__tile--wave {
	background: linear-gradient(160deg, transparent 40%, rgba(91, 107, 255, 0.55) 41%, rgba(0, 189, 255, 0.25) 75%), #141b3b;
}

/* The beam sweeps the page, pins appear as issues and flip to fixed. */
.rw-hv__scan {
	top: 0;
	right: 0;
	left: 0;
	height: 34px;
	background: linear-gradient(180deg, transparent, rgba(0, 189, 255, 0.28) 70%, rgba(0, 189, 255, 0.9) 98%, transparent);
	animation: rw-scan 6s ease-in-out infinite;
	pointer-events: none;
}

.rw-hv__site > .rw-hv__scan,
.rw-hv__site > .rw-hv__pin {
	position: absolute;
}

.rw-hv__pin {
	display: flex;
	align-items: center;
	gap: 6px;
	opacity: 0;
	animation: rw-pin 6s ease-in-out infinite;
}

.rw-hv__pin::before {
	display: grid;
	flex: none;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #f97316;
	box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.25);
	color: #fff;
	content: "!";
	font-size: 11px;
	font-weight: 800;
	animation: rw-pin-dot 6s ease-in-out infinite;
	animation-delay: inherit;
}

.rw-hv__pin b {
	padding: 3px 8px;
	border-radius: 6px;
	background: #fff;
	color: var(--rw-ink);
	font-size: 10px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.rw-hv__pin--1 { top: 62%; left: 6%; animation-delay: 0.6s; }
.rw-hv__pin--2 { top: 22%; left: 40%; animation-delay: 1.4s; }
.rw-hv__pin--3 { top: 60%; left: 50%; animation-delay: 2.2s; }

.rw-hv__phone {
	z-index: 3;
	top: 24%;
	right: 0;
	width: 22%;
	overflow: hidden;
	border: 5px solid #fff;
	border-radius: 22px;
	background: #f4f6fb;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
	animation: rw-float 7s ease-in-out infinite reverse;
}

.rw-hv__phone-img {
	height: 92px;
	background: radial-gradient(60% 55% at 50% 45%, #fff 40%, #dfe4f0 41%, #e9edf6 70%);
}

.rw-hv__phone-body {
	display: grid;
	gap: 6px;
	padding: 10px;
}

.rw-hv__phone-body b {
	color: var(--rw-ink);
	font-size: 11px;
	line-height: 1.2;
}

.rw-hv__phone-body span {
	width: 60%;
	height: 6px;
	border-radius: 3px;
	background: var(--rw-line);
}

.rw-hv__phone-body em {
	padding: 5px;
	border-radius: 6px;
	background: var(--rw-electric);
	color: #fff;
	font-size: 9px;
	font-style: normal;
	font-weight: 700;
	text-align: center;
}

.rw-hv__fab {
	z-index: 4;
	top: 44%;
	right: 15%;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #3b47ff, #1f2beb 55%, #121a9e);
	color: #fff;
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.9), 0 14px 40px rgba(31, 43, 235, 0.7);
}

.rw-hv__fab svg {
	width: 32px;
	height: 32px;
}

.rw-hv__fab::before,
.rw-hv__fab::after {
	position: absolute;
	inset: -6px;
	border: 2px solid rgba(124, 136, 255, 0.7);
	border-radius: 50%;
	content: "";
	animation: rw-ripple 2.6s ease-out infinite;
}

.rw-hv__fab::after {
	animation-delay: 1.3s;
}

.rw-hv__score {
	z-index: 5;
	bottom: 2%;
	left: 4%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px 10px 10px;
	border-radius: 16px;
	background: #fff;
	color: var(--rw-ink);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35);
	animation: rw-float 8s ease-in-out infinite;
}

.rw-hv__score b {
	display: block;
	font-size: 14px;
	font-weight: 700;
}

.rw-hv__score small {
	color: var(--rw-muted);
	font-size: 11px;
}

.rw-hv__ring {
	--rw-score: 98;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: radial-gradient(closest-side, #fff 76%, transparent 77%), conic-gradient(var(--rw-pass) calc(var(--rw-score) * 1%), var(--rw-line) 0);
	animation: rw-score 6s ease-in-out infinite;
	counter-reset: rw-score var(--rw-score);
}

.rw-hv__num::after {
	color: var(--rw-ink);
	content: counter(rw-score);
	font-size: 16px;
	font-weight: 800;
}

.rw-hv__chip {
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(17, 24, 50, 0.85);
	color: #fff;
	font-size: 12px;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(8px);
}

.rw-hv__chip--seo {
	top: 0;
	right: 6%;
	animation: rw-float 6s ease-in-out infinite;
}

.rw-hv__chip--seo i {
	color: var(--rw-signal);
	font-style: normal;
	font-weight: 700;
}

.rw-hv__chip--seo b {
	font-size: 15px;
}

.rw-hv__chip--seo small {
	color: #a9b2c8;
}

.rw-hv__chip--ai {
	right: 2%;
	bottom: 12%;
	animation: rw-float 7.5s ease-in-out infinite reverse;
}

.rw-hv__ai-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #34d399;
	box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.25);
}

@keyframes rw-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

@keyframes rw-bar {
	0%, 100% { transform: scaleY(0.75); }
	50% { transform: scaleY(1); }
}

@keyframes rw-scan {
	0% { transform: translateY(-40px); opacity: 0; }
	8% { opacity: 1; }
	55% { transform: translateY(240px); opacity: 1; }
	62%, 100% { transform: translateY(240px); opacity: 0; }
}

@keyframes rw-pin {
	0%, 6% { opacity: 0; transform: scale(0.6); }
	12%, 82% { opacity: 1; transform: scale(1); }
	92%, 100% { opacity: 0; transform: scale(0.9); }
}

@keyframes rw-pin-dot {
	0%, 48% { background: #f97316; box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.25); content: "!"; }
	54%, 100% { background: #10b981; box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.25); content: "✓"; }
}

@keyframes rw-ripple {
	0% { transform: scale(1); opacity: 0.9; }
	100% { transform: scale(1.8); opacity: 0; }
}

@keyframes rw-score {
	0%, 30% { --rw-score: 64; }
	60%, 100% { --rw-score: 98; }
}

/* Stacked layouts: Chrome collapses aspect-ratio + % width inside column flex items, so size it explicitly. */
@media (max-width: 1024px) {
	.rw-hv {
		aspect-ratio: auto;
		height: min(76vw, 470px);
	}
}

@media (max-width: 767px) {
	.rw-hv {
		height: min(68vw, 300px);
	}

	.rw-hv__dash {
		display: none;
	}

	.rw-hv__browser {
		left: 0;
		width: 82%;
	}

	.rw-hv__fab {
		right: 8%;
		width: 52px;
		height: 52px;
	}

	.rw-hv__chip--ai {
		display: none;
	}

	.rw-hv__phone {
		width: 27%;
	}

	.rw-hv__phone-body em {
		white-space: nowrap;
		font-size: 8px;
	}

	.rw-hv__score {
		bottom: -2%;
		left: 2%;
		padding: 6px 10px 6px 6px;
		gap: 8px;
	}

	.rw-hv__score small {
		display: none;
	}

	.rw-hv__ring {
		width: 42px;
		height: 42px;
	}

	.rw-hv__num::after {
		font-size: 13px;
	}
}

/* Widget demo ----------------------------------------------------------------- */
.rw-wd {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 1fr);
	gap: 24px;
	align-items: start;
	font-family: var(--rw-font);
}

.rw-wd__page {
	overflow: hidden;
	border: 1px solid var(--rw-dark-line);
	border-radius: var(--rw-radius-lg);
	background: #fff;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
	transition: filter 0.3s ease;
}

.rw-wd__bar {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--rw-line);
	background: var(--rw-mist);
}

.rw-wd__bar i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #cdd3e1;
}

.rw-wd__bar span {
	margin-left: 10px;
	color: var(--rw-muted);
	font-size: 12px;
}

.rw-wd__content {
	position: relative;
	padding: 24px 28px 28px;
	color: var(--rw-slate);
	transition: font-size 0.25s ease, line-height 0.25s ease, letter-spacing 0.25s ease;
}

.rw-wd__kicker {
	margin: 0 0 4px;
	color: var(--rw-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.rw-wd__title {
	margin: 0 0 14px;
	color: var(--rw-ink);
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.2;
}

.rw-wd__media {
	position: relative;
	display: grid;
	place-items: center;
	height: 120px;
	margin-bottom: 14px;
	border-radius: 14px;
	background: linear-gradient(135deg, #f97316, #ec4899 45%, #6366f1);
}

.rw-wd__spinner {
	width: 34px;
	height: 34px;
	border: 4px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rw-spin 1s linear infinite;
}

.rw-wd__copy {
	margin: 0 0 10px;
	font-size: 0.95em;
	line-height: 1.55;
}

.rw-wd__copy a {
	color: var(--rw-electric);
	text-decoration: none;
}

.rw-wd__cta {
	display: inline-block;
	margin-top: 6px;
	padding: 9px 16px;
	border-radius: 8px;
	background: var(--rw-electric);
	color: #fff;
	font-size: 0.9em;
	font-weight: 700;
}

.rw-wd__guide {
	position: absolute;
	top: 55%;
	right: 0;
	left: 0;
	display: none;
	height: 34px;
	border-top: 3px solid var(--rw-electric);
	background: rgba(31, 43, 235, 0.08);
	box-shadow: 0 0 0 100vmax rgba(10, 15, 30, 0.35);
	pointer-events: none;
	transform: translateY(-50%);
}

.rw-wd__page.is-text .rw-wd__content { font-size: 1.22em; }
.rw-wd__page.is-spacing .rw-wd__content { line-height: 2; letter-spacing: 0.03em; }
.rw-wd__page.is-spacing .rw-wd__copy { line-height: 2; }
.rw-wd__page.is-readable .rw-wd__content { font-family: Verdana, Tahoma, sans-serif; letter-spacing: 0.02em; }
.rw-wd__page.is-guide .rw-wd__guide { display: block; }
.rw-wd__page.is-mono { filter: saturate(0.15); }
.rw-wd__page.is-motion .rw-wd__spinner { animation-play-state: paused; }

.rw-wd__page.is-links .rw-wd__copy a {
	padding: 0 3px;
	border-radius: 3px;
	background: #fff36b;
	color: #111 !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.rw-wd__page.is-contrast .rw-wd__content {
	background: #000;
	color: #fff;
}

.rw-wd__page.is-contrast .rw-wd__title,
.rw-wd__page.is-contrast .rw-wd__kicker {
	color: #fff;
}

.rw-wd__page.is-contrast .rw-wd__copy a {
	color: #ffe500;
	text-decoration: underline;
}

.rw-wd__page.is-contrast .rw-wd__cta {
	border: 2px solid #ffe500;
	background: #000;
	color: #ffe500;
}

.rw-wd__panel {
	padding: 18px;
	border-radius: var(--rw-radius-lg);
	background: #fff;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
}

.rw-wd__panel-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: -18px -18px 16px;
	padding: 14px 18px;
	border-radius: var(--rw-radius-lg) var(--rw-radius-lg) 0 0;
	background: var(--rw-electric);
	color: #fff;
}

.rw-wd__panel-head p {
	margin: 0;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
}

.rw-wd__badge {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
}

.rw-wd__badge svg {
	width: 20px;
	height: 20px;
}

.rw-wd__toggles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.rw-wd__toggle {
	display: grid;
	justify-items: center;
	gap: 6px;
	min-height: 78px;
	padding: 12px 8px;
	border: 1.5px solid var(--rw-line);
	border-radius: 12px;
	background: var(--rw-mist);
	color: var(--rw-ink);
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.rw-wd__toggle svg {
	width: 22px;
	height: 22px;
	color: var(--rw-electric);
}

.rw-wd__toggle:hover {
	border-color: #b9c0f7;
}

.rw-wd__toggle[aria-pressed="true"] {
	border-color: var(--rw-electric);
	background: #eceeff;
}

.rw-wd__toggle.is-demo {
	transform: scale(0.96);
}

.rw-wd__reset {
	width: 100%;
	min-height: 44px;
	margin-top: 10px;
	border: 1.5px solid var(--rw-line);
	border-radius: 10px;
	background: #fff;
	color: var(--rw-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.rw-wd__reset:hover {
	border-color: var(--rw-ink);
}

.rw-wd__status {
	min-height: 1.2em;
	margin: 8px 0 0;
	color: var(--rw-muted);
	font-size: 0.8125rem;
}

@keyframes rw-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
	.rw-wd {
		grid-template-columns: 1fr;
	}
}

/* Platform tabs (Elementor Nested Tabs) ------------------------------------------ */
.rw-tabs .e-n-tabs-heading {
	justify-content: center;
	gap: 8px;
	margin-bottom: 32px;
	padding: 6px;
	border: 1px solid var(--rw-line);
	border-radius: 999px;
	background: var(--rw-white);
}

.rw-tabs .e-n-tab-title {
	min-height: 44px;
	padding: 10px 18px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--rw-slate) !important;
	font-family: var(--rw-font);
	font-size: 0.975rem;
	font-weight: 600;
}

.rw-tabs .e-n-tab-title:hover {
	color: var(--rw-ink) !important;
}

.rw-tabs .e-n-tab-title[aria-selected="true"] {
	background: var(--rw-midnight) !important;
	color: var(--rw-white) !important;
}

.rw-tabs .e-n-tab-title-text {
	color: inherit !important;
}

.rw-tabs .e-n-tabs-content > .e-con {
	border: 0 !important;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}

@media (max-width: 767px) {
	.rw-tabs .e-n-tabs-heading {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		border-radius: 16px;
		scrollbar-width: none;
	}

	.rw-tabs .e-n-tab-title {
		flex: none;
	}
}

.rw-new .elementor-icon-box-title::after {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #eceeff;
	color: var(--rw-electric);
	content: "New";
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Latest posts (Elementor Pro Posts, Cards skin) ---------------------------------- */
.rw-posts .elementor-post__card {
	overflow: hidden;
	border: 1px solid var(--rw-line) !important;
	border-radius: var(--rw-radius) !important;
	background: var(--rw-white) !important;
	box-shadow: none !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.rw-posts .elementor-post__card:hover {
	box-shadow: var(--rw-shadow-lift) !important;
	transform: translateY(-3px);
}

.rw-posts .elementor-post__title,
.rw-posts .elementor-post__title a {
	color: var(--rw-ink) !important;
	font-family: var(--rw-font) !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.rw-posts .elementor-post__excerpt p {
	color: var(--rw-slate) !important;
	font-family: var(--rw-font) !important;
	font-size: 0.975rem !important;
}

.rw-posts .elementor-post__read-more {
	color: var(--rw-electric) !important;
	font-weight: 700 !important;
}

.rw-posts .elementor-post__meta-data {
	color: var(--rw-muted) !important;
	font-family: var(--rw-font) !important;
}

.rw-posts .elementor-post__badge {
	background-color: var(--rw-electric) !important;
	font-family: var(--rw-font) !important;
}

/* Built by Tricension -------------------------------------------------------------- */
.e-con.rw-partner-band {
	--padding-top: clamp(2rem, 4vw, 3rem);
	--padding-bottom: clamp(2rem, 4vw, 3rem);
	--padding-left: clamp(1.5rem, 4vw, 3rem);
	--padding-right: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-lg);
	background:
		radial-gradient(60% 120% at 100% 0%, rgba(124, 58, 237, 0.1), transparent 60%),
		var(--rw-white);
}

.rw-tric-logo img {
	width: 180px !important;
	height: auto !important;
}

.rw-proof .elementor-icon-list-items {
	gap: 0.5rem 1.25rem;
}

.rw-proof .elementor-icon-list-text {
	color: var(--rw-ink) !important;
	font-weight: 600;
}

.rw-proof .elementor-icon-list-icon svg {
	color: #7c3aed !important;
	fill: #7c3aed !important;
}

/* Back to top -------------------------------------------------------------------- */
.rw-to-top {
	position: fixed;
	z-index: 90;
	right: 24px;
	bottom: 96px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background: var(--rw-midnight);
	color: var(--rw-white);
	box-shadow: 0 12px 30px rgba(10, 15, 30, 0.3);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background-color 0.2s ease;
}

.rw-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.rw-to-top:hover {
	background: var(--rw-electric);
}

.rw-to-top:focus-visible {
	outline-color: var(--rw-electric);
}

.rw-to-top svg {
	width: 22px;
	height: 22px;
}

@media (max-width: 767px) {
	.rw-to-top {
		right: 16px;
		bottom: 84px;
		width: 44px;
		height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rw-hv *,
	.rw-hv *::before,
	.rw-hv *::after,
	.rw-wd__spinner {
		animation: none !important;
	}

	.rw-hv__pin {
		opacity: 1;
	}

	.rw-hv__pin::before {
		background: #10b981;
		content: "✓";
	}

	.rw-hv__scan {
		display: none;
	}
}

/* Text links on dark sections use Signal for contrast (8.8:1 on Midnight). */
.rw-hero .elementor-widget-button.rw-link .elementor-button,
.rw-section--dark .elementor-widget-button.rw-link .elementor-button,
.rw-band .elementor-widget-button.rw-link .elementor-button {
	color: var(--rw-signal);
}

.rw-hero .elementor-widget-button.rw-link .elementor-button:hover,
.rw-section--dark .elementor-widget-button.rw-link .elementor-button:hover {
	color: var(--rw-white);
}

.rw-hero-actions .elementor-widget-button {
	width: auto;
}

/* 10. Section refresh --------------------------------------------------------- */

/* Law and standard seals */
.e-con.rw-seal {
	position: relative;
	isolation: isolate;
	aspect-ratio: 1;
	max-width: 190px;
	width: 100%;
	margin-inline: auto;
	--padding-top: 14%;
	--padding-bottom: 14%;
	--padding-left: 16%;
	--padding-right: 16%;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: transform 0.3s ease;
}

.e-con.rw-seal::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: #e9ebff;
	content: "";
	-webkit-mask: url("../images/seal.svg") center / contain no-repeat;
	mask: url("../images/seal.svg") center / contain no-repeat;
	transition: background-color 0.3s ease;
}

.e-con.rw-seal::after {
	width: 22px;
	height: 22px;
	margin-top: 6px;
	background: var(--rw-electric);
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13.5l5.5 5.5L21 5l-3-2.5-9.5 11-3-3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13.5l5.5 5.5L21 5l-3-2.5-9.5 11-3-3z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.e-con.rw-seal:hover {
	transform: rotate(-4deg) scale(1.03);
}

.e-con.rw-seal:hover::before {
	background: #dfe2ff;
}

.rw-seal .rw-seal__abbr .elementor-heading-title {
	color: var(--rw-ink) !important;
	font-size: clamp(1.125rem, 1.6vw, 1.375rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
}

.rw-seal .elementor-widget-text-editor {
	color: var(--rw-slate) !important;
	font-size: 0.875rem !important;
	line-height: 1.35 !important;
}

/* Comparison table */
.rw-compare {
	overflow-x: auto;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-lg);
	background: var(--rw-white);
	box-shadow: var(--rw-shadow);
}

.rw-compare table {
	width: 100%;
	min-width: 540px;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	font-size: 0.9375rem;
}

.rw-compare col:first-child {
	width: 40%;
}

.rw-compare caption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.rw-compare th,
.rw-compare td {
	padding: 11px 16px;
	border: 0;
	border-bottom: 1px solid var(--rw-line);
	text-align: center;
	vertical-align: middle;
}

.rw-compare tbody th {
	color: var(--rw-ink);
	font-weight: 600;
	text-align: left;
}

.rw-compare thead th {
	padding-top: 16px;
	padding-bottom: 14px;
	background: var(--rw-white);
	color: var(--rw-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rw-compare thead th:first-child {
	text-align: left;
}

.rw-compare .rw-col-us {
	border-right: 2px solid var(--rw-electric);
	border-left: 2px solid var(--rw-electric);
	background: #f5f6ff;
}

.rw-compare thead .rw-col-us {
	border-top: 2px solid var(--rw-electric);
	border-radius: 14px 14px 0 0;
	background: var(--rw-electric);
	color: var(--rw-white);
	letter-spacing: 0;
	text-transform: none;
}

.rw-compare thead .rw-col-us b {
	display: block;
	font-size: 1rem;
}

.rw-compare thead .rw-col-us small {
	display: block;
	margin-top: 2px;
	color: #d9dcff;
	font-size: 0.75rem;
	font-weight: 600;
}

.rw-compare tbody tr:last-child > * {
	border-bottom: 0;
}

.rw-compare tbody tr:last-child .rw-col-us {
	border-bottom: 2px solid var(--rw-electric);
	border-radius: 0 0 14px 14px;
}

.rw-compare tbody tr:hover > * {
	background-color: #fafbfe;
}

.rw-compare tbody tr:hover > .rw-col-us {
	background-color: #eceeff;
}

.rw-yes,
.rw-no,
.rw-part {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-size: 0.8125rem;
	font-weight: 800;
	line-height: 1;
}

.rw-yes { background: #e3f5ea; color: var(--rw-pass); }
.rw-no { background: #f3f4f6; color: #8a3a32; }
.rw-part { background: #fdf0e1; color: #9a4708; }

.rw-col-us .rw-yes {
	background: var(--rw-pass);
	color: var(--rw-white);
}

.rw-yes::before { content: "✓"; }
.rw-no::before { content: "✕"; }
.rw-part::before { content: "~"; }

/* Services */
.rw-process {
	position: relative;
	counter-reset: rw-step;
}

.e-con.rw-process-step {
	position: relative;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	counter-increment: rw-step;
}

.rw-process-step .elementor-widget-heading .elementor-heading-title::before {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-bottom: 12px;
	border: 2px solid var(--rw-electric);
	border-radius: 50%;
	background: var(--rw-white);
	color: var(--rw-electric);
	content: counter(rw-step);
	font-weight: 800;
}

.e-con.rw-process-step:not(:last-child)::after {
	position: absolute;
	top: 20px;
	left: 48px;
	right: 8px;
	height: 2px;
	background: repeating-linear-gradient(90deg, #c7cdf9 0 6px, transparent 6px 12px);
	content: "";
}

@media (max-width: 1024px) {
	.e-con.rw-process-step::after {
		display: none;
	}
}

.rw-process-step .elementor-heading-title {
	display: block;
	color: var(--rw-ink) !important;
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
}

.rw-process-step .elementor-widget-text-editor {
	font-size: 0.9375rem !important;
}

.e-con.rw-assurance {
	--padding-top: clamp(1.75rem, 3vw, 2.5rem);
	--padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
	--padding-left: clamp(1.5rem, 3vw, 2.5rem);
	--padding-right: clamp(1.5rem, 3vw, 2.5rem);
	position: relative;
	overflow: hidden;
	border-radius: var(--rw-radius-lg);
	background-color: var(--rw-midnight);
	background-image: radial-gradient(70% 140% at 100% 0%, rgba(31, 43, 235, 0.55), transparent 60%);
}

.rw-assurance .elementor-heading-title {
	color: var(--rw-white) !important;
}

.rw-assurance .rw-eyebrow .elementor-heading-title {
	color: var(--rw-signal) !important;
}

.rw-assurance .elementor-widget-text-editor,
.rw-assurance .elementor-icon-list-text {
	color: var(--rw-on-dark-muted) !important;
}

.rw-assurance .elementor-icon-list-icon svg {
	color: var(--rw-signal) !important;
	fill: var(--rw-signal) !important;
}

/* Card illustrations */
.rw-ill {
	position: relative;
	height: 180px;
	overflow: hidden;
	border-radius: var(--rw-radius);
	background:
		radial-gradient(80% 100% at 100% 0%, rgba(31, 43, 235, 0.12), transparent 60%),
		linear-gradient(180deg, #eef1fb, #f7f8fd);
	font-family: var(--rw-font);
}

.rw-ill__search {
	position: absolute;
	top: 22px;
	right: 24px;
	left: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 6px 6px 14px;
	border: 1px solid var(--rw-line);
	border-radius: 12px;
	background: var(--rw-white);
	box-shadow: var(--rw-shadow);
	color: var(--rw-muted);
	font-size: 0.8125rem;
}

.rw-ill__search b {
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--rw-electric);
	color: var(--rw-white);
	font-size: 0.75rem;
}

.rw-ill__gauges {
	position: absolute;
	right: 24px;
	bottom: 18px;
	left: 24px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.rw-ill__gauge {
	display: grid;
	justify-items: center;
	gap: 4px;
	padding: 10px 6px;
	border-radius: 12px;
	background: var(--rw-white);
	box-shadow: 0 6px 16px rgba(10, 15, 30, 0.06);
}

.rw-ill__gauge i {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: radial-gradient(closest-side, #fff 74%, transparent 75%), conic-gradient(var(--c) calc(var(--v) * 1%), var(--rw-line) 0);
	color: var(--rw-ink);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 800;
}

.rw-ill__gauge small {
	color: var(--rw-slate);
	font-size: 0.6875rem;
	font-weight: 600;
}

.rw-ill__clients {
	position: absolute;
	top: 22px;
	left: 22px;
	display: grid;
	gap: 8px;
	width: 46%;
}

.rw-ill__client {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--rw-white);
	box-shadow: 0 6px 16px rgba(10, 15, 30, 0.06);
}

.rw-ill__client i {
	width: 18px;
	height: 18px;
	border-radius: 5px;
	background: var(--c);
}

.rw-ill__client b {
	flex: 1;
	height: 6px;
	border-radius: 3px;
	background: var(--rw-line);
}

.rw-ill__client em {
	color: var(--rw-pass);
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 800;
}

.rw-ill__report {
	position: absolute;
	top: 18px;
	right: 22px;
	width: 42%;
	padding: 12px;
	border-radius: 12px;
	background: var(--rw-white);
	box-shadow: var(--rw-shadow-lift);
	transform: rotate(3deg);
}

.rw-ill__report-head span {
	display: block;
	color: var(--rw-ink);
	font-size: 0.75rem;
	font-weight: 800;
}

.rw-ill__report-head small {
	color: var(--rw-muted);
	font-size: 0.625rem;
}

.rw-ill__chart {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	height: 46px;
	margin: 10px 0;
}

.rw-ill__chart i {
	flex: 1;
	border-radius: 3px 3px 0 0;
	background: linear-gradient(180deg, var(--rw-electric), #8b95ff);
}

.rw-ill__chart i:nth-child(1) { height: 35%; }
.rw-ill__chart i:nth-child(2) { height: 50%; }
.rw-ill__chart i:nth-child(3) { height: 62%; }
.rw-ill__chart i:nth-child(4) { height: 80%; }
.rw-ill__chart i:nth-child(5) { height: 96%; }

.rw-ill__report > b {
	display: block;
	height: 5px;
	margin-top: 6px;
	border-radius: 3px;
	background: var(--rw-line);
}

.rw-ill__report > b:last-child {
	width: 60%;
}

.rw-ill__badge {
	position: absolute;
	right: 22px;
	bottom: 16px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--rw-midnight);
	color: var(--rw-white);
	font-size: 0.75rem;
	font-weight: 700;
}

.e-con.rw-card--visual {
	--padding-top: 12px;
	--padding-left: 12px;
	--padding-right: 12px;
}

.rw-card--visual > .e-con:last-child,
.rw-card--visual > .e-con-inner > .e-con:last-child {
	--padding-left: 16px;
	--padding-right: 16px;
	--padding-bottom: 8px;
}

/* FAQ shortcode */
.rw-faqs:not(.is-enhanced) .rw-faqs__tabs {
	display: none;
}

.rw-faqs__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 auto 28px;
}

.rw-faqs__tab {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--rw-line);
	border-radius: 999px;
	background: var(--rw-white);
	color: var(--rw-slate);
	font-family: var(--rw-font);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rw-faqs__tab:hover {
	border-color: var(--rw-ink);
	color: var(--rw-ink);
}

.rw-faqs__tab[aria-selected="true"] {
	border-color: var(--rw-midnight);
	background: var(--rw-midnight);
	color: var(--rw-white);
}

.rw-faqs__panel {
	display: grid;
	gap: 10px;
}

.rw-faqs__panel[hidden] {
	display: none;
}

.rw-faqs__panel:focus-visible {
	outline-offset: 6px;
}

.rw-faq {
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background: var(--rw-white);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-faq[open] {
	border-color: #c7cdf9;
	box-shadow: var(--rw-shadow);
}

.rw-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
	cursor: pointer;
	list-style: none;
}

.rw-faq__q::-webkit-details-marker {
	display: none;
}

.rw-faq__title {
	margin: 0;
	color: var(--rw-ink);
	font-family: var(--rw-font);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
}

.rw-faq__icon {
	position: relative;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #eceeff;
}

.rw-faq__icon::before,
.rw-faq__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: var(--rw-electric);
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.rw-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.rw-faq[open] .rw-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.rw-faq__a {
	padding: 0 20px 18px;
	color: var(--rw-slate);
	font-size: 1rem;
	line-height: 1.7;
}

.rw-faq__a > :last-child {
	margin-bottom: 0;
}

.rw-faq__a ul,
.rw-faq__a ol {
	padding-left: 1.25rem;
}

/* Compact scan CTA above the footer */
.e-con.rw-cta-wrap {
	--padding-top: clamp(2.5rem, 5vw, 4rem);
	--padding-bottom: clamp(2.5rem, 5vw, 4rem);
	--padding-left: clamp(1rem, 4vw, 2rem);
	--padding-right: clamp(1rem, 4vw, 2rem);
	--content-width: var(--rw-wide);
	background-color: var(--rw-white);
}

.e-con.rw-cta-card {
	--padding-top: clamp(1.75rem, 3vw, 2.5rem);
	--padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
	--padding-left: clamp(1.5rem, 4vw, 3rem);
	--padding-right: clamp(1.5rem, 4vw, 3rem);
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--rw-radius-lg);
	background-color: var(--rw-electric);
	background-image: linear-gradient(120deg, #1f2beb 0%, #1a22b8 50%, #0a0f1e 100%);
	box-shadow: 0 30px 60px rgba(31, 43, 235, 0.25);
}

.e-con.rw-cta-card::before {
	position: absolute;
	z-index: -1;
	top: -60%;
	right: -10%;
	width: 420px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(0, 189, 255, 0.35), transparent 70%);
	content: "";
}

.rw-cta-card .elementor-heading-title {
	color: var(--rw-white) !important;
	font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}

.rw-cta-card .elementor-widget-text-editor {
	color: #d9dcff !important;
	font-size: 1rem !important;
}

.rw-cta-card .rw-scan {
	max-width: none;
}

.rw-cta-card .rw-scan__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.rw-cta-card .rw-scan__help {
	color: #d9dcff;
}

/* Honeypot: off-screen, never shown to people. */
.rw-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rw-turnstile {
	margin: 1rem 0 0;
}

/* 11. Scan popup ---------------------------------------------------------------- */
html.rw-sp-open {
	overflow: hidden;
}

.rw-sp {
	width: min(640px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	overflow: auto;
	border: 0;
	border-radius: var(--rw-radius-lg);
	background: var(--rw-white);
	color: var(--rw-slate);
	box-shadow: 0 40px 100px rgba(10, 15, 30, 0.45);
	font-family: var(--rw-font);
}

.rw-sp::backdrop {
	background: rgba(10, 15, 30, 0.65);
	backdrop-filter: blur(4px);
}

.rw-sp[open] {
	animation: rw-sp-in 0.25s ease-out;
}

@keyframes rw-sp-in {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

.rw-sp__inner {
	position: relative;
	padding: clamp(24px, 4vw, 40px);
}

.rw-sp__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--rw-mist);
	color: var(--rw-ink);
	cursor: pointer;
}

.rw-sp__close svg {
	width: 18px;
	height: 18px;
}

.rw-sp__close:hover {
	background: var(--rw-line);
}

.rw-sp__view {
	display: none;
}

.rw-sp[data-state="form"] .rw-sp__view--form,
.rw-sp[data-state="scanning"] .rw-sp__view--scanning,
.rw-sp[data-state="done"] .rw-sp__view--done,
.rw-sp[data-state="error"] .rw-sp__view--error {
	display: block;
}

.rw-sp__eyebrow {
	margin: 0 0 6px;
	color: var(--rw-electric);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rw-sp__title {
	margin: 0 48px 8px 0;
	color: var(--rw-ink);
	font-size: clamp(1.375rem, 3vw, 1.75rem);
	overflow-wrap: anywhere;
}

.rw-sp__title:focus {
	outline: none;
}

.rw-sp__lead {
	margin-bottom: 20px;
}

.rw-sp .rw-scan {
	max-width: none;
}

.rw-sp .rw-scan__label {
	color: var(--rw-ink);
}

.rw-sp__error {
	min-height: 1.2em;
	margin: 8px 0 0;
	color: #b42318;
	font-size: 0.9375rem;
	font-weight: 600;
}

.rw-sp__radar {
	position: relative;
	width: 120px;
	height: 120px;
	margin: 4px auto 20px;
	border-radius: 50%;
	background: radial-gradient(circle, #eceeff 0 30%, transparent 31%), var(--rw-mist);
}

.rw-sp__radar span {
	position: absolute;
	inset: 0;
	border: 2px solid rgba(31, 43, 235, 0.35);
	border-radius: 50%;
	animation: rw-ripple 2.4s ease-out infinite;
}

.rw-sp__radar span:nth-child(2) { animation-delay: 0.8s; }
.rw-sp__radar span:nth-child(3) { animation-delay: 1.6s; }

.rw-sp__radar i {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(31, 43, 235, 0.55), transparent 30%);
	animation: rw-spin 1.6s linear infinite;
}

.rw-sp__view--scanning {
	text-align: center;
}

.rw-sp__view--scanning .rw-sp__title {
	margin-right: 0;
}

.rw-sp__steps {
	display: grid;
	gap: 10px;
	max-width: 380px;
	margin: 20px auto 16px;
	padding: 0;
	list-style: none;
	text-align: left;
}

.rw-sp__steps li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--rw-muted);
	font-size: 0.9375rem;
}

.rw-sp__step-dot {
	display: grid;
	flex: none;
	place-items: center;
	width: 22px;
	height: 22px;
	border: 2px solid var(--rw-line);
	border-radius: 50%;
}

.rw-sp__steps li.is-active {
	color: var(--rw-ink);
	font-weight: 600;
}

.rw-sp__steps li.is-active .rw-sp__step-dot {
	border-color: var(--rw-electric);
	border-top-color: transparent;
	animation: rw-spin 0.9s linear infinite;
}

.rw-sp__steps li.is-done {
	color: var(--rw-ink);
}

.rw-sp__steps li.is-done .rw-sp__step-dot {
	border-color: var(--rw-pass);
	background: var(--rw-pass);
}

.rw-sp__steps li.is-done .rw-sp__step-dot::after {
	color: #fff;
	content: "✓";
	font-size: 12px;
	font-weight: 800;
}

.rw-sp__note {
	margin: 16px 0 0;
	color: var(--rw-muted);
	font-size: 0.875rem;
}

.rw-sp__scores {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0 14px;
}

.rw-sp__score {
	--rw-sp-color: var(--rw-muted);
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
}

.rw-sp__score[data-band="good"] { --rw-sp-color: var(--rw-pass); }
.rw-sp__score[data-band="fair"] { --rw-sp-color: #b45309; }
.rw-sp__score[data-band="poor"] { --rw-sp-color: #b42318; }

.rw-sp__ring {
	display: grid;
	flex: none;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: radial-gradient(closest-side, #fff 78%, transparent 79%), conic-gradient(var(--rw-sp-color) calc(var(--rw-sp-score, 0) * 1%), var(--rw-line) 0);
	transition: background 0.6s ease;
}

.rw-sp__ring b {
	color: var(--rw-ink);
	font-size: 1.375rem;
	font-weight: 800;
}

.rw-sp__score-label {
	margin: 0;
	color: var(--rw-ink);
	font-weight: 700;
	line-height: 1.3;
}

.rw-sp__score-meta {
	margin: 2px 0 0;
	color: var(--rw-muted);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.rw-sp__impacts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.rw-sp__impact {
	display: grid;
	gap: 2px;
	padding: 10px;
	border-radius: 12px;
	background: var(--rw-mist);
	text-align: center;
}

.rw-sp__impact b {
	color: var(--rw-ink);
	font-size: 1.25rem;
	font-weight: 800;
}

.rw-sp__impact span {
	color: var(--rw-slate);
	font-size: 0.75rem;
	font-weight: 600;
}

.rw-sp__impact--critical { box-shadow: inset 0 3px 0 #b42318; }
.rw-sp__impact--serious { box-shadow: inset 0 3px 0 #c2410c; }
.rw-sp__impact--moderate { box-shadow: inset 0 3px 0 #b45309; }
.rw-sp__impact--minor { box-shadow: inset 0 3px 0 var(--rw-muted); }

.rw-sp__top-title {
	margin: 0 0 8px;
	color: var(--rw-ink);
	font-weight: 700;
}

.rw-sp__top ul {
	display: grid;
	gap: 6px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.rw-sp__tag {
	display: inline-block;
	min-width: 68px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 0.6875rem;
	font-weight: 700;
	text-align: center;
	text-transform: capitalize;
}

.rw-sp__tag--critical { background: #fde8e7; color: #9b1c13; }
.rw-sp__tag--serious { background: #fdece2; color: #9a3412; }
.rw-sp__tag--moderate { background: #fdf0e1; color: #92400e; }
.rw-sp__tag--minor { background: var(--rw-mist); color: var(--rw-slate); }

.rw-sp__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 8px;
}

.rw-sp__link {
	font-weight: 700;
}

@media (max-width: 520px) {
	.rw-sp__scores,
	.rw-sp__impacts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rw-sp__score {
		flex-direction: column;
		text-align: center;
	}
}

/* 12. Cookie consent --------------------------------------------------------------- */
.rw-cc {
	position: fixed;
	z-index: 9998;
	right: 16px;
	bottom: 16px;
	left: 16px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	max-width: 980px;
	margin-inline: auto;
	padding: 18px 20px;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	background: var(--rw-white);
	box-shadow: 0 24px 60px rgba(10, 15, 30, 0.25);
	font-family: var(--rw-font);
}

.rw-cc[hidden] {
	display: none;
}

.rw-cc__text {
	flex: 1 1 380px;
}

.rw-cc__title {
	margin: 0 0 4px;
	color: var(--rw-ink);
	font-size: 1.0625rem;
}

.rw-cc__text p {
	margin: 0;
	color: var(--rw-slate);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.rw-cc__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rw-cc-dialog {
	width: min(560px, calc(100vw - 32px));
	padding: 0;
	border: 0;
	border-radius: var(--rw-radius-lg);
	box-shadow: 0 40px 100px rgba(10, 15, 30, 0.45);
	font-family: var(--rw-font);
}

.rw-cc-dialog::backdrop {
	background: rgba(10, 15, 30, 0.6);
}

.rw-cc-dialog__inner {
	padding: 28px;
}

.rw-cc-dialog h2 {
	margin-bottom: 6px;
	font-size: 1.375rem;
}

.rw-cc-option {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid var(--rw-line);
}

.rw-cc-option label {
	color: var(--rw-ink);
	font-weight: 700;
}

.rw-cc-option p {
	margin: 2px 0 0;
	color: var(--rw-slate);
	font-size: 0.875rem;
}

.rw-cc-switch {
	position: relative;
	flex: none;
	width: 46px;
	height: 26px;
	margin: 2px 0 0;
	border-radius: 999px;
	background: #9aa3b5;
	cursor: pointer;
	appearance: none;
	transition: background-color 0.2s ease;
}

.rw-cc-switch::after {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	content: "";
	transition: transform 0.2s ease;
}

.rw-cc-switch:checked {
	background: var(--rw-electric);
}

.rw-cc-switch:checked::after {
	transform: translateX(20px);
}

.rw-cc-switch:disabled {
	background: var(--rw-pass);
	cursor: not-allowed;
}

.rw-cc-dialog .rw-cc__actions {
	margin-top: 16px;
}

/* Fully managed band under pricing */
.e-con.rw-managed {
	border-color: #c7cdf9;
	background: linear-gradient(90deg, #f5f6ff, #fff);
}

@media (prefers-reduced-motion: reduce) {
	.rw-sp__radar *,
	.rw-sp__steps .rw-sp__step-dot,
	.rw-sc *,
	.rw-sc *::after,
	.rw-sv * {
		animation: none !important;
	}
}

@media (max-width: 600px) {
	.rw-cc {
		right: 8px;
		bottom: 8px;
		left: 8px;
		padding: 16px;
	}

	.rw-cc__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}

	.rw-cc__actions .rw-btn {
		min-height: 44px;
		padding: 0.55rem 0.75rem;
	}

	.rw-cc__actions [data-rw-cc="accept"] {
		grid-column: 1 / -1;
		order: -1;
	}
}

/* 16. How it works: glowing timeline ------------------------------------------- */
.e-con.rw-timeline {
	background-image:
		radial-gradient(40% 60% at 10% 20%, rgba(0, 189, 255, 0.12), transparent 70%),
		radial-gradient(40% 60% at 90% 80%, rgba(91, 107, 255, 0.16), transparent 70%),
		radial-gradient(circle, rgba(169, 178, 200, 0.12) 1px, transparent 1.5px);
	background-size: auto, auto, 26px 26px;
}

.rw-tl {
	--rw-tl-badge: 112px;
	margin-top: 8px;
}

.e-con.rw-tl-step {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 8px;
	--padding-right: 8px;
	position: relative;
	align-items: center;
	text-align: center;
}

.rw-tl-step--1 { --rw-tl-c: #00bdff; --rw-tl-g: rgba(0, 189, 255, 0.45); }
.rw-tl-step--2 { --rw-tl-c: #34d399; --rw-tl-g: rgba(52, 211, 153, 0.45); }
.rw-tl-step--3 { --rw-tl-c: #8b95ff; --rw-tl-g: rgba(139, 149, 255, 0.5); }
.rw-tl-step--4 { --rw-tl-c: #38bdf8; --rw-tl-g: rgba(56, 189, 248, 0.45); }

.rw-tl-badge {
	position: relative;
	width: auto !important;
	margin-bottom: 10px;
}

.rw-tl-badge .elementor-heading-title {
	position: relative;
	display: grid;
	place-items: center;
	align-content: center;
	width: var(--rw-tl-badge);
	height: var(--rw-tl-badge);
	border: 3px solid var(--rw-tl-c);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 35%, #1a2552, #0d1430 70%);
	box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.04), 0 0 28px var(--rw-tl-g), inset 0 0 22px var(--rw-tl-g);
	color: var(--rw-tl-c) !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	animation: rw-tl-glow 3.2s ease-in-out infinite;
}

.rw-tl-step--2 .rw-tl-badge .elementor-heading-title { animation-delay: 0.8s; }
.rw-tl-step--3 .rw-tl-badge .elementor-heading-title { animation-delay: 1.6s; }
.rw-tl-step--4 .rw-tl-badge .elementor-heading-title { animation-delay: 2.4s; }

.rw-tl-badge small {
	display: block;
	margin-bottom: 4px;
	color: var(--rw-white);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

@keyframes rw-tl-glow {
	0%, 100% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.04), 0 0 18px var(--rw-tl-g), inset 0 0 16px var(--rw-tl-g); }
	50% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.06), 0 0 38px var(--rw-tl-g), inset 0 0 26px var(--rw-tl-g); }
}

/* Dotted, curved arrow to the next step (alternating up and down). Steps are
   equal width, so the gap between circles is the step width plus the grid gap
   minus one circle. */
.e-con.rw-tl-step:not(:last-child)::after {
	position: absolute;
	top: 18px;
	left: calc(50% + var(--rw-tl-badge) / 2 + 12px);
	width: calc(100% + 24px - var(--rw-tl-badge) - 24px);
	height: 40px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40' preserveAspectRatio='none'%3E%3Cpath d='M2 30 C 35 2, 80 2, 108 26' fill='none' stroke='%23a9b2c8' stroke-width='2.2' stroke-dasharray='1 6' stroke-linecap='round'/%3E%3Cpath d='M100 18 L110 28 L97 30' fill='none' stroke='%23a9b2c8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	content: "";
	pointer-events: none;
}

.e-con.rw-tl-step:nth-child(even):not(:last-child)::after {
	top: calc(var(--rw-tl-badge) - 58px);
	transform: scaleY(-1);
}

.rw-tl-title .elementor-heading-title {
	color: var(--rw-white) !important;
	font-size: 1.1875rem !important;
	font-weight: 700 !important;
}

.rw-tl-text.elementor-widget-text-editor {
	color: var(--rw-on-dark-muted) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
}

.rw-tl-list .elementor-icon-list-items {
	display: inline-grid;
	gap: 4px;
	text-align: left;
}

.rw-tl-list .elementor-icon-list-text {
	color: #d4d9e8 !important;
	font-size: 0.875rem !important;
}

.rw-tl-list .elementor-icon-list-icon svg {
	color: var(--rw-tl-c) !important;
	fill: var(--rw-tl-c) !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.rw-tl-step:nth-child(2)::after {
		display: none;
	}
}

/* Phones: vertical timeline, badge on the left. */
@media (max-width: 767px) {
	.rw-tl {
		--rw-tl-badge: 72px;
	}

	.e-con.rw-tl-step {
		display: grid;
		grid-template-columns: var(--rw-tl-badge) minmax(0, 1fr);
		column-gap: 16px;
		align-items: start;
		--padding-bottom: 28px;
		text-align: left;
	}

	.rw-tl-step > .rw-tl-badge {
		grid-row: span 3;
		margin: 0;
	}

	.rw-tl-badge .elementor-heading-title {
		font-size: 1.375rem !important;
	}

	.rw-tl-badge small {
		font-size: 0.625rem;
	}

	.e-con.rw-tl-step:not(:last-child)::after,
	.e-con.rw-tl-step:nth-child(even):not(:last-child)::after {
		top: calc(var(--rw-tl-badge) + 8px);
		left: calc(var(--rw-tl-badge) / 2 - 1px);
		width: 2px;
		height: calc(100% - var(--rw-tl-badge) - 4px);
		background: repeating-linear-gradient(180deg, #a9b2c8 0 2px, transparent 2px 8px);
		transform: none;
	}

	.rw-tl-list .elementor-icon-list-items {
		display: grid;
	}
}

/* 17. Overlays vs real compliance: one compact panel ---------------------------- */
.e-con.rw-ov {
	overflow: hidden;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-lg);
	background: var(--rw-white);
	box-shadow: var(--rw-shadow);
}

.e-con.rw-ov__myths {
	--padding-top: 8px;
	--padding-bottom: 8px;
	--padding-left: 24px;
	--padding-right: 24px;
	border-right: 1px solid var(--rw-line);
}

.e-con.rw-myth {
	--padding-top: 16px;
	--padding-bottom: 16px;
	--padding-left: 0;
	--padding-right: 0;
	border-bottom: 1px solid var(--rw-line);
}

.e-con.rw-myth:last-child {
	border-bottom: 0;
}

.rw-myth .elementor-widget-text-editor p {
	margin: 0;
}

.rw-myth__q.elementor-widget-text-editor {
	color: var(--rw-ink) !important;
	font-size: 0.975rem !important;
	font-weight: 700;
	line-height: 1.45 !important;
}

.rw-myth__a.elementor-widget-text-editor {
	color: var(--rw-slate) !important;
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
}

.rw-myth__label {
	display: inline-block;
	min-width: 44px;
	margin-right: 8px;
	padding: 1px 7px;
	border-radius: 6px;
	background: #fde8e7;
	color: #9b1c13;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
	vertical-align: 1px;
}

.rw-myth__label--fact {
	background: #e3f5ea;
	color: var(--rw-pass);
}

.e-con.rw-ov__table {
	--padding-top: 12px;
	--padding-bottom: 12px;
	--padding-left: 16px;
	--padding-right: 16px;
}

.rw-ov__table .rw-compare {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.rw-ov__table .rw-compare th,
.rw-ov__table .rw-compare td {
	padding: 9px 12px;
	font-size: 0.9rem;
}

.rw-ov__table .rw-compare thead th {
	padding-top: 12px;
	padding-bottom: 10px;
	font-size: 0.75rem;
}

.e-con.rw-ov__facts {
	background: var(--rw-midnight);
}

.e-con.rw-fact {
	--padding-top: 16px;
	--padding-bottom: 16px;
	--padding-left: 24px;
	--padding-right: 24px;
	flex: 1 1 0;
}

.e-con.rw-fact + .e-con.rw-fact {
	border-left: 1px solid var(--rw-dark-line);
}

.rw-fact__num {
	flex: none;
	width: auto !important;
	min-width: max-content;
}

.rw-fact__num .elementor-heading-title {
	padding-right: 2px;
	white-space: nowrap;
}

.rw-fact__num .elementor-heading-title {
	background: var(--rw-text-gradient-dark);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	font-size: 1.875rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.rw-fact__text.elementor-widget-text-editor {
	color: #d4d9e8 !important;
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

.rw-fact__text p {
	margin: 0;
}

.rw-fact__src {
	display: block;
	margin-top: 2px;
	color: var(--rw-on-dark-muted);
	font-size: 0.75rem;
}

@media (max-width: 1024px) {
	.e-con.rw-ov__myths {
		border-right: 0;
		border-bottom: 1px solid var(--rw-line);
	}
}

@media (max-width: 767px) {
	.e-con.rw-fact + .e-con.rw-fact {
		border-top: 1px solid var(--rw-dark-line);
		border-left: 0;
	}
}

/* 18. Expert services ------------------------------------------------------------ */
.e-con.rw-svc {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	height: 440px;
	overflow: hidden;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-lg);
	background: var(--rw-white);
	box-shadow: var(--rw-shadow);
	transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

.rw-svc .rw-svc__visual {
	flex: none;
	height: 230px;
	overflow: hidden;
	transition: height 0.4s ease;
}

.rw-svc .rw-svc__visual .elementor-widget-container,
.rw-svc .rw-svc__visual .elementor-shortcode {
	height: 100%;
}

.rw-svc .rw-ill {
	height: 100%;
	border-radius: 0;
	background:
		radial-gradient(70% 90% at 80% 0%, rgba(31, 43, 235, 0.55), transparent 70%),
		radial-gradient(50% 60% at 0% 100%, rgba(0, 189, 255, 0.22), transparent 70%),
		linear-gradient(160deg, #141c3d, #0a0f1e 75%);
}

.e-con.rw-svc__body {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 22px;
	--padding-right: 22px;
	flex: 1 1 auto;
	min-height: 0;
}

.e-con.rw-svc__head {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}

.rw-svc__title .elementor-heading-title {
	color: var(--rw-ink) !important;
	font-size: 1.1875rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.rw-svc__head .elementor-widget-button {
	flex: none;
}

.rw-svc__head .elementor-widget-button .elementor-button {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	min-height: 0;
	padding: 0;
	border-radius: 50%;
	background: #eceeff;
	color: var(--rw-electric);
	text-decoration: none !important;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.rw-svc__head .elementor-button .elementor-button-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.rw-svc__head .elementor-button::after {
	content: "↗";
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
}

.rw-svc__head .elementor-button::before {
	position: absolute;
	inset: -1000px;
	content: "";
}

.rw-svc__text.elementor-widget-text-editor {
	color: var(--rw-slate) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
}

.rw-svc__text p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.rw-svc__list {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.4s ease, opacity 0.3s ease;
}

.rw-svc__list .elementor-icon-list-text {
	color: var(--rw-ink) !important;
	font-size: 0.875rem !important;
}

.rw-svc__list .elementor-icon-list-icon svg {
	color: var(--rw-pass) !important;
	fill: var(--rw-pass) !important;
}

@media (hover: hover) {
	.e-con.rw-svc:hover,
	.e-con.rw-svc:focus-within {
		border-color: #c7cdf9;
		box-shadow: var(--rw-shadow-lift);
		transform: translateY(-4px);
	}

	.e-con.rw-svc:hover .rw-svc__visual,
	.e-con.rw-svc:focus-within .rw-svc__visual {
		height: 104px;
	}

	.e-con.rw-svc:hover .rw-svc__text p,
	.e-con.rw-svc:focus-within .rw-svc__text p {
		-webkit-line-clamp: unset;
	}

	.e-con.rw-svc:hover .rw-svc__list,
	.e-con.rw-svc:focus-within .rw-svc__list {
		max-height: 140px;
		opacity: 1;
	}

	.e-con.rw-svc:hover .rw-svc__head .elementor-button,
	.e-con.rw-svc:focus-within .rw-svc__head .elementor-button {
		background: var(--rw-electric);
		color: var(--rw-white);
		transform: rotate(45deg);
	}
}

/* Touch screens: no hover, so show everything. */
@media (hover: none) {
	.e-con.rw-svc {
		height: auto;
	}

	.rw-svc .rw-svc__visual {
		height: 210px;
	}

	.rw-svc__text p {
		-webkit-line-clamp: unset;
	}

	.rw-svc__list {
		max-height: none;
		opacity: 1;
	}
}

/* Service scenes */
.rw-sv {
	position: absolute;
	inset: 22px 22px auto;
	font-family: var(--rw-font);
}

.rw-sv__win,
.rw-sv__editor,
.rw-sv__paper,
.rw-sv__video,
.rw-sv__panel,
.rw-sv__serp {
	border-radius: 12px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.rw-sv__win {
	overflow: hidden;
	width: 82%;
	background: #fff;
}

.rw-sv__bar {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 7px 10px;
	background: var(--rw-mist);
}

.rw-sv__bar i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #cdd3e1;
}

.rw-sv__bar span {
	margin-left: 6px;
	color: var(--rw-muted);
	font-size: 10px;
}

.rw-sv__win-body {
	display: grid;
	gap: 7px;
	padding: 12px;
}

.rw-sv__h {
	width: 64%;
	height: 10px;
	border-radius: 4px;
	background: var(--rw-ink);
}

.rw-sv__line {
	height: 7px;
	border-radius: 4px;
	background: var(--rw-line);
}

.rw-sv__line--s {
	width: 70%;
}

.rw-sv__focus {
	justify-self: start;
	padding: 6px 14px;
	border-radius: 8px;
	background: var(--rw-electric);
	color: #fff;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	animation: rw-focus 2.4s ease-in-out infinite;
}

@keyframes rw-focus {
	0%, 100% { box-shadow: 0 0 0 3px #fff, 0 0 0 6px rgba(245, 158, 11, 0.3); }
	50% { box-shadow: 0 0 0 3px #fff, 0 0 0 6px #f59e0b; }
}

.rw-sv__sr {
	position: absolute;
	top: 96px;
	right: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 7px 12px 7px 7px;
	border-radius: 999px;
	background: var(--rw-midnight);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
}

.rw-sv__sr i,
.rw-sv__toast > i,
.rw-sv__pill i {
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--rw-electric);
	color: #fff;
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
}

.rw-sv__checks {
	position: absolute;
	top: 148px;
	left: 0;
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rw-sv__checks li {
	padding: 4px 9px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: #d4d9e8;
	font-size: 10.5px;
	font-weight: 600;
}

.rw-sv__checks li::before {
	margin-right: 4px;
	color: #34d399;
	content: "✓";
}

.rw-sv__editor {
	overflow: hidden;
	padding-bottom: 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #0b1124;
	color: #c8cee0;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 11px;
}

.rw-sv__editor p {
	margin: 0;
	padding: 3px 12px;
	white-space: nowrap;
}

.rw-sv__editor .rw-sv__file {
	margin-bottom: 6px;
	padding: 7px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: #121a36;
	color: #a9b2c8;
	font-family: var(--rw-font);
	font-size: 10.5px;
	font-weight: 600;
}

.rw-sv__editor i {
	display: inline-block;
	width: 22px;
	color: #9aa3b8;
	font-style: normal;
}

.rw-sv__editor .k { color: #7dd3fc; }
.rw-sv__editor .a { color: #c4b5fd; }
.rw-sv__editor .v { color: #fcd34d; }
.rw-sv__editor .is-del { background: rgba(244, 63, 94, 0.16); }
.rw-sv__editor .is-add { background: rgba(16, 185, 129, 0.16); }

.rw-sv__pill {
	position: absolute;
	right: 0;
	bottom: -14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 12px 6px 6px;
	border-radius: 999px;
	background: #fff;
	color: var(--rw-ink);
	font-size: 11px;
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.rw-sv__pill--ok i,
.rw-sv__pill--up i {
	background: var(--rw-pass);
}

.rw-sv--doc {
	inset: 18px 34px auto;
}

.rw-sv__paper {
	position: relative;
	padding: 14px 16px;
	background: #fff;
	color: var(--rw-ink);
}

.rw-sv__paper--back {
	position: absolute;
	inset: 10px -10px -10px 10px;
	background: #c7cdf9;
	opacity: 0.5;
}

.rw-sv__paper > b {
	display: block;
	font-size: 12.5px;
}

.rw-sv__paper > small {
	display: block;
	margin-bottom: 6px;
	color: var(--rw-muted);
	font-size: 10px;
}

.rw-sv__paper p {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	padding: 5px 0;
	border-top: 1px solid var(--rw-line);
	font-size: 10.5px;
}

.rw-sv__paper em {
	padding: 1px 7px;
	border-radius: 999px;
	font-size: 9.5px;
	font-style: normal;
	font-weight: 700;
}

.rw-sv__paper .ok { background: #e3f5ea; color: var(--rw-pass); }
.rw-sv__paper .part { background: #fdf0e1; color: #9a4708; }

.rw-sv__seal {
	position: absolute;
	top: -10px;
	right: -14px;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--rw-signature);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.15);
}

.rw-sv__video {
	position: relative;
	display: grid;
	gap: 4px;
	padding: 16px 16px 26px;
	background: linear-gradient(135deg, #1f2beb, #7c3aed);
	color: #fff;
}

.rw-sv__video b {
	font-size: 15px;
}

.rw-sv__video small {
	color: #e0e3ff;
	font-size: 10.5px;
}

.rw-sv__live {
	justify-self: start;
	margin-bottom: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.3);
	color: #fca5a5;
	font-size: 10px;
	font-weight: 700;
}

.rw-sv__play {
	position: absolute;
	top: 16px;
	right: 16px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	color: var(--rw-electric);
	font-size: 13px;
	font-style: normal;
}

.rw-sv__progress {
	position: absolute;
	right: 16px;
	bottom: 12px;
	left: 16px;
	height: 4px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.25);
}

.rw-sv__progress em {
	display: block;
	width: 45%;
	height: 100%;
	border-radius: 2px;
	background: #fff;
}

.rw-sv__people {
	display: flex;
	align-items: center;
	margin-top: 14px;
}

.rw-sv__people i {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin-right: -8px;
	border: 2px solid #0f1530;
	border-radius: 50%;
	background: var(--c);
	color: #fff;
	font-size: 10px;
	font-style: normal;
	font-weight: 700;
}

.rw-sv__people em {
	margin-left: 18px;
	color: #d4d9e8;
	font-size: 11.5px;
	font-style: normal;
	font-weight: 600;
}

.rw-sv__panel {
	padding: 12px 14px 6px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: #0f1634;
}

.rw-sv__panel-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 4px;
	color: #d4d9e8;
	font-size: 11px;
}

.rw-sv__panel-head span {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
}

.rw-sv__panel-head small {
	color: var(--rw-on-dark-muted);
	font-size: 11px;
}

.rw-sv__panel svg {
	width: 100%;
	height: 70px;
}

.rw-sv__toast {
	position: absolute;
	right: -6px;
	bottom: -26px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 12px 8px 8px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}

.rw-sv__toast > i {
	background: #f97316;
}

.rw-sv__toast b {
	display: block;
	color: var(--rw-ink);
	font-size: 11.5px;
}

.rw-sv__toast small {
	color: var(--rw-muted);
	font-size: 10px;
}

.rw-sv__serp {
	padding: 12px 14px;
	background: #fff;
}

.rw-sv__q {
	margin: 0 0 8px;
	padding: 6px 12px;
	border: 1px solid var(--rw-line);
	border-radius: 999px;
	color: var(--rw-ink);
	font-size: 11px;
}

.rw-sv__res {
	display: grid;
	gap: 3px;
	padding: 6px 8px;
	border-radius: 8px;
}

.rw-sv__res.is-you {
	background: #f0fdf4;
}

.rw-sv__res small {
	color: var(--rw-pass);
	font-size: 9.5px;
}

.rw-sv__res b {
	color: #1a0dab;
	font-size: 12.5px;
}

.rw-sv__res:not(.is-you) b {
	color: #6b6fa8;
}

.rw-sv__res span {
	height: 5px;
	border-radius: 3px;
	background: var(--rw-line);
}

@media (prefers-reduced-motion: reduce) {
	.rw-tl-badge .elementor-heading-title,
	.rw-sv * {
		animation: none !important;
	}
}

/* Solid fallbacks under the scene gradients so contrast is measurable. */
.rw-svc .rw-ill {
	background-color: #0f1634;
}

.rw-sv__checks li {
	background: #19203e;
}

.rw-sv__people em,
.rw-sv__live {
	padding: 2px 8px;
	border-radius: 999px;
	background: #19203e;
}

.rw-sv__video small {
	color: #fff;
}

/* 19. Blog post content ----------------------------------------------------------- */
.elementor-widget-theme-post-content table,
.rw-entry__content table {
	width: 100%;
	max-width: 100%;
	margin: 1.5rem 0;
	overflow-x: auto;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius);
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.9375rem;
}

@media (max-width: 640px) {
	.elementor-widget-theme-post-content table,
	.rw-entry__content table {
		display: block;
	}
}

.elementor-widget-theme-post-content table th,
.elementor-widget-theme-post-content table td,
.rw-entry__content table th,
.rw-entry__content table td {
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid var(--rw-line);
	text-align: left;
	vertical-align: top;
}

.elementor-widget-theme-post-content table thead th,
.rw-entry__content table thead th {
	background: var(--rw-mist);
	color: var(--rw-ink);
	font-weight: 700;
}

.elementor-widget-theme-post-content table tbody th,
.rw-entry__content table tbody th {
	color: var(--rw-ink);
	font-weight: 600;
}

.elementor-widget-theme-post-content table tbody tr:last-child > *,
.rw-entry__content table tbody tr:last-child > * {
	border-bottom: 0;
}

.elementor-widget-theme-post-content blockquote,
.rw-entry__content blockquote {
	margin: 1.5rem 0;
	padding: 14px 18px;
	border-left: 4px solid var(--rw-electric);
	border-radius: 0 var(--rw-radius-sm) var(--rw-radius-sm) 0;
	background: #f5f6ff;
	color: var(--rw-ink);
}

.elementor-widget-theme-post-content blockquote p:last-child,
.rw-entry__content blockquote p:last-child {
	margin-bottom: 0;
}

.elementor-widget-theme-post-content code,
.rw-entry__content code {
	padding: 1px 6px;
	border-radius: 6px;
	background: var(--rw-mist);
	color: var(--rw-ink);
	font-size: 0.9em;
}

/* Post cards use the 1200x630 cover shape so text in covers is never cropped. */
.elementor-posts .elementor-post__thumbnail {
	padding-bottom: 52.5% !important;
}

.elementor-posts .elementor-post__thumbnail img {
	object-fit: cover;
	object-position: center;
}

/* 20. Inner pages: shared compact hero --------------------------------------------- */
.e-con.rw-page-hero {
	--padding-top: clamp(3rem, 6vw, 4.5rem);
	--padding-bottom: clamp(3rem, 6vw, 4.5rem);
	text-align: center;
}

.rw-page-hero > .e-con-inner,
.rw-page-hero .e-con {
	align-items: center;
}

.rw-display-sm .elementor-heading-title,
.rw-page-hero .elementor-widget-heading .elementor-heading-title.elementor-size-default {
	line-height: 1.1;
}

.rw-display-sm .elementor-heading-title {
	color: var(--rw-white) !important;
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.03em !important;
	text-transform: none !important;
}

.rw-page-hero .rw-lead.elementor-widget-text-editor,
.rw-page-hero .elementor-widget-text-editor {
	max-width: 46rem;
	margin-inline: auto;
	color: var(--rw-on-dark-muted) !important;
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem) !important;
	line-height: 1.6 !important;
}

.rw-page-hero .rw-eyebrow .elementor-heading-title {
	color: var(--rw-signal) !important;
}

/* Legacy section backgrounds and buttons pick up the system look. */
.elementor-widget-button .elementor-button[style*="0B5CFF"],
.rw-page-hero .elementor-button {
	border-radius: var(--rw-radius-sm);
}

/* Post cards on the blog and archives */
.rw-posts .elementor-posts-container {
	gap: 24px;
}

/* 21. Single post ---------------------------------------------------------------- */
.e-con.rw-post-hero {
	--padding-top: clamp(2.5rem, 5vw, 3.75rem);
	--padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.rw-post-hero .elementor-widget-button.rw-link .elementor-button {
	font-size: 0.9375rem;
}

.rw-post-cats .elementor-icon-list-items {
	justify-content: center;
}

.rw-post-cats .elementor-icon-list-icon {
	display: none;
}

.rw-post-cats .elementor-post-info__terms-list {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.rw-post-cats .elementor-post-info__terms-list-item {
	padding: 4px 12px;
	border: 1px solid rgba(0, 189, 255, 0.5);
	border-radius: 999px;
	color: var(--rw-signal) !important;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.rw-post-cats .elementor-post-info__terms-list-item:hover {
	background: rgba(0, 189, 255, 0.12);
}

/* Hide the comma separators between category pills. */
.rw-post-cats .elementor-post-info__terms-list {
	font-size: 0;
}

.rw-post-hero .rw-lead.elementor-widget-theme-post-excerpt,
.rw-post-hero .elementor-widget-theme-post-excerpt {
	max-width: 46rem;
	margin-inline: auto;
	color: var(--rw-on-dark-muted);
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	line-height: 1.6;
}

.rw-post-meta .elementor-icon-list-items {
	justify-content: center;
	gap: 6px 20px;
}

.rw-post-meta .elementor-icon-list-item::after {
	display: none !important;
}

.rw-post-meta .elementor-icon-list-text,
.rw-post-meta .elementor-icon-list-text a {
	color: var(--rw-on-dark-muted) !important;
	font-size: 0.9375rem;
}

.rw-post-meta .elementor-icon-list-icon svg,
.rw-post-meta .elementor-icon-list-icon i {
	color: var(--rw-signal) !important;
	fill: var(--rw-signal) !important;
}

.e-con.rw-post-body {
	--padding-top: clamp(2.5rem, 5vw, 3.5rem);
	--padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

.rw-post-cover img {
	width: 100%;
	border-radius: var(--rw-radius-lg);
	box-shadow: var(--rw-shadow);
}

.rw-post-aside {
	position: sticky;
	top: 108px;
	align-self: flex-start;
}

.admin-bar .rw-post-aside {
	top: 140px;
}

@media (max-width: 1024px) {
	.rw-post-aside {
		position: static;
	}
}

.rw-toc .elementor-toc__header {
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--rw-line) !important;
	background: var(--rw-mist) !important;
}

.rw-toc .elementor-toc__header-title {
	color: var(--rw-ink) !important;
	font-family: var(--rw-font) !important;
	font-size: 0.875rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rw-toc .elementor-toc__body {
	max-height: 50vh;
	padding: 14px 18px !important;
	overflow-y: auto;
}

.rw-toc .elementor-toc__list-item-text-wrapper,
.rw-toc .elementor-toc__list-item-text {
	color: var(--rw-slate) !important;
	font-family: var(--rw-font) !important;
	font-size: 0.9rem !important;
	line-height: 1.45;
	text-decoration: none !important;
}

.rw-toc .elementor-toc__list-item-text:hover,
.rw-toc .elementor-toc__list-item-text.elementor-item-active {
	color: var(--rw-electric) !important;
	font-weight: 600;
}

.rw-toc .elementor-toc__list-item {
	margin-bottom: 8px;
}

.rw-toc .elementor-widget-container,
.rw-toc > .elementor-toc {
	overflow: hidden;
	border: 1px solid var(--rw-line) !important;
	border-radius: var(--rw-radius) !important;
	background: var(--rw-white);
}

.e-con.rw-post-cta {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 22px;
	--padding-right: 22px;
	border-radius: var(--rw-radius);
	background-color: var(--rw-midnight);
	background-image: radial-gradient(80% 100% at 100% 0%, rgba(31, 43, 235, 0.55), transparent 70%);
}

.rw-post-cta .elementor-heading-title {
	color: var(--rw-white) !important;
	font-size: 1.25rem !important;
}

.rw-post-cta .elementor-widget-text-editor {
	color: var(--rw-on-dark-muted) !important;
	font-size: 0.9375rem !important;
}

.rw-post-cta .rw-scan__row {
	flex-direction: column;
}

.rw-post-cta .rw-scan__button {
	width: 100%;
}

.rw-post-cta .rw-scan__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.rw-share .elementor-share-btn {
	background-color: var(--rw-mist) !important;
	color: var(--rw-ink) !important;
}

.rw-share .elementor-share-btn:hover {
	background-color: var(--rw-electric) !important;
	color: var(--rw-white) !important;
}

.rw-share .elementor-share-btn__icon svg {
	fill: currentColor !important;
}

.rw-post-nav .elementor-post-navigation {
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid var(--rw-line);
}

.rw-post-nav .post-navigation__prev--label,
.rw-post-nav .post-navigation__next--label {
	color: var(--rw-electric) !important;
	font-family: var(--rw-font) !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rw-post-nav .post-navigation__prev--title,
.rw-post-nav .post-navigation__next--title {
	color: var(--rw-ink) !important;
	font-family: var(--rw-font) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

/* Article typography (new and legacy posts) */
.rw-prose,
.rw-prose .elementor-widget-container {
	color: var(--rw-slate);
	font-family: var(--rw-font);
	font-size: 1.125rem;
	line-height: 1.75;
}

.rw-prose p,
.rw-prose ul,
.rw-prose ol {
	margin: 0 0 1.15em;
}

.rw-prose h2,
.rw-prose h3,
.rw-prose h4 {
	color: var(--rw-ink);
	font-family: var(--rw-font);
	letter-spacing: -0.02em;
	scroll-margin-top: 110px;
}

.rw-prose h2 {
	margin: 2.2em 0 0.6em;
	font-size: clamp(1.5rem, 2.4vw, 1.875rem);
	line-height: 1.2;
}

.rw-prose h3 {
	margin: 1.8em 0 0.5em;
	font-size: 1.25rem;
	line-height: 1.3;
}

/* Older posts used H4 for their sections. */
.rw-prose h4 {
	margin: 2em 0 0.6em;
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	line-height: 1.25;
}

.rw-prose h4 b,
.rw-prose h4 strong {
	font-weight: 700;
}

.rw-prose h4:empty {
	display: none;
}

.rw-prose > .elementor-widget-container > :first-child,
.rw-prose > :first-child {
	margin-top: 0;
}

.rw-prose ul,
.rw-prose ol {
	padding-left: 1.4em;
}

.rw-prose li {
	margin-bottom: 0.45em;
	padding-left: 0.2em;
}

.rw-prose li::marker {
	color: var(--rw-electric);
	font-weight: 700;
}

.rw-prose a {
	color: var(--rw-electric);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.rw-prose a:hover {
	text-decoration-thickness: 2px;
}

.rw-prose img {
	height: auto;
	border-radius: var(--rw-radius);
}

.rw-prose img.alignright {
	float: right;
	max-width: 40%;
	margin: 0.4em 0 1em 1.5em;
}

.rw-prose img.alignleft {
	float: left;
	max-width: 40%;
	margin: 0.4em 1.5em 1em 0;
}

@media (max-width: 640px) {
	.rw-prose img.alignright,
	.rw-prose img.alignleft {
		float: none;
		max-width: 100%;
		margin: 1em 0;
	}
}

.rw-prose strong {
	color: var(--rw-ink);
}

/* 22. Plain pages (no Elementor): dark header band ------------------------------------ */
.rw-entry__header.rw-container {
	max-width: none;
	margin: 0;
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
	background-color: var(--rw-midnight);
	background-image: radial-gradient(60% 120% at 85% 0%, rgba(31, 43, 235, 0.45), transparent 70%);
	text-align: center;
}

.rw-entry__header .rw-entry__title {
	max-width: 860px;
	margin: 0 auto;
	color: var(--rw-white);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.rw-entry__header .rw-entry__meta {
	margin-top: 10px;
	color: var(--rw-on-dark-muted);
}

.rw-entry__content {
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
	font-size: 1.0625rem;
	line-height: 1.75;
}

.rw-entry__content h2,
.rw-entry__content h3,
.rw-entry__content h4 {
	margin: 1.8em 0 0.5em;
	color: var(--rw-ink);
}

.rw-entry__content h2 { font-size: 1.625rem; }
.rw-entry__content h3 { font-size: 1.3125rem; }
.rw-entry__content h4 { font-size: 1.125rem; }

.rw-post-cats .elementor-post-info__terms-list-item {
	display: inline-block;
	font-size: 0.8125rem !important;
	line-height: 1.4;
}

.rw-post-hero .elementor-widget-theme-post-excerpt,
.rw-post-hero .elementor-widget-theme-post-excerpt .elementor-widget-container,
.rw-post-hero .elementor-widget-theme-post-excerpt p {
	color: var(--rw-on-dark-muted) !important;
	font-family: var(--rw-font) !important;
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem) !important;
	line-height: 1.6 !important;
	text-align: center;
}

.rw-hero-sub .elementor-heading-title {
	max-width: 46rem;
	margin-inline: auto;
	color: var(--rw-on-dark-muted) !important;
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* Heroes with a form beside the text read better left-aligned. */
.e-con.rw-page-hero:has(.elementor-widget-form) {
	text-align: left;
}

.rw-page-hero:has(.elementor-widget-form) .elementor-widget-text-editor,
.rw-page-hero:has(.elementor-widget-form) .rw-hero-sub .elementor-heading-title {
	margin-inline: 0;
}

.rw-page-hero:has(.elementor-widget-form) .elementor-heading-title {
	text-align: left !important;
}

.rw-page-hero .elementor-widget-form {
	padding: 22px;
	border-radius: var(--rw-radius-lg);
	background: var(--rw-white);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}

/* Archive fallback */
.rw-archive {
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
}

.rw-card__media img {
	aspect-ratio: 1200 / 630;
}

.rw-card__excerpt p {
	margin: 0;
	color: var(--rw-slate);
	font-size: 0.9375rem;
}

.rw-archive .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	margin: 2rem 4px 0;
	border: 1px solid var(--rw-line);
	border-radius: var(--rw-radius-sm);
	color: var(--rw-ink);
	text-decoration: none;
}

.rw-archive .page-numbers.current {
	border-color: var(--rw-midnight);
	background: var(--rw-midnight);
	color: var(--rw-white);
}

.rw-post-cats .elementor-icon-list-icon {
	display: none !important;
}

/* 23. Blog post refinements ------------------------------------------------------ */

/* The site header scrolls away, so the sidebar can stick close to the top. */
.rw-post-aside {
	top: 24px;
}

.admin-bar .rw-post-aside {
	top: 56px;
}

.rw-toc .elementor-toc__header {
	padding: 12px 16px !important;
}

.rw-toc .elementor-toc__body {
	padding: 10px 16px 14px !important;
}

.rw-toc .elementor-toc__list-item {
	margin-bottom: 4px;
}

.rw-toc .elementor-toc__list-item-text-wrapper {
	padding: 4px 0;
}

.rw-toc .elementor-toc__list-item-text.elementor-item-active {
	color: var(--rw-electric) !important;
}

/* Sidebar scan card: compact, stacked, no white tray around the field. */
.e-con.rw-post-cta {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
	--gap: 8px;
	row-gap: 8px;
}

.rw-post-cta .elementor-heading-title {
	font-size: 1.125rem !important;
	line-height: 1.3 !important;
}

.rw-post-cta .elementor-heading-title::before {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	border-radius: 8px;
	background: rgba(0, 189, 255, 0.16);
	color: var(--rw-signal);
	content: "✓" / "";
	font-size: 0.875rem;
	vertical-align: 1px;
}

.rw-post-cta .elementor-widget-text-editor {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}

.rw-post-cta .rw-scan__row {
	flex-direction: column;
	gap: 8px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.rw-post-cta .rw-scan__row:focus-within {
	box-shadow: none;
}

.rw-post-cta .rw-scan__input {
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--rw-radius-sm);
	background: var(--rw-white);
	font-size: 1rem;
}

.rw-post-cta .rw-scan__input:focus {
	outline: 3px solid var(--rw-signal);
	outline-offset: 2px;
}

.rw-post-cta .rw-scan__button {
	width: 100%;
	min-height: 46px;
	background: var(--rw-signal);
	color: var(--rw-midnight);
	box-shadow: none;
}

.rw-post-cta .rw-scan__button:hover {
	background: var(--rw-white);
	color: var(--rw-midnight);
}

.rw-post-cta .rw-scan__help {
	margin-top: 8px;
	font-size: 0.8125rem;
	text-align: center;
}

/* Article typography */
.rw-prose {
	max-width: 46rem;
}

.rw-prose,
.rw-prose .elementor-widget-container {
	color: #3b4257;
	font-size: 1.125rem;
	line-height: 1.8;
}

.rw-prose > .elementor-widget-container > p:first-of-type {
	color: var(--rw-ink);
	font-size: 1.25rem;
	line-height: 1.7;
}

.rw-prose p,
.rw-prose ul,
.rw-prose ol {
	margin-bottom: 1.3em;
}

.rw-prose h2 {
	margin-top: 2.4em;
	margin-bottom: 0.7em;
	padding-top: 1.2em;
	border-top: 1px solid var(--rw-line);
	font-size: clamp(1.5rem, 2.4vw, 1.75rem);
	font-weight: 800;
}

.rw-prose > .elementor-widget-container > h2:first-child {
	padding-top: 0;
	border-top: 0;
}

.rw-prose h3 {
	margin-top: 1.9em;
	font-size: 1.25rem;
	font-weight: 700;
}

.rw-prose li {
	margin-bottom: 0.55em;
}

.rw-prose li > strong:first-child {
	color: var(--rw-ink);
}

.rw-prose table {
	font-size: 1rem;
}

.rw-prose blockquote {
	font-size: 1.0625rem;
}

@media (max-width: 767px) {
	.rw-prose,
	.rw-prose .elementor-widget-container {
		font-size: 1.0625rem;
		line-height: 1.75;
	}

	.rw-prose > .elementor-widget-container > p:first-of-type {
		font-size: 1.125rem;
	}
}

/* Share buttons: readable icons at rest. */
.rw-share .elementor-share-btn {
	border: 1px solid var(--rw-line);
	background-color: var(--rw-white) !important;
}

.rw-share .elementor-share-btn__icon svg,
.rw-share .elementor-share-btn__icon i {
	color: var(--rw-ink) !important;
	fill: var(--rw-ink) !important;
}

.rw-share .elementor-share-btn:hover,
.rw-share .elementor-share-btn:focus-visible {
	border-color: var(--rw-electric);
	background-color: var(--rw-electric) !important;
}

.rw-share .elementor-share-btn:hover svg,
.rw-share .elementor-share-btn:focus-visible svg {
	fill: var(--rw-white) !important;
}

.rw-share .elementor-grid {
	align-items: center;
}

/* Landing header on offers: logo bar without navigation. */
.rw-header.rw-landing-header > .e-con-inner,
.e-con.rw-header.rw-landing-header {
	justify-content: flex-start;
}

/* Call-to-action box inside a post body: <div class="rw-callout"> with a heading, text and a .rw-callout__btn link. */
.rw-prose .rw-callout {
	margin: 2.25rem 0;
	padding: clamp(1.5rem, 4vw, 2rem);
	border-radius: var(--rw-radius-lg);
	background: radial-gradient(70% 120% at 100% 0%, rgba(31, 43, 235, 0.55), transparent 70%), var(--rw-midnight);
	color: var(--rw-on-dark);
}

.rw-prose .rw-callout h2,
.rw-prose .rw-callout h3 {
	margin-top: 0;
	color: var(--rw-on-dark);
}

.rw-prose .rw-callout p {
	color: var(--rw-on-dark-muted);
}

.rw-prose .rw-callout strong {
	color: var(--rw-on-dark);
}

.rw-prose .rw-callout a {
	color: var(--rw-signal);
}

.rw-prose .rw-callout .rw-callout__btn {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.8rem 1.4rem;
	border-radius: 999px;
	background: var(--rw-electric);
	color: var(--rw-white);
	text-decoration: none;
}

.rw-prose .rw-callout .rw-callout__btn:hover {
	background: var(--rw-electric-hover);
}

.rw-prose .rw-callout .rw-callout__btn:focus-visible {
	outline: none;
	box-shadow: var(--rw-focus);
}
