/* ============================================================
   VANSURE — MASTER CSS v7
   PART 1/3
   Includes:
   - Fonts
   - Tokens
   - Global/base
   - Nav
   - Buttons
   - Scroll reveal
   - LOCKED HERO SYSTEM (favorite inject hero)
============================================================ */

/* ── FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ── TOKENS ── */
:root {
  --vs-teal:        #00A59D;
  --vs-teal-dark:   #0F9D94;
  --vs-navy:        #20334C;
  --vs-bg:          #F5F7FB;
  --vs-text:        #122033;
  --vs-body:        #4B5563;
  --vs-muted:       #6F7A8C;
  --vs-line:        rgba(32,51,76,.10);
  --vs-shadow:      0 20px 50px rgba(10,31,53,.10);
  --vs-shadow-soft: 0 4px 24px rgba(0,0,0,.06);
  --vs-shadow-card: 0 2px 12px rgba(0,0,0,.05);
  --vs-ease:        cubic-bezier(.25,.46,.45,.94);
  --vs-r-xl:        32px;
  --vs-r-lg:        24px;
  --vs-r-md:        16px;
}

[class^="vs-"],
[class*=" vs-"] {
  box-sizing: border-box;
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.vs-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ============================================================
   NAV
============================================================ */
.vs-nav-wrapper,
.vs-nav-wrapper * {
  font-family: "Poppins", system-ui, sans-serif;
}

.vs-nav a,
.vs-nav a:visited {
  color: inherit;
  text-decoration: none;
}

.vs-nav-wrapper {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid rgba(15,27,53,.08);
  transition: box-shadow .25s var(--vs-ease);
}

.vs-nav-wrapper.is-scrolled {
  box-shadow: 0 2px 20px rgba(0,0,0,.08);
  border-bottom-color: transparent;
}

.vs-nav {
  max-width: 1140px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.vs-nav-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vs-nav-logo {
  height: 45px;
  width: auto;
  display: block;
}

.vs-nav-center {
  display: flex;
  align-items: center;
  gap: 34px;
}

.vs-nav-link {
  font-size: 15px;
  font-weight: 500;
  color: var(--vs-muted);
  position: relative;
  padding: 6px 2px;
  cursor: pointer;
  transition: color .2s ease;
  display: inline-block;
}

.vs-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0%;
  height: 2px;
  background: var(--vs-teal);
  border-radius: 999px;
  transition: width .2s ease;
}

.vs-nav-center a:hover .vs-nav-link,
.vs-nav-center a.w--current .vs-nav-link {
  color: var(--vs-navy);
}

.vs-nav-center a:hover .vs-nav-link::after,
.vs-nav-center a.w--current .vs-nav-link::after {
  width: 100%;
}

.vs-nav-right {
  display: flex;
  align-items: center;
}

.vs-nav .vs-btn {
  padding: 10px 20px;
  font-size: .9rem;
}

/* Kill Webflow dropdown — mega menu replaces it */
.vs-nav-center .w-dropdown,
.vs-nav-center .w-dropdown-toggle,
.vs-nav-center .w-dropdown-list {
  display: none !important;
}

.vs-dropdown-link {
  position: relative;
  display: block;
  padding: 12px 18px 12px 24px;
  font-size: .88rem;
  font-weight: 500;
  color: var(--vs-navy);
  text-decoration: none;
  transition: background .15s ease;
  border-radius: 8px;
}

.vs-dropdown-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--vs-teal);
  opacity: 0;
  border-radius: 0 4px 4px 0;
  transition: opacity .15s ease;
}

.vs-dropdown-link:hover {
  background: var(--vs-bg);
}

.vs-dropdown-link:hover::before {
  opacity: 1;
}

/* ============================================================
   BUTTONS
============================================================ */
.vs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 13px 28px;
  font-family: "Poppins", sans-serif;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  transition:
    background .18s ease,
    color .18s ease,
    transform .15s ease,
    box-shadow .18s ease,
    border-color .18s ease;
  white-space: nowrap;
}

.vs-btn-primary {
  background: var(--vs-teal) !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,165,157,.26);
}

.vs-btn-primary:hover {
  background: var(--vs-navy) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(32,51,76,.28);
}

.vs-btn-primary-light {
  background: #fff !important;
  color: var(--vs-teal) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}

.vs-btn-primary-light:hover {
  background: var(--vs-navy) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(32,51,76,.28);
}

.vs-btn-secondary {
  background: #fff !important;
  color: var(--vs-teal-dark) !important;
  border: 1.5px solid var(--vs-teal) !important;
}

.vs-btn-secondary:hover {
  background: var(--vs-navy) !important;
  color: #fff !important;
  border-color: var(--vs-navy) !important;
  transform: translateY(-2px);
}

.vs-btn-ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.5) !important;
}

.vs-btn-ghost:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: #fff !important;
  transform: translateY(-1px);
}

/* ============================================================
   SCROLL REVEAL
============================================================ */
.vs-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s var(--vs-ease), transform .6s var(--vs-ease);
}

.vs-reveal.vs-from-left {
  transform: translateX(-28px);
}

.vs-reveal.vs-from-right {
  transform: translateX(28px);
}

.vs-reveal.vs-visible {
  opacity: 1;
  transform: none;
}

/* ============================================================
   HERO — LOCKED VANSURE HERO SYSTEM
   Favorite inject hero
============================================================ */
.vs-hero-v2,
.vs-page-hero,
.vs-about-hero,
.vs-contact-hero,
.vs-faq-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top right, #1ad7cb 0%, #00a59d 35%, #0f8e89 62%, #20334c 100%);
  color: #fff;
  border-radius: 0 0 40px 40px;
}

.vs-hero-v2::before,
.vs-page-hero::before,
.vs-about-hero::before,
.vs-contact-hero::before,
.vs-faq-hero::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  top: -90px;
  right: -80px;
  pointer-events: none;
}

.vs-hero-v2::after,
.vs-page-hero::after,
.vs-about-hero::after,
.vs-contact-hero::after,
.vs-faq-hero::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  bottom: -80px;
  left: -70px;
  pointer-events: none;
}

/* ── HOMEPAGE HERO ── */
.vs-hero-inner-new {
  position: relative;
  z-index: 2;
  max-width: 1140px;
  margin: 0 auto;
  padding: 76px 20px 92px;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.95fr);
  gap: 38px;
  align-items: center;
}

.vs-hero-copy {
  position: relative;
  z-index: 5;
  min-width: 0;
}

.vs-hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  min-width: 0;
}

/* ── PRODUCT PAGE HERO ── */
.vs-page-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1140px;
  margin: 0 auto;
  padding: 76px 20px 92px;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.95fr);
  gap: 38px;
  align-items: center;
}

