/*
 * V2 homepage system. Deployed on production while the site stays noindex.
 */

body.rf-v2 {
	overflow-x: hidden;
	--rf-primary: #111111;
	--rf-primary-dark: #000000;
	--rf-primary-soft: #f2f2f2;
	--rf-primary-tint: #e6e6e6;
	--rf-accent: #111111;
	--rf-accent-dark: #000000;
	--rf-accent-soft: #f3f3f3;
	--rf-accent-tint: #e8e8e8;
	--rf-ink: #121212;
	--rf-ink-2: #3a3a3a;
	--rf-muted: #5e5e5e;
	--rf-line: #e4e4e4;
	--rf-line-strong: #cfcfcf;
	--rf-surface: #ffffff;
	--rf-surface-2: #f4f4f4;
	--rf-surface-3: #ececec;
	--rf-charcoal: #141414;
	--rf-focus: 0 0 0 3px rgba(17, 17, 17, 0.28);
	background: #fff;
	color: var(--rf-ink);
}

body.rf-v2 .rf-btn--primary {
	background: #111;
	background-image: none;
	color: #fff;
	border: 1px solid #111;
	box-shadow: none;
}
body.rf-v2 .rf-btn--primary:hover {
	background: #000;
	background-image: none;
	border-color: #000;
}
body.rf-v2 .rf-btn--secondary {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}
body.rf-v2 .rf-link-more { color: #111; }

/* One white header: logo, hours, and actions on one row; nav under a hairline. */
body.rf-v2 .rf-header {
	background: #fff;
	border-bottom: 1px solid #e4e4e4;
	backdrop-filter: none;
	max-width: 100%;
}
body.rf-v2 .rf-header > .rf-container { padding-bottom: 0; }
body.rf-v2 .rf-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas:
		"brand meta actions"
		"nav nav nav";
	align-items: center;
	column-gap: 1.25rem;
	row-gap: 0;
	min-height: 0;
	min-width: 0;
	padding-top: 0.85rem;
}
body.rf-v2 .rf-brand { grid-area: brand; }
body.rf-v2 .rf-announce {
	grid-area: meta;
	min-width: 0;
	max-width: 100%;
	background: transparent;
	color: #5e5e5e;
	border: 0;
	font-size: 0.8125rem;
}
body.rf-v2 .rf-announce__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem 1.15rem;
	min-width: 0;
	min-height: 0;
	padding: 0;
}
body.rf-v2 .rf-announce__tagline {
	margin: 0 auto 0 0;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
	color: #6b6b6b;
}
body.rf-v2 .rf-announce__hours,
body.rf-v2 .rf-announce__hours .rf-icon {
	color: #141414;
}
body.rf-v2 .rf-announce__hours {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	font-weight: 600;
	white-space: nowrap;
}
body.rf-v2 .rf-announce__hours .rf-icon { width: 1em; height: 1em; }
body.rf-v2 .rf-header__actions {
	grid-area: actions;
	justify-self: end;
	margin-left: 0;
	gap: 0.55rem;
	min-width: 0;
}
body.rf-v2 .rf-header__actions .rf-btn--primary {
	border-radius: 4px;
}
body.rf-v2 .rf-nav {
	grid-area: nav;
	position: static;
	margin: 0.45rem 0 0;
	padding: 0;
	background: transparent;
	min-width: 0;
	border-top: 1px solid #e4e4e4;
}
body.rf-v2 .rf-nav::before { content: none; }
body.rf-v2 .rf-nav__list {
	justify-content: flex-start;
	gap: 0.2rem 1.55rem;
	width: 100%;
	min-width: 0;
}
body.rf-v2 .rf-nav a {
	color: #1a1a1a;
	font-weight: 600;
	padding: 0.85rem 0 0.9rem;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
body.rf-v2 .rf-nav a::after {
	left: 0;
	bottom: 0.62rem;
	width: 100%;
	height: 1px;
	border-radius: 0;
	background: #111;
	transform: scaleX(0);
	transform-origin: left center;
}
body.rf-v2 .rf-nav a:hover,
body.rf-v2 .rf-nav .current-menu-item > a,
body.rf-v2 .rf-nav .current-menu-ancestor > a,
body.rf-v2 .rf-nav .current_page_item > a { color: #111; }
body.rf-v2 .rf-nav a:hover::after,
body.rf-v2 .rf-nav .current-menu-item > a::after,
body.rf-v2 .rf-nav .current-menu-ancestor > a::after,
body.rf-v2 .rf-nav .current_page_item > a::after { transform: scaleX(1); }
body.rf-v2 .rf-header__actions .rf-btn--secondary,
body.rf-v2 .rf-phone,
body.rf-v2 .rf-phone-btn,
body.rf-v2 .rf-phone-btn .rf-icon {
	color: #111;
}

@container siteheader (max-width: 980px) {
	body.rf-v2 .rf-announce__tagline { display: none; }
}
@container siteheader (max-width: 540px) {
	body.rf-v2 .rf-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand actions"
			"meta meta";
		row-gap: 0.2rem;
		padding-bottom: 0.7rem;
	}
	body.rf-v2 .rf-announce__inner { justify-content: flex-start; }
}

/* Hero stays the full-bleed photo with the centered copy block. */
body.rf-v2.home .rf-hero .rf-btn--primary {
	background: #111;
	background-image: none;
	color: #fff;
	border: 1px solid #111;
	border-radius: 4px;
	box-shadow: none;
}
body.rf-v2.home .rf-hero .rf-btn--primary:hover {
	background: #000;
	background-image: none;
	color: #fff;
	border-color: #000;
}
body.rf-v2.home .rf-hero__place { color: #141414; }
body.rf-v2.home .rf-hero__trust::before { background: #141414; }
body.rf-v2.home .rf-hero__trust-ico {
	background: #f2f2f2;
	border: 0;
}
body.rf-v2.home .rf-hero__trust-ico .rf-icon { color: #141414; }
body.rf-v2.home .rf-hero .rf-btn--secondary {
	background: #fff;
	color: #16191d;
	border-color: #d3d9e0;
}

/* Appliances: editorial rows, not a card grid. */
body.rf-v2.home .rf-home-appliances { background: #fff; }
body.rf-v2.home .rf-home-appliances__rows,
body.rf-v2.home .rf-home-appliances__board {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-top: 1px solid #111;
}
body.rf-v2.home .rf-home-appliance,
body.rf-v2.home .rf-home-appliance:nth-child(-n+3) {
	grid-column: auto;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
	padding: 1.35rem 1.25rem;
}
body.rf-v2.home .rf-home-appliance:nth-child(odd) { border-right: 1px solid #e4e4e4; }
body.rf-v2.home .rf-home-appliance__icon {
	grid-row: 1 / span 3;
	width: auto;
	height: auto;
	background: none;
	color: #111;
	font-size: 1.4rem;
}
body.rf-v2.home .rf-home-appliance__title { font-size: 1.7rem; grid-column: 2; grid-row: 1; }
body.rf-v2.home .rf-home-appliance__text { grid-column: 2; grid-row: 2; }
body.rf-v2.home .rf-home-appliance .rf-link-more { grid-column: 2; grid-row: 3; }
body.rf-v2.home .rf-home-appliance:hover { background: #f6f6f6; }

/* Services: same rows, full-bleed dark photo behind them. */
body.rf-v2.home #services {
	position: relative;
	isolation: isolate;
	background: #0c0c0c;
	color: #f5f5f5;
}
body.rf-v2.home #services::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.84)),
		url("/wp-content/uploads/2026/09/bosch-sf-about.webp") center / cover no-repeat;
}
body.rf-v2.home #services .rf-heading--center { text-align: left; }
body.rf-v2.home #services .rf-heading__eyebrow { color: #fff; }
body.rf-v2.home #services .rf-section-head,
body.rf-v2.home #services .rf-section-head p,
body.rf-v2.home #services h2 { color: #f5f5f5; }
body.rf-v2.home .rf-home-service-list,
body.rf-v2.home #services .rf-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}
body.rf-v2.home #services .rf-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.25rem 1.25rem;
	background: transparent;
	color: #f5f5f5;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 0;
	box-shadow: none;
	padding: 1.15rem 0;
}
body.rf-v2.home #services .rf-card__icon { grid-row: 1 / span 2; background: transparent; color: #fff; }
body.rf-v2.home #services .rf-card__title { grid-column: 2; margin: 0; font-size: 1.65rem; color: #fff; }
body.rf-v2.home #services .rf-card__text { grid-column: 2; display: block; margin: 0; color: #bdbdbd; }
body.rf-v2.home #services .rf-card__foot { grid-column: 3; grid-row: 1 / span 2; }
body.rf-v2.home #services .rf-link-more { color: #fff; }
body.rf-v2.home #services .rf-card::after { display: none; }

/* Shared eyebrows: a label, not a pink chip. */
body.rf-v2 .rf-heading__eyebrow,
body.rf-v2 .rf-eyebrow {
	background: none;
	border: 0;
	padding: 0;
	border-radius: 0;
	color: #111;
}
body.rf-v2 .rf-heading__eyebrow::before { display: none; }

/* Process: six steps as a numbered rail, not stacked cards. */
body.rf-v2.home #process {
	background: #fff;
	color: #111;
}
body.rf-v2.home #process .rf-process__bg { display: none; }
body.rf-v2.home #process .rf-process__head { max-width: 40rem; margin-bottom: 2.25rem; }
body.rf-v2.home #process .rf-process__title {
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	color: #111;
	line-height: 1;
}
body.rf-v2.home #process .rf-process__rail {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.75rem 1.5rem;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}
body.rf-v2.home #process .rf-process__rail > .rf-pcard {
	border: 0;
	border-top: 2px solid #111;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 1rem 0.5rem 0 0;
}
body.rf-v2.home #process .rf-pcard__ico { display: none; }
body.rf-v2.home #process .rf-pcard__num {
	font-size: 2.6rem;
	font-weight: 500;
	color: #111;
}
body.rf-v2.home #process .rf-pcard__title { font-size: 1.25rem; }
body.rf-v2.home #process .rf-link-more { color: #111; }

