:where(body) {
	overflow-x: clip;
}

.wp-site-blocks {
	min-height: 100vh;
}

.rf-skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
	transform: translateY(-180%);
	background: #fff;
	color: #0b1020;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
}

.rf-skip-link:focus {
	transform: translateY(0);
}

.rf-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(223, 227, 238, 0.78);
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

header.wp-block-template-part {
	border-bottom: 0 !important;
	background: transparent !important;
}

.rf-header-inner {
	min-height: var(--rf-header-height);
}

.rf-brand {
	color: #0b1020;
	text-decoration: none;
	letter-spacing: -0.04em;
}

.rf-brand-logo {
	display: block;
	width: 10.75rem;
	height: auto;
	object-fit: contain;
}

.rf-brand-mark {
	display: inline-grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 12px;
	background: linear-gradient(135deg, #7157e8, #f36574);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.rf-primary-navigation .wp-block-navigation-item__content {
	color: #242b42;
	text-decoration: none;
}

.rf-primary-navigation p,
.rf-primary-navigation br {
	display: none !important;
}

.rf-primary-navigation .current-menu-item > .wp-block-navigation-item__content,
.rf-primary-navigation .wp-block-navigation-item__content:hover {
	color: #7157e8;
}

.rf-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	padding: 0.2rem;
	border: 1px solid #dfe3ee;
	border-radius: 999px;
	background: #fff;
}

.rf-language-switcher a {
	min-width: 2.2rem;
	min-height: 2.2rem;
	display: inline-grid;
	place-items: center;
	border-radius: 999px;
	color: #59627a;
	font-size: 0.73rem;
	font-weight: 800;
	text-decoration: none;
}

.rf-language-switcher a[aria-current="page"] {
	background: #0b1020;
	color: #fff;
}

.rf-section {
	position: relative;
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.rf-hero {
	overflow: hidden;
	min-height: min(820px, calc(100vh - var(--rf-header-height)));
	display: grid;
	align-items: center;
}

.rf-hero::before,
.rf-hero::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(4px);
	pointer-events: none;
}

.rf-hero::before {
	width: min(46vw, 640px);
	height: min(46vw, 640px);
	top: -20%;
	right: -12%;
	background: radial-gradient(circle, rgba(154, 66, 220, 0.2), transparent 67%);
}

.rf-hero::after {
	width: min(36vw, 520px);
	height: min(36vw, 520px);
	bottom: -18%;
	left: -10%;
	background: radial-gradient(circle, rgba(243, 101, 116, 0.13), transparent 68%);
}

.rf-hero > * {
	position: relative;
	z-index: 1;
}

.is-style-eyebrow {
	color: #7157e8;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.is-style-replyflow-card,
.rf-card {
	height: 100%;
	border: 1px solid #dfe3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 50px rgba(21, 29, 58, 0.07);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.is-style-replyflow-card:hover,
.rf-card:hover {
	transform: translateY(-3px);
	border-color: #c9c2f5;
	box-shadow: 0 22px 60px rgba(21, 29, 58, 0.11);
}

.rf-icon-chip {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 13px;
	background: #f1edff;
	color: #5138bd;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 800;
}

.rf-mockup {
	position: relative;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 28px;
	background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
	box-shadow: 0 30px 90px rgba(0,0,0,.28);
	padding: clamp(1rem,3vw,2rem);
}

.rf-window-bar {
	height: 2.6rem;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.rf-window-bar::before {
	content: "";
	display: block;
	width: 3.2rem;
	height: 0.65rem;
	margin-top: 0.45rem;
	border-radius: 999px;
	background: radial-gradient(circle at .35rem .35rem,#f36574 0 .28rem,transparent .3rem),radial-gradient(circle at 1.55rem .35rem,#f5c451 0 .28rem,transparent .3rem),radial-gradient(circle at 2.75rem .35rem,#53c989 0 .28rem,transparent .3rem);
}

.rf-placeholder-visual {
	min-height: 320px;
	display: grid;
	place-items: center;
	border: 1px dashed #c9c2f5;
	border-radius: 22px;
	background: linear-gradient(135deg,#f5f2ff,#fff4f6);
	color: #7157e8;
	font-weight: 750;
	text-align: center;
}

.rf-dark-section {
	color: #fff;
	background: #0b1020;
}

.rf-dark-section p:not(.is-style-eyebrow) {
	color: #c9cede;
}

.rf-dark-section .is-style-eyebrow {
	color: #cfc7ff;
}

.rf-stat-line {
	border-top: 1px solid rgba(255,255,255,.13);
}

.rf-form-placeholder label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.88rem;
	font-weight: 700;
}

.rf-form-placeholder input,
.rf-form-placeholder textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.2rem;
	border: 1px solid #cfd5e3;
	border-radius: 12px;
	background: #fff;
	padding: 0.8rem 0.95rem;
	font: inherit;
}

.rf-form-placeholder textarea {
	min-height: 9rem;
	resize: vertical;
}

.rf-form-placeholder input:focus,
.rf-form-placeholder textarea:focus {
	border-color: #7157e8;
	outline: 3px solid rgba(113,87,232,.2);
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 750;
}

.wp-block-details[open] {
	border-color: #bdb3f4;
}

.is-style-outline-light .wp-block-button__link {
	border: 1px solid rgba(255,255,255,.55);
	background: transparent;
	color: #fff;
}

.rf-footer a {
	color: #dce0ec;
}

.rf-footer a:hover {
	color: #fff;
}

.rf-footer p.has-small-font-size a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.rf-footer .rf-language-switcher a {
	color: #59627a;
}

.rf-footer .rf-language-switcher a[aria-current="page"] {
	color: #fff;
}

@media (max-width: 900px) {
	.rf-header-cta {
		display: none !important;
	}

	.rf-header-inner {
		gap: 0.65rem !important;
	}

	.rf-primary-navigation {
		order: 3;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
		background: #fff;
	}
}

@media (max-width: 600px) {
	:root {
		--rf-header-height: 68px;
	}

	.rf-brand-name {
		display: none;
	}

	.rf-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.rf-hero {
		min-height: auto;
	}

	.wp-block-buttons > .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons > .wp-block-button .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
	}
}

@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;
	}
}