/* ── ABOUT / CONTACT / FAQ HERO ── */
.vs-about-hero-inner,
.vs-contact-hero-inner,
.vs-faq-hero-inner {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
  padding: 76px 20px 92px;
  text-align: center;
}

/* ── BADGES ── */
.vs-hero-badge,
.vs-page-hero-badge,
.vs-about-hero-badge,
.vs-contact-hero-badge,
.vs-faq-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6,27,37,.18);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vs-hero-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dffef8;
  box-shadow: 0 0 0 6px rgba(255,255,255,.12);
}

/* ── HERO HEADINGS ── */
.vs-hero-title,
.vs-page-hero h1,
.vs-about-hero h1,
.vs-contact-hero h1,
.vs-faq-hero h1 {
  font-size: clamp(40px,5vw,60px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  margin: 18px 0 16px !important;
  color: #fff !important;
  max-width: 700px;
}

.vs-about-hero h1,
.vs-contact-hero h1,
.vs-faq-hero h1 {
  max-width: none;
}

.vs-hero-subtitle,
.vs-page-hero-sub,
.vs-about-hero p,
.vs-contact-hero p,
.vs-faq-hero p {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,.88) !important;
  max-width: 590px !important;
  margin: 0 !important;
}

.vs-about-hero p,
.vs-contact-hero p,
.vs-faq-hero p {
  margin: 0 auto !important;
}

/* ── HERO CTAs ── */
.vs-hero-ctas,
.vs-page-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

/* ── HERO CHECKLIST ── */
.vs-hero-list,
.vs-page-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
}

.vs-hero-list-item,
.vs-page-hero-points li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}

.vs-hero-list-icon,
.vs-page-hero-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.35);
  font-size: 12px;
  background: transparent;
  flex-shrink: 0;
}

/* ── HOMEPAGE HERO CARD ── */
.vs-hero-card {
  width: 100%;
  max-width: 380px;
  border-radius: var(--vs-r-xl);
  background: #fff;
  padding: 22px 22px 24px;
  box-shadow: var(--vs-shadow);
  color: var(--vs-text);
  transition: transform .3s var(--vs-ease), box-shadow .3s var(--vs-ease);
}

.vs-hero-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 60px rgba(7,27,53,.18);
}

.vs-hero-photo {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--vs-bg);
  min-height: 200px;
}

.vs-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.vs-hero-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: 10px;
}

.vs-tag-pill {
  padding: .15rem .55rem;
  font-size: .7rem;
  border-radius: 999px;
  background: rgba(0,165,157,.09);
  color: var(--vs-teal-dark);
  font-weight: 500;
  white-space: nowrap;
}

.vs-hero-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .4rem;
}

.vs-hero-card-title {
  font-size: .95rem;
  font-weight: 600;
  color: var(--vs-navy);
}

.vs-hero-card-tag {
  font-size: .7rem;
  padding: .18rem .6rem;
  border-radius: 999px;
  background: rgba(5,166,125,.09);
  color: #047b63;
  white-space: nowrap;
  font-weight: 500;
}

.vs-hero-card-meta {
  font-size: .78rem;
  color: var(--vs-muted);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.vs-hero-progress {
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: #eef2f7;
  overflow: hidden;
}

.vs-hero-progress-fill {
  height: 100%;
  width: 74%;
  background: linear-gradient(90deg,#2ee1b3,#00a59d);
  animation: vsProgressIn 1.1s .7s var(--vs-ease) both;
}

@keyframes vsProgressIn {
  from { width: 0% }
  to { width: 74% }
}

/* ── PRODUCT PAGE HERO CARD ── */
.vs-page-hero-card-wrap {
  position: relative;
  display: flex;
  justify-content: center;
}

.vs-page-hero-card {
  width: 100%;
  max-width: 410px;
  background: #fff;
  color: var(--vs-text);
  border-radius: 32px;
  box-shadow: var(--vs-shadow);
  padding: 22px;
  position: relative;
  z-index: 2;
}

.vs-page-hero-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.vs-page-hero-card-kicker {
  font-size: 13px;
  font-weight: 600;
  color: var(--vs-teal);
  margin-bottom: 4px;
}

.vs-page-hero-card-title {
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0;
}

.vs-page-hero-card-pill {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  color: #047b63;
  background: rgba(0,165,157,.10);
  padding: 7px 10px;
  border-radius: 999px;
}

.vs-page-hero-card-box {
  background: linear-gradient(135deg,#f7fbff 0%, #edf8f7 100%);
  border: 1px solid rgba(0,165,157,.10);
  border-radius: 24px;
  padding: 18px;
  margin-bottom: 14px;
}

.vs-page-hero-price {
  font-size: 36px;
  line-height: 1;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 10px;
}

.vs-page-hero-price span {
  font-size: 16px;
  color: var(--vs-navy);
  font-weight: 600;
  opacity: .72;
}

.vs-page-hero-card-copy {
  font-size: 14px;
  line-height: 1.65;
  color: var(--vs-navy);
  opacity: .72;
  margin: 6px 0 0;
}

.vs-page-hero-meta {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 16px;
}

.vs-page-hero-meta-item {
  background: #f8fafc;
  border: 1px solid rgba(32,51,76,.08);
  border-radius: 18px;
  padding: 12px;
}

.vs-page-hero-meta-label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--vs-muted);
  margin-bottom: 6px;
}

.vs-page-hero-meta-value {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--vs-navy);
}

.vs-page-hero-chip-stack {
  position: absolute;
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 3;
}

.vs-page-hero-chip {
  background: rgba(8,37,54,.92);
  color: #f1fbff;
  border-radius: 18px;
  padding: 11px 14px;
  font-size: 12px;
  line-height: 1.45;
  max-width: 220px;
  box-shadow: 0 14px 28px rgba(3,18,29,.45);
}

/* ── LOAD ANIMATIONS ── */
.vs-hero-badge,
.vs-page-hero-badge,
.vs-about-hero-badge,
.vs-contact-hero-badge,
.vs-faq-hero-badge {
  animation: vsSlideUp .6s var(--vs-ease) both;
}

.vs-hero-title,
.vs-page-hero h1,
.vs-about-hero h1,
.vs-contact-hero h1,
.vs-faq-hero h1 {
  animation: vsSlideUp .65s .08s var(--vs-ease) both;
}

.vs-hero-subtitle,
.vs-page-hero-sub,
.vs-about-hero p,
.vs-contact-hero p,
.vs-faq-hero p {
  animation: vsSlideUp .65s .16s var(--vs-ease) both;
}

.vs-hero-ctas,
.vs-page-hero-actions {
  animation: vsSlideUp .65s .24s var(--vs-ease) both;
}

