/* ==========================================================================
   Testimonials: "carousel" (gold-hairline panel beside a photo, avatar switcher)
   and "grid" (Google rating pill + masonry of review cards)
   ========================================================================== */
.sv-testimonials__stars { display: inline-flex; gap: 3px; }
.sv-testimonials__star { position: relative; display: inline-block; width: 13px; height: 13px; color: rgba(230, 177, 95, .3); line-height: 0; }
.sv-testimonials__star .sv-icon { width: 13px; height: 13px; }
.sv-testimonials__star b { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: var(--sv-accent); }
.sv-testimonials__star b .sv-icon { width: 13px; max-width: none; }
.sv-testimonials__avatar { display: block; width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.sv-testimonials__avatar--text { display: grid; place-items: center; background: var(--sv-accent); color: #000; font-weight: 700; }

/* ---------- Carousel ---------- */
.sv-testimonials--carousel.sv-section { padding: 0; }
.sv-testimonials__wrap { display: grid; grid-template-columns: 1fr 1fr; min-height: 909px; }
.sv-testimonials__panel {
	position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center;
	padding: 80px 90px; text-align: center; background: color-mix(in srgb, var(--sv-bg) 80%, #000);
}
.sv-testimonials__panel::before { content: ""; position: absolute; inset: 15px; border: 1px solid var(--sv-accent); pointer-events: none; }
.sv-testimonials__panel .sv-heading { margin-bottom: 20px; }
.sv-testimonials__track { display: grid; width: 100%; max-width: 560px; }
.sv-testimonials__slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .6s var(--sv-ease), transform .6s var(--sv-ease), visibility .6s; }
.sv-testimonials__slide.is-active { opacity: 1; visibility: visible; transform: none; }
.sv-testimonials__mark { display: block; margin: 0 auto 14px; width: 34px; color: var(--sv-accent); }
.sv-testimonials__mark .sv-icon { width: 34px; height: 34px; }
.sv-testimonials__slide p { margin: 0; font-size: 18px; line-height: 1.8; color: var(--sv-heading); }
.sv-testimonials__thumbs { display: flex; justify-content: center; gap: 12px; margin-top: 34px; }
.sv-testimonials__thumb { padding: 3px; border: 1px solid transparent; border-radius: 50%; background: none; cursor: pointer; opacity: .55; transition: opacity .3s, border-color .3s, transform .3s; }
.sv-testimonials__thumb .sv-testimonials__avatar { width: 46px; height: 46px; }
.sv-testimonials__thumb.is-active { opacity: 1; border-color: var(--sv-accent); transform: scale(1.08); }
.sv-testimonials__thumb:hover, .sv-testimonials__thumb:focus-visible { opacity: 1; outline: 0; }
.sv-testimonials__authors { display: grid; margin-top: 16px; }
.sv-testimonials__author { grid-area: 1 / 1; opacity: 0; transition: opacity .4s; }
.sv-testimonials__author.is-active { opacity: 1; }
.sv-testimonials__author .sv-testimonials__name { display: block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--sv-heading); }
.sv-testimonials__role { display: block; margin-top: 4px; font-size: 13px; opacity: .6; }
.sv-testimonials__media { position: relative; overflow: hidden; background: var(--sv-surface-2); }
img.sv-testimonials__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------- Grid ---------- */
.sv-testimonials--grid { padding: 120px 0; }
.sv-testimonials__rating { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 auto 30px; width: max-content; max-width: 100%; padding: 8px 18px; border: 1px solid var(--sv-line); border-radius: 50px; font-size: 13px; color: var(--sv-heading); }
.sv-testimonials__pill { display: inline-flex; }
.sv-testimonials__brand { display: inline-flex; align-items: center; gap: 6px; color: var(--sv-heading); }
.sv-testimonials__wordmark { font-weight: 700; font-size: 16px; }
.sv-testimonials__brand .sv-icon { width: 13px; height: 13px; }
.sv-testimonials__masonry { columns: 3; column-gap: 30px; }
.sv-testimonials__card { position: relative; break-inside: avoid; margin: 0 0 30px; padding: 30px; border-radius: 5px; background: var(--sv-surface); }
.sv-testimonials__card .sv-testimonials__mark--close { position: absolute; top: 26px; right: 30px; margin: 0; width: 26px; }
.sv-testimonials__card .sv-testimonials__mark--close .sv-icon { width: 26px; height: 26px; }
.sv-testimonials__text { margin: 18px 0 24px; font-size: 15px; line-height: 1.8; color: var(--sv-heading); }
.sv-testimonials__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--sv-line); }
.sv-testimonials__who { display: inline-flex; align-items: center; gap: 12px; }
.sv-testimonials__who .sv-testimonials__avatar { width: 40px; height: 40px; }
.sv-testimonials__who .sv-testimonials__name { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sv-heading); }
.sv-testimonials__date { font-size: 12px; opacity: .55; }

