/* ── Section ─────────────────────────────────────────────── */
.section-about {
	position: relative;
	overflow-x: clip;
	background-color: var(--color-bg-light-50);
	background-blend-mode: multiply;
	/* shapes inside .section-content — clipped by overflow-x: clip on .section-content */
}

.section-about > .container {
	position: relative;
	z-index: 1;
	padding-block: var(--size-v-pad-md) var(--size-v-pad-sm);
}

/* ── Top grid ────────────────────────────────────────────── */
.section-about .g-13-11.ab-top {
	position: relative;
	z-index: 1;
	align-items: start;
	gap: var(--size-pad-md);
	grid-template-columns: 1fr;
}

/* ── Left column ─────────────────────────────────────────── */
.ab-col-text {
	display: flex;
	flex-direction: column;
	gap: var(--size-pad-xs);
	text-align: center;
	align-items: center;
}

.ab-title {
	color: var(--color-text-pri-dark);
	margin: 0;
}

.ab-title + .ab-desc {
	margin-top: 0;
}

.ab-desc {
	font-style: normal;
	color: var(--color-text-pri-dark);
	max-width: 54ch;
	text-wrap: balance;
}

.ab-desc p {
	margin: 0;
}

/* ── Star decoration ─────────────────────────────────────── */
.ab-col-visual {
	position: static;
}

.ab-star {
	position: absolute;
	top: -40%;
	right: -10%;
	width: 46.2%;
	max-width: 57.2rem;
	pointer-events: none;
	user-select: none;
	z-index: 0;
	will-change: transform;
}

/* ── Decorative shapes ───────────────────────────────────── */
.section-about .shape-circle-red {
	position: absolute;
	right: -10%;
	bottom: calc(4.5rem + 30%);
	width: 19.3rem;
	pointer-events: none;
	z-index: 0;
	will-change: transform;
}

@media only screen and (max-width: 991.98px) {
	.section-about .shape-circle-red {
		display: none;
	}
}

/* ── Stats row ───────────────────────────────────────────── */
.ab-stats {
	position: relative;
	z-index: 1;
	display: flex;
	margin-top: 0;
	max-width: 75%;
	margin-inline: auto;
}

.ab-stat {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.75rem;
	padding-inline: calc(var(--size-pad-sm) / 2);
}

.ab-stat:first-child {
	padding-left: 0;
}

.ab-stat + .ab-stat::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background-color: transparent;
	background-image: radial-gradient(circle, var(--color-border-light-200) 1px, transparent 1px);
	background-size: 2px 5px;
	background-repeat: repeat-y;
}

.ab-stat-label {
	color: var(--color-text-pri-dark);
}

.ab-stat-number {
	font-size: var(--fs-number);
	font-weight: var(--fw-semibold);
	line-height: 1;
	letter-spacing: -0.027em;
	color: var(--color-text-pri-dark);
}

/* ── Responsive ──────────────────────────────────────────── */
@media only screen and (max-width: 991.98px) {
	.section-about > .container {
		padding-block: var(--size-v-pad-md) var(--size-v-pad-sm);
	}

	.section-about .g-13-11.ab-top {
		grid-template-columns: 1fr;
		gap: var(--size-v-pad-xs);
	}

	.ab-star {
		width: 38.5%;
		right: -2%;
	}

	.section-home-banner + .section-about {
		border-top: 1px solid var(--color-border-section);
	}

	.ab-col-text {
		text-align: left;
		align-items: flex-start;
	}

	.ab-stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1rem;
		row-gap: var(--size-pad-xs);
		max-width: 100%;
	}

	.ab-stat {
		flex: unset;
		padding-inline: 0;
		padding-block: 0;
		text-align: left;
		align-items: flex-start;
	}

	.ab-stat:first-child {
		padding-top: 0;
		padding-left: 0;
	}

	/* all stats: dotted divider at their own left edge */
	.ab-stat + .ab-stat::before {
		display: block;
		left: 0;
	}

	.ab-stat:first-child::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 2px;
		background-image: radial-gradient(circle, var(--color-border-light-200) 1px, transparent 1px);
		background-size: 2px 5px;
		background-repeat: repeat-y;
	}

	/* row-gap handles spacing — no horizontal dividers needed */
	.ab-stat:not(:last-child)::after {
		display: none;
	}

	.ab-stat:nth-child(odd)::after {
		display: none;
	}

	/* mobile overrides: hide dividers, tighten gap */
	.ab-stat {
		gap: 0.5rem;
	}

	.ab-stat + .ab-stat::before,
	.ab-stat:first-child::before {
		display: none;
	}
}