.elementor-514 .elementor-element.elementor-element-0beab92{--display:flex;}.elementor-514 .elementor-element.elementor-element-e0276ff{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-e0276ff *//* NextGen footer — cohesive with homepage tokens */
:root{
  /* reuse site tokens where available */
  --ng-primary: #3b82f6;
  --ng-accent: #06b6d4;
  --ng-accent-2: #00d9ff;
  --ng-bg-dark: #020617;
  --ng-surface: #0f172a;
  --ng-text: #eef3ff;
  --ng-muted: #9ca3af;
  --ng-radius-lg: 18px;
  --ng-fast: 0.28s cubic-bezier(.4,0,.2,1);
  --ng-shadow-soft: 0 20px 50px rgba(2,6,23,0.6);
}

/* Full width footer shell */
.ng-footer-shell{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  position:relative;
  z-index:50;
  pointer-events:auto;
}

/* base footer */
footer.ng-footer{
  background: linear-gradient(180deg, rgba(2,6,23,1) 0%, rgba(10,14,24,1) 56%);
  color:var(--ng-text);
  padding:56px 0 28px;
  box-shadow: 0 -18px 40px rgba(0,0,0,0.6);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* subtle textured overlay aligned with homepage */
footer.ng-footer::before{
  content:"";
  position:absolute;
  inset:-20px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.01) 0 1px, transparent 1px 10px),
    linear-gradient(180deg, rgba(6,182,212,0.02), rgba(59,130,246,0.02));
  opacity:.45;
  mix-blend-mode: screen;
  pointer-events:none;
  z-index:0;
}

/* accent glow placed behind content */
.ng-footer-glow{
  position:absolute;
  right:6%;
  top:6%;
  width:420px;
  height:420px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(6,182,212,0.18), rgba(59,130,246,0.12) 30%, transparent 60%);
  filter: blur(28px);
  opacity:0.65;
  pointer-events:none;
  z-index:0;
}

/* inner wrapper */
.ng-footer-inner{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  flex-direction:column;
  gap:36px;
}

/* grid layout */
.ng-footer-grid{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap:28px;
  align-items:start;
}

/* headings */
.ng-footer h3 { margin:0 0 10px; font-weight:600; font-size:1.02rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ng-text); }
.ng-footer h4 { margin:0 0 10px; font-size:1rem; color:var(--ng-text); }

/* text */
.ng-footer p, .ng-footer li, .ng-footer a, .ng-footer span { color:var(--ng-muted); font-size:.95rem; line-height:1.6; }
.ng-footer a { color:var(--ng-muted); text-decoration:none; transition: color var(--ng-fast), transform var(--ng-fast); }
.ng-footer a:hover { color:var(--ng-accent); transform:translateY(-2px); }

/* social buttons */
.ng-footer-social { display:flex; gap:10px; margin-top:12px; }
.ng-footer-social a{
  display:inline-grid; place-items:center; width:40px; height:40px; border-radius:999px;
  background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.04);
  transition: all var(--ng-fast);
}
.ng-footer-social a:hover { background: linear-gradient(135deg,var(--ng-accent),var(--ng-accent-2)); box-shadow: 0 0 18px rgba(0,217,255,0.12); border-color: transparent; }
.ng-footer-social svg { width:18px; height:18px; fill:var(--ng-text); transition: fill var(--ng-fast); }
.ng-footer-social a:hover svg { fill:#051021; }

/* CTA */
.ng-footer-cta{
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px;
  background: linear-gradient(135deg, var(--ng-primary), var(--ng-accent)); color:#fff; border:none; font-weight:600; text-decoration:none;
  transition: transform var(--ng-fast), box-shadow var(--ng-fast);
}
.ng-footer-cta:hover{ transform:translateY(-3px); box-shadow: 0 18px 48px rgba(3,105,161,0.18); }

/* lists */
.ng-footer ul{ padding:0; margin:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.ng-footer li a{ display:inline-block; padding:4px 0; }

/* contact column */
.ng-footer-contact p { margin:4px 0; }
.ng-footer-contact a { display:inline-block; color:var(--ng-text); background: rgba(255,255,255,0.03); padding:8px 10px; border-radius:10px; border:1px solid rgba(255,255,255,0.03); }
.ng-footer-contact a:hover { background: linear-gradient(90deg,var(--ng-accent-2),var(--ng-accent)); color:#02101a; }

/* bottom bar */
.ng-footer-bottom{ border-top:1px solid rgba(255,255,255,0.06); padding-top:18px; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.ng-footer-bottom .left{ color:var(--ng-muted); font-size:.92rem; }
.ng-footer-bottom .right{ color:var(--ng-muted); font-size:.92rem; }

/* small screens */
@media (max-width:1024px){
  .ng-footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width:720px){
  .ng-footer-grid{ grid-template-columns: 1fr; }
  .ng-footer-glow{ display:none; }
  .ng-footer-social a{ width:36px; height:36px; }
  .ng-footer-inner{ padding:0 18px; }
  .ng-footer-bottom{ flex-direction:column; align-items:flex-start; gap:8px; }
}/* End custom CSS */