/* ==========================================================================
   Our Team — centred heading + arched chef portraits (Tastyc "team-style-2",
   chefs page s1). Measured at a 1532px viewport: section padding 120px, three
   420×503 arches with 20px gutters, 20px → name → role → 20px → 2-line text.
   ========================================================================== */
.sv-section.sv-team {
	padding: 120px 0;
	background: rgba(0, 0, 0, .2);
	overflow: hidden;
}
.sv-team .sv-heading { margin-bottom: 50px; }

.sv-team__grid {
	display: grid;
	gap: 20px;
}
.sv-team__grid--2 { grid-template-columns: repeat(2, 1fr); }
.sv-team__grid--3 { grid-template-columns: repeat(3, 1fr); }
.sv-team__grid--4 { grid-template-columns: repeat(4, 1fr); }

.sv-team__member { text-align: center; }

/* Arched portrait, 420:503 ratio, photo zooms on hover */
.sv-team__photo {
	position: relative;
	aspect-ratio: 420 / 503;
	margin-bottom: 20px;
	background: var(--sv-surface);
}
.sv-team__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s var(--sv-ease);
}
.sv-team__member:hover .sv-team__photo img { transform: scale(1.05); }

/* Social circles fade in over the bottom of the photo */
.sv-team__social {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 2px;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .4s var(--sv-ease), transform .4s var(--sv-ease);
}
.sv-team__member:hover .sv-team__social,
.sv-team__member:focus-within .sv-team__social { opacity: 1; transform: none; }
.sv-team__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #000;
	color: var(--sv-heading);
	transition: background .3s, color .3s;
}
.sv-team__social a:hover { background: var(--sv-accent); color: var(--sv-bg); }
.sv-team__social .sv-icon { width: 13px; height: 13px; fill: currentColor; }

/* Name (uppercase letter-spaced white) over role (gold capitals) */
.sv-team__name {
	margin: 0 0 6px;
	font-family: var(--sv-body-font);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--sv-heading);
}
.sv-team__role {
	display: block;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--sv-accent);
}
.sv-team__text {
	margin: 0;
	padding: 0 30px;
	font-size: 16px;
	line-height: 1.8;
	color: var(--sv-heading);
	opacity: .7;
}

@media (max-width: 1199px) {
	.sv-section.sv-team { padding: 100px 0; }
	.sv-team__name { font-size: 18px; }
	.sv-team__text { padding: 0 10px; }
}
@media (max-width: 991px) {
	.sv-section.sv-team { padding: 80px 0; }
	.sv-team__grid--3, .sv-team__grid--4 { grid-template-columns: repeat(2, 1fr); }
	.sv-team__grid { gap: 30px; }
}
@media (max-width: 767px) {
	.sv-section.sv-team { padding: 70px 0; }
	.sv-team__grid--2, .sv-team__grid--3, .sv-team__grid--4 { grid-template-columns: 1fr; }
	.sv-team__member { max-width: 360px; margin: 0 auto; }
	.sv-team__social { opacity: 1; transform: none; }
	.sv-team__text { padding: 0; }
}

/* Arch top on the portraits and 26px to the name, as measured on the reference chefs page */
.sv-team__photo { margin-bottom: 26px; border-radius: 640px 640px 0 0; overflow: hidden; }
.sv-section.sv-team { padding-top: 130px; }
