/* Text + image panel — two columns: heading/intro/image (left) and a
   highlighted text panel (right). Scoped to .b-c-text-panel. */

.lake-root .b-c-text-panel .tp-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

/* left column */
.lake-root .b-c-text-panel .tp-heading {
	font-size: clamp(28px, 3.6vw, 44px);
	max-width: 14ch;
	margin: 0;
	line-height: 1.08;
}
.lake-root .b-c-text-panel .tp-heading em,
.lake-root .b-c-text-panel .tp-heading i {
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
}
.lake-root .b-c-text-panel .tp-intro {
	margin: 22px 0 0;
	font-size: 1.125rem;
	color: #000;
	line-height: 1.65;
	max-width: 52ch;
}
.lake-root .b-c-text-panel .tp-media {
	margin: 28px 0 0;
}
.lake-root .b-c-text-panel .tp-button {
    margin: 15px 0 0;
}
.lake-root .b-c-text-panel .tp-media .frame {
	border-radius: var(--brand-radius, 8px);
	overflow: hidden;
}

/* right column: highlighted panel */
.lake-root .b-c-text-panel .tp-panel {
	padding: 44px;
	background: color-mix(in srgb, var(--brand) 7%, #fff);
	border-radius: var(--brand-radius, 8px);
}
.lake-root .b-c-text-panel .tp-panel-text {
    font-size: 1.125rem;
    line-height: 1.7;
    color: #000;
}

/* dark variant */
.lake-root .b-c-text-panel.dark .tp-intro,
.lake-root .b-c-text-panel.dark .tp-panel-text {
	color: rgba(255, 255, 255, .9);
}
.lake-root .b-c-text-panel.dark .tp-panel {
	background: color-mix(in srgb, #fff 8%, transparent);
}

@media (max-width: 860px) {
	.lake-root .b-c-text-panel .tp-row { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 480px) {
	.lake-root .b-c-text-panel .tp-panel { padding: 28px; }
}
