@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap');

/* ============================================================
   PONCA CTA BANNER — Frame 55 + Frame 56
   Class prefix: ponca-cb
   ============================================================ */

.ponca-cb {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	background-color: var(--ponca-cb-section-bg, #691103);
	padding-top: var(--ponca-cb-pad-y, 78px);
	padding-bottom: var(--ponca-cb-pad-y, 78px);
	padding-left: var(--ponca-cb-pad-x, 160px);
	padding-right: var(--ponca-cb-pad-x, 160px);
}

.ponca-cb *,
.ponca-cb *::before,
.ponca-cb *::after {
	box-sizing: border-box;
}

.ponca-cb__container {
	display: flex;
	flex-direction: row;
	align-items: var(--ponca-cb-col-align, center);
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
	flex-wrap: wrap;
	max-width: var(--ponca-cb-container-max, 1600px);
	gap: var(--ponca-cb-container-gap, 0px);
}

.ponca-cb__container--reverse {
	flex-direction: row-reverse;
}

/* ---- Left column ---- */
.ponca-cb__left {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 0;
	min-width: 0;
	max-width: var(--ponca-cb-left-max, 800px);
	padding: 0 var(--ponca-cb-left-pad-x, 48px);
	gap: var(--ponca-cb-left-gap, 24px);
}

.ponca-cb__header-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ponca-cb-header-stack-gap, 14px);
}

/* ---- Typography ---- */
.ponca-cb__eyebrow,
.ponca-cb__headline,
.ponca-cb__paragraph {
	margin: 0;
}