/* Expertise: open black field, not a white card with red wells. */
body.rf-v2.home #expertise {
	background: #111;
	color: #f4f4f4;
}
body.rf-v2.home #expertise .rf-expertise__panel,
body.rf-v2.home #expertise .rf-expertise__panel:hover,
body.rf-v2.home #expertise .rf-expertise__panel:focus-within {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(2.5rem, 5vw, 4.25rem) 0;
	transform: none;
}
body.rf-v2.home #expertise .rf-heading__eyebrow,
body.rf-v2.home #expertise .rf-expertise__title,
body.rf-v2.home #expertise .rf-expertise__process-title,
body.rf-v2.home #expertise .rf-text-accent { color: #fff; }
body.rf-v2.home #expertise .rf-expertise__lead { color: #c8c8c8; max-width: 38rem; }
body.rf-v2.home #expertise .rf-expertise__title {
	font-size: clamp(2.4rem, 4.5vw, 3.8rem);
	line-height: 1;
}
body.rf-v2.home #expertise .rf-expertise__process-title::after { display: none; }
body.rf-v2.home #expertise .rf-expertise__rail {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	border: 0;
	background: transparent;
	list-style: none;
	padding: 0;
	margin: 0;
}
body.rf-v2.home #expertise .rf-expertise__step,
body.rf-v2.home #expertise .rf-expertise__step:hover,
body.rf-v2.home #expertise .rf-expertise__step:focus-within {
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 0;
	box-shadow: none;
	padding: 1rem 0.75rem 0 0;
}
body.rf-v2.home #expertise .rf-expertise__ico { display: none; }
body.rf-v2.home #expertise .rf-expertise__step-num {
	color: #fff;
	font-size: 2.4rem;
	font-weight: 500;
}
body.rf-v2.home #expertise .rf-expertise__step-title { color: #fff; display: block; margin-top: 0.35rem; }
body.rf-v2.home #expertise .rf-expertise__step-text { color: #c4c4c4; display: block; }
body.rf-v2.home #expertise .rf-expertise__features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}
body.rf-v2.home #expertise .rf-expertise__feature,
body.rf-v2.home #expertise .rf-expertise__feature:hover {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 1.35rem 1.25rem 0 0;
}
body.rf-v2.home #expertise .rf-expertise__fbody strong { color: #fff; }
body.rf-v2.home #expertise .rf-expertise__fbody span { color: #c4c4c4; }
body.rf-v2.home #expertise .rf-expertise__author {
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	margin-top: 0.5rem;
	padding-top: 1.25rem;
}
body.rf-v2.home #expertise .rf-expert__name,
body.rf-v2.home #expertise .rf-link-more,
body.rf-v2.home #expertise .rf-expert a { color: #fff; }
body.rf-v2.home #expertise .rf-expert__text,
body.rf-v2.home #expertise .rf-expert__role { color: #c4c4c4; }

