/**
 * Pixel-match styles from Royal City design mockup.
 */

:root {
	--navy: #244A6F;
	--sage: #82926E;
	--navy-deep: #1B3A57;
	--navy-mid: #2E5A82;
	--sage-deep: #6F7E5C;
	--sage-wash: #EEF1EC;
	--sage-line: #D5DCCF;
	--ink: #244A6F;
	--muted: #4F6372;
	--white: #FFFFFF;
	--grad-navy: linear-gradient(135deg, #1B3A57 0%, #244A6F 48%, #2E5A82 100%);
	--grad-sage: linear-gradient(135deg, #6F7E5C 0%, #82926E 55%, #8F9E7A 100%);
	--grad-wash: linear-gradient(180deg, #F4F7F2 0%, #EEF1EC 55%, #E8EDE4 100%);
	--grad-hero: linear-gradient(135deg, #F8FAF7 0%, #EEF2EC 42%, #E6ECE3 100%);
	--grad-contact: linear-gradient(145deg, #1B3A57 0%, #244A6F 58%, #2A536F 100%);
	--grad-footer: linear-gradient(180deg, #1B3A57 0%, #152E45 100%);
}

/* Neutralize WP layout interference on design markup */
:is(.rcc-design-page, .rcc-design-home).alignfull,
:is(.rcc-design-page, .rcc-design-home) {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

:is(.rcc-design-page, .rcc-design-home) *,
:is(.rcc-design-page, .rcc-design-home) *::before,
:is(.rcc-design-page, .rcc-design-home) *::after {
	box-sizing: border-box;
	border-radius: 0 !important;
}

:is(.rcc-design-page, .rcc-design-home) a {
	color: var(--navy);
	text-decoration: none;
}

:is(.rcc-design-page, .rcc-design-home) a:hover {
	color: var(--sage);
}

:is(.rcc-design-page, .rcc-design-home) .btn-navy {
	background: var(--grad-navy);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	display: inline-block;
	color: #fff !important;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

:is(.rcc-design-page, .rcc-design-home) .btn-navy:hover {
	background: var(--grad-sage);
	color: #fff !important;
}

:is(.rcc-design-page, .rcc-design-home) .btn-sage {
	background: var(--grad-sage);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
	display: inline-block;
	color: #fff !important;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

:is(.rcc-design-page, .rcc-design-home) .btn-sage:hover {
	background: #fff;
	color: var(--navy) !important;
}

:is(.rcc-design-page, .rcc-design-home) .wash-section {
	background: var(--grad-wash);
}

/* Outline CTA hover */
:is(.rcc-design-page, .rcc-design-home) a[style*="border:1.5px solid #82926E"]:hover,
:is(.rcc-design-page, .rcc-design-home) a[style*="border: 1.5px solid #82926E"]:hover {
	background: var(--grad-sage) !important;
	color: #fff !important;
	border-color: transparent !important;
}

:is(.rcc-design-page, .rcc-design-home) a[style*="border:1.5px solid rgba(255,255,255,0.35)"]:hover {
	border-color: var(--sage) !important;
	color: var(--sage) !important;
}

/* Condition / service card hover */
:is(.rcc-design-page, .rcc-design-home) a.js-reveal-card[style*="background:linear-gradient(160deg"]:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px -20px rgba(36, 74, 111, 0.35);
}

:is(.rcc-design-page, .rcc-design-home) a.js-reveal-card[style*="border:1px solid #D5DCCF"]:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px -22px rgba(36, 74, 111, 0.35);
	border-color: var(--sage) !important;
}

:is(.rcc-design-page, .rcc-design-home) details > summary {
	list-style: none;
	cursor: pointer;
}

:is(.rcc-design-page, .rcc-design-home) details > summary::-webkit-details-marker {
	display: none;
}

:is(.rcc-design-page, .rcc-design-home) details[open] .faq-chevron {
	transform: rotate(180deg);
}

/* Header — exact design metrics */
.rcc-header.alignfull,
.wp-site-blocks > .rcc-header,
header.rcc-header {
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border-bottom: 1px solid #D5DCCF !important;
}

.rcc-header .wp-block-group.alignwide {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 28px !important;
	padding-right: 28px !important;
	min-height: 74px !important;
	height: 74px;
	align-items: center;
}

.rcc-header .wp-block-navigation {
	gap: 26px !important;
}

.rcc-header .wp-block-navigation-item__content {
	color: #244A6F !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.rcc-header .wp-block-navigation-item__content:hover {
	color: #82926E !important;
}

.rcc-header .wp-block-button__link {
	white-space: nowrap;
}

.rcc-site-brand .wp-block-site-tagline {
	margin: 3px 0 0 !important;
}

/* Kill default WP quote chrome in design areas */
:is(.rcc-design-page, .rcc-design-home) blockquote {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

:is(.rcc-design-page, .rcc-design-home) blockquote::before {
	content: none !important;
}

/* Footer full bleed */
.rcc-footer.alignfull {
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
}

.rcc-footer .alignwide {
	max-width: 1200px !important;
}

/* Site main — no extra gap */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group {
	margin-block-start: 0 !important;
}

.wp-site-blocks {
	padding: 0 !important;
}

/* Responsive — design stacks */
@media (max-width: 960px) {
	:is(.rcc-design-page, .rcc-design-home) section > div[style*="grid-template-columns:minmax(0,0.95fr)"] {
		display: flex !important;
		flex-direction: column !important;
		min-height: 0 !important;
	}

	:is(.rcc-design-page, .rcc-design-home) .js-hero-media {
		margin-left: 0 !important;
		min-height: 320px !important;
		height: 320px;
	}

	:is(.rcc-design-page, .rcc-design-home) .js-hero-media > div {
		clip-path: none !important;
		-webkit-clip-path: none !important;
		position: relative !important;
		height: 320px;
	}

	:is(.rcc-design-page, .rcc-design-home) .js-hero-copy {
		max-width: none !important;
		margin: 0 !important;
		padding: 48px 28px 40px !important;
	}

	.rcc-header .wp-block-group.alignwide {
		height: auto !important;
		min-height: 74px !important;
		flex-wrap: wrap;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
}

@media (max-width: 781px) {
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:repeat(3"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:1fr 1fr"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:1.1fr 0.9fr"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:0.95fr 1.05fr"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:1.4fr 1fr 1fr 1fr"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:1.15fr 1fr"],
	:is(.rcc-design-page, .rcc-design-home) div[style*="grid-template-columns:1fr 1.15fr"] {
		grid-template-columns: 1fr !important;
	}

	:is(.rcc-design-page, .rcc-design-home) .js-stat {
		border-right: 0 !important;
		padding: 16px 0 !important;
		border-bottom: 1px solid #C9D2C3;
	}

	:is(.rcc-design-page, .rcc-design-home) div[style*="clip-path:polygon"] {
		clip-path: none !important;
		-webkit-clip-path: none !important;
	}
}