.vs-hero-list,
.vs-page-hero-points {
  animation: vsSlideUp .65s .32s var(--vs-ease) both;
}

.vs-hero-visual,
.vs-page-hero-card-wrap {
  animation: vsCardIn .75s .18s var(--vs-ease) both;
}

@keyframes vsSlideUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes vsCardIn {
  from { opacity: 0; transform: translateY(24px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes vsFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ============================================================
   RESPONSIVE HERO + NAV MOBILE
============================================================ */
@media (max-width:991px) {
  .vs-hero-inner-new {
    grid-template-columns: 1fr;
    padding: 60px 20px 72px;
  }

  .vs-hero-visual {
    display: none;
  }

  .vs-page-hero-inner {
    grid-template-columns: 1fr;
    padding: 60px 20px 80px;
  }

  .vs-page-hero-chip-stack {
    display: none;
  }
}

@media (max-width:767px) {
  .vs-hero-v2,
  .vs-page-hero,
  .vs-about-hero,
  .vs-contact-hero,
  .vs-faq-hero {
    border-radius: 0 0 30px 30px;
  }

  .vs-hero-inner-new,
  .vs-page-hero-inner,
  .vs-about-hero-inner,
  .vs-contact-hero-inner,
  .vs-faq-hero-inner {
    padding: 58px 20px 82px;
  }

  .vs-hero-inner-new {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 0 !important;
  }

  .vs-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .vs-hero-title,
  .vs-page-hero h1,
  .vs-about-hero h1,
  .vs-contact-hero h1,
  .vs-faq-hero h1 {
    font-size: 40px !important;
    word-break: break-word !important;
  }

  .vs-hero-subtitle,
  .vs-page-hero-sub,
  .vs-about-hero p,
  .vs-contact-hero p,
  .vs-faq-hero p {
    font-size: .93rem !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .vs-hero-ctas,
  .vs-page-hero-actions {
    justify-content: center;
  }

  .vs-hero-list,
  .vs-page-hero-points {
    justify-content: center;
  }

  .vs-hero-badge,
  .vs-page-hero-badge,
  .vs-about-hero-badge,
  .vs-contact-hero-badge,
  .vs-faq-hero-badge {
    font-size: .65rem !important;
    white-space: normal !important;
  }

  .vs-hero-visual,
  .vs-page-hero-card-wrap {
    display: none !important;
  }

  .vs-page-hero-inner,
  .vs-about-hero-inner,
  .vs-contact-hero-inner,
  .vs-faq-hero-inner {
    text-align: center;
  }
}

@media (max-width:480px) {
  .vs-hero-title,
  .vs-page-hero h1,
  .vs-about-hero h1,
  .vs-contact-hero h1,
  .vs-faq-hero h1 {
    font-size: 1.75rem !important;
  }
}

@media (max-width:900px) {
  .vs-nav {
    flex-wrap: wrap;
    padding: 14px 18px;
  }

  .vs-nav-logo {
    height: 40px;
  }

  .vs-nav-center,
  .vs-nav-right {
    display: none;
    width: 100%;
  }

  #vsNav.vs-nav-menu-open .vs-nav-center,
  #vsNav.vs-nav-menu-open .vs-nav-right {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(15,27,53,.08);
    gap: 0;
  }

  #vsNav.vs-nav-menu-open .vs-nav-center > a {
    display: block;
    width: 100%;
    padding: 14px 0;
  }

  #vsNav.vs-nav-menu-open .vs-nav-link {
    display: block;
    width: 100%;
    font-size: 16px;
    text-align: left !important;
    padding: 0;
  }
}
/* ============================================================
   VANSURE — MASTER CSS v7
   PART 2/3
   Includes:
   - Trust strip / logos
   - Section base
   - Homepage product cards
   - Homepage why section
   - Homepage feature split
   - Product page coverage / eligibility / why / steps
   - FAQ systems
   - CTA sections
============================================================ */

/* ============================================================
   TRUST STRIP — homepage logos
============================================================ */
.vs-trust-logos {
  background: #fff;
  border-top: 1px solid #E8ECF2;
  border-bottom: 1px solid #E8ECF2;
  padding: 28px 0;
  overflow: hidden;
}

.vs-trust-logos-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}

.trust-line {
  display: block;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--vs-muted);
  margin-bottom: 20px;
}

.vs-trust-logos-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px 48px;
}

.vs-trust-logo {
  width: 110px !important;
  height: auto !important;
  max-height: 36px !important;
  object-fit: contain;
  display: block;
  filter: grayscale(.5);
  opacity: .72;
  transition: filter .22s ease, opacity .22s ease, transform .22s ease;
}

.vs-trust-logo:hover {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.05);
}

/* ── TRUST CARD — product pages ── */
.vs-trust-strip {
  position: relative;
  z-index: 3;
  margin-top: -36px;
}

.vs-trust-card {
  background: linear-gradient(120deg,#fff,#f8fbff);
  border-radius: 28px;
  box-shadow: 0 18px 45px rgba(4,34,54,.15);
  padding: 24px;
  border: 1px solid rgba(255,255,255,.9);
}

.vs-trust-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}

.vs-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px;
}

.vs-trust-icon {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background: rgba(0,165,157,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  font-size: 12px;
  font-weight: 700;
  margin-top: 2px;
}

.vs-trust-item strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--vs-navy);
  margin-bottom: 3px;
  line-height: 1.3;
}

.vs-trust-item span {
  display: block;
  font-size: 13px;
  line-height: 1.55;
  color: var(--vs-muted);
}

/* ============================================================
   SECTION BASE + HEADINGS
============================================================ */
.vs-section {
  padding: 96px 0;
}

.vs-section-alt {
  background: var(--vs-bg);
}

.vs-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  margin-bottom: 12px;
}

.vs-section-title {
  font-size: clamp(28px,3vw,40px);
  line-height: 1.15;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 14px;
}

.vs-section-text {
  font-size: 16px;
  line-height: 1.72;
  color: var(--vs-muted);
  margin: 0;
  max-width: 680px;
}

/* ============================================================
   HOMEPAGE — PRODUCT CARDS
============================================================ */
.vs-products-section {
  padding: 96px 0;
  background: var(--vs-bg);
}

.vs-products-header {
  margin-bottom: 36px;
}

.vs-products-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 10px;
}

.vs-products-title {
  font-size: clamp(26px,3vw,36px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--vs-navy);
  margin: 0 0 10px;
}

.vs-products-sub {
  font-size: 16px;
  line-height: 1.7;
  color: var(--vs-body);
  max-width: 540px;
  margin: 0;
}

.vs-product-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-top: 32px;
}

