/* ============================================================
   HA Links LLC — Halinks Prestige Design System
   Gold & Black · Logo-aligned · B2B Connection Brand
   ============================================================ */

:root {
  /* Core palette */
  --hal-midnight: #050810;
  --hal-ink: #0c1224;
  --hal-deep: #141d33;
  --hal-indigo: #1e2d4d;
  --hal-emerald: var(--hal-gold);
  --hal-emerald-bright: var(--hal-gold-bright);
  --hal-emerald-light: var(--hal-gold-bright);
  --hal-gold: #d4a24c;
  --hal-gold-bright: #f0c75e;
  --hal-gold-deep: #b8862e;
  --hal-cream: #faf8f4;
  --hal-sand: #f0ece4;
  --hal-white: #ffffff;
  --hal-text: #0a0f1a;
  --hal-text-muted: #5c6578;
  --hal-border: rgba(20, 29, 51, 0.1);

  /* Semantic mapping */
  --hal-navy: var(--hal-midnight);
  --hal-blue: var(--hal-gold);
  --hal-blue-hover: var(--hal-gold-deep);
  --hal-blue-light: rgba(212, 162, 76, 0.12);
  --hal-gold-light: rgba(212, 162, 76, 0.14);
  --hal-gold-glow: rgba(212, 162, 76, 0.22);
  --hal-bg: var(--hal-cream);
  --hal-radius: 14px;
  --hal-shadow: 0 2px 8px rgba(5, 8, 16, 0.04), 0 8px 32px rgba(5, 8, 16, 0.07);
  --hal-shadow-hover:
    0 8px 40px rgba(5, 8, 16, 0.12), 0 0 0 1px rgba(212, 162, 76, 0.08);
  --hal-shadow-gold: 0 12px 40px rgba(212, 162, 76, 0.25);
  --hal-trans: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --hal-gradient-cta: linear-gradient(
    135deg,
    var(--hal-gold-deep) 0%,
    var(--hal-gold) 45%,
    var(--hal-gold-bright) 100%
  );
  --hal-gradient-gold: linear-gradient(
    135deg,
    var(--hal-gold-deep) 0%,
    var(--hal-gold) 50%,
    var(--hal-gold-bright) 100%
  );
  --hal-gradient-btn: linear-gradient(
    135deg,
    #a67c2e 0%,
    var(--hal-gold) 50%,
    var(--hal-gold-bright) 100%
  );
  --hal-gradient-dark: linear-gradient(
    160deg,
    var(--hal-midnight) 0%,
    var(--hal-ink) 40%,
    var(--hal-deep) 100%
  );
  --hal-gradient-mesh:
    radial-gradient(
      ellipse 80% 60% at 10% 20%,
      rgba(212, 162, 76, 0.12) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse 60% 50% at 90% 80%,
      rgba(212, 162, 76, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse 50% 40% at 70% 10%,
      rgba(212, 162, 76, 0.06) 0%,
      transparent 45%
    );

  /* Legacy aliases */
  --ve-dark: var(--hal-ink);
  --ve-dark2: var(--hal-deep);
  --ve-navy: var(--hal-midnight);
  --ve-gold: var(--hal-gold);
  --ve-gold2: var(--hal-gold-bright);
  --ve-light: var(--hal-cream);
  --ve-white: var(--hal-white);
  --ve-text: var(--hal-text-muted);
  --ve-border: var(--hal-border);
  --ve-radius: var(--hal-radius);
  --ve-radius-lg: 18px;
  --ve-shadow: var(--hal-shadow);
  --ve-shadow-lg: var(--hal-shadow-hover);
  --ve-shadow-gold: var(--hal-shadow-gold);
  --ve-trans: var(--hal-trans);
  --ve-on-primary: #ffffff;
  --ve-font-heading: "Outfit", system-ui, sans-serif;
  --ve-font-body: "DM Sans", system-ui, sans-serif;
  --hal-brand-950: var(--hal-midnight);
  --hal-brand-900: var(--hal-ink);
  --hal-brand-800: var(--hal-deep);
  --hal-brand-700: var(--hal-indigo);
  --hal-brand-600: var(--hal-gold-deep);
  --hal-brand-500: var(--hal-gold);
  --hal-brand-400: var(--hal-gold-bright);
  --hal-teal-600: var(--hal-gold);
  --hal-teal-500: var(--hal-gold-bright);
  --hal-teal-400: var(--hal-gold-bright);
  --hal-slate-50: var(--hal-cream);
}

/* ---- GLOBAL ---- */
body {
  background: var(--hal-cream) !important;
  color: var(--hal-text-muted) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--hal-text) !important;
  font-family: var(--ve-font-heading) !important;
}

