/* Vivacity homepage reviews: slider + accessible all-reviews layout. Scoped styles only. */
.vhr{--vhr-navy:var(--viv-primary-deep);--vhr-teal:var(--viv-primary);--vhr-gold:var(--viv-accent);--vhr-muted:var(--viv-slate);position:relative;isolation:isolate;overflow:hidden;padding:clamp(74px,7.6vw,112px) 0 clamp(80px,8vw,118px);background:linear-gradient(123deg,var(--viv-primary-soft) 0%,var(--viv-primary-soft-2) 54%,#f9fcfb 100%);color:var(--vhr-navy)}
.vhr,.vhr *,.vhr *::before,.vhr *::after{box-sizing:border-box}
.vhr__shell{position:relative;z-index:1;width:min(1350px,calc(100% - 64px));margin:0 auto}
.vhr__shape{position:absolute;z-index:0;pointer-events:none}
/* Distinctive geometric accents: dotted diagonal motif and small architectural tiles. */
.vhr__shape--a{width:365px;height:265px;right:-42px;top:36px;transform:rotate(-12deg);border:0;border-radius:0;box-shadow:none;background:radial-gradient(circle,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 1.35px,transparent 1.8px) 0 0/19px 19px;opacity:.67;-webkit-mask-image:linear-gradient(100deg,transparent 0%,#000 27%,#000 85%,transparent 100%);mask-image:linear-gradient(100deg,transparent 0%,#000 27%,#000 85%,transparent 100%)}
.vhr__shape--a::before{content:"";position:absolute;top:74px;right:50px;width:172px;height:13px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),var(--viv-primary));box-shadow:-36px 29px 0 -1px color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),-73px 58px 0 -3px var(--viv-primary-soft-2)}
.vhr__shape--a::after{content:"";position:absolute;top:50px;right:30px;width:32px;height:32px;background:linear-gradient(var(--viv-accent),var(--viv-accent)) center/4px 32px no-repeat,linear-gradient(var(--viv-accent),var(--viv-accent)) center/32px 4px no-repeat;opacity:.88}
.vhr__shape--b{width:128px;height:128px;left:-52px;bottom:26px;transform:rotate(-23deg);border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));border-radius:10px;box-shadow:none;background:transparent;opacity:.55}
.vhr__shape--b::before{content:"";position:absolute;inset:19px -19px -19px 19px;border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));border-radius:10px}
.vhr__shape--b::after{content:"";position:absolute;top:10px;right:-27px;width:37px;height:4px;border-radius:4px;background:var(--viv-accent)}
@media(max-width:640px){.vhr__shape--a{width:240px;height:185px;right:-106px;top:22px;opacity:.42}.vhr__shape--b{left:-102px;bottom:28px;opacity:.32}}
.vhr__header{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:0 0 39px}
.vhr__headline{max-width:770px;min-width:0}
.vhr__eyebrow{display:inline-flex;align-items:center;gap:11px;margin-bottom:17px;font-size:11px;line-height:1.4;letter-spacing:.16em;font-weight:800;color:var(--viv-primary);text-transform:uppercase}
.vhr__eyebrow span{width:28px;height:2px;background:var(--vhr-gold)}
.vhr__headline h2{margin:0;color:var(--vhr-navy);font-size:clamp(32px,3.55vw,46px);line-height:1.2;font-weight:750;letter-spacing:-.03em;overflow-wrap:anywhere}
.vhr__headline h2 em{font-style:normal;color:var(--vhr-teal)}
.vhr__headline>p{max-width:650px;margin:17px 0 0;color:var(--vhr-muted);font-size:16px;line-height:1.8}
.vhr__header-aside{flex:0 0 250px;display:flex;flex-direction:column;align-items:flex-start;padding:16px 0 0 27px;border-left:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));color:var(--viv-primary)}
.vhr__aside-mark{display:block;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));height:29px;margin-bottom:12px}
.vhr__aside-mark svg{width:30px;height:30px}
.vhr__header-aside strong{font-size:15px;line-height:1.55;font-weight:750}
.vhr__header-aside a{display:inline-flex;gap:10px;margin-top:12px;text-decoration:none;color:var(--viv-primary);font-size:13px;font-weight:800;transition:color .2s ease}
.vhr__header-aside a:hover{color:var(--viv-primary-deep)}
.vhr__slider{min-width:0}
.vhr__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain;margin:0 -1px;padding:12px 1px 19px}
.vhr__viewport::-webkit-scrollbar{display:none}
.vhr__viewport:focus-visible{outline:3px solid var(--viv-accent);outline-offset:3px;border-radius:20px}
.vhr__track{display:flex;align-items:stretch;gap:22px}
.vhr__card{position:relative;display:flex;flex:0 0 calc((100% - 44px)/3);flex-direction:column;min-width:0;min-height:325px;padding:31px 29px 25px;border:1px solid var(--viv-primary-soft-2);border-radius:20px;background:#fff;scroll-snap-align:start;box-shadow:0 5px 14px color-mix(in srgb,var(--viv-primary-deep) 2.5%,transparent);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.vhr__card::before{content:"";position:absolute;top:-1px;left:29px;width:60px;height:3px;background:linear-gradient(90deg,var(--viv-primary),var(--viv-accent));border-radius:0 0 4px 4px}
.vhr__card:hover{border-color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));box-shadow:0 8px 18px color-mix(in srgb,var(--viv-primary-deep) 4.5%,transparent);transform:translateY(-2px)}
.vhr__card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.vhr__rating{display:flex;align-items:center;gap:3px;color:var(--viv-accent)}
.vhr__rating span{display:inline-flex}
.vhr__rating svg{width:16px;height:16px}
.vhr__rating .is-empty{color:var(--viv-brand-border)}
.vhr__quote{color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}
.vhr__quote svg{display:block;width:31px;height:31px}
.vhr__verified-label{align-self:flex-start;margin:-4px 0 12px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));border-radius:5px;background:var(--viv-primary-soft-2);color:var(--viv-primary);font-size:9px;font-weight:850;letter-spacing:.13em}
.vhr__card h3{margin:0 0 13px;color:var(--viv-primary-deep);font-size:19px;line-height:1.35;font-weight:750;letter-spacing:-.02em}
.vhr__review{flex:1;margin:0 0 24px;padding:0;border:0;color:var(--viv-slate)}
.vhr__review p{margin:0;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.vhr__person{display:flex;align-items:center;gap:12px;min-width:0;margin-top:auto;padding-top:18px;border-top:1px solid var(--viv-primary-soft-2)}
.vhr__avatar{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;overflow:hidden;border-radius:50%;background:var(--viv-primary-soft-2);color:var(--viv-primary)}
.vhr__avatar svg{width:26px;height:26px}
.vhr__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.vhr__person-copy{display:flex;flex:1;flex-direction:column;min-width:0}
.vhr__person-copy strong{color:var(--viv-primary-deep);font-size:13px;line-height:1.4;font-weight:800;overflow-wrap:anywhere}
.vhr__person-copy small{margin-top:2px;color:var(--viv-slate);font-size:12px;line-height:1.4}
.vhr__person-tick{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border:2px solid var(--viv-primary-soft-2);border-radius:50%;background:var(--viv-primary);color:#fff;box-shadow:0 2px 7px color-mix(in srgb,var(--viv-primary) 16.47%,transparent)}
.vhr__person-tick svg{display:block;width:19px;height:19px}
.vhr__slider-toolbar{display:flex;align-items:center;gap:21px;margin-top:12px}
.vhr__slider-toolbar[hidden]{display:none!important}
.vhr__page{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;font-size:13px;color:var(--viv-slate);letter-spacing:.04em}
.vhr__page strong{color:var(--viv-primary-deep);font-size:17px}
.vhr__progress{flex:1;height:3px;max-width:300px;border-radius:6px;background:var(--viv-primary-soft-2);overflow:hidden}
.vhr__progress>span{display:block;width:10%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--viv-primary),var(--viv-accent));transition:width .25s ease}
.vhr__arrows{display:flex;gap:9px;margin-left:auto}
.vhr__arrow{display:grid;place-items:center;width:45px;height:45px;border:1px solid color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));border-radius:50%;background:#fff;color:var(--viv-primary-deep);cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}
.vhr__arrow svg{width:20px;height:20px}
.vhr__arrow:not(:disabled):hover{background:var(--viv-primary-deep);border-color:var(--viv-primary-deep);color:#fff}
.vhr__arrow:disabled{cursor:default;opacity:.4}
.vhr__footer{display:flex;justify-content:center;margin-top:29px}
.vhr__all{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:13px 24px;border:1px solid var(--viv-primary-deep);border-radius:13px;background:var(--viv-primary-deep);color:#fff;font-family:inherit;font-size:14px;font-weight:800;line-height:1.5;cursor:pointer;transition:background .25s ease,transform .25s ease,border-color .25s ease}
.vhr__all svg{width:19px;height:19px;transition:transform .2s ease}
.vhr__all:hover{background:var(--viv-primary);border-color:var(--viv-primary);transform:translateY(-2px)}
.vhr__all:hover svg{transform:translateX(4px)}
.vhr__all:focus-visible,.vhr__arrow:focus-visible,.vhr__header-aside a:focus-visible{outline:3px solid var(--viv-accent);outline-offset:4px}
.vhr__slider.is-expanded .vhr__viewport{overflow:visible;scroll-snap-type:none;padding-bottom:0}
.vhr__slider.is-expanded .vhr__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.vhr__slider.is-expanded .vhr__card{min-height:0;flex-basis:auto}
.vhr__slider.is-expanded .vhr__slider-toolbar{display:none!important}
.vhr__slider.is-expanded .vhr__all svg{transform:rotate(180deg)}
.vhr__empty{padding:38px;border-radius:20px;border:1px solid var(--viv-primary-soft-2);background:#fff}
.vhr__empty h3{margin:0 0 10px;font-size:22px;color:var(--viv-primary-deep)}
.vhr__empty p{margin:0;color:var(--viv-slate)}
@media(max-width:1050px){.vhr__card{flex-basis:calc((100% - 20px)/2)}.vhr__track{gap:20px}.vhr__slider.is-expanded .vhr__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.vhr__header{align-items:flex-start;flex-direction:column;gap:18px}.vhr__header-aside{flex:initial;max-width:100%;padding:4px 0 4px 15px}.vhr__aside-mark{display:none}.vhr__header-aside strong{font-size:13px}.vhr__header-aside a{margin-top:5px}.vhr__headline>p{font-size:15px}.vhr__header{margin-bottom:27px}}
@media(max-width:640px){.vhr{padding:68px 0 75px}.vhr__shell{width:calc(100% - 34px)}.vhr__headline h2{font-size:clamp(31px,8vw,40px)}.vhr__card{flex-basis:100%;min-height:310px;padding:26px 23px 22px}.vhr__track{gap:16px}.vhr__slider.is-expanded .vhr__track{grid-template-columns:1fr;gap:15px}.vhr__slider-toolbar{gap:14px}.vhr__progress{max-width:110px}.vhr__all{width:100%;justify-content:center}.vhr__footer{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.vhr__viewport{scroll-behavior:auto}.vhr__card,.vhr__all,.vhr__arrow,.vhr__progress>span,.vhr__all svg{transition:none!important}.vhr__card:hover,.vhr__all:hover{transform:none!important}}
