.elementor-51 .elementor-element.elementor-element-n4400007 > .elementor-container{max-width:100px;}.elementor-51 .elementor-element.elementor-element-n4400007{padding:0px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-n4400006 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-51 .elementor-element.elementor-element-n4400006:not(.elementor-motion-effects-element-type-background), .elementor-51 .elementor-element.elementor-element-n4400006 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#05060a;}.elementor-51 .elementor-element.elementor-element-n4400006 > .elementor-container{max-width:820px;min-height:66vh;}.elementor-51 .elementor-element.elementor-element-n4400006{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:90px 0px 90px 0px;}.elementor-51 .elementor-element.elementor-element-n4400006 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-51 .elementor-element.elementor-element-n4400005.elementor-column .elementor-widget-wrap{align-items:middle;}.elementor-51 .elementor-element.elementor-element-n4400005.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:middle;align-items:middle;}.elementor-51 .elementor-element.elementor-element-n4400005.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-51 .elementor-element.elementor-element-n4400005 > .elementor-element-populated{padding:0px 30px 0px 30px;}.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-51 .elementor-element.elementor-element-n4400001{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:center;}.elementor-51 .elementor-element.elementor-element-n4400001 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:2px;color:#5fd4ff;}.elementor-51 .elementor-element.elementor-element-n4400002{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;text-align:center;}.elementor-51 .elementor-element.elementor-element-n4400002 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:56px;font-weight:600;text-transform:none;line-height:1.15em;letter-spacing:0px;color:#ffffff;}.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-51 .elementor-element.elementor-element-n4400003{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-51 .elementor-element.elementor-element-n4400004{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}@media(max-width:767px){.elementor-51 .elementor-element.elementor-element-n4400002 .elementor-heading-title{font-size:34px;}}/* 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 .8s cubic-bezier(.16,.84,.34,1), transform .8s cubic-bezier(.16,.84,.34,1); transition-delay:var(--nw-d,0s); will-change:opacity,transform;}
@media (prefers-reduced-motion:no-preference){
  .nw-anim.nw-pre{opacity:0;transform:translateY(46px);}
  .nw-anim-l.nw-pre{transform:translateX(-58px);}
  .nw-anim-r.nw-pre{transform:translateX(58px);}
  .nw-anim-scale.nw-pre{transform:scale(.92);}
  .nw-anim-up-lg.nw-pre{transform:translateY(84px);}
}
.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);}


body.page-id-0 #site-header, body.page-id-0 #site-footer { display:none !important; }
.nw-statnum .elementor-heading-title, .nw-statnum { white-space:nowrap; }


.nw-404btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.nw-404a,.nw-404b { font-family:Inter; font-weight:600; font-size:15px; padding:13px 30px; border-radius:999px; text-decoration:none; transition:all .2s ease; }
.nw-404a { background:#5fd4ff; color:#05060a; } .nw-404a:hover { filter:brightness(1.12); transform:translateY(-2px); }
.nw-404b { border:1px solid rgba(255,255,255,.18); color:#e6edf3; } .nw-404b:hover { border-color:#5fd4ff; color:#5fd4ff; }/* End custom CSS */