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

/* ============================================================
   PONCA CULTURE CONTACTS — contact cards grid
   Class prefix: ponca-cc
   Static layout lives here; editor-controlled tokens arrive as
   --ponca-cc-* custom properties set on the .ponca-cc wrapper.
   ============================================================ */

.ponca-cc {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: var(--ponca-cc-section-bg, #FFFFFF);
	padding: var(--ponca-cc-py, 0px) var(--ponca-cc-px, 160px);
}
.ponca-cc *, .ponca-cc *::before, .ponca-cc *::after { box-sizing: border-box; }

.ponca-cc__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin: 0 auto;
	max-width: var(--ponca-cc-container-maxw, 1600px);
	gap: var(--ponca-cc-container-gap, 30px);
}

/* ---------- Header ---------- */
.ponca-cc__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.ponca-cc__eyebrow {
	margin: 0 0 var(--ponca-cc-eyebrow-mb, 14px);
	color: var(--ponca-cc-eyebrow-color, #DEB209);
	font-family: var(--ponca-cc-eyebrow-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cc-eyebrow-font-size, 13px);
	line-height: var(--ponca-cc-eyebrow-line-height, 22px);
	font-weight: var(--ponca-cc-eyebrow-font-weight, 600);
	font-style: var(--ponca-cc-eyebrow-font-style, normal);
	letter-spacing: var(--ponca-cc-eyebrow-letter-spacing, 3px);
	text-transform: var(--ponca-cc-eyebrow-text-transform, uppercase);
}

.ponca-cc__heading {
	margin: var(--ponca-cc-heading-mt, 0px) 0 var(--ponca-cc-heading-mb, 0px);
	font-family: var(--ponca-cc-heading-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-cc-heading-font-size, 56px);
	line-height: var(--ponca-cc-heading-line-height, 62px);
	font-weight: var(--ponca-cc-heading-font-weight, 300);
	letter-spacing: var(--ponca-cc-heading-letter-spacing, -0.56px);
}
.ponca-cc__heading-line { display: inline; }
.ponca-cc__heading-line-1 {
	color: var(--ponca-cc-heading-l1-color, #0D0F0E);
	font-style: var(--ponca-cc-heading-l1-style, normal);
}
.ponca-cc__heading-line-2 {
	color: var(--ponca-cc-heading-l2-color, #A78607);
	font-style: var(--ponca-cc-heading-l2-style, italic);
}

/* ---------- Grid ---------- */
.ponca-cc__grid {
	display: grid;
	width: 100%;
	grid-template-columns: var(--ponca-cc-grid-cols, repeat(3, minmax(0, 1fr)));
	column-gap: var(--ponca-cc-grid-col-gap, 30px);
	row-gap: var(--ponca-cc-grid-row-gap, 30px);
}

/* Single-card layout: collapse the grid to a constrained, alignable column. */
.ponca-cc--single-card .ponca-cc__grid {
	display: flex;
	flex-direction: column;
	align-items: var(--ponca-cc-single-align, flex-start);
	max-width: var(--ponca-cc-single-maxw, 515px);
}
.ponca-cc__grid--align-center {
	margin-left: auto;
	margin-right: auto;
}
.ponca-cc__grid--align-end {
	margin-left: auto;
}
.ponca-cc--single-card .ponca-cc__card { width: 100%; }

/* ---------- Card ---------- */
.ponca-cc__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
	background: var(--ponca-cc-card-bg, #FFFDF6);
	border: var(--ponca-cc-card-bw, 1px) solid var(--ponca-cc-card-bc, #F5E7B3);
	border-radius: var(--ponca-cc-card-radius, 0px);
	padding: var(--ponca-cc-card-padding, 40px);
	gap: var(--ponca-cc-card-gap, 20px);
	min-height: var(--ponca-cc-card-min-height, 0px);
	transition: background 200ms ease, border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ponca-cc__card:hover {
	background: var(--ponca-cc-card-hover-bg, #FAF3DA);
	border-color: var(--ponca-cc-card-hover-bd, #DEB209);
}
.ponca-cc.is-hover-lift .ponca-cc__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 36px -18px rgba(13, 15, 14, 0.18);
}

/* ---------- Photo ---------- */
.ponca-cc__photo {
	display: block;
	flex-shrink: 0;
	max-width: 100%;
	width: var(--ponca-cc-photo-size, 126px);
	height: var(--ponca-cc-photo-size, 126px);
	background-color: var(--ponca-cc-photo-bg, #E5E5E5);
	border-radius: var(--ponca-cc-photo-radius, 0px);
	object-fit: var(--ponca-cc-photo-fit, cover);
	object-position: var(--ponca-cc-photo-pos, center center);
	background-size: var(--ponca-cc-photo-fit, cover);
	background-position: var(--ponca-cc-photo-pos, center center);
	background-repeat: no-repeat;
	overflow: hidden;
}

/* ---------- Identity ---------- */
.ponca-cc__identity {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: var(--ponca-cc-card-gap, 20px);
}
.ponca-cc__name {
	margin: 0;
	width: 100%;
	color: var(--ponca-cc-name-color, #0D0F0E);
	font-family: var(--ponca-cc-name-font-family, 'Cormorant Garamond', serif);
	font-size: var(--ponca-cc-name-font-size, 30px);
	line-height: var(--ponca-cc-name-line-height, 130%);
	font-weight: var(--ponca-cc-name-font-weight, 400);
	font-style: var(--ponca-cc-name-font-style, normal);
	letter-spacing: var(--ponca-cc-name-letter-spacing, 0px);
}
.ponca-cc__job-title {
	margin: 0;
	width: 100%;
	color: var(--ponca-cc-job-color, #474747);
	font-family: var(--ponca-cc-job-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cc-job-font-size, 16px);
	line-height: var(--ponca-cc-job-line-height, 25px);
	font-weight: var(--ponca-cc-job-font-weight, 400);
	font-style: var(--ponca-cc-job-font-style, normal);
	letter-spacing: var(--ponca-cc-job-letter-spacing, 0px);
}

/* ---------- Divider ---------- */
.ponca-cc__divider {
	width: 100%;
	border: none;
	margin: 0;
	height: var(--ponca-cc-divider-h, 1px);
	background-color: var(--ponca-cc-divider-bg, #F5E7B3);
}

/* ---------- Contact rows ---------- */
.ponca-cc__row {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	min-width: 0;
	gap: var(--ponca-cc-row-gap, 10px);
}
/* Phone row keeps its icon top-aligned (multi-line phone numbers). */
.ponca-cc__row--top { align-items: flex-start; }

.ponca-cc__row-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ponca-cc-icon-size, 20px);
	height: var(--ponca-cc-icon-size, 20px);
}
.ponca-cc__row--top .ponca-cc__row-icon { align-items: flex-start; }
.ponca-cc__row-icon .ponca-cc__icon { display: block; }

.ponca-cc__row-text,
.ponca-cc__row-prefix {
	min-width: 0;
	color: var(--ponca-cc-text-color, #474747);
	font-family: var(--ponca-cc-text-font-family, 'DM Sans', sans-serif);
	font-size: var(--ponca-cc-text-font-size, 16px);
	line-height: var(--ponca-cc-text-line-height, 25px);
	font-weight: var(--ponca-cc-text-font-weight, 400);
	font-style: var(--ponca-cc-text-font-style, normal);
	letter-spacing: var(--ponca-cc-text-letter-spacing, 0px);
	text-decoration: var(--ponca-cc-text-decoration, none);
}

.ponca-cc__phone-lines {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}
.ponca-cc__phone-line { display: inline-flex; align-items: baseline; flex-wrap: wrap; }
.ponca-cc__row-prefix { white-space: pre; }
.ponca-cc__row-link { transition: color 180ms ease; }
.ponca-cc__row-link:hover { color: var(--ponca-cc-link-hover, #A78607) !important; }

/* ---------- Footer pattern ---------- */
.ponca-cc__footer-pattern {
	display: block;
	width: 100%;
	opacity: var(--pcc-foot-opacity, 1);
	height: var(--pcc-foot-h, 83px);
	background-color: var(--pcc-foot-bg, transparent);
	background-image: var(--pcc-foot-image);
	background-repeat: var(--pcc-foot-repeat, repeat-x);
	background-size: var(--pcc-foot-size, auto 100%);
	background-position: var(--pcc-foot-position, left center);
}

/* Full-viewport breakout (paired with the --full modifier class). */
.ponca-cc__footer-pattern--full {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100vw;
	max-width: 100vw;
}



@media (max-width: 1280px) {
	.ponca-cc__heading { font-size: clamp(40px, 5vw, 56px) !important; line-height: 1.15 !important; }
}

@media (max-width: 1024px) {
	.ponca-cc:not(.ponca-cc--single-card) .ponca-cc__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.ponca-cc__name { font-size: 26px !important; }
}

@media (max-width: 768px) {
	.ponca-cc:not(.ponca-cc--single-card) .ponca-cc__grid {
		grid-template-columns: 1fr !important;
	}
	.ponca-cc__heading { font-size: 36px !important; line-height: 42px !important; }
	.ponca-cc__card { min-height: auto !important; }
	.ponca-cc__name { font-size: 24px !important; }
	.ponca-cc__job-title,
	.ponca-cc__row-text { font-size: 15px !important; line-height: 24px !important; }
	/* On narrow screens the single-card constraint should also relax to full width. */
	.ponca-cc--single-card .ponca-cc__grid { max-width: 100% !important; }
}

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

@media (prefers-reduced-motion: reduce) {
	.ponca-cc__card,
	.ponca-cc__row-link { transition: none !important; transform: none !important; }
}