/* ReplyFlow visual refresh — reference-aligned, native block theme. */
:root {
	--rf-orange: #f44a00;
	--rf-orange-dark: #d93d00;
	--rf-ink: #10151f;
	--rf-warm-white: #fffdfb;
	--rf-soft-orange: #fff2e9;
	--rf-card-border: #ebe7e3;
	--rf-card-shadow: 0 16px 45px rgba(34, 24, 18, 0.08);
}

body {
	background: var(--rf-warm-white);
}

.rf-site-header {
	top: 0.75rem;
	width: min(1480px, calc(100% - 2rem));
	margin: 0.75rem auto 0;
	border: 1px solid rgba(232, 228, 224, 0.9);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 30px rgba(30, 22, 16, 0.1);
}

.rf-header-inner {
	min-height: 72px;
	padding-inline: clamp(1rem, 2vw, 2rem);
}

.rf-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 48px;
	color: var(--rf-ink);
	letter-spacing: normal;
}

.rf-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 10px;
	background: var(--rf-orange);
	box-shadow: 0 8px 20px rgba(244, 74, 0, 0.22);
	font-size: 1.15rem;
	letter-spacing: -0.22em;
	line-height: 1;
}

.rf-brand-mark span:first-child {
	color: #fff;
	transform: translateX(0.05em);
}

.rf-brand-mark span:last-child {
	color: #171b22;
	transform: translateX(-0.05em);
}

.rf-brand-copy {
	display: grid;
	line-height: 1.05;
}

.rf-brand-name {
	font-size: 1.16rem;
	font-weight: 790;
	letter-spacing: -0.035em;
}

.rf-brand-copy small {
	margin-top: 0.23rem;
	color: #62666d;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.035em;
}

.rf-primary-navigation .wp-block-navigation-item__content {
	position: relative;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	color: #171b22;
	font-weight: 650;
}

.rf-primary-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.22rem;
	height: 2px;
	border-radius: 3px;
	background: var(--rf-orange);
	transform: scaleX(0);
	transition: transform 180ms ease;
}

.rf-primary-navigation .current-menu-item > .wp-block-navigation-item__content,
.rf-primary-navigation .wp-block-navigation-item__content:hover {
	color: var(--rf-orange-dark);
}

.rf-primary-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.rf-primary-navigation .wp-block-navigation-item__content:hover::after {
	transform: scaleX(1);
}

