.stars{color:#f5a524;letter-spacing:1px}
.btn-sm{min-height:46px;padding:10px 20px;font-size:15px}
.rev-grid{display:grid;gap:32px;align-items:center}
.rev-points{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-weight:600;color:var(--navy)}
.rev-points li{display:flex;align-items:center;gap:10px}
.rev-points .icon{color:var(--blue)}
@media(min-width:900px){.rev-grid{grid-template-columns:7fr 5fr;gap:64px}}
.hm-doc,.hm-svc,.hm-care,.hm-why,.hm-rev,.hm-vt,.hm-ins,.hm-fv,.hm-team,.hm-aff,.hm-pod,.hm-choose{position:relative;padding:clamp(60px,7vw,104px) 0;overflow-x:clip}
.hm-svc-head,.hm-team-head,.hm-rev-head,.hm-vt-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:40px}
.hm-svc-head .sec-head,.hm-team-head .sec-head,.hm-rev-head .sec-head,.hm-vt-head .sec-head{margin-bottom:0}
.bt-google .stars{font-size:20px}
.hm-rev{background:linear-gradient(180deg,#f2f9fe,#fff)}
.hm-rev-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:16px 20px;border-radius:22px;background:#fff;box-shadow:var(--shadow-1);border:1px solid var(--line)}
.hm-g-word{font:700 22px/1 var(--font-body);letter-spacing:-.02em}
.hm-rev-n{font:700 30px/1 var(--font-heading);color:var(--navy)}
.hm-rev-score .stars{font-size:20px}
.car{position:relative}
.car-track{list-style:none;margin:0;padding:6px 4px 24px;display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% - 28px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;scrollbar-width:none;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.car-track>li{scroll-snap-align:start;min-width:0}
@media(min-width:700px){.car-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(min-width:1080px){.car-track{grid-auto-columns:calc((100% - 36px)/3)}}
.car-ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
.car-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid #CFE4F2;background:#fff;color:var(--navy);cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.car-btn:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-dots{display:flex;gap:8px}
.car-dots span{width:8px;height:8px;border-radius:8px;background:#c9dce9;transition:width .3s,background .3s}
.car-dots span.on{width:26px;background:var(--blue)}
.rev-card{display:flex;flex-direction:column;gap:12px;height:100%;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-1)}
.rev-top{display:flex;align-items:center;gap:12px}
.rev-av{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;color:#fff;font:700 19px/1 var(--font-heading)}
.rev-who{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.rev-who strong{color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rev-who span{font-size:14px;color:var(--muted)}
.rev-g{margin-left:auto;flex:none}
.rev-card .stars{font-size:18px}
.rev-text{margin:0;font-size:16px;line-height:1.6;color:var(--text)}
.rev-text p{margin:0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.hm-rev-foot{text-align:center;margin:18px 0 0;font-weight:600}
.hm-vt .car-btn{background:transparent;color:#fff;border-color:#ffffff59}
.hm-vt .car-btn:hover:not(:disabled){background:#fff;color:var(--navy)}
.hm-vt .car-dots span{background:#ffffff4d}
.hm-vt .car-dots span.on{background:var(--coral)}
.hm-fv{background:var(--cream)}
.hm-fv:before{content:"";position:absolute;left:0;right:0;top:-28px;height:30px;background:var(--cream);clip-path:ellipse(70% 100% at 50% 100%)}
.fv-steps{position:relative;list-style:none;margin:44px 0 36px;padding:0;display:grid;gap:22px}
.fv-path{display:none}
.fv-step{position:relative;text-align:center;padding:22px 20px 26px;border-radius:26px;background:#fff;border:1px solid #F3E3D7;box-shadow:var(--shadow-1)}
.fv-art{position:relative;max-width:220px;margin:0 auto 10px}
.fv-art svg{width:100%;height:auto}
.fv-n{position:absolute;left:4px;top:4px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font:700 16px/1 var(--font-heading);box-shadow:0 0 0 5px #fff}
.fv-step h3{margin-bottom:6px}
.fv-step p{font-size:15.5px;color:var(--muted);margin:0}
@media(min-width:760px){.fv-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.fv-steps{grid-template-columns:repeat(4,1fr);gap:26px}.fv-path{display:block;position:absolute;left:4%;right:4%;top:92px;width:92%;height:40px;z-index:0;fill:none;stroke:var(--coral);stroke-width:3;stroke-dasharray:.01 .012;opacity:.5}.fv-step{background:transparent;border:0;box-shadow:none;z-index:1}.fv-art{background:#fff;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;padding:14px;box-shadow:var(--shadow-1);max-width:190px}}
.fv-art .fv-bg{fill:var(--sky-50)}
.fv-art .fv-dev{fill:var(--navy)}
.fv-art .fv-scr{fill:#fff}
.fv-art .fv-cal{fill:var(--sky-50);stroke:var(--blue);stroke-width:2}
.fv-art .fv-calh{stroke:var(--blue);stroke-width:2}
.fv-art .fv-days circle{fill:#9ccbe8}
.fv-art .fv-days .pick,.fv-art .fv-btn{fill:var(--coral)}
.fv-art .fv-line{fill:#dcebf5}
.fv-art .fv-waves path{fill:none;stroke:var(--coral);stroke-width:4;stroke-linecap:round}
.fv-art .fv-ok circle{fill:#22a06b}
.fv-art .fv-tick{fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}
.fv-art .fv-film{fill:var(--navy)}
.fv-art .fv-xray{fill:none;stroke:#9ccbe8;stroke-width:2.4}
.fv-art .fv-tooth{fill:#fff;stroke:var(--navy);stroke-width:3}
.fv-art .fv-scan{fill:var(--coral);opacity:.75}
.fv-art .fv-mag circle{fill:#fff9;stroke:var(--navy);stroke-width:4}
.fv-art .fv-mag path{stroke:var(--navy);stroke-width:6;stroke-linecap:round}
.fv-art .fv-board{fill:#fff;stroke:var(--navy);stroke-width:3}
.fv-art .fv-clip{fill:var(--blue)}
.fv-art .fv-box{fill:var(--sky-50);stroke:var(--blue);stroke-width:2}
.fv-a-plan .fv-tick{stroke:var(--blue)}
.fv-art .fv-txt{fill:#dcebf5}
.fv-a-plan .fv-row .fv-tick{stroke:#22a06b;stroke-width:3}
.fv-art .fv-pen path{fill:var(--coral)}
.fv-art .fv-pen .fv-nib,.fv-art .fv-eye{fill:var(--navy)}
.fv-art .fv-cheek{fill:#ffb3a1;opacity:.8}
.fv-art .fv-smile{fill:none;stroke:var(--navy);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:1}
.fv-art .fv-stars path{fill:#ffb020}
.fv-art .fv-calb rect{fill:#fff;stroke:var(--navy);stroke-width:2.6}
.fv-art .fv-calb path{fill:none;stroke:var(--navy);stroke-width:2.6}
.fv-art .fv-calb .fv-tick{stroke:#22a06b}
.fv-art .fv-phone,.fv-art .fv-ok,.fv-art .fv-scan,.fv-art .fv-mag,.fv-art .fv-txt,.fv-art .fv-pen,.fv-art .fv-stars path,.fv-art .fv-waves path,.fv-art .pick{transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:no-preference){.js .fv-step .fv-tick,.js .fv-step .fv-smile{stroke-dashoffset:1}.js .fv-step.in .fv-ok .fv-tick{animation:draw .5s 1.2s var(--ease) forwards}.js .fv-step .fv-ok{transform:scale(0)}.js .fv-step.in .fv-ok{animation:popin .5s .9s cubic-bezier(.3,1.6,.5,1) forwards}.fv-a-call .fv-phone{animation:ring 3.2s 1s ease-in-out infinite}.fv-a-call .fv-waves path{animation:wave 1.6s ease-out infinite}.fv-a-call .fv-waves path:nth-child(2){animation-delay:.3s}.fv-a-call .pick{animation:glow 1.6s ease-in-out infinite}.fv-a-exam .fv-scan{animation:scan 2.6s ease-in-out infinite}.fv-a-exam .fv-mag{animation:mag 4s ease-in-out infinite}.js .fv-a-plan.in .fv-row .fv-tick{animation:draw .45s calc(.6s + var(--i)*.45s) var(--ease) forwards}.js .fv-a-plan .fv-txt{transform:scaleX(0);transform-origin:left center}.js .fv-a-plan.in .fv-txt{animation:grow .5s calc(.4s + var(--i)*.45s) var(--ease) forwards}.fv-a-plan .fv-pen{animation:write 2.4s ease-in-out infinite}.js .fv-a-smile.in .fv-smile{animation:draw 1.1s .5s var(--ease) forwards}.js .fv-a-smile.in .fv-calb .fv-tick{animation:draw .5s 1.5s var(--ease) forwards}.fv-a-smile .fv-stars path{animation:twinkle 2.4s ease-in-out infinite}.fv-a-smile .fv-stars .s2{animation-delay:1.2s}}
.hm-doc,.hm-svc,.hm-care,.hm-why,.hm-rev,.hm-ins,.hm-fv,.hm-team,.hm-aff,.hm-choose,.sig{isolation:isolate}
.hm-doc>.wrap,.hm-svc>.wrap,.sig>.wrap,.hm-rev>.wrap,.hm-why>.wrap{position:relative;z-index:1}
.hm-rev{background:radial-gradient(700px 360px at 0% 0%,rgba(227,160,138,.14),transparent 70%),radial-gradient(700px 360px at 100% 100%,rgba(54,166,221,.14),transparent 70%),#f4f8fb}
.hm-rev-score{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px}
.hm-rev-n{font-family:var(--font-heading);font-weight:400;font-size:36px}
.rev-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#e6eff7;border-radius:26px}
.rev-text{font-family:var(--font-heading);font-size:19px;line-height:1.45;color:var(--navy)}
.rev-text p{-webkit-line-clamp:5}
.car-dots span.on{background:var(--blue)}
.vt-play,.hm-vt .car-dots span.on{background:var(--blush)}
.hm-fv{background:linear-gradient(180deg,#fff,#f4f8fb)}
.hm-fv:before{display:none}
.fv-step{border-color:#e3eef7}
.fv-n{background:var(--blue);font-family:var(--font-heading);font-weight:400}
.fv-path{stroke:var(--blush)}
.fv-art .fv-bg{fill:#eaf4fb}
.fv-art .fv-btn,.fv-art .fv-pen path,.fv-art .fv-scan{fill:var(--blush)}
.fv-art .fv-waves path{stroke:var(--blush)}
.fv-art .fv-days .pick{fill:var(--blush)}
.fv-art .fv-cheek{fill:#f6cfc2}
/* ===== Shared split header ===== */
.hm-aff-head,.hm-rev .hm-rev-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 56px;text-align:left;max-width:none;margin:0 0 36px}
.hm-aff-title,.hm-rev .hm-rev-head .sec-head{flex:1 1 440px;margin:0}
.hm-aff-title h2,.hm-rev .hm-rev-head h2{margin-bottom:0}
.hm-aff-aside,.hm-rev-aside{flex:0 1 430px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:6px}
.hm-aff-aside .sec-intro,.hm-rev-aside .sec-intro{margin:0;font-size:16.5px;line-height:1.6}
@media(max-width:899px){.hm-aff-aside,.hm-rev-aside{flex-basis:100%}}
/* ===== Reviews: panel + compact height ===== */
section.hm-rev{background:#fff;padding:clamp(56px,6vw,88px) 0}
section.hm-rev:before{content:"";position:absolute;inset:0 clamp(0px,1.6vw,24px);border-radius:clamp(0px,3vw,44px);z-index:-1;background:radial-gradient(rgba(21,112,176,.09) 1px,transparent 1.4px) 0 0/22px 22px,radial-gradient(640px 340px at 0% 0%,rgba(227,160,138,.16),transparent 70%),radial-gradient(640px 340px at 100% 100%,rgba(54,166,221,.14),transparent 70%),linear-gradient(170deg,#F7FAFD,#EEF5FB);box-shadow:inset 0 0 0 1px rgba(21,112,176,.07)}
@media(max-width:1100px){section.hm-rev:before{inset:0;border-radius:0}}
.hm-rev .hm-rev-score{padding:10px 12px 10px 18px;gap:6px 12px;border-radius:18px}
.hm-rev .hm-rev-n{font-size:28px}
.hm-rev .hm-rev-score .stars{font-size:17px}
.hm-rev .car-track{padding-bottom:14px}
.hm-rev .rev-card{padding:20px 22px;gap:10px;border-radius:22px}
.hm-rev .rev-text{font-size:16.5px;line-height:1.5}
.hm-rev .rev-text p{-webkit-line-clamp:4}
.hm-rev .car-ctrl{margin-top:0}
.hm-rev .car-btn{width:42px;height:42px}
.hm-rev .hm-rev-foot{margin-top:12px;font-size:15px}
.hm-rev .hm-rev-aside{flex-basis:520px}
.hm-rev .hm-rev-score{flex-wrap:nowrap;white-space:nowrap}
@media(max-width:520px){.hm-rev .hm-rev-score{flex-wrap:wrap}}
section.hm-rev:before{display:none}
section.hm-rev{background:#fff}
/* ===== Reviews header: balanced two columns ===== */
.hm-rev .hm-rev-head{align-items:center}
.hm-rev .hm-rev-head .sec-head .sec-intro{margin:14px 0 0;max-width:520px}
.hm-rev .hm-rev-aside{flex:0 0 auto;padding:0}
.hm-rev .hm-rev-score{display:grid;grid-template-columns:auto auto;grid-template-areas:"g btn" "s btn";align-items:center;gap:6px 28px;padding:20px 22px 20px 26px;border-radius:24px;background:#fff;border:1px solid #E3EEF7;box-shadow:0 10px 30px rgba(13,42,68,.08);white-space:nowrap}
.hm-rev .hm-rev-score .hm-g-word{grid-area:g;font-size:20px;display:none}
.hm-rev .hm-rev-score .hm-rev-n{grid-area:g;font-size:40px;font-weight:700;line-height:1}
.hm-rev .hm-rev-score .stars{grid-area:g;justify-self:end;align-self:center;font-size:18px;margin-left:78px}
.hm-rev .hm-rev-score .small{grid-area:s;font-size:13.5px;color:var(--muted);font-weight:600}
.hm-rev .hm-rev-score .btn{grid-area:btn}
@media(max-width:899px){.hm-rev .hm-rev-aside{flex-basis:100%}.hm-rev .hm-rev-score{width:100%;grid-template-columns:1fr auto}}
.hm-why .bt-c .stars{font-size:15px;line-height:1}
.hm-rev .hm-rev-score{grid-template-areas:"w btn" "g btn" "s btn"}
.hm-rev .hm-rev-score .hm-g-word{display:block;grid-area:w;font:700 17px/1 var(--font-body);letter-spacing:-.01em}
section.hm-vt .car-track{padding-bottom:14px}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.35) rotate(45deg)}}
@keyframes glow{0%,to{opacity:.35}50%{opacity:1}}
@keyframes panel{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ring{0%,70%,to{transform:rotate(0)}74%{transform:rotate(-6deg)}78%{transform:rotate(6deg)}82%{transform:rotate(-4deg)}86%{transform:rotate(3deg)}}
@keyframes wave{0%{opacity:0;transform:translate(-6px,6px)}40%{opacity:1}to{opacity:0;transform:translate(4px,-4px)}}
@keyframes popin{to{transform:scale(1)}}
@keyframes scan{0%,to{transform:translateY(0)}50%{transform:translateY(64px)}}
@keyframes mag{0%,to{transform:translate(0)}50%{transform:translate(-26px,-30px)}}
@keyframes grow{to{transform:scaleX(1)}}
@keyframes write{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-8px,22px) rotate(-6deg)}}