/* PTE Impact Stats — bento grid */
.pte-istats { background: #95e0e9; padding: clamp(2.5rem, 5vw, 4rem) 0; }
.pte-istats__heading { font-size: clamp(1.75rem, 3.4vw, 3rem); font-weight: 800; color: var(--pte-ink, #251e20); margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); }

.pte-istats__grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 460px; grid-auto-flow: dense; gap: clamp(14px, 1.6vw, 22px);
}
.pte-istats__card--wide { grid-column: span 2; }
.pte-istats__card--tall { grid-row: span 2; }

.pte-istats__card {
	border-radius: 22px; overflow: hidden; display: flex; flex-direction: column;
}

/* Per-card brand colours */
.pte-istats__card--dark-blue  { background: #005474; color: #fff; }
.pte-istats__card--med-green  { background: #41b981; color: var(--pte-ink, #251e20); }
.pte-istats__card--light-blue { background: #5da5db; color: #fff; }
.pte-istats__card--lime       { background: #c3df6c; color: var(--pte-ink, #251e20); }
.pte-istats__card--light      { background: #eef6f4; color: var(--pte-ink, #251e20); }
/* Legacy aliases kept for backward compat */
.pte-istats__card--green { background: #00a576; color: #fff; }
.pte-istats__card--blue  { background: #0e6bb3; color: #fff; }

.pte-istats__text { padding: clamp(1.5rem, 2.5vw, 2rem); flex: 1 1 auto; }

.pte-istats__icon { width: clamp(72px, 7vw, 110px); height: auto; margin-bottom: .75rem; display: block; }

.pte-istats__number { font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 800; line-height: 1; color: inherit; }
.pte-istats__label  { font-size: clamp(1rem, 1.5vw, 1.375rem); line-height: 1.4; margin: .75rem 0 0; color: inherit; }

/* Photo cards: full-bleed background with text overlaid */
.pte-istats__card--photo { position: relative; }
.pte-istats__card--photo .pte-istats__photo {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0;
}
.pte-istats__card--photo .pte-istats__text {
	position: relative; z-index: 1;
	background: linear-gradient(to bottom, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 100%);
}
/* Photo cards always use white text — the stat's colour token would otherwise
   put dark text over the dark photo (illegible). */
.pte-istats__card--photo .pte-istats__number,
.pte-istats__card--photo .pte-istats__label { color: #fff; }

@media (max-width: 900px) {
	.pte-istats__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 280px; }
	.pte-istats__card--wide { grid-column: span 2; }
	.pte-istats__card--tall { grid-row: span 1; }
}
@media (max-width: 560px) {
	.pte-istats__grid { grid-template-columns: 1fr; }
	.pte-istats__card--wide { grid-column: span 1; }
}
