.reviews-section{isolation:isolate;background:radial-gradient(circle at 90% 0,#168f961c,#0000 28rem),linear-gradient(#f4fafb 0%,#edf7f8 100%);position:relative;overflow:hidden}.reviews-section:before{content:"";z-index:-1;opacity:.45;background:repeating-radial-gradient(at 4% 105%,#0000 0 28px,#168f9617 29px 30px,#0000 31px 50px);position:absolute;inset:0;mask-image:linear-gradient(90deg,#000,#0000 68%)}.reviews-inner{width:min(1500px,100% - 6rem);margin:0 auto;padding:clamp(2.35rem,4vw,3.4rem) 0}.reviews-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;margin-bottom:1.25rem;display:grid}.reviews-heading h2{max-width:650px;color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,2.45vw,2.35rem);line-height:1.08}.reviews-intro{max-width:620px;color:var(--ink-soft);margin:.65rem 0 0;font-size:.88rem;line-height:1.55}.rating-summary{backdrop-filter:blur(16px);background:#fffc;border:1px solid #168f9629;border-radius:.8rem;align-items:center;gap:.8rem;min-width:220px;padding:.85rem 1rem;display:flex;box-shadow:0 16px 38px #09364f1a,inset 0 1px #fff}.rating-number{color:var(--ink);letter-spacing:-.06em;font-size:2rem;font-weight:800;line-height:1}.stars,.review-stars{color:#eba928;letter-spacing:.08em}.stars{font-size:.9rem}.rating-summary p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.68rem}.reviews-status{text-align:left;background:#ffffffa3;border:1px solid #08294d1a;border-radius:1rem;justify-content:center;align-items:center;gap:1rem;min-height:12rem;padding:2rem;display:flex}.reviews-status h3{color:var(--ink);margin:0;font-size:1.05rem}.reviews-status p{color:var(--ink-soft);margin:.35rem 0 0;font-size:.88rem;line-height:1.5}.status-mark{border:2px solid #168f963d;border-top-color:var(--teal);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;animation:.8s linear infinite reviews-spin;display:block}.reviews-status[data-state=quiet] .status-mark{background:var(--teal);border:0;width:.75rem;height:.75rem;animation:none}.reviews-carousel[hidden],.reviews-status[hidden],.rating-summary[hidden],.google-reviews-link[hidden],.carousel-controls[hidden]{display:none}.reviews-viewport{padding:.2rem 0 .75rem;overflow:hidden}.reviews-viewport:focus-visible{outline-offset:.35rem;border-radius:.8rem;outline:3px solid #168f9647}.reviews-track{display:grid}.review-card{opacity:0;visibility:hidden;pointer-events:none;background:#fffffff0;border:1px solid #08294d1c;border-radius:1rem;flex-direction:column;grid-area:1/1;width:100%;min-width:0;min-height:185px;padding:1.15rem 1.2rem 1rem;transition:opacity .42s,transform .42s,visibility .42s;display:flex;position:relative;overflow:hidden;transform:translateY(.4rem);box-shadow:0 13px 32px #09364f17}.review-card.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.review-card:before{content:"";background:linear-gradient(90deg, var(--teal), #35bbb7, #0a659e);height:.24rem;position:absolute;inset:0 0 auto}.review-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.review-card h3{color:var(--ink);margin:0;font-size:.9rem;line-height:1.3}.review-card-top p{color:#587086;margin:.15rem 0 0;font-size:.68rem}.review-quote{color:#168f964d;height:1.5rem;font-family:Georgia,serif;font-size:2.6rem;line-height:.9}.review-stars{margin-top:.65rem;font-size:.8rem}.review-text{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:1100px;margin:.7rem 0 .9rem;font-size:.78rem;line-height:1.55;display:-webkit-box;overflow:hidden}.review-card.is-expanded .review-text{display:block;overflow:visible}.review-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;display:flex}.review-card-footer a,.review-expand{color:var(--teal-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:750;text-decoration:none}.review-card-footer a:hover,.review-card-footer a:focus-visible,.review-expand:hover,.review-expand:focus-visible{text-underline-offset:.2rem;text-decoration:underline}.reviews-footer{justify-content:space-between;align-items:center;gap:1.5rem;margin-top:.15rem;display:flex}.reviews-links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.google-reviews-link{min-height:2.75rem;color:var(--teal-dark);background:#ffffffbd;border:1px solid #168f9661;border-radius:.55rem;align-items:center;gap:.55rem;padding:.7rem 1.05rem;font-size:.82rem;font-weight:750;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.google-reviews-link:hover,.google-reviews-link:focus-visible{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 10px 24px #09364f1a}.testimonials-link{min-height:2.75rem;color:var(--teal-dark);align-items:center;gap:.4rem;padding:.7rem .35rem;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}.testimonials-link:hover,.testimonials-link:focus-visible{text-underline-offset:.28rem;text-decoration:underline 2px}.review-request{color:#587086;white-space:nowrap;align-items:center;gap:.45rem;font-size:.72rem;display:inline-flex}.review-request a{min-height:2.25rem;color:var(--teal-dark);background:#ffffff8c;border:1px solid #168f9647;border-radius:999px;align-items:center;gap:.3rem;padding:.5rem .7rem;font-size:.72rem;font-weight:750;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.review-request a:hover,.review-request a:focus-visible{border-color:var(--teal);transform:translateY(-1px);box-shadow:0 8px 18px #09364f17}.reviews-status>.google-reviews-link{margin-left:auto}.carousel-controls{align-items:center;gap:.55rem;display:flex}.carousel-dots{align-items:center;gap:.32rem;margin-right:.25rem;display:flex}.carousel-dots button{cursor:pointer;background:#08294d33;border:0;border-radius:50%;width:.46rem;height:.46rem;padding:0;transition:width .18s,background-color .18s}.carousel-dots button.is-active{background:var(--teal);border-radius:999px;width:1.15rem}.carousel-dots button:focus-visible{outline:2px solid var(--teal);outline-offset:.2rem}.carousel-position{color:#587086;text-align:right;min-width:5rem;margin-right:.25rem;font-size:.75rem}.carousel-controls>button{width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:#ffffffd1;border:1px solid #168f9642;border-radius:50%;place-items:center;font-size:1.05rem;transition:color .18s,background-color .18s,transform .18s;display:grid}.carousel-controls>button:hover:not(:disabled),.carousel-controls>button:focus-visible:not(:disabled){color:#fff;background:var(--teal-dark);transform:translateY(-2px)}.carousel-controls>button:disabled{cursor:default;opacity:.35}.reviews-noscript{color:var(--ink-soft);margin:1rem 0 0;font-size:.82rem}@keyframes reviews-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.reviews-heading{grid-template-columns:minmax(0,1fr) minmax(240px,.45fr);align-items:start;gap:2rem}}@media (width<=780px){.reviews-inner{width:min(100% - 2rem,1500px);padding-block:2.5rem}.reviews-heading{grid-template-columns:1fr;gap:1rem}.reviews-heading h2{max-width:34rem;font-size:clamp(1.65rem,7vw,2.15rem)}.rating-summary{width:100%;min-width:0}.review-card{min-height:205px}.reviews-status{justify-content:flex-start;align-items:flex-start;min-height:9rem;padding:1.35rem}.reviews-status>.google-reviews-link{width:100%;margin:1rem 0 0}}@media (width<=520px){.reviews-footer,.reviews-links{flex-direction:column;align-items:stretch}.google-reviews-link,.testimonials-link{justify-content:center;width:100%}.review-request{white-space:normal;flex-wrap:wrap;justify-content:center}.carousel-controls{justify-content:flex-end}.carousel-position{text-align:left;margin-right:auto}}@media (prefers-reduced-motion:reduce){.review-card{transition:none}.status-mark{animation-duration:1.8s}}
