.elementor-40 .elementor-element.elementor-element-trm00010 > .elementor-container{max-width:100px;}.elementor-40 .elementor-element.elementor-element-trm00010{padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-trm00007 > .elementor-container{max-width:820px;}.elementor-40 .elementor-element.elementor-element-trm00007{padding:110px 24px 96px 24px;}.elementor-40 .elementor-element.elementor-element-trm00006.elementor-column > .elementor-widget-wrap{justify-content:left;}.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-40 .elementor-element.elementor-element-trm00001{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;text-align:center;}.elementor-40 .elementor-element.elementor-element-trm00001 .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-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-trm00002{--divider-border-style:solid;--divider-color:#7c5cff;--divider-border-width:2px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;}.elementor-40 .elementor-element.elementor-element-trm00002 .elementor-divider-separator{width:54px;margin:0 auto;margin-center:0;}.elementor-40 .elementor-element.elementor-element-trm00002 .elementor-divider{text-align:center;padding-block-start:6px;padding-block-end:6px;}.elementor-40 .elementor-element.elementor-element-trm00003{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;text-align:center;}.elementor-40 .elementor-element.elementor-element-trm00003 .elementor-heading-title{font-family:"Newsreader", Sans-serif;font-size:44px;font-weight:600;text-transform:none;line-height:1.15em;letter-spacing:0px;color:#e6edf3;}.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-40 .elementor-element.elementor-element-trm00004{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;color:#e6edf3;}.elementor-40 .elementor-element.elementor-element-trm00005{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;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-40 .elementor-element.elementor-element-trm00007{padding:90px 20px 70px 20px;}.elementor-40 .elementor-element.elementor-element-trm00003 .elementor-heading-title{font-size:32px;}}/* 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-40 { background: #05060a; color: #e6edf3; }
body.page-id-40 .elementor { position: relative; z-index: 3; }

/* ---- AURORA background layer (ported from styles.css .aurora) ---- */
body.page-id-40::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-40::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-40 .elementor-widget-heading .elementor-heading-title { position: relative; }


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


body.page-id-40 .elementor-widget-text-editor a,
body.page-id-40 .elementor-widget-text-editor a:link,
body.page-id-40 .elementor-widget-text-editor a:visited,
body.page-id-40 .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);}

body.page-id-40 #site-header, body.page-id-40 #site-footer { display:none !important; }
.nw-statnum .elementor-heading-title, .nw-statnum { white-space:nowrap; }/* End custom CSS */