:root{
  /* Light theme palette (no gradients) */
  --nx-bg: #f7f9ff;
  --nx-surface: #ffffff;
  --nx-surface-2: #f1f5ff;
  --nx-line: #d7e0f0;
  --nx-text: #0b1220;
  --nx-muted: #52647d;

  /* Bright accents */
  --nx-accent: #ff2e7a;   /* magenta */
  --nx-accent-2: #2a7bff; /* electric blue */
  --nx-warm: #ffb020;     /* amber */
  --nx-green: #16d17a;    /* vivid green */
}

html{ font-size:16px; }
body{
  background: var(--nx-bg);
  color: var(--nx-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .2px;
}

/* Links */
a{ color: inherit; text-decoration: none; }
a:hover{ color: var(--nx-accent-2); }

/* Navbar */
.navbar{
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(215,224,240,.95);
}
.navbar-brand{ font-weight: 900; letter-spacing: .6px; }
.brand-dot{ color: var(--nx-accent); }

.navbar .nav-link{
  color: var(--nx-text);
  font-weight: 700;
  opacity: .86;
}
.navbar .nav-link:hover{ opacity: 1; color: var(--nx-accent-2); }
.navbar .nav-link.active{ opacity: 1; }

.navbar-toggler{
  border: 1px solid rgba(215,224,240,.95) !important;
  border-radius: 12px;
  padding: .45rem .55rem;
}

/* Buttons */
.btn-nx{
  background: var(--nx-accent-2);
  border: 1px solid rgba(42,123,255,.35);
  color: #ffffff;
  font-weight: 800;
}
.btn-nx:hover{
  background: #1f66e0;
  color:#ffffff;
}

.btn-outline-nx{
  border: 1px solid rgba(255,46,122,.65);
  color: var(--nx-text);
  font-weight: 800;
  background: #ffffff;
}
.btn-outline-nx:hover{
  background: rgba(255,46,122,.08);
  color: var(--nx-text);
}
.btn:focus{ box-shadow: none; }

/* Layout */
.section{ padding: 84px 0; }
.section-alt{
  background: var(--nx-surface-2);
  border-top: 1px solid rgba(215,224,240,.95);
  border-bottom: 1px solid rgba(215,224,240,.95);
}

/* Hero */
.hero{ padding-top: 112px; padding-bottom: 72px; position: relative; overflow: hidden; }
.hero::before{
  content:"";
  position:absolute;
  inset: -40px -40px auto -40px;
  height: 260px;
  pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http://www.w3.org/2000/svg'%20width%3D'900'%20height%3D'260'%20viewBox%3D'0%200%20900%20260'%3E%0A%3Ccircle%20cx%3D'120'%20cy%3D'90'%20r%3D'8'%20fill%3D'%23ff2e7a'%20opacity%3D'.18'/%3E%0A%3Ccircle%20cx%3D'220'%20cy%3D'160'%20r%3D'10'%20fill%3D'%232a7bff'%20opacity%3D'.16'/%3E%0A%3Ccircle%20cx%3D'330'%20cy%3D'70'%20r%3D'7'%20fill%3D'%23ffb020'%20opacity%3D'.18'/%3E%0A%3Ccircle%20cx%3D'470'%20cy%3D'140'%20r%3D'9'%20fill%3D'%2316d17a'%20opacity%3D'.14'/%3E%0A%3Ccircle%20cx%3D'610'%20cy%3D'80'%20r%3D'12'%20fill%3D'%232a7bff'%20opacity%3D'.12'/%3E%0A%3Ccircle%20cx%3D'770'%20cy%3D'150'%20r%3D'10'%20fill%3D'%23ff2e7a'%20opacity%3D'.14'/%3E%0A%3Ccircle%20cx%3D'840'%20cy%3D'60'%20r%3D'6'%20fill%3D'%23ffb020'%20opacity%3D'.16'/%3E%0A%3Ccircle%20cx%3D'70'%20cy%3D'190'%20r%3D'6'%20fill%3D'%2316d17a'%20opacity%3D'.14'/%3E%0A%3Ccircle%20cx%3D'560'%20cy%3D'200'%20r%3D'7'%20fill%3D'%23ff2e7a'%20opacity%3D'.12'/%3E%0A%3C/svg%3E");
  background-repeat:no-repeat;
  background-size: 900px 260px;
  opacity: 1;
}
.hero::after{
  content:"";
  position:absolute;
  right: -120px;
  bottom: -140px;
  width: 340px;
  height: 340px;
  border-radius: 999px;
  border: 12px solid rgba(42,123,255,.14);
  pointer-events:none;
}

.hero-kicker{
  display:inline-flex;
  gap:.55rem;
  align-items:center;
  padding: 10px 14px;
  border: 1px solid rgba(215,224,240,.95);
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--nx-muted);
  font-weight: 800;
}

