/* ============================================================
   VAZL — Colourful & friendly landing page
   Loaded last (after bootstrap + home-pro.css). All new markup
   uses `vz-` classes so older rules don't leak in.
   ============================================================ */

:root {
  --vz-ink:       #1E1B4B;
  --vz-ink-2:     #4A4769;
  --vz-muted:     #6E6B8F;
  --vz-line:      #ECE6DA;
  --vz-cream:     #FFF8EE;
  --vz-cream-2:   #FFF1DD;
  --vz-white:     #FFFFFF;

  --vz-violet:    #6C5CE7;  --vz-violet-dk: #5243C9;  --vz-violet-lt: #EFECFF;
  --vz-coral:     #FF6B6B;  --vz-coral-dk:  #E84E4E;  --vz-coral-lt:  #FFE8E6;
  --vz-sun:       #FFC53D;  --vz-sun-dk:    #9A6B00;  --vz-sun-lt:    #FFF3D1;
  --vz-mint:      #12B886;  --vz-mint-dk:   #0B7C5B;  --vz-mint-lt:   #DDF7EC;
  --vz-sky:       #339AF0;  --vz-sky-dk:    #1864AB;  --vz-sky-lt:    #E1F0FF;
  --vz-pink:      #F06595;  --vz-pink-dk:   #C2255C;  --vz-pink-lt:   #FFE3EE;

  --vz-r:    14px;
  --vz-r-lg: 22px;
  --vz-r-xl: 32px;
  --vz-shadow:    0 2px 0 rgba(30,27,75,.04), 0 8px 24px rgba(30,27,75,.06);
  --vz-shadow-lg: 0 20px 50px rgba(30,27,75,.14);
  --vz-head: 'Nunito', 'Inter', system-ui, sans-serif;
  --vz-body: 'Inter', system-ui, sans-serif;
}

