.elementor-kit-6{--e-global-color-secondary:#111111;--e-global-color-text:#111111;--e-global-color-accent:#E93DFF;--e-global-color-primary:#7A00FF;--e-global-color-3b54490:#A100FF;--e-global-color-2cafee1:#FF66D9;--e-global-color-75c920e:#1C0136;--e-global-color-9a99d29:#2b2f37;--e-global-color-480e724:#FFFFFF;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Sora";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Sora";--e-global-typography-accent-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root {
  /* Primary purple */
  --ji-purple:        #8B21FF;
  --ji-purple-mid:    #A855F7;
  --ji-purple-light:  #C084FC;

  /* Magenta / pink accent */
  --ji-magenta:       #D946EF;
  --ji-pink:          #E879F9;
  --ji-pink-light:    #F0ABFC;

  /* Gradients */
  --ji-grad-primary:  linear-gradient(135deg, #8B21FF 0%, #D946EF 100%);
  --ji-grad-accent:   linear-gradient(135deg, #A855F7 0%, #E879F9 100%);
  --ji-grad-text:     linear-gradient(135deg, #C084FC 0%, #E879F9 100%);

  /* ── DARK BACKGROUNDS — lighter purple-tinted ──
     These match the reference site: warm deep-purple, NOT black.
     Dark-1 is the primary hero bg, dark-2 for alternating dark sections.
     The SVG noise overlay is applied via .ji-noise pseudo-class.         */
  --ji-dark-1: #180E38;   /* primary dark — deep indigo-purple             */
  --ji-dark-2: #1E1245;   /* alternate dark — slightly lighter indigo       */
  --ji-dark-3: #261850;   /* card surfaces on dark bg                       */
  --ji-dark-card: rgba(255,255,255,0.04);

  /* Light backgrounds */
  --ji-light-1:    #F8F5FF;
  --ji-light-2:    #F0EBFF;
  --ji-light-card: #FFFFFF;

  /* Text */
  --ji-text-dark:   #0F0A1E;
  --ji-text-body:   #4B5563;
  --ji-text-muted:  #9CA3AF;

  /* Borders */
  --ji-border-dark:  rgba(255,255,255,0.09);
  --ji-border-light: rgba(139,33,255,0.13);

  /* Glows — tuned for lighter dark bg */
  --ji-glow-purple:  rgba(139,33,255,0.28);
  --ji-glow-magenta: rgba(217,70,239,0.18);

  /* Layout */
  --ji-max-width:   1240px;
  --ji-radius-card: 22px;
  --ji-radius-btn:  14px;
  --ji-radius-ico:  16px;
}

/* ================================================================
   NOISE / GRAIN TEXTURE OVERLAY — applied on dark section wrappers
   Creates the subtle texture visible on the reference site.
   Add class  ji-noise  to any dark section wrapper div.
================================================================ */
.ji-noise::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  /* SVG grain — tiny monochrome noise pattern */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-size: 200px 200px !important;
  mix-blend-mode: overlay !important;
  border-radius: inherit !important;
}

/* ================================================================
   GRID LINE OVERLAY — shared across all dark sections
================================================================ */
.ji-gridlines {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px) !important;
  background-size: 60px 60px !important;
}
/* Tighter grid variant */
.ji-gridlines-sm {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image:
    linear-gradient(rgba(139,33,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139,33,255,0.06) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}

/* ================================================================
   DOT PATTERN — light sections
================================================================ */
.ji-dots {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image: radial-gradient(rgba(139,33,255,0.07) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
}

/* ================================================================
   DIAGONAL STRIPE — light texture for alternating dark sections
================================================================ */
.ji-diag {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.018 !important;
  background-image: repeating-linear-gradient(
    45deg, #A855F7 0, #A855F7 1px, transparent 0, transparent 50%
  ) !important;
  background-size: 28px 28px !important;
}

/* ================================================================
   SHARED TYPOGRAPHY
================================================================ */
.ji-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}
.ji-label-dark  { color: #F0ABFC !important; }
.ji-label-light { color: var(--ji-purple, #8B21FF) !important; }
.ji-label::before, .ji-label::after {
  content: '' !important;
  width: 22px !important; height: 2px !important;
  background: var(--ji-grad-primary) !important;
  border-radius: 2px !important;
  display: inline-block !important; flex-shrink: 0 !important;
}

.ji-h2 {
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(26px, 3.5vw, 44px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -1px !important;
  margin-bottom: 14px !important;
}
.ji-h2-dark  { color: #ffffff !important; }
.ji-h2-light { color: var(--ji-text-dark, #0F0A1E) !important; }
.ji-h2 .ji-accent {
  background: var(--ji-grad-text) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.ji-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}
.ji-sub-dark  { color: rgba(255,255,255,0.46) !important; }
.ji-sub-light { color: var(--ji-text-body, #4B5563) !important; }

/* ================================================================
   SHARED CONTAINER
================================================================ */
.ji-container {
  max-width: var(--ji-max-width, 1240px) !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  position: relative !important;
  z-index: 2 !important;
}
@media (max-width: 560px) {
  .ji-container { padding: 0 20px !important; }
}

/* ================================================================
   SHARED BUTTONS
================================================================ */
.ji-btn-p {
  display: inline-flex !important; align-items: center !important; gap: 9px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  padding: 14px 28px !important; border-radius: var(--ji-radius-btn, 14px) !important;
  background: var(--ji-grad-primary) !important;
  color: #fff !important; text-decoration: none !important; border: none !important;
  cursor: pointer !important;
  box-shadow: 0 6px 28px rgba(139,33,255,0.42) !important;
  transition: all 0.35s !important;
}
.ji-btn-p:hover {
  box-shadow: 0 14px 40px rgba(217,70,239,0.55) !important;
  transform: translateY(-2px) !important; color: #fff !important;
}
.ji-btn-g {
  display: inline-flex !important; align-items: center !important; gap: 9px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important;
  padding: 13px 28px !important; border-radius: var(--ji-radius-btn, 14px) !important;
  background: transparent !important; color: rgba(255,255,255,0.72) !important;
  border: 1.5px solid rgba(255,255,255,0.18) !important;
  text-decoration: none !important; cursor: pointer !important; transition: all 0.35s !important;
}
.ji-btn-g:hover {
  border-color: rgba(139,33,255,0.55) !important;
  color: #fff !important; background: rgba(139,33,255,0.12) !important;
}

/* ================================================================
   SHARED SCROLL REVEAL
================================================================ */
.ji-reveal {
  opacity: 0 !important; transform: translateY(28px) !important;
  transition: opacity 0.68s ease, transform 0.68s ease !important;
}
.ji-reveal.ji-vis { opacity: 1 !important; transform: translateY(0) !important; }
.ji-reveal-l {
  opacity: 0 !important; transform: translateX(-28px) !important;
  transition: opacity 0.72s ease, transform 0.72s ease !important;
}
.ji-reveal-l.ji-vis { opacity: 1 !important; transform: translateX(0) !important; }
.ji-reveal-r {
  opacity: 0 !important; transform: translateX(28px) !important;
  transition: opacity 0.72s ease, transform 0.72s ease !important;
}
.ji-reveal-r.ji-vis { opacity: 1 !important; transform: translateX(0) !important; }

/* ================================================================
   SHARED CARD STYLES — dark bg card
================================================================ */
.ji-dark-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  border-radius: var(--ji-radius-card, 22px) !important;
  transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s !important;
}
.ji-dark-card:hover {
  border-color: rgba(139,33,255,0.35) !important;
  box-shadow: 0 20px 50px rgba(139,33,255,0.2) !important;
  transform: translateY(-5px) !important;
}

/* ================================================================
   SHARED ICON BOX
================================================================ */
.ji-ico-box {
  border-radius: var(--ji-radius-ico, 16px) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
  transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;
}
.ji-ico-box-dark {
  background: rgba(139,33,255,0.14) !important;
  border: 1px solid rgba(139,33,255,0.24) !important;
}
.ji-ico-box-light {
  background: #EDE9FE !important;
  border: 1px solid rgba(139,33,255,0.14) !important;
}/* End custom CSS */