@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 LOCATIONS GRID — Frame 239 (Niobrara / Norfolk / Omaha)
   Class prefix: ponca-loc
   Custom-property prefix: --ploc-
   ============================================================ */

.ponca-loc {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	background-color: var(--ploc-section-bg, #FFFFFF);
	background-image: var(--ploc-section-bg-image, none);
	background-repeat: var(--ploc-section-bg-repeat, no-repeat);
	background-position: var(--ploc-section-bg-position, center center);
	background-size: var(--ploc-section-bg-size, cover);
	padding-top: var(--ploc-section-pad-y, 96px);
	padding-bottom: var(--ploc-section-pad-y, 96px);
	padding-left: var(--ploc-section-pad-x, 48px);
	padding-right: var(--ploc-section-pad-x, 48px);
}
.ponca-loc *, .ponca-loc *::before, .ponca-loc *::after { box-sizing: border-box; }

.ponca-loc__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 auto;
	width: 100%;
	max-width: var(--ploc-container-max-width, 1600px);
	gap: var(--ploc-container-gap, 48px);
}
.ponca-loc__container--full {
	max-width: 100% !important;
}

/* ---------- Section header (optional) ---------- */
.ponca-loc__section-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: 8px;
}
.ponca-loc__section-eyebrow,
.ponca-loc__section-headline { margin: 0; }