/* Tone helpers: each sets --tone / --tone-lt / --tone-dk for its children */
.t-violet { --tone: var(--vz-violet); --tone-lt: var(--vz-violet-lt); --tone-dk: var(--vz-violet-dk); }
.t-coral  { --tone: var(--vz-coral);  --tone-lt: var(--vz-coral-lt);  --tone-dk: var(--vz-coral-dk); }
.t-sun    { --tone: var(--vz-sun);    --tone-lt: var(--vz-sun-lt);    --tone-dk: var(--vz-sun-dk); }
.t-mint   { --tone: var(--vz-mint);   --tone-lt: var(--vz-mint-lt);   --tone-dk: var(--vz-mint-dk); }
.t-sky    { --tone: var(--vz-sky);    --tone-lt: var(--vz-sky-lt);    --tone-dk: var(--vz-sky-dk); }
.t-pink   { --tone: var(--vz-pink);   --tone-lt: var(--vz-pink-lt);   --tone-dk: var(--vz-pink-dk); }
.t-orange { --tone: #FD7E14; --tone-lt: #FFEBD8; --tone-dk: #C2410C; }
.t-teal   { --tone: #0C8599; --tone-lt: #D5F4F8; --tone-dk: #0B6E7F; }
.t-indigo { --tone: #4263EB; --tone-lt: #E3E9FF; --tone-dk: #2F4AC0; }
.t-lime   { --tone: #74B816; --tone-lt: #EAF7D6; --tone-dk: #4A7A0A; }
.t-grape  { --tone: #AE3EC9; --tone-lt: #F6E3FA; --tone-dk: #862E9C; }
.t-cocoa  { --tone: #9C6644; --tone-lt: #F4E6DC; --tone-dk: #7A4B2F; }

/* ── Base ─────────────────────────────────────────────────── */
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
html body {
  font-family: var(--vz-body) !important;
  color: var(--vz-ink-2);
  background: var(--vz-white);
  overflow-x: hidden;
}
.container-scroller { overflow-x: clip; }

.vz-section { position: relative; padding: 96px 0; }
.vz-section-tight { padding: 40px 0; }
.vz-section-cream { background: var(--vz-cream); }
@media (max-width: 767px) { .vz-section { padding: 64px 0; } }

.vz-head { text-align: center; max-width: 680px; margin: 0 auto 52px; }
.vz-h2 {
  font-family: var(--vz-head);
  font-weight: 900;
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  line-height: 1.18;
  color: var(--vz-ink);
  margin: 14px 0 14px;
  letter-spacing: -.01em;
}
.vz-h2-left { text-align: start; }
.vz-lead { font-size: 1.06rem; line-height: 1.7; color: var(--vz-muted); margin: 0 auto; }
.vz-lead-left { margin: 0 0 24px; }

/* Highlighted words */
.vz-hl { position: relative; white-space: nowrap; z-index: 0; }
.vz-hl::after {
  content: ''; position: absolute; z-index: -1;
  left: -4px; right: -4px; bottom: .08em; height: .42em;
  border-radius: 6px; transform: rotate(-1.2deg);
}
.vz-hl-violet::after { background: var(--vz-violet-lt); }
.vz-hl-sun::after    { background: var(--vz-sun); opacity: .55; }
.vz-hl-mint::after   { background: var(--vz-mint-lt); }
.vz-hl-violet { color: var(--vz-violet); }

.vz-squiggle { position: relative; color: var(--vz-coral); white-space: nowrap; }
.vz-squiggle::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -.18em; height: .32em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M2 8 Q 12 1 22 7 T 42 7 T 62 7 T 82 7 T 102 7 T 118 6' fill='none' stroke='%23FFC53D' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* Pills / eyebrows */
.vz-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 16px; border-radius: 999px;
  font-size: .8rem; font-weight: 700; letter-spacing: .02em;
}
.vz-pill i { font-size: .82em; }
.vz-pill-violet { background: var(--vz-violet-lt); color: var(--vz-violet-dk); }
.vz-pill-coral  { background: var(--vz-coral-lt);  color: var(--vz-coral-dk); }
.vz-pill-sun    { background: var(--vz-sun-lt);    color: var(--vz-sun-dk); }
.vz-pill-mint   { background: var(--vz-mint-lt);   color: var(--vz-mint-dk); }
.vz-pill-sky    { background: var(--vz-sky-lt);    color: var(--vz-sky-dk); }
.vz-pill-pink   { background: var(--vz-pink-lt);   color: var(--vz-pink-dk); }
.vz-pill-white  { background: rgba(255,255,255,.18); color: #fff; }

/* Icon tile */
.vz-icon {
  width: 52px; height: 52px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 16px; font-size: 1.3rem;
  background: var(--tone-lt, var(--vz-violet-lt));
  color: var(--tone-dk, var(--vz-violet-dk));
}
.vz-icon img { width: 28px; height: 28px; object-fit: contain; }

/* ── Buttons ──────────────────────────────────────────────── */
.vz-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  border: 2px solid transparent; border-radius: 999px;
  padding: 10px 20px; font-size: .92rem; font-weight: 700;
  font-family: var(--vz-body); line-height: 1.2;
  cursor: pointer; white-space: nowrap; text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.vz-btn:hover { transform: translateY(-2px); }
.vz-btn:active { transform: translateY(0); }
.vz-btn:focus-visible { outline: 3px solid var(--vz-sun); outline-offset: 2px; }
.vz-btn-lg { padding: 14px 28px; font-size: 1rem; }
.vz-btn-block { width: 100%; }

.vz-btn-violet { background: var(--vz-violet); color: #fff !important; box-shadow: 0 6px 0 var(--vz-violet-dk); }
.vz-btn-violet:hover { box-shadow: 0 8px 0 var(--vz-violet-dk); }
.vz-btn-coral  { background: var(--vz-coral);  color: #fff !important; box-shadow: 0 5px 0 var(--vz-coral-dk); }
.vz-btn-coral:hover { box-shadow: 0 7px 0 var(--vz-coral-dk); }
.vz-btn-sun    { background: var(--vz-sun); color: var(--vz-ink) !important; box-shadow: 0 5px 0 #E0A200; }
.vz-btn-sun:hover { box-shadow: 0 7px 0 #E0A200; }
.vz-btn-white  { background: #fff; color: var(--vz-coral-dk) !important; box-shadow: 0 5px 0 rgba(0,0,0,.12); }
.vz-btn-ghost  { background: #fff; color: var(--vz-ink) !important; border-color: var(--vz-ink); }
.vz-btn-ghost:hover { background: var(--vz-ink); color: #fff !important; }
/* home-pro.css styles .view-more-feature with !important; win on specificity */
.vz-btn.vz-btn-ghost.view-more-feature {
  background: #fff !important; color: var(--vz-ink) !important;
  border: 2px solid var(--vz-ink) !important; border-radius: 999px !important;
  padding: 12px 26px !important; font-size: .95rem !important; margin-top: 0;
}
.vz-btn.vz-btn-ghost.view-more-feature:hover { background: var(--vz-ink) !important; color: #fff !important; }

/* ── Navbar ───────────────────────────────────────────────── */
.vz-nav {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(255,248,238,.9);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: box-shadow .25s, background .25s;
}
.vz-nav.scrolled { background: rgba(255,248,238,.94); box-shadow: 0 4px 18px rgba(30,27,75,.06); }
.vz-nav-inner { display: flex; align-items: center; gap: 20px; height: 76px; }
.vz-nav-logo img { height: 46px; width: auto; border-radius: 10px; }
.vz-nav-links {
  display: flex; align-items: center; gap: 2px;
  list-style: none; margin: 0 auto; padding: 0;
}
.vz-nav-links > li > a {
  display: block; padding: 8px 14px; border-radius: 999px;
  font-size: .92rem; font-weight: 600; color: var(--vz-ink-2) !important;
  transition: background .18s, color .18s;
}
.vz-nav-links > li > a:hover { background: var(--vz-violet-lt); color: var(--vz-violet-dk) !important; }
.vz-nav-links .dropdown-menu {
  border: 0; border-radius: var(--vz-r); padding: 8px;
  box-shadow: var(--vz-shadow-lg);
}
.vz-nav-links .dropdown-item { border-radius: 10px; padding: 8px 12px; font-weight: 500; }
.vz-nav-links .dropdown-item:hover { background: var(--vz-violet-lt); color: var(--vz-violet-dk); }
.vz-nav-actions { display: flex; gap: 10px; }
.vz-burger {
  display: none; margin-inline-start: auto;
  width: 46px; height: 46px; border-radius: 14px;
  border: 2px solid var(--vz-ink); background: #fff; color: var(--vz-ink);
  font-size: 1.1rem;
}
@media (max-width: 1199px) {
  .vz-nav-links, .vz-nav-actions { display: none; }
  .vz-burger { display: inline-flex; align-items: center; justify-content: center; }
}

.vz-drawer { background: var(--vz-cream); }
.vz-drawer-logo { height: 42px; border-radius: 8px; }
.vz-drawer-links { list-style: none; padding: 0; margin: 0; }
.vz-drawer-links a {
  display: block; padding: 13px 16px; margin-bottom: 6px;
  border-radius: var(--vz-r); background: #fff;
  font-weight: 700; color: var(--vz-ink) !important;
}
.vz-drawer-links a:hover { background: var(--vz-violet-lt); color: var(--vz-violet-dk) !important; }
.vz-drawer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.vz-drawer-actions .vz-btn { flex: 1 1 140px; }

/* ── Decorative shapes ────────────────────────────────────── */
.vz-deco { position: absolute; pointer-events: none; z-index: 0; }
.vz-deco-star {
  width: 30px; height: 30px; background: var(--vz-sun);
  clip-path: polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  animation: vz-spin 14s linear infinite;
}
.vz-deco-ring { width: 34px; height: 34px; border: 6px solid var(--vz-pink); border-radius: 50%; animation: vz-bob 5s ease-in-out infinite; }
.vz-deco-dot  { width: 18px; height: 18px; background: var(--vz-mint); border-radius: 50%; animation: vz-bob 4s ease-in-out infinite; }
.vz-deco-light.vz-deco-star { background: rgba(255,255,255,.4); }
.vz-deco-light.vz-deco-ring { border-color: rgba(255,255,255,.3); }
@keyframes vz-spin { to { transform: rotate(360deg); } }
@keyframes vz-bob  { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* ── Hero ─────────────────────────────────────────────────── */
.vz-hero {
  position: relative; overflow: hidden;
  background:
    radial-gradient(600px 400px at 10% 0%, rgba(255,197,61,.18), transparent 70%),
    radial-gradient(700px 500px at 100% 30%, rgba(108,92,231,.12), transparent 70%),
    var(--vz-cream);
  padding: 56px 0 120px;
}
.vz-hero .container { position: relative; z-index: 1; }
.vz-hero-title {
  font-family: var(--vz-head); font-weight: 900;
  font-size: clamp(2.3rem, 5vw, 3.7rem);
  line-height: 1.12; letter-spacing: -.02em;
  color: var(--vz-ink); margin: 20px 0 20px;
}
.vz-hero-sub { font-size: 1.1rem; line-height: 1.75; color: var(--vz-muted); max-width: 540px; margin-bottom: 26px; }

.vz-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 32px; }
.vz-chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 14px; border-radius: 999px;
  background: var(--tone-lt); color: var(--tone-dk);
  font-size: .86rem; font-weight: 700;
}

.vz-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 36px; }

.vz-hero-stats { display: flex; flex-wrap: wrap; gap: 12px; }
.vz-hstat {
  display: flex; align-items: center; gap: 12px;
  background: #fff; border-radius: var(--vz-r-lg);
  padding: 12px 18px 12px 12px; box-shadow: var(--vz-shadow);
}
.vz-hstat > i {
  width: 42px; height: 42px; border-radius: 13px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tone-lt); color: var(--tone-dk);
}
.vz-hstat strong { display: block; font-family: var(--vz-head); font-size: 1.3rem; font-weight: 900; color: var(--vz-ink); line-height: 1.1; }
.vz-hstat span { font-size: .8rem; font-weight: 600; color: var(--vz-muted); }

.vz-hero-art { position: relative; max-width: 540px; margin: 0 auto; aspect-ratio: 1 / 1; }
.vz-hero-blob {
  position: absolute; inset: 8% 6% 4% 8%;
  background: linear-gradient(145deg, var(--vz-violet) 0%, #8E7CF7 100%);
  border-radius: 58% 42% 50% 50% / 48% 55% 45% 52%;
  animation: vz-morph 12s ease-in-out infinite;
}
.vz-hero-blob-2 {
  inset: 26% -2% 14% 44%;
  background: var(--vz-sun);
  border-radius: 50% 50% 38% 62% / 55% 45% 55% 45%;
  animation-duration: 9s; animation-direction: reverse;
  opacity: .95;
}
@keyframes vz-morph {
  0%,100% { border-radius: 58% 42% 50% 50% / 48% 55% 45% 52%; }
  50%     { border-radius: 44% 56% 42% 58% / 58% 44% 56% 42%; }
}
.vz-hero-img {
  position: relative; z-index: 1;
  width: 100%; height: 100%; object-fit: contain; object-position: bottom center;
  filter: drop-shadow(0 20px 30px rgba(30,27,75,.18));
}
.vz-float {
  position: absolute; z-index: 2;
  display: flex; align-items: center; gap: 10px;
  background: #fff; border-radius: 18px;
  padding: 10px 16px 10px 10px;
  box-shadow: var(--vz-shadow-lg);
  animation: vz-bob 6s ease-in-out infinite;
}
.vz-float strong { display: block; font-size: .92rem; font-weight: 800; color: var(--vz-ink); line-height: 1.2; }
.vz-float small  { font-size: .74rem; color: var(--vz-muted); font-weight: 600; }
.vz-float-icon {
  width: 38px; height: 38px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tone-lt); color: var(--tone-dk);
}
.vz-float-1 { top: 10%; left: -4%; }
.vz-float-2 { bottom: 16%; right: -4%; animation-delay: -2s; }
.vz-float-3 { bottom: 2%; left: 4%; animation-delay: -4s; }
@media (max-width: 575px) {
  .vz-float { transform: scale(.85); }
  .vz-float-1 { left: 0; } .vz-float-2 { right: 0; }
}

.vz-wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 70px; z-index: 1; }
.vz-wave path { fill: var(--vz-white); }

/* ── Trust logos ──────────────────────────────────────────── */
.vz-trust { padding: 24px 0 8px; }
.vz-trust-label { text-align: center; font-weight: 700; color: var(--vz-muted); margin-bottom: 18px; }
.vz-trust-logo {
  height: 84px; display: flex; align-items: center; justify-content: center;
  background: var(--vz-cream); border-radius: var(--vz-r-lg); padding: 12px 18px;
}
.vz-trust-logo img { max-height: 58px; width: auto !important; object-fit: contain; }

/* ── Stats ────────────────────────────────────────────────── */
.vz-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 767px) { .vz-stats { grid-template-columns: 1fr; } }
.vz-stat {
  background: var(--tone-lt); border-radius: var(--vz-r-xl);
  padding: 30px; text-align: center; color: var(--tone-dk);
}
.vz-stat > i { font-size: 1.6rem; margin-bottom: 10px; }
.vz-stat-num { font-family: var(--vz-head); font-weight: 900; font-size: 2.6rem; color: var(--vz-ink); line-height: 1; }
.vz-stat-lbl { font-weight: 700; margin-top: 6px; }

/* ── AI cards ─────────────────────────────────────────────── */
.vz-ai-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 36px; }
@media (max-width: 991px) { .vz-ai-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .vz-ai-grid { grid-template-columns: 1fr; } }
.vz-ai-card {
  background: var(--tone-lt); border-radius: var(--vz-r-xl);
  padding: 28px 24px; transition: transform .22s ease;
}
.vz-ai-card:hover { transform: translateY(-6px) rotate(-.6deg); }
.vz-ai-card .vz-icon { background: var(--tone); color: #fff; margin-bottom: 18px; }
.vz-ai-card.t-sun .vz-icon { color: var(--vz-ink); }
.vz-ai-card h3 { font-family: var(--vz-head); font-size: 1.2rem; font-weight: 800; color: var(--vz-ink); margin-bottom: 8px; }
.vz-ai-card p { font-size: .93rem; line-height: 1.6; color: var(--vz-ink-2); margin-bottom: 16px; }
.vz-tag {
  display: inline-block; padding: 4px 12px; border-radius: 999px;
  background: #fff; color: var(--tone-dk);
  font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
}

.vz-cta-strip {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px;
  padding: 30px 36px; border-radius: var(--vz-r-xl);
  background: var(--vz-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='2' cy='2' r='1.6' fill='%23ffffff' fill-opacity='.14'/%3E%3C/svg%3E");
  color: #fff;
}
.vz-cta-strip strong { display: block; font-family: var(--vz-head); font-size: 1.35rem; font-weight: 900; margin-bottom: 4px; }
.vz-cta-strip span { color: rgba(255,255,255,.85); }

/* ── Features grid ────────────────────────────────────────── */
.vz-feat {
  height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
  background: #fff; border-radius: var(--vz-r-lg); padding: 22px;
  border: 2px solid transparent; box-shadow: var(--vz-shadow);
  transition: transform .2s ease, border-color .2s ease;
}
.vz-feat:hover { transform: translateY(-4px); border-color: var(--tone); }
.vz-feat h3 { font-size: 1rem; font-weight: 700; color: var(--vz-ink); margin: 0; line-height: 1.35; }
@media (max-width: 575px) { .vz-feat { padding: 16px; } .vz-feat h3 { font-size: .9rem; } }

/* ── Module sections with tabs ────────────────────────────── */
.vz-mod .vz-h2 { margin-bottom: 26px; }
.vz-mod .vz-tabs { display: flex; flex-direction: column; gap: 10px; }
.vz-mod .vz-tabs .tab {
  display: block; cursor: pointer;
  background: #fff; border: 2px solid var(--vz-line);
  border-radius: var(--vz-r-lg); padding: 16px 20px;
  margin: 0; box-shadow: none;
  transition: border-color .2s, background .2s, transform .2s;
}
.vz-mod .vz-tabs .tab:hover { border-color: var(--tone); transform: translateX(4px); }
.vz-mod .vz-tabs .tab:focus-visible { outline: 3px solid var(--vz-sun); outline-offset: 2px; }
.vz-mod .vz-tabs .tab > span:first-child {
  display: flex; align-items: center; gap: 10px;
  font-size: 1.02rem; font-weight: 800; color: var(--vz-ink);
}
.vz-mod .vz-tabs .tab > span:first-child::before {
  content: ''; width: 12px; height: 12px; border-radius: 50%;
  background: var(--vz-line); flex-shrink: 0; transition: background .2s;
}
.vz-mod .vz-tabs .tab > span:last-child {
  display: none; font-size: .92rem; line-height: 1.6; color: var(--vz-ink-2);
  margin-top: 8px; padding-inline-start: 22px;
}
.vz-mod .vz-tabs .tab.active { background: var(--tone-lt); border-color: var(--tone); }
.vz-mod .vz-tabs .tab.active > span:first-child::before { background: var(--tone); }
.vz-mod .vz-tabs .tab.active > span:last-child { display: block; }

.vz-frame { position: relative; min-height: 260px; }
.vz-frame .content { display: none; }
.vz-frame .content.active { display: block; animation: vz-pop .35s ease; }
.vz-frame .content img {
  width: 100%; border-radius: var(--vz-r-xl);
  border: 3px solid var(--vz-ink); box-shadow: 14px 14px 0 var(--tone);
  background: #fff;
}
@keyframes vz-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }

/* ── Steps ────────────────────────────────────────────────── */
.vz-steps {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  position: relative;
}
.vz-steps::before {
  content: ''; position: absolute; top: 44px; left: 16%; right: 16%;
  border-top: 3px dashed var(--vz-line); z-index: 0;
}
@media (max-width: 767px) { .vz-steps { grid-template-columns: 1fr; } .vz-steps::before { display: none; } }
.vz-step {
  position: relative; z-index: 1; text-align: center;
  background: #fff; border-radius: var(--vz-r-xl);
  padding: 34px 26px 30px;
  border: 2px solid var(--tone-lt); box-shadow: var(--vz-shadow);
}
.vz-step-num {
  position: absolute; top: -18px; inset-inline-end: 22px;
  width: 40px; height: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--vz-ink); color: #fff;
  font-family: var(--vz-head); font-weight: 900; font-size: 1.1rem;
}
.vz-step .vz-icon { width: 64px; height: 64px; font-size: 1.6rem; border-radius: 20px; margin-bottom: 16px; }
.vz-step h3 { font-family: var(--vz-head); font-size: 1.2rem; font-weight: 800; color: var(--vz-ink); margin-bottom: 8px; }
.vz-step p { font-size: .95rem; line-height: 1.6; margin: 0; }

/* ── About ────────────────────────────────────────────────── */
.vz-about-art { position: relative; max-width: 520px; margin: 0 auto; }
.vz-about-art::before {
  content: ''; position: absolute; inset: 6% -4% -4% 6%;
  background: var(--vz-mint); border-radius: var(--vz-r-xl); transform: rotate(3deg);
}
.vz-about-art img {
  position: relative; width: 100%; border-radius: var(--vz-r-xl);
  border: 3px solid var(--vz-ink); background: #fff;
}
.vz-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.vz-checks li {
  display: flex; align-items: flex-start; gap: 12px;
  font-weight: 600; color: var(--vz-ink); line-height: 1.5;
}
.vz-check {
  width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tone); color: #fff; font-size: .72rem;
}
.vz-checks .t-sun .vz-check { color: var(--vz-ink); }

/* ── Pricing ──────────────────────────────────────────────── */
.vz-price {
  position: relative; height: 100%;
  display: flex; flex-direction: column;
  background: #fff; border: 2px solid var(--vz-line);
  border-radius: var(--vz-r-xl); padding: 30px 28px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.vz-price:hover { transform: translateY(-6px); box-shadow: var(--vz-shadow-lg); }
.vz-price.is-featured {
  background: linear-gradient(160deg, var(--vz-violet) 0%, #8E7CF7 100%);
  border-color: var(--vz-violet); color: #fff;
  box-shadow: 0 24px 50px rgba(108,92,231,.35);
}
.vz-price-ribbon {
  position: absolute; top: -14px; inset-inline-end: 24px;
  background: var(--vz-sun); color: var(--vz-ink);
  font-size: .78rem; font-weight: 800; padding: 6px 14px; border-radius: 999px;
  box-shadow: 0 4px 0 #E0A200;
}
.vz-price-type {
  align-self: flex-start; padding: 5px 14px; border-radius: 999px;
  background: var(--tone-lt); color: var(--tone-dk);
  font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
}
.is-featured .vz-price-type { background: rgba(255,255,255,.2); color: #fff; }
.vz-price-name { font-family: var(--vz-head); font-size: 1.6rem; font-weight: 900; color: var(--vz-ink); margin: 16px 0 12px; }
.is-featured .vz-price-name { color: #fff; }
.vz-price-amount { font-family: var(--vz-head); font-size: 1.9rem; font-weight: 900; color: var(--vz-ink); margin-bottom: 6px; }
.vz-price-amount small { font-family: var(--vz-body); font-size: .8rem; font-weight: 600; color: var(--vz-muted); }
.is-featured .vz-price-amount, .is-featured .vz-price-amount small { color: #fff; }
.vz-price-meta { display: grid; gap: 8px; font-size: .92rem; font-weight: 600; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 2px dashed var(--vz-line); }
.vz-price-meta i { width: 18px; color: var(--vz-violet); }
.is-featured .vz-price-meta { border-color: rgba(255,255,255,.3); }
.is-featured .vz-price-meta i { color: var(--vz-sun); }
.vz-price-features { flex: 1; margin-bottom: 24px; }
.vz-price-list {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 9px; align-content: start;
  font-size: .9rem;
}
.vz-price-off { margin-top: 14px; }
.vz-price-off summary {
  cursor: pointer; font-size: .85rem; font-weight: 700; color: var(--vz-muted);
  list-style: none; display: inline-flex; align-items: center; gap: 6px;
}
.vz-price-off summary::-webkit-details-marker { display: none; }
.vz-price-off summary::before { content: '\25B8'; transition: transform .2s; }
.vz-price-off[open] summary::before { transform: rotate(90deg); }
.vz-price-off .vz-price-list { margin-top: 10px; }
.is-featured .vz-price-off summary { color: rgba(255,255,255,.75); }
.vz-price-list li { display: flex; gap: 10px; align-items: flex-start; }
.vz-price-list li i { color: var(--vz-mint); margin-top: 3px; }
.vz-price-list li.is-off { color: #A9A6BF; }
.vz-price-list li.is-off i { color: #D4D1E3; }
.is-featured .vz-price-list li i { color: var(--vz-sun); }
.is-featured .vz-price-list li.is-off { color: rgba(255,255,255,.5); }
.is-featured .vz-price-list li.is-off i { color: rgba(255,255,255,.35); }

/* ── Custom package banner ────────────────────────────────── */
.vz-banner {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px;
  padding: 40px 44px; border-radius: var(--vz-r-xl);
  background: linear-gradient(120deg, var(--vz-coral) 0%, var(--vz-pink) 100%);
  color: #fff;
}
.vz-banner h3 { font-family: var(--vz-head); font-size: 1.8rem; font-weight: 900; margin-bottom: 6px; }
.vz-banner p { margin: 0; color: rgba(255,255,255,.9); max-width: 620px; }
@media (max-width: 575px) { .vz-banner { padding: 30px 24px; } }

/* ── FAQ ──────────────────────────────────────────────────── */
.vz-faq .accordion-item {
  border: 2px solid var(--vz-line) !important; border-radius: var(--vz-r-lg) !important;
  margin-bottom: 12px; overflow: hidden; background: #fff;
}
.vz-faq .accordion-header { margin: 0; }
.vz-faq .accordion-button {
  font-family: var(--vz-body); font-size: 1rem; font-weight: 700; color: var(--vz-ink);
  padding: 18px 22px; background: #fff; box-shadow: none !important;
}
.vz-faq .accordion-button:not(.collapsed) { background: var(--vz-violet-lt); color: var(--vz-violet-dk); }
.vz-faq .accordion-button:focus-visible { outline: 3px solid var(--vz-sun); outline-offset: -3px; }
.vz-faq .accordion-body { padding: 4px 22px 20px; line-height: 1.7; background: var(--vz-violet-lt); }

/* ── Contact ──────────────────────────────────────────────── */
.vz-info-list { display: grid; gap: 14px; }
.vz-info {
  display: flex; align-items: center; gap: 16px;
  background: var(--tone-lt); border-radius: var(--vz-r-lg); padding: 18px 20px;
  color: var(--vz-ink) !important; transition: transform .2s;
}
a.vz-info:hover { transform: translateX(4px); }
.vz-info .vz-icon { background: var(--tone); color: #fff; }
.vz-info strong { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tone-dk); }
.vz-info span:not(.vz-icon) { font-weight: 600; word-break: break-word; }

.vz-form-card {
  background: #fff; border-radius: var(--vz-r-xl); padding: 34px;
  border: 2px solid var(--vz-line); box-shadow: var(--vz-shadow);
}
.vz-form-card h3 { font-family: var(--vz-head); font-size: 1.4rem; font-weight: 900; color: var(--vz-ink); margin-bottom: 20px; }
.vz-label { display: block; font-size: .85rem; font-weight: 700; color: var(--vz-ink); margin-bottom: 6px; }
.vz-input {
  width: 100%; padding: 13px 16px; border-radius: var(--vz-r);
  border: 2px solid var(--vz-line); background: var(--vz-cream);
  font-size: .95rem; color: var(--vz-ink); transition: border-color .2s, background .2s;
}
.vz-input:focus { outline: none; border-color: var(--vz-violet); background: #fff; }
@media (max-width: 575px) { .vz-form-card { padding: 24px 20px; } }

/* ── App download ─────────────────────────────────────────── */
.vz-app {
  position: relative; overflow: hidden;
  border-radius: var(--vz-r-xl); padding: 48px;
  background: var(--vz-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='2' cy='2' r='1.6' fill='%23ffffff' fill-opacity='.09'/%3E%3C/svg%3E");
  color: #fff;
}
.vz-app .vz-h2 { color: #fff; }
.vz-app .vz-lead { color: rgba(255,255,255,.8); }
.vz-app-img { width: 100%; max-width: 420px; display: block; margin: 0 auto; border-radius: var(--vz-r-xl); box-shadow: 12px 12px 0 var(--vz-sun); }
.vz-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.vz-stores img { height: 52px; width: auto; transition: transform .2s; }
.vz-stores a:hover img { transform: translateY(-3px); }
@media (max-width: 575px) { .vz-app { padding: 32px 22px; } }

/* ── Footer (shared partial, restyled here) ───────────────── */
.site-footer { background: var(--vz-ink) !important; color: rgba(255,255,255,.72); position: relative; }
.site-footer::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px;
  background: linear-gradient(90deg, var(--vz-violet) 0 20%, var(--vz-coral) 20% 40%, var(--vz-sun) 40% 60%, var(--vz-mint) 60% 80%, var(--vz-sky) 80% 100%);
}
.site-footer .footer-logo { border-radius: 10px; }
.site-footer .footer-brand-desc,
.site-footer .footer-nav a,
.site-footer .footer-contact-list li span { color: rgba(255,255,255,.7) !important; }
.site-footer .footer-nav a:hover { color: var(--vz-sun) !important; }
.site-footer .footer-col-title { font-family: var(--vz-head); font-size: .95rem; letter-spacing: .04em; color: #fff; }
.site-footer .footer-contact-list li i { color: var(--vz-sun); }
.site-footer .footer-social a { border-radius: 12px !important; }
.site-footer .footer-social a:nth-child(5n+1):hover { background: var(--vz-violet) !important; border-color: var(--vz-violet) !important; }
.site-footer .footer-social a:nth-child(5n+2):hover { background: var(--vz-coral) !important;  border-color: var(--vz-coral) !important; }
.site-footer .footer-social a:nth-child(5n+3):hover { background: var(--vz-mint) !important;   border-color: var(--vz-mint) !important; }
.site-footer .footer-social a:nth-child(5n+4):hover { background: var(--vz-sky) !important;    border-color: var(--vz-sky) !important; }
.site-footer .footer-social a:nth-child(5n+5):hover { background: var(--vz-pink) !important;   border-color: var(--vz-pink) !important; }
.site-footer .footer-bottom { border-top-color: rgba(255,255,255,.1) !important; }
.site-footer .footer-copy, .site-footer .footer-powered { color: rgba(255,255,255,.55) !important; }

/* ── Registration modal touch-ups ─────────────────────────── */
.modal-content { border-radius: var(--vz-r-xl) !important; border: 0 !important; }

/* ── Motion preferences ───────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media (max-width: 767px) { .vz-deco { display: none; } }

.vz-pill-orange { background: #FFEBD8; color: #C2410C; }
.vz-pill-teal   { background: #D5F4F8; color: #0B6E7F; }
.vz-pill-indigo { background: #E3E9FF; color: #2F4AC0; }
.vz-pill-lime   { background: #EAF7D6; color: #4A7A0A; }
.vz-pill-grape  { background: #F6E3FA; color: #862E9C; }
.vz-pill-cocoa  { background: #F4E6DC; color: #7A4B2F; }

/* ── Footer city links (SEO) ──────────────────────────────── */
.site-footer .footer-locations {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px;
  margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1);
  font-size: .88rem;
}
.site-footer .footer-locations span { color: #fff; font-weight: 700; }
.site-footer .footer-locations a { color: rgba(255,255,255,.7) !important; text-decoration: none; }
.site-footer .footer-locations a:hover { color: var(--vz-sun) !important; }

/* ── SEO landing pages ────────────────────────────────────── */
.vz-crumbs { font-size: .88rem; color: var(--vz-muted); margin-bottom: 18px; }
.vz-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; }
.vz-crumbs li + li::before { content: '›'; margin-inline-end: 6px; }
.vz-crumbs a { color: var(--vz-violet-dk); text-decoration: none; }
.vz-seo-hero { padding: 140px 0 64px; background: var(--vz-cream); }
.vz-seo-hero .vz-hero-title { font-size: clamp(2rem, 4.2vw, 3.1rem); }
.vz-seo-hero p { font-size: 1.08rem; line-height: 1.75; color: var(--vz-ink-2); max-width: 760px; }
.vz-seo-card {
  height: 100%; background: #fff; border-radius: var(--vz-r-lg); padding: 24px;
  box-shadow: var(--vz-shadow); border: 2px solid transparent;
}
.vz-seo-card .vz-icon {
  width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--tone-lt); color: var(--tone-dk); font-size: 1.2rem; margin-bottom: 14px;
}
.vz-seo-card h3 { font-size: 1.08rem; font-weight: 800; color: var(--vz-ink); margin-bottom: 8px; }
.vz-seo-card p { margin: 0; color: var(--vz-ink-2); line-height: 1.6; }
.vz-seo-related { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.vz-seo-related a {
  padding: 10px 18px; border-radius: 999px; background: #fff; border: 2px solid var(--vz-line);
  color: var(--vz-ink); font-weight: 600; text-decoration: none;
}
.vz-seo-related a:hover { border-color: var(--vz-violet); color: var(--vz-violet-dk); }
@media (max-width: 767px) { .vz-seo-hero { padding: 110px 0 48px; } }