@media (max-width: 1199px) { .sv-testimonials__panel { padding: 70px 50px; } }
@media (max-width: 991px) {
	.sv-testimonials__wrap { grid-template-columns: 1fr; min-height: 0; }
	.sv-testimonials__media { height: 420px; }
	.sv-testimonials--grid { padding: 90px 0; }
	.sv-testimonials__masonry { columns: 2; }
}
@media (max-width: 767px) {
	.sv-testimonials__panel { padding: 60px 30px; }
	.sv-testimonials__masonry { columns: 1; }
	.sv-testimonials--grid { padding: 72px 0; }
}

/* ---------- Grid: measured against the reference card (407px wide, 40px padding) ---------- */
.sv-testimonials--grid { padding: 60px 0 120px; }
.sv-testimonials--grid .sv-container { max-width: calc(1320px + 48px); }
.sv-testimonials__rating { gap: 10px; padding: 0; border: 0; margin-bottom: 40px; font-size: 16px; }
.sv-testimonials__pill { padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 100px; }
.sv-testimonials__pill .sv-testimonials__star, .sv-testimonials__pill .sv-testimonials__star .sv-icon { width: 14px; height: 14px; }
.sv-testimonials__wordmark { font-size: 22px; letter-spacing: -.02em; }
.sv-testimonials__brand .sv-icon { width: 16px; height: 16px; }
.sv-testimonials__masonry { column-gap: 20px; }
.sv-testimonials__card { margin-bottom: 40px; padding: 40px; }
.sv-testimonials__card .sv-testimonials__mark--close { top: 40px; right: 40px; width: 24px; }
.sv-testimonials__card .sv-testimonials__mark--close .sv-icon { width: 24px; height: 24px; }
.sv-testimonials__card .sv-testimonials__star, .sv-testimonials__card .sv-testimonials__star .sv-icon { width: 14px; height: 14px; }
.sv-testimonials__text { margin: 20px 0 0; font-size: 16px; }
.sv-testimonials__meta { padding-top: 20px; border-top: 0; }
.sv-testimonials__who { gap: 10px; }
.sv-testimonials__who .sv-testimonials__avatar { width: 50px; height: 50px; }
.sv-testimonials__who .sv-testimonials__name { font-size: 16px; font-weight: 400; letter-spacing: .1em; line-height: 1; }
.sv-testimonials__date { padding: 5px 10px; border-radius: 20px; background: #22100f; color: rgba(255, 255, 255, .6); font-size: 14px; line-height: 14px; opacity: 1; }
@media (max-width: 767px) { .sv-testimonials__card { padding: 30px; } .sv-testimonials__card .sv-testimonials__mark--close { top: 30px; right: 30px; } }
.sv-testimonials.sv-testimonials--grid { background: var(--sv-bg); }
.sv-testimonials__who img.sv-testimonials__avatar { border-radius: 50%; object-fit: cover; }