.ve-footer h1,
.ve-footer h2,
.ve-footer h3,
.ve-footer h4,
.ve-footer h5,
.ve-footer h6,
.ve-footer .ve-footer-title {
  color: #ffffff !important;
}

::selection {
  background: rgba(212, 162, 76, 0.25);
  color: var(--hal-ink);
}

/* Scroll progress bar (injected via JS) */
.hal-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: var(--hal-gradient-gold);
  z-index: 10000;
  pointer-events: none;
  transition: width 0.1s linear;
}

/* ---- PRELOADER ---- */
.preloader {
  background: var(--hal-cream) !important;
}
.preloader .lds-ellipsis div {
  background: var(--hal-gold) !important;
}

/* ---- HEADER ---- */
.ve-header {
  background-color: #0d1b2a !important;
  background-image: url("../img/core-img/Image (1) (1).jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.22) !important;
  overflow: hidden;
}
.ve-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.92) 0%,
    rgba(21, 42, 69, 0.85) 100%
  );
  z-index: 0;
  pointer-events: none;
  transition: background 0.35s ease;
}
.ve-header.scrolled::before {
  background: linear-gradient(
    135deg,
    rgba(10, 22, 40, 0.96) 0%,
    rgba(13, 27, 42, 0.94) 100%
  );
}
.ve-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 5%,
    var(--hal-gold-deep) 30%,
    var(--hal-gold-bright) 50%,
    var(--hal-gold-deep) 70%,
    transparent 95%
  );
  opacity: 0.85;
  z-index: 2;
}
.ve-header.scrolled {
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.32) !important;
}
.ve-nav-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  grid-template-columns: unset !important;
  padding: 0 clamp(20px, 4vw, 48px) !important;
  height: 76px !important;
  max-width: 1400px;
  margin: 0 auto;
  gap: 24px;
  position: relative;
  z-index: 1;
}
.ve-logo {
  grid-column: unset !important;
  margin-left: 0 !important;
  flex-shrink: 0;
}
.ve-logo img {
  height: 50px !important;
  width: auto;
  display: block;
  transition: transform 0.25s ease;
}
.ve-logo a:hover img {
  transform: scale(1.04);
}
.ve-nav {
  grid-column: unset !important;
  flex: 1;
  display: flex;
  justify-content: center;
}
.ve-nav-cta {
  grid-column: unset !important;
  flex-shrink: 0;
}
.ve-nav ul {
  gap: 2px !important;
}
.ve-nav ul li a {
  position: relative;
  padding: 10px 15px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  border-radius: 8px !important;
  letter-spacing: 0.01em;
  background: transparent !important;
}
.ve-nav ul li a::after {
  display: none !important;
}
.ve-nav ul li a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.09) !important;
}
.ve-nav ul li a.active {
  color: var(--hal-ink) !important;
  background: var(--hal-gradient-btn) !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 14px rgba(212, 162, 76, 0.35) !important;
}
.ve-nav-cta .ve-cta-btn,
.ve-cta-btn {
  background: var(--hal-gradient-btn) !important;
  border: none !important;
  color: var(--hal-ink) !important;
  border-radius: 50px !important;
  box-shadow: 0 4px 18px rgba(212, 162, 76, 0.38) !important;
  padding: 11px 22px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.ve-nav-cta .ve-cta-btn:hover,
.ve-cta-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(212, 162, 76, 0.5) !important;
  filter: brightness(1.06);
  color: var(--hal-ink) !important;
}
.ve-toggler {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  cursor: pointer;
  padding: 10px !important;
  transition: var(--hal-trans);
}
.ve-toggler:hover {
  background: rgba(212, 162, 76, 0.15) !important;
  border-color: rgba(212, 162, 76, 0.35) !important;
}
.ve-toggler span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff !important;
  border-radius: 2px;
}
.ve-mobile-menu {
  background: rgba(13, 27, 42, 0.97) !important;
  border-top: 1px solid rgba(212, 162, 76, 0.2) !important;
  padding: 8px 0 16px !important;
  position: relative;
  z-index: 1;
}
.ve-mobile-menu ul li a {
  display: block;
  padding: 14px 24px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: var(--hal-trans);
}
.ve-mobile-menu ul li a:hover {
  background: rgba(212, 162, 76, 0.1) !important;
  color: var(--hal-gold-bright) !important;
  padding-left: 28px !important;
}
.ve-hero {
  padding-top: 76px !important;
}
@media (max-width: 991px) {
  .ve-header {
    background-attachment: scroll !important;
  }
  .ve-nav,
  .ve-nav-cta {
    display: none !important;
  }
  .ve-toggler {
    display: flex !important;
  }
  .ve-nav-wrap {
    height: 68px !important;
    padding: 0 20px !important;
  }
  .ve-logo img {
    height: 44px !important;
  }
  .ve-hero {
    padding-top: 68px !important;
  }
}

