/* Vertoz unified ecosystem layer: header / mega menus / region selector / signup,
   plus the components used by the new solution, industry, technology, resource and
   regional pages. Built on the existing brand tokens (Ranade headings, Open Sans body,
   #812e77 / #280e47 purples, white rounded cards on #f2f3f6).
   Everything is prefixed .vz- so it cannot collide with Elementor's generated rules. */

/* The heading font, declared here as well as in the main site bundle so that pages which do
   not load that bundle (Investor Relations) render the shared header and footer identically. */
@font-face { font-family: Ranade; font-style: normal; font-weight: 400; font-display: swap; src: url(/wp-content/uploads/2026/04/Ranade-Medium.woff2) format("woff2"), url(/wp-content/uploads/2026/04/semibold.woff) format("woff"); }

:root {
  --vz-purple: #812e77;
  --vz-purple-dark: #6a2462;
  --vz-ink: #280e47;
  --vz-text: #333;
  --vz-muted: #5c5c66;
  --vz-line: #e4e2ea;
  --vz-bg: #f2f3f6;
  --vz-tint: #f7eef5;
  --vz-card: #fff;
  --vz-radius: 15px;
  --vz-shadow: 0 10px 30px rgba(40, 14, 71, .10);
  --vz-wrap: 1280px;
  --vz-head: Ranade, "Open Sans", sans-serif;
}

/* ------------------------------------------------------------------ header
   Compact bar; menus are constrained-width panels centred beneath it. Fixed rather than
   sticky because the site sets overflow-x:hidden on <body> at small widths, which disables
   position:sticky. #vz-main (the skip-link target) reserves the space. */