/* PRODUCT CARD LINK RESET */
.vs-product-grid a,
.vs-product-grid a:link,
.vs-product-grid a:visited,
.vs-product-grid a:hover,
.vs-product-grid a:active,
.vs-product-grid a:focus {
  text-decoration: none !important;
}

a.vs-product-card,
a.vs-product-card:link,
a.vs-product-card:visited,
a.vs-product-card:hover,
a.vs-product-card:active,
a.vs-product-card:focus {
  color: inherit !important;
  text-decoration: none !important;
}

.vs-product-card {
  background: #fff;
  border-radius: var(--vs-r-lg);
  padding: 24px 22px 26px;
  border: 1.5px solid rgba(32,51,76,.08);
  box-shadow: var(--vs-shadow-card);
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  transform: translateY(24px);
  transition:
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .18s ease;
}

.vs-product-card.vs-visible {
  opacity: 1;
  transform: translateY(0);
}

.vs-product-card:nth-child(1){transition-delay:.05s}
.vs-product-card:nth-child(2){transition-delay:.13s}
.vs-product-card:nth-child(3){transition-delay:.21s}
.vs-product-card:nth-child(4){transition-delay:.29s}
.vs-product-card:nth-child(5){transition-delay:.37s}
.vs-product-card:nth-child(6){transition-delay:.45s}

.vs-product-card:hover {
  background: #fff;
  border-color: rgba(0,165,157,.24);
  box-shadow: 0 16px 36px rgba(0,165,157,.12);
  transform: translateY(-5px) !important;
}

.vs-product-icon {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 12px;
  transition: transform .18s ease;
}

.vs-product-card:hover .vs-product-icon {
  transform: scale(1.05);
}

.vs-product-icon img {
  width: 58%;
  height: 58%;
  object-fit: contain;
  display: block;
}

.vs-product-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vs-navy) !important;
  transition: color .2s ease;
}

.vs-product-card:hover .vs-product-title {
  color: var(--vs-teal-dark) !important;
}

.vs-product-text {
  font-size: 13px;
  color: var(--vs-body);
  line-height: 1.6;
  transition: color .2s ease;
}

.vs-product-card:hover .vs-product-text {
  color: var(--vs-text);
}

.vs-product-link,
.vs-product-link:link,
.vs-product-link:visited {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--vs-teal) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap .18s ease, color .2s ease;
}

.vs-product-card:hover .vs-product-link {
  color: var(--vs-teal-dark) !important;
  gap: 9px;
}

/* ============================================================
   HOMEPAGE — WHY VANSURE
============================================================ */
.vs-why-section {
  padding: 96px 0;
  background: #fff;
}

.vs-why-header {
  margin-bottom: 48px;
}

.vs-why-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 10px;
}

.vs-why-title {
  font-size: clamp(26px,3vw,36px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--vs-navy);
  max-width: 600px;
  margin: 0;
}

.vs-why-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin-top: 48px;
  align-items: stretch;
}

.vs-why-item {
  background: #fff;
  border-radius: var(--vs-r-lg);
  padding: 28px 24px;
  border: 1.5px solid var(--vs-line);
  border-top: 3px solid transparent;
  box-shadow: var(--vs-shadow-card);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition:
    border-color .25s ease,
    border-top-color .25s ease,
    box-shadow .25s ease,
    transform .22s var(--vs-ease);
}

.vs-why-item:hover {
  border-color: rgba(0,165,157,.2);
  border-top-color: var(--vs-teal);
  box-shadow: 0 12px 40px rgba(0,165,157,.14);
  transform: translateY(-4px);
}

.vs-why-item:nth-child(1){transition-delay:.04s}
.vs-why-item:nth-child(2){transition-delay:.12s}
.vs-why-item:nth-child(3){transition-delay:.20s}

.why-icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(0,165,157,.08);
  border: 1px solid rgba(0,165,157,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 14px;
  flex-shrink: 0;
  transition: background .22s ease, transform .22s ease;
}

.vs-why-item:hover .why-icon {
  background: rgba(0,165,157,.16);
  transform: scale(1.08);
}

.why-icon img {
  width: 52%;
  height: 52%;
  object-fit: contain;
  display: block;
}

.why-icon svg {
  width: 22px;
  height: 22px;
  color: var(--vs-teal);
}

.vs-why-item-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 4px;
  transition: color .2s ease;
}

.vs-why-item:hover .vs-why-item-title {
  color: var(--vs-teal-dark);
}

.vs-why-item-text {
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--vs-body);
  margin: 0;
}

/* ============================================================
   HOMEPAGE — FEATURE SPLIT
============================================================ */
.vs-feature-split {
  padding: 96px 0;
  background: var(--vs-bg);
}

.vs-feature-grid {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.vs-feature-content {
  max-width: 520px;
}

.vs-feature-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 10px;
}

.vs-feature-content h2 {
  font-size: clamp(24px,2.8vw,34px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--vs-navy);
  margin: 0 0 14px;
}

.vs-feature-content > p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--vs-body);
  margin: 0 0 28px;
}

.vs-feature-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.vs-feature-list-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.vs-feature-check {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--vs-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  transition: transform .18s ease;
}

.vs-feature-list-item:hover .vs-feature-check {
  transform: scale(1.1);
}

.vs-feature-check img {
  width: 12px;
  height: 12px;
}

.vs-feature-list-text strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--vs-navy);
  margin-bottom: 3px;
}

.vs-feature-list-text span {
  font-size: .83rem;
  color: var(--vs-body);
  line-height: 1.6;
}

.vs-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.vs-feature-visual {
  position: relative;
}

.vs-feature-card {
  background: #fff;
  border-radius: var(--vs-r-xl);
  padding: 28px;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  transition: box-shadow .3s ease, transform .25s var(--vs-ease);
}

.vs-feature-card:hover {
  box-shadow: 0 12px 40px rgba(0,165,157,.14);
  transform: translateY(-3px);
}

.vs-feature-card-kicker {
  font-size: 13px;
  font-weight: 600;
  color: var(--vs-navy);
  margin-bottom: 6px;
}

.vs-feature-card-number {
  font-size: 22px;
  font-weight: 700;
  color: var(--vs-navy);
  margin-bottom: 4px;
}

.vs-feature-bars {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 14px;
}

.vs-feature-bar-wrap {
  width: 100%;
  height: 7px;
  background: #eaf3f2;
  border-radius: 999px;
  overflow: hidden;
}

.vs-feature-bar {
  height: 100%;
  background: var(--vs-teal);
  border-radius: 999px;
}

.vs-feature-bar.is-100{width:100%}
.vs-feature-bar.is-80{width:80%}
.vs-feature-bar.is-60{width:60%}