/* ---- BUTTONS ---- */
.ve-btn-primary {
  background: var(--hal-gradient-btn) !important;
  border: none !important;
  color: var(--hal-ink) !important;
  border-radius: 50px !important;
  box-shadow: 0 4px 20px rgba(212, 162, 76, 0.35) !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}
.ve-btn-primary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 32px rgba(212, 162, 76, 0.45) !important;
  filter: brightness(1.06);
  color: var(--hal-ink) !important;
}
.ve-btn-ghost {
  border: 2px solid var(--hal-gold) !important;
  color: var(--hal-gold-deep) !important;
  border-radius: 50px !important;
  background: transparent !important;
}
.ve-btn-ghost:hover {
  background: var(--hal-gradient-btn) !important;
  color: var(--hal-ink) !important;
  border-color: var(--hal-gold-bright) !important;
  transform: translateY(-2px);
}
.ve-btn-white {
  background: #fff !important;
  color: var(--hal-gold-deep) !important;
  border: 2px solid #fff !important;
  border-radius: 50px !important;
}
.ve-btn-white:hover {
  background: var(--hal-gradient-btn) !important;
  color: var(--hal-ink) !important;
  border-color: var(--hal-gold-bright) !important;
}

/* ---- HERO ---- */
.ve-hero {
  background-color: #d4cdc0 !important;
  background-image: url("../img/core-img/Image (1) (1).jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
  overflow: hidden;
}
.ve-hero::before {
  display: block !important;
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    rgba(245, 240, 230, 0.92) 0%,
    rgba(245, 240, 230, 0.72) 48%,
    rgba(245, 240, 230, 0.2) 72%,
    transparent 100%
  ) !important;
  pointer-events: none;
  z-index: 1;
  animation: none !important;
}
.ve-hero::after {
  display: none !important;
}
.ve-hero-left {
  background: transparent !important;
}
.ve-hero-right {
  background: transparent !important;
}
:root {
  --badge-bg: rgba(212, 162, 76, 0.16);
  --badge-text: var(--hal-gold-deep);
  --badge-border: rgba(212, 162, 76, 0.4);
}