/* Reviews: dark field, quotes without white cards. */
body.rf-v2.home #reviews { background: #111; color: #f5f5f5; }
body.rf-v2.home #reviews .rf-heading__title,
body.rf-v2.home #reviews .rf-heading__text,
body.rf-v2.home #reviews .rf-heading__eyebrow { color: #f5f5f5; }
body.rf-v2.home #reviews .rf-review {
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 0;
	box-shadow: none;
	color: #f5f5f5;
	padding: 1.25rem 0.25rem 0.5rem;
}
body.rf-v2.home #reviews .rf-review__quote { color: #f5f5f5; font-size: 1.2rem; }
body.rf-v2.home #reviews .rf-review__stars { color: #fff; }
body.rf-v2.home #reviews .rf-review__name,
body.rf-v2.home #reviews .rf-review__loc { color: #d0d0d0; }
body.rf-v2.home #reviews .rf-carousel__nav {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.4);
}
body.rf-v2.home #reviews .rf-carousel__nav:hover { background: #fff; color: #111; }

/* FAQ: title column beside the questions. */
body.rf-v2.home #faq .rf-container {
	display: grid;
	grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
	gap: 2rem 3.5rem;
	align-items: start;
}
body.rf-v2.home #faq .rf-heading--center,
body.rf-v2.home #faq .rf-heading__eyebrow { text-align: left; justify-content: flex-start; }
body.rf-v2.home #faq .rf-heading__title { font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1; }
body.rf-v2.home #faq .rf-faq__item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #111;
	border-radius: 0;
	box-shadow: none;
}
body.rf-v2.home #faq .rf-faq__trigger { padding-inline: 0; }
body.rf-v2.home #faq .rf-faq__label { font-size: 1.25rem; }

