.elementor-37 .elementor-element.elementor-element-sub00009 > .elementor-container{max-width:100px;}.elementor-37 .elementor-element.elementor-element-sub00009{padding:0px 0px 0px 0px;}.elementor-37 .elementor-element.elementor-element-sub00003 > .elementor-container{max-width:760px;}.elementor-37 .elementor-element.elementor-element-sub00003{padding:80px 0px 40px 0px;}.elementor-37 .elementor-element.elementor-element-sub00002.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-37 .elementor-element.elementor-element-sub00002 > .elementor-element-populated{padding:0px 24px 0px 24px;}.elementor-37 .elementor-element.elementor-element-sub00001{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-37 .elementor-element.elementor-element-sub00006 > .elementor-container{max-width:640px;}.elementor-37 .elementor-element.elementor-element-sub00006{padding:0px 0px 90px 0px;}.elementor-37 .elementor-element.elementor-element-sub00005.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-37 .elementor-element.elementor-element-sub00005 > .elementor-element-populated{padding:0px 24px 0px 24px;}.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-37 .elementor-element.elementor-element-sub00004{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;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-37 .elementor-element.elementor-element-sub00003{padding:60px 0px 30px 0px;}.elementor-37 .elementor-element.elementor-element-sub00006{padding:0px 0px 64px 0px;}}/* 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-37 { background: #05060a; color: #e6edf3; }
body.page-id-37 .elementor { position: relative; z-index: 3; }

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


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


body.page-id-37 .elementor-widget-text-editor a,
body.page-id-37 .elementor-widget-text-editor a:link,
body.page-id-37 .elementor-widget-text-editor a:visited,
body.page-id-37 .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-37 #site-header, body.page-id-37 #site-footer { display:none !important; }
.nw-statnum .elementor-heading-title, .nw-statnum { white-space:nowrap; }

/* ===== Subscribe opt-in card ===== */
.sub-card { padding:48px 46px; }
.sub-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-family:JetBrains Mono; font-size:11px; letter-spacing:2.5px; text-transform:uppercase;
  color:#ff4f9a; padding:6px 12px; border-radius:9999px;
  background:rgba(255,79,154,0.12); border:1px solid rgba(255,79,154,0.35); margin-bottom:20px;
}
.sub-badge::before { content:""; width:6px; height:6px; border-radius:50%;
  background:#ff4f9a; box-shadow:0 0 10px #ff4f9a; }
.sub-h1 {
  font-family:Newsreader; font-weight:600; color:#e6edf3;
  font-size:clamp(40px,6vw,64px); line-height:1.04; letter-spacing:-0.02em; margin:0 0 18px;
}
.sub-h1 em {
  font-style:italic; font-weight:500;
  background:linear-gradient(135deg,#5fd4ff,#7c5cff,#ff4f9a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sub-lead { font-family:Inter; font-size:17px; line-height:1.65; color:#9aa3b2; margin:0 0 24px; max-width:560px; }
.sub-list { list-style:none; padding:0; margin:0 0 30px; display:grid; gap:12px; }
.sub-list li { display:flex; align-items:flex-start; gap:12px; font-family:Inter; font-size:15px; color:#e6edf3; line-height:1.5; }
.sub-tick { flex:0 0 auto; width:22px; height:22px; margin-top:1px; border-radius:50%;
  display:grid; place-items:center; font-size:12px; font-weight:700; color:#5fd4ff;
  background:rgba(95,212,255,0.12); border:1px solid rgba(95,212,255,0.35); }

/* ===== Capture form ===== */
.sub-form-wrap { }
.sub-capture { display:flex; gap:12px; flex-wrap:wrap; }
.sub-capture input {
  flex:1 1 240px; box-sizing:border-box;
  background:rgba(5,6,10,0.6); color:#e6edf3;
  border:1px solid rgba(255,255,255,0.10); border-radius:12px;
  padding:15px 17px; font-family:Inter; font-size:15px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.sub-capture input::placeholder { color:rgba(154,163,178,0.6); }
.sub-capture input:focus { outline:none; border-color:rgba(95,212,255,0.55); box-shadow:0 0 0 3px rgba(95,212,255,0.14); }
.sub-capture button {
  flex:0 0 auto; cursor:pointer; border:0;
  font-family:JetBrains Mono; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px;
  color:#05060a; padding:15px 30px; border-radius:12px;
  background:linear-gradient(135deg,#7c5cff,#ff4f9a);
  box-shadow:0 12px 34px rgba(124,92,255,0.32);
  transition:transform .2s ease, box-shadow .2s ease;
}
.sub-capture button:hover { transform:translateY(-2px); box-shadow:0 16px 44px rgba(124,92,255,0.48); }
.sub-capture.is-done button { opacity:0.6; }
.sub-note { display:block; margin-top:14px; font-family:JetBrains Mono; font-size:11px; letter-spacing:1.5px; color:rgba(154,163,178,0.7); }

@media (max-width:680px) {
  .sub-card { padding:34px 24px; }
  .sub-capture button { flex:1 1 100%; }
}/* End custom CSS */