.ve-hero-badge i {
  color: var(--hal-gold);
}
.ve-hero-left h1 {
  color: var(--hal-ink) !important;
}
.ve-hero-left h1 .ve-highlight {
  background: var(--hal-gradient-gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ve-hero-left p {
  color: var(--hal-deep) !important;
  opacity: 0.85;
}
.ve-stat strong {
  color: var(--hal-gold-deep) !important;
  font-variant-numeric: tabular-nums;
}
.ve-stat span {
  color: var(--hal-indigo) !important;
  opacity: 0.8;
}
.ve-stat-divider {
  background: rgba(27, 38, 59, 0.15) !important;
}
.ve-float-card {
  background: rgba(245, 240, 230, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(212, 162, 76, 0.3) !important;
  border-radius: var(--ve-radius-lg) !important;
  box-shadow: 0 12px 40px rgba(27, 38, 59, 0.12) !important;
}
.ve-float-card i {
  color: var(--hal-gold) !important;
  background: var(--hal-gold-light);
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---- TRUST BAR ---- */
.ve-trust-bar {
  background: var(--hal-ink) !important;
  border: none !important;
  position: relative;
}
.ve-trust-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 5%,
    var(--hal-gold-deep) 30%,
    var(--hal-gold-bright) 50%,
    var(--hal-gold-deep) 70%,
    transparent 95%
  );
}
.ve-trust-inner span {
  color: rgba(255, 255, 255, 0.85) !important;
}
.ve-trust-inner span i {
  color: var(--hal-gold-bright) !important;
}

/* ---- SECTION TAGS & HEADINGS ---- */
.ve-section-tag {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold-deep) !important;
  border: 1px solid rgba(212, 162, 76, 0.3) !important;
  border-radius: 50px !important;
}
.ve-section-header h2 span,
.ve-whyus-content h2 span,
.section-heading h2 span {
  background: var(--hal-gradient-cta);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---- CARDS ---- */
.ve-service-card,
.ve-solution-card,
.ve-project-card,
.ve-testi-card,
.ve-insight-card,
.ve-team-card,
.ve-feature-box,
.ve-contact-info-card,
.ve-contact-form-wrap,
.ha-card,
.ve-faq-item,
.ve-mvv-card {
  background: var(--hal-white) !important;
  border: 1px solid var(--hal-border) !important;
  border-radius: var(--ve-radius-lg) !important;
  box-shadow: var(--hal-shadow) !important;
  transition:
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease !important;
}
.ve-service-card::before {
  background: var(--hal-gradient-cta) !important;
  height: 4px !important;
}
.ve-service-card:hover,
.ve-solution-card:hover,
.ve-project-card:hover,
.ve-testi-card:hover,
.ve-insight-card:hover,
.ve-feature-box:hover,
.ha-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--hal-shadow-hover) !important;
  border-color: rgba(212, 162, 76, 0.25) !important;
}
.ve-service-icon,
.ve-solution-icon,
.ve-feature-box i,
.ha-icon,
.ve-ci-icon {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold-deep) !important;
  border-radius: 14px !important;
}
.ve-service-card:hover .ve-service-icon,
.ve-solution-card:hover .ve-solution-icon,
.ha-card:hover .ha-icon {
  background: var(--hal-gradient-cta) !important;
  color: #fff !important;
}
.ve-project-icon {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold) !important;
}
.ve-project-card:hover .ve-project-icon {
  background: var(--hal-gradient-gold) !important;
  color: var(--hal-ink) !important;
}
.ve-card-link,
.ve-insight-body h5 a:hover {
  color: var(--hal-gold-deep) !important;
}

/* ---- WHY US ---- */
.ve-whyus-section {
  background: var(--hal-white) !important;
}
.ve-whyus-badge {
  background: var(--hal-gradient-gold) !important;
  box-shadow: var(--hal-shadow-gold) !important;
  border-radius: var(--ve-radius-lg) !important;
}
.ve-whyus-badge strong,
.ve-whyus-badge span {
  color: var(--hal-ink) !important;
}
.ve-check-item > i {
  color: var(--hal-gold) !important;
}

/* ---- COUNTERS ---- */
.ve-counter-section {
  background: var(--hal-gradient-dark) !important;
  position: relative;
  overflow: hidden;
}
.ve-counter-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 60% 80% at 20% 50%,
      rgba(212, 162, 76, 0.08) 0%,
      transparent 60%
    ),
    radial-gradient(
      ellipse 50% 60% at 80% 50%,
      rgba(212, 162, 76, 0.06) 0%,
      transparent 55%
    );
  pointer-events: none;
}
.ve-counter-item i {
  color: var(--hal-gold-bright) !important;
}
.ve-counter-item strong {
  color: #fff !important;
}
.ve-counter-item span {
  color: var(--hal-gold-bright) !important;
}
.ve-counter-item p {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ---- SECTION BACKGROUNDS ---- */
.ve-whyus-section,
.ve-services-section,
.ve-insights-section,
.ve-team-section,
.ve-testimonials-section,
.ve-features-strip,
.ve-solutions-section,
.ve-faq-section,
.ve-contact-section {
  background: var(--hal-cream) !important;
}
.ve-services-section,
.ve-team-section {
  background: var(--hal-white) !important;
}
.ve-mvv-section,
.ve-process-section {
  background: var(--hal-sand) !important;
  border-top: 1px solid var(--hal-border);
  border-bottom: 1px solid var(--hal-border);
}
.ve-mvv-card,
.ve-process-step {
  background: var(--hal-white) !important;
}
.ve-mvv-icon {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold) !important;
  border-color: rgba(212, 162, 76, 0.25) !important;
}
.ve-process-num {
  color: rgba(212, 162, 76, 0.25) !important;
}

