/* LASPNET About */
.lsp-about {
	grid-column: 1 / -1; /* span the whole row when placed inside the intro grid */
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
	padding: 1.5rem 0;
}

.lsp-about__eyebrow {
	display: flex; align-items: center; gap: .75rem; margin: 0 0 .9rem;
	font-size: .85rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lsp-brand, #8f1d2c);
}
.lsp-about__eyebrow::before { content: ""; width: 2.5rem; height: 4px; background: var(--lsp-gold, #f4b400); }

.lsp-about__heading {
	margin: 0 0 1.25rem; font-family: var(--lsp-font-display, Georgia, serif); font-weight: 400;
	font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.15; color: var(--lsp-ink, #241a1c);
}
.lsp-about__text { max-width: 38rem; font-size: 1.08rem; line-height: 1.7; color: color-mix(in srgb, var(--lsp-ink, #241a1c) 80%, #fff); }
.lsp-about__text p { margin: 0 0 1rem; }
.lsp-about__text p:last-child { margin-bottom: 0; }

.lsp-about__btn {
	display: inline-block; margin-top: 1.5rem; padding: .8rem 1.6rem;
	font-weight: 700; text-decoration: none; color: #fff; background: var(--lsp-brand, #8f1d2c);
	border-bottom: 3px solid var(--lsp-gold, #f4b400); border-radius: 999px;
	transition: background .2s ease, transform .2s ease;
}
.lsp-about__btn::after { content: " \2192"; }
.lsp-about__btn:hover, .lsp-about__btn:focus-visible { background: var(--lsp-brand-deep, #6b1521); color: #fff; transform: translateY(-2px); }
.lsp-about__btn:focus-visible { outline: 3px solid var(--lsp-gold, #f4b400); outline-offset: 3px; }

/* Figures */
.lsp-about__stats {
	display: grid; grid-template-columns: repeat(var(--lsp-stat-cols, 3), minmax(0, 1fr)); gap: 1.5rem;
	margin: 2.25rem 0 0; padding: 1.75rem 0 0; border-top: 1px solid var(--lsp-line, #ddd9da);
}
.lsp-stat { display: flex; flex-direction: column-reverse; margin: 0; padding-left: 1rem; border-left: 4px solid var(--lsp-gold, #f4b400); }
.lsp-stat__value {
	display: block; margin: 0; font-family: var(--lsp-font-display, Georgia, serif);
	font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1; color: var(--lsp-brand, #8f1d2c);
	font-variant-numeric: lining-nums tabular-nums;
}
.lsp-stat__label { display: block; margin: .5rem 0 0; font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: color-mix(in srgb, var(--lsp-ink, #241a1c) 70%, #fff); }

/* Image with an offset gold frame */
.lsp-about__media { position: relative; margin: 0; aspect-ratio: 4 / 5; isolation: isolate; }
.lsp-about__media::before {
	content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; z-index: -1;
	border: 4px solid var(--lsp-gold, #f4b400); border-radius: 28px;
}
.lsp-about__media img {
	display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 25%;
	border-radius: 28px; box-shadow: 0 18px 40px rgba(38, 9, 15, .18);
}
.lsp-about__media.is-placeholder {
	display: grid; place-items: center; border-radius: 28px; color: rgba(255, 255, 255, .85);
	background: linear-gradient(160deg, var(--lsp-brand, #8f1d2c), var(--lsp-brand-deep, #6b1521));
	box-shadow: 0 18px 40px rgba(38, 9, 15, .18);
}

@media (max-width: 900px) {
	.lsp-about { grid-template-columns: minmax(0, 1fr); }
	.lsp-about__media { aspect-ratio: 16 / 10; margin: 0 1.25rem 1.25rem 0; }
}
@media (max-width: 520px) {
	.lsp-about__stats { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.lsp-stat { flex-direction: row-reverse; justify-content: flex-end; align-items: baseline; gap: 1rem; }
	.lsp-stat__label { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lsp-about__btn { transition: none; }
	.lsp-about__btn:hover { transform: none; }
}
