.reviews-page{background:#f6fafb}.review-page-hero{text-align:center;display:flex;align-items:center;flex-direction:column;padding-top:76px;padding-bottom:52px}.review-page-hero .eyebrow{margin-bottom:22px}.review-page-hero h2{font-size:clamp(57px,6.2vw,83px);line-height:1.03;letter-spacing:-4.2px;font-weight:500;margin-bottom:21px}.review-page-hero h2 em{color:#1488c7}.review-page-intro{font-size:14px}.google-summary{display:flex;align-items:center;justify-content:center;gap:19px;margin-top:31px;background:#fff;padding:12px 21px;border:1px solid #dce8ed;border-radius:40px;box-shadow:0 5px 25px #1c638007;font-size:12px}.google-summary-brand{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650}.google-letter{font-size:22px;font-family:Arial,sans-serif;font-weight:700;color:#4285f4}.summary-score{font-size:20px;line-height:1.2;font-weight:650;border-left:1px solid #dce4e6;padding-left:18px}.google-summary .review-stars{font-size:16px;letter-spacing:3px;margin:0}.summary-count{font-size:10px;color:#6a7d87}.review-stars{display:block;color:#f5b900;font-family:Arial,sans-serif;font-size:24px;letter-spacing:6px;line-height:1.3}.header nav a[aria-current=page]{color:var(--blue);border-bottom:1px solid var(--blue)}
.bubble-section{position:relative;overflow:hidden;padding:28px 0 50px;background:radial-gradient(ellipse at 10% 30%,#d7effbb3,transparent 48%),radial-gradient(ellipse at 85% 75%,#d4eef6bd,transparent 50%),linear-gradient(#f6fafb,#e9f4f8 60%,#f6fafb)}.bubble-watermark{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-style:italic;font-size:clamp(66px,9vw,130px);line-height:1.07;letter-spacing:-5px;text-align:center;white-space:nowrap;color:#8ec7e218;pointer-events:none}.bubble-grid{width:min(975px,calc(100% - 90px));display:grid;grid-template-columns:1fr 1fr;gap:96px 88px;align-items:start;padding:76px 18px 80px;position:relative;z-index:1}.review-bubble{position:relative;isolation:isolate;border-radius:50%;width:100%;aspect-ratio:1;margin:auto;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 21%,#fffffffa 0,#ffffffc2 27%,#e6f5f78c 60%,#b8dff65c 86%,#ffffffcc 98%);border:1px solid #fff;box-shadow:inset 3px 5px 14px #fff,inset -9px -10px 20px #70bad735,0 18px 32px -20px #177caa60,0 0 0 1px #c5e1eb88;--drift-x:28px;--drift-y:42px;animation:review-float 12s ease-in-out infinite;will-change:transform;max-width:400px}.review-bubble:before{content:'';position:absolute;inset:8px;border-radius:50%;border-top:3px solid #fff;border-left:1px solid #ffffffab;border-bottom:1px solid #83bed37d;border-right:1px solid #a6d8ed99;pointer-events:none;transform:rotate(-19deg)}.review-bubble:after{content:'';position:absolute;width:23%;height:8%;border-radius:50%;background:linear-gradient(#fff,#ffffff15);left:17%;top:9%;transform:rotate(-34deg);filter:blur(2px);pointer-events:none}.review-bubble:focus-within{animation-play-state:paused}.bubble-shine{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 78% 79%,#ffffff9c 0 2%,#ffffff00 9%)}.bubble-content{position:relative;width:75%;padding-block:38px;text-align:center;display:flex;align-items:center;flex-direction:column;z-index:1}.review-avatar{display:grid;place-items:center;width:39px;height:39px;flex-shrink:0;border:1px solid #b0d5e8;border-radius:50%;background:#faffffaf;color:#2883af;font-size:11px;font-weight:650;letter-spacing:.3px;margin-bottom:11px}.bubble-content h3{font-size:16px;letter-spacing:-.3px;font-weight:650;line-height:1.35}.bubble-stars{display:block;font-family:Arial,sans-serif;font-size:16px;letter-spacing:3px;color:#ecb000;line-height:1.4;margin-top:8px}.bubble-content blockquote{font-family:Georgia,serif;font-size:21px;line-height:1.5;letter-spacing:-.2px;color:#163c52;margin:18px 0 17px;max-width:275px}.bubble-attribution{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#638496;line-height:1.6}.bubble-google-link{display:inline-block;font-size:9px;font-weight:550;color:#217da7;border-bottom:1px solid #9bc7da;line-height:1.5;padding:3px 0;margin-top:7px}.bubble-google-link:hover{color:#105f8c;border-color:#105f8c}.bubble-1{max-width:385px}.bubble-2{max-width:395px;margin-top:76px;--drift-x:-30px;--drift-y:38px;animation-duration:14.5s;animation-delay:-4s}.bubble-2 blockquote{font-size:18px}.bubble-3{max-width:330px;--drift-x:25px;--drift-y:36px;animation-duration:13.5s;animation-delay:-7s;margin-top:0}.bubble-4{max-width:345px;margin-top:63px;--drift-x:-24px;--drift-y:44px;animation-duration:16s;animation-delay:-9s}.bubble-3 blockquote{font-size:20px;max-width:208px}.bubble-3 .bubble-content,.bubble-4 .bubble-content{width:73%}.rating-only{font-family:Georgia,serif;font-size:45px;line-height:1;color:#2576a0;margin:14px 0 9px}.rating-only span{font-family:'DM Sans',Arial,sans-serif;font-size:15px;color:#7395a5;margin-left:5px}.background-bubbles{position:absolute;inset:0;z-index:0;pointer-events:none;user-select:none}
.background-bubbles i{position:absolute;display:block;left:calc(var(--x) - var(--size)/2);top:var(--y);width:var(--size);height:var(--size);opacity:.76;background:url('/assets/glossy-soap-bubble.webp') center/contain no-repeat;animation:decorative-float var(--duration) ease-in-out var(--delay) infinite;will-change:transform}
.review-bubble{z-index:1}
.bubbles-paused .review-bubble,.bubbles-paused .background-bubbles i{animation-play-state:paused}.review-invitation{padding:75px 0 85px;text-align:center;display:flex;align-items:center;flex-direction:column}.review-invitation .eyebrow{margin-bottom:18px}.invitation-stars{font-size:34px;letter-spacing:9px;margin-bottom:25px}.review-invitation h1{font-size:64px;font-weight:550;line-height:1.08;letter-spacing:-3px}.review-invitation h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.review-invitation>p:not(.eyebrow){max-width:445px;font-size:13px;line-height:1.9;margin-top:23px}.review-invitation .button{margin-top:27px}.review-estimate-strip{background:#eaf1f2;padding-block:43px;border-top:1px solid #dae6ea}.review-estimate-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.review-estimate-strip .eyebrow{font-size:8px;margin-bottom:12px}.review-estimate-strip h2{font-size:33px;letter-spacing:-1.2px}.review-estimate-strip .button{white-space:nowrap}.reviews-page footer .footer-bottom a{color:#b8cbd4}.reviews-page .menu-toggle[aria-expanded=true]~nav{display:flex}
@keyframes review-float{
0%,100%{transform:translate(calc(var(--drift-x) * -.45),calc(var(--drift-y) * .35))}
25%{transform:translate(var(--drift-x),calc(var(--drift-y) * -1))}
50%{transform:translate(calc(var(--drift-x) * .35),calc(var(--drift-y) * -.15))}
75%{transform:translate(calc(var(--drift-x) * -1),var(--drift-y))}
}
@keyframes decorative-float{
0%,100%{transform:translate(calc(var(--sway) * -.5),calc(var(--lift) * .35)) rotate(var(--tilt))}
25%{transform:translate(var(--sway),calc(var(--lift) * -.65)) rotate(calc(var(--tilt) + 4deg))}
50%{transform:translate(calc(var(--sway) * .3),calc(var(--lift) * -1)) rotate(var(--tilt))}
75%{transform:translate(calc(var(--sway) * -.7),calc(var(--lift) * -.2)) rotate(calc(var(--tilt) - 4deg))}
}
@media(max-width:1000px){.bubble-grid{gap:90px 56px;width:calc(100% - 58px);padding-inline:12px}.review-bubble{max-width:365px}.bubble-3{max-width:310px}.bubble-4{max-width:320px}.bubble-content blockquote{font-size:19px}.bubble-2 blockquote{font-size:16px}.bubble-content h3{font-size:15px}.bubble-4 .review-avatar{margin-bottom:8px}.review-estimate-strip h2{font-size:29px}}
@media(max-width:760px){.bubble-grid{column-gap:44px;width:calc(100% - 24px);padding-inline:10px}.review-bubble{max-width:330px;--drift-x:14px;--drift-y:30px}.bubble-content{width:77%;padding:26px 0}.review-avatar{width:32px;height:32px;font-size:9px;margin-bottom:8px}.bubble-content h3{font-size:13px}.bubble-stars{font-size:13px;letter-spacing:2px;margin-top:5px}.bubble-content blockquote{font-size:16px;margin:12px 0}.bubble-2 blockquote{font-size:14px}.bubble-attribution{font-size:7px;letter-spacing:.5px}.bubble-google-link{font-size:8px}.bubble-3{max-width:280px}.bubble-4{max-width:290px}.rating-only{font-size:36px;margin:11px 0 8px}.review-estimate-strip h2{font-size:27px}.review-estimate-strip .button{font-size:11px;padding-inline:17px}}
@media(max-width:600px){.background-bubbles i{left:calc(var(--mobile-x) - var(--size) * .4);top:var(--mobile-y);width:calc(var(--size) * .8);height:calc(var(--size) * .8);--lift:20px!important;--sway:10px!important;opacity:.72}.review-page-hero{padding-top:45px;padding-bottom:27px}.review-page-hero h2{font-size:56px;letter-spacing:-2.8px}.review-page-intro{font-size:12px;max-width:280px}.google-summary{gap:10px;flex-wrap:wrap;max-width:330px;padding:12px 16px;margin-top:24px;row-gap:6px}.google-summary-brand{font-size:9px;gap:6px}.google-letter{font-size:19px}.summary-score{font-size:18px;padding-left:12px}.google-summary .review-stars{font-size:14px;letter-spacing:2px}.summary-count{font-size:9px}.bubble-section{padding-top:18px;padding-bottom:34px}.bubble-grid{grid-template-columns:1fr;width:calc(100% - 24px);gap:95px;padding:64px 15px 68px}.review-bubble{max-width:350px;margin:auto;--drift-x:11px;--drift-y:30px}.bubble-2{max-width:340px}.bubble-3{max-width:310px}.bubble-4{max-width:320px}.bubble-content{width:74%;padding:30px 0}.review-avatar{width:38px;height:38px;font-size:11px;margin-bottom:11px}.bubble-content h3{font-size:16px}.bubble-stars{font-size:16px;letter-spacing:3px;margin-top:7px}.bubble-content blockquote{font-size:20px;margin:15px 0}.bubble-2 blockquote{font-size:17px}.bubble-attribution{font-size:8px;letter-spacing:.7px}.bubble-google-link{font-size:9px}.rating-only{font-size:43px;margin:12px 0 9px}.bubble-watermark{display:none}.review-invitation{padding:52px 0 60px}.review-invitation h1{font-size:46px;letter-spacing:-2px}.review-invitation>p:not(.eyebrow){font-size:12px;max-width:300px;margin-top:20px}.invitation-stars{font-size:28px;letter-spacing:7px;margin-bottom:22px}.review-estimate-strip{padding:36px 0}.review-estimate-strip>.wrap{display:block;text-align:center}.review-estimate-strip h2{font-size:29px;max-width:290px;margin-inline:auto;line-height:1.25}.review-estimate-strip .button{margin-top:22px;font-size:12px}.review-estimate-strip .eyebrow{font-size:7px}}
@media(max-width:360px){.review-page-hero h2{font-size:48px}.google-summary{gap:7px;padding-inline:10px}.google-summary-brand{font-size:8px}.summary-score{padding-left:9px}.google-summary .review-stars{font-size:12px;letter-spacing:1px}.bubble-grid{padding-inline:9px;width:calc(100% - 12px)}.bubble-content blockquote{font-size:18px}.bubble-2 blockquote{font-size:15px}.review-bubble{max-width:300px}.review-avatar{width:32px;height:32px}.bubble-content h3{font-size:14px}.rating-only{font-size:38px}}
@media(prefers-reduced-motion:reduce){.review-bubble,.background-bubbles i{animation:none!important;will-change:auto}}

.bubble-5{grid-column:1/-1;max-width:400px;--drift-x:19px;--drift-y:32px;animation-duration:15s;animation-delay:-6s}
.bubble-5 .bubble-content{width:76%;padding-block:28px}
.bubble-5 blockquote{max-width:280px;font-size:19px;line-height:1.45}
@media(max-width:600px){.bubble-5{max-width:350px;--drift-x:11px;--drift-y:26px}.bubble-5 blockquote{font-size:17px;line-height:1.45;margin-block:13px}.bubble-5 .bubble-content{padding-block:24px}}
@media(max-width:360px){.bubble-5 blockquote{font-size:16px}.bubble-5 .review-avatar{margin-bottom:7px}.bubble-5 .bubble-content{padding-block:18px}}

/* A compact floating area: gentle overlap with free visitor positioning. */
.bubble-section{padding-block:20px 24px}







.bubble-grid{display:block;width:min(1080px,calc(100% - 64px));height:780px;padding:0;margin-block:16px 10px}
.bubble-grid .review-bubble{position:absolute;left:var(--home-x);top:var(--home-y);width:var(--bubble-size);height:var(--bubble-size);max-width:none;margin:0;translate:var(--drag-x,0px) var(--drag-y,0px);cursor:grab;touch-action:pan-y;animation-duration:var(--float-time);user-select:none}
.bubble-1{--bubble-size:330px;--home-x:8px;--home-y:45px;--float-time:6s}
.bubble-2{--bubble-size:350px;--home-x:35%;--home-y:28px;--float-time:7s}
.bubble-3{--bubble-size:310px;--home-x:calc(100% - 320px);--home-y:110px;--float-time:6.5s}
.bubble-4{--bubble-size:290px;--home-x:15%;--home-y:352px;--float-time:8s}
.bubble-5{--bubble-size:380px;--home-x:48%;--home-y:335px;--float-time:7.2s}
.bubble-grid .bubble-content{width:76%;padding-block:24px}
.bubble-grid .review-avatar{width:34px;height:34px;margin-bottom:8px}
.bubble-grid .bubble-stars{font-size:15px;margin-top:6px}
.bubble-grid blockquote{font-size:19px;line-height:1.4;margin-block:13px;max-width:280px}
.bubble-grid .bubble-2 blockquote,.bubble-grid .bubble-5 blockquote{font-size:18px}
.bubble-grid .bubble-google-link{display:inline-flex;align-items:center;min-height:30px;font-size:12px}
.bubble-grid .review-bubble.is-raised{z-index:10}
.bubble-grid .review-bubble:hover,.bubble-grid .review-bubble:focus-within{z-index:20;animation-play-state:paused}
.bubble-grid .review-bubble:focus-visible{outline:2px solid #1488c7;outline-offset:5px}
.bubble-grid .review-bubble.is-dragging{z-index:30;cursor:grabbing;animation-play-state:paused}


.background-bubbles i{animation-duration:calc(var(--duration) * .5)}
@media(max-width:1000px){
.bubble-grid{width:calc(100% - 40px);height:1040px}
.bubble-1{--home-x:8px;--home-y:25px}
.bubble-2{--home-x:calc(100% - 358px);--home-y:50px}
.bubble-3{--bubble-size:300px;--home-x:6%;--home-y:340px}
.bubble-4{--bubble-size:280px;--home-x:calc(92% - 280px);--home-y:368px}
.bubble-5{--bubble-size:370px;--home-x:calc(50% - 185px);--home-y:625px}
}
@media(max-width:600px){


.bubble-grid{width:calc(100% - 24px);max-width:430px;height:1330px;margin-top:20px}
.bubble-1{--bubble-size:min(320px,calc(100vw - 64px));--home-x:8px;--home-y:26px}
.bubble-2{--bubble-size:min(330px,calc(100vw - 50px));--home-x:calc(100% - var(--bubble-size) - 8px);--home-y:260px}
.bubble-3{--bubble-size:min(290px,calc(100vw - 64px));--home-x:8px;--home-y:505px}
.bubble-4{--bubble-size:min(280px,calc(100vw - 64px));--home-x:calc(100% - var(--bubble-size) - 10px);--home-y:710px}
.bubble-5{--bubble-size:min(340px,calc(100vw - 44px));--home-x:calc(50% - var(--bubble-size)/2);--home-y:935px}
.bubble-grid .bubble-content{padding-block:18px}.bubble-grid blockquote{font-size:18px;line-height:1.4;margin-block:12px}
.bubble-grid .bubble-2 blockquote{font-size:17px}.bubble-grid .bubble-5 blockquote{font-size:16.5px;line-height:1.35}
}
@media(max-width:360px){
.bubble-grid .review-avatar{width:28px;height:28px;margin-bottom:7px}.bubble-grid .bubble-content{padding-block:14px}
.bubble-grid .bubble-content h3{font-size:14px}.bubble-grid .bubble-stars{font-size:14px;margin-top:5px}
.bubble-grid .bubble-5 blockquote{font-size:16px;margin-block:10px}.bubble-grid .bubble-attribution{font-size:8px}
}