/* ---- CTA BANNER ---- */
.ve-cta-overlay {
  background: linear-gradient(
    135deg,
    rgba(5, 8, 16, 0.92) 0%,
    rgba(12, 18, 36, 0.88) 50%,
    rgba(212, 162, 76, 0.12) 100%
  ) !important;
}
.ve-cta-content h2 {
  color: #ffffff !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
}
.ve-cta-content h2 span {
  color: var(--hal-gold-bright) !important;
}
.ve-cta-content p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
  max-width: 600px;
  margin-bottom: 0 !important;
}
.ve-cta-content .ve-section-tag {
  background: rgba(212, 162, 76, 0.15) !important;
  color: var(--hal-gold-bright) !important;
  border-color: rgba(212, 162, 76, 0.35) !important;
}

/* ---- TESTIMONIALS ---- */
.ve-testi-stars {
  color: var(--hal-gold) !important;
}
.ve-testi-card::before {
  color: var(--hal-gold-light) !important;
}

/* ---- PAGE HERO ---- */
.ve-page-hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(5, 8, 16, 0.9) 0%,
    rgba(12, 18, 36, 0.85) 60%,
    rgba(212, 162, 76, 0.15) 100%
  ) !important;
}
.ve-page-hero-content h1 {
  color: #fff !important;
}
.ve-page-hero-content h1 span {
  color: var(--hal-gold-bright) !important;
}
.ve-breadcrumb li a {
  color: var(--hal-gold-bright) !important;
}
.ve-breadcrumb li,
.ve-breadcrumb li.active {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ---- CONTACT ---- */
.ve-ci-icon {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold) !important;
  border: 1px solid rgba(212, 162, 76, 0.2) !important;
}
.ve-form-group input:focus,
.ve-form-group textarea:focus,
.ve-form-group select:focus {
  border-color: var(--hal-gold) !important;
  box-shadow: 0 0 0 4px rgba(212, 162, 76, 0.12) !important;
}

/* ---- FOOTER ---- */
.ve-footer {
  background: linear-gradient(180deg, #1b263b 0%, #0d1b2a 100%) !important;
  position: relative;
}
.ve-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--hal-gold),
    var(--hal-gold-bright),
    transparent
  );
}
.ve-footer-brand p {
  color: rgba(255, 255, 255, 0.6) !important;
}
.ve-footer-title {
  color: #ffffff !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.ve-footer-links li a {
  color: rgba(255, 255, 255, 0.55) !important;
}
.ve-footer-links li a:link,
.ve-footer-links li a:visited {
  color: rgba(255, 255, 255, 0.55) !important;
}
.ve-footer-links li a::before,
.ve-footer-contact li i,
.ve-footer-contact .ve-contact-link i {
  color: var(--hal-gold) !important;
}
.ve-footer-links li a:hover,
.ve-footer-contact .ve-contact-link:hover,
.ve-footer-contact .ve-contact-link:hover span {
  color: var(--hal-gold-bright) !important;
}
.ve-footer-contact .ve-contact-link,
.ve-footer-contact .ve-contact-link:link,
.ve-footer-contact .ve-contact-link:visited,
.ve-footer-contact .ve-contact-link span,
.ve-footer .ve-email-link,
.ve-footer .ve-email-link:link,
.ve-footer .ve-email-link:visited,
.ve-footer a.ve-email-link,
.ve-footer a.ve-email-link:link,
.ve-footer a.ve-email-link:visited {
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: none !important;
}
.ve-footer-contact li {
  color: rgba(255, 255, 255, 0.55) !important;
}
.ve-footer-bottom {
  background: rgba(0, 0, 0, 0.2) !important;
}
.ve-footer-bottom-inner p,
.ve-footer-bottom-inner ul li a {
  color: rgba(255, 255, 255, 0.4) !important;
}
.ve-footer-bottom-inner ul li a:hover {
  color: var(--hal-gold-bright) !important;
}
.ve-footer .ve-social a:hover {
  background: var(--hal-gradient-gold) !important;
  border-color: transparent !important;
  color: var(--hal-ink) !important;
  transform: translateY(-3px);
}

