html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; color: #111827; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body > main { min-height: 100vh; }
header { position: relative; }
.viranex-logo-image { display: block; height: auto; max-width: 100%; width: 160px; }
.viranex-primary-nav > a { white-space: nowrap; }
.vxh-logo:has(.viranex-logo-image),
.vxm-logo:has(.viranex-logo-image),
.vxd-logo:has(.viranex-logo-image),
.vxp-logo:has(.viranex-logo-image),
.vxa-logo:has(.viranex-logo-image),
.vxc-logo:has(.viranex-logo-image),
.vxg-logo:has(.viranex-logo-image) { flex: 0 0 auto; line-height: 0; }
.admin-bar main > header { margin-top: 32px; }
.vxc-honeypot { left: -9999px; position: absolute; }
.vxc-form-status { border-radius: 12px; font-size: 14px; font-weight: 700; margin: 0 0 22px; padding: 13px 16px; }
.vxc-form-status.success { background: #ecfdf3; color: #067647; }
.vxc-form-status.error { background: #fef3f2; color: #b42318; }
[class$="-footer"] [class$="-footer-grid"] span { color: inherit; display: block; font-size: inherit; line-height: inherit; }
.viranex-footer-brand { max-width: 390px; }
.viranex-footer-brand .viranex-logo-image { width: 160px; }
#viranex-homepage-visual .viranex-footer-brand .viranex-brand-tagline,
#vx-marketing-page .viranex-footer-brand .viranex-brand-tagline,
#vx-demo-page .viranex-footer-brand .viranex-brand-tagline,
#vx-process-page .viranex-footer-brand .viranex-brand-tagline,
#vx-about-page .viranex-footer-brand .viranex-brand-tagline,
#vx-contact-page .viranex-footer-brand .viranex-brand-tagline,
#vx-generic-page .viranex-footer-brand .viranex-brand-tagline {
  color: #f27405;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  margin: 17px 0 7px;
  text-transform: uppercase;
}
#viranex-homepage-visual .viranex-footer-brand .viranex-brand-description,
#vx-marketing-page .viranex-footer-brand .viranex-brand-description,
#vx-demo-page .viranex-footer-brand .viranex-brand-description,
#vx-process-page .viranex-footer-brand .viranex-brand-description,
#vx-about-page .viranex-footer-brand .viranex-brand-description,
#vx-contact-page .viranex-footer-brand .viranex-brand-description,
#vx-generic-page .viranex-footer-brand .viranex-brand-description {
  color: #a7afbf;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
}
.viranex-address { font-style: normal; margin-top: 12px; }
.viranex-address span { display: block; }
#viranex-homepage-visual .viranex-footer-contact .viranex-contact-email,
#viranex-homepage-visual .viranex-footer-contact .viranex-address,
#vx-marketing-page .viranex-footer-contact .viranex-contact-email,
#vx-marketing-page .viranex-footer-contact .viranex-address,
#vx-demo-page .viranex-footer-contact .viranex-contact-email,
#vx-demo-page .viranex-footer-contact .viranex-address,
#vx-process-page .viranex-footer-contact .viranex-contact-email,
#vx-process-page .viranex-footer-contact .viranex-address,
#vx-about-page .viranex-footer-contact .viranex-contact-email,
#vx-about-page .viranex-footer-contact .viranex-address,
#vx-contact-page .viranex-footer-contact .viranex-contact-email,
#vx-contact-page .viranex-footer-contact .viranex-address,
#vx-generic-page .viranex-footer-contact .viranex-contact-email,
#vx-generic-page .viranex-footer-contact .viranex-address {
  color: #a7afbf;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