.small-muted{ color: var(--nx-muted); }

/* Cards */
.card-nx{
  background: var(--nx-surface);
  border: 1px solid rgba(215,224,240,.95);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(11,18,32,.08);
  position: relative;
}
.card-nx::before{
  content:"";
  position:absolute;
  left: 18px;
  top: 0;
  width: 52px;
  height: 4px;
  border-radius: 999px;
  background: var(--nx-accent-2);
  opacity: .9;
}
.card-nx .card-text{ color: var(--nx-muted); }

/* Icon pill */
.icon-pill{
  width: 46px; height: 46px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(255,46,122,.10);
  border: 1px solid rgba(255,46,122,.24);
  color: var(--nx-accent);
}

/* KPI */
.kpi{
  padding: 18px 16px;
  border-radius: 18px;
  background: var(--nx-surface);
  border: 1px solid rgba(215,224,240,.95);
  box-shadow: 0 10px 26px rgba(11,18,32,.06);
}
.kpi strong{ font-size: 1.35rem; display:block; }
.kpi span{ color: var(--nx-muted); font-weight: 800; }

/* Badges */
.badge-soft{
  border: 1px solid rgba(215,224,240,.95);
  background: rgba(255,255,255,.92);
  color: var(--nx-muted);
  padding: 7px 11px;
  border-radius: 999px;
  font-weight: 900;
}
.badge-soft i{ color: var(--nx-accent-2); }

.hr-soft{ border-color: rgba(215,224,240,.95); opacity: 1; }

/* Images */
.img-frame{
  border-radius: 24px;
  border: 1px solid rgba(215,224,240,.95);
  overflow:hidden;
  background: rgba(255,255,255,.85);
  box-shadow: 0 14px 34px rgba(11,18,32,.08);
}

/* Footer */
.footer{
  border-top: 1px solid rgba(215,224,240,.95);
  background: rgba(255,255,255,.75);
}
.footer a{ color: var(--nx-muted); font-weight: 800; }
.footer a:hover{ color: var(--nx-accent-2); }

/* Forms */
.form-control, .form-select{
  background: #ffffff;
  border: 1px solid rgba(215,224,240,.98);
  color: var(--nx-text);
  border-radius: 14px;
}
.form-control:focus, .form-select:focus{
  background: #ffffff;
  color: var(--nx-text);
  box-shadow: 0 0 0 4px rgba(42,123,255,.12);
  border-color: rgba(42,123,255,.55);
}

/* Cookie banner (home only via HTML) */
.cookie-banner{
  position: fixed;
  left: 16px; right: 16px; bottom: 16px;
  z-index: 1080;
  border-radius: 18px;
  border: 1px solid rgba(215,224,240,.98);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(11,18,32,.12);
  overflow: hidden;
}
.cookie-banner::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width: 6px;
  background: var(--nx-accent);
}
.cookie-banner p{ color: var(--nx-muted); margin: 0; }
.cookie-actions{ display:flex; gap: .5rem; flex-wrap:wrap; }

/* Scroll reveal */
.reveal{ opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity: 1; transform: translateY(0); }