/* ---- JOIN TEAM ---- */
.ve-join-team {
  background: var(--hal-sand) !important;
}
.ve-join-box {
  background: var(--hal-white) !important;
  border-radius: var(--ve-radius-lg) !important;
  box-shadow: var(--hal-shadow) !important;
  border: 1px solid var(--hal-border) !important;
}
.ve-join-content h2 {
  color: var(--hal-text) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem) !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
}
.ve-join-content p {
  color: var(--hal-ink) !important;
  font-size: 1.125rem !important;
  line-height: 1.8 !important;
  max-width: 640px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  opacity: 0.9;
}
.ve-join-action .ve-btn-ghost {
  border-color: var(--hal-gold) !important;
  color: var(--hal-gold-deep) !important;
}
.ve-join-action .ve-btn-ghost:hover {
  background: var(--hal-gradient-btn) !important;
  border-color: var(--hal-gold-bright) !important;
  color: var(--hal-ink) !important;
}

/* ---- NEWSLETTER ---- */
.ve-newsletter-section {
  background: var(--hal-ink) !important;
}
.ve-nl-left h3 {
  color: #fff !important;
}
.ve-nl-left i {
  color: var(--hal-gold) !important;
}
.ve-nl-form button {
  background: var(--hal-gradient-gold) !important;
  color: var(--hal-ink) !important;
  font-weight: 800 !important;
}

/* ---- LEGAL ---- */
.legal-body a,
.legal-header h2 i,
.ha-header i,
.ha-card ul li::before,
.legal-body li::before {
  color: var(--hal-gold) !important;
}
.keyword {
  background: var(--hal-ink) !important;
  color: var(--hal-gold-bright) !important;
}
/* ---- CONTACT EMAIL & LINKS ---- */
.ve-contact-info-card a.ve-email-link,
.ve-contact-info-card a.ve-email-link:link,
.ve-contact-info-card a.ve-email-link:visited,
.contact-block a.ve-email-link,
.contact-block a.ve-email-link:link,
.contact-block a.ve-email-link:visited {
  color: var(--hal-gold-deep) !important;
  -webkit-text-fill-color: var(--hal-gold-deep) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.ve-contact-info-card a.ve-email-link:hover,
.contact-block a.ve-email-link:hover {
  color: var(--hal-gold-bright) !important;
  -webkit-text-fill-color: var(--hal-gold-bright) !important;
  text-decoration: underline !important;
}
.ve-contact-info-card a[href^="tel:"],
.ve-contact-info-card a[href^="tel:"]:link,
.ve-contact-info-card a[href^="tel:"]:visited {
  color: var(--hal-deep) !important;
  text-decoration: none !important;
  font-weight: 600;
}
.ve-contact-info-card a[href^="tel:"]:hover {
  color: var(--hal-gold-deep) !important;
}

/* ---- SCROLL UP ---- */
#scrollUp {
  background: var(--hal-white) !important;
  border: 1px solid var(--hal-border) !important;
  color: var(--hal-gold-deep) !important;
  border-radius: 50% !important;
  box-shadow: var(--hal-shadow) !important;
}
#scrollUp:hover {
  background: var(--hal-gradient-btn) !important;
  color: var(--hal-ink) !important;
  border-color: var(--hal-gold) !important;
}

