/* Vivacity Investor Relations. Every selector is scoped to .vir. */
.vir{--vir-ink:var(--viv-ink);--vir-deep:var(--viv-primary-deep);--vir-mid:var(--viv-primary-deep);--vir-accent:var(--viv-primary);--vir-gold:var(--viv-accent);--vir-line:var(--viv-brand-border);--vir-muted:var(--viv-slate);color:var(--vir-ink);background:#fff;overflow:clip}.vir *{box-sizing:border-box}.vir-shell{width:min(100% - 48px,1280px);margin:0 auto}.vir a{text-decoration:none}.vir-hero{position:relative;color:#fff;background:radial-gradient(ellipse at 77% 38%,var(--viv-primary) 0,var(--viv-primary-deep) 47%,var(--viv-primary-deep) 100%);overflow:hidden}.vir-hero__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;min-height:510px;padding:84px 0 91px}.vir-hero__copy{position:relative;z-index:2}.vir-eyebrow{font-size:11px;font-weight:800;line-height:1.6;letter-spacing:.15em;color:var(--viv-primary);display:inline-flex;align-items:center;gap:12px}.vir-eyebrow--light{color:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white))}.vir-pulse{width:9px;height:9px;border-radius:50%;background:var(--vir-gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--viv-accent) 12%,transparent)}.vir-hero h1{font-weight:750;font-size:clamp(58px,6.6vw,104px);letter-spacing:-.073em;line-height:.99;color:#fff;margin:30px 0 24px;max-width:800px}.vir-hero__copy p{font-size:clamp(16px,1.5vw,20px);line-height:1.75;color:var(--viv-primary-soft-2);max-width:645px;margin:0 0 32px}.vir-hero__button{display:inline-flex;gap:44px;align-items:center;justify-content:space-between;background:var(--vir-gold);color:var(--viv-primary-deep)!important;border-radius:11px;min-height:55px;padding:0 17px 0 22px;font-size:14px;font-weight:800;transition:transform .2s,background .2s}.vir-hero__button:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--viv-accent) 55%,var(--viv-white))}.vir-hero__button span{font-size:19px}.vir-hero__graphic{aspect-ratio:1;max-width:420px;width:100%;justify-self:end;position:relative;display:grid;place-items:center;isolation:isolate}.vir-orbit{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--viv-primary-soft-2) 24%,transparent)}.vir-orbit--one{inset:2%}.vir-orbit--two{inset:12%;border-color:color-mix(in srgb,var(--viv-primary-soft-2) 21%,transparent)}.vir-orbit--three{inset:23%;border-color:color-mix(in srgb,var(--viv-accent) 36%,transparent)}.vir-hero__graphic:before,.vir-hero__graphic:after{content:"";position:absolute;border-radius:50%;background:var(--vir-gold);width:11px;height:11px;top:12%;left:21%;box-shadow:0 0 0 9px color-mix(in srgb,var(--viv-accent) 10%,transparent)}.vir-hero__graphic:after{width:8px;height:8px;top:auto;left:auto;bottom:24%;right:7%;background:color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));box-shadow:0 0 0 9px color-mix(in srgb,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 10%,transparent)}.vir-hero__seal{height:47%;width:47%;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.065);backdrop-filter:blur(8px)}.vir-hero__seal>span{font-size:clamp(62px,9vw,110px);font-weight:700;line-height:.9;letter-spacing:-.12em;color:#fff}.vir-hero__seal small{font-size:9px;letter-spacing:.17em;line-height:1.55;text-align:center;font-weight:800;color:var(--viv-primary-soft-2);margin-top:17px}.vir-hero__bottom{height:5px;display:block;background:linear-gradient(90deg,var(--vir-gold) 0 12%,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 12% 32%,transparent 32%)}.vir-library{background:linear-gradient(var(--viv-primary-soft) 0%,#fff 42%);padding:96px 0 110px;scroll-margin-top:20px}.vir-library__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:39px}.vir-library__head h2{color:var(--vir-ink);font-size:clamp(37px,4.2vw,60px);line-height:1.12;letter-spacing:-.055em;font-weight:760;margin:15px 0}.vir-library__head p{font-size:16px;line-height:1.75;color:var(--vir-muted);margin:0;max-width:710px}.vir-library__count{font-size:12px;font-weight:800;white-space:nowrap;padding:12px 15px;border-radius:100px;background:#fff;border:1px solid var(--vir-line);color:var(--viv-primary)}.vir-library__grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:27px;align-items:start}.vir-nav{position:sticky;top:24px;display:grid;background:#fff;border:1px solid var(--vir-line);border-radius:17px;padding:22px 12px 12px;box-shadow:0 14px 37px color-mix(in srgb,var(--viv-primary-deep) 3.5%,transparent);max-height:calc(100vh - 48px);overflow-y:auto}.vir-nav__head{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--viv-slate);padding:0 13px 15px}.vir-nav a{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 12px;border-radius:9px;color:var(--viv-primary)!important;transition:background .2s,color .2s}.vir-nav a:hover,.vir-nav a:focus-visible{background:var(--viv-primary-soft-2);color:var(--viv-primary)!important}.vir-nav a>span{font-size:11px;font-weight:800;color:var(--viv-slate);font-variant-numeric:tabular-nums}.vir-nav a strong{font-size:12px;font-weight:720;line-height:1.45;min-width:0;flex:1}.vir-nav a small{font-size:11px;font-weight:800;color:var(--viv-primary)}.vir-sections{display:grid;gap:20px}.vir-section{scroll-margin-top:28px;background:#fff;border:1px solid var(--vir-line);border-radius:19px;padding:clamp(22px,3.3vw,39px);box-shadow:0 12px 42px color-mix(in srgb,var(--viv-primary-deep) 4.3%,transparent)}.vir-section__head{display:flex;align-items:center;justify-content:space-between;gap:15px}.vir-section__identifier{display:flex;align-items:center;gap:16px}.vir-section__index{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--viv-primary-soft-2);color:var(--viv-primary);font-size:12px;font-weight:850;letter-spacing:.04em}.vir-section__eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--viv-primary)}.vir-section__badge{background:var(--viv-primary-soft);color:var(--viv-slate);border:1px solid var(--viv-primary-soft-2);border-radius:99px;padding:8px 11px;font-weight:700;font-size:11px;white-space:nowrap}.vir-section h3{font-size:clamp(24px,2.6vw,36px);letter-spacing:-.046em;line-height:1.15;color:var(--vir-ink);font-weight:750;margin:25px 0 9px}.vir-section__summary{color:var(--viv-slate);font-size:14px;line-height:1.75;margin:0 0 25px}.vir-files{border-top:1px solid var(--vir-line);display:grid;gap:0;margin-top:24px}.vir-file{min-width:0;display:flex;align-items:center;gap:16px;padding:16px 3px;border-bottom:1px solid var(--vir-line);color:var(--vir-ink)!important;transition:background .2s}.vir-file:last-child{border-bottom:0;padding-bottom:0}.vir-file:hover{background:var(--viv-primary-soft)}.vir-file__icon{width:48px;height:49px;display:grid;place-items:center;flex:none;border-radius:11px;background:var(--viv-primary-soft-2);color:var(--viv-primary)}.vir-file__icon svg{width:25px;height:25px}.vir-file__copy{flex:1;min-width:0;display:grid;gap:5px}.vir-file__copy strong{overflow-wrap:anywhere;font-size:14px;font-weight:750;line-height:1.5}.vir-file__copy small{color:var(--viv-slate);font-size:10px;font-weight:800;letter-spacing:.08em}.vir-file__arrow{font-size:22px;color:var(--viv-primary);display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;border:1px solid var(--viv-primary-soft-2);transition:transform .2s}.vir-file:hover .vir-file__arrow{transform:translate(2px,-2px)}.vir-section__empty,.vir-library__empty{color:var(--viv-slate);border:1px dashed var(--viv-primary-soft-2);border-radius:12px;background:var(--viv-primary-soft);font-size:13px;line-height:1.6;padding:20px;margin:25px 0 0}.vir-library__empty{padding:50px;text-align:center}.vir-support{background:var(--viv-primary-soft-2);padding:71px 0}.vir-support__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.vir-support h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.05em;line-height:1.13;color:var(--vir-ink);margin:12px 0 9px}.vir-support p{color:var(--viv-slate);font-size:15px;line-height:1.7;max-width:730px;margin:0}.vir-support a{min-height:55px;padding:0 18px 0 23px;display:flex;align-items:center;gap:31px;border-radius:9px;color:#fff!important;background:var(--viv-primary-deep);font-weight:800;font-size:13px;white-space:nowrap;transition:transform .2s}.vir-support a:hover{transform:translateY(-3px)}.vir-support a span{font-size:21px}@media(max-width:990px){.vir-library__grid{grid-template-columns:225px minmax(0,1fr);gap:18px}.vir-hero__inner{gap:10px}.vir-hero__graphic{max-width:310px}}@media(max-width:760px){.vir-shell{width:min(100% - 36px,1280px)}.vir-hero__inner{grid-template-columns:1fr;padding:68px 0 76px;min-height:0}.vir-hero h1{font-size:clamp(55px,12vw,84px)}.vir-hero__graphic{display:none}.vir-library{padding:70px 0 78px}.vir-library__grid{grid-template-columns:1fr}.vir-nav{position:relative;top:auto;max-height:none;display:flex;align-items:center;overflow-x:auto;gap:7px;padding:10px}.vir-nav__head{display:none}.vir-nav a{flex:none;white-space:nowrap;background:var(--viv-primary-soft);padding:12px}.vir-nav a small{display:none}.vir-library__head{flex-direction:column;align-items:flex-start}.vir-support__inner{flex-direction:column;align-items:flex-start}.vir-support a{width:100%;justify-content:space-between}}@media(max-width:430px){.vir-section{padding:21px}.vir-section__identifier{gap:10px}.vir-section__eyebrow{font-size:9px}.vir-section__badge{font-size:10px}.vir-file{gap:10px}.vir-file__icon{height:43px;width:42px}.vir-file__copy strong{font-size:12px}.vir-file__arrow{width:27px}}@media(prefers-reduced-motion:reduce){.vir *{transition:none!important;scroll-behavior:auto!important}}

/* Investor document gallery: independent full-width sections and downloadable cards. */
.vir .vir-sections {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
}
.vir .vir-section {
  min-width: 0;
  padding: clamp(24px, 3.2vw, 42px);
  scroll-margin-top: 105px;
}
.vir .vir-section__summary { max-width: 780px; }
.vir .vir-files {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  border: 0;
  margin-top: 29px;
  align-items: stretch;
}
.vir .vir-file,
.vir .vir-file:last-child {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  padding: 24px;
  margin: 0;
  background: var(--viv-primary-soft);
  border: 1px solid var(--viv-primary-soft-2);
  border-radius: 16px;
  color: var(--vir-ink);
  box-shadow: 0 5px 18px color-mix(in srgb,var(--viv-primary-deep) 2.5%,transparent);
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.vir .vir-file:hover {
  background: #fff;
  border-color: color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white));
  box-shadow: 0 15px 33px color-mix(in srgb,var(--viv-primary-deep) 9%,transparent);
  transform: translateY(-3px);
}
.vir .vir-file__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}
.vir .vir-file__icon {
  width: 48px;
  height: 48px;
  background: var(--viv-primary-soft-2);
  color: var(--viv-primary);
  border-radius: 12px;
}
.vir .vir-file__number {
  color: var(--viv-slate);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  white-space: nowrap;
  padding-top: 6px;
}
.vir .vir-file__copy {
  display: block;
  flex: 1;
  min-width: 0;
  margin-bottom: 26px;
}
.vir .vir-file__copy h4 {
  overflow-wrap: anywhere;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 750;
  color: var(--vir-ink);
  margin: 0 0 12px;
}
.vir .vir-file__copy p {
  color: var(--viv-slate);
  font-size: 10px;
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0;
}
.vir .vir-file__download {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 47px;
  padding: 10px 13px;
  border: 1px solid var(--viv-primary-soft-2);
  border-radius: 9px;
  background: var(--viv-primary-soft-2);
  color: var(--viv-primary) !important;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  transition: background .2s, color .2s, border-color .2s;
}
.vir .vir-file__download:hover,
.vir .vir-file__download:focus-visible {
  background: var(--viv-primary-deep);
  border-color: var(--viv-primary-deep);
  color: #fff !important;
}
.vir .vir-file__download:focus-visible { outline: 3px solid var(--viv-accent); outline-offset: 3px; }
.vir .vir-file__download-icon { width: 18px; height: 18px; flex: none; }
.vir .vir-file__download-arrow { width: 17px; height: 17px; flex: none; margin-left: auto; }
@media (max-width: 1080px) {
  .vir .vir-files { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .vir .vir-files { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .vir .vir-file,
  .vir .vir-file:last-child { padding: 21px; }
  .vir .vir-section { scroll-margin-top: 85px; }
}

/* Investor hero: document hub preview; all other page sections remain unchanged. */
.vir-hero__graphic{aspect-ratio:auto;max-width:480px;min-height:0;width:100%;display:block;align-self:center;justify-self:end;isolation:auto}
.vir-hero__graphic::before,.vir-hero__graphic::after{content:none}
.vir-preview{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.42);background:var(--viv-primary-soft);color:var(--viv-primary-deep);border-radius:23px;box-shadow:0 29px 75px color-mix(in srgb,var(--viv-primary-deep) 23%,transparent),0 2px 0 rgba(255,255,255,.17) inset}
.vir-preview::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--viv-accent) 0 22%,color-mix(in srgb,var(--viv-primary) 48%,var(--viv-white)) 22% 56%,var(--viv-primary-soft-2) 56% 100%)}
.vir-preview__top{display:flex;align-items:center;gap:12px;padding:23px 25px 21px;border-bottom:1px solid var(--viv-primary-soft-2)}
.vir-preview__mark{width:43px;height:43px;flex:none;display:grid;place-items:center;color:var(--viv-primary);background:var(--viv-primary-soft-2);border:1px solid var(--viv-primary-soft-2);border-radius:12px}
.vir-preview__mark svg{width:23px;height:23px}
.vir-preview__identity{display:grid;gap:3px;min-width:0}
.vir-preview__identity small{font-size:9px;font-weight:850;line-height:1.2;letter-spacing:.18em;color:var(--viv-primary)}
.vir-preview__identity strong{font-size:12px;line-height:1.35;font-weight:790;color:var(--viv-primary-deep)}
.vir-preview__status{margin-left:auto;font-size:8px;line-height:1.4;letter-spacing:.08em;white-space:nowrap;font-weight:850;padding:7px 9px;background:#e9f5ee;border:1px solid #d6e9de;border-radius:50px;color:#3f7765}
.vir-preview__intro{padding:28px 27px 25px;background:radial-gradient(ellipse at 95% 1%,var(--viv-primary-soft-2),transparent 62%)}
.vir-preview__overline{display:flex;align-items:center;gap:8px;color:var(--viv-primary);letter-spacing:.15em;font-weight:850;font-size:9px;line-height:1.45}
.vir-preview__overline>span{width:6px;height:6px;flex:none;border-radius:50%;background:var(--viv-accent)}
.vir-preview__intro h2{font-size:clamp(28px,2.4vw,35px);font-weight:760;letter-spacing:-.055em;line-height:1.15;color:var(--viv-primary-deep);margin:15px 0 11px}
.vir-preview__intro h2 em{font-style:normal;color:var(--viv-primary)}
.vir-preview__intro p{font-size:12px;line-height:1.65;color:var(--viv-slate);margin:0;max-width:340px}
.vir-preview__directory{padding:0 25px}
.vir-preview__directory-label{display:block;padding:15px 0 11px;border-top:1px solid var(--viv-primary-soft-2);color:var(--viv-slate);font-size:9px;font-weight:850;letter-spacing:.16em}
.vir-preview__item{min-height:43px;display:flex;align-items:center;gap:11px;color:var(--viv-primary-deep)!important;border-top:1px solid var(--viv-primary-soft-2);transition:padding .2s ease,color .2s ease}
.vir-preview__item:hover,.vir-preview__item:focus-visible{padding-left:4px;color:var(--viv-primary)!important}
.vir-preview__item-number{color:var(--viv-slate);font-size:10px;font-weight:850;min-width:22px;font-variant-numeric:tabular-nums}
.vir-preview__item-title{min-width:0;flex:1;font-size:12px;font-weight:730;line-height:1.45}
.vir-preview__item svg{width:16px;height:16px;flex:none;color:var(--viv-primary)}
.vir-preview__empty{color:var(--viv-slate);font-size:12px;line-height:1.6;margin:0;padding:12px 0 21px}
.vir-preview__footer{margin-top:21px;padding:17px 25px 20px;background:var(--viv-primary-soft-2);display:flex;align-items:center;justify-content:space-between;gap:14px}
.vir-preview__count{display:flex;gap:7px;align-items:baseline;color:var(--viv-primary);font-size:11px;font-weight:710}
.vir-preview__count strong{font-size:22px;line-height:1;color:var(--viv-primary-deep);font-weight:790;font-variant-numeric:tabular-nums}
.vir-preview__all{display:inline-flex;align-items:center;gap:7px;color:var(--viv-primary)!important;font-size:11px;line-height:1.4;font-weight:830;white-space:nowrap}
.vir-preview__all:hover,.vir-preview__all:focus-visible{color:var(--viv-primary)!important}
.vir-preview__all svg{height:15px;width:15px}
@media(max-width:990px){.vir-hero__graphic{max-width:410px}.vir-preview__top{padding:19px 19px 17px;gap:9px}.vir-preview__status{font-size:7px;padding:6px}.vir-preview__intro{padding:23px 20px}.vir-preview__directory{padding:0 20px}.vir-preview__footer{padding:16px 20px}}
@media(max-width:760px){.vir-hero__graphic{display:block;max-width:480px;justify-self:stretch;margin-top:32px}.vir-hero__inner{gap:0}}
@media(max-width:430px){.vir-preview__top{flex-wrap:wrap}.vir-preview__status{margin-left:0}.vir-preview__intro h2{font-size:29px}.vir-preview__footer{gap:8px}.vir-preview__all{font-size:10px}}
@media(prefers-reduced-motion:reduce){.vir-preview__item{transition:none}}

/* Hero title typography match — desktop only */
@media (min-width: 861px) {
  .vir-hero h1 { font-family: var(--viv-font-body); font-size: 66px; font-weight: 780; line-height: 72px; }
}