/* ============================================================
   PRODUCT PAGES — COVERAGE, ELIGIBILITY, WHY, STEPS
============================================================ */
.vs-coverage-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 18px;
  margin-top: 34px;
}

.vs-coverage-card {
  background: #fff;
  border: 1px solid rgba(32,51,76,.08);
  border-radius: var(--vs-r-lg);
  padding: 24px;
  box-shadow: var(--vs-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease;
}

.vs-coverage-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px rgba(10,31,53,.10);
}

.vs-coverage-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(0,165,157,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  margin-bottom: 16px;
}

.vs-coverage-card h3 {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--vs-navy);
  margin: 0 0 8px;
}

.vs-coverage-card p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--vs-muted);
  margin: 0;
}

/* Eligibility */
.vs-eligibility-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 20px;
  margin-top: 34px;
}

.vs-eligibility-card {
  background: #fff;
  border-radius: var(--vs-r-lg);
  padding: 28px;
  border: 1px solid rgba(32,51,76,.08);
  box-shadow: var(--vs-shadow-soft);
}

.vs-eligibility-card h3 {
  font-size: 20px;
  line-height: 1.3;
  color: var(--vs-navy);
  margin: 0 0 16px;
  font-weight: 600;
}

.vs-eligibility-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vs-eligibility-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--vs-text);
}

.vs-eligibility-mark {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: rgba(0,165,157,.12);
  color: var(--vs-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}

.vs-eligibility-note {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f6fbfa;
  border: 1px solid rgba(0,165,157,.12);
  font-size: 13px;
  line-height: 1.65;
  color: var(--vs-muted);
}

/* Why cards (product pages) */
.vs-why-cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 34px;
}

.vs-why-card {
  background: #fff;
  border: 1px solid rgba(32,51,76,.08);
  border-radius: var(--vs-r-lg);
  padding: 24px;
  box-shadow: var(--vs-shadow-soft);
}

.vs-why-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(0,165,157,.10);
  color: var(--vs-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.vs-why-card h3 {
  font-size: 17px;
  line-height: 1.3;
  color: var(--vs-navy);
  margin: 0 0 8px;
  font-weight: 600;
}

.vs-why-card p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--vs-muted);
  margin: 0;
}

/* Steps */
.vs-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
  margin-top: 34px;
}

.vs-step {
  background: #fff;
  border: 1px solid rgba(32,51,76,.08);
  border-radius: var(--vs-r-lg);
  padding: 24px;
  box-shadow: var(--vs-shadow-soft);
}

.vs-step-number {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--vs-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.vs-step h3 {
  font-size: 17px;
  line-height: 1.3;
  color: var(--vs-navy);
  margin: 0 0 8px;
  font-weight: 600;
}

.vs-step p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--vs-muted);
  margin: 0;
}

/* ============================================================
   FAQ — product page (2-col sticky)
============================================================ */
.vs-faq-section {
  padding: 96px 0;
  background: #fff;
}

.vs-faq-wrap {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 48px;
  align-items: start;
  margin-top: 24px;
}

.vs-faq-sticky {
  position: sticky;
  top: 120px;
}

.vs-faq-list-wrap {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--vs-line);
}

.vs-faq-list-item {
  border-bottom: 1px solid var(--vs-line);
  padding: 22px 0;
}

.vs-faq-list-btn {
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
}

.vs-faq-list-btn span {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--vs-navy);
  transition: color .18s ease;
}

.vs-faq-list-btn:hover span {
  color: var(--vs-teal-dark);
}

.vs-faq-list-icon {
  width: 26px;
  height: 26px;
  min-width: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  transition: transform .22s ease;
  font-size: 20px;
  line-height: 1;
}

.vs-faq-list-item.is-open .vs-faq-list-icon {
  transform: rotate(45deg);
}

.vs-faq-list-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .28s ease;
}

.vs-faq-list-answer p {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--vs-muted);
}

/* ── HOMEPAGE + existing FAQ page classes (preserved) ── */
.vs-faq-left,
.vs-faq-topics {
  display: none !important;
}

.vs-faq-group {
  display: block !important;
}

.vs-faq-inner {
  max-width: 760px;
  margin: 0 auto;
  display: block;
}

.vs-faq-right {
  width: 100%;
}

.vs-faq-title {
  font-size: clamp(26px,3vw,36px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--vs-navy);
  margin: 0 0 40px;
}

.vs-faq-item {
  padding: 24px 0;
  border-top: 1px solid var(--vs-line);
}

.vs-faq-item:last-child {
  border-bottom: 1px solid var(--vs-line);
}

.vs-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
}

.vs-faq-qtext {
  font-size: clamp(16px,1.8vw,20px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--vs-navy);
  margin: 0;
  transition: color .18s ease;
}

.vs-faq-item:hover .vs-faq-qtext {
  color: var(--vs-teal-dark);
}

.vs-faq-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  flex-shrink: 0;
  transition: transform .32s var(--vs-ease);
}

.vs-faq-item.is-open .vs-faq-icon {
  transform: rotate(180deg);
}

.vs-faq-chevron {
  width: 20px;
  height: 20px;
  display: block;
}

.vs-faq-answer {
  height: 0;
  overflow: hidden;
  transition: height .36s var(--vs-ease);
}

.vs-faq-atext {
  font-size: 15px;
  line-height: 1.75;
  color: var(--vs-body);
  margin: 14px 0 4px;
  padding: 0;
  max-width: none;
}

/* ── FAQ PAGE (full tabbed) ── */
.vs-faq-main {
  padding: 56px 24px 96px;
}

.vs-faq-container {
  max-width: 980px;
  margin: 0 auto;
}

.vs-faq-cats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.vs-faq-cat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid var(--vs-line);
  background: #fff;
  font-family: "Poppins", sans-serif;
  font-size: .78rem;
  font-weight: 600;
  color: var(--vs-muted);
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
  box-shadow: var(--vs-shadow-card);
}

.vs-faq-cat:hover {
  border-color: var(--vs-teal);
  color: var(--vs-teal);
}

.vs-faq-cat.is-active {
  background: var(--vs-navy);
  color: #fff;
  border-color: var(--vs-navy);
  box-shadow: 0 4px 14px rgba(32,51,76,.2);
}

.vs-faq-tabs-outer {
  background: #fff;
  border-radius: var(--vs-r-xl);
  border: 1.5px solid rgba(0,0,0,.05);
  box-shadow: var(--vs-shadow-card);
  overflow: hidden;
  margin-bottom: 28px;
}

.vs-faq-tabs-scroll {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  border-bottom: 1px solid var(--vs-line);
  padding: 6px 6px 0;
  gap: 2px;
}

.vs-faq-tabs-scroll::-webkit-scrollbar {
  display: none;
}