#vx-websites-page .viranex-footer-contact .viranex-contact-email,
#vx-websites-page .viranex-footer-contact .viranex-address { font-size: 14px; }
#viranex-homepage-visual .vxh-footer p,
#viranex-homepage-visual .vxh-footer a,
#vx-marketing-page .vxm-footer p,
#vx-marketing-page .vxm-footer a,
#vx-demo-page .vxd-footer p,
#vx-demo-page .vxd-footer a,
#vx-process-page .vxp-footer p,
#vx-process-page .vxp-footer a,
#vx-about-page .vxa-footer p,
#vx-about-page .vxa-footer a,
#vx-contact-page .vxc-footer p,
#vx-contact-page .vxc-footer a,
#vx-websites-page .vxw-footer p,
#vx-websites-page .vxw-footer a,
#vx-generic-page .vxg-footer p,
#vx-generic-page .vxg-footer a { font-size: 14px; }
#viranex-homepage-visual .viranex-legal-row,
#vx-marketing-page .viranex-legal-row,
#vx-demo-page .viranex-legal-row,
#vx-process-page .viranex-legal-row,
#vx-about-page .viranex-legal-row,
#vx-contact-page .viranex-legal-row,
#vx-websites-page .viranex-legal-row,
#vx-generic-page .viranex-legal-row { font-size: 13px; }
#viranex-homepage-visual .viranex-footer-contact .viranex-contact-email:hover,
#vx-marketing-page .viranex-footer-contact .viranex-contact-email:hover,
#vx-demo-page .viranex-footer-contact .viranex-contact-email:hover,
#vx-process-page .viranex-footer-contact .viranex-contact-email:hover,
#vx-about-page .viranex-footer-contact .viranex-contact-email:hover,
#vx-contact-page .viranex-footer-contact .viranex-contact-email:hover,
#vx-generic-page .viranex-footer-contact .viranex-contact-email:hover { color: #ffffff; }
#viranex-homepage-visual .vxh-footer-grid,
#vx-marketing-page .vxm-footer-grid,
#vx-demo-page .vxd-footer-grid,
#vx-process-page .vxp-footer-grid,
#vx-about-page .vxa-footer-grid,
#vx-contact-page .vxc-footer-grid,
#vx-generic-page .vxg-footer-grid {
  align-items: start;
  column-gap: clamp(48px, 7vw, 110px);
  grid-template-columns: minmax(0, 1.55fr) minmax(130px, .55fr) minmax(210px, .75fr);
}
#viranex-homepage-visual .viranex-legal-row,
#vx-marketing-page .viranex-legal-row,
#vx-demo-page .viranex-legal-row,
#vx-process-page .viranex-legal-row,
#vx-about-page .viranex-legal-row,
#vx-contact-page .viranex-legal-row,
#vx-generic-page .viranex-legal-row { align-items: center; display: flex; gap: 24px; justify-content: space-between; }
.viranex-legal-links { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 22px; }
#viranex-homepage-visual .viranex-legal-links a,
#vx-marketing-page .viranex-legal-links a,
#vx-demo-page .viranex-legal-links a,
#vx-process-page .viranex-legal-links a,
#vx-about-page .viranex-legal-links a,
#vx-contact-page .viranex-legal-links a,
#vx-generic-page .viranex-legal-links a { display: inline; margin: 0; }
@media (max-width: 980px) {
  #viranex-homepage-visual .vxh-footer-grid,
  #vx-marketing-page .vxm-footer-grid,
  #vx-demo-page .vxd-footer-grid,
  #vx-process-page .vxp-footer-grid,
  #vx-about-page .vxa-footer-grid,
  #vx-contact-page .vxc-footer-grid,
  #vx-generic-page .vxg-footer-grid {
    column-gap: 34px !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(125px, .55fr) minmax(180px, .75fr) !important;
  }
}
@media (max-width: 760px) {
  #viranex-homepage-visual .vxh-footer-grid,
  #vx-marketing-page .vxm-footer-grid,
  #vx-demo-page .vxd-footer-grid,
  #vx-process-page .vxp-footer-grid,
  #vx-about-page .vxa-footer-grid,
  #vx-contact-page .vxc-footer-grid,
  #vx-generic-page .vxg-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 30px !important;
  }
  .viranex-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 1120px) {
  body > main > header { z-index: 1000; }
  body > main > header .viranex-primary-nav { display: none !important; }
  body > main > header .viranex-menu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #111827;
    cursor: pointer;
    display: inline-flex !important;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 8px;
  }
  body > main > header .viranex-menu-toggle svg { height: 24px; width: 24px; }
  body > main > header .viranex-primary-nav.concept-open {
    display: flex !important;
    position: absolute;
    top: calc(100% - 1px);
    right: 20px;
    left: 20px;
    z-index: 100;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 18px;
    border: 1px solid #e5e8ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(17,24,39,.15);
  }
  body > main > header .viranex-primary-nav.concept-open a {
    display: flex !important;
    justify-content: flex-start;
    padding: 11px 12px;
    width: 100%;
  }
  body > main > header .viranex-primary-nav.concept-open a[class$="-primary"] {
    justify-content: center;
    margin-top: 4px;
    width: auto;
  }
}
@media (max-width: 782px) { .admin-bar main > header { margin-top: 46px; } }
@media (max-width: 620px) {
	.viranex-logo-image { width: 145px; }
  #viranex-homepage-visual .vxh-footer-grid,
  #vx-marketing-page .vxm-footer-grid,
  #vx-demo-page .vxd-footer-grid,
  #vx-process-page .vxp-footer-grid,
  #vx-about-page .vxa-footer-grid,
  #vx-contact-page .vxc-footer-grid,
  #vx-generic-page .vxg-footer-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .viranex-footer-brand { grid-column: auto; }
  #viranex-homepage-visual .viranex-legal-row,
  #vx-marketing-page .viranex-legal-row,
  #vx-demo-page .viranex-legal-row,
  #vx-process-page .viranex-legal-row,
  #vx-about-page .viranex-legal-row,
  #vx-contact-page .viranex-legal-row,
  #vx-generic-page .viranex-legal-row { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .vxh-primary,.vxh-secondary,.vxm-primary,.vxm-secondary,.vxd-primary,.vxd-secondary,
  .vxp-primary,.vxp-secondary,.vxa-primary,.vxa-secondary,.vxc-primary,.vxc-secondary,
  .vxg-primary,.vxg-button {
    transition: box-shadow .2s ease, transform .2s ease;
  }
  .vxh-primary:hover,.vxm-primary:hover,.vxd-primary:hover,.vxp-primary:hover,
  .vxa-primary:hover,.vxc-primary:hover,.vxg-primary:hover,.vxg-button:hover {
    box-shadow: 0 14px 32px rgba(249,115,22,.3);
    transform: translateY(-2px);
  }
  .vxh-secondary:hover,.vxm-secondary:hover,.vxd-secondary:hover,.vxp-secondary:hover,
  .vxa-secondary:hover,.vxc-secondary:hover {
    box-shadow: 0 12px 28px rgba(17,24,39,.1);
    transform: translateY(-2px);
  }
}
