:root {
	--rcb-plum: #5b3d46;
	--rcb-orange: #ef835f;
	--rcb-ink: #241f21;
	--rcb-paper: #f1efef;
}

html {
	scroll-behavior: smooth;
}

.rcb-main {
	padding-block: clamp(4rem, 8vw, 8rem);
}

.rcb-notice {
	background: var(--rcb-plum);
	color: #fff;
	padding: .7rem 1rem;
}

.rcb-notice p {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .15em;
	margin: 0;
	text-transform: uppercase;
}

.rcb-notice a {
	color: inherit;
	text-decoration: none;
}

.rcb-notice a:hover {
	color: #ffd8ca;
}

.rcb-hero {
	background: #30292b;
	height: clamp(360px, 40vw, 640px);
	margin-block: 0;
	overflow: hidden;
	position: relative;
}

.wp-block-gallery.rcb-slider-gallery.has-nested-images {
	display: block;
	height: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
}

body:not(.editor-styles-wrapper) .wp-block-gallery.rcb-slider-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) {
	flex-basis: 100%;
	flex-grow: 0;
	max-width: none;
	position: absolute;
	width: 100%;
}

.rcb-slider-gallery > .wp-block-image {
	height: 100%;
	inset: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	transform: scale(1.025);
	transition: opacity 1.25s ease, transform 7s ease;
	width: 100%;
	z-index: 1;
}

.rcb-slider-gallery > .wp-block-image::after {
	background: linear-gradient(90deg, rgba(28,20,23,.18), rgba(28,20,23,.02), rgba(28,20,23,.18));
	content: "";
	inset: 0;
	position: absolute;
}

.rcb-slider-gallery > .wp-block-image:first-child,
.rcb-slider-gallery > .wp-block-image.is-active {
	opacity: 1;
	transform: scale(1);
}

.rcb-slider-gallery > .wp-block-image.is-active {
	z-index: 2;
}

.rcb-slider-gallery > .wp-block-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rcb-badge {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: clamp(250px, 24vw, 420px);
	z-index: 3;
}

.rcb-hero > .rcb-badge {
	margin: 0;
}

.rcb-badge img {
	background: transparent;
	height: auto;
	width: 100%;
}

.rcb-primary-nav {
	background: #e4e1e2;
	box-shadow: 0 2px 0 rgba(36,31,33,.05);
	padding: 1.45rem 1rem;
}

.rcb-primary-nav .wp-block-navigation {
	justify-content: center;
}

.rcb-primary-nav .wp-block-navigation-item__content {
	color: var(--rcb-plum);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-decoration: none;
	text-transform: uppercase;
}

.rcb-primary-nav .wp-block-navigation-item__content:hover {
	color: var(--rcb-orange);
}

.rcb-page-home {
	margin-block: 0;
	max-width: none;
}

.rcb-page-home > * {
	margin-block-start: 0;
}

.rcb-page {
	margin-block: 0;
	max-width: none;
}

.rcb-page > * {
	margin-block-start: 0;
}

.rcb-page-hero {
	box-sizing: border-box;
	padding: clamp(3rem, 7vw, 6rem) 1rem;
}

.rcb-page-hero .wp-block-cover__inner-container {
	width: 100%;
}

.rcb-page-hero h1 {
	margin-bottom: 1rem;
}

.rcb-page-hero p.is-style-rcb-lead {
	margin-inline: auto;
	max-width: 760px;
}

.wp-block-group.is-style-rcb-section-white,
.wp-block-group.is-style-rcb-section-soft-grey,
.wp-block-group.is-style-rcb-section-plum,
.wp-block-group.is-style-rcb-orange-cta {
	box-sizing: border-box;
	padding: clamp(4.5rem, 8vw, 8rem) max(1rem, calc((100vw - 1280px) / 2));
}