.vs-faq-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 11px 18px;
  border: none;
  background: transparent;
  font-family: "Poppins", sans-serif;
  font-size: .8rem;
  font-weight: 600;
  color: var(--vs-muted);
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -1px;
  transition: color .2s, border-color .2s;
  flex-shrink: 0;
}

.vs-faq-tab:hover {
  color: var(--vs-navy);
}

.vs-faq-tab.is-active {
  color: var(--vs-teal-dark);
  border-bottom-color: var(--vs-teal);
}

.vs-faq-tab svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.vs-faq-tab-count {
  font-size: .62rem;
  background: rgba(0,165,157,.1);
  color: var(--vs-teal);
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 700;
}

.vs-faq-panels {
  padding: 28px 28px 32px;
}

.vs-faq-panel {
  display: none;
}

.vs-faq-panel.is-active {
  display: block;
}

.vs-faq-group-label {
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vs-teal);
  margin: 28px 0 12px;
  display: block;
}

.vs-faq-group-label:first-child {
  margin-top: 0;
}

.vs-faq-item {
  border-radius: var(--vs-r-md);
  border: 1.5px solid rgba(0,0,0,.06);
  margin-bottom: 8px;
  background: #fff;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}

.vs-faq-item:hover {
  border-color: rgba(0,165,157,.2);
}

.vs-faq-item.is-open {
  border-color: rgba(0,165,157,.3);
  box-shadow: 0 4px 20px rgba(0,165,157,.10);
}

.vs-faq-qtext {
  font-size: .92rem !important;
  font-weight: 600 !important;
  color: var(--vs-navy) !important;
  line-height: 1.4 !important;
}

.vs-faq-item.is-open .vs-faq-qtext {
  color: var(--vs-teal-dark) !important;
}

.vs-faq-icon {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--vs-bg);
  border: 1.5px solid var(--vs-line);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .32s var(--vs-ease), background .2s, border-color .2s;
  color: var(--vs-teal);
}

.vs-faq-item.is-open .vs-faq-icon {
  transform: rotate(180deg);
  background: rgba(0,165,157,.08);
  border-color: rgba(0,165,157,.3);
}

.vs-faq-atext {
  font-size: .88rem !important;
  line-height: 1.8 !important;
  color: var(--vs-body) !important;
  padding: 14px 22px 18px !important;
  border-top: 1px solid rgba(0,0,0,.05);
}

.vs-faq-atext a {
  color: var(--vs-teal);
  text-decoration: none;
  font-weight: 500;
}

.vs-faq-atext a:hover {
  text-decoration: underline;
}

.vs-faq-atext strong {
  color: var(--vs-navy);
  font-weight: 600;
}

.vs-faq-search-results {
  display: none;
}

.vs-faq-search-results-label {
  font-size: .75rem;
  font-weight: 600;
  color: var(--vs-muted);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 20px;
  display: block;
}

.vs-faq-no-results {
  text-align: center;
  padding: 60px 24px;
  display: none;
}

.vs-faq-no-results-icon {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(0,165,157,.08);
  border: 1px solid rgba(0,165,157,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

.vs-faq-no-results h3 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--vs-navy) !important;
  margin: 0 0 8px !important;
  font-family: "Poppins", sans-serif !important;
}

.vs-faq-no-results p {
  font-size: .9rem !important;
  color: var(--vs-body) !important;
  font-family: "Poppins", sans-serif !important;
}

mark.vs-hl {
  background: rgba(0,165,157,.15);
  color: var(--vs-teal-dark);
  border-radius: 3px;
  padding: 0 2px;
  font-weight: 600;
  font-style: normal;
}

/* ============================================================
   PRE-FOOTER CTA + PRODUCT CTA
============================================================ */
.vs-cta-prefooter {
  background: var(--vs-navy) !important;
  padding: 96px 24px !important;
}

.vs-cta-card {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.vs-cta-card h1,
.vs-cta-card h2 {
  font-size: clamp(1.8rem,3vw,2.6rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.15 !important;
  margin: 0 0 16px !important;
}

.vs-cta-card p {
  font-size: 1rem !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.7 !important;
  max-width: 480px;
  margin: 0 0 8px !important;
}

.vs-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

.vs-cta-prefooter .vs-btn-primary {
  background: var(--vs-teal) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(0,165,157,.35) !important;
}

.vs-cta-prefooter .vs-btn-primary:hover {
  background: var(--vs-teal-dark) !important;
  transform: translateY(-2px) !important;
}

/* product page CTA card */
.vs-cta-card-gradient {
  background: linear-gradient(135deg,#00a59d 0%,#0f8e89 55%,#20334c 100%);
  color: #fff;
  border-radius: var(--vs-r-xl);
  padding: 48px 36px;
  text-align: center;
  box-shadow: var(--vs-shadow);
}

.vs-cta-card-gradient h2 {
  font-size: clamp(26px,3vw,40px);
  line-height: 1.12;
  margin: 0 0 14px;
  color: #fff;
  font-weight: 700;
}

.vs-cta-card-gradient p {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,.86);
  max-width: 680px;
  margin: 0 auto 28px;
}

.vs-cta-actions-center {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
/* ============================================================
   VANSURE — MASTER CSS v7
   PART 3/3
   Includes:
   - Footer
   - About page
   - Contact page
   - Mobile marquee
   - Responsive
   - Final cleanup
============================================================ */

/* ============================================================
   FOOTER
============================================================ */
.vs-footer {
  background: #162638 !important;
  color: rgba(255,255,255,.65);
  padding: 64px 24px 28px !important;
  font-family: "Poppins", sans-serif;
}

.vs-footer * {
  font-family: "Poppins", sans-serif;
}

.vs-footer-grid {
  max-width: 1140px;
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: minmax(0,1.4fr) repeat(2,minmax(0,1fr)) minmax(0,1.2fr);
  gap: 40px;
  align-items: start;
}

.vs-footer-logo {
  height: 38px;
  width: auto;
  display: block;
  margin-bottom: 14px;
}

.vs-footer-brand-text {
  font-size: .84rem;
  color: rgba(255,255,255,.52);
  line-height: 1.65;
  max-width: 240px;
  margin: 0 0 16px;
}

.vs-footer-contact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .84rem;
  color: rgba(255,255,255,.52);
  text-decoration: none;
  transition: color .18s ease;
  margin-bottom: 6px;
}

.vs-footer-contact:hover {
  color: var(--vs-teal);
}

.vs-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.vs-footer-social-link {
  color: rgba(255,255,255,.52) !important;
  transition: color .2s ease, transform .2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vs-footer-social-link:hover {
  color: var(--vs-teal) !important;
  transform: translateY(-1px);
}

.vs-footer-social-link svg {
  color: inherit !important;
  fill: none !important;
  width: 18px;
  height: 18px;
  display: block;
}

.vs-footer-col-title {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  margin: 0 0 16px;
}

.vs-footer-col-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vs-footer-link {
  font-size: .84rem;
  color: rgba(255,255,255,.52);
  text-decoration: none;
  transition: color .18s ease;
  display: block;
}

.vs-footer-link:hover {
  color: var(--vs-teal);
}

.vs-footer-link svg,
.vs-footer-link .vs-footer-link-arrow {
  display: none !important;
}

.vs-footer-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vs-footer-cta-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin: 0 0 10px;
}

.vs-footer-cta-text {
  font-size: .84rem;
  color: rgba(255,255,255,.52);
  line-height: 1.65;
  margin: 0 0 18px;
}

.vs-footer-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--vs-teal);
  color: #fff !important;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .2s ease, transform .15s ease;
}

