/* ---------- Why Dine With Us: arched photo cards + counters ---------- */
/* Page background darkened with a 20% black veil (Tastyc "advantages" row). */
.sv-why-us { background-color: rgba(0, 0, 0, .2); padding: 130px 0; }
/* Reference: 120px section padding + 10px column padding above/below each row. */
.sv-why-us .sv-heading { padding-top: 5px; margin-bottom: 60px; }

/* Cards: 4 x 310px, 20px apart, 310:418.5 portrait arches */
.sv-why-us__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-why-us__card {
	position: relative;
	aspect-ratio: 20 / 27;
	background: var(--sv-surface);
	isolation: isolate;
}
img.sv-why-us__img {
	position: absolute; inset: 0;
	display: block; width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .9s var(--sv-ease);
}
.sv-why-us__card:hover img.sv-why-us__img { transform: scale(1.05); }
/* Bottom 45%: clear at the top, near-black where the label sits */
.sv-why-us__card::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: 0; height: 45%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .2) 35%, rgba(0, 0, 0, .9) 75%, rgba(0, 0, 0, .9) 100%);
	pointer-events: none;
}
.sv-why-us__label {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
	margin: 0; padding: 0 30px 30px;
	font-family: var(--sv-body-font);
	font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: .02em;
	text-transform: uppercase; text-align: center;
	color: #fff;
}

/* Counters: 4 columns 60px under the cards, hairline on the right of each */
.sv-why-us__counters { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 60px; }
.sv-why-us__counter { border-right: 1px solid var(--sv-line); }
.sv-why-us__counter:last-child { border-right: 0; }
.sv-why-us__num {
	font-family: var(--sv-heading-font);
	font-size: 60px; font-weight: 300; line-height: 1.2; letter-spacing: 0;
	color: var(--sv-heading);
	margin-bottom: 5px;
}
.sv-why-us__counter-label {
	margin-bottom: 15px;
	font-size: 14px; font-weight: 700; line-height: 1.2; letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sv-accent);
}
.sv-why-us__counter-text { margin: 0; font-size: 16px; line-height: 1.8; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
	.sv-why-us__cards { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
}
@media (max-width: 991px) {
	.sv-why-us { padding: 100px 0; }
	.sv-why-us__counters { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
	.sv-why-us__counter:nth-child(2n) { border-right: 0; }
}
@media (max-width: 767px) {
	.sv-why-us { padding: 80px 0; }
	.sv-why-us .sv-heading { margin-bottom: 40px; }
	.sv-why-us__cards { grid-template-columns: minmax(0, 360px); }
	.sv-why-us__counters { grid-template-columns: 1fr; gap: 0; margin-top: 50px; }
	.sv-why-us__counter { border-right: 0; }
	.sv-why-us__counter + .sv-why-us__counter { border-top: 1px solid var(--sv-line); padding-top: 30px; margin-top: 30px; }
}