.ponca-cb__eyebrow {
	width: 100%;
	color: var(--ponca-cb-eyebrow-color, #DEB209);
	font-family: var(--ponca-cb-eyebrow-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cb-eyebrow-font-size, 13px);
	line-height: var(--ponca-cb-eyebrow-line-height, 22px);
	font-weight: var(--ponca-cb-eyebrow-font-weight, 600);
	font-style: var(--ponca-cb-eyebrow-font-style, normal);
	letter-spacing: var(--ponca-cb-eyebrow-letter-spacing, 3px);
	text-transform: var(--ponca-cb-eyebrow-text-transform, uppercase);
}

.ponca-cb__headline {
	width: 100%;
	font-family: var(--ponca-cb-headline-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-cb-headline-font-size, 56px);
	line-height: var(--ponca-cb-headline-line-height, 62px);
	font-weight: var(--ponca-cb-headline-font-weight, 600);
	letter-spacing: var(--ponca-cb-headline-letter-spacing, -0.56px);
}

.ponca-cb__headline-top {
	color: var(--ponca-cb-headline-top-color, #EEDCD9);
	font-style: var(--ponca-cb-headline-top-font-style, normal);
}

.ponca-cb__headline-bottom {
	color: var(--ponca-cb-headline-bottom-color, #DEB209);
	font-style: var(--ponca-cb-headline-bottom-font-style, italic);
}

.ponca-cb__headline-top,
.ponca-cb__headline-bottom,
.ponca-cb__headline-sep {
	display: inline;
}

.ponca-cb__description {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: var(--ponca-cb-desc-gap, 0px);
}

.ponca-cb__paragraph {
	width: 100%;
	color: var(--ponca-cb-para-color, #DBB7B1);
	font-family: var(--ponca-cb-para-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cb-para-font-size, 18px);
	line-height: var(--ponca-cb-para-line-height, 30px);
	font-weight: var(--ponca-cb-para-font-weight, 400);
	font-style: var(--ponca-cb-para-font-style, normal);
	letter-spacing: var(--ponca-cb-para-letter-spacing, 0px);
}

.ponca-cb__paragraph strong,
.ponca-cb__paragraph b {
	font-weight: 700;
}

.ponca-cb__paragraph em,
.ponca-cb__paragraph i {
	font-style: italic;
}

.ponca-cb__paragraph a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* ---- Right column ---- */
.ponca-cb__right {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	flex: 1 1 0;
	min-width: 0;
	max-width: var(--ponca-cb-right-max, 800px);
	gap: var(--ponca-cb-right-gap, 20px);
	justify-content: var(--ponca-cb-right-justify, flex-end);
	align-items: var(--ponca-cb-right-align, flex-start);
}

.ponca-cb__right--stacked {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--ponca-cb-right-desc-gap, 24px);
}

.ponca-cb__right-buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	gap: var(--ponca-cb-right-gap, 20px);
	justify-content: var(--ponca-cb-right-justify, flex-end);
	align-items: var(--ponca-cb-right-align, flex-start);
}

/* ---- Buttons ---- */
.ponca-cb__button {
	box-sizing: border-box;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
	gap: var(--ponca-cb-btn-gap, 19px);
	padding: var(--ponca-cb-btn-padding, 18px 32px);
	background-color: var(--ponca-cb-btn-bg, #DEB209);
	border: var(--ponca-cb-btn-border, 0px solid transparent);
	border-radius: var(--ponca-cb-btn-radius, 4px);
	color: var(--ponca-cb-btn-color, #0D0F0E);
	font-family: var(--ponca-cb-btn-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cb-btn-font-size, 16px);
	line-height: var(--ponca-cb-btn-line-height, 22px);
	font-weight: var(--ponca-cb-btn-font-weight, 600);
	font-style: var(--ponca-cb-btn-font-style, normal);
	letter-spacing: var(--ponca-cb-btn-letter-spacing, 0px);
	text-transform: var(--ponca-cb-btn-text-transform, capitalize);
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}

.ponca-cb__button-label,
.ponca-cb__button-arrow,
.ponca-cb__button-icon {
	display: inline-flex;
	align-items: center;
}

.ponca-cb__button-icon {
	flex: none;
	justify-content: center;
}

.ponca-cb__button-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ponca-cb__button-arrow {
	color: var(--ponca-cb-arrow-color, #0D0F0E);
	font-family: var(--ponca-cb-arrow-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cb-arrow-font-size, 12.8px);
	line-height: var(--ponca-cb-arrow-line-height, 22px);
	font-weight: var(--ponca-cb-arrow-font-weight, 700);
	letter-spacing: var(--ponca-cb-arrow-letter-spacing, 1.92px);
	text-transform: var(--ponca-cb-arrow-text-transform, uppercase);
	transition: color 200ms ease, transform 200ms ease;
}

.ponca-cb__button--primary:hover,
.ponca-cb__button--primary:focus-visible {
	background-color: var(--ponca-cb-pri-hover-bg) !important;
	color: var(--ponca-cb-pri-hover-color) !important;
	outline: none;
}

.ponca-cb__button--primary:hover .ponca-cb__button-arrow,
.ponca-cb__button--primary:focus-visible .ponca-cb__button-arrow {
	color: var(--ponca-cb-pri-arrow-hover-color) !important;
	transform: translateX(2px);
}

.ponca-cb__button--secondary:hover,
.ponca-cb__button--secondary:focus-visible {
	background-color: var(--ponca-cb-sec-hover-bg) !important;
	color: var(--ponca-cb-sec-hover-color) !important;
	outline: none;
}

.ponca-cb__button--secondary:hover .ponca-cb__button-arrow,
.ponca-cb__button--secondary:focus-visible .ponca-cb__button-arrow {
	color: var(--ponca-cb-sec-arrow-hover-color) !important;
	transform: translateX(2px);
}

/* ---- Footer ornament ---- */
.ponca-cb__footer-pattern {
	display: block;
	pointer-events: none;
	user-select: none;
	box-sizing: border-box;
	width: 100%;
	height: var(--ponca-cb-foot-h, 82px);
	margin-top: var(--ponca-cb-foot-margin-top, 40px);
	margin-bottom: var(--ponca-cb-foot-margin-bottom, 0);
	opacity: var(--ponca-cb-foot-opacity, 1);
	background-color: var(--ponca-cb-foot-bg, transparent);
	background-image: var(--ponca-cb-foot-image);
	background-repeat: var(--ponca-cb-foot-repeat, repeat-x);
	background-position: var(--ponca-cb-foot-position, center bottom);
	background-size: var(--ponca-cb-foot-size, auto 100%);
}

.ponca-cb__footer-pattern--full {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	left: auto;
	right: auto;
}

@media (max-width: 1024px) {
	.ponca-cb__footer-pattern {
		height: calc(var(--ponca-cb-foot-h, 82px) * 0.85);
	}
}

@media (max-width: 720px) {
	.ponca-cb__footer-pattern {
		height: var(--ponca-cb-foot-h-mobile, 56px);
	}
}

/* ---- Alignment ---- */
.ponca-cb.alignwide .ponca-cb__container,
.ponca-cb.alignfull .ponca-cb__container {
	max-width: 1600px;
}

/* ---- Responsive ---- */
@media (max-width: 1280px) {
	.ponca-cb__headline {
		font-size: clamp(36px, 4.5vw, 56px) !important;
		line-height: 1.15 !important;
	}
}

@media (max-width: 1024px) {
	.ponca-cb__container {
		flex-direction: column !important;
		align-items: stretch !important;
		gap:clamp(16px, 1.6vw, 24px)
	}

	.ponca-cb__left,
	.ponca-cb__right {
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.ponca-cb__right {
		justify-content: flex-start !important;
	}
}

@media (max-width: 768px) {
	.ponca-cb__headline {
		font-size: 32px !important;
		line-height: 38px !important;
	}

	.ponca-cb__paragraph {
		font-size: 16px !important;
		line-height: 28px !important;
	}

	.ponca-cb__button {
		padding: 14px 24px !important;
		font-size: 15px !important;
	}
}

@media (max-width: 420px) {
	.ponca-cb__button {
		width: 100%;
	}

	.ponca-cb__right {
		flex-direction: column !important;
	}
}

@media (prefers-reduced-motion: reduce) {

	.ponca-cb__button,
	.ponca-cb__button-arrow {
		transition: none !important;
		transform: none !important;
	}
}