/* Vivacity homepage only. No global selectors or changes to other page templates. */
.viv-home { overflow: clip; }
.viv-home-hero {
  --vh-ink:var(--viv-ink); --vh-teal:var(--viv-primary); --vh-dark:var(--viv-primary-deep);
  --vh-gold:var(--viv-accent); --vh-border:var(--viv-brand-border); --vh-muted:var(--viv-slate);
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(112deg,#f9fdfc 0%,var(--viv-primary-soft) 42%,var(--viv-primary-soft-2) 100%);
  padding: clamp(50px,3.8vw,72px) 22px clamp(40px,3vw,56px);
  color: var(--vh-ink);
}
.viv-home-hero::before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--vh-teal),color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 54%,var(--vh-gold)); }
.viv-home-hero__ambient {position:absolute;z-index:-1;pointer-events:none;border:1px solid color-mix(in srgb,var(--viv-primary) 10%,transparent);border-radius:50%;}
.viv-home-hero__ambient--one {width:780px;height:780px;top:-460px;right:-310px;background:radial-gradient(circle,color-mix(in srgb,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 15%,transparent),transparent 70%);}
.viv-home-hero__ambient--two {width:520px;height:520px;bottom:-390px;left:-220px;background:radial-gradient(circle,color-mix(in srgb,var(--viv-accent) 8%,transparent),transparent 70%);}
.viv-home-hero__container {max-width:1340px;margin:0 auto;position:relative;}
.viv-home-hero__main {display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,4vw,66px);}
.viv-home-hero__copy {position:relative;z-index:2;padding:0;min-width:0;}
.viv-home-hero__eyebrow {display:inline-flex;align-items:center;gap:10px;max-width:100%;font-weight:800;letter-spacing:.16em;font-size:10px;line-height:1.5;color:var(--viv-primary);margin-bottom:14px;}
.viv-home-hero__eyebrow-mark {display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;color:var(--viv-primary);background:var(--viv-primary-soft-2);border:1px solid var(--viv-primary-soft-2);}
.viv-home-hero__eyebrow-mark svg {width:16px;height:16px;}
.viv-home-hero__copy h1 {margin:0;max-width:660px;letter-spacing:-.045em;font-size:clamp(34px,3.8vw,52px);line-height:1.075;font-weight:800;color:var(--viv-primary);text-wrap:balance;}
.viv-home-hero__copy h1 span,.viv-home-hero__copy h1 em {display:block;}
.viv-home-hero__copy h1 span {color:var(--viv-primary);}
.viv-home-hero__copy h1 em {font-style:normal;color:var(--viv-accent);background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;}
.viv-home-hero__description {max-width:500px;margin:19px 0 0;color:var(--vh-muted);font-size:clamp(16px,1.4vw,19px);line-height:1.75;}
.viv-home-hero__actions {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:23px;}
.viv-home-hero__btn {min-height:55px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 19px 13px 22px;border-radius:12px;border:1px solid transparent;line-height:1.2;text-decoration:none;font-size:14px;font-weight:800;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.viv-home-hero__btn svg {width:19px;height:19px;flex:none;transition:transform .25s ease;}
.viv-home-hero__btn--primary {background:var(--viv-primary-deep);color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--viv-primary-deep) 12%,transparent);}
.viv-home-hero__btn--primary:hover,.viv-home-hero__btn--primary:focus-visible {background:var(--viv-primary);color:#fff;transform:translateY(-3px);box-shadow:0 15px 30px color-mix(in srgb,var(--viv-primary) 18%,transparent);}
.viv-home-hero__btn--secondary {background:rgba(255,255,255,.76);color:var(--viv-primary-deep);border-color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));}
.viv-home-hero__btn--secondary:hover,.viv-home-hero__btn--secondary:focus-visible {color:var(--viv-primary);background:#fff;border-color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));transform:translateY(-3px);}
.viv-home-hero__btn:hover svg {transform:translateX(4px);}
.viv-home-hero__btn:focus-visible,.viv-home-hero__slider-arrow:focus-visible {outline:3px solid var(--vh-gold);outline-offset:3px;}
.viv-home-hero__signature {display:flex;align-items:center;gap:11px;margin-top:23px;color:var(--viv-slate);font-size:10px;letter-spacing:.16em;font-weight:700;}
.viv-home-hero__signature span:first-child {width:34px;height:1px;background:var(--viv-accent);}
.viv-home-hero__signature span:last-child {color:var(--viv-slate);}
.viv-home-hero__media-column {position:relative;min-width:0;padding:0 15px 13px 18px;}
.viv-home-hero__media-column::before {content:"";position:absolute;inset:29px 0 0 45px;background:color-mix(in srgb,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 13%,transparent);border:1px solid color-mix(in srgb,var(--viv-primary) 15%,transparent);border-radius:35px 75px 34px 65px;transform:rotate(3deg);}
.viv-home-hero__frame {position:relative;isolation:isolate;min-height:0;height:clamp(485px,39vw,552px);aspect-ratio:auto;overflow:visible;background:linear-gradient(145deg,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),var(--viv-primary-deep));border-radius:35px 75px 34px 65px;box-shadow:0 35px 70px color-mix(in srgb,var(--viv-primary-deep) 16%,transparent);}
.viv-home-hero__image,.viv-home-hero__video,.viv-home-hero__slider,.viv-home-hero__placeholder {position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;overflow:hidden;}
.viv-home-hero__image,.viv-home-hero__video {object-fit:cover;display:block;}
.viv-home-hero__frame-decoration {position:absolute;z-index:3;pointer-events:none;right:-12px;top:35px;width:5px;height:93px;border-radius:5px;background:var(--vh-gold);}
.viv-home-hero__media-tint {position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(0deg,color-mix(in srgb,var(--viv-primary-deep) 25%,transparent),transparent 35%);}
.viv-home-hero__media-note {position:absolute;z-index:5;left:-24px;bottom:35px;display:flex;align-items:center;gap:13px;max-width:calc(100% - 90px);min-width:min(285px,85%);padding:13px 17px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid color-mix(in srgb,var(--viv-primary-soft-2) 98%,transparent);box-shadow:0 18px 45px color-mix(in srgb,var(--viv-primary-deep) 20%,transparent);backdrop-filter:blur(14px);}
.viv-home-hero__media-note-icon {width:49px;height:49px;display:grid;place-items:center;flex:none;background:var(--viv-primary-soft-2);border-radius:12px;color:var(--viv-primary);}
.viv-home-hero__media-note-icon svg {width:27px;height:27px;}
.viv-home-hero__media-note small {display:block;margin-bottom:4px;color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));letter-spacing:.13em;font-size:9px;font-weight:800;line-height:1.4;}
.viv-home-hero__media-note strong {display:block;color:var(--viv-primary-deep);font-weight:800;line-height:1.3;font-size:15px;}
.viv-home-hero__placeholder {display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),transparent 42%),linear-gradient(142deg,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)),var(--viv-primary) 66%,var(--viv-primary-deep));color:#fff;}
.viv-home-hero__placeholder-halo {position:absolute;width:360px;height:360px;border:1px solid color-mix(in srgb,var(--viv-primary-soft-2) 36%,transparent);border-radius:50%;box-shadow:0 0 0 42px color-mix(in srgb,var(--viv-primary-soft-2) 6%,transparent),0 0 0 90px color-mix(in srgb,var(--viv-primary-soft-2) 4.5%,transparent);}
.viv-home-hero__placeholder-icon {z-index:1;display:grid;place-items:center;width:135px;height:135px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);border-radius:35px;backdrop-filter:blur(8px);}
.viv-home-hero__placeholder-icon svg {width:83px;height:83px;}
.viv-home-hero__placeholder-caption {z-index:1;margin-top:18px;font-size:20px;font-weight:800;text-align:center;letter-spacing:.24em;line-height:1.4;}
.viv-home-hero__placeholder-caption small {font-size:9px;font-weight:700;letter-spacing:.13em;}
.viv-home-hero__slides {position:absolute;inset:0;}
.viv-home-hero__slide {position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 850ms ease,visibility 850ms ease;}
.viv-home-hero__slide.is-active {opacity:1;visibility:visible;z-index:1;}
.viv-home-hero__slide img {display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.055);transition:transform 6.5s ease;}
.viv-home-hero__slide.is-active img {transform:scale(1);}
.viv-home-hero__slider-nav {position:absolute;right:24px;bottom:28px;z-index:7;display:flex;align-items:center;gap:10px;padding:7px;background:color-mix(in srgb,var(--viv-primary-deep) 77%,transparent);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;backdrop-filter:blur(12px);}
.viv-home-hero__slider-arrow {width:34px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.13);color:#fff;font-weight:700;font-size:19px;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.viv-home-hero__slider-arrow:hover {background:var(--vh-teal);transform:translateY(-2px);}
.viv-home-hero__slider-count {font-size:11px;letter-spacing:.15em;font-weight:800;white-space:nowrap;}
.viv-home-hero__tiles {position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;}
.viv-home-hero__tiles--four {grid-template-columns:repeat(4,minmax(0,1fr));}
.viv-home-hero__tile {display:flex;align-items:center;gap:16px;min-width:0;padding:16px 20px;background:rgba(255,255,255,.78);border:1px solid var(--viv-primary-soft-2);border-radius:16px;box-shadow:0 9px 28px color-mix(in srgb,var(--viv-primary-deep) 3.5%,transparent);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.viv-home-hero__tile:hover {transform:translateY(-5px);border-color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));box-shadow:0 17px 33px color-mix(in srgb,var(--viv-primary-deep) 8.5%,transparent);}
.viv-home-hero__tile-icon {width:55px;height:55px;flex:none;display:grid;place-items:center;border-radius:15px;color:var(--viv-primary);background:var(--viv-primary-soft-2);}
.viv-home-hero__tile:nth-child(2) .viv-home-hero__tile-icon {background:var(--viv-accent-soft);color:var(--viv-accent);}
.viv-home-hero__tile-icon svg {width:29px;height:29px;}
.viv-home-hero__tile strong {display:block;color:var(--viv-primary-deep);font-size:16px;font-weight:800;line-height:1.35;}
.viv-home-hero__tile span:not(.viv-home-hero__tile-icon) {display:block;margin-top:4px;color:var(--viv-slate);font-size:12px;line-height:1.5;}
.viv-home__existing-content:empty {display:none;}
/* Desktop: use the regained space inside the hero rather than after its cards. */
@media (min-width:801px) {
 .viv-home-hero__eyebrow {margin-bottom:19px;}
 .viv-home-hero__description {margin-top:24px;}
 .viv-home-hero__actions {margin-top:29px;}
 .viv-home-hero__signature {margin-top:29px;}
}
@media (max-width:1150px) {
 .viv-home-hero__main {gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 .viv-home-hero__frame {height:clamp(435px,44vw,480px);min-height:0;}
 .viv-home-hero__copy h1 {font-size:clamp(32px,3.8vw,46px);}
 .viv-home-hero__media-note {left:-14px;bottom:22px;min-width:0;max-width:calc(100% - 55px);}
 .viv-home-hero__tiles {margin-top:30px;}
}
@media (max-width:800px) {
 .viv-home-hero {padding:42px 22px 36px;}
 .viv-home-hero__main {grid-template-columns:1fr;gap:28px;}
 .viv-home-hero__copy {padding:0;}
 .viv-home-hero__copy h1 {max-width:700px;font-size:clamp(43px,8vw,67px);}
 .viv-home-hero__description {margin-top:20px;}
 .viv-home-hero__signature {margin-top:28px;}
 .viv-home-hero__media-column {padding:5px 15px 10px 12px;max-width:690px;width:100%;}
 .viv-home-hero__frame {height:auto;aspect-ratio:1.35;min-height:390px;}
 .viv-home-hero__media-column::before {inset:24px 0 0 30px;}
 .viv-home-hero__tiles,.viv-home-hero__tiles--four {grid-template-columns:repeat(2,minmax(0,1fr));margin-top:29px;}
}
@media (max-width:560px) {
 .viv-home-hero {padding:35px 16px 30px;}
 .viv-home-hero__eyebrow {font-size:9px;margin-bottom:20px;letter-spacing:.11em;}
 .viv-home-hero__copy h1 {font-size:clamp(42px,10.5vw,57px);letter-spacing:-.052em;}
 .viv-home-hero__description {font-size:15px;line-height:1.7;}
 .viv-home-hero__actions {gap:10px;margin-top:27px;}
 .viv-home-hero__btn {min-height:51px;padding:11px 15px;gap:12px;font-size:12px;}
 .viv-home-hero__signature {font-size:8px;}
 .viv-home-hero__media-column {padding:2px 9px 14px 7px;}
 .viv-home-hero__frame {min-height:300px;aspect-ratio:.98;border-radius:24px 48px 25px 43px;}
 .viv-home-hero__media-column::before {inset:20px 0 5px 22px;border-radius:24px 48px 25px 43px;}
 .viv-home-hero__frame-decoration {height:60px;right:-6px;}
 .viv-home-hero__media-note {left:-5px;bottom:17px;gap:10px;padding:10px;max-width:calc(100% - 28px);}
 .viv-home-hero__media-note-icon {width:40px;height:40px;}
 .viv-home-hero__media-note-icon svg {width:23px;height:23px;}
 .viv-home-hero__media-note strong {font-size:12px;}
 .viv-home-hero__media-note small {font-size:8px;}
 .viv-home-hero__slider-nav {bottom:auto;top:14px;right:13px;}
 .viv-home-hero__tiles,.viv-home-hero__tiles--four {grid-template-columns:1fr;gap:10px;margin-top:28px;}
 .viv-home-hero__tile {padding:14px 16px;}
 .viv-home-hero__tile-icon {width:47px;height:47px;}
}
@media (prefers-reduced-motion: reduce) {
 .viv-home-hero__btn,.viv-home-hero__btn svg,.viv-home-hero__tile,.viv-home-hero__slide,.viv-home-hero__slide img,.viv-home-hero__slider-arrow {transition:none!important;animation:none!important;}
}

/* Branch identity lives inside the original hero; the homepage remains untouched. */
.viv-home-hero__location-meta{display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:570px;padding:15px 19px;margin:17px 0 19px;border:1px solid color-mix(in srgb,var(--viv-primary) 23%,transparent);border-left:3px solid var(--viv-primary);border-radius:12px;background:linear-gradient(110deg,color-mix(in srgb,var(--viv-primary-soft-2) 92%,transparent),rgba(255,255,255,.78));box-shadow:0 8px 27px color-mix(in srgb,var(--viv-primary-deep) 3.5%,transparent)}
.viv-home-hero__location-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--viv-primary)}
.viv-home-hero__location-meta strong{font-size:16px;line-height:1.35;color:var(--viv-primary-deep)}
.viv-home-hero__location-meta>span:not(.viv-home-hero__location-eyebrow){font-size:13px;line-height:1.5;color:var(--viv-slate)}
.viv-home-hero__location-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:3px}
.viv-home-hero__location-links a{font-size:12px;font-weight:700;color:var(--viv-primary);text-decoration:none}
.viv-home-hero__location-links a:hover{text-decoration:underline}
@media(max-width:767px){.viv-home-hero__location-meta{padding:12px 14px;margin:12px 0 17px}.viv-home-hero__location-meta strong{font-size:14px}.viv-home-hero__location-meta>span:not(.viv-home-hero__location-eyebrow){font-size:12px}}
