:root {
	--rwfd-red: #c62828;
	--rwfd-red-dark: #941d1d;
	--rwfd-blue: #243e8f;
	--rwfd-gold: #f2c94c;
	--rwfd-ink: #1f2937;
	--rwfd-muted: #6b7280;
	--rwfd-surface: #f6f8fb;
	--rwfd-night: #0f172a;
	--rwfd-white: #ffffff;
	--rwfd-radius-sm: 18px;
	--rwfd-radius-lg: 28px;
	--rwfd-shadow: 0 22px 60px rgba(15, 23, 42, 0.12);
	--rwfd-shadow-strong: 0 22px 60px rgba(12, 17, 29, 0.22);
	--rwfd-transition: 220ms ease;
}

html {
	scroll-behavior: smooth;
}

body.rwfd-theme {
	background:
		radial-gradient(circle at top left, rgba(198, 40, 40, 0.08), transparent 24%),
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	color: var(--rwfd-ink);
	font-family: "Inter", Arial, Helvetica, sans-serif;
}

body.rwfd-theme h1,
body.rwfd-theme h2,
body.rwfd-theme h3,
body.rwfd-theme h4,
body.rwfd-theme h5,
body.rwfd-theme h6,
body.rwfd-theme .elementor-heading-title {
	color: var(--rwfd-night);
	font-family: "Barlow Condensed", Arial, Helvetica, sans-serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	text-wrap: balance;
}

body.rwfd-theme p,
body.rwfd-theme li,
body.rwfd-theme .elementor-widget-text-editor,
body.rwfd-theme .elementor-widget-icon-list {
	color: var(--rwfd-ink);
	font-size: 1rem;
}

body.rwfd-theme a {
	color: var(--rwfd-blue);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
	transition: color var(--rwfd-transition);
}

body.rwfd-theme a:hover,
body.rwfd-theme a:focus-visible {
	color: var(--rwfd-red);
}

body.rwfd-theme button,
body.rwfd-theme .button,
body.rwfd-theme input[type="button"],
body.rwfd-theme input[type="submit"],
body.rwfd-theme .elementor-button {
	border: 0;
	border-radius: var(--rwfd-radius-sm);
	box-shadow: none;
	font-family: "Inter", Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 0.95rem 1.5rem;
	text-transform: uppercase;
	transition:
		transform var(--rwfd-transition),
		background-color var(--rwfd-transition),
		color var(--rwfd-transition),
		border-color var(--rwfd-transition),
		box-shadow var(--rwfd-transition);
}

body.rwfd-theme .elementor-button:hover,
body.rwfd-theme .elementor-button:focus-visible,
body.rwfd-theme button:hover,
body.rwfd-theme button:focus-visible,
body.rwfd-theme .button:hover,
body.rwfd-theme .button:focus-visible {
	box-shadow: 0 14px 34px rgba(198, 40, 40, 0.2);
	transform: translateY(-2px);
}

body.rwfd-theme .elementor-button.elementor-size-md {
	padding: 1rem 1.55rem;
}

body.rwfd-theme .elementor-button-content-wrapper {
	align-items: center;
	gap: 0.55rem;
}

body.rwfd-theme input:not([type="submit"]):not([type="button"]),
body.rwfd-theme textarea,
body.rwfd-theme select {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(31, 41, 55, 0.12);
	border-radius: 18px;
	color: var(--rwfd-ink);
	padding: 0.95rem 1rem;
}

body.rwfd-theme input:focus,
body.rwfd-theme textarea:focus,
body.rwfd-theme select:focus {
	border-color: rgba(36, 62, 143, 0.45);
	box-shadow: 0 0 0 4px rgba(36, 62, 143, 0.12);
	outline: none;
}

body.rwfd-theme .site-header,
body.rwfd-theme .site-footer {
	position: relative;
	z-index: 3;
}

body.rwfd-theme .site-header {
	backdrop-filter: saturate(130%) blur(14px);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.88));
	border-bottom: 1px solid rgba(31, 41, 55, 0.08);
}

