/* Ponca Guidelines — dark checklist section.
   Every measurement derives from the supplied Figma CSS spec. */

.ponca-gl,
.ponca-gl * { box-sizing: border-box; }

.ponca-gl {
	display: block;
	width: 100%;
	margin: 0;
	position: relative;
	padding: var(--rf-pad-top, 0px) var(--rf-pad-x, 48px) var(--rf-pad-bottom, 0);
	background-color: var(--gl-section-bg);
}

/* Neutralize rogue theme list/counter rules inside the block. */
.ponca-gl ul,
.ponca-gl ol { list-style: none; padding: 0; margin: 0; }
.ponca-gl .ponca-gl__list ::before,
.ponca-gl .ponca-gl__list ::after { content: none !important; }

/* ---------- Outer section ---------- */
.ponca-gl .ponca-gl__section {
	background: var(--gl-section-bg, #0D0F0E);
	padding-top:    var(--gl-section-py-top,    60px);
	padding-bottom: var(--gl-section-py-bottom, 60px);
	padding-left:   var(--gl-section-px,        48px);
	padding-right:  var(--gl-section-px,        48px);
	width: 100%;
	position: relative;
	overflow: hidden;
}

/* ---------- Footer ornament (absolute, spans full section width) ---------- */
.ponca-gl .ponca-gl__footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	pointer-events: none;
	height: var(--gl-footer-height, 83px);
	margin-top: var(--gl-footer-margin-top, 0px);
	opacity: var(--gl-footer-opacity, 1);
	background-image: var(--gl-footer-image, none);
	background-repeat: var(--gl-footer-repeat, repeat-x);
	background-position: var(--gl-footer-position, left bottom);
	background-size: var(--gl-footer-size, auto 83px);
}

.ponca-gl .ponca-gl__inner {
	display: flex;
	flex-direction: column;
	gap: var(--gl-section-gap, 30px);
	width: 100%;
	max-width: var(--gl-max-width, 1600px);
	margin: 0 auto;
}

.ponca-gl .ponca-gl__content {
	width: 100%;
	max-width: var(--gl-content-max-width, 1010px);
	display: flex;
	flex-direction: column;
	gap: var(--gl-header-to-list-gap, 30px);
}

/* ---------- Header (eyebrow + heading + description) ---------- */
.ponca-gl .ponca-gl__header {
	display: flex;
	flex-direction: column;
	gap: var(--gl-description-top-gap, 24px);
}
.ponca-gl .ponca-gl__head {
	display: flex;
	flex-direction: column;
	gap: var(--gl-head-gap, 14px);
}
.ponca-gl .ponca-gl__eyebrow,
.ponca-gl .ponca-gl__heading {
	margin: 0;
	padding: 0;
	display: block;
}

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

.ponca-gl .ponca-gl__heading {
	color: var(--gl-heading-color, #E2D7CA);
	font-family: var(--gl-heading-font-family, 'Cormorant Garamond', Georgia, serif);
	font-size: var(--gl-heading-font-size, 56px);
	line-height: var(--gl-heading-line-height, 62px);
	font-style: var(--gl-heading-font-style, normal);
	font-weight: var(--gl-heading-font-weight, 300);
	letter-spacing: var(--gl-heading-letter-spacing, -0.56px);
	text-transform: var(--gl-heading-text-transform, none);
}

/* Italic accent inside the heading — inherits heading typography, own colour. */
.ponca-gl .ponca-gl__heading .ponca-gl__heading-em {
	font-style: italic;
	color: var(--gl-heading-italic-color, #DEB209);
}

.ponca-gl .ponca-gl__description {
	margin: 0;
	padding: 0;
	max-width: var(--gl-desc-max-width, 1542px);
	color: var(--gl-description-color, #A7A7A7);
	font-family: var(--gl-description-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--gl-description-font-size, 18px);
	line-height: var(--gl-description-line-height, 30px);
	font-style: var(--gl-description-font-style, normal);
	font-weight: var(--gl-description-font-weight, 400);
	letter-spacing: var(--gl-description-letter-spacing, 0px);
	text-transform: var(--gl-description-text-transform, none);
}
.ponca-gl .ponca-gl__description > p { margin: 0; padding: 0; }
.ponca-gl .ponca-gl__description > p + p { margin-top: var(--gl-desc-para-gap, 12px); }
.ponca-gl .ponca-gl__description a {
	color: var(--gl-desc-link, #DEB209);
	text-decoration: underline;
	transition: color .2s ease;
}
.ponca-gl .ponca-gl__description a:hover,
.ponca-gl .ponca-gl__description a:focus-visible { color: var(--gl-desc-link-hover, #E2D7CA); }
.ponca-gl .ponca-gl__description.is-no-underline a { text-decoration: none; }

/* ---------- Checklist ---------- */
.ponca-gl .ponca-gl__list {
	display: flex;
	flex-direction: column;
	gap: var(--gl-item-gap, 14px);
	width: 100%;
	max-width: var(--gl-list-max-width, 100%);
}
.ponca-gl .ponca-gl__item {
	display: flex;
	flex-direction: row;
	align-items: var(--gl-row-align, flex-start);
	gap: var(--gl-row-gap, 10px);
	min-height: var(--gl-icon-size, 24px);
}

.ponca-gl .ponca-gl__icon {
	flex: 0 0 auto;
	width: var(--gl-icon-size, 24px);
	height: var(--gl-icon-size, 24px);
	color: var(--gl-icon-color, #B28E07);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: var(--gl-icon-top-offset, 3px);
	transition: color .2s ease;
}
.ponca-gl .ponca-gl__icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	fill: none;
}
.ponca-gl .ponca-gl__item:hover .ponca-gl__icon { color: var(--gl-icon-hover-color, #DEB209); }

.ponca-gl .ponca-gl__item-text {
	min-width: 0;
	color: var(--gl-item-text, #A7A7A7);
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	font-family: var(--gl-item-text-font-family, 'DM Sans', 'Helvetica Neue', sans-serif);
	font-size: var(--gl-item-text-font-size, 18px);
	line-height: var(--gl-item-text-line-height, 30px);
	font-style: var(--gl-item-text-font-style, normal);
	font-weight: var(--gl-item-text-font-weight, 400);
	letter-spacing: var(--gl-item-text-letter-spacing, 0px);
	text-transform: var(--gl-item-text-text-transform, none);
}
.ponca-gl .ponca-gl__item-text a {
	color: var(--gl-item-link, #DEB209);
	transition: color .2s ease;
}
.ponca-gl .ponca-gl__item-text a:hover,
.ponca-gl .ponca-gl__item-text a:focus-visible { color: var(--gl-item-link-hover, #E2D7CA); }
.ponca-gl.is-item-link-underline .ponca-gl__item-text a { text-decoration: underline; }
.ponca-gl:not(.is-item-link-underline) .ponca-gl__item-text a { text-decoration: none; }

.ponca-gl .ponca-gl__item-text b,
.ponca-gl .ponca-gl__item-text strong {
	color: var(--gl-item-emphasis-color, #E2D7CA);
	font-weight: var(--gl-item-emphasis-weight, 600);
}

/* ---------- Responsive ---------- */
@media (max-width: 780px) {
	.ponca-gl .ponca-gl__heading {
		font-size: clamp(34px, 8vw, 56px) !important;
		line-height: 1.1 !important;
	}
}