.wp-block-group.is-style-rcb-section-white { background: #fff; }
.wp-block-group.is-style-rcb-section-soft-grey { background: var(--rcb-paper); }
.wp-block-group.is-style-rcb-section-plum { background: var(--rcb-plum); color: #fff; }
.wp-block-group.is-style-rcb-section-plum :where(h1,h2,h3,h4,h5,h6,a) { color: #fff; }
.wp-block-group.is-style-rcb-section-plum p.is-style-rcb-section-label { color: #ffc4ae; }
.wp-block-group.is-style-rcb-orange-cta {
	background: var(--rcb-orange);
	color: var(--rcb-ink);
	padding-block: clamp(3rem, 6vw, 5rem);
}

.wp-block-group.is-style-rcb-service-card {
	background: #fff;
	border-top: 5px solid var(--rcb-orange);
	box-shadow: 0 14px 34px rgba(52,37,42,.08);
	box-sizing: border-box;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2.35rem);
}

.wp-block-group.is-style-rcb-service-card h3 {
	color: var(--rcb-plum);
	margin-top: .8rem;
}

.wp-block-group.is-style-rcb-service-card p:last-child {
	color: #62585b;
	font-size: .9375rem;
	line-height: 1.65;
}

p.is-style-rcb-section-label {
	color: var(--rcb-orange);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

p.is-style-rcb-lead {
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	font-weight: 400;
	line-height: 1.55;
}

.rcb-text-link a {
	color: var(--rcb-orange);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}

.rcb-section-intro {
	margin-inline: auto;
	max-width: 680px;
}

.wp-block-columns.rcb-intro-grid,
.wp-block-columns.rcb-feature-grid,
.wp-block-columns.rcb-service-feature-grid {
	align-items: center;
	gap: clamp(2.5rem, 6vw, 6rem);
}

.rcb-services-grid {
	align-items: stretch;
	gap: 1.25rem;
}

.rcb-services-grid > .wp-block-column {
	display: flex;
}

.rcb-services-grid > .wp-block-column > .wp-block-group {
	width: 100%;
}

.rcb-brand-grid,
.rcb-contact-grid {
	align-items: stretch;
	gap: 1.25rem;
}

.rcb-brand-grid > .wp-block-column,
.rcb-contact-grid > .wp-block-column {
	display: flex;
}

.rcb-brand-card,
.rcb-contact-card {
	width: 100%;
}

.rcb-map-frame {
	background: #fff;
	box-shadow: 0 18px 45px rgba(52,37,42,.12);
	overflow: hidden;
}

.rcb-map-embed iframe {
	border: 0;
	display: block;
	height: clamp(360px, 54vw, 600px);
	width: 100%;
}

.rcb-brand-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 250px;
}

.rcb-brand-logo {
	margin-block: auto;
}

.rcb-brand-logo img {
	aspect-ratio: 17 / 7;
	object-fit: contain;
	width: 100%;
}

.rcb-brand-card h3 {
	font-size: .9rem;
	overflow-wrap: anywhere;
}

.rcb-contact-card h3 {
	color: var(--rcb-orange);
	font-size: .76rem;
	letter-spacing: .12em;
	margin-bottom: .2rem;
	text-transform: uppercase;
}

.rcb-contact-card h3 + p {
	margin-top: 0;
}

.rcb-contact-card a {
	overflow-wrap: anywhere;
}

.rcb-hours-table table,
.rcb-hours-table td {
	border-color: #ded8da;
}

.rcb-hours-table td:first-child {
	font-weight: 700;
}

.rcb-contact-services {
	gap: clamp(2rem, 5vw, 5rem);
}

.rcb-service-number {
	color: var(--rcb-orange);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.wp-block-image.is-style-rcb-accent-frame img,
.wp-block-image.is-style-rcb-accent-frame-fade img {
	aspect-ratio: 4 / 3;
	box-shadow: 18px 18px 0 var(--rcb-orange);
	object-fit: cover;
	width: 100%;
}

.wp-block-image.is-style-rcb-fade-in,
.wp-block-image.is-style-rcb-accent-frame-fade {
	opacity: 1;
	transform: none;
}

.wp-block-image.is-style-rcb-fade-in.rcb-reveal-pending,
.wp-block-image.is-style-rcb-accent-frame-fade.rcb-reveal-pending {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity .75s cubic-bezier(.2,.7,.2,1),
		transform .75s cubic-bezier(.2,.7,.2,1);
	will-change: opacity, transform;
}

.wp-block-image.is-style-rcb-fade-in.rcb-reveal-pending.is-visible,
.wp-block-image.is-style-rcb-accent-frame-fade.rcb-reveal-pending.is-visible {
	opacity: 1;
	transform: none;
}

.rcb-service-list {
	display: grid;
	gap: .7rem;
	list-style: none;
	margin: 1.75rem 0 2rem;
	padding: 0;
}

.rcb-service-list li {
	border-bottom: 1px solid rgba(255,255,255,.18);
	font-weight: 600;
	padding: 0 0 .7rem 1.6rem;
	position: relative;
}

.rcb-service-list li::before {
	color: #ffc4ae;
	content: "\2192";
	left: 0;
	position: absolute;
}

.rcb-service-feature .is-style-outline .wp-block-button__link {
	border-color: #fff;
	color: #fff;
}

.rcb-service-feature .is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--rcb-plum);
}

.rcb-post-grid.wp-block-post-template {
	display: grid;
	gap: clamp(2rem, 5vw, 4.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rcb-post-card {
	background: #fff;
	box-shadow: 0 16px 45px rgba(52,37,42,.08);
	height: 100%;
}

.rcb-post-card .wp-block-post-featured-image {
	margin: 0;
}

.rcb-post-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}

.rcb-post-card-content {
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.rcb-post-card .wp-block-post-date {
	color: #857b7e;
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.rcb-post-card .wp-block-post-title a {
	color: var(--rcb-plum);
	text-decoration: none;
}

.rcb-post-card .wp-block-read-more {
	color: var(--rcb-orange);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.rcb-cta h2 {
	color: var(--rcb-ink);
	margin: 0;
}

.rcb-cta .wp-block-button__link {
	background: var(--rcb-plum);
	color: #fff;
}

.rcb-cta .wp-block-button__link:hover {
	background: var(--rcb-ink);
}

.rcb-footer {
	background: #fff;
	border-top: 8px solid var(--rcb-plum);
}

.rcb-footer > * {
	margin-block-start: 0;
}

.rcb-footer-band {
	background: linear-gradient(rgba(42,29,34,.76), rgba(42,29,34,.76)), url('/wp-content/uploads/2017/08/rcb_ban02_2000x800_aug0717.jpg') center 55%/cover;
	color: #fff;
	padding: 3rem 1rem;
	text-align: center;
}

.rcb-footer-band p {
	margin: 0;
}

.rcb-footer-content {
	padding: clamp(3rem, 7vw, 6rem) 1rem;
}

.rcb-footer h2,
.rcb-footer h3 {
	color: var(--rcb-plum);
}

.rcb-footer a {
	color: var(--rcb-orange);
}

.rcb-footer-logo {
	max-width: 300px;
}

.rcb-footer > .rcb-copyright {
	border-top: 1px solid #e5dfe1;
	color: #746b6e;
	font-size: .75rem;
	margin-block: 0;
	padding: 1.2rem;
	text-align: center;
}

@media (max-width: 760px) {
	.rcb-hero { height: 440px; }
	.rcb-badge { width: min(76vw, 310px); }
	.rcb-primary-nav { padding-block: 1rem; }
	.rcb-page-hero { min-height: 430px !important; }
	.wp-block-image.is-style-rcb-accent-frame img,
	.wp-block-image.is-style-rcb-accent-frame-fade img { box-shadow: 10px 10px 0 var(--rcb-orange); }
	.rcb-post-grid.wp-block-post-template { grid-template-columns: 1fr; }
	.rcb-cta .wp-block-buttons { justify-content: flex-start; }
}

.editor-styles-wrapper .rcb-hero {
	height: auto;
	overflow: visible;
	padding: 1rem;
}

.editor-styles-wrapper .wp-block-gallery.rcb-slider-gallery.has-nested-images {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	height: auto;
	overflow: visible;
}

.editor-styles-wrapper .rcb-slider-gallery > .wp-block-image {
	aspect-ratio: 5 / 2;
	height: auto;
	inset: auto;
	opacity: 1;
	position: relative;
	transform: none;
}

.editor-styles-wrapper .rcb-slider-gallery > .wp-block-image::after {
	content: none;
}

.editor-styles-wrapper .rcb-badge {
	left: auto;
	margin: 1.5rem auto .5rem;
	position: relative;
	top: auto;
	transform: none;
	width: min(60%, 340px);
}

.editor-styles-wrapper .wp-block-image.is-style-rcb-fade-in,
.editor-styles-wrapper .wp-block-image.is-style-rcb-accent-frame-fade {
	opacity: 1 !important;
	transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.rcb-slider-gallery > .wp-block-image {
		transform: none;
		transition: none;
	}

	.wp-block-image.is-style-rcb-fade-in.rcb-reveal-pending,
	.wp-block-image.is-style-rcb-accent-frame-fade.rcb-reveal-pending {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
