:root {
  --nsd-bg: #14101b;
  --nsd-bg-elevated: #1e1826;
  --nsd-bg-contrast: #faf8fb;
  --nsd-text: #f6f2f8;
  --nsd-text-muted: #a89db1;
  --nsd-text-on-contrast: #14101b;
  --nsd-text-on-accent: #14101b;
  --nsd-accent: #9a6bdd;
  --nsd-accent-secondary: #ff4fa3;
  --nsd-border: #2a2233;
}


@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap');

body, .et_pb_module, p, li, span, div { font-family: 'Figtree', sans-serif !important; }
body { background-color: #14101b; color: #f6f2f8; }
h1, h2, h3, h4, h5, h6, .et_pb_heading__title { font-family: 'Figtree', sans-serif !important; font-weight: 500 !important; color: #f6f2f8 !important; }
a { color: #9a6bdd; }
a:hover { color: #ce0074; }

.et_pb_button, .et_pb_module.et_pb_button, button.et_pb_button {
  border-radius: 30px !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.et_pb_menu { background-color: #14101b !important; }
.et_pb_menu__logo-wrap img { max-height: 40px; width: auto; }
.et_pb_menu ul li a { color: #a89db1 !important; font-weight: 500; }

footer, .et-l--footer { background-color: #0d0a12 !important; }
footer a, .et-l--footer a { color: #a89db1 !important; }
footer h2, footer h3, .et-l--footer h2, .et-l--footer h3 { color: #f6f2f8 !important; }

.et-pb-icon, .et_pb_scroll_top, [class*="et-pb-icon"], .et-pb-icon:before, .et_pb_button::after, .et_pb_toggle_title:before { font-family: 'ETmodules' !important; }

.et_pb_button.btn-outline-dark { background-color: transparent !important; color: #9a6bdd !important; border: 1px solid #9a6bdd !important; }
.et_pb_column_27 { text-align: center; }
.et_pb_column_27 .et_pb_button_module_wrapper { display: inline-block; margin: 0 8px; }
.et_pb_menu ul li.nav-cta-button > a, .et_pb_menu .nav-cta-button > a, .nav-cta-button > a {
  background-color: #9a6bdd !important;
  color: #14101b !important;
  padding: 10px 22px !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
}
.nav-cta-button > a:hover { background-color: #ce0074 !important; color: #f6f2f8 !important; }

@keyframes floatMosaic { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.et_pb_section:first-of-type .et_pb_image img {
  animation: floatMosaic 6s ease-in-out infinite;
}


/* Prevent site theme styles from leaking into the Divi Builder's own settings panel UI */
#et-fb-app, #et-fb-app * {
  font-family: unset !important;
  color: unset !important;
  background-color: unset !important;
}






:root { --gcid-3xv0r8ilon: #14101b !important; }


.et-l--header img { max-width: 140px; width: 100%; height: auto; }
.et-l--header .et_pb_row { align-items: center; }

.et-l--header .et_pb_row { display: flex; align-items: center; }
.et-l--header .et_pb_row > .et_pb_column:first-child { flex: 0 0 160px; width: 160px; max-width: 160px; }
.et-l--header .et_pb_row > .et_pb_column:last-child { flex: 1 1 auto; width: auto; max-width: none; }

/* Social icon color: override Divi's default white (meant for a colored circle bg) with our accent variable */
.et_pb_social_icon a.icon::before { color: var(--nsd-accent) !important; }

/* Header cluster vertical alignment: normalize nav items, social icons, and toggle to the same center line */
.et-l--header .et_pb_menu ul.et-menu > li > a { display: flex; align-items: center; height: 36px; }
.et-l--header .et_pb_group { align-items: center; }

.et-l--header .et_pb_menu { display: flex; align-items: center; }


/* ===== Sticky header with a persistent bottom border, visible on scroll ===== */
.et-l--header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background-color: var(--gcid-xu1pnppae7);
  border-bottom: 1px solid var(--gcid-2dcwt0hoqe);
}