.rf-language-switcher {
	gap: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.rf-language-switcher a {
	min-width: 1.75rem;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.22rem;
	border-radius: 0;
	color: #6b6f76;
	font-size: 0.85rem;
	font-weight: 500;
}

.rf-language-switcher a + a::before {
	content: "/";
	margin-right: 0.45rem;
	color: #a1a4aa;
}

.rf-language-switcher a[aria-current="page"] {
	background: transparent;
	color: var(--rf-ink);
	font-weight: 800;
}

.rf-header-cta .wp-block-button__link {
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	background: var(--rf-orange);
	box-shadow: 0 8px 22px rgba(244, 74, 0, 0.19);
}

.rf-main .wp-block-post-content > .wp-block-group:first-child {
	overflow: hidden;
	padding-top: clamp(3.5rem, 6vw, 6rem);
	padding-bottom: clamp(3.5rem, 6vw, 6rem);
	background-color: #fffaf6 !important;
	background-image:
		radial-gradient(circle at 8% 18%, rgba(255, 224, 204, 0.6), transparent 23%),
		radial-gradient(circle at 87% 72%, rgba(255, 231, 215, 0.58), transparent 27%);
}

.rf-main .wp-block-post-content > section.rf-home-hero {
	background-color: #fffaf6 !important;
	background-image:
		radial-gradient(circle at 12% 20%, rgba(255, 228, 210, 0.48), transparent 26%),
		radial-gradient(circle at 82% 18%, rgba(255, 239, 228, 0.72), transparent 32%),
		linear-gradient(180deg, #fffdfb 0%, #fffaf6 64%, #fff3e9 100%) !important;
}

.rf-main .wp-block-post-content > section.rf-home-hero::before {
	content: "";
	position: absolute;
	inset: 26% 28% -32% -24%;
	z-index: 0;
	background: repeating-radial-gradient(
		ellipse 92% 64% at 28% 104%,
		transparent 0 18px,
		rgba(244, 74, 0, 0.1) 19px 20px
	);
	-webkit-mask-image: linear-gradient(16deg, #000 0%, rgba(0, 0, 0, 0.88) 42%, transparent 78%);
	mask-image: linear-gradient(16deg, #000 0%, rgba(0, 0, 0, 0.88) 42%, transparent 78%);
	pointer-events: none;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child::after {
	content: "";
	position: absolute;
	inset: -18% -24% -22% 54%;
	width: auto;
	aspect-ratio: auto;
	border-radius: 0;
	background: repeating-radial-gradient(
		ellipse 76% 58% at 100% 46%,
		transparent 0 17px,
		rgba(244, 74, 0, 0.075) 18px 19px
	);
	-webkit-mask-image: linear-gradient(90deg, transparent 2%, #000 58%, rgba(0, 0, 0, 0.45) 100%);
	mask-image: linear-gradient(90deg, transparent 2%, #000 58%, rgba(0, 0, 0, 0.45) 100%);
	pointer-events: none;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child > * {
	position: relative;
	z-index: 1;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-columns {
	gap: clamp(2.25rem, 5vw, 5rem);
}

.rf-main .wp-block-post-content > .wp-block-group:first-child h1 {
	max-width: 20ch;
	color: var(--rf-ink);
	font-size: clamp(2.8rem, 3.45vw, 3.6rem) !important;
	font-weight: 820;
	letter-spacing: -0.055em;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .is-style-eyebrow {
	color: #a93400;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
}

.rf-main .wp-block-post-content > section.rf-home-hero .is-style-eyebrow {
	display: block !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .has-slate-color {
	color: #525760 !important;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-buttons {
	gap: 0.85rem;
	margin-top: 1.65rem;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-button__link {
	min-height: 56px;
	min-width: 196px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-radius: 10px;
	font-size: 0.96rem;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-button__link::after {
	content: "→";
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

[dir="rtl"] .rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-button__link::after {
	content: "←";
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .is-style-outline .wp-block-button__link {
	border-color: #d8d4d0;
	background: rgba(255, 255, 255, 0.8);
	color: var(--rf-ink);
	box-shadow: 0 8px 20px rgba(34, 24, 18, 0.06);
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .is-style-outline .wp-block-button__link:hover {
	border-color: var(--rf-orange);
	color: var(--rf-orange-dark);
}

.rf-hero-art {
	margin: 0;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .rf-mockup:has(.rf-hero-art) {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.rf-main .wp-block-post-content > .wp-block-group:first-child .rf-mockup:has(.rf-hero-art) > .rf-window-bar,
.rf-main .wp-block-post-content > .wp-block-group:first-child .rf-mockup:has(.rf-hero-art) > div[aria-label] {
	display: none;
}

.rf-hero-art img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #2c3239;
	border-radius: 20px;
	background: #121820;
	box-shadow: 0 25px 55px rgba(18, 20, 24, 0.24);
}

.is-style-eyebrow {
	color: #a93400 !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.rf-header-cta .wp-block-button__link {
	background-color: #c23b00 !important;
	color: #fff !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.rf-header-cta .wp-block-button__link:hover {
	background-color: #9f3000 !important;
}

.is-style-replyflow-card,
.rf-card {
	border-color: var(--rf-card-border);
	border-radius: 16px;
	box-shadow: var(--rf-card-shadow);
}

.is-style-replyflow-card:hover,
.rf-card:hover {
	border-color: #ffc8ad;
	box-shadow: 0 22px 55px rgba(62, 34, 19, 0.12);
}

.rf-icon-chip {
	position: relative;
	width: 3.35rem;
	height: 3.35rem;
	border-radius: 13px;
	background: var(--rf-soft-orange);
	color: var(--rf-orange-dark);
}

.home .rf-main .wp-block-post-content > .wp-block-group:nth-child(2) .wp-block-column:nth-child(-n+3) .rf-icon-chip {
	font-size: 0;
}

.home .rf-main .wp-block-post-content > .wp-block-group:nth-child(2) .wp-block-column:nth-child(-n+3) .rf-icon-chip::before {
	content: "";
	width: 1.75rem;
	height: 1.75rem;
	background: var(--rf-orange);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}

.home .rf-main .wp-block-post-content > .wp-block-group:nth-child(2) .wp-block-column:nth-child(1) .rf-icon-chip::before {
	-webkit-mask-image: url("../icons/chat-bubble-left-right.svg");
	mask-image: url("../icons/chat-bubble-left-right.svg");
}

.home .rf-main .wp-block-post-content > .wp-block-group:nth-child(2) .wp-block-column:nth-child(2) .rf-icon-chip::before {
	-webkit-mask-image: url("../icons/inbox.svg");
	mask-image: url("../icons/inbox.svg");
}

.home .rf-main .wp-block-post-content > .wp-block-group:nth-child(2) .wp-block-column:nth-child(3) .rf-icon-chip::before {
	-webkit-mask-image: url("../icons/chart-bar.svg");
	mask-image: url("../icons/chart-bar.svg");
}

.rf-dark-section {
	background: linear-gradient(145deg, #10161d, #171d24 58%, #11161c);
}

.rf-dark-section .wp-block-button__link,
.rf-dark-section .rf-icon-chip {
	background-color: var(--rf-orange);
}

.rf-form-placeholder input:focus,
.rf-form-placeholder textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	border-color: var(--rf-orange);
	outline-color: rgba(244, 74, 0, 0.2);
}

@media (min-width: 901px) {
	.rf-header-inner > .wp-block-shortcode {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-column:first-child {
		flex-basis: 46% !important;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-column:last-child {
		flex-basis: 54% !important;
	}
}

@media (max-width: 900px) {
	.rf-site-header {
		top: 0.5rem;
		width: calc(100% - 1rem);
		margin-top: 0.5rem;
	}

	.rf-header-inner {
		min-height: 66px;
		padding-inline: 0.75rem;
	}

	.rf-brand-mark {
		width: 2.65rem;
		height: 2.65rem;
		font-size: 1rem;
	}

	.rf-primary-navigation {
		order: 3;
	}

	.wp-block-navigation__responsive-container-open {
		min-width: 44px;
		min-height: 44px;
		justify-content: center;
		border-radius: 8px;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
		background: #fffdfb;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: 1.25rem;
	}
}

@media (max-width: 781px) {
	.rf-main .wp-block-post-content > .wp-block-group:first-child {
		padding-top: 3.5rem;
		padding-bottom: 3rem;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-columns {
		gap: 2rem;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child h1 {
		max-width: none;
		font-size: clamp(2.55rem, 11.5vw, 4.2rem) !important;
		line-height: 1.02 !important;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-button__link {
		width: 100%;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .has-small-font-size {
		font-size: 0.79rem !important;
	}

	.rf-hero-art img {
		border-radius: 16px;
		box-shadow: 0 18px 38px rgba(18, 20, 24, 0.2);
	}
}

@media (max-width: 520px) {
	:root {
		--rf-header-height: 78px;
	}

	.rf-brand {
		gap: 0.55rem;
	}

	.rf-brand-logo {
		width: 8.25rem;
	}

	.rf-brand-name {
		display: block !important;
		font-size: 1rem;
	}

	.rf-brand-copy small {
		font-size: 0.58rem;
	}

	.rf-header-inner > .wp-block-group {
		gap: 0.2rem !important;
	}

	.rf-language-switcher a {
		font-size: 0.75rem;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .is-style-eyebrow {
		font-size: 0.7rem;
	}

	.rf-main .wp-block-post-content > .wp-block-group:first-child .wp-block-button__link {
		min-height: 58px;
	}
}
