.elementor-16 .elementor-element.elementor-element-nwf00020 > .elementor-container{max-width:100px;}.elementor-16 .elementor-element.elementor-element-nwf00020{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-nwf00013:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-nwf00013 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#05060a;}.elementor-16 .elementor-element.elementor-element-nwf00013 > .elementor-container{max-width:1300px;}.elementor-16 .elementor-element.elementor-element-nwf00013{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 40px 44px 40px;}.elementor-16 .elementor-element.elementor-element-nwf00013 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-16 .elementor-element.elementor-element-nwf00003.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-nwf00003 > .elementor-element-populated{padding:0px 30px 0px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-nwf00002{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00006.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-nwf00006 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-nwf00004{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-16 .elementor-element.elementor-element-nwf00004 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00005{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00009.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-nwf00009 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-16 .elementor-element.elementor-element-nwf00007{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-16 .elementor-element.elementor-element-nwf00007 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00008{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00012.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-nwf00012 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-16 .elementor-element.elementor-element-nwf00010{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-16 .elementor-element.elementor-element-nwf00010 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00011{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00016:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-nwf00016 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#03040a;}.elementor-16 .elementor-element.elementor-element-nwf00016 > .elementor-container{max-width:1300px;}.elementor-16 .elementor-element.elementor-element-nwf00016{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:20px 0px 20px 0px;}.elementor-16 .elementor-element.elementor-element-nwf00016 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-16 .elementor-element.elementor-element-nwf00015.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-nwf00014{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-16 .elementor-element.elementor-element-nwf00019 > .elementor-container{max-width:100px;}.elementor-16 .elementor-element.elementor-element-nwf00019{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-nwf00018.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Newsreader:ital,wght@0,400;0,500;1,400;1,500&display=swap');

/* ---- dark page background (styles --bg) ---- */
body.page-id-0 { background: #05060a; color: #e6edf3; }
body.page-id-0 .elementor { position: relative; z-index: 3; }

/* ---- AURORA background layer (ported from styles.css .aurora) ---- */
body.page-id-0::before {
  content: ""; position: fixed; inset: -20%; z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 40% at 20% 30%, rgba(124,92,255,0.35), transparent 70%),
    radial-gradient(ellipse 50% 50% at 80% 60%, rgba(95,212,255,0.25), transparent 70%),
    radial-gradient(ellipse 40% 30% at 50% 90%, rgba(255,79,154,0.15), transparent 70%);
  filter: blur(40px);
  animation: nwAuroraShift 18s ease-in-out infinite alternate;
}
/* ---- bg-grid layer (ported from styles.css .bg-grid) ---- */
body.page-id-0::after {
  content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 80%);
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 80%);
}
@keyframes nwAuroraShift {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-3%, 5%) scale(1.1); }
}

/* ---- frosted GLASS utility (ported from styles.css .glass). Apply .nw-glass
   to any widget/column via _css_classes. Hover lift + neon edge. ---- */
.nw-glass {
  background: rgba(12,16,28,0.55);
  -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 24px;
  position: relative; overflow: hidden;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .4s ease;
}
.nw-glass:hover {
  transform: translateY(-6px);
  border-color: rgba(95,212,255,0.35);
  box-shadow: 0 24px 60px rgba(95,212,255,0.12), 0 0 0 1px rgba(95,212,255,0.15);
}

/* ---- gradient text (ported from styles.css .grad). Apply .nw-grad to a
   heading; spans the neon -> violet -> pink sweep. ---- */
.nw-grad, .nw-grad .elementor-heading-title {
  background: linear-gradient(135deg, #5fd4ff 0%, #7c5cff 50%, #ff4f9a 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  background-size: 200% 200%; animation: nwGradShift 8s ease infinite;
}
@keyframes nwGradShift {
  0%,100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ---- eyebrow accent line (matches .section-eyebrow ::before) ---- */
body.page-id-0 .elementor-widget-heading .elementor-heading-title { position: relative; }


/* Tight section header spacing. */
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) {
  margin-block-end: 2px !important; margin-bottom: 2px !important;
}
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.15 !important;
}
body.page-id-0 .elementor-widget-divider {
  margin-block-start: 0 !important; margin-block-end: 6px !important;
  margin-top: 0 !important; margin-bottom: 6px !important;
}
body.page-id-0 .elementor-widget-divider .elementor-divider-separator {
  margin-inline: auto !important; margin-left: auto !important; margin-right: auto !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading {
  margin-block-start: 0 !important; margin-top: 0 !important;
  margin-block-end: 10px !important; margin-bottom: 10px !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.1 !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading + .elementor-widget-text-editor {
  margin-block-start: 4px !important; margin-top: 4px !important;
}


body.page-id-0 .elementor-widget-text-editor a,
body.page-id-0 .elementor-widget-text-editor a:link,
body.page-id-0 .elementor-widget-text-editor a:visited,
body.page-id-0 .elementor-widget-text-editor a:hover { color: #5fd4ff; }


.elementor-invisible{opacity:1 !important;visibility:visible !important;}
/* scroll-in reveal driven by the footer IntersectionObserver script (cross-browser).
   Content is VISIBLE by default; JS adds .nw-pre (hide) ONLY to below-fold elements
   then .nw-in (reveal) as they scroll in — so it can never leave content blank. */
.nw-anim{transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
@media (prefers-reduced-motion:no-preference){
  .nw-anim.nw-pre{opacity:0;transform:translateY(38px);}
}
.nw-anim.nw-in{opacity:1;transform:none;}
/* modern box hover (apply class .nw-box to cards/columns) */
.nw-box{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;}
.nw-box:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(95,212,255,.14);}

footer.site-footer, #site-footer { display:none !important; }
#nw-footer { border-top:1px solid rgba(255,255,255,0.08); }
#nw-footer > .elementor-container { display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:flex-start !important; gap:40px !important; max-width:1280px !important; margin:0 auto !important; }
#nw-footer .elementor-column { width:auto !important; flex:0 1 auto !important; }
#nw-footer .nw-flogo img { width:170px; height:auto; }
#nw-footer .nw-flist { display:flex; flex-direction:column; gap:11px; }
#nw-footer .nw-fl, #nw-footer .nw-fl:link, #nw-footer .nw-fl:visited {
  color:#9aa3b2 !important; text-decoration:none !important; font-family:Inter; font-size:15px;
  transition:color .2s ease, padding-left .2s ease; }
#nw-footer .nw-fl:hover { color:#5fd4ff !important; padding-left:5px; }
/* legal links in the bottom bar */
.nw-legal, .nw-legal:link, .nw-legal:visited { color:#9aa3b2 !important; text-decoration:none; }
.nw-legal:hover { color:#5fd4ff !important; }
/* cookie consent banner (shown once via the footer script) */
.nw-cookie { position:fixed; left:0; right:0; bottom:0; z-index:1200;
  background:rgba(11,14,24,0.96); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  color:#e6edf3; border-top:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; padding:14px 24px;
  font-family:Inter; font-size:14px; box-shadow:0 -6px 24px rgba(0,0,0,.4); }
.nw-cookie.nw-cookie-hidden { display:none; }
.nw-cookie a { color:#5fd4ff; text-decoration:underline; }
.nw-cookie-x { background:#5fd4ff; color:#05060a; border:0; border-radius:9999px; padding:9px 24px;
  font-family:JetBrains Mono; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.nw-cookie-x:hover { transform:translateY(-1px); box-shadow:0 0 24px rgba(95,212,255,0.5); }/* End custom CSS */