/* ---- INSURANCE ---- */
.ve-insurance-focus {
  padding: clamp(72px, 8vw, 100px) 0 !important;
}
.ve-insurance-overlay {
  background: linear-gradient(
    135deg,
    rgba(5, 8, 16, 0.9) 0%,
    rgba(27, 38, 59, 0.88) 50%,
    rgba(13, 27, 42, 0.92) 100%
  ) !important;
}
.ve-insurance-header h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 4.5vw, 2.75rem) !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
  letter-spacing: -0.02em;
}
.ve-insurance-header h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  background: var(--hal-gradient-gold);
  border-radius: 4px;
  margin: 18px auto 0;
}
.ve-insurance-header p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  max-width: 580px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
}
.ve-insurance-item i {
  color: var(--hal-gold-bright) !important;
  font-size: 2.5rem !important;
  filter: drop-shadow(0 4px 14px rgba(212, 162, 76, 0.4));
  transition: transform 0.3s ease;
}
.ve-insurance-item:hover i {
  transform: scale(1.1);
}
.ve-insurance-item span {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}
.ve-insurance-divider {
  background: rgba(212, 162, 76, 0.35) !important;
}

/* ---- TEAM ---- */
.ve-team-overlay-info h4 {
  color: #ffffff !important;
}
.ve-team-overlay-info span {
  color: var(--hal-gold-bright) !important;
}
.ve-team-info-icon {
  color: var(--hal-gold) !important;
}

/* ---- SOLUTIONS / CATEGORY ---- */
.ve-solutions-heading span,
.ve-category-tag,
.ve-insight-cat {
  background: var(--hal-gold-light) !important;
  color: var(--hal-gold-deep) !important;
  border: 1px solid rgba(212, 162, 76, 0.25) !important;
}

/* ---- CREDIT BTN OVERRIDE ---- */
.credit-btn,
.btn.credit-btn {
  background: var(--hal-gradient-btn) !important;
  border: none !important;
  color: var(--hal-ink) !important;
}

/* ---- STAGGER REVEAL UTILITY ---- */
.hal-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.hal-stagger.hal-visible > *:nth-child(1) {
  transition-delay: 0.05s;
}
.hal-stagger.hal-visible > *:nth-child(2) {
  transition-delay: 0.12s;
}
.hal-stagger.hal-visible > *:nth-child(3) {
  transition-delay: 0.19s;
}
.hal-stagger.hal-visible > *:nth-child(4) {
  transition-delay: 0.26s;
}
.hal-stagger.hal-visible > *:nth-child(5) {
  transition-delay: 0.33s;
}
.hal-stagger.hal-visible > *:nth-child(6) {
  transition-delay: 0.4s;
}
.hal-stagger.hal-visible > * {
  opacity: 1;
  transform: translateY(0);
}

/* ---- FOOTER OVERRIDES (must win over global link/heading rules) ---- */
footer.ve-footer .ve-footer-contact a.ve-contact-link.ve-email-link,
footer.ve-footer .ve-footer-contact a.ve-contact-link,
footer.ve-footer .ve-footer-contact a.ve-contact-link span,
footer.ve-footer .ve-footer-contact a.ve-contact-link:link,
footer.ve-footer .ve-footer-contact a.ve-contact-link:visited,
footer.ve-footer .ve-footer-contact a.ve-email-link:link,
footer.ve-footer .ve-footer-contact a.ve-email-link:visited {
  color: rgba(255, 255, 255, 0.55) !important;
}

footer.ve-footer .ve-footer-contact a.ve-contact-link:hover,
footer.ve-footer .ve-footer-contact a.ve-contact-link:hover span,
footer.ve-footer .ve-footer-contact a.ve-email-link:hover {
  color: var(--hal-gold-bright) !important;
}

footer.ve-footer h5.ve-footer-title {
  color: #ffffff !important;
}

footer.ve-footer a[href^="mailto:"],
footer.ve-footer a[href^="mailto:"] span,
footer.ve-footer a[href^="tel:"],
footer.ve-footer a[href^="tel:"] span {
  color: rgba(255, 255, 255, 0.6) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
}

footer.ve-footer a[href^="mailto:"]:hover,
footer.ve-footer a[href^="mailto:"]:hover span,
footer.ve-footer a[href^="tel:"]:hover,
footer.ve-footer a[href^="tel:"]:hover span {
  color: var(--hal-gold-bright) !important;
  -webkit-text-fill-color: var(--hal-gold-bright) !important;
}