.vs-footer-cta-btn:hover {
  background: var(--vs-teal-dark);
  transform: translateY(-1px);
}

.vs-footer-bottom {
  max-width: 1140px;
  margin: 0 auto;
  font-size: .75rem;
  color: rgba(255,255,255,.3);
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.vs-footer-copy {
  color: rgba(255,255,255,.3);
}

.vs-footer-legal {
  display: flex;
  align-items: center;
  gap: 24px;
}

.vs-footer-legal-link {
  color: rgba(255,255,255,.3);
  text-decoration: none;
  font-size: .75rem;
  transition: color .18s ease;
}

.vs-footer-legal-link:hover {
  color: var(--vs-teal);
}

/* ============================================================
   ABOUT PAGE
============================================================ */
.vs-about-stats {
  padding: 64px 24px;
  background: var(--vs-bg);
}

.vs-about-stats-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 32px;
  text-align: center;
}

.vs-about-stat-number {
  display: block;
  font-size: clamp(2.4rem,5vw,3.6rem);
  font-weight: 800;
  color: var(--vs-navy);
  line-height: 1;
}

.vs-about-stat-number span {
  font-size: .55em;
}

.vs-about-stat-label {
  display: block;
  font-size: .88rem;
  color: var(--vs-muted);
  margin-top: 6px;
}

.vs-founder-section {
  padding: 96px 24px;
  background: #fff;
}

.vs-founder-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: center;
}

.vs-founder-visual {
  position: relative;
}

.vs-founder-photo-wrap {
  border-radius: var(--vs-r-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: var(--vs-shadow);
}

.vs-founder-badge-float {
  position: absolute;
  bottom: -20px;
  left: -20px;
  background: #fff;
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 12px 36px rgba(7,27,53,.14);
  display: flex;
  align-items: center;
  gap: 12px;
}

.vs-founder-badge-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(0,165,157,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  flex-shrink: 0;
}

.vs-founder-badge-icon svg {
  width: 20px;
  height: 20px;
}

.vs-founder-badge-text strong {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: var(--vs-navy);
}

.vs-founder-badge-text span {
  display: block;
  font-size: .75rem;
  color: var(--vs-muted);
}

.vs-founder-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 10px;
}

.vs-founder-content h2 {
  font-size: clamp(2rem,3vw,2.8rem);
  font-weight: 800;
  color: var(--vs-navy);
  margin: 0 0 8px;
  line-height: 1.1;
}

.vs-founder-name-tag {
  display: block;
  font-size: .85rem;
  color: var(--vs-muted);
  margin-bottom: 24px;
}

.vs-founder-content p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--vs-body);
  margin: 0 0 16px;
}

.vs-founder-content p strong {
  color: var(--vs-navy);
}

.vs-mission-section {
  padding: 96px 24px;
  background: var(--vs-bg);
}

.vs-mission-inner {
  max-width: 1140px;
  margin: 0 auto;
}

.vs-mission-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}

.vs-mission-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 10px;
}

.vs-mission-header h2 {
  font-size: clamp(26px,3vw,36px);
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 14px;
}

.vs-mission-header p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--vs-muted);
  margin: 0;
}

.vs-mission-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 22px;
}

.vs-mission-card {
  background: #fff;
  border-radius: var(--vs-r-lg);
  padding: 28px 24px;
  border: 1.5px solid var(--vs-line);
  border-top: 3px solid transparent;
  box-shadow: var(--vs-shadow-card);
  transition: border-top-color .25s ease, box-shadow .25s ease, transform .22s var(--vs-ease);
}

.vs-mission-card:hover {
  border-top-color: var(--vs-teal);
  box-shadow: 0 12px 40px rgba(0,165,157,.14);
  transform: translateY(-4px);
}

.vs-mission-icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(0,165,157,.08);
  border: 1px solid rgba(0,165,157,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  color: var(--vs-teal);
}

.vs-mission-icon svg {
  width: 22px;
  height: 22px;
}

.vs-mission-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 8px;
}

.vs-mission-card p {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--vs-body);
  margin: 0;
}

.vs-about-quote {
  padding: 80px 24px;
  background: #fff;
}

.vs-about-quote-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.vs-about-quote-mark {
  display: block;
  font-size: 5rem;
  line-height: .8;
  color: var(--vs-teal);
  opacity: .2;
  font-family: Georgia, serif;
  margin-bottom: 8px;
}

.vs-about-quote-inner blockquote {
  font-size: clamp(1.1rem,2vw,1.35rem);
  line-height: 1.7;
  color: var(--vs-navy);
  font-style: italic;
  font-weight: 500;
  margin: 0 0 28px;
}

.vs-about-quote-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: .82rem;
  color: var(--vs-muted);
}

.vs-about-quote-author-line {
  flex: 1;
  height: 1px;
  background: var(--vs-line);
  max-width: 80px;
}

.vs-about-cta {
  padding: 96px 24px;
  background: var(--vs-navy);
}

.vs-about-cta-card {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.vs-about-cta-card h2 {
  font-size: clamp(1.8rem,3vw,2.4rem);
  font-weight: 800;
  color: #fff;
  margin: 0 0 14px;
}

.vs-about-cta-card p {
  font-size: 1rem;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin: 0 0 28px;
}

.vs-about-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--vs-teal);
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .2s ease, transform .15s ease;
  box-shadow: 0 8px 22px rgba(0,165,157,.3);
}

.vs-about-cta-btn:hover {
  background: var(--vs-teal-dark);
  transform: translateY(-2px);
}

/* ============================================================
   CONTACT PAGE
============================================================ */
.vs-contact-info-section {
  padding: 56px 24px;
  background: var(--vs-bg);
}

