/* Homepage Patient Guide — independent styles, no effects on the Patients page. */
.vhpg{--vhpg-ink:var(--viv-ink);--vhpg-teal:var(--viv-primary);--vhpg-gold:var(--viv-accent);position:relative;isolation:isolate;overflow:hidden;padding:clamp(74px,7vw,112px) 0;background:linear-gradient(135deg,var(--viv-primary-soft) 0%,#fff 45%,var(--viv-primary-soft) 100%);color:var(--vhpg-ink)}
.vhpg *{box-sizing:border-box}
.vhpg__ornament{pointer-events:none;position:absolute;z-index:-1}
.vhpg__ornament--one{width:580px;height:580px;right:-345px;top:-400px;border-radius:50%;border:1px solid color-mix(in srgb,var(--viv-primary) 12%,transparent);box-shadow:0 0 0 56px color-mix(in srgb,var(--viv-primary) 2.6%,transparent),0 0 0 115px color-mix(in srgb,var(--viv-primary) 1.8%,transparent)}
.vhpg__ornament--two{width:285px;height:285px;bottom:-205px;left:-140px;border-radius:36%;transform:rotate(26deg);background:linear-gradient(145deg,color-mix(in srgb,var(--viv-primary) 9%,transparent),color-mix(in srgb,var(--viv-accent) 4%,transparent))}
.vhpg__container{width:min(1390px,calc(100% - 64px));margin-inline:auto}
.vhpg__intro{text-align:center;max-width:820px;margin:0 auto clamp(38px,4.8vw,62px)}
.vhpg__eyebrow{display:inline-flex;align-items:center;gap:13px;margin-bottom:17px;color:var(--viv-primary);font-weight:800;font-size:11px;letter-spacing:.17em;line-height:1.45;text-transform:uppercase}
.vhpg__eyebrow span{width:29px;height:2px;background:var(--vhpg-gold)}
.vhpg__intro h2{margin:0;color:var(--vhpg-ink);font-size:39px;font-weight:700;letter-spacing:-.025em;line-height:1.19}
.vhpg__intro p{max-width:680px;margin:17px auto 0;font-size:16px;line-height:1.8;color:var(--viv-slate)}
.vhpg__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;align-items:stretch}
.vhpg__card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 25px 29px;border-radius:22px;border:1px solid var(--viv-primary-soft-2);background:#fff;box-shadow:0 8px 30px color-mix(in srgb,var(--viv-primary-deep) 3.5%,transparent);overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .32s ease,box-shadow .32s ease,background .32s ease}
.vhpg__card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--viv-primary),color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),var(--viv-accent));transform:scaleX(.17);transform-origin:left;transition:transform .38s cubic-bezier(.2,1,.36,1)}
.vhpg__card:after{content:"";position:absolute;pointer-events:none;width:195px;height:195px;border-radius:50%;right:-130px;top:-124px;background:color-mix(in srgb,var(--viv-primary) 8.5%,transparent);transition:transform .45s ease,background .35s ease}
.vhpg__card:nth-child(4n+2){background:var(--viv-primary-soft)}.vhpg__card:nth-child(4n+3){background:var(--viv-primary-soft)}.vhpg__card:nth-child(4n+4){background:var(--viv-accent-soft)}
.vhpg__card:nth-child(4n+4):after{background:color-mix(in srgb,var(--viv-accent) 9%,transparent)}
.vhpg__card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));background:#fff;box-shadow:0 18px 36px color-mix(in srgb,var(--viv-primary-deep) 7%,transparent)}
.vhpg__card:hover:before{transform:scaleX(1)}.vhpg__card:hover:after{transform:translate(-17px,20px)}
.vhpg__card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;position:relative;z-index:1}
.vhpg__icon{display:grid;place-items:center;width:72px;height:72px;flex:none;border-radius:21px;background:var(--viv-primary-soft-2);color:var(--viv-primary);transition:transform .35s ease,color .35s ease,background .35s ease}
.vhpg__card:nth-child(4n+2) .vhpg__icon,.vhpg__card:nth-child(4n+4) .vhpg__icon{background:var(--viv-accent-soft);color:color-mix(in srgb,var(--viv-accent) 72%,var(--viv-ink))}
.vhpg__icon svg{width:38px;height:38px}
.vhpg__card:hover .vhpg__icon{transform:rotate(-5deg) scale(1.065);background:var(--viv-primary-soft-2);color:var(--viv-primary)}
.vhpg__card-mark{display:flex;gap:4px;padding-top:7px;opacity:.55}
.vhpg__card-mark span{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.vhpg__card-mark span:first-child{background:var(--viv-accent)}
.vhpg__card-label{display:block;position:relative;z-index:1;margin:0 0 9px;font-size:10px;letter-spacing:.13em;line-height:1.45;color:var(--viv-primary);font-weight:800;text-transform:uppercase}
.vhpg__card h3{position:relative;z-index:1;margin:0;color:var(--viv-primary-deep);font-size:21px;line-height:1.32;letter-spacing:-.018em;font-weight:700}
.vhpg__card-description{position:relative;z-index:1;margin:12px 0 23px;color:var(--viv-slate);line-height:1.65;font-size:14px}
.vhpg__list{position:relative;z-index:1;display:grid;gap:13px;margin:0;padding:20px 0 0;border-top:1px solid var(--viv-primary-soft-2);list-style:none;align-self:start}
/* Larger checklist symbols with a strict one-line text layout. */
.vhpg__list{min-width:0;width:100%}
.vhpg__list li{display:flex;align-items:center;min-width:0;gap:10px;color:var(--viv-primary);font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap}
.vhpg__list li>span:first-child{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:0;border-radius:50%;background:var(--viv-primary-soft-2);color:var(--viv-primary)}
.vhpg__list li>span:last-child{display:block;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.vhpg__list svg{width:18px;height:18px;stroke-width:2}
/* Consistent list starting point, including cards with different title wraps. */
.vhpg__card{display:grid;grid-template-rows:72px auto minmax(3.5em,auto) minmax(5.5em,auto) 1fr;align-content:stretch}
.vhpg__card-header{grid-row:1}
.vhpg__card-label{grid-row:2}
.vhpg__card h3{grid-row:3;align-self:start}
.vhpg__card-description{grid-row:4;align-self:start;margin:12px 0 0}
.vhpg__list{grid-row:5;align-self:start}
@supports (grid-template-rows:subgrid){
 .vhpg__card{grid-row:span 5;grid-template-rows:subgrid}
}
.vhpg__footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:32px;padding:22px 26px;border:1px solid var(--viv-primary-soft-2);border-radius:19px;background:linear-gradient(110deg,var(--viv-primary-soft-2),#fff 74%)}
.vhpg__footer-kicker{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;color:var(--viv-primary)}
.vhpg__footer-kicker svg{width:22px;height:22px;color:var(--viv-primary);flex:none}
.vhpg__button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:24px;flex:none;padding:14px 20px 14px 23px;border-radius:12px;background:var(--viv-primary-deep);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.vhpg__button svg{width:21px;height:21px;transition:transform .25s ease}.vhpg__button:hover{background:var(--viv-primary);transform:translateY(-2px);box-shadow:0 11px 23px color-mix(in srgb,var(--viv-primary-deep) 8.63%,transparent)}.vhpg__button:hover svg{transform:translateX(4px)}
.vhpg__button:focus-visible{outline:3px solid var(--viv-accent);outline-offset:4px}
@media(max-width:1190px){.vhpg__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vhpg__card{padding:28px}.vhpg__card-header{margin-bottom:20px}}
@media(max-width:680px){.vhpg{padding:62px 0 70px}.vhpg__container{width:calc(100% - 32px)}.vhpg__intro{margin-bottom:30px}.vhpg__intro h2{font-size:clamp(30px,8vw,39px)}.vhpg__intro p{font-size:15px}.vhpg__grid{grid-template-columns:1fr;gap:15px}.vhpg__card{padding:25px 23px}.vhpg__card-header{margin-bottom:18px}.vhpg__icon{width:64px;height:64px;border-radius:18px}.vhpg__icon svg{width:34px;height:34px}.vhpg__list{margin-top:0}.vhpg__footer{flex-direction:column;align-items:stretch;padding:22px;gap:18px}.vhpg__button{width:100%;justify-content:space-between}.vhpg__ornament--one{right:-450px}}
@media(prefers-reduced-motion:reduce){.vhpg__card,.vhpg__card:before,.vhpg__card:after,.vhpg__icon,.vhpg__button,.vhpg__button svg{transition:none!important}.vhpg__card:hover,.vhpg__button:hover{transform:none}}
