/**
 * CGP homepage private-draft patterns.
 * Requires the shared CGP Beaver Pattern Library.
 * Version: 0.2.1
 */

.cgp-bb-page .cgp-homepage-hero > .fl-row-content-wrap {
	background-color: #001730;
	background-image:
		linear-gradient(180deg, rgba(0, 23, 48, 0.72) 0%, rgba(0, 23, 48, 0.78) 56%, rgba(0, 23, 48, 0.84) 100%),
		url('/wp-content/mu-plugins/cgp-homepage-assets/cgp-ai-assisted-filled-seat-team-circle-v2-1600x1000.jpg');
	background-position: center, center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.cgp-bb-page .cgp-homepage-hero .fl-col-group {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	align-items: center;
	max-width: 960px;
	margin: 0 auto;
}

.cgp-bb-page .cgp-homepage-hero .fl-col-group::before,
.cgp-bb-page .cgp-homepage-hero .fl-col-group::after {
	display: none;
	content: none;
}

.cgp-bb-page .cgp-homepage-hero .fl-col {
	width: auto !important;
}

.cgp-bb-page .cgp-homepage-hero__copy {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.cgp-bb-page .cgp-homepage-hero__copy > .fl-col-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.cgp-bb-page .cgp-homepage-hero__eyebrow,
.cgp-bb-page .cgp-homepage-hero__headline,
.cgp-bb-page .cgp-homepage-hero__lede {
	grid-column: 1 / -1;
	text-align: center;
}

.cgp-bb-page .cgp-homepage-hero__eyebrow .fl-rich-text,
.cgp-bb-page .cgp-homepage-hero__lede .fl-rich-text {
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
}

.cgp-bb-page .cgp-homepage-hero__headline.fl-heading,
.cgp-bb-page .cgp-homepage-hero__eyebrow p,
.cgp-bb-page .cgp-homepage-hero__lede p {
	text-align: center;
}

.cgp-bb-page .cgp-homepage-hero__primary .fl-button-wrap,
.cgp-bb-page .cgp-homepage-hero__primary .fl-button,
.cgp-bb-page .cgp-homepage-hero__secondary .fl-button-wrap,
.cgp-bb-page .cgp-homepage-hero__secondary .fl-button {
	width: 100%;
}

.cgp-bb-page .cgp-homepage-hero__visual {
	display: none !important;
}

.cgp-bb-page .cgp-homepage-hero__art {
	min-height: 280px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 28px;
	background:
		linear-gradient(145deg, rgba(63, 218, 216, 0.16), rgba(249, 200, 70, 0.08)),
		repeating-linear-gradient(135deg, transparent 0 28px, rgba(255, 255, 255, 0.06) 28px 30px);
}

.cgp-bb-page .cgp-homepage-logo-rail > .fl-row-content-wrap {
	padding-bottom: 48px;
	padding-top: 48px;
}

.cgp-bb-page .cgp-homepage-logo-rail__label {
	margin-bottom: 22px;
	color: var(--cgp-bb-teal);
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

.cgp-bb-page .cgp-homepage-logo-rail__context {
	max-width: 820px;
	margin: -8px auto 28px;
	color: var(--cgp-bb-slate);
	text-align: center;
}

.cgp-bb-page .cgp-homepage-logo-rail__slots {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cgp-bb-page .cgp-homepage-logo-rail__slot {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 82px;
	min-height: 82px;
	padding: 18px;
	overflow: hidden;
	border: 1px solid var(--cgp-bb-line);
	border-radius: 12px;
	background: var(--cgp-bb-white);
}

.cgp-bb-page .cgp-homepage-logo-rail__slot--ready img {
	display: block;
	width: auto;
	max-width: min(100%, 210px);
	height: auto;
	max-height: 58px;
	aspect-ratio: var(--cgp-logo-aspect);
	object-fit: contain;
}

/* These two supplied reference files include generous built-in canvas space.
 * The fixed logo tile clips that canvas without altering the marks themselves. */
.cgp-bb-page .cgp-homepage-logo-rail__slot--ready img[alt="Yale University"] {
	width: 180px;
	max-width: none;
	height: auto;
	max-height: none;
	aspect-ratio: auto;
}

.cgp-bb-page .cgp-homepage-logo-rail__slot--ready img[alt="Yieldstreet"] {
	width: 250px;
	max-width: none;
	height: auto;
	max-height: none;
	aspect-ratio: auto;
}

.cgp-bb-page .cgp-homepage-logo-rail__slot--reserved {
	border-style: dashed;
	background:
		linear-gradient(90deg, transparent 20%, rgba(0, 109, 120, 0.06) 20% 80%, transparent 80%) center / 100% 10px no-repeat,
		var(--cgp-bb-white);
}

.cgp-bb-page .cgp-homepage-paths__intro,
.cgp-bb-page .cgp-homepage-section-intro {
	max-width: 820px;
	margin-bottom: 42px;
}

.cgp-bb-page .cgp-homepage-path-grid > .fl-col-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.cgp-bb-page .cgp-homepage-path-grid > .fl-col-content > .fl-module-heading,
.cgp-bb-page .cgp-homepage-path-grid > .fl-col-content > .cgp-homepage-paths__intro,
.cgp-bb-page .cgp-homepage-path-grid > .fl-col-content > .cgp-homepage-text-link {
	grid-column: 1 / -1;
}

.cgp-bb-page .cgp-homepage-path-card > .fl-module-content {
	height: 100%;
	padding: 32px;
	border-top: 5px solid var(--cgp-bb-aqua);
	border-radius: 0 0 16px 16px;
	background: var(--cgp-bb-mist);
}

.cgp-bb-page .cgp-homepage-path-card a,
.cgp-bb-page .cgp-homepage-text-link a,
.cgp-bb-page .cgp-homepage-article-card a {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.cgp-bb-page .cgp-homepage-situation-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 32px;
	margin: 0 0 38px;
	padding: 0;
	list-style: none;
}

.cgp-bb-page .cgp-homepage-situation-list li {
	position: relative;
	padding: 22px 22px 22px 54px;
	border-bottom: 1px solid var(--cgp-bb-line);
}

.cgp-bb-page .cgp-homepage-situation-list li::before {
	position: absolute;
	top: 26px;
	left: 18px;
	width: 14px;
	height: 14px;
	border: 3px solid var(--cgp-bb-teal);
	border-radius: 50%;
	content: "";
}

.cgp-bb-page .cgp-homepage-feature {
	max-width: 900px;
}

.cgp-bb-page .cgp-homepage-privacy-note,
.cgp-bb-page .cgp-homepage-pricing-note {
	padding-left: 20px;
	border-left: 4px solid var(--cgp-bb-aqua);
}

.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content > .cgp-bb-eyebrow,
.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content > .fl-module-heading,
.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content > .cgp-homepage-section-intro,
.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content > .fl-module-button {
	grid-column: 1 / -1;
}

.cgp-bb-page .cgp-homepage-article-card > .fl-module-content {
	height: 100%;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--cgp-bb-line);
	border-radius: 16px;
	background: var(--cgp-bb-white);
}

.cgp-bb-page .cgp-homepage-article-card figure {
	margin: 0;
}

.cgp-bb-page .cgp-homepage-article-card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.cgp-bb-page .cgp-homepage-article-card__copy {
	padding: 26px;
}

.cgp-bb-page .cgp-homepage-article-card h3 {
	margin-top: 0;
}

.cgp-bb-page .cgp-homepage-final-link a {
	color: var(--cgp-bb-white);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media (max-width: 1024px) {
	.cgp-bb-page .cgp-homepage-hero .fl-col-group {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.cgp-bb-page .cgp-homepage-hero__art {
		min-height: 180px;
	}

	.cgp-bb-page .cgp-homepage-path-grid > .fl-col-content,
	.cgp-bb-page .cgp-homepage-article-grid > .fl-col-content {
		grid-template-columns: 1fr;
	}
}

/*
 * The homepage masthead overlays the hero instead of occupying document flow.
 * Restore the masthead's measured height before applying normal hero spacing so
 * the opening message always begins below compact navigation.
 */
@media (max-width: 980px) {
	.cgp-bb-page .cgp-homepage-hero > .fl-row-content-wrap {
		padding-top: calc(var(--cgp-site-header-height, 83px) + var(--cgp-hero-stage-pad, 52px));
	}
}

@media (max-width: 767px) {
	.cgp-bb-page .cgp-homepage-hero > .fl-row-content-wrap {
		padding-top: calc(var(--cgp-site-header-height, 83px) + 32px);
		background-position: center, center top;
		background-size: 100% 100%, 100% auto;
	}

	.cgp-bb-page .cgp-homepage-logo-rail__slots {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cgp-bb-page .cgp-homepage-logo-rail__slot {
		height: 70px;
		min-height: 70px;
	}

	.cgp-bb-page .cgp-homepage-situation-list {
		grid-template-columns: 1fr;
	}

	.cgp-bb-page .cgp-homepage-hero__copy > .fl-col-content {
		grid-template-columns: 1fr;
	}

	.cgp-bb-page .cgp-homepage-hero__primary,
	.cgp-bb-page .cgp-homepage-hero__secondary {
		grid-column: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cgp-bb-page .cgp-homepage-logo-rail__slot,
	.cgp-bb-page .cgp-homepage-article-card {
		transition: none !important;
	}
}