body.rwfd-theme .site-header .site-navigation a,
body.rwfd-theme .site-header .site-navigation-dropdown a {
	color: var(--rwfd-night);
	font-family: "Inter", Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.rwfd-theme .site-header .site-navigation a:hover,
body.rwfd-theme .site-header .site-navigation a:focus-visible,
body.rwfd-theme .site-header .site-navigation-dropdown a:hover,
body.rwfd-theme .site-header .site-navigation-dropdown a:focus-visible,
body.rwfd-theme .site-header .site-navigation .current-menu-item > a {
	color: var(--rwfd-red);
}

body.rwfd-theme .site-footer {
	background:
		linear-gradient(180deg, rgba(15, 23, 42, 0), rgba(15, 23, 42, 0.08)),
		linear-gradient(135deg, #10192f 0%, #1b2540 100%);
	color: rgba(255, 255, 255, 0.86);
}

body.rwfd-theme .site-footer a,
body.rwfd-theme .site-footer p,
body.rwfd-theme .site-footer li {
	color: inherit;
}

.rwfd-section-shell .elementor-widget-wrap,
.rwfd-section-shell .e-con-inner {
	position: relative;
}

.rwfd-hero {
	overflow: hidden;
	position: relative;
}

.rwfd-hero::before {
	background:
		linear-gradient(90deg, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.74) 48%, rgba(15, 23, 42, 0.48) 100%),
		radial-gradient(circle at top left, rgba(198, 40, 40, 0.3), transparent 35%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.rwfd-hero > .elementor-container,
.rwfd-hero > .e-con-inner {
	position: relative;
	z-index: 2;
}

.rwfd-hero .elementor-heading-title,
.rwfd-hero .elementor-widget-text-editor,
.rwfd-hero .elementor-icon-list-text {
	color: var(--rwfd-white);
}

.rwfd-kicker,
.rwfd-kicker .elementor-heading-title {
	color: var(--rwfd-gold) !important;
	font-family: "Inter", Arial, Helvetica, sans-serif !important;
	font-size: 0.86rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}

.rwfd-statement-card,
.rwfd-action-card,
.rwfd-service-card,
.rwfd-feature-card,
.rwfd-apparatus-card,
.rwfd-contact-card,
.rwfd-process-card,
.rwfd-qa-card {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: var(--rwfd-radius-lg);
	box-shadow: var(--rwfd-shadow);
	overflow: hidden;
	position: relative;
}

.rwfd-action-card::before,
.rwfd-service-card::before,
.rwfd-feature-card::before,
.rwfd-apparatus-card::before,
.rwfd-process-card::before,
.rwfd-qa-card::before {
	background: linear-gradient(90deg, var(--rwfd-red), var(--rwfd-gold));
	content: "";
	display: block;
	height: 5px;
	width: 100%;
}

.rwfd-action-card,
.rwfd-service-card,
.rwfd-feature-card,
.rwfd-apparatus-card,
.rwfd-process-card,
.rwfd-qa-card {
	padding: 1.8rem;
}

.rwfd-statement-card {
	background:
		linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(36, 62, 143, 0.94));
	color: rgba(255, 255, 255, 0.92);
	padding: 2rem;
}

.rwfd-statement-card h2,
.rwfd-statement-card h3,
.rwfd-statement-card p,
.rwfd-statement-card li {
	color: inherit;
}

.rwfd-badge-pill {
	align-items: center;
	background: rgba(36, 62, 143, 0.08);
	border: 1px solid rgba(36, 62, 143, 0.12);
	border-radius: 999px;
	color: var(--rwfd-blue);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 800;
	gap: 0.45rem;
	letter-spacing: 0.08em;
	padding: 0.55rem 0.9rem;
	text-transform: uppercase;
}

.rwfd-dark-band {
	background:
		linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(27, 37, 64, 0.94)),
		radial-gradient(circle at top right, rgba(242, 201, 76, 0.18), transparent 28%);
	color: rgba(255, 255, 255, 0.9);
}

.rwfd-dark-band h1,
.rwfd-dark-band h2,
.rwfd-dark-band h3,
.rwfd-dark-band p,
.rwfd-dark-band li,
.rwfd-dark-band .elementor-heading-title,
.rwfd-dark-band .elementor-icon-list-text {
	color: inherit;
}

.rwfd-grid-tight .elementor-widget-wrap,
.rwfd-grid-tight .e-con-inner {
	gap: 1.2rem;
}

.rwfd-logo-lockup img {
	filter: drop-shadow(0 18px 30px rgba(15, 23, 42, 0.16));
}

.rwfd-metric {
	display: grid;
	gap: 0.2rem;
}

.rwfd-metric strong {
	color: var(--rwfd-red);
	display: block;
	font-family: "Barlow Condensed", Arial, Helvetica, sans-serif;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 0.95;
}

.rwfd-divider-accent {
	display: inline-block;
	height: 5px;
	width: 88px;
	background: linear-gradient(90deg, var(--rwfd-red), var(--rwfd-gold));
	border-radius: 999px;
}

.rwfd-contact-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 251, 0.98));
	padding: 2rem;
}

