/* John Morley Team Photos: the people as the face of the brand — copy and the van's
   points on the left, a photo mosaic on the right */
.jm.team { padding: clamp(72px, 8vw, 120px) 0; background: var(--white); }
.jm .team__in { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); align-items: start; }
.jm .team__copy { position: sticky; top: calc(var(--hdr) + var(--wp-admin--admin-bar--height, 0px) + 32px); }
.jm .team__lead { margin-top: 20px; }
.jm .team__pts { display: grid; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.jm .team__pts li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--line); font: 800 24px/1.05 var(--font-display); text-transform: uppercase; color: var(--slate); }
.jm .team__pts svg { flex: none; width: 30px; height: 30px; fill: none; stroke: var(--clay); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jm .team__cta { margin-top: 30px; }

/* mosaic: 4 columns — 1 large (2 cols × 4 rows), 2 + 3 tall, 4 wide, 5 + 6 under them */
.jm .team__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(120px, 10.5vw, 168px); gap: 12px; margin: 0; padding: 0; list-style: none; }
.jm .team__ph { position: relative; margin: 0; overflow: hidden; border-radius: var(--r); background: var(--slate); }
.jm .team__ph img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1s var(--ease); }
.jm .team__ph:hover img { transform: scale(1.04); }
.jm .team__ph--1 { grid-column: 1 / 3; grid-row: 1 / 5; }
.jm .team__ph--2 { grid-column: 3; grid-row: 1 / 3; }
.jm .team__ph--3 { grid-column: 4; grid-row: 1 / 3; }
.jm .team__ph--4 { grid-column: 3 / 5; grid-row: 3 / 5; }
.jm .team__ph--5 { grid-column: 1 / 3; grid-row: 5 / 7; }
.jm .team__ph--6 { grid-column: 3 / 5; grid-row: 5 / 7; }

@media (prefers-reduced-motion: reduce) {
	.jm .team__ph img { transition: none; }
}
@media (max-width: 1024px) {
	.jm .team__in { grid-template-columns: 1fr; }
	.jm .team__copy { position: static; max-width: 640px; }
}
@media (max-width: 760px) {
	.jm .team__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 44vw; gap: 8px; }
	.jm .team__ph--1 { grid-column: 1 / 3; grid-row: span 2; }
	.jm .team__ph--2, .jm .team__ph--3, .jm .team__ph--5, .jm .team__ph--6 { grid-column: auto; grid-row: span 1; }
	.jm .team__ph--4 { grid-column: 1 / 3; grid-row: span 1; }
	.jm .team__pts li { font-size: 22px; }
}
