/* Testimonials */
.bel-testimonials { position: relative; overflow: hidden; }
.bel-tm__bg { position: absolute; left: -40px; top: 40px; width: 720px; color: var(--bel-heading); opacity: .05; pointer-events: none; }
.bel-tm__grid { position: relative; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 80px; align-items: start; }

/* Trusted partners box: dark, house-shaped (roof peak) */
.bel-tm__partners {
	position: relative;
	margin-top: 40px;
	padding: 130px 34px 36px;
	background: var(--bel-dark);
	background-image: var(--bel-tex-dark);
	color: #fff;
	clip-path: polygon(0 26%, 50% 0, 100% 26%, 100% 100%, 0 100%);
}
.bel-tm__roof { position: absolute; top: 34px; left: 50%; display: grid; place-items: center; width: 64px; height: 64px; transform: translateX(-50%); background: var(--bel-accent); color: var(--bel-on-accent); clip-path: polygon(50% 0, 100% 40%, 100% 100%, 0 100%, 0 40%); }
.bel-tm__roof .bel-icon { width: 30px; height: 30px; margin-top: 8px; }
.bel-tm__partners-title { margin: 0 0 22px; color: #fff; font-size: 28px; line-height: 1.25; }
.bel-tm__avatars { display: flex; }
.bel-tm__avatar { display: grid; place-items: center; width: 54px; height: 54px; margin-left: -14px; overflow: hidden; border: 3px solid #fff; border-radius: 50%; background: var(--bel-dark-2); }
.bel-tm__avatar:first-child { margin-left: 0; }
.bel-tm__avatar img, .bel-tm__avatar .bel-ph { width: 100%; height: 100% !important; min-height: 0; object-fit: cover; }
.bel-tm__count { background: var(--bel-accent); color: var(--bel-on-accent); font-size: 14px; font-weight: 700; }

.bel-tm__main .bel-heading { max-width: 720px; margin-bottom: 40px; }
.bel-tm__slider { position: relative; }
.bel-tm__track { display: grid; }
.bel-tm__slide {
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 70px;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s var(--bel-ease), visibility .6s;
}
.bel-tm__slide.is-active { opacity: 1; visibility: visible; }
.bel-tm__quote { margin: 0; padding-bottom: 90px; }
.bel-tm__glyph { width: 86px; height: 62px; margin-bottom: 30px; color: var(--bel-dark); }
.bel-tm__quote p { margin: 0; color: var(--bel-heading); font: 500 clamp(1.15rem, 1.6vw, 1.4rem)/1.75 var(--bel-font-h); text-transform: none; }
.bel-tm__card { position: relative; overflow: hidden; aspect-ratio: 34 / 38; margin-top: -10px; background: var(--bel-dark); }
.bel-tm__card img, .bel-tm__card .bel-ph { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.bel-tm__card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(30, 30, 30, .9)); }
.bel-tm__card-body { position: absolute; left: 26px; right: 26px; bottom: 26px; z-index: 1; display: flex; flex-direction: column; gap: 6px; color: #fff; }
.bel-tm__name { font: 500 26px/1.2 var(--bel-font-h); color: inherit; }
.bel-tm__role { font-size: 16px; opacity: .85; }
.bel-stars { display: inline-flex; gap: 3px; color: var(--bel-accent); }
.bel-stars svg { width: 20px; height: 20px; opacity: .3; }
.bel-stars svg.is-on { opacity: 1; }
.bel-tm__nav { position: absolute; left: 0; bottom: 8px; display: flex; gap: 40px; }

/* Stacked */
.bel-tm__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.bel-tm__intro .bel-heading { margin-bottom: 30px; }
.bel-tm__photo { position: relative; margin: 50px 0 calc(var(--bel-section) * -1) calc(var(--bel-gutter) * -1); aspect-ratio: 5 / 4; overflow: hidden; }
.bel-tm__photo img, .bel-tm__photo .bel-ph { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.bel-tm__list { display: grid; gap: 30px; }
.bel-tm__review { margin: 0; padding: 34px 38px; background: var(--bel-grey); background-image: var(--bel-tex-light); }
.bel-tm__review blockquote { margin: 16px 0 24px; }
.bel-tm__review blockquote p { margin: 0; color: var(--bel-heading); font-size: 17px; line-height: 1.7; }
.bel-tm__review figcaption { display: flex; align-items: center; gap: 16px; }
.bel-tm__review .bel-tm__name { font-size: 22px; color: var(--bel-heading); }
.bel-tm__review .bel-tm__role { color: var(--bel-text); }
.bel-tm__mini { flex: none; width: 56px; height: 56px; overflow: hidden; border-radius: 50%; }
.bel-tm__mini img, .bel-tm__mini .bel-ph { width: 100%; height: 100% !important; min-height: 0; object-fit: cover; }
.bel-tm__review .bel-tm__glyph { width: 62px; height: 44px; margin: 0 0 0 auto; color: var(--bel-dark); }

@media (max-width: 1199px) {
	.bel-tm__grid { grid-template-columns: 220px minmax(0, 1fr); gap: 50px; }
	.bel-tm__slide { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
}
@media (max-width: 1024px) {
	.bel-tm__grid { grid-template-columns: 1fr; }
	.bel-tm__partners { order: 2; max-width: 300px; margin-top: 0; }
	.bel-tm__cols { grid-template-columns: 1fr; }
	.bel-tm__photo { margin-bottom: 0; }
}
@media (max-width: 767px) {
	.bel-tm__slide { grid-template-columns: 1fr; gap: 30px; }
	.bel-tm__quote { padding-bottom: 0; }
	.bel-tm__card { max-width: 340px; }
	.bel-tm__nav { position: static; margin-top: 30px; gap: 30px; }
	.bel-tm__review { padding: 26px 22px; }
	.bel-tm__review .bel-tm__glyph { display: none; }
}