.rwfd-form-shell {
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(31, 41, 55, 0.08);
	border-radius: var(--rwfd-radius-lg);
	box-shadow: var(--rwfd-shadow);
	padding: 2rem;
}

.rwfd-image-card img {
	border-radius: calc(var(--rwfd-radius-lg) - 6px);
	box-shadow: var(--rwfd-shadow-strong);
}

.rwfd-map-frame iframe,
.rwfd-map-frame img {
	border: 0;
	border-radius: calc(var(--rwfd-radius-lg) - 4px);
	overflow: hidden;
	width: 100%;
}

.rwfd-note {
	background: rgba(242, 201, 76, 0.16);
	border-left: 4px solid var(--rwfd-gold);
	border-radius: 18px;
	padding: 1rem 1.1rem;
}

.rwfd-note p:last-child,
.rwfd-service-card p:last-child,
.rwfd-feature-card p:last-child,
.rwfd-apparatus-card p:last-child,
.rwfd-contact-card p:last-child,
.rwfd-process-card p:last-child,
.rwfd-qa-card p:last-child {
	margin-bottom: 0;
}

.rwfd-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 480ms ease,
		transform 480ms ease;
}

.rwfd-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.rwfd-page-banner {
	overflow: hidden;
	position: relative;
}

.rwfd-page-banner::before {
	background:
		linear-gradient(90deg, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.72)),
		repeating-linear-gradient(-45deg, rgba(242, 201, 76, 0.06), rgba(242, 201, 76, 0.06) 14px, transparent 14px, transparent 28px);
	content: "";
	inset: 0;
	position: absolute;
}

.rwfd-page-banner > .elementor-container,
.rwfd-page-banner > .e-con-inner {
	position: relative;
	z-index: 1;
}

.rwfd-page-banner h1,
.rwfd-page-banner p,
.rwfd-page-banner .elementor-heading-title,
.rwfd-page-banner .elementor-widget-text-editor {
	color: var(--rwfd-white);
}

@media (max-width: 1024px) {
	body.rwfd-theme .site-header .site-navigation a,
	body.rwfd-theme .site-header .site-navigation-dropdown a {
		letter-spacing: 0.03em;
	}

	.rwfd-action-card,
	.rwfd-service-card,
	.rwfd-feature-card,
	.rwfd-apparatus-card,
	.rwfd-process-card,
	.rwfd-qa-card,
	.rwfd-contact-card,
	.rwfd-statement-card,
	.rwfd-form-shell {
		padding: 1.5rem;
	}
}

@media (max-width: 767px) {
	body.rwfd-theme .elementor-button,
	body.rwfd-theme button,
	body.rwfd-theme .button {
		width: 100%;
		justify-content: center;
	}

	.rwfd-hero::before,
	.rwfd-page-banner::before {
		background:
			linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(15, 23, 42, 0.8)),
			radial-gradient(circle at top center, rgba(198, 40, 40, 0.26), transparent 38%);
	}

	.rwfd-kicker,
	.rwfd-kicker .elementor-heading-title {
		letter-spacing: 0.16em !important;
	}
}