/* Booking: black band, white form. */
body.rf-v2.home #booking-section { background: #111; color: #f3f3f3; }
body.rf-v2.home #booking-section .rf-heading__title,
body.rf-v2.home #booking-section .rf-heading__text,
body.rf-v2.home #booking-section .rf-heading__eyebrow,
body.rf-v2.home #booking-section .rf-booking-details,
body.rf-v2.home #booking-section .rf-booking-details a { color: #f3f3f3; }
body.rf-v2.home #booking-section .rf-booking-details__note { color: #bdbdbd; }
body.rf-v2.home #booking-section .rf-nap__icon {
	background: transparent;
	color: #fff;
	width: auto;
	height: auto;
}
body.rf-v2.home #booking-section .rf-nap__label { color: #b5b5b5; }
body.rf-v2.home #booking-section .rf-nap__value,
body.rf-v2.home #booking-section .rf-nap__value a { color: #fff; }
body.rf-v2.home #booking-section .rf-panel {
	background: #fff;
	color: #111;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
body.rf-v2.home #booking-section .rf-panel h3,
body.rf-v2.home #booking-section .rf-hero__form-sub { color: #111; }

/* Footer: paper, not a second charcoal block. */
body.rf-v2 .rf-footer {
	background: #fff;
	color: #3a3a3a;
	border-top: 1px solid #111;
}
body.rf-v2 .rf-footer a { color: #111; }
body.rf-v2 .rf-footer a:hover { color: #000; }
body.rf-v2 .rf-footer__col-title {
	color: #111;
	font-size: 1.35rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
body.rf-v2 .rf-footer__about { color: #4a4a4a; }
body.rf-v2 .rf-footer__top,
body.rf-v2 .rf-footer__disclosure,
body.rf-v2 .rf-footer__bottom { border-color: #e4e4e4; }
body.rf-v2 .rf-footer__contact .rf-icon { color: #111; }
body.rf-v2 .rf-footer a.rf-btn,
body.rf-v2 .rf-footer a.rf-btn:hover,
body.rf-v2 .rf-footer .rf-btn--onink,
body.rf-v2 .rf-footer .rf-btn--onink:hover,
body.rf-v2 .rf-footer .rf-btn--primary,
body.rf-v2 .rf-footer .rf-btn--primary:hover,
body.rf-v2 .rf-header .rf-btn--primary,
body.rf-v2 .rf-header .rf-btn--primary:hover,
body.rf-v2 .rf-btn--primary,
body.rf-v2 .rf-btn--primary:hover {
	background: #111;
	background-image: none;
	color: #fff;
	border-color: #111;
	box-shadow: none;
	filter: none;
}
body.rf-v2 .rf-footer a.rf-btn:hover,
body.rf-v2 .rf-footer .rf-btn--onink:hover,
body.rf-v2 .rf-footer .rf-btn--primary:hover,
body.rf-v2 .rf-header .rf-btn--primary:hover,
body.rf-v2 .rf-btn--primary:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}
body.rf-v2 .rf-footer a:hover { color: #111; }
body.rf-v2 .rf-brand__logo img {
	filter: brightness(0);
}
body.rf-v2 .rf-btn,
body.rf-v2 .rf-btn:hover,
body.rf-v2 .rf-btn .rf-icon {
	filter: none;
}
body.rf-v2 .rf-footer .rf-brand__logo img {
	width: auto !important;
	height: 38px !important;
	max-width: 168px !important;
	max-height: 38px !important;
	object-fit: contain;
}

/* Service areas sit under the columns as a full-width list, not a dark-footer ghost. */
body.rf-v2 .rf-footer-areas {
	margin-top: 0;
	border-top: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
}
body.rf-v2 .rf-footer-areas__head {
	padding: 1.15rem 0 0.65rem;
}
body.rf-v2 .rf-footer-areas__title {
	margin: 0;
	padding-left: 0;
	border-left: 0;
	color: #111;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}
body.rf-v2 .rf-footer-areas__all {
	color: #111;
	font-size: 0.9rem;
	font-weight: 600;
}
body.rf-v2 .rf-footer-area { border-bottom-color: #e4e4e4; }
body.rf-v2 .rf-footer-area__name {
	color: #141414;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
body.rf-v2 .rf-footer-area__count {
	color: #5e5e5e;
	font-size: 0.85rem;
}
body.rf-v2 .rf-footer-area__chevron { color: #141414; }
body.rf-v2 .rf-footer-area__cities a { color: #3a3a3a; }
body.rf-v2 .rf-footer-area__cities a:hover { color: #111; }

@media (max-width: 800px) {
	body.rf-v2 .rf-nav { display: none; }
	body.rf-v2 .rf-announce__tagline { display: none; }
	body.rf-v2 .rf-header__inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "brand meta actions";
		padding-bottom: 0.75rem;
	}
	body.rf-v2.home .rf-home-appliances__rows,
	body.rf-v2.home .rf-home-appliances__board { grid-template-columns: 1fr; }
	body.rf-v2.home .rf-home-appliance:nth-child(odd) { border-right: 0; }
	body.rf-v2.home #services .rf-card { grid-template-columns: auto 1fr; }
	body.rf-v2.home #services .rf-card__foot { grid-column: 2; grid-row: auto; }
	body.rf-v2.home #process .rf-process__rail,
	body.rf-v2.home #faq .rf-container { grid-template-columns: 1fr; }
	body.rf-v2.home #faq .rf-heading { position: static; }
	body.rf-v2.home #expertise .rf-expertise__rail,
	body.rf-v2.home #expertise .rf-expertise__features { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	body.rf-v2 .rf-announce { display: block !important; }
	body.rf-v2 .rf-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand actions"
			"meta meta";
		row-gap: 0.15rem;
	}
	body.rf-v2 .rf-announce__inner { justify-content: flex-start; }
}

/* Inner heroes: full-bleed photo, copy centered. Homepage .rf-hero stays as it is. */
body.rf-v2 .rf-page-header,
body.rf-v2 .rf-ec-hero {
	text-align: center;
}
body.rf-v2 .rf-page-header .rf-container,
body.rf-v2 .rf-ec-hero .rf-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	max-width: var(--rf-container);
}
body.rf-v2 .rf-page-header .rf-breadcrumbs,
body.rf-v2 .rf-ec-hero .rf-breadcrumbs,
body.rf-v2 .rf-page-header .rf-breadcrumbs__list,
body.rf-v2 .rf-ec-hero .rf-breadcrumbs__list {
	justify-content: center;
}
body.rf-v2 .rf-page-header__title,
body.rf-v2 .rf-page-header__sub,
body.rf-v2 .rf-ec-hero__title,
body.rf-v2 .rf-ec-hero__lead,
body.rf-v2 .rf-ec-hero__note,
body.rf-v2 .rf-cpt-hero__byline {
	max-width: min(42rem, 100%);
	margin-inline: auto;
	overflow-wrap: anywhere;
}
body.rf-v2 .rf-cpt-hero__actions,
body.rf-v2 .rf-page-header__cta {
	justify-content: center;
	width: 100%;
}
body.rf-v2 .rf-page-header--image,
body.rf-v2 .rf-ec-hero,
body.rf-v2 .rf-author-hero.rf-page-header--image,
body.rf-v2 .rf-page-header--contact.rf-page-header--image {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: clamp(380px, 42vw, 540px);
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
	border-bottom: 0;
	background-color: #ececec;
	background-image: var(--rf-header-image);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
body.rf-v2 .rf-page-header--image .rf-container,
body.rf-v2 .rf-ec-hero .rf-container {
	position: relative;
	isolation: isolate;
	z-index: 1;
}
body.rf-v2 .rf-page-header--image .rf-container::before,
body.rf-v2 .rf-ec-hero .rf-container::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	width: min(760px, 92vw);
	height: min(520px, 78vw);
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	filter: blur(42px);
	pointer-events: none;
}
body.rf-v2 .rf-page-header__title,
body.rf-v2 .rf-ec-hero__title { color: #141414; }
body.rf-v2 .rf-page-header__sub,
body.rf-v2 .rf-ec-hero__lead,
body.rf-v2 .rf-ec-hero__note { color: #3a3a3a; }

/* Error codes: hairline directory, not boxed accent cards. */
body.rf-v2.post-type-archive-error_code .rf-ec-app { background: #fff; }
body.rf-v2 .rf-ec-search__bar {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	border-bottom: 1px solid #111;
	padding-bottom: 0.35rem;
}
body.rf-v2 .rf-ec-search__bar input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0.7rem 0;
	font: inherit;
	color: #141414;
}
body.rf-v2 .rf-ec-search__bar input[type="search"]:focus-visible {
	outline: none;
	box-shadow: none;
}
body.rf-v2 .rf-ec-filter-chip,
body.rf-v2 .rf-ec-index__link {
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	background: #fff;
	color: #141414;
	box-shadow: none;
}
body.rf-v2 .rf-ec-filter-chip:hover,
body.rf-v2 .rf-ec-index__link:hover {
	border-color: #111;
	color: #111;
	background: #fff;
}
body.rf-v2 .rf-ec-filter-chip.is-active,
body.rf-v2 .rf-ec-index__link.is-active {
	background: #111;
	border-color: #111;
	color: #fff;
}
body.rf-v2 .rf-ec-popular {
	margin: 1.5rem 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
body.rf-v2 .rf-ec-popular__title { color: #141414; font-weight: 600; }
body.rf-v2 .rf-ec-popular__item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
	padding: 0.45rem 0;
}
body.rf-v2 .rf-ec-popular__code { color: #111; }
body.rf-v2.post-type-archive-error_code .rf-ec-grid,
body.rf-v2 .rf-ec-editorial .rf-ec-grid {
	display: flex;
	flex-direction: column;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid #111;
}
body.rf-v2 .rf-ec-card,
body.rf-v2 .rf-ec-editorial .rf-ec-card { height: auto; }
body.rf-v2 .rf-ec-card__link,
body.rf-v2 .rf-ec-editorial .rf-ec-card__link {
	display: grid;
	grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr) auto;
	grid-template-areas:
		"code meaning more"
		"app symptom more";
	column-gap: 1.25rem;
	row-gap: 0.15rem;
	align-items: center;
	height: auto;
	padding: 1.05rem 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
	color: #141414;
}
body.rf-v2 .rf-ec-card__link:hover,
body.rf-v2 .rf-ec-editorial .rf-ec-card__link:hover {
	background: #f6f6f6;
	border-color: #e4e4e4;
	box-shadow: none;
	transform: none;
	color: #141414;
}
body.rf-v2 .rf-ec-card__top { display: contents; }
body.rf-v2 .rf-ec-card__code { grid-area: code; color: #111; font-size: 1.2rem; font-weight: 650; }
body.rf-v2 .rf-ec-card__appliance { grid-area: app; text-align: left; color: #5e5e5e; }
body.rf-v2 .rf-ec-card__meaning { grid-area: meaning; color: #3a3a3a; }
body.rf-v2 .rf-ec-card__symptom { grid-area: symptom; }
body.rf-v2 .rf-ec-card__more { grid-area: more; margin: 0; color: #111; }
body.rf-v2 .rf-ec-card mark { background: #f2f2f2; color: inherit; }
body.rf-v2 .rf-ec-status,
body.rf-v2 .rf-ec-single-status { background: #f2f2f2; color: #141414; }
body.rf-v2 .rf-ec-guide { background: #fff; }
body.rf-v2 .rf-ec-guide__card,
body.rf-v2 .rf-ec-guide__card:hover {
	background: transparent;
	border: 0;
	border-top: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
}
body.rf-v2 .rf-ec-guide__card::after { display: none; }
body.rf-v2 .rf-ec-guide__card .rf-card__title { color: #141414; }
body.rf-v2 .rf-ec-page__grid {
	grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
}
body.rf-v2 .rf-toc {
	background: transparent;
	border: 0;
	border-left: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
	padding: 0.2rem 0 0 1.15rem;
}
body.rf-v2 .rf-toc__link {
	border-left: 0;
	border-radius: 0;
	padding: 0.4rem 0;
	color: #3a3a3a;
}
body.rf-v2 .rf-toc__link:hover,
body.rf-v2 .rf-toc__link.is-active {
	background: transparent;
	color: #111;
	border-left-color: transparent;
}
body.rf-v2 .rf-toc__link.is-active { box-shadow: inset 2px 0 0 #111; padding-left: 0.55rem; }
body.rf-v2 .rf-fact {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e4e4e4;
	border-radius: 0;
	box-shadow: none;
}
@media (max-width: 782px) {
	body.rf-v2 .rf-page-header--image,
	body.rf-v2 .rf-ec-hero,
	body.rf-v2 .rf-author-hero.rf-page-header--image,
	body.rf-v2 .rf-page-header--contact.rf-page-header--image {
		background-image: var(--rf-header-image);
		background-position: center center;
		background-size: cover;
		min-height: 0;
	}
	body.rf-v2 .rf-cpt-hero__actions .rf-btn,
	body.rf-v2 .rf-page-header__cta .rf-btn { max-width: 100%; }
}
@media (max-width: 800px) {
	body.rf-v2 .rf-ec-card__link,
	body.rf-v2 .rf-ec-editorial .rf-ec-card__link {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"code more"
			"app more"
			"meaning meaning"
			"symptom symptom";
	}
	body.rf-v2 .rf-ec-page__grid { grid-template-columns: minmax(0, 1fr); }
	body.rf-v2 .rf-toc {
		border-left: 0;
		border-top: 1px solid #e4e4e4;
		padding: 1rem 0 0;
	}
}