.vs-contact-info-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.vs-contact-info-card {
  background: #fff;
  border-radius: var(--vs-r-lg);
  padding: 28px 24px;
  border: 1.5px solid var(--vs-line);
  box-shadow: var(--vs-shadow-card);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: box-shadow .22s ease, transform .22s var(--vs-ease);
}

.vs-contact-info-card:hover {
  box-shadow: 0 12px 36px rgba(0,165,157,.12);
  transform: translateY(-3px);
}

.vs-contact-info-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(0,165,157,.08);
  border: 1px solid rgba(0,165,157,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vs-teal);
  margin-bottom: 8px;
}

.vs-contact-info-icon svg {
  width: 22px;
  height: 22px;
}

.vs-contact-info-label {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--vs-muted);
}

.vs-contact-info-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--vs-navy);
  text-decoration: none;
  transition: color .18s ease;
}

a.vs-contact-info-value:hover {
  color: var(--vs-teal);
}

.vs-contact-info-sub {
  font-size: .82rem;
  color: var(--vs-muted);
}

.vs-contact-form-section {
  padding: 80px 24px 96px;
  background: #fff;
}

.vs-contact-form-wrap {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: start;
}

.vs-contact-form-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--vs-teal);
  display: block;
  margin-bottom: 12px;
}

.vs-contact-form-left h2 {
  font-size: clamp(24px,2.8vw,34px);
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 14px;
  line-height: 1.2;
}

.vs-contact-form-left p {
  font-size: 15px;
  line-height: 1.72;
  color: var(--vs-body);
  margin: 0 0 28px;
}

.vs-contact-promise-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vs-contact-promise-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--vs-body);
}

.vs-contact-promise-check {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background: var(--vs-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-top: 1px;
  flex-shrink: 0;
}

.vs-contact-promise-check svg {
  width: 12px;
  height: 12px;
}

.vs-contact-form-card {
  background: #fff;
  border-radius: var(--vs-r-xl);
  padding: 36px;
  box-shadow: var(--vs-shadow);
  border: 1px solid rgba(32,51,76,.07);
}

.vs-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.vs-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.vs-form-label {
  font-size: .8rem;
  font-weight: 600;
  color: var(--vs-navy);
}

.vs-form-input,
.vs-form-select,
.vs-form-textarea {
  padding: 12px 16px;
  border: 1.5px solid rgba(32,51,76,.12);
  border-radius: 12px;
  font-family: "Poppins", sans-serif;
  font-size: .9rem;
  color: var(--vs-text);
  background: #fff;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
  width: 100%;
}

.vs-form-input:focus,
.vs-form-select:focus,
.vs-form-textarea:focus {
  border-color: var(--vs-teal);
  box-shadow: 0 0 0 3px rgba(0,165,157,.12);
}

.vs-form-textarea {
  resize: vertical;
  min-height: 120px;
}

.vs-form-select-wrap {
  position: relative;
}

.vs-form-select {
  appearance: none;
  cursor: pointer;
  padding-right: 36px;
}

.vs-form-select-wrap::after {
  content: "▾";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--vs-muted);
  pointer-events: none;
  font-size: .9rem;
}

.vs-form-submit {
  width: 100%;
  padding: 14px;
  border-radius: 999px;
  background: var(--vs-teal);
  color: #fff;
  border: none;
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .18s ease, transform .15s ease, box-shadow .18s ease;
  box-shadow: 0 8px 22px rgba(0,165,157,.26);
  margin-top: 4px;
}

.vs-form-submit:hover {
  background: var(--vs-navy);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(32,51,76,.28);
}

.vs-form-note {
  font-size: .78rem;
  color: var(--vs-muted);
  text-align: center;
  margin: 12px 0 0;
}

.vs-form-success {
  display: none;
  text-align: center;
  padding: 48px 24px;
}

.vs-form-success-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(0,165,157,.1);
  border: 2px solid rgba(0,165,157,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  color: var(--vs-teal);
}

.vs-form-success-icon svg {
  width: 28px;
  height: 28px;
}

.vs-form-success h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--vs-navy);
  margin: 0 0 8px;
}

.vs-form-success p {
  font-size: .95rem;
  color: var(--vs-muted);
  line-height: 1.65;
  margin: 0;
}

/* ============================================================
   MOBILE MARQUEE
============================================================ */
@media (max-width:767px) {
  .vs-trust-logos-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: flex-start;
    animation: vsMarquee 18s linear infinite;
    width: max-content;
  }

  .vs-trust-logo {
    width: 90px !important;
    margin: 0 28px;
    flex-shrink: 0;
  }
}

@keyframes vsMarquee {
  0% { transform: translateX(0) }
  100% { transform: translateX(-50%) }
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:991px) {
  .vs-product-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-why-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-feature-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 0 20px;
  }

  .vs-feature-content {
    max-width: 100%;
  }

  .vs-coverage-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-why-cards {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-steps {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-trust-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-eligibility-grid {
    grid-template-columns: 1fr;
  }

  .vs-faq-wrap {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .vs-faq-sticky {
    position: relative;
    top: auto;
  }

  .vs-founder-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .vs-mission-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-about-stats-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .vs-contact-info-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .vs-contact-form-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .vs-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:767px) {
  .vs-mission-grid {
    grid-template-columns: 1fr;
  }

  .vs-contact-info-grid {
    grid-template-columns: 1fr;
  }

  .vs-about-stats-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .vs-form-row {
    grid-template-columns: 1fr;
  }

  .vs-footer-grid {
    grid-template-columns: 1fr;
  }

  .vs-footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .vs-faq-cta-strip {
    padding: 28px 24px;
    flex-direction: column;
    text-align: center;
  }

  .vs-faq-cta-actions {
    justify-content: center;
  }

  .vs-faq-panels {
    padding: 20px 16px 24px;
  }

  .vs-faq-main {
    padding: 36px 16px 72px;
  }
}

@media (max-width:600px) {
  .vs-product-grid,
  .vs-why-grid,
  .vs-coverage-grid,
  .vs-why-cards,
  .vs-steps,
  .vs-trust-grid {
    grid-template-columns: 1fr;
  }

  .vs-section {
    padding: 72px 0;
  }

  .vs-cta-prefooter {
    padding: 72px 20px !important;
  }

  .vs-contact-form-card {
    padding: 24px 20px;
  }
}

/* ============================================================
   FINAL CLEANUP
============================================================ */
.vs-product-grid a *,
.vs-footer a *,
.vs-nav a * {
  text-decoration: none !important;
}

.vs-product-card,
.vs-why-item,
.vs-feature-card,
.vs-coverage-card,
.vs-eligibility-card,
.vs-why-card,
.vs-step,
.vs-contact-info-card,
.vs-mission-card {
  will-change: transform;
}