.vz-header { position: fixed; top: 0; left: 0; right: 0; z-index: 9990; padding: 12px 20px; font-family: "Open Sans", sans-serif; }
#vz-main { display: block; height: 86px; }
.vz-header *, .vz-page *, .vz-block *, .vz-footer * { box-sizing: border-box; }
.vz-skip { position: absolute; left: -9999px; top: 8px; background: var(--vz-ink); color: #fff; padding: 10px 16px; border-radius: 8px; z-index: 9999; }
.vz-skip:focus { left: 20px; color: #fff; }
.vz-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vz-bar { position: relative; max-width: var(--vz-wrap); margin: 0 auto; background: #fff; border: 1px solid var(--vz-line); border-radius: 12px; box-shadow: 0 2px 10px rgba(40, 14, 71, .06); display: flex; align-items: center; gap: 16px; padding: 9px 18px; }
.vz-logo { display: inline-flex; flex: 0 0 auto; }
.vz-logo img { display: block; width: 136px; height: auto; }
.vz-nav { flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.vz-menu, .vz-tools, .vz-links, .vz-drop { list-style: none; margin: 0; padding: 0; }
.vz-menu { display: flex; align-items: center; gap: 2px; margin: 0 auto; }
.vz-tools { display: flex; align-items: center; gap: 8px; }
.vz-item { position: relative; }       /* every menu opens directly beneath its own button */

/* buttons: reset the theme's default pink button look */
.vz-header button { font: inherit; border: 0; background: none; color: inherit; cursor: pointer; border-radius: 8px; padding: 0; white-space: nowrap; text-transform: none; letter-spacing: 0; }
.vz-header button:hover, .vz-header button:focus { background: none; color: inherit; }
.vz-header .vz-top { display: inline-flex; align-items: center; gap: 6px; padding: 9px 11px !important; font-size: 15.4px; font-weight: 600; color: var(--vz-ink) !important; }
.vz-top::after, .vz-region-btn::after, .vz-signup-btn::after { content: ""; width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.vz-top[aria-expanded="true"]::after, .vz-region-btn[aria-expanded="true"]::after, .vz-signup-btn[aria-expanded="true"]::after { transform: translateY(1px) rotate(225deg); }
.vz-header .vz-top:hover, .vz-header .vz-top[aria-expanded="true"], .vz-item.is-active > .vz-top { color: var(--vz-purple) !important; }
.vz-header .vz-top[aria-expanded="true"] { background: var(--vz-tint) !important; }
.vz-item.is-active > .vz-top { box-shadow: inset 0 -2px 0 var(--vz-purple); border-radius: 0; }
.vz-header :focus-visible { outline: 2px solid var(--vz-purple); outline-offset: 2px; }

/* panels */
/* left edge lines up with the button; vz.js nudges it back inside the bar if it would run past the edge */
.vz-panel { display: none; position: absolute; top: calc(100% + 12px); left: 0; width: min(620px, calc(100vw - 40px)); background: #fff; border: 1px solid var(--vz-line); border-radius: 12px; box-shadow: 0 10px 28px rgba(40, 14, 71, .12); padding: 18px 20px 14px; }
#vz-panel-industries { width: min(660px, calc(100vw - 40px)); }
#vz-panel-channels, #vz-panel-technology { width: min(560px, calc(100vw - 40px)); }
.vz-panel--list { width: 230px; padding: 8px; }
.vz-panel::before, .vz-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }   /* hover bridge */
.vz-item.is-open > .vz-panel, .vz-item.is-open > .vz-drop { display: block; }
.vz-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.vz-col { min-width: 0; }
.vz-col + .vz-col { border-left: 1px solid var(--vz-line); padding-left: 28px; }
.vz-col-title { margin: 0 0 6px; padding: 0 10px; font-family: "Open Sans", sans-serif; font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .09em; text-transform: uppercase; color: var(--vz-purple); }
.vz-links a, .vz-drop a { display: block; padding: 7px 10px; border-radius: 7px; font-size: 14px; font-weight: 500; line-height: 1.35; color: var(--vz-ink); text-decoration: none; overflow-wrap: anywhere; }
.vz-links a:hover, .vz-links a:focus-visible, .vz-drop a:hover, .vz-drop a:focus-visible { background: var(--vz-tint); color: var(--vz-purple); }
.vz-links a[aria-current="page"], .vz-drop a[aria-current="true"] { color: var(--vz-purple); font-weight: 700; }
.vz-new { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 4px; background: var(--vz-tint); color: var(--vz-purple); font-size: 10px; font-weight: 700; letter-spacing: .02em; vertical-align: 1px; white-space: nowrap; }
.vz-panel-cta { display: inline-block; margin: 10px 0 0 10px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--vz-purple); background: var(--vz-purple); color: #fff !important; font-size: 13px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.vz-panel-cta:hover, .vz-panel-cta:focus-visible { background: #fff; color: var(--vz-purple) !important; }
.vz-more-link { display: inline-block; font-size: 13px; font-weight: 600; color: var(--vz-purple); text-decoration: none; }
.vz-more-link::after { content: " \2192"; }
.vz-more-link:hover, .vz-more-link:focus-visible { text-decoration: underline; }
.vz-col > .vz-more-link { margin: 8px 0 0 10px; }
.vz-panel-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin-top: 14px; padding: 10px 10px 0; border-top: 1px solid var(--vz-line); }
.vz-panel-foot:empty { display: none; }
.vz-panel-note { margin-left: auto; font-size: 12px; color: var(--vz-muted); }

/* region selector + sign up */
.vz-header .vz-region-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px !important; background: #f3f3f3 !important; font-size: 14.3px; font-weight: 600; color: var(--vz-ink) !important; }
.vz-header .vz-signup-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px !important; background: var(--vz-purple) !important; color: #fff !important; font-size: 14.3px; font-weight: 700; }
.vz-header .vz-signup-btn:hover { background: var(--vz-purple-dark) !important; }
.vz-drop { display: none; position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; background: #fff; border: 1px solid var(--vz-line); border-radius: 12px; box-shadow: 0 10px 28px rgba(40, 14, 71, .12); padding: 6px; }
.vz-drop a { white-space: nowrap; }

.vz-burger { display: none; }

/* ------------------------------------------------------------------ header: tablet / mobile accordion */
@media (max-width: 1180px) {
  .vz-header { padding: 8px 10px; }
  #vz-main { height: 74px; }
  .vz-bar { padding: 8px 12px; gap: 10px; flex-wrap: wrap; }
  .vz-logo { margin-right: auto; }
  .vz-logo img { width: 124px; }
  .vz-header .vz-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; padding: 0 10px !important; background: var(--vz-ink) !important; }
  .vz-burger span { display: block; height: 2px; background: #fff; border-radius: 2px; transition: transform .2s, opacity .2s; }
  .vz-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .vz-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .vz-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .vz-nav { display: none; flex: 1 0 100%; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100vh - 90px); overflow-y: auto; padding-top: 6px; border-top: 1px solid var(--vz-line); }
  .vz-header.is-menu-open .vz-nav { display: flex; }
  .vz-menu { flex-direction: column; align-items: stretch; margin: 0; gap: 0; }
  .vz-menu > .vz-item { border-bottom: 1px solid var(--vz-line); }
  .vz-header .vz-top { width: 100%; justify-content: space-between; padding: 13px 4px !important; font-size: 16.5px; }
  .vz-header .vz-top[aria-expanded="true"] { background: none !important; }
  .vz-item.is-active > .vz-top { box-shadow: none; }
  .vz-panel, #vz-panel-industries, #vz-panel-channels, #vz-panel-technology, .vz-panel--list { position: static; left: auto !important; width: auto; border: 0; box-shadow: none; border-radius: 0; padding: 0 0 12px; }
  .vz-panel::before, .vz-drop::before { display: none; }
  .vz-cols { grid-template-columns: 1fr; gap: 12px; }
  .vz-col + .vz-col { border-left: 0; padding-left: 0; border-top: 1px solid var(--vz-line); padding-top: 12px; }
  .vz-links a, .vz-drop a { padding: 10px; white-space: normal; }
  .vz-panel-note { margin-left: 0; }
  .vz-tools { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 4px; }
  .vz-header .vz-region-btn, .vz-header .vz-signup-btn { width: 100%; justify-content: space-between; margin-top: 8px; padding: 12px 14px !important; font-size: 15.4px; }
  .vz-drop { position: static; border: 0; box-shadow: none; padding: 4px 0 0; min-width: 0; }
}

/* ------------------------------------------------------------------ page components */
.vz-page { font-family: "Open Sans", sans-serif; color: var(--vz-text); font-size: 16px; line-height: 1.6; background: var(--vz-bg); }
.vz-wrap { max-width: var(--vz-wrap); margin: 0 auto; padding: 0 20px; }
.vz-section { padding: 44px 0; }
.vz-section--tight { padding: 24px 0; }
.vz-page h1, .vz-page h2, .vz-page h3, .vz-block h2, .vz-block h3 { font-family: var(--vz-head); font-weight: 500; color: var(--vz-ink); margin: 0; }
.vz-page h1 { font-size: clamp(32px, 4.4vw, 52px); line-height: 1.1; letter-spacing: -.5px; }
.vz-page h2, .vz-block h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2; }
.vz-page h3, .vz-block h3 { font-size: 19px; line-height: 1.3; }
.vz-page p, .vz-block p { margin: 0 0 14px; }
.vz-page a, .vz-block a { color: var(--vz-purple); }
.vz-accent { color: var(--vz-purple); }
.vz-eyebrow { display: inline-block; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vz-purple); }
.vz-lead { font-size: 18px; max-width: 760px; color: var(--vz-text); }
.vz-intro { max-width: 760px; margin: 10px 0 0 !important; color: var(--vz-muted); }
.vz-crumbs { font-size: 13px; color: var(--vz-muted); padding-top: 18px; }
.vz-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vz-crumbs li + li::before { content: "/"; margin-right: 6px; color: #b3b0bd; }
.vz-crumbs a { color: var(--vz-muted); text-decoration: none; }
/* Media Channel flip cards (original Elementor widget) are links; the card itself is unchanged */
a.elementor-flip-box.vz-channel-card { display: block; color: inherit; text-decoration: none; cursor: pointer; }
a.elementor-flip-box.vz-channel-card:focus-visible { outline: 3px solid var(--vz-purple); outline-offset: 3px; border-radius: 12px; }
.vz-crumbs--page { padding-bottom: 14px; }                 /* on pages from the original export, above their own first section */
.vz-crumbs [aria-current="page"] { overflow-wrap: anywhere; }
.vz-crumbs a:hover { color: var(--vz-purple); text-decoration: underline; }

.vz-hero { padding: 36px 0 28px; }
.vz-hero-card { background: #fff; border-radius: 24px; padding: clamp(28px, 5vw, 64px); box-shadow: 0 4px 18px rgba(40, 14, 71, .05); background-image: radial-gradient(900px 320px at 100% 0, #f7eef5 0, rgba(247, 238, 245, 0) 70%); }
.vz-hero h1 { max-width: 900px; margin-bottom: 18px; }
.vz-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.vz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border-radius: 10px; border: 1px solid var(--vz-purple); background: var(--vz-purple); color: #fff !important; font-family: "Open Sans", sans-serif; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none !important; cursor: pointer; transition: background .15s, color .15s; }
.vz-btn:hover, .vz-btn:focus-visible { background: #fff; color: var(--vz-purple) !important; border-color: var(--vz-purple); }
.vz-btn--ghost { background: #fff; color: var(--vz-purple) !important; }
.vz-btn--ghost:hover, .vz-btn--ghost:focus-visible { background: var(--vz-purple); color: #fff !important; }
.vz-btn--light { background: #fff; border-color: #fff; color: var(--vz-ink) !important; }
.vz-btn--light:hover, .vz-btn--light:focus-visible { background: transparent; color: #fff !important; border-color: #fff; }
.vz-btn--outline-light { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff !important; }
.vz-btn--outline-light:hover, .vz-btn--outline-light:focus-visible { background: #fff; color: var(--vz-ink) !important; }
.vz-page :focus-visible, .vz-block :focus-visible { outline: 2px solid var(--vz-purple); outline-offset: 2px; }

.vz-head { margin-bottom: 26px; }
.vz-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.vz-grid--2 { grid-template-columns: repeat(2, 1fr); }
.vz-grid--4 { grid-template-columns: repeat(4, 1fr); }
.vz-card { display: flex; flex-direction: column; background: var(--vz-card); border: 1px solid var(--vz-line); border-radius: var(--vz-radius); padding: 24px; }
.vz-card h3 { margin-bottom: 8px; }
.vz-card p { margin: 0; font-size: 15px; color: var(--vz-muted); }
.vz-table-wrap { overflow-x: auto; border: 1px solid var(--vz-line); border-radius: var(--vz-radius); background: var(--vz-card); }
.vz-table-wrap:focus-visible { outline: 2px solid var(--vz-purple); outline-offset: 2px; }
.vz-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; }
.vz-table th, .vz-table td { padding: 14px 18px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--vz-line); }
.vz-table thead th { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vz-purple); background: transparent; }
.vz-table tbody th { font-weight: 700; color: var(--vz-ink, inherit); white-space: nowrap; }
.vz-table td { color: var(--vz-muted); }
.vz-table tbody tr:last-child th, .vz-table tbody tr:last-child td { border-bottom: 0; }
.vz-card .vz-more { margin-top: auto; padding-top: 14px; font-size: 14px; font-weight: 700; text-decoration: none; }
.vz-card .vz-more::after { content: " \2192"; }
.vz-card .vz-card-more { margin-top: auto; padding-top: 14px; font-size: 14px; font-weight: 700; color: var(--vz-purple); }
.vz-card .vz-card-more::after { content: " \2192"; }
a.vz-card:hover .vz-card-more, a.vz-card:focus-visible .vz-card-more { text-decoration: underline; }
a.vz-card { text-decoration: none; color: inherit !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
a.vz-card:hover, a.vz-card:focus-visible { border-color: var(--vz-purple); box-shadow: var(--vz-shadow); transform: translateY(-2px); }
a.vz-card h3::after { content: " \2192"; color: var(--vz-purple); }
.vz-card ul { margin: 10px 0 0; padding-left: 18px; font-size: 15px; color: var(--vz-muted); }
.vz-card li { margin-bottom: 6px; }
.vz-card--tint { background: var(--vz-tint); border-color: #ecd9e8; }
.vz-tag { display: inline-block; align-self: flex-start; margin-bottom: 12px; padding: 3px 10px; border-radius: 20px; background: var(--vz-tint); color: var(--vz-purple); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.vz-tag--live { background: #e3f6e7; color: #17692a; }
.vz-tag--pilot { background: #fff3d6; color: #7a5200; }
.vz-tag--planned { background: #e9e8f1; color: #4a4760; }

.vz-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: start; }
.vz-panelbox { background: #fff; border: 1px solid var(--vz-line); border-radius: var(--vz-radius); padding: 28px; }
.vz-check { list-style: none; margin: 0; padding: 0; }
.vz-check li { position: relative; padding: 0 0 12px 28px; }
.vz-check li::before { content: ""; position: absolute; left: 4px; top: 7px; width: 10px; height: 6px; border-left: 2px solid var(--vz-purple); border-bottom: 2px solid var(--vz-purple); transform: rotate(-45deg); }

.vz-steps { list-style: none; margin: 0; padding: 0; counter-reset: vzstep; display: grid; gap: 14px; grid-template-columns: repeat(5, 1fr); }
.vz-steps li { counter-increment: vzstep; background: #fff; border: 1px solid var(--vz-line); border-radius: var(--vz-radius); padding: 22px 20px; }
.vz-steps li::before { content: "0" counter(vzstep); display: block; margin-bottom: 10px; font-family: var(--vz-head); font-size: 22px; color: var(--vz-purple); }
.vz-steps h3 { font-size: 17px; margin-bottom: 6px; }
.vz-steps p { margin: 0; font-size: 14px; color: var(--vz-muted); }
.vz-steps--6 { grid-template-columns: repeat(3, 1fr); }

.vz-chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.vz-chips a, .vz-chip { display: inline-block; padding: 8px 16px; border-radius: 30px; background: #fff; border: 1px solid var(--vz-line); color: var(--vz-ink) !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.vz-chips a:hover, .vz-chips a:focus-visible { border-color: var(--vz-purple); color: var(--vz-purple) !important; }
.vz-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.vz-filter button { font: 600 14px "Open Sans", sans-serif; padding: 8px 16px; border-radius: 30px; background: #fff; border: 1px solid var(--vz-line); color: var(--vz-ink); cursor: pointer; }
.vz-filter button:hover, .vz-filter button:focus { background: #fff; color: var(--vz-purple); border-color: var(--vz-purple); }
.vz-filter button[aria-pressed="true"] { background: var(--vz-ink); border-color: var(--vz-ink); color: #fff; }
[data-vz-filter-item][hidden] { display: none !important; }

.vz-faq details { background: #fff; border: 1px solid var(--vz-line); border-radius: 12px; margin-bottom: 10px; }
.vz-faq summary { cursor: pointer; list-style: none; padding: 18px 52px 18px 22px; position: relative; font-family: var(--vz-head); font-size: 17px; color: var(--vz-ink); }
.vz-faq summary::-webkit-details-marker { display: none; }
.vz-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 24px; color: var(--vz-purple); font-family: "Open Sans", sans-serif; }
.vz-faq details[open] summary::after { content: "\2212"; }
.vz-faq .vz-answer { padding: 0 22px 18px; color: var(--vz-muted); }
.vz-faq .vz-answer p:last-child { margin-bottom: 0; }

.vz-terms { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 0; }
.vz-terms > div { background: #fff; border: 1px solid var(--vz-line); border-radius: 12px; padding: 20px 22px; }
.vz-terms dt { font-family: var(--vz-head); font-size: 18px; color: var(--vz-ink); margin-bottom: 6px; }
.vz-terms dd { margin: 0; font-size: 15px; color: var(--vz-muted); }

.vz-note { background: #fff9e9; border: 1px solid #f0dfae; border-radius: 12px; padding: 16px 20px; font-size: 14px; color: #5c4a14; }
.vz-note strong { color: #3f320b; }

.vz-band { background: var(--vz-ink); color: #fff; border-radius: 24px; padding: clamp(28px, 5vw, 56px); background-image: radial-gradient(700px 300px at 100% 0, rgba(200, 56, 193, .35) 0, rgba(200, 56, 193, 0) 70%); }
.vz-band h2 { color: #fff !important; }
.vz-band p { color: #e6dff0; max-width: 720px; margin-top: 12px; }
.vz-band--split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: none; padding: 0; }
.vz-band--split > div { background: var(--vz-ink); border-radius: 24px; padding: clamp(24px, 4vw, 44px); background-image: radial-gradient(500px 240px at 100% 0, rgba(200, 56, 193, .35) 0, rgba(200, 56, 193, 0) 70%); }
.vz-band--split h3 { color: #fff !important; font-size: 26px; }
.vz-band--split p { color: #e6dff0; margin-top: 10px; }
.vz-band small { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #e7b9e1; }

/* forms (signup request pages) */
.vz-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vz-form .vz-full { grid-column: 1 / -1; }
.vz-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--vz-ink); text-transform: none; letter-spacing: 0; }
.vz-form input[type="text"], .vz-form input[type="email"], .vz-form input[type="tel"], .vz-form input[type="url"], .vz-form select, .vz-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #cfccd9; border-radius: 10px; background: #fff; font: 15px "Open Sans", sans-serif; color: var(--vz-text); }
.vz-form input:focus, .vz-form select:focus, .vz-form textarea:focus { outline: 2px solid var(--vz-purple); outline-offset: 1px; border-color: var(--vz-purple); }
.vz-form .vz-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 400; color: var(--vz-text); }
.vz-form .vz-consent input { margin-top: 4px; flex: 0 0 auto; }
.vz-form .vz-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.vz-form button[type="submit"] { justify-self: start; }
.vz-form button[disabled] { opacity: .6; cursor: progress; }
.vz-form-msg { grid-column: 1 / -1; display: none; padding: 14px 18px; border-radius: 10px; font-size: 15px; }
.vz-form-msg.is-ok { display: block; background: #e3f6e7; color: #17692a; }
.vz-form-msg.is-err { display: block; background: #fdeaea; color: #8f1d1d; }
.vz-req { color: #b3261e; }

/* blocks injected into existing Elementor pages */
.vz-block { font-family: "Open Sans", sans-serif; color: var(--vz-text); font-size: 16px; line-height: 1.6; background: var(--vz-bg); }

html[lang="zh-CN"] .vz-page { font-family: "Open Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
html[lang="zh-CN"] .vz-page h1, html[lang="zh-CN"] .vz-page h2, html[lang="zh-CN"] .vz-page h3 { font-family: Ranade, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; letter-spacing: 0; }

@media (max-width: 1024px) {
  .vz-grid, .vz-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .vz-steps, .vz-steps--6 { grid-template-columns: repeat(2, 1fr); }
  .vz-split { grid-template-columns: 1fr; }
  }
@media (max-width: 680px) {
  .vz-section { padding: 32px 0; }
  .vz-grid, .vz-grid--2, .vz-grid--4, .vz-steps, .vz-steps--6, .vz-terms, .vz-form, .vz-band--split { grid-template-columns: 1fr; }
    .vz-cta-row .vz-btn { flex: 1 1 100%; }
  .vz-lead { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .vz-header *, .vz-page *, .vz-block * { transition: none !important; }
}

/* in-page anchors clear the sticky header */
.vz-page [id], .vz-block [id], #our-story, #group-businesses, #our-offices { scroll-margin-top: 110px; }

/* ------------------------------------------------------------------ footer
   The single footer on marketing pages: brand block, three link groups, region row, legal row. */
.vz-footer { background: #280e47; color: rgba(255, 255, 255, .78); font-family: "Open Sans", sans-serif; font-size: 14px; line-height: 1.55; padding: 44px 20px 22px; }
.vz-footer-inner { max-width: var(--vz-wrap); margin: 0 auto; }
.vz-footer-main { display: grid; grid-template-columns: minmax(260px, 1.25fr) 2fr; gap: 40px; padding-bottom: 30px; }
.vz-footer-logo { display: inline-block; }
.vz-footer-logo img { display: block; width: 150px; height: auto; }
.vz-footer p { margin: 0; }
.vz-footer-positioning { margin-top: 14px !important; max-width: 340px; color: #fff; font-family: var(--vz-head); font-size: 16px; line-height: 1.4; }
.vz-footer-positioning { font-weight: 400; text-wrap: balance; }
.vz-footer-cta { margin-top: 14px !important; }
.vz-footer-cta li { margin-bottom: 6px; }
.vz-footer a.vz-footer-arrow { color: #fff; font-size: 14px; font-weight: 600; }
.vz-footer a.vz-footer-arrow::after { content: " \2192"; }
.vz-footer-cta-contact { font-size: 13px; }
.vz-footer-row .vz-footer-signup { margin-left: auto; gap: 0; }
.vz-footer-signup a { color: #fff; font-weight: 600; }
.vz-footer-signup li + li::before { content: "|"; margin: 0 12px; color: rgba(255, 255, 255, .35); font-weight: 400; }
.vz-footer .vz-footer-cta-contact a.vz-footer-arrow { font-size: 13px; font-weight: 400; color: rgba(255, 255, 255, .86); }
.vz-footer a { color: rgba(255, 255, 255, .86); text-decoration: none; }
.vz-footer a:hover, .vz-footer a:focus-visible { color: #fff; text-decoration: underline; }
.vz-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vz-footer-social { display: flex; gap: 8px; margin-top: 16px; }
.vz-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 8px; }
.vz-footer-social a:hover, .vz-footer-social a:focus-visible { background: rgba(255, 255, 255, .12); text-decoration: none; }
.vz-footer-social svg { width: 15px; height: 15px; fill: #fff; }
.vz-footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.vz-footer-col h2 { margin: 0 0 12px; font-family: "Open Sans", sans-serif; font-size: 11px !important; font-weight: 700; line-height: 1.4; letter-spacing: .09em; text-transform: uppercase; color: #e7b9e1 !important; }
.vz-footer ul { list-style: none; margin: 0; padding: 0; }
.vz-footer-col li { margin-bottom: 8px; }
.vz-footer-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13px; }
.vz-footer-row ul { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.vz-footer-row-label { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #e7b9e1; }
.vz-footer-regions a[aria-current="true"] { color: #fff; font-weight: 700; }
.vz-footer-note { margin-left: auto !important; font-size: 12px; color: rgba(255, 255, 255, .6); }
.vz-footer-legal { justify-content: space-between; padding-bottom: 0; }
@media (max-width: 900px) {
  .vz-footer-main { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
  .vz-footer-nav { grid-template-columns: 1fr 1fr; gap: 26px 20px; }          /* tablet and large phones: two columns */
  .vz-footer-col li { margin-bottom: 10px; }
  .vz-footer-row ul { gap: 10px 20px; }
}
@media (max-width: 560px) {
  .vz-footer { padding: 34px 16px 20px; }
  .vz-footer-nav { grid-template-columns: 1fr; gap: 24px; }                     /* phones: one stacked column */
  .vz-footer-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .vz-footer-row .vz-footer-signup { margin-left: 0; }
  .vz-footer-note { margin-left: 0 !important; }
  .vz-footer-legal { flex-direction: column; align-items: flex-start; }
}
html[lang="zh-CN"] .vz-header, html[lang="zh-CN"] .vz-footer { font-family: "Open Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
html[lang="zh-CN"] .vz-col-title, html[lang="zh-CN"] .vz-footer-col h2, html[lang="zh-CN"] .vz-footer-row-label { letter-spacing: .04em; font-size: 12px !important; }
html[lang="zh-CN"] .vz-footer-positioning { font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; }

/* ------------------------------------------------------------------ glossary directory */
.vz-glossary-search input { width: 100%; max-width: 420px; padding: 11px 14px; border: 1px solid #cfccd9; border-radius: 10px; background: #fff; font: 15px "Open Sans", sans-serif; color: var(--vz-text); }
.vz-glossary-search input:focus { outline: 2px solid var(--vz-purple); outline-offset: 1px; border-color: var(--vz-purple); }
.vz-glossary-empty { margin-top: 12px !important; color: var(--vz-muted); }
.vz-az { margin-top: 16px !important; gap: 6px; }
.vz-az a { padding: 5px 11px; border-radius: 8px; }
.vz-letter { margin-bottom: 30px; }
.vz-letter > h2 { margin-bottom: 12px !important; font-size: 22px !important; color: var(--vz-purple) !important; }
.vz-terms dt a { color: var(--vz-ink); text-decoration: none; }
.vz-terms dt a:hover, .vz-terms dt a:focus-visible { color: var(--vz-purple); text-decoration: underline; }
.vz-terms > div[hidden], .vz-letter[hidden] { display: none; }

/* glossary directory: toolbar, category filter, A-Z, term cards */
.g-tools { display: grid; gap: 16px; }
.g-search { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.g-search input { width: 100%; max-width: 520px; padding: 13px 16px; border: 1px solid #cfccd9; border-radius: 12px; background: #fff; font: 16px "Open Sans", sans-serif; color: var(--vz-text); }
.g-search input:focus { outline: 2px solid var(--vz-purple); outline-offset: 1px; border-color: var(--vz-purple); }
.g-count { margin: 0 !important; color: var(--vz-muted); font-size: 14px; }
.g-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.g-filter button { padding: 7px 13px; border: 1px solid var(--vz-line); border-radius: 999px; background: #fff; color: var(--vz-ink); font: 600 13px/1.3 "Open Sans", sans-serif; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.g-filter button span { margin-left: 4px; opacity: .6; font-weight: 400; }
.g-filter button:hover, .g-filter button:focus, .g-filter button:focus-visible, .g-filter button:active { background: #f4eef3 !important; border-color: var(--vz-purple) !important; color: var(--vz-purple) !important; }
.g-filter button:focus-visible { outline: 2px solid var(--vz-purple); outline-offset: 2px; }
.g-filter button[aria-pressed="true"], .g-filter button[aria-pressed="true"]:hover, .g-filter button[aria-pressed="true"]:focus, .g-filter button[aria-pressed="true"]:active { background: var(--vz-purple) !important; border-color: var(--vz-purple) !important; color: #fff !important; }
.g-filter button[aria-pressed="true"]:hover { background: #6a2462 !important; }
.g-az ul { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.g-az a, .g-az span { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; border-radius: 8px; font: 700 14px "Open Sans", sans-serif; text-decoration: none; }
.g-az a { color: var(--vz-purple); background: #f4eef3; }
.g-az a:hover, .g-az a:focus-visible { background: var(--vz-purple); color: #fff; }
.g-az span { color: #c3bfcc; }
.g-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g-card-term h3 { font-size: 18px !important; }
.g-card-term p { font-size: 14.5px; }
.g-card-term[hidden] { display: none !important; }
.vz-letter { scroll-margin-top: 110px; }
.g-empty { padding: 32px; border: 1px dashed var(--vz-line); border-radius: 14px; text-align: center; background: #fff; }
.g-empty h2 { font-size: 22px !important; }
.g-empty p { margin: 8px 0 18px !important; color: var(--vz-muted); }
.g-more { margin-top: 18px !important; }
@media (max-width: 900px) { .g-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .g-grid { grid-template-columns: 1fr; } .g-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; -webkit-overflow-scrolling: touch; } .g-filter button { flex: none; } }

/* glossary term page */
.g-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
.g-main { max-width: 820px; }
.g-block { scroll-margin-top: 110px; }
.g-block + .g-block { margin-top: 44px; }
.g-block h2 { margin-bottom: 14px !important; }
.g-block p { margin-top: 12px; }
.g-steps { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: g; display: grid; gap: 12px; }
.g-steps li { position: relative; padding: 14px 16px 14px 58px; border: 1px solid var(--vz-line); border-radius: 12px; background: #fff; line-height: 1.6; }
.g-steps li::before { counter-increment: g; content: counter(g); position: absolute; left: 16px; top: 13px; width: 28px; height: 28px; border-radius: 50%; background: var(--vz-purple); color: #fff; font: 700 13px/28px "Open Sans", sans-serif; text-align: center; }
.g-persps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 18px; }
.g-persp { padding: 18px; border: 1px solid var(--vz-line); border-top: 3px solid var(--vz-purple); border-radius: 12px; background: #fff; }
.g-persp h3 { font-size: 16px !important; margin: 0 0 6px !important; }
.g-persp p { margin: 0; font-size: 15px; }
.g-example { padding: 20px 22px; border-left: 4px solid var(--vz-purple); border-radius: 0 12px 12px 0; background: #f7f3f7; }
.g-example p { margin: 10px 0 0; }
.g-aside { position: sticky; top: 110px; }
.g-card { padding: 20px; border: 1px solid var(--vz-line); border-radius: 14px; background: #fff; }
.g-label { margin: 0 0 6px !important; font: 700 11px "Open Sans", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--vz-muted); }
.g-label + .g-cat { display: inline-block; margin-bottom: 18px; padding: 5px 11px; border-radius: 999px; background: #f4eef3; color: var(--vz-purple); font-weight: 600; font-size: 13px; text-decoration: none; }
.g-cat:hover, .g-cat:focus-visible { background: var(--vz-purple); color: #fff; }
.g-toc { margin: 0 0 16px; padding: 0; list-style: none; }
.g-toc li { border-left: 2px solid var(--vz-line); }
.g-toc a { display: block; padding: 5px 0 5px 12px; color: var(--vz-ink); font-size: 14px; text-decoration: none; }
.g-toc a:hover, .g-toc a:focus-visible { color: var(--vz-purple); }
.g-all { font-weight: 600; font-size: 14px; color: var(--vz-purple); }
@media (max-width: 980px) { .g-layout { grid-template-columns: 1fr; gap: 28px; } .g-aside { position: static; order: -1; } .g-toc { display: none; } .g-toc + .g-all, .g-card .g-label:nth-of-type(2) { display: none; } }

/* restrained open animation for menus (desktop); none when reduced motion is requested */
@media (min-width: 1181px) and (prefers-reduced-motion: no-preference) {
  .vz-item.is-open > .vz-panel, .vz-item.is-open > .vz-drop { animation: vz-fade .14s ease-out; }
}
@keyframes vz-fade { from { opacity: 0; } to { opacity: 1; } }

/* marker for English-only destinations on Chinese pages */
.vz-en { display: inline-block; margin-left: 5px; padding: 0 4px; border: 1px solid currentColor; border-radius: 3px; font-family: "Open Sans", sans-serif; font-size: 9px; font-weight: 700; line-height: 13px; letter-spacing: .04em; opacity: .6; vertical-align: 1px; }

/* blog: closing call to action and links added to article text */
.vz-blog-cta { max-width: 100%; margin: 36px 0 8px; padding: 26px 28px; background: #fff; border: 1px solid var(--vz-line); border-left: 4px solid var(--vz-purple); border-radius: 12px; }
.vz-blog-cta h2 { font-size: 22px !important; line-height: 1.3 !important; margin: 0 0 8px !important; }
.vz-blog-cta p { margin: 0 !important; color: var(--vz-muted); font-size: 15px; }
.vz-blog-cta .vz-blog-cta-label { margin-bottom: 8px !important; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--vz-purple); }
.vz-blog-cta .vz-cta-row { margin-top: 18px; }
a.vz-inlink { color: var(--vz-purple); text-decoration: underline; text-underline-offset: 2px; }
a.vz-inlink:hover, a.vz-inlink:focus-visible { color: var(--vz-ink); }

/* ------------------------------------------------------------------ self-contained header and footer
   The shared header and footer set their own base text properties instead of inheriting them
   from the page. Investor Relations pages use a different base font weight, line height, text
   colour and paragraph/heading padding; without this the same components rendered differently there. */
.vz-header { font-size: 16px; font-weight: 400; line-height: 1.5; color: #333; text-align: left; }
.vz-footer { font-weight: 400; text-align: left; }
.vz-header, .vz-footer { -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; text-rendering: auto; word-spacing: normal; font-kerning: auto; font-style: normal; }
.vz-header p, .vz-footer p, .vz-footer h2, .vz-header ul, .vz-footer ul, .vz-header li, .vz-footer li { padding: 0; }
.vz-header .vz-panel p.vz-col-title { padding: 0 10px; }
.vz-header .vz-more-link { color: var(--vz-purple); }
.vz-header .vz-skip { color: #fff; }
.vz-header img, .vz-footer img { max-width: none; }

/* China pages: the regional positioning line shown beneath the page introduction */
.vz-positioning { margin: 0 !important; padding: 14px 20px; border-left: 3px solid var(--vz-purple); background: var(--vz-tint); border-radius: 0 10px 10px 0; font-family: Ranade, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; font-size: 17px; color: var(--vz-ink); }

/* ---------------------------------------------------------------- unified page top (pilot: body.vz-v2)
   One soft magenta background runs from the top of the window, behind the floating header bar,
   through the breadcrumbs and into the hero, then fades to white. Dark technology heroes extend
   up behind the header instead. Breadcrumbs become a light inline trail. */
body.vz-v2 { --vz-top: 86px; background: #fff linear-gradient(180deg, #fbeaf4 0, #fdf3f9 360px, rgba(255, 255, 255, 0) 820px) no-repeat !important; }
body.vz-v2 main.vz-page { background: transparent; }
body.vz-v2 .m-hero:not(.m-hero--dark) { background: transparent; }
body.vz-v2 .m-hero:not(.m-hero--dark) .m-hero-bg { opacity: .6; }
body.vz-v2 .m-hero--dark { margin-top: calc(-1 * var(--vz-top)); padding-top: calc(var(--vz-top) + 26px); }
body.vz-v2 .m-hero-crumbs { position: relative; margin-bottom: 30px; }
body.vz-v2 .vz-crumbs, body.vz-v2 .m-hero-crumbs .vz-crumbs { max-width: var(--vz-wrap); margin: 0 auto; padding: 20px 0 0; background: none; }
body.vz-v2 .m-hero-crumbs .vz-crumbs { padding: 0; }
body.vz-v2 .vz-crumbs--page { padding: 22px 20px 18px; }
body.vz-v2 .vz-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; padding: 0; border: 0; border-radius: 0; background: none; font-size: 13px; line-height: 1.5; }
body.vz-v2 .vz-crumbs li { display: inline-flex; align-items: center; }
body.vz-v2 .vz-crumbs li + li::before { content: ""; width: 6px; height: 6px; margin: 0 12px 0 10px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); opacity: .45; }
body.vz-v2 .vz-crumbs li:first-child a::before { content: ""; display: inline-block; width: 13px; height: 13px; margin: 0 7px -2px 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center / contain no-repeat; }
body.vz-v2 .vz-crumbs a { color: #6f5d80; text-decoration: none; }
body.vz-v2 .vz-crumbs a:hover, body.vz-v2 .vz-crumbs a:focus-visible { color: var(--vz-purple); text-decoration: underline; }
body.vz-v2 .vz-crumbs [aria-current="page"] { color: var(--vz-ink); font-weight: 600; }
body.vz-v2 .m-hero--dark .vz-crumbs a { color: rgba(255, 255, 255, .66); }
body.vz-v2 .m-hero--dark .vz-crumbs a:hover { color: #fff; }
body.vz-v2 .m-hero--dark .vz-crumbs [aria-current="page"] { color: #fff; }
@media (max-width: 1180px) { body.vz-v2 { --vz-top: 74px; } }
@media (max-width: 767px) {
  body.vz-v2 .vz-crumbs--page { padding: 16px 16px 12px; }
  body.vz-v2 .m-hero-crumbs { margin-bottom: 20px; }
}

/* ---------------------------------------------------------------- unified page top: one rhythm everywhere
   header bar -> 20px -> breadcrumbs -> 24px -> first content, on every kind of page. */
body.vz-v2 { --vz-crumb-top: 12px; --vz-crumb-gap: 24px; }
body.vz-v2 .vz-crumbs { padding-top: var(--vz-crumb-top) !important; padding-bottom: 0 !important; margin-bottom: var(--vz-crumb-gap) !important; }
body.vz-v2 .vz-crumbs.vz-wrap { padding-left: 20px !important; padding-right: 20px !important; }
body.vz-v2 .m-hero-crumbs .vz-crumbs.vz-wrap { padding-left: 0 !important; padding-right: 0 !important; }
/* with breadcrumbs on top, the hero copy starts at the gap instead of centring against a tall visual */
body.vz-v2 .m-hero:has(.m-hero-crumbs) .m-hero-grid, body.vz-v2 .vz-crumbs + .elementor .m-hero-grid { align-items: start; }
/* breadcrumbs inside a hero: the hero supplies the top space */
body.vz-v2 .m-hero:has(.m-hero-crumbs) { padding-top: var(--vz-crumb-top) !important; }
body.vz-v2 .m-hero--dark:has(.m-hero-crumbs) { padding-top: calc(var(--vz-top) + var(--vz-crumb-top)) !important; }
body.vz-v2 .m-hero-crumbs { margin-bottom: var(--vz-crumb-gap) !important; }
body.vz-v2 .m-hero-crumbs .vz-crumbs { padding-top: 0 !important; margin-bottom: 0 !important; }
/* the first block after page-level breadcrumbs starts directly at the gap */
body.vz-v2 .vz-crumbs + .vz-hero, body.vz-v2 .vz-crumbs + .cs-hero { padding-top: 0 !important; margin-top: 0 !important; }
body.vz-v2 .vz-crumbs + .vz-hero .vz-wrap { padding-top: 0; }
body.vz-v2 .vz-crumbs--page + .elementor > .m-home-hero .m-hero, body.vz-v2 .vz-crumbs--page + .elementor > section.m-hero,
body.vz-v2 .vz-crumbs--page + .elementor > .e-parent:first-child, body.vz-v2 .vz-crumbs--page + div > .e-parent:first-child { --padding-top: 0px; --margin-block-start: 0px; padding-top: 0 !important; margin-top: 0 !important; }
/* Creative Studio and other own-background heroes sit on the shared background */
body.vz-v2 .cs-hero { background: radial-gradient(60% 70% at 85% 30%, rgba(214, 51, 143, .14), transparent 70%), radial-gradient(50% 60% at 60% 90%, rgba(107, 47, 160, .1), transparent 70%) !important; }
body.vz-v2 .vz-hero { background: transparent; }
/* Investor Relations: the shared background shows behind the header, the IR bar and the breadcrumbs */
body.vz-ir.vz-v2 #page-container, body.vz-ir.vz-v2 #et-main-area, body.vz-ir.vz-v2 #main-content { background: transparent !important; }
body.vz-ir.vz-v2 .vz-ir-crumbs { max-width: var(--vz-wrap); }
@media (max-width: 767px) { body.vz-v2 { --vz-crumb-top: 16px; --vz-crumb-gap: 18px; } }
/* same left edge everywhere on phones; IR breadcrumbs sit the same distance below the IR bar as others below the header */
body.vz-v2 .m-hero { padding-left: 0 !important; padding-right: 0 !important; }     /* the wrapper inside supplies the side space, as it does for the breadcrumbs */
body.vz-ir.vz-v2 .vz-ir-crumbs { padding-top: calc(var(--vz-crumb-top) + 5px) !important; }
@media (max-width: 1180px) { body.vz-ir.vz-v2 .vz-ir-crumbs { padding-top: var(--vz-crumb-top) !important; } }
/* homepages have no breadcrumbs: the hero copy starts where other pages' breadcrumbs start */
body.vz-v2 .m-home-hero .m-hero { padding-top: calc(var(--vz-crumb-top) + 12px) !important; }
body.vz-v2 .m-home-hero .m-hero-grid { align-items: start; }
body.vz-v2 main.vz-page > .m-hero:first-child:not(:has(.m-hero-crumbs)) { padding-top: calc(var(--vz-crumb-top) + 12px) !important; }
body.vz-v2 main.vz-page > .m-hero:first-child:not(:has(.m-hero-crumbs)) .m-hero-grid { align-items: start; }
/* the first content section after the breadcrumbs sits on the shared background and starts at the gap */
body.vz-v2 .vz-crumbs--page + .elementor > .e-parent:first-child { background-color: transparent !important; --background-color: transparent; }
body.vz-ir.vz-v2 .et_pb_sticky_module + .et_pb_section, body.vz-ir.vz-v2 .et_pb_sticky_module + .et_pb_sticky_placeholder + .et_pb_section,
body.vz-ir.vz-v2 .et_builder_inner_content > .et_pb_section:first-child:not(.et_pb_sticky_module) { background-color: transparent !important; padding-top: 0 !important; }
body.vz-ir.vz-v2 .et_pb_sticky_module + .et_pb_section > .et_pb_row:first-child, body.vz-ir.vz-v2 .et_pb_sticky_module + .et_pb_sticky_placeholder + .et_pb_section > .et_pb_row:first-child,
body.vz-ir.vz-v2 .et_builder_inner_content > .et_pb_section:first-child:not(.et_pb_sticky_module) > .et_pb_row:first-child { padding-top: 0 !important; }

/* an intro section (heading and lead only) sits directly on the section it introduces */
.vz-section.vz-section--intro { padding-bottom: 0 !important; }
.vz-section.vz-section--intro + .vz-section { padding-top: 32px !important; }
.vz-case-card { display: block; max-width: 560px; }
.vz-case-card .vz-more { display: inline-block; margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--vz-purple); }

/* form result messages: WPForms (Talk To Us and other lead forms) and Contact Form 7 (Investor Relations) */
html body div.wpforms-container-full .wpforms-confirmation-container-full, html body div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message),
.wpcf7 form .wpcf7-response-output {
  position: relative; box-sizing: border-box; width: 100%; max-width: 640px; margin: 8px 0 24px !important;
  padding: 18px 22px 18px 62px !important; border: 1px solid #cfe9d8 !important; border-left: 4px solid #2e9e5b !important;
  border-radius: 12px !important; background: #f2faf5 !important; color: #1f3d2c !important;
  font: 500 16px/1.55 "Open Sans", sans-serif !important; text-align: left; box-shadow: 0 6px 18px rgba(31, 61, 44, .06);
}
html body div.wpforms-container-full .wpforms-confirmation-container-full p { margin: 0 !important; color: inherit !important; font: inherit !important; }
html body div.wpforms-container-full .wpforms-confirmation-container-full::before, .wpcf7 form .wpcf7-response-output::before {
  content: ""; position: absolute; left: 20px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
  background: #2e9e5b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output {
  border-color: #f2c9c9 !important; border-left-color: #c93a3a !important; background: #fdf3f3 !important; color: #5c1f1f !important;
}
.wpcf7 form.failed .wpcf7-response-output::before, .wpcf7 form.aborted .wpcf7-response-output::before, .wpcf7 form.spam .wpcf7-response-output::before {
  background: #c93a3a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #f1e0b5 !important; border-left-color: #c98a0b !important; background: #fdf8ec !important; color: #4d3605 !important;
}
.wpcf7 form.invalid .wpcf7-response-output::before, .wpcf7 form.unaccepted .wpcf7-response-output::before, .wpcf7 form.payment-required .wpcf7-response-output::before {
  background: #c98a0b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none !important; }
.wpforms-error-container, .wpforms-error-container p { color: #a12a2a !important; }
@media (max-width: 600px) { html body div.wpforms-container-full .wpforms-confirmation-container-full, .wpcf7 form .wpcf7-response-output { padding: 16px 16px 16px 56px !important; font-size: 15px !important; } html body div.wpforms-container-full .wpforms-confirmation-container-full::before, .wpcf7 form .wpcf7-response-output::before { left: 16px; } }
