@charset "utf-8";
/* ==========================================================================
   Testimonials - premium Google review section
   ========================================================================== */

.tc-testimonials { position: relative; isolation: isolate; overflow: hidden; scroll-margin-top: 110px; padding: clamp(5.5rem, 9vw, 8.5rem) 0; background: linear-gradient(145deg, #101827 0%, #101827 62%, #123f43 100%); }
.tc-testimonials::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 92%); pointer-events: none; }
.tc-testimonials__glow { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.tc-testimonials__glow--one { width: 480px; height: 480px; top: -250px; right: -130px; background: radial-gradient(circle, rgba(236,105,31,.18), transparent 68%); }
.tc-testimonials__glow--two { width: 380px; height: 380px; bottom: -200px; left: -140px; background: radial-gradient(circle, rgba(70,186,174,.11), transparent 68%); }

.tc-testimonials__header { max-width: 760px; margin: 0 auto clamp(3rem, 6vw, 5rem); text-align: center; }
.tc-testimonials .tc-section-badge { margin-bottom: 1.25rem; border-color: rgba(255,255,255,.14); background: rgba(236,105,31,.14); color: #ff8b76; }
.tc-testimonials .tc-section-title { margin: 0; color: #fff; font-size: clamp(2.4rem, 5vw, 4.35rem); line-height: 1.04; letter-spacing: -.055em; }
.tc-testimonials .tc-section-title span { color: var(--tc-primary); }
.tc-testimonials .tc-section-description { max-width: 52ch; margin: 1.25rem auto 0; color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.75; }
.tc-testimonials__header::after { content: ""; display: block; width: 58px; height: 4px; margin: 1.75rem auto 0; border-radius: 999px; background: var(--tc-primary); }

.tc-testimonials__wrapper { display: grid; grid-template-columns: 245px minmax(0,1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.tc-testimonials__summary { padding: 1.25rem 0; text-align: center; }
.tc-google-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; margin: 0 .5rem .35rem 0; border-radius: 50%; background: #fff; color: #4285f4; font-family: Arial, sans-serif; font-size: 1.45rem; font-weight: 800; vertical-align: middle; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.tc-rating { display: inline-block; margin-bottom: .35rem; color: #fff; font-size: 3.6rem; font-weight: 800; line-height: 1; letter-spacing: -.06em; vertical-align: middle; }
.tc-summary-stars, .tc-testimonial-card__stars { display: flex; gap: .18rem; color: #fbbc04; }
.tc-summary-stars { justify-content: center; margin-bottom: 1rem; font-size: 1.25rem; }
.tc-testimonials__summary > p { margin: 0 auto 1.4rem; color: rgba(255,255,255,.66); font-size: .88rem; line-height: 1.65; }
.tc-testimonials__actions { display: flex; flex-direction: column; align-items: center; gap: .85rem; }
.tc-testimonials__actions .tc-btn { padding: .85rem 1.25rem; box-shadow: 0 12px 25px rgba(227,30,36,.2); }
.tc-testimonials__read-link { display: inline-flex; align-items: center; gap: .45rem; color: #fff; font-size: .8rem; font-weight: 700; text-decoration: none; }
.tc-testimonials__read-link span { color: var(--tc-primary); font-size: 1.1rem; }

.tc-testimonials-slider { position: relative; min-width: 0; overflow: hidden; padding: 0 2.2rem 3.4rem; }
.tc-testimonials-slider .swiper-wrapper { align-items: stretch; }
.tc-testimonials-slider .swiper-slide { display: flex; width: 260px !important; height: auto; }
.tc-testimonial-card { position: relative; display: flex; flex-direction: column; width: 100%; min-height: 285px; padding: 1.25rem; overflow: hidden; border: 1px solid rgba(15,23,42,.08); border-radius: 18px; background: #fff; box-shadow: 0 18px 35px rgba(0,0,0,.13); transition: transform .35s ease, box-shadow .35s ease; }
.tc-testimonial-card:hover { transform: translateY(-8px); box-shadow: 0 26px 48px rgba(0,0,0,.2); }
.tc-testimonial-card::after { display: none; }
.tc-testimonial-card__top { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 1rem; }
.tc-testimonial-card__stars { font-size: .82rem; }
.tc-testimonial-card__google { display: none; }
.tc-testimonial-card__review { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; margin: 0 0 1.2rem; color: #536174; font-size: .84rem; line-height: 1.65; }
.tc-testimonial-card__author { display: flex; align-items: center; gap: .7rem; margin-top: auto; padding-top: .9rem; border-top: 1px solid #edf0f2; }
.tc-testimonial-card__avatar { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: rgba(236,105,31,.12); color: var(--tc-primary); font-size: .7rem; font-weight: 800; }
.tc-testimonial-card__author h3 { margin: 0 0 .16rem; color: #182333; font-size: .82rem; font-weight: 800; }
.tc-testimonial-card__author p { margin: 0 0 .3rem; color: #6d7785; font-size: .7rem; }
.tc-testimonial-card__author small { display: inline-flex; color: var(--tc-primary); font-size: .64rem; font-weight: 700; }

.tc-testimonials-prev, .tc-testimonials-next { position: absolute; z-index: 10; top: 44%; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.96); color: var(--tc-primary); cursor: pointer; box-shadow: 0 10px 24px rgba(0,0,0,.16); transition: transform .3s ease, background .3s ease, color .3s ease; }
.tc-testimonials-prev { left: 0; }
.tc-testimonials-next { right: 0; }
.tc-testimonials-prev::before { content: "\2190"; font-size: 1.15rem; }
.tc-testimonials-next::before { content: "\2192"; font-size: 1.15rem; }
.tc-testimonials-prev:hover, .tc-testimonials-next:hover { transform: scale(1.08); background: var(--tc-primary); color: #fff; }
.tc-testimonials-pagination { position: absolute; right: 0; bottom: 0; left: 0; text-align: center; }
.tc-testimonials-pagination .swiper-pagination-bullet { width: 8px; height: 8px; background: rgba(255,255,255,.32); opacity: 1; }
.tc-testimonials-pagination .swiper-pagination-bullet-active { width: 25px; border-radius: 999px; background: var(--tc-primary); }

@media (max-width: 991px) {
	.tc-testimonials__wrapper { grid-template-columns: 1fr; gap: 2rem; }
	.tc-testimonials__summary { max-width: 360px; margin: 0 auto; }
	.tc-testimonials-slider .swiper-slide { width: min(280px, 78vw) !important; }
}
@media (max-width: 767px) {
	.tc-testimonials { padding: 4.5rem 0; }
	.tc-testimonials .tc-section-title { font-size: clamp(2.35rem, 11vw, 3.35rem); }
	.tc-testimonials-slider { padding-inline: 1.8rem; }
	.tc-testimonials-prev { left: .15rem; }
	.tc-testimonials-next { right: .15rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tc-testimonial-card, .tc-testimonials-prev, .tc-testimonials-next { transition: none; }
	.tc-testimonial-card:hover { transform: none; }
}
/* Native carousel and simplified rating mark */
.tc-google-mark { display: none !important; }
.tc-google-label { display: block; margin: -.15rem 0 .85rem; color: rgba(255,255,255,.55); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tc-testimonials-slider.tc-native-slider { overflow: hidden; }
.tc-native-slider .swiper-wrapper { display: flex; gap: 28px; width: max-content; transition: transform .65s cubic-bezier(.2,.8,.2,1); will-change: transform; }
.tc-native-slider .swiper-slide { flex: 0 0 260px; }
.tc-native-slider .tc-testimonials-prev, .tc-native-slider .tc-testimonials-next { top: 44%; }
.tc-native-slider .tc-testimonials-prev { left: .35rem; }
.tc-native-slider .tc-testimonials-next { right: .35rem; }
.tc-carousel-dot { width: 8px; height: 8px; margin: 0 3px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.3); cursor: pointer; transition: width .3s ease, background .3s ease; }
.tc-carousel-dot.is-active { width: 24px; background: var(--tc-primary); }
@media (max-width: 991px) { .tc-native-slider .swiper-wrapper { gap: 22px; } .tc-native-slider .swiper-slide { flex-basis: min(280px, 78vw); } }
/* Keep the review viewport narrower than the full track so movement is available */
.tc-testimonials__wrapper { grid-template-columns: 245px minmax(0, 1100px); justify-content: space-between; }
.tc-testimonials-slider.tc-native-slider { width: 100%; max-width: 1100px; justify-self: start; }
@media (max-width: 1399px) {
	.tc-testimonials__wrapper { grid-template-columns: 245px minmax(0, 1fr); }
	.tc-testimonials-slider.tc-native-slider { max-width: 100%; }
}@media (max-width: 991px) {
	.tc-testimonials__wrapper { grid-template-columns: 1fr; }
	.tc-testimonials-slider.tc-native-slider { max-width: 100%; }
}