.testimonials-section{background:linear-gradient(135deg,#fff 0%,#f8faf9 100%);padding:2rem 0;position:relative;overflow:hidden}.testimonials-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#8b9b3a0b 0%,#0000 55%);width:55%;height:80%;animation:24s ease-in-out infinite reverse breathe;position:absolute;top:-30%;right:-15%}.testimonials-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b9b3a09 0%,#0000 60%);width:45%;height:55%;animation:32s ease-in-out infinite reverse drift;position:absolute;bottom:-20%;left:-10%}.testimonials-container{z-index:1;max-width:1400px;margin:0 auto;padding:0 3rem;position:relative}.testimonials-title{color:#1a1a1a;text-align:center;letter-spacing:-1.5px;opacity:0;margin:0 0 .75rem;font-family:Aileron,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;font-size:36px;font-weight:800;animation:.8s ease-out .1s forwards fadeInUp}.testimonials-header{text-align:center;margin-bottom:1.25rem}.testimonials-subtitle{color:#666;text-align:center;margin:0;font-family:Public Sans,sans-serif;font-size:15px}.google-rating-badge{background:#fff;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem 1rem;display:inline-flex;box-shadow:0 2px 8px #00000014}.google-icon{flex-shrink:0}.rating-info{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.rating-stars{align-items:center;gap:.1rem;display:flex}.rating-stars .star{color:#ddd;font-size:16px}.rating-stars .star.filled{color:#fbbc05}.rating-number{color:#1a1a1a;margin-left:.5rem;font-family:Public Sans,sans-serif;font-size:14px;font-weight:600}.review-count{color:#666;font-family:Public Sans,sans-serif;font-size:12px}.testimonials-carousel-wrapper{margin:0 -1rem;padding:0 1rem;position:relative}.testimonials-carousel{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;flex-wrap:nowrap;align-items:flex-start;gap:1.5rem;padding:.5rem 0;display:flex;overflow-x:auto}.testimonials-carousel::-webkit-scrollbar{display:none}.carousel-arrow{cursor:pointer;z-index:10;color:#8b9b3a;background:#fff;border:1px solid #8b9b3a33;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000001a}.carousel-arrow:hover:not(:disabled){color:#fff;background:#8b9b3a;border-color:#8b9b3a;box-shadow:0 6px 16px #8b9b3a4d}.carousel-arrow:disabled,.carousel-arrow.disabled{opacity:.3;cursor:not-allowed}.carousel-arrow-left{left:0}.carousel-arrow-right{right:0}.google-rating-inline{align-items:center;gap:.5rem;margin-top:.5rem;display:inline-flex}.google-rating-inline svg{flex-shrink:0}.google-rating-inline .rating-text{color:#666;font-family:Public Sans,sans-serif;font-size:14px}.testimonial-card{cursor:pointer;opacity:0;background:linear-gradient(135deg,#fff 0%,#fafafa 100%);border:1px solid #8b9b3a1a;border-radius:16px;flex-direction:column;flex:0 0 calc(25% - 1.125rem);gap:.75rem;min-width:calc(25% - 1.125rem);height:300px;padding:1.5rem;transition:all .6s cubic-bezier(.34,1.56,.64,1);animation:.7s ease-out forwards fadeInUp;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000f,0 1px 4px #00000008}.testimonial-card:first-child{animation-delay:.15s}.testimonial-card:nth-child(2){animation-delay:.3s}.testimonial-card:nth-child(3){animation-delay:.45s}.testimonial-card:before{content:"\"";color:#8b9b3a0f;z-index:0;font-family:Georgia,serif;font-size:80px;line-height:1;position:absolute;top:-15px;left:10px}.testimonial-card:hover{border-color:#8b9b3a;transform:translateY(-4px);box-shadow:0 12px 30px #8b9b3a26,0 4px 12px #8b9b3a1a}.testimonial-rating{gap:.15rem;display:flex}.star{color:#8b9b3a;font-size:16px}.testimonial-text{color:#444;z-index:1;-webkit-line-clamp:5;-webkit-box-orient:vertical;flex-grow:1;margin:0;font-family:Public Sans,sans-serif;font-size:14px;font-style:italic;font-weight:400;line-height:1.6;display:-webkit-box;position:relative;overflow:hidden}.testimonial-author{border-top:1px solid #8b9b3a1f;justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.author-info{align-items:center;gap:.5rem;display:flex}.author-avatar{flex-shrink:0;width:32px;height:32px;position:relative}.author-photo{object-fit:cover;border-radius:50%;width:32px;height:32px}.author-initials{color:#fff;background:linear-gradient(135deg,#8b9b3a 0%,#9aab42 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-family:Aileron,sans-serif;font-size:12px;font-weight:600;display:flex}.author-initials.hidden{display:none}.author-name{color:#1a1a1a;margin:0;font-family:Aileron,sans-serif;font-size:14px;font-weight:600}.author-date{color:#888;margin:0;font-family:Public Sans,sans-serif;font-size:11px}.author-role{color:#666;margin:0;font-family:Public Sans,sans-serif;font-size:14px}.google-icon-small{opacity:.7;flex-shrink:0;width:16px;height:16px}.testimonial-rating .star{color:#ddd}.testimonial-rating .star.filled{color:#8b9b3a}.testimonial-card.skeleton{pointer-events:none}.skeleton-rating,.skeleton-text,.skeleton-author{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-rating{width:120px;height:24px}.skeleton-text{width:100%;height:16px;margin-top:1rem}.skeleton-text.short{width:70%}.skeleton-author{width:150px;height:20px;margin-top:1.5rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:992px){.testimonial-card{flex:0 0 calc(50% - .75rem);min-width:calc(50% - .75rem)}.carousel-arrow{width:38px;height:38px}}@media (max-width:768px){.testimonials-section{padding:1.5rem 0}.testimonials-section:before,.testimonials-section:after{animation:none}.testimonials-container{padding:0 1rem}.testimonials-title{font-size:24px}.testimonials-subtitle{font-size:13px}.testimonial-card{flex:0 0 100%;min-width:100%;padding:1.25rem}.testimonial-text{font-size:13px}.carousel-arrow{width:36px;height:36px}.carousel-arrow svg{width:18px;height:18px}.google-rating-inline{flex-direction:column;align-items:center;gap:.25rem}.google-rating-inline .rating-text{font-size:12px}}
