/* stylelint-disable no-descending-specificity */

/*
 * Reclaim & Renew block styles.
 * Loaded through block metadata and cache-busts imported block CSS.
 */
@import "./blocks/base-buttons.css";
@import "./blocks/sections.css";
@import "./blocks/cards.css";
@import "./blocks/data.css";
@import "./blocks/chrome.css";
@import "./blocks/pages.css";
@import "./blocks/runtime-parity-core.css";
@import "./blocks/runtime-parity-layout.css";

.rr-quote.bio-pivot {
	margin: var(--space-xl) 0;
	padding-left: 0;
	border-left: 0;
	color: var(--brand-800);
	font-family: inherit;
	font-size: var(--text-base);
	font-weight: 700;
	line-height: 1.78;
}

.rr-quote.bio-pivot p {
	margin: 0;
	font-weight: inherit;
}

.rr-grid--mosaic {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--space-lg);
	align-items: stretch;
}

.rr-grid--mosaic > .rr-card {
	grid-column: span 2;
}

.rr-grid--mosaic > .rr-card:nth-child(4),
.rr-grid--mosaic > .rr-card:nth-child(5) {
	grid-column: span 3;
}

.rr-button-link,
.rr-cta-link a {
	transition: background var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), color var(--transition-base);
}

.rr-button-link:hover,
.rr-cta-link a:hover,
.rr-hero > *,
.rr-page-hero > * {
	transform: none;
}

@media (max-width: 900px) {

	.rr-split-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.rr-split-layout--functional,
	.rr-split-layout--editorial,
	.rr-split-layout--contact {
		grid-template-columns: minmax(0, 1fr);
	}

	.rr-split-layout > * {
		min-width: 0;
		max-width: 100%;
	}

	.rr-split-layout .rr-section > :where(.rr-eyebrow, .rr-heading, .rr-lead, .rr-text, p, h1, h2, h3, h4) {
		float: none;
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.rr-grid--mosaic {
		grid-template-columns: repeat(var(--rr-columns-tablet, 2), minmax(0, 1fr));
	}

	.rr-grid--mosaic > .rr-card {
		grid-column: auto;
	}

	.rr-utility-bar {
		display: none;
	}

	.rr-mobile-cta {
		display: block;
		right: calc(var(--space-sm) + env(safe-area-inset-right));
		bottom: calc(var(--space-sm) + env(safe-area-inset-bottom));
		z-index: 1000;
		width: 48px;
		height: 48px;
	}

	.rr-mobile-cta .rr-cta-link,
	.rr-mobile-cta .rr-button-link {
		margin: 0;
	}

	.rr-mobile-cta .rr-cta-link > a,
	.rr-mobile-cta .rr-button-link {
		position: relative;
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
		min-width: 0;
		min-height: 0;
		padding: 0;
		overflow: hidden;
		border: 1px solid rgba(var(--primary-rgb), 0.18);
		border-radius: 999px;
		color: var(--btn-cta-text);
		background: var(--btn-cta-bg);
		box-shadow: 0 8px 20px rgba(var(--overlay-card-rgb), 0.2);
		font-size: 0;
		line-height: 0;
		text-align: center;
		text-decoration: none;
		transform: none;
	}

	.rr-mobile-cta .rr-cta-link > a:hover,
	.rr-mobile-cta .rr-cta-link > a:focus-visible,
	.rr-mobile-cta .rr-button-link:hover,
	.rr-mobile-cta .rr-button-link:focus-visible {
		color: var(--btn-cta-text);
		background: var(--btn-cta-bg-hover);
		box-shadow: 0 8px 20px rgba(var(--overlay-card-rgb), 0.22);
		transform: none;
	}

	.rr-mobile-cta .rr-cta-link__icon {
		display: grid;
		place-items: center;
		width: 22px;
		height: 22px;
	}

	.rr-mobile-cta .rr-cta-link__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.rr-mobile-cta .rr-cta-link__icon svg {
		display: block;
		width: 22px;
		height: 22px;
		fill: none;
		stroke: currentcolor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 2;
	}
}

@media (max-width: 768px) {

	.rr-hero .rr-heading--display {
		font-size: clamp(2.8rem, 12vw, 3.2rem);
	}

	.rr-page-header > *,
	.rr-page-header .rr-lead {
		width: 100%;
		max-width: 100%;
	}

	.rr-page-header .rr-heading--display {
		max-width: none;
		font-size: clamp(2.4rem, 11vw, 2.85rem);
		line-height: 1.12;
	}

	.rr-grid--features,
	.rr-grid--fit,
	.rr-grid--surface,
	.rr-grid--faq,
	.rr-grid--info,
	.rr-grid--entry,
	.rr-grid--program,
	.rr-grid--prep,
	.rr-grid--mosaic,
	.rr-grid--contact,
	.rr-grid.contact-info-row {
		gap: var(--rr-mobile-gap, var(--space-lg));
		grid-template-columns: repeat(var(--rr-columns-mobile, 1), minmax(0, 1fr));
	}

	.rr-grid > .rr-card {
		grid-column: auto;
	}

	.rr-grid--mosaic > .rr-card,
	.rr-grid--mosaic > .rr-card:nth-child(4),
	.rr-grid--mosaic > .rr-card:nth-child(5) {
		grid-column: auto;
	}

	.rr-card__list,
	.rr-card__list li {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.rr-card,
	.rr-feature-card,
	.rr-info-strip,
	.rr-surface-panel,
	.rr-faq-item,
	.rr-timeline-step,
	.rr-program-card {
		--rr-card-mobile-padding: clamp(1.25rem, 6vw, 1.5rem);

		padding: var(--rr-card-mobile-padding);
		border-radius: 18px;
	}

	.rr-card--compact {
		padding: clamp(1rem, 5vw, 1.25rem);
	}

	.rr-card--spacious,
	.rr-card--program {
		padding: var(--rr-card-mobile-padding);
	}

	.rr-card > .rr-media {
		margin: calc(var(--rr-card-mobile-padding) * -1) calc(var(--rr-card-mobile-padding) * -1) var(--space-md);
	}

	.rr-image-card > :not(.wp-block-image):not(.rr-media),
	.rr-resource-card__content {
		padding: var(--rr-card-mobile-padding);
	}

	.rr-card__badge,
	.rr-card__meta,
	.rr-card__title,
	.rr-card__body,
	.rr-card__actions,
	.rr-card__actions .rr-button-link,
	.rr-card__actions .rr-cta-link,
	.rr-card__actions .rr-cta-link a {
		max-width: 100%;
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.rr-card__title {
		font-size: clamp(1.55rem, 8vw, 2rem);
		line-height: 1.16;
		hyphens: auto;
	}

	.rr-grid--faq .rr-card__title,
	.rr-card--feature .rr-card__title {
		font-size: clamp(1.35rem, 7vw, 1.75rem);
	}

	.rr-card__actions {
		gap: var(--space-xs);
	}
}