.ponca-loc__section-eyebrow {
	color: var(--ploc-section-eyebrow-color, #A78607);
	font-family: var(--ploc-section-eyebrow-font-family, 'DM Sans', sans-serif);
	font-size: var(--ploc-section-eyebrow-font-size, 13px);
	line-height: var(--ploc-section-eyebrow-line-height, 22px);
	font-weight: var(--ploc-section-eyebrow-font-weight, 600);
	font-style: var(--ploc-section-eyebrow-font-style, normal);
	letter-spacing: var(--ploc-section-eyebrow-letter-spacing, 3px);
	text-transform: var(--ploc-section-eyebrow-text-transform, uppercase);
}

.ponca-loc__section-headline {
	color: var(--ploc-section-headline-color, #0D0F0E);
	font-family: var(--ploc-section-headline-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ploc-section-headline-font-size, 48px);
	line-height: var(--ploc-section-headline-line-height, 56px);
	font-weight: var(--ploc-section-headline-font-weight, 500);
	font-style: var(--ploc-section-headline-font-style, normal);
	letter-spacing: var(--ploc-section-headline-letter-spacing, -0.48px);
}

.ponca-loc__section-headline-accent {
	color: var(--ploc-section-headline-accent-color, #B28E07);
	font-style: var(--ploc-section-headline-accent-font-style, italic);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

.ponca-loc__section-description {
	margin: var(--ploc-section-description-margin-top, 8px) 0 0;
	color: var(--ploc-section-description-color, #474747);
	font-family: var(--ploc-section-description-font-family, 'DM Sans', sans-serif);
	font-size: var(--ploc-section-description-font-size, 16px);
	line-height: var(--ploc-section-description-line-height, 26px);
	font-weight: var(--ploc-section-description-font-weight, 400);
	font-style: var(--ploc-section-description-font-style, normal);
	letter-spacing: var(--ploc-section-description-letter-spacing, 0px);
	text-transform: var(--ploc-section-description-text-transform, none);
}

/* ---------- Each location group ---------- */
.ponca-loc__group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ploc-group-gap, 24px);
}
.ponca-loc__group-header {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	gap: var(--ploc-group-header-gap, 24px);
	padding-top: var(--ploc-group-header-pad-y, 0px);
	padding-bottom: var(--ploc-group-header-pad-y, 0px);
	border-bottom: var(--ploc-group-header-border-bottom, 0px solid transparent);
}
.ponca-loc__group-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: var(--ploc-group-icon-size, 40px);
	height: var(--ploc-group-icon-size, 40px);
	color: var(--ploc-group-icon-color, #B28E07);
}
.ponca-loc__group-icon svg { width: 100%; height: 100%; display: block; }
.ponca-loc__group-title {
	margin: 0;
	color: var(--ploc-group-title-color, #0D0F0E);
	font-family: var(--ploc-group-title-font-family, 'DM Sans', sans-serif);
	font-size: var(--ploc-group-title-font-size, 30px);
	line-height: var(--ploc-group-title-line-height, 39px);
	font-weight: var(--ploc-group-title-font-weight, 600);
	font-style: var(--ploc-group-title-font-style, normal);
	letter-spacing: var(--ploc-group-title-letter-spacing, 0px);
	text-transform: var(--ploc-group-title-text-transform, none);
}

/* ---------- Cards grid ---------- */
.ponca-loc__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: var(--ploc-grid-wrap, wrap);
	width: 100%;
	gap: var(--ploc-grid-gap, 30px);
	align-items: var(--ploc-grid-align, stretch);
	justify-content: var(--ploc-grid-justify, flex-start);
}

.ponca-loc__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: var(--ploc-card-width, 481px);
	flex-grow: var(--ploc-card-flex-grow, 0);
	flex-shrink: var(--ploc-card-flex-shrink, 1);
	flex-basis: var(--ploc-card-flex-basis, 481px);
	background-color: var(--ploc-card-bg, #FFFFFF);
	border: var(--ploc-card-border, 1px solid #F5E7B3);
	border-radius: var(--ploc-card-radius, 0px);
	padding: var(--ploc-card-padding, 40px);
	gap: var(--ploc-card-outer-gap, 30px);
}

.ponca-loc__card-image-wrap {
	display: block;
	width: var(--ploc-card-image-width, 100%);
	height: var(--ploc-card-image-height, 199px);
	border-radius: var(--ploc-card-image-radius, 0px);
	background-color: var(--ploc-card-image-bg, #E8E8E8);
	flex-shrink: 0;
	overflow: hidden;
}
.ponca-loc__card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: var(--ploc-card-image-fit, cover);
	object-position: var(--ploc-card-image-position, center center);
}
.ponca-loc__card-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--ploc-card-image-ph-color, #B28E07);
}
.ponca-loc__card-image-placeholder svg { display: block; }
.ponca-loc__card-image-placeholder-icon {
	width: 58px;
	height: 58px;
	display: inline-block;
}

.ponca-loc__card-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	flex: 1 1 auto;
	min-width: 0;
	gap: var(--ploc-card-content-gap, 20px);
}

.ponca-loc__card-title {
	margin: 0;
	word-break: break-word;
	color: var(--ploc-card-title-color, #0D0F0E);
	font-family: var(--ploc-card-title-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ploc-card-title-font-size, 34px);
	line-height: var(--ploc-card-title-line-height, 48px);
	font-weight: var(--ploc-card-title-font-weight, 500);
	font-style: var(--ploc-card-title-font-style, normal);
	letter-spacing: var(--ploc-card-title-letter-spacing, 0px);
	text-transform: var(--ploc-card-title-text-transform, none);
}

.ponca-loc__card-sections {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ploc-card-sections-gap, 20px);
}

.ponca-loc__card-section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ploc-card-section-gap, 10px);
}
.ponca-loc__card-section-title {
	margin: 0;
	color: var(--ploc-section-subtitle-color, #0D0F0E);
	font-family: var(--ploc-section-subtitle-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ploc-section-subtitle-font-size, 22px);
	line-height: var(--ploc-section-subtitle-line-height, 27px);
	font-weight: var(--ploc-section-subtitle-font-weight, 500);
	font-style: var(--ploc-section-subtitle-font-style, normal);
	letter-spacing: var(--ploc-section-subtitle-letter-spacing, 0px);
	text-transform: var(--ploc-section-subtitle-text-transform, none);
}

.ponca-loc__card-divider {
	padding: 0;
	width: 100%;
	display: block;
	margin: 0;
}
.ponca-loc__card-divider--solid {
	border: none;
	height: var(--ploc-divider-thickness, 1px);
	background-color: var(--ploc-divider-color, #F5E7B3);
}
.ponca-loc__card-divider--dashed {
	background-color: transparent;
	border: none;
	border-top: var(--ploc-divider-thickness, 1px) var(--ploc-divider-style, solid) var(--ploc-divider-color, #F5E7B3);
	height: 0;
}

/* ---------- Rows ---------- */
.ponca-loc__rows {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: var(--ploc-card-rows-gap, 10px);
}
.ponca-loc__row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	max-width: 100%;
	gap: var(--ploc-row-gap, 10px);
}
.ponca-loc__row-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: flex-start;
	justify-content: center;
	margin-top: 2px;
	width: var(--ploc-row-icon-size, 20px);
	height: var(--ploc-row-icon-size, 20px);
	color: var(--ploc-row-icon-color, #A78607);
}
.ponca-loc__row-icon svg { width: 100%; height: 100%; display: block; }
.ponca-loc__row-text {
	transition: color 180ms ease;
	margin: 0;
	color: var(--ploc-row-text-color, #474747);
	font-family: var(--ploc-row-text-font-family, 'DM Sans', sans-serif);
	font-size: var(--ploc-row-text-font-size, 16px);
	line-height: var(--ploc-row-text-line-height, 25px);
	font-weight: var(--ploc-row-text-font-weight, 400);
	font-style: var(--ploc-row-text-font-style, normal);
	letter-spacing: var(--ploc-row-text-letter-spacing, 0px);
}
a.ponca-loc__row-link {
	color: var(--ponca-loc-row-color, inherit);
	text-decoration: none;
}
a.ponca-loc__row-link:hover,
a.ponca-loc__row-link:focus-visible {
	color: var(--ponca-loc-row-color-hover, #A78607);
}

/* ---------- Footer note (italic underlined link) ---------- */
.ponca-loc__footer-note {
	margin: 0;
	transition: color 180ms ease;
	color: var(--ponca-loc-foot-note-color, inherit);
	font-family: var(--ploc-footer-note-font-family, 'DM Sans', sans-serif);
	font-size: var(--ploc-footer-note-font-size, 16px);
	line-height: var(--ploc-footer-note-line-height, 25px);
	font-weight: var(--ploc-footer-note-font-weight, 400);
	font-style: var(--ploc-footer-note-font-style, italic);
	letter-spacing: var(--ploc-footer-note-letter-spacing, 0px);
}
.ponca-loc__footer-note--underline {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
a.ponca-loc__footer-note {
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
a.ponca-loc__footer-note:hover,
a.ponca-loc__footer-note:focus-visible {
	color: var(--ponca-loc-foot-note-color-hover, #A78607);
}

/* ---------- Footer pattern band ---------- */
.ponca-loc__footer-pattern {
	display: block;
	pointer-events: none;
	user-select: none;
	box-sizing: border-box;
	width: 100%;
	height: var(--ponca-loc-foot-h, 83px);
	margin-top: var(--ploc-foot-margin-top, 60px);
	margin-bottom: var(--ploc-foot-margin-bottom, 0);
	opacity: var(--ploc-foot-opacity, 1);
	background-color: var(--ploc-foot-bg, transparent);
	background-image: var(--ploc-foot-bg-image, none);
	background-repeat: var(--ploc-foot-bg-repeat, repeat-x);
	background-position: var(--ploc-foot-bg-position, center bottom);
	background-size: var(--ploc-foot-bg-size, auto 100%);
}
.ponca-loc__footer-pattern--full {
	position: absolute;
	left:0px;
	width: 100vw;
	max-width: 100vw;
	bottom:0px
}



/* ---------- Alignment variants ---------- */
.ponca-loc.alignwide .ponca-loc__container,
.ponca-loc.alignfull .ponca-loc__container {
	max-width: 1600px;
}
.ponca-loc.alignfull.ponca-loc--full-width .ponca-loc__container {
	max-width: 100%;
}

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
	.ponca-loc__card {
		flex-basis: calc(50% - var(--ponca-loc-grid-gap-fallback, 30px) / 2) !important;
		width: auto !important;
		max-width: 100%;
	}
}

@media (max-width: 900px) {
	.ponca-loc { padding-left: 24px !important; padding-right: 24px !important; }
	.ponca-loc__card-title { font-size: 28px !important; line-height: 38px !important; }
	.ponca-loc__group-title { font-size: 24px !important; line-height: 32px !important; }
	.ponca-loc__section-headline { font-size: 36px !important; line-height: 44px !important; }
}
@media (max-width: 768px) {
.ponca-loc__card { flex-basis: 100% !important;  }
}
@media (max-width: 480px) {
	.ponca-loc__card-title { font-size: 24px !important; line-height: 32px !important; }
	.ponca-loc__group-title { font-size: 20px !important; line-height: 28px !important; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	a.ponca-loc__row-link,
	a.ponca-loc__footer-note { transition: none !important; }
}
