/**
 * Section 06 — evidence-led Craftsmanship composition.
 */

.lupet-craftsmanship {
	overflow: clip;
}

.lupet-craftsmanship__header {
	align-items: end;
}

.lupet-craftsmanship__title-group,
.lupet-craftsmanship__intro {
	grid-column: 1 / -1;
}

.lupet-craftsmanship__eyebrow {
	margin-bottom: var(--lupet-space-5);
	color: var(--lupet-color-accent);
}

.lupet-craftsmanship__heading {
	max-width: 8.5em;
}

.lupet-craftsmanship__intro {
	max-width: 32rem;
	margin-top: var(--lupet-space-6);
	color: var(--lupet-color-text-muted);
}

.lupet-craftsmanship__composition {
	align-items: start;
	margin-top: var(--lupet-space-10);
}

.lupet-craftsmanship__figure,
.lupet-craftsmanship__points,
.lupet-craftsmanship__verification {
	grid-column: 1 / -1;
}

.lupet-craftsmanship__figure {
	margin: 0;
	background: var(--lupet-color-media-placeholder-light);
}

.lupet-craftsmanship__placeholder {
	position: absolute;
	right: var(--lupet-space-4);
	bottom: var(--lupet-space-4);
	z-index: 1;
	max-width: calc(100% - (var(--lupet-space-4) * 2));
	color: var(--lupet-color-on-media);
	font-family: var(--lupet-font-sans);
	font-size: 0.55rem;
	font-weight: var(--lupet-font-weight-semibold);
	letter-spacing: var(--lupet-letter-spacing-label);
	line-height: 1.4;
	text-align: right;
}

.lupet-craftsmanship__points {
	margin: var(--lupet-space-9) 0 0;
	padding: 0;
	border-bottom: 1px solid var(--lupet-color-line);
	list-style: none;
}

.lupet-craftsmanship__point {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--lupet-space-3);
	padding: var(--lupet-space-6) 0;
	border-top: 1px solid var(--lupet-color-line);
}

.lupet-craftsmanship__point-meta {
	display: flex;
	align-items: baseline;
	gap: var(--lupet-space-4);
}

.lupet-craftsmanship__number {
	color: var(--lupet-color-accent);
	font-family: var(--lupet-font-serif);
	font-size: 1.75rem;
	font-weight: var(--lupet-font-weight-medium);
	letter-spacing: var(--lupet-letter-spacing-heading);
	line-height: 1;
}

.lupet-craftsmanship__point-label {
	color: var(--lupet-color-text-muted);
}

.lupet-craftsmanship__point-title {
	font-size: clamp(1.65rem, 4.5vw, 2rem);
}

.lupet-craftsmanship__point-body {
	max-width: 31rem;
	color: var(--lupet-color-text-muted);
}

.lupet-craftsmanship__figure--detail {
	width: 72%;
	margin: var(--lupet-space-10) 0 0 auto;
}

.lupet-craftsmanship__verification {
	max-width: 34rem;
	margin: var(--lupet-space-8) 0 0;
	color: var(--lupet-color-accent);
}

.lupet-craftsmanship.lupet-motion-ready .lupet-craftsmanship__composition {
	transition-duration: var(--lupet-motion-duration-image), var(--lupet-motion-duration-image);
}

@media (min-width: 48rem) {
	.lupet-craftsmanship__title-group {
		grid-column: 1 / span 4;
	}

	.lupet-craftsmanship__intro {
		grid-column: 5 / span 4;
		margin-top: 0;
	}

	.lupet-craftsmanship__figure--lead {
		grid-column: 1 / span 6;
	}

	.lupet-craftsmanship__points {
		grid-column: 2 / span 5;
		margin-top: var(--lupet-space-10);
	}

	.lupet-craftsmanship__point {
		grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1.3fr);
		gap: var(--lupet-space-5) var(--lupet-layout-grid-gap);
	}

	.lupet-craftsmanship__point-meta,
	.lupet-craftsmanship__point-title {
		grid-column: 1;
	}

	.lupet-craftsmanship__point-body {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.lupet-craftsmanship__figure--detail {
		grid-column: 7 / span 2;
		grid-row: 2;
		width: auto;
		margin-top: var(--lupet-space-13);
	}

	.lupet-craftsmanship__verification {
		grid-column: 2 / span 4;
	}
}

@media (min-width: 75rem) {
	.lupet-craftsmanship__title-group {
		grid-column: 1 / span 5;
	}

	.lupet-craftsmanship__intro {
		grid-column: 8 / span 5;
	}

	.lupet-craftsmanship__figure--lead {
		grid-column: 5 / span 7;
	}

	.lupet-craftsmanship__points {
		grid-column: 1 / span 7;
		grid-row: 2;
		margin-top: var(--lupet-space-12);
	}

	.lupet-craftsmanship__point {
		grid-template-columns: minmax(11rem, 0.85fr) minmax(0, 1.15fr);
		padding: var(--lupet-space-7) 0;
	}

	.lupet-craftsmanship__figure--detail {
		grid-column: 9 / span 3;
		grid-row: 2;
		margin-top: calc(var(--lupet-space-9) * -1);
	}

	.lupet-craftsmanship__verification {
		grid-column: 1 / span 5;
		grid-row: 3;
	}
}

@media (max-width: 47.99rem) {
	.lupet-craftsmanship__heading {
		max-width: 7.5em;
		font-size: clamp(2.45rem, 11.5vw, 2.9rem);
	}

	.lupet-craftsmanship__intro {
		font-size: 1rem;
	}

	.lupet-craftsmanship__composition {
		display: block;
		margin-top: var(--lupet-space-9);
	}

	.lupet-craftsmanship__points {
		margin-top: var(--lupet-space-9);
	}

	.lupet-craftsmanship__point-body {
		font-size: 0.9375rem;
	}
}
