
/*
VOUOX exact Elementor site style
White futuristic theme based on the provided design screenshots.
*/
body.vouox-elementor-page {
  background:
    radial-gradient(circle at 20% 12%, rgba(234,48,151,.12), transparent 28%),
    radial-gradient(circle at 80% 10%, rgba(0,177,255,.12), transparent 30%),
    linear-gradient(135deg,#fbfdff 0%,#f7fbff 50%,#ffffff 100%) !important;
  color:#0b1030;
}
body.vouox-elementor-page:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(90deg, rgba(38,157,255,.05) 1px, transparent 1px),
    linear-gradient(rgba(229,45,156,.035) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(#000,transparent 88%);
}
body.vouox-elementor-page .site, body.vouox-elementor-page #page, body.vouox-elementor-page .elementor {
  position:relative;
  z-index:1;
}
body.vouox-elementor-page .elementor-section.vx-section {
  padding-left:14px;
  padding-right:14px;
}
body.vouox-elementor-page .elementor-section.vx-section > .elementor-container {
  max-width:1220px;
}
.vx-header {
  padding-top:12px !important;
  padding-bottom:12px !important;
}
.vx-header > .elementor-container {
  align-items:center;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(8,44,86,.08);
  box-shadow:0 16px 45px rgba(20,60,120,.08);
  border-radius:24px;
  padding:8px 20px;
  backdrop-filter: blur(16px);
}
.vx-brand img { height:58px; width:auto; object-fit:contain; display:block; }
.vx-nav { display:flex; justify-content:center; gap:34px; align-items:center; flex-wrap:wrap; }
.vx-nav a { font-weight:700; font-size:14px; color:#0a0f31; text-decoration:none; padding:20px 4px; position:relative; }
.vx-nav a.active:after {
  content:""; position:absolute; left:12%; right:12%; bottom:7px; height:3px; border-radius:20px;
  background:linear-gradient(90deg,#ff2b95,#7839ff,#07b8ff);
}
.vx-button-primary .elementor-button, .vx-link-btn.gradient, .vx-form-bottom button, .vx-meeting a, .vx-price-card.popular a {
  border-radius:12px !important;
  background:linear-gradient(100deg,#f42692 0%,#7c39ff 55%,#07b8ff 100%) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 12px 30px rgba(238,42,146,.22);
  font-weight:800;
  padding:14px 24px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none !important;
}
.vx-button-light .elementor-button, .vx-link-btn.light, .vx-price-card a {
  border-radius:12px !important;
  color:#0d1236 !important;
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(15,60,110,.12) !important;
  box-shadow:0 12px 25px rgba(20,50,100,.08);
  font-weight:800;
  padding:14px 24px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
}
.vx-hero {
  padding-top:24px !important;
  padding-bottom:34px !important;
}
.vx-hero > .elementor-container {
  align-items:center;
  min-height:340px;
}
.vx-eyebrow .elementor-heading-title,
.vx-eyebrow h5, .vx-eyebrow h6 {
  letter-spacing:8px;
  color:#eb2699 !important;
  text-transform:uppercase;
  font-size:13px !important;
  font-weight:900 !important;
  background:linear-gradient(90deg,#f22794,#7b47ff,#06baff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.vx-title .elementor-heading-title {
  font-size:54px !important;
  line-height:.98 !important;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#080d2a;
  font-weight:950 !important;
  max-width:650px;
}
.vx-title .elementor-heading-title span,
.vx-section-title .elementor-heading-title span {
  background:linear-gradient(90deg,#f42893 0%,#7949ff 55%,#08b6ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.vx-lead .elementor-widget-container,
.vx-lead-small .elementor-widget-container {
  color:#4e5b73;
  font-size:17px;
  line-height:1.65;
  max-width:680px;
}
.vx-slogan {
  display:flex;
  align-items:center;
  gap:18px;
  margin:18px 0 24px;
  color:#111834;
  font-size:16px;
  letter-spacing:9px;
  font-weight:900;
  text-transform:uppercase;
}
.vx-slogan i { flex:0 0 78px; height:3px; display:block; border-radius:20px; background:linear-gradient(90deg,#f32793,#08b9ff); }
.vx-hero-buttons { display:flex; gap:16px; margin:15px 0 24px; flex-wrap:wrap; }
.vx-badges {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:18px;
  max-width:640px;
}
.vx-badges > div {
  display:flex; gap:10px; align-items:center;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(28,80,140,.10);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 10px 25px rgba(20,60,120,.06);
}
.vx-badge-icon {
  width:36px; height:36px; border-radius:12px;
  display:grid; place-items:center;
  background:linear-gradient(135deg,rgba(240,41,151,.12),rgba(5,187,255,.13));
  color:#a337ff;
}
.vx-badges b { display:block; font-size:13px; color:#111834; }
.vx-badges small { display:block; color:#69748a; font-size:11px; }
.vx-hero-image img {
  width:100%;
  max-width:520px;
  filter:drop-shadow(0 25px 45px rgba(32,84,175,.20));
}
.vx-intro {
  padding-top:18px !important;
  padding-bottom:0 !important;
}
.vx-intro > .elementor-container {
  align-items:end;
}
.vx-section-title .elementor-heading-title {
  color:#07102e;
  text-transform:uppercase;
  font-size:28px !important;
  letter-spacing:.5px;
  font-weight:950 !important;
}
.vx-card-row {
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.vx-service-card > .elementor-widget-wrap,
.vx-project-card > .elementor-widget-wrap,
.vx-case-card > .elementor-widget-wrap,
.vx-location-card > .elementor-widget-wrap,
.vx-faq-card > .elementor-widget-wrap,
.vx-contact-form-col > .elementor-widget-wrap,
.vx-contact-side > .elementor-widget-wrap {
  background:rgba(255,255,255,.84);
  border:1px solid rgba(20,70,130,.11);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(20,60,120,.08);
  overflow:hidden;
}
.vx-service-card > .elementor-widget-wrap {
  min-height:155px;
  padding:18px !important;
}
.vx-card-widget .elementor-icon-box-wrapper { align-items:flex-start; }
.vx-card-widget .elementor-icon {
  color:#e9329a !important;
  border:1px solid rgba(234,47,153,.22);
  background:linear-gradient(135deg,rgba(239,45,150,.08),rgba(6,183,255,.10));
  border-radius:50%;
  padding:15px;
}
.vx-card-widget .elementor-icon-box-title {
  font-size:16px !important;
  color:#0a1133 !important;
  font-weight:900 !important;
  margin-bottom:6px !important;
}
.vx-card-widget .elementor-icon-box-description {
  color:#56637a !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.vx-project-grid {
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.vx-project-card > .elementor-widget-wrap {
  padding:10px !important;
  position:relative;
}
.vx-project-image img {
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:13px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.vx-project-cat .elementor-heading-title {
  margin-top:8px !important;
  font-size:12px !important;
  color:#e52b94 !important;
  font-weight:800 !important;
}
.vx-project-title .elementor-heading-title {
  margin:0 !important;
  font-size:18px !important;
  color:#101635 !important;
  font-weight:900 !important;
}
.vx-project-sub .elementor-widget-container {
  color:#59667c;
  font-size:13px;
  margin-bottom:8px;
}
.vx-arrow {
  position:absolute;
  right:12px;
  bottom:14px;
  width:28px; height:28px;
  border:1px solid rgba(12,45,100,.15);
  border-radius:50%;
  display:grid; place-items:center;
  color:#0c1233;
  background:#fff;
}
.vx-process-intro { padding-top:22px !important; }
.vx-process-line > .elementor-container {
  background:rgba(255,255,255,.70);
  border:1px solid rgba(35,85,145,.10);
  border-radius:20px;
  box-shadow:0 12px 34px rgba(20,60,120,.07);
  padding:22px 18px 18px;
  position:relative;
}
.vx-process-line > .elementor-container:before {
  content:""; position:absolute; left:60px; right:60px; top:68px; height:3px; background:linear-gradient(90deg,#0abfff,#f02b94,#7c40ff,#09b9ff); opacity:.65;
}
.vx-process-step .elementor-widget-wrap {
  text-align:center;
  position:relative;
  z-index:2;
}
.vx-process-card .elementor-icon-box-wrapper { display:block !important; }
.vx-process-card .elementor-icon {
  color:#b338ff !important;
  background:#fff;
  border:2px solid rgba(210,55,255,.30);
  box-shadow:0 0 22px rgba(200,54,255,.18);
  border-radius:50%;
  padding:18px;
}
.vx-process-card .elementor-icon-box-title { color:#111835 !important; font-weight:900 !important; font-size:16px !important; }
.vx-process-card .elementor-icon-box-description { color:#687489 !important; font-size:12px !important; }
.vx-testimonials-intro .vx-section-title { display:none; }
.vx-testimonial-col > .elementor-widget-wrap {
  background:rgba(255,255,255,.86);
  border:1px solid rgba(30,70,130,.10);
  border-radius:18px;
  box-shadow:0 14px 34px rgba(20,60,120,.07);
  padding:18px !important;
}
.vx-testimonial .quote { color:#e72996; font-size:42px; line-height:1; }
.vx-testimonial p { color:#3d495d; font-size:13px; line-height:1.6; min-height:72px; }
.vx-testimonial b { display:block; color:#0a1133; }
.vx-testimonial small { display:block; color:#6a7486; }
.vx-testimonial .stars { color:#ffbd10; margin-top:8px; letter-spacing:2px; }
.vx-stats {
  padding-top:20px !important;
  padding-bottom:20px !important;
}
.vx-stats > .elementor-container {
  background:rgba(255,255,255,.80);
  border:1px solid rgba(32,80,145,.11);
  border-radius:22px;
  box-shadow:0 16px 38px rgba(20,60,120,.08);
  overflow:hidden;
}
.vx-stat-col:not(:last-child) { border-right:1px solid rgba(30,70,130,.10); }
.vx-stat-col .elementor-widget-wrap { padding:20px !important; justify-content:center; }
.vx-counter .elementor-counter-number-wrapper {
  color:#111936 !important;
  font-size:32px !important;
  font-weight:950 !important;
}
.vx-counter .elementor-counter-title {
  color:#526075 !important;
  font-weight:700 !important;
}
.vx-feature-service > .elementor-container,
.vx-contact-main > .elementor-container,
.vx-location-faq > .elementor-container,
.vx-service-strip > .elementor-container,
.vx-cta-band > .elementor-container,
.vx-brand-strip > .elementor-container {
  background:rgba(255,255,255,.72);
  border:1px solid rgba(30,70,130,.10);
  border-radius:22px;
  box-shadow:0 16px 42px rgba(20,60,120,.08);
  padding:22px !important;
}
.vx-editor-image img, .vx-map img, .vx-case-image img {
  width:100%;
  border-radius:16px;
  object-fit:cover;
  box-shadow:0 15px 30px rgba(25,70,120,.12);
}
.vx-checks { list-style:none; padding:0; margin:0; color:#3d495d; font-size:14px; line-height:1.9; }
.vx-checks li:before { content:"✓"; color:#e72b96; font-weight:900; margin-right:8px; }
.rtl .vx-checks li:before { margin-left:8px; margin-right:0; }
.vx-deliverables { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; align-items:center; }
.vx-deliverables span {
  padding:5px 9px; border-radius:7px; border:1px solid rgba(25,60,110,.12); background:#fff; font-size:12px;
}
.vx-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.vx-price-card {
  background:#fff;
  border:1px solid rgba(30,70,130,.12);
  border-radius:16px;
  padding:18px;
  box-shadow:0 10px 28px rgba(20,60,120,.06);
}
.vx-price-card.popular {
  border-color:#e72b96;
  box-shadow:0 16px 40px rgba(231,43,150,.16);
}
.vx-price-card h4 { margin:0 0 8px; color:#0a1030; }
.vx-price-card h3 { margin:0; font-size:32px; color:#101635; }
.vx-price-card p, .vx-custom-note { color:#607086; font-size:13px; }
.vx-price-card ul { padding-left:18px; color:#4c586c; font-size:13px; line-height:1.8; }
.rtl .vx-price-card ul { padding-left:0; padding-right:18px; }
.vx-cta-band .elementor-container {
  align-items:center;
  background:linear-gradient(100deg,rgba(255,255,255,.84),rgba(252,237,255,.78),rgba(235,249,255,.84)) !important;
}
.vx-rocket {
  width:90px; height:90px; display:grid; place-items:center;
  border-radius:50%; color:#e9309a; font-size:42px;
  background:radial-gradient(circle,rgba(240,42,150,.18),rgba(13,185,255,.12));
  border:1px solid rgba(229,45,155,.20);
  box-shadow:0 0 30px rgba(237,45,154,.22);
}
.vx-cta-title .elementor-heading-title {
  text-transform:uppercase; font-size:32px !important; font-weight:950 !important; color:#0b1133;
}
.vx-cta-sub .elementor-widget-container, .vx-small-note .elementor-widget-container { color:#5b6880; }
.vx-filter-pills, .vx-service-chips, .vx-client-logos {
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.vx-filter-pills span, .vx-service-chips span {
  padding:11px 18px; border-radius:10px; background:#fff; border:1px solid rgba(30,70,130,.12);
  color:#0d1437; font-size:13px; font-weight:700; box-shadow:0 8px 22px rgba(20,60,120,.05);
}
.vx-filter-pills span.active {
  background:linear-gradient(90deg,#f42d94,#0ab9ff); color:#fff; border:0;
}
.vx-case-card > .elementor-widget-wrap {
  padding:18px !important;
}
.vx-case-no .elementor-heading-title { color:#e72b96 !important; font-size:26px !important; }
.vx-metrics {
  display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:10px;
}
.vx-metrics span {
  border-radius:10px; background:rgba(255,255,255,.70); border:1px solid rgba(25,70,130,.10);
  padding:10px 6px; font-size:12px; color:#101635; text-align:center; font-weight:800;
}
.vx-client-logos {
  justify-content:space-between;
  padding:18px 0 6px;
}
.vx-client-logos span { font-weight:900; color:#1a2440; opacity:.78; font-size:18px; }
.vx-form-card, .vx-quick, .vx-meeting {
  background:rgba(255,255,255,.82);
  border:1px solid rgba(30,70,130,.10);
  border-radius:20px;
  box-shadow:0 15px 34px rgba(20,60,120,.08);
  padding:24px;
}
.vx-form-card h2, .vx-quick h2, .vx-meeting h3 {
  margin-top:0; text-transform:uppercase;
  background:linear-gradient(90deg,#ee2d97,#07b8ff);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.vx-form-card p { color:#5e6b80; }
.vx-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 20px; }
.vx-form-grid label { display:flex; flex-direction:column; gap:7px; font-size:13px; color:#17213d; font-weight:800; }
.vx-form-grid label.wide { grid-column:1/-1; }
.vx-form-grid input, .vx-form-grid textarea {
  border:1px solid rgba(30,70,130,.13);
  border-radius:10px;
  background:#fff;
  padding:14px;
  color:#0d1236;
  min-height:48px;
}
.vx-form-grid textarea { min-height:96px; resize:vertical; }
.vx-upload {
  margin-top:14px;
  border:1px dashed rgba(0,153,255,.35);
  border-radius:12px;
  text-align:center;
  padding:20px;
  color:#46546a;
  background:rgba(250,253,255,.70);
}
.vx-form-bottom { display:flex; gap:18px; align-items:center; margin-top:14px; }
.vx-form-bottom button { min-width:260px; cursor:pointer; }
.vx-form-bottom span { color:#5a667a; font-size:13px; }
.vx-quick-card {
  display:flex; align-items:center; gap:14px; margin:12px 0; padding:15px; border-radius:14px; background:#fff;
  border:1px solid rgba(30,70,130,.10); box-shadow:0 10px 25px rgba(20,60,120,.06);
}
.vx-quick-card i { width:46px; height:46px; display:grid; place-items:center; color:#e72d99; border-radius:13px; background:rgba(236,45,152,.08); font-size:22px; }
.vx-quick-card div { flex:1; }
.vx-quick-card b, .vx-quick-card span, .vx-quick-card small { display:block; }
.vx-quick-card span { color:#0d1236; font-weight:700; }
.vx-quick-card small { color:#677388; }
.vx-quick-card em { font-style:normal; font-size:24px; }
.vx-meeting { margin-top:18px; display:flex; gap:18px; align-items:center; }
.vx-meeting > i { font-size:44px; color:#9a3aff; }
.vx-service-chips { justify-content:space-between; }
.vx-address { color:#354158; line-height:1.8; }
.vx-faq div {
  padding:15px 16px;
  border:1px solid rgba(30,70,130,.10);
  border-radius:11px;
  margin-bottom:10px;
  background:#fff;
  color:#18213a;
  font-weight:800;
  display:flex;
  justify-content:space-between;
}
.vx-faq span { color:#e42b96; }
.vx-footer {
  padding-top:20px !important;
}
.vx-footer > .elementor-container {
  background:rgba(255,255,255,.88);
  border:1px solid rgba(30,70,130,.10);
  border-radius:22px 22px 0 0;
  box-shadow:0 -6px 30px rgba(20,60,120,.05);
  padding:24px !important;
}
.vx-footer-logo img { max-width:230px; max-height:130px; object-fit:contain; object-position:left center; }
.rtl .vx-footer-logo img { object-position:right center; }
.vx-footer-list h4 { margin:0 0 12px; color:#e62a97; text-transform:uppercase; font-size:14px; letter-spacing:1px; }
.vx-footer-list ul { margin:0; padding:0; list-style:none; }
.vx-footer-list li { color:#303c55; font-size:13px; line-height:1.8; }
.vx-social { display:flex; gap:10px; margin-top:10px; }
.vx-social span {
  width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#fff; border:1px solid rgba(20,60,120,.12); color:#17213d; font-size:11px; font-weight:800;
}
.vx-copy { padding-top:0 !important; padding-bottom:16px !important; }
.vx-copy > .elementor-container {
  background:rgba(255,255,255,.88);
  border:1px solid rgba(30,70,130,.10);
  border-top:0;
  border-radius:0 0 22px 22px;
  padding:12px 24px !important;
}
.vx-copy-text .elementor-widget-container { color:#5f6c80; font-size:13px; }
.vx-copy-right .elementor-widget-container { text-align:right; }
.rtl .vx-copy-right .elementor-widget-container { text-align:left; }
body.vouox-rtl, body.vouox-rtl .elementor { direction:rtl; }
body.vouox-rtl .vx-nav { direction:rtl; }
body.vouox-rtl .vx-title .elementor-heading-title { max-width:760px; }
body.vouox-rtl .vx-project-card .elementor-widget-wrap .vx-arrow { left:12px; right:auto; transform:rotate(180deg); }

@media (max-width: 1024px) {
  .vx-title .elementor-heading-title { font-size:42px !important; }
  .vx-badges { grid-template-columns:repeat(2,1fr); }
  .vx-pricing-grid { grid-template-columns:1fr; }
  .vx-form-grid { grid-template-columns:1fr; }
  .vx-service-chips, .vx-client-logos { justify-content:center; }
  .vx-process-line > .elementor-container:before { display:none; }
}
@media (max-width: 767px) {
  .vx-header > .elementor-container { border-radius:18px; }
  .vx-nav { gap:12px; }
  .vx-nav a { padding:8px 2px; font-size:12px; }
  .vx-brand img { height:44px; }
  .vx-title .elementor-heading-title { font-size:34px !important; }
  .vx-section-title .elementor-heading-title { font-size:22px !important; }
  .vx-slogan { letter-spacing:4px; font-size:12px; }
  .vx-slogan i { flex-basis:40px; }
  .vx-badges { grid-template-columns:1fr; }
  .vx-project-image img { height:180px; }
  .vx-stat-col:not(:last-child) { border-right:0; border-bottom:1px solid rgba(30,70,130,.10); }
  .vx-form-bottom { flex-direction:column; align-items:stretch; }
  .vx-form-bottom button { width:100%; min-width:0; }
}
