/* =========================================================
   AMLPRO — single stylesheet
   1. legacy   : original site styles (inner page content) + workflow builder
   2. reset    : neutralises legacy heading styles on redesigned pages
   3. unlayered: redesign (header, footer, home, pricing) — always wins over layers
   ========================================================= */
@layer legacy, reset;

@layer legacy {
/* =========================================================
   AMLPRO — Static Site Stylesheet
   Single stylesheet for the entire website.
   Organized as:
   1. Fonts
   2. CSS Variables / Theme (light + dark)
   3. Reset & Base
   4. Layout helpers
   5. Typography helpers
   6. Buttons & Links
   7. Header / Navigation / Mega menu
   8. Mobile menu
   9. Hero
   10. Sections / Cards / Grids
   11. Animations (hero flow, shield, platform, maps, dashboard, api console)
   12. Forms
   13. FAQ accordion
   14. Footer
   15. Loader
   16. Utilities
   17. Responsive
   ========================================================= */

/* 1. Fonts ------------------------------------------------ */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/sora-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/sora-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/sora-800.woff2') format('woff2');
}

/* 2. CSS Variables / Theme --------------------------------- */
:root {
  /* brand palette (from logo) */
  --navy-900: #161727;
  --navy-800: #191a2d;
  --navy-700: #22233c;
  --violet-900: #5420ac;
  --violet-700: #5a29ad;
  --violet-500: #8046e1;
  --violet-400: #9667e6;
  --violet-300: #b491ee;
  --risk-low: #17b26a;
  --risk-medium: #f5a524;
  --risk-high: #f04438;

  /* surface tokens (light default) */
  --bg: 255 255 255;
  --bg-subtle: 248 248 249;
  --bg-muted: 239 239 243;
  --text: 22 23 39;
  --text-secondary: 67 67 87;
  --text-muted: 115 115 134;
  --border: 22 23 39;
  --border-opacity: 0.09;
  --card: 255 255 255;
  --card-border: 22 23 39;
  --card-border-opacity: 0.08;
  --header-bg: 255 255 255;
  --header-bg-opacity: 0.78;
  --brand-violet: 128 70 225;
  --brand-indigo: 84 32 172;

  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --container-max: 1280px;
  --transition: 0.2s ease;
}

html.dark {
  --bg: 10 10 17;
  --bg-subtle: 14 15 26;
  --bg-muted: 19 20 35;
  --text: 244 242 248;
  --text-secondary: 190 190 206;
  --text-muted: 141 141 159;
  --border: 255 255 255;
  --border-opacity: 0.09;
  --card: 17 18 31;
  --card-border: 255 255 255;
  --card-border-opacity: 0.08;
  --header-bg: 10 10 17;
  --header-bg-opacity: 0.72;
  --brand-violet: 157 112 233;
  --brand-indigo: 121 74 201;
}

/* 3. Reset & Base ------------------------------------------ */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background-color: rgb(var(--bg));
  color: rgb(var(--text));
  font-family: 'Sora', ui-sans-serif, system-ui, -apple-system, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.25s ease, color 0.25s ease;
}
img, svg, video { max-width: 100%; display: block; }
/* responsive safety net: no sideways page scroll from any decorative overflow (clip keeps sticky header working) */
html, body { overflow-x: clip; }
@supports not (overflow-x: clip) { body { overflow-x: hidden; } }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
input, textarea { font: inherit; }
ul { list-style: none; }
::selection { background-color: rgb(var(--brand-violet) / 0.25); }
:focus-visible { outline: 2px solid rgb(var(--brand-violet)); outline-offset: 3px; border-radius: 2px; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgb(var(--text-muted) / 0.35); border-radius: 999px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 4. Layout helpers ------------------------------------------ */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 20px;
}
.section { padding: 64px 0; }
.section-subtle { background-color: rgb(var(--bg-subtle)); }
@media (min-width: 640px) { .section { padding: 80px 0; } .container { padding: 0 24px; } }
@media (min-width: 1024px) { .section { padding: 112px 0; } .container { padding: 0 32px; } }

.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(1, 1fr); }
.grid-3 { grid-template-columns: repeat(1, 1fr); }
.grid-4 { grid-template-columns: repeat(1, 1fr); }
@media (min-width: 640px) {
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
}

.two-col {
  display: grid;
  gap: 48px;
  align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) { .two-col { grid-template-columns: 1fr 1fr; gap: 64px; } }
.two-col.reverse-mobile-order-first { order: -1; }

/* 5. Typography helpers --------------------------------------- */
h1, h2, h3, h4 { font-family: 'Sora', ui-sans-serif, system-ui, sans-serif; font-weight: 600; letter-spacing: -0.02em; color: rgb(var(--text)); line-height: 1.15; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  border: 1px solid rgb(var(--brand-violet) / 0.28);
  background-color: rgb(var(--brand-violet) / 0.07);
  color: rgb(var(--brand-violet));
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.h1 { font-size: 40px; line-height: 1.1; }
.h2 { font-size: 32px; }
.h3 { font-size: 20px; }
@media (min-width: 640px) { .h1 { font-size: 48px; } .h2 { font-size: 36px; } }
@media (min-width: 1024px) { .h1 { font-size: 60px; } }
.lead { font-size: 17px; line-height: 1.7; color: rgb(var(--text-secondary)); }
.lead-lg { font-size: 18px; }
.text-center { text-align: center; }
.text-muted { color: rgb(var(--text-muted)); }
.text-secondary { color: rgb(var(--text-secondary)); }
.gradient-text {
  background: linear-gradient(100deg, #5420ac 0%, #8046e1 45%, #b491ee 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.section-head { max-width: 640px; margin-bottom: 48px; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head h2 { margin-top: 16px; }
.section-head p { margin-top: 16px; }

/* 6. Buttons & Links -------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 13px 26px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: all var(--transition);
  border: 1px solid transparent;
}
.btn-primary { color: #fff; background: linear-gradient(100deg, #5420ac 0%, #8046e1 100%); box-shadow: 0 0 0 1px rgb(128 70 225 / 0.15), 0 0 40px -8px rgb(128 70 225 / 0.35); }
.btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.btn-secondary { color: rgb(var(--text)); border-color: rgb(var(--card-border) / 0.18); background-color: rgb(var(--card) / 0.6); }
.btn-secondary:hover { border-color: rgb(var(--brand-violet) / 0.45); background-color: rgb(var(--brand-violet) / 0.06); }
.btn-white { background: #fff; color: var(--violet-900); }
.btn-white:hover { filter: brightness(0.97); }
.btn-outline-light { border-color: rgb(255 255 255 / 0.25); color: #fff; }
.btn-outline-light:hover { background-color: rgb(255 255 255 / 0.1); }
.btn-block { width: 100%; }
.btn svg { width: 16px; height: 16px; flex-shrink: 0; }

.link-underline { background-image: linear-gradient(currentColor, currentColor); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; transition: background-size 0.25s ease; }
.link-underline:hover { background-size: 100% 1px; }

.icon { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* 7. Header / Navigation / Mega menu ------------------------------ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  border-bottom: 1px solid transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
}
.site-header.is-scrolled {
  background-color: rgb(var(--header-bg) / var(--header-bg-opacity));
  backdrop-filter: blur(14px);
  border-bottom-color: rgb(var(--card-border) / 0.08);
  box-shadow: 0 8px 24px -16px rgb(22 23 39 / 0.18);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
@media (min-width: 1024px) { .header-inner { height: 80px; } }

.logo-link { display: inline-flex; align-items: center; border-radius: 12px; padding: 6px 10px; }
html.dark .logo-link { background-color: #fff; }
.logo-link img { height: 28px; width: auto; }
@media (min-width: 640px) { .logo-link img { height: 32px; } }

.main-nav { display: none; align-items: center; gap: 4px; }
@media (min-width: 1024px) { .main-nav { display: flex; } }
.nav-item { position: relative; }
.nav-link, .nav-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: rgb(var(--text-secondary));
  transition: color var(--transition);
}
.nav-link:hover, .nav-toggle:hover, .nav-item.is-open .nav-toggle { color: rgb(var(--text)); }
.nav-toggle svg { width: 14px; height: 14px; transition: transform var(--transition); }
.nav-item.is-open .nav-toggle svg { transform: rotate(180deg); }

.mega-menu {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -6px);
  width: min(720px, 90vw);
  padding-top: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 40;
}
.nav-item.is-open .mega-menu,
.nav-item:hover .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.mega-menu-panel {
  display: grid;
  gap: 24px;
  border-radius: 18px;
  padding: 24px;
  background-color: rgb(var(--card));
  border: 1px solid rgb(var(--card-border) / var(--card-border-opacity));
  box-shadow: 0 1px 2px rgb(22 23 39 / 0.04), 0 8px 24px -8px rgb(22 23 39 / 0.1);
}
.mega-menu-panel.cols-3 { grid-template-columns: repeat(3, 1fr); }
.mega-menu-panel.cols-2 { grid-template-columns: repeat(2, 1fr); }
.mega-menu-panel.cols-2-feature { grid-template-columns: 1fr 1fr 1fr; }
.mega-col-heading { margin-bottom: 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgb(var(--text-muted)); }
.mega-link { display: flex; flex-direction: column; border-radius: 10px; padding: 9px 10px; transition: background-color var(--transition); }
.mega-link:hover { background-color: rgb(var(--bg-subtle)); }
.mega-link .label { font-size: 14px; font-weight: 500; color: rgb(var(--text)); }
.mega-link .desc { font-size: 12px; color: rgb(var(--text-muted)); }
.mega-feature { display: flex; flex-direction: column; justify-content: space-between; border-radius: 14px; padding: 16px; background: linear-gradient(150deg, rgb(84 32 172 / 0.1), rgb(128 70 225 / 0.05)); transition: transform var(--transition); }
.mega-feature:hover { transform: translateY(-2px); }
.mega-feature .eyebrow-sm { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgb(var(--brand-violet)); }
.mega-feature .title { margin-top: 8px; font-family: 'Sora', sans-serif; font-size: 14px; font-weight: 700; color: rgb(var(--text)); }
.mega-feature .desc { margin-top: 4px; font-size: 12px; color: rgb(var(--text-muted)); }
.mega-feature .cta { margin-top: 16px; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: rgb(var(--brand-violet)); }

.header-actions { display: none; align-items: center; gap: 8px; }
@media (min-width: 1024px) { .header-actions { display: flex; } }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgb(var(--card-border) / 0.16);
  color: rgb(var(--text-secondary));
}
.theme-toggle .icon-moon { display: block; }
.theme-toggle .icon-sun { display: none; }
html.dark .theme-toggle .icon-moon { display: none; }
html.dark .theme-toggle .icon-sun { display: block; }

/* 8. Mobile menu --------------------------------------------------- */
.mobile-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgb(var(--card-border) / 0.16);
}
@media (min-width: 1024px) { .mobile-menu-btn { display: none; } }

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  flex-direction: column;
  background-color: rgb(var(--bg));
}
.mobile-menu.is-open { display: flex; }
.mobile-menu-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgb(var(--card-border) / 0.1); padding: 16px 20px; }
.mobile-menu-header .brand { font-family: 'Sora', sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: rgb(var(--brand-violet)); }
.mobile-menu-header .actions { display: flex; align-items: center; gap: 8px; }
.mobile-nav { flex: 1; overflow-y: auto; padding: 8px 20px; }
.mobile-nav-item { border-bottom: 1px solid rgb(var(--card-border) / 0.08); }
.mobile-nav-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 14px 0; text-align: left; font-family: 'Sora', sans-serif; font-size: 16px; font-weight: 600; }
.mobile-nav-toggle svg { width: 16px; height: 16px; transition: transform var(--transition); }
.mobile-nav-item.is-open .mobile-nav-toggle svg { transform: rotate(180deg); }
.mobile-nav-panel { display: none; grid-template-columns: 1fr; gap: 14px; padding-bottom: 16px; padding-left: 4px; }
.mobile-nav-item.is-open .mobile-nav-panel { display: grid; }
.mobile-nav-panel .group-heading { margin-bottom: 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgb(var(--text-muted)); }
.mobile-nav-panel a { display: block; padding: 5px 0; font-size: 14px; color: rgb(var(--text-secondary)); }
.mobile-menu-footer { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid rgb(var(--card-border) / 0.1); padding: 20px; }

/* 9. Hero --------------------------------------------------------- */
.hero { position: relative; overflow: hidden; padding-top: 56px; }
@media (min-width: 640px) { .hero { padding-top: 80px; } }
@media (min-width: 1024px) { .hero { padding-top: 96px; } }
.hero-glow { pointer-events: none; position: absolute; inset: 0 0 auto 0; height: 560px; background: radial-gradient(circle at 50% 0%, rgb(128 70 225 / 0.16), transparent 60%); }
.hero-inner { position: relative; max-width: 760px; margin: 0 auto; text-align: center; }
.hero-inner h1 { margin-top: 24px; }
.hero-inner .lead { max-width: 640px; margin: 24px auto 0; }
.hero-ctas { margin-top: 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
@media (min-width: 640px) { .hero-ctas { flex-direction: row; } }
.hero-visual { position: relative; max-width: 980px; margin: 56px auto 0; }
@media (min-width: 640px) { .hero-visual { margin-top: 64px; } }

.page-hero { position: relative; overflow: hidden; padding: 56px 0 48px; }
@media (min-width: 640px) { .page-hero { padding: 80px 0 56px; } }
@media (min-width: 1024px) { .page-hero { padding: 96px 0 64px; } }
.page-hero-glow { pointer-events: none; position: absolute; inset: 0 0 auto 0; height: 420px; background: radial-gradient(circle at 50% 0%, rgb(128 70 225 / 0.16), transparent 60%); }
.page-hero-content { position: relative; }
.page-hero-content.center { max-width: 640px; margin: 0 auto; text-align: center; }
.page-hero-content h1 { margin-top: 24px; }
.page-hero-content .lead { margin-top: 24px; }
.split-hero { position: relative; display: grid; gap: 48px; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .split-hero { grid-template-columns: 1fr 1fr; gap: 64px; } }
.split-hero h1 { margin-top: 24px; }
.split-hero .lead { margin-top: 24px; }
.split-hero .hero-ctas { justify-content: flex-start; align-items: flex-start; }
@media (max-width: 1023px) { .split-hero .hero-ctas { align-items: center; justify-content: center; text-align: center; } }

/* 10. Sections / Cards / Grids ------------------------------------- */
.card {
  background-color: rgb(var(--card));
  border: 1px solid rgb(var(--card-border) / var(--card-border-opacity));
  border-radius: var(--radius-xl);
  padding: 24px;
  box-shadow: 0 1px 2px rgb(22 23 39 / 0.04), 0 8px 24px -8px rgb(22 23 39 / 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card.hoverable:hover { transform: translateY(-4px); }
.card-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background-color: rgb(var(--brand-violet) / 0.1); color: rgb(var(--brand-violet)); margin-bottom: 20px; }
.card h3 { font-size: 18px; margin-bottom: 8px; }
.card p { font-size: 14px; color: rgb(var(--text-secondary)); line-height: 1.6; }
.card .card-link { margin-top: 20px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: rgb(var(--brand-violet)); }
.card .card-link svg { width: 16px; height: 16px; transition: transform var(--transition); }
.card:hover .card-link svg { transform: translateX(3px); }

.plain-card { border-radius: var(--radius-xl); padding: 24px; border: 1px solid rgb(var(--card-border) / 0.1); }

.pill { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 999px; border: 1px solid rgb(var(--card-border) / 0.16); padding: 18px 20px; font-size: 14px; font-weight: 500; }

.chip { display: inline-flex; border-radius: 999px; border: 1px solid rgb(var(--card-border) / 0.16); padding: 8px 16px; font-size: 14px; font-weight: 500; color: rgb(var(--text-secondary)); transition: opacity var(--transition); }
a.chip:hover { opacity: 0.75; }

.checklist { margin-top: 28px; display: flex; flex-direction: column; gap: 14px; }
.checklist li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: rgb(var(--text-secondary)); }
.checklist svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 2px; color: rgb(var(--brand-violet)); }

.step-list { margin-top: 28px; display: flex; flex-direction: column; gap: 20px; }
.step-list li { display: flex; gap: 16px; }
.step-num { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border-radius: 999px; font-family: 'Sora', sans-serif; font-size: 12px; font-weight: 700; color: #fff; background: linear-gradient(140deg, #5420ac, #9667e6); }
.step-list p { padding-top: 4px; font-size: 14px; color: rgb(var(--text-secondary)); line-height: 1.6; }

.process-grid { position: relative; margin-top: 56px; display: grid; gap: 40px 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .process-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .process-grid { grid-template-columns: repeat(6, 1fr); } }
.process-line { display: none; }
@media (min-width: 1024px) { .process-line { position: absolute; left: 0; right: 0; top: 24px; height: 1px; background: linear-gradient(90deg, transparent, rgb(150 103 230 / 0.4), transparent); display: block; } }
.process-step .step-num { position: relative; z-index: 1; }
.process-step h3 { margin-top: 16px; font-size: 16px; }
.process-step p { margin-top: 6px; font-size: 14px; color: rgb(var(--text-secondary)); }

.badge-status { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; }
.badge-status .dot { width: 6px; height: 6px; border-radius: 999px; }
.badge-clear { background-color: rgb(23 178 106 / 0.1); color: #0f9d5c; }
.badge-clear .dot { background-color: #17b26a; }
.badge-potential, .badge-review { background-color: rgb(245 165 36 / 0.12); color: #b3760f; }
.badge-potential .dot, .badge-review .dot { background-color: #f5a524; }
.badge-high { background-color: rgb(240 68 56 / 0.12); color: #c62a20; }
.badge-high .dot { background-color: #f04438; }

/* Dashboard mock ---------------------------------------------------- */
.dashboard-mock { position: relative; overflow: hidden; border-radius: 18px; background-color: rgb(var(--card)); border: 1px solid rgb(var(--card-border) / var(--card-border-opacity)); box-shadow: 0 1px 2px rgb(22 23 39 / 0.04), 0 8px 24px -8px rgb(22 23 39 / 0.1); }
.dashboard-titlebar { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgb(var(--card-border) / 0.1); padding: 14px 20px; }
.dashboard-titlebar .dot { width: 10px; height: 10px; border-radius: 999px; }
.dashboard-titlebar .url { margin-left: 12px; font-size: 12px; font-weight: 500; color: rgb(var(--text-muted)); }
.dashboard-grid { display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) { .dashboard-grid { grid-template-columns: 1fr 1fr; } }
.dashboard-col { padding: 20px 24px; border-bottom: 1px solid rgb(var(--card-border) / 0.1); }
@media (min-width: 768px) { .dashboard-col:first-child { border-bottom: none; border-right: 1px solid rgb(var(--card-border) / 0.1); } }
.dashboard-col .col-title { margin-bottom: 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgb(var(--text-muted)); }
.field-group { margin-bottom: 12px; }
.field-group label { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 500; color: rgb(var(--text-muted)); }
.field-value { border-radius: 8px; border: 1px solid rgb(var(--card-border) / 0.14); padding: 9px 12px; font-size: 14px; }
.result-row { display: flex; align-items: center; justify-content: space-between; border-radius: 8px; border: 1px solid rgb(var(--card-border) / 0.1); padding: 10px 14px; font-size: 14px; margin-bottom: 12px; }
.disclaimer { margin-top: 16px; font-size: 12px; color: rgb(var(--text-muted)); }

/* API console -------------------------------------------------------- */
.api-console { overflow: hidden; border-radius: 18px; border: 1px solid rgb(255 255 255 / 0.1); background-color: #0c0c15; box-shadow: 0 1px 2px rgb(0 0 0 / 0.3), 0 8px 32px -8px rgb(128 70 225 / 0.18); }
.api-console-bar { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgb(255 255 255 / 0.1); padding: 14px 20px; }
.api-console-bar .dot { width: 10px; height: 10px; border-radius: 999px; }
.api-console-bar .name { margin-left: 12px; font-size: 12px; font-weight: 500; color: rgb(255 255 255 / 0.5); }
.api-console-bar .live { margin-left: auto; display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #17b26a; }
.live-dot { width: 6px; height: 6px; border-radius: 999px; background-color: #17b26a; animation: ping 1.6s cubic-bezier(0,0,0.2,1) infinite; }
.api-console-grid { display: grid; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .api-console-grid { grid-template-columns: 1fr 1fr; } }
.api-console pre { overflow-x: auto; padding: 20px 24px; font-size: 12.5px; line-height: 1.7; color: rgb(255 255 255 / 0.8); border-bottom: 1px solid rgb(255 255 255 / 0.1); }
@media (min-width: 1024px) { .api-console pre:first-child { border-bottom: none; border-right: 1px solid rgb(255 255 255 / 0.1); } }
.api-console .k { color: #b491ee; }
.api-console .s { color: #e9e2f5; }
.api-console .g { color: #17b26a; }
.api-console .a { color: #f5a524; }
.api-console .b { color: #9667e6; }
.api-cursor { display: inline-block; width: 7px; height: 14px; transform: translateY(2px); background-color: #9667e6; animation: blink 1s step-end infinite; }

/* 11. Animations (SVG illustrations) ----------------------------------- */
.anim-frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid rgb(var(--card-border) / var(--card-border-opacity));
  background: linear-gradient(180deg, rgb(var(--card)) 0%, rgb(var(--bg-subtle)) 100%);
  background-image:
    linear-gradient(180deg, rgb(var(--card)) 0%, rgb(var(--bg-subtle)) 100%),
    radial-gradient(circle at 50% 0%, rgb(128 70 225 / 0.16), transparent 60%),
    radial-gradient(rgb(var(--text-muted) / 0.28) 1px, transparent 1px);
  background-size: auto, auto, 22px 22px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, black 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, black 40%, transparent 100%);
}
.anim-frame.ratio-4-3 { aspect-ratio: 4 / 3; }
.anim-frame.ratio-square { aspect-ratio: 1 / 1; }
.anim-frame.ratio-16-9 { aspect-ratio: 16 / 9; }
.anim-frame > svg, .anim-frame > .anim-inner { position: relative; width: 100%; height: 100%; }
.anim-frame .anim-pad { position: relative; height: 100%; width: 100%; padding: 24px; display: flex; align-items: center; justify-content: center; }

.hero-flow-frame { position: relative; overflow: hidden; border-radius: var(--radius-xl); border: 1px solid rgb(var(--card-border) / var(--card-border-opacity)); background: linear-gradient(180deg, rgb(var(--card)) 0%, rgb(var(--bg-subtle)) 100%); padding: 40px 16px; }
@media (min-width: 640px) { .hero-flow-frame { padding: 48px 32px; } }
.hero-flow-glow { pointer-events: none; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, rgb(128 70 225 / 0.16), transparent 60%); }
.hero-flow-scroll { position: relative; overflow-x: auto; padding-bottom: 4px; }
.hero-flow-track { position: relative; margin: 0 auto; min-width: 720px; max-width: 920px; }
.hero-flow-line { position: absolute; left: 4%; right: 4%; top: 22px; height: 1px; background: linear-gradient(90deg, rgb(84 32 172 / 0.15), rgb(150 103 230 / 0.55), rgb(84 32 172 / 0.15)); }
.hero-flow-particle { position: absolute; top: 22px; height: 7px; width: 7px; margin-top: -3.5px; border-radius: 999px; background: #b491ee; box-shadow: 0 0 10px 2px rgb(180 145 238 / 0.7); left: 4%; animation: flow-x 5.4s linear infinite; }
.hero-flow-particle.d2 { animation-delay: 1.8s; }
.hero-flow-particle.d3 { animation-delay: 3.6s; }
.hero-flow-stages { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 4px; }
.hero-flow-stage { display: flex; width: 76px; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
@media (min-width: 640px) { .hero-flow-stage { width: 92px; } }
.hero-flow-node { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgb(var(--card-border) / 0.18); background-color: rgb(var(--card)); color: rgb(var(--text-secondary)); }
.hero-flow-node svg { width: 20px; height: 20px; }
.hero-flow-node.is-final { border-color: rgb(var(--brand-violet)); background-color: rgb(var(--brand-violet) / 0.12); color: rgb(var(--brand-violet)); }
.hero-flow-node.is-final::after { content: ''; position: absolute; inset: 0; border-radius: 999px; border: 1.5px solid rgb(var(--brand-violet) / 0.6); animation: pulse-ring 2.4s cubic-bezier(0.2,0.6,0.4,1) infinite; }
.hero-flow-stage span { font-size: 11px; font-weight: 500; color: rgb(var(--text-secondary)); line-height: 1.3; }

.shield-wrap { position: relative; display: flex; align-items: center; justify-content: center; }
.shield-wrap svg { width: 100%; height: 100%; max-width: 240px; }
.shield-outline { fill: rgb(150 103 230 / 0.05); stroke: url(#shieldStroke); stroke-width: 2.4; stroke-linejoin: round; stroke-dasharray: 420; animation: shield-draw 3s cubic-bezier(0.65,0,0.35,1) forwards; }
.shield-symbol { color: #9667e6; opacity: 0; animation: shield-cycle 16.8s ease-in-out infinite; }
.shield-symbol.s2 { animation-delay: -2.4s; }
.shield-symbol.s3 { animation-delay: -4.8s; }
.shield-symbol.s4 { animation-delay: -7.2s; }
.shield-symbol.s5 { animation-delay: -9.6s; }
.shield-symbol.s6 { animation-delay: -12s; }
.shield-symbol.s7 { animation-delay: -14.4s; }

.dash-line { fill: none; stroke: #9667e6; stroke-width: 1.4; stroke-dasharray: 6 5; stroke-linecap: round; animation: dash-move 3.6s linear infinite; }
.dash-line.thin { stroke-width: 1.2; }
.dash-line.danger { stroke: #f04438; }
.dash-line.d1 { animation-delay: 0.2s; } .dash-line.d2 { animation-delay: 0.4s; } .dash-line.d3 { animation-delay: 0.6s; }
.dash-line.d4 { animation-delay: 0.8s; } .dash-line.d5 { animation-delay: 1s; } .dash-line.d6 { animation-delay: 1.2s; }

.platform-diagram { position: relative; }
.platform-diagram svg { width: 100%; height: 100%; }
.platform-spoke { stroke: rgb(150 103 230 / 0.35); stroke-width: 1.2; stroke-dasharray: 5 6; animation: dash-move-2 5s linear infinite; }
.platform-hub-ring { fill: none; stroke: #9667e6; stroke-width: 1.6; opacity: 0.5; animation: hub-pulse 3.6s ease-in-out infinite; }
.platform-module { position: absolute; display: flex; width: 74px; flex-direction: column; align-items: center; gap: 4px; text-align: center; transform: translate(-50%, -50%); }
.platform-module svg { width: 20px; height: 20px; color: #8046e1; }
.platform-module span { font-size: 10px; font-weight: 500; color: rgb(var(--text-secondary)); line-height: 1.3; }

.map-frame svg { width: 100%; height: 100%; }
.map-arc { fill: none; stroke: url(#arcGrad); stroke-width: 1.3; stroke-dasharray: 4 6; animation: dash-move-3 4.5s linear infinite; }
.map-node { fill: #8046e1; opacity: 0.85; }
.map-node.alert { fill: #f5a524; }
.map-alert-ring { fill: none; stroke: #f5a524; stroke-width: 1.2; }

.scan-line-overlay { position: absolute; left: 10%; right: 10%; top: 0; height: 32px; background: linear-gradient(180deg, transparent, rgb(150 103 230 / 0.22), transparent); animation: scan-line 3.2s linear infinite; }

.search-sweep { position: absolute; width: 48px; height: 48px; border-radius: 999px; border: 2px solid #9667e6; box-shadow: 0 0 24px 4px rgb(150 103 230 / 0.35); animation: search-sweep 7s ease-in-out infinite; }

.footer-network { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.7; }
.footer-line { stroke: url(#footerLineGrad); stroke-width: 1; animation: footer-flow 5s ease-in-out infinite; }
.footer-node { fill: #9667e6; animation: footer-node-float 6s ease-in-out infinite; }

/* keyframes */
@keyframes flow-x { 0% { left: 4%; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: 96%; opacity: 0; } }
@keyframes pulse-ring { 0% { transform: scale(0.9); opacity: 0.6; } 80%, 100% { transform: scale(1.8); opacity: 0; } }
@keyframes shield-draw { from { stroke-dashoffset: 420; } to { stroke-dashoffset: 0; } }
@keyframes shield-cycle {
  0% { opacity: 0; transform: scale(0.85); }
  4% { opacity: 1; transform: scale(1); }
  11% { opacity: 1; transform: scale(1); }
  16% { opacity: 0; transform: scale(1.08); }
  100% { opacity: 0; }
}
@keyframes dash-move { to { stroke-dashoffset: -110; } }
@keyframes dash-move-2 { to { stroke-dashoffset: -110; } }
@keyframes dash-move-3 { to { stroke-dashoffset: -80; } }
@keyframes hub-pulse { 0%, 100% { r: 58; opacity: 0.5; } 50% { r: 78; opacity: 0; } }
@keyframes scan-line { 0% { transform: translateY(-100%); } 100% { transform: translateY(340%); } }
@keyframes search-sweep {
  0% { top: 8%; left: 6%; } 25% { top: 8%; left: 72%; } 50% { top: 62%; left: 72%; } 75% { top: 62%; left: 6%; } 100% { top: 8%; left: 6%; }
}
@keyframes footer-flow { 0%, 100% { opacity: 0.15; } 50% { opacity: 0.7; } }
@keyframes footer-node-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } }
@keyframes blink { 50% { opacity: 0; } }
@keyframes spin-slow { to { transform: rotate(360deg); } }
@keyframes cta-drift { 0%, 100% { transform: translate(0,0); } 50% { transform: translate(12px,-10px); } }
@keyframes amlpro-draw { to { stroke-dashoffset: 0; } }

/* 12. Forms ------------------------------------------------------------ */
.form { display: flex; flex-direction: column; gap: 20px; border-radius: var(--radius-xl); padding: 24px; background-color: rgb(var(--card)); border: 1px solid rgb(var(--card-border) / var(--card-border-opacity)); box-shadow: 0 1px 2px rgb(22 23 39 / 0.04), 0 8px 24px -8px rgb(22 23 39 / 0.1); }
@media (min-width: 640px) { .form { padding: 32px; } }
.form-row { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .form-row.two { grid-template-columns: 1fr 1fr; } }
.form-field label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: rgb(var(--text-muted)); }
.form-field input, .form-field textarea {
  width: 100%;
  border-radius: 8px;
  border: 1px solid rgb(var(--card-border) / 0.18);
  background-color: transparent;
  padding: 10px 14px;
  font-size: 14px;
  color: rgb(var(--text));
  transition: border-color var(--transition);
}
.form-field input:focus, .form-field textarea:focus { border-color: rgb(var(--brand-violet)); outline: none; }
.form-note { font-size: 13px; color: rgb(var(--text-secondary)); }

/* 13. FAQ accordion --------------------------------------------------- */
.faq-list { border-top: 1px solid rgb(var(--card-border) / 0.1); }
.faq-item { border-bottom: 1px solid rgb(var(--card-border) / 0.1); }
.faq-question { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; text-align: left; font-family: 'Sora', sans-serif; font-size: 16px; font-weight: 600; }
.faq-question svg { width: 16px; height: 16px; flex-shrink: 0; color: rgb(var(--brand-violet)); transition: transform var(--transition); }
.faq-item.is-open .faq-question svg { transform: rotate(180deg); }
.faq-answer { display: none; padding-bottom: 20px; font-size: 14px; line-height: 1.7; color: rgb(var(--text-secondary)); }
.faq-item.is-open .faq-answer { display: block; }

/* 14. Footer ------------------------------------------------------------ */
.site-footer { position: relative; overflow: hidden; border-top: 1px solid rgb(var(--card-border) / var(--card-border-opacity)); background-color: rgb(var(--bg-subtle)); }
.footer-network-wrap { position: relative; height: 160px; width: 100%; overflow: hidden; }
@media (min-width: 640px) { .footer-network-wrap { height: 210px; } }
.footer-network-fade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgb(var(--bg-subtle)) 92%); }
.footer-top { margin-top: -40px; display: grid; gap: 40px; border-bottom: 1px solid rgb(var(--card-border) / 0.1); padding-bottom: 48px; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .footer-top { grid-template-columns: 1.4fr repeat(5, 1fr); } }
.footer-brand p { margin-top: 20px; max-width: 300px; font-size: 14px; color: rgb(var(--text-secondary)); line-height: 1.6; }
.footer-social { margin-top: 24px; display: flex; align-items: center; gap: 8px; }
.footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 999px; border: 1px solid rgb(var(--card-border) / 0.16); color: rgb(var(--text-secondary)); transition: all var(--transition); }
.footer-social a:hover { border-color: rgb(var(--brand-violet) / 0.4); color: rgb(var(--brand-violet)); }
.footer-social svg { width: 16px; height: 16px; }
.footer-col-heading { margin-bottom: 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgb(var(--text-muted)); }
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: 14px; color: rgb(var(--text-secondary)); }
.footer-bottom { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 12px; padding-top: 28px; font-size: 12px; color: rgb(var(--text-muted)); }
@media (min-width: 640px) { .footer-bottom { flex-direction: row; } }

/* 15. Loader --------------------------------------------------------- */
.site-loader { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; background-color: rgb(var(--bg)); transition: opacity 0.3s ease; }
.site-loader.is-done { opacity: 0; pointer-events: none; }
.site-loader.is-hidden { display: none; }
.loader-arc-draw { stroke-dasharray: 140; stroke-dashoffset: 140; animation: amlpro-draw 0.65s cubic-bezier(0.65,0,0.35,1) forwards; }

/* 16. Utilities -------------------------------------------------------- */
.mt-0 { margin-top: 0; }
.mt-sm { margin-top: 16px; }
.mt-md { margin-top: 32px; }
.mt-lg { margin-top: 48px; }
.center-col { display: flex; flex-direction: column; align-items: center; }
.max-w-sm { max-width: 480px; margin-left: auto; margin-right: auto; }
.max-w-md { max-width: 640px; }
.max-w-lg { max-width: 760px; }
.max-w-xl { max-width: 900px; margin-left: auto; margin-right: auto; }
.order-first-mobile { order: -1; }
@media (min-width: 1024px) { .order-first-mobile { order: 0; } }

/* Final CTA -------------------------------------------------------------- */
.final-cta { position: relative; overflow: hidden; border-radius: 24px; padding: 64px 24px; text-align: center; background: linear-gradient(135deg, #202139 0%, #5420ac 45%, #5a29ad 100%); }
@media (min-width: 640px) { .final-cta { padding: 80px 48px; } }
.final-cta-blobs { position: absolute; inset: 0; opacity: 0.4; animation: cta-drift 14s ease-in-out infinite; }
.final-cta-blob-a { position: absolute; left: -40px; top: 0; width: 256px; height: 256px; border-radius: 999px; background-color: rgb(150 103 230 / 0.4); filter: blur(64px); }
.final-cta-blob-b { position: absolute; right: -40px; bottom: 0; width: 288px; height: 288px; border-radius: 999px; background-color: rgb(180 145 238 / 0.3); filter: blur(64px); }
.final-cta-dots { position: absolute; inset: 0; opacity: 0.15; background-image: radial-gradient(rgba(255,255,255,0.6) 1px, transparent 1px); background-size: 22px 22px; }
.final-cta-content { position: relative; }
.final-cta-content h2 { color: #fff; font-size: 28px; }
@media (min-width: 640px) { .final-cta-content h2 { font-size: 34px; } }
.final-cta-content p { margin: 16px auto 0; max-width: 100%; font-size: 15px; color: rgb(255 255 255 / 0.75); }
.final-cta-ctas { margin-top: 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
@media (min-width: 640px) { .final-cta-ctas { flex-direction: row; } }

/* Legal pages -------------------------------------------------------------- */
.legal-content { max-width: 760px; margin: 0 auto; padding: 40px 20px 80px; }
@media (min-width: 640px) { .legal-content { padding: 56px 24px 96px; } }
@media (min-width: 1024px) { .legal-content { padding: 72px 32px 112px; } }
@media (min-width: 640px) { .legal-content { padding-top: 40px; } }
.legal-updated { margin-top: 12px; font-size: 14px; color: rgb(var(--text-muted)); }
.legal-section { margin-top: 28px; }
.legal-section h2 { font-size: 20px; }
.legal-section p, .legal-section li { margin-top: 12px; font-size: 14px; line-height: 1.7; color: rgb(var(--text-secondary)); }

/* Not found ---------------------------------------------------------------- */
.notfound { position: relative; min-height: 70vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.notfound-inner { position: relative; max-width: 480px; text-align: center; padding: 0 20px; }
.notfound-inner h1 { margin-top: 24px; }
.notfound-inner p { margin-top: 16px; }
.notfound-inner .btn { margin-top: 32px; }

/* =========================================================
   18. v2 — Modernization layer
   Dark header / heroes / footer, mega menus, loader,
   morph animations, scroll reveal, product tour player
   ========================================================= */
html { scroll-padding-top: 96px; }
body { text-rendering: optimizeLegibility; }
a { color: inherit; }
a:hover { color: inherit; }
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 200; padding: 10px 16px; border-radius: 10px; background: #fff; color: #161727; font-weight: 600; font-size: 14px; }
.skip-link:focus { top: 12px; }

/* Dark scope — re-maps tokens so every component inside renders dark */
.site-header, .mobile-menu, .hero-dark, .section-dark, .site-footer, .site-loader {
  --bg: 10 11 19;
  --bg-subtle: 16 17 29;
  --bg-muted: 22 22 38;
  --text: 245 243 248;
  --text-secondary: 198 198 212;
  --text-muted: 154 154 170;
  --card: 18 19 33;
  --card-border: 255 255 255;
  --card-border-opacity: 0.09;
  --brand-violet: 177 141 238;
  --brand-indigo: 139 93 217;
  color: rgb(var(--text));
}
.hero-dark .gradient-text, .section-dark .gradient-text { background-image: linear-gradient(100deg, #a277eb 0%, #c4a8f2 50%, #ebe4f7 100%); }
.hero-dark .eyebrow, .section-dark .eyebrow { border-color: rgb(177 141 238 / 0.35); background-color: rgb(177 141 238 / 0.1); color: #d6c8ed; }
.hero-dark .btn-secondary, .section-dark .btn-secondary, .site-header .btn-secondary { border-color: rgb(255 255 255 / 0.18); background-color: rgb(255 255 255 / 0.04); }
.hero-dark .btn-secondary:hover, .site-header .btn-secondary:hover { border-color: rgb(177 141 238 / 0.6); background-color: rgb(177 141 238 / 0.1); }

/* Header */
.site-header { background-color: rgb(10 11 19 / 0.82); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px); border-bottom: 1px solid rgb(255 255 255 / 0.06); }
.site-header.is-scrolled { background-color: rgb(10 11 19 / 0.94); border-bottom-color: rgb(255 255 255 / 0.08); box-shadow: 0 10px 30px -18px rgb(0 0 0 / 0.7); }
.header-inner { position: relative; }
.site-header .logo-link, .site-footer .logo-link, html.dark .site-header .logo-link, html.dark .site-footer .logo-link { background: none; padding: 6px 0; }
.site-header .logo-link img { height: 30px; width: auto; }
@media (min-width: 640px) { .site-header .logo-link img { height: 34px; } }
.main-nav { align-self: stretch; gap: 2px; }
.nav-item { position: static; display: flex; align-items: center; height: 100%; }
.nav-toggle, .nav-link { color: rgb(var(--text-secondary)); padding: 8px 14px; transition: color .2s ease, background-color .2s ease; }
.nav-toggle:hover, .nav-item.is-open .nav-toggle, .nav-item:hover .nav-toggle { color: #fff; background-color: rgb(255 255 255 / 0.06); }
.nav-item:hover .nav-toggle svg { transform: rotate(180deg); }
.site-header .theme-toggle, .site-header .mobile-menu-btn { border-color: rgb(255 255 255 / 0.16); color: rgb(var(--text-secondary)); }

.mega-menu { left: 50%; top: 100%; width: min(1060px, calc(100vw - 32px)); padding-top: 0; transform: translate(-50%, 10px); transition: opacity .22s ease, transform .22s cubic-bezier(.2,.7,.2,1), visibility .22s; }
.mega-menu.w-md { width: min(860px, calc(100vw - 32px)); }
.mega-menu.w-sm { width: min(680px, calc(100vw - 32px)); }
.nav-item.is-open .mega-menu, .nav-item:hover .mega-menu { transform: translate(-50%, 0); }
.mega-v2 {
  position: relative; display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)) 272px; gap: 6px 18px;
  padding: 20px; border-radius: 20px; background-color: rgb(16 16 28 / 0.985);
  border: 1px solid rgb(255 255 255 / 0.08);
  box-shadow: 0 30px 70px -24px rgb(0 0 0 / 0.75), 0 0 0 1px rgb(128 70 225 / 0.06), inset 0 1px 0 rgb(255 255 255 / 0.04);
  overflow: hidden;
}
.mega-v2::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgb(177 141 238 / 0.6), transparent); }
.mega-col { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mega-v2 .mega-col-heading { margin: 4px 10px 8px; color: rgb(var(--text-muted)); }
.mega-link.v2 { flex-direction: row; align-items: flex-start; gap: 12px; padding: 10px; border-radius: 12px; }
.mega-link.v2:hover { background-color: rgb(255 255 255 / 0.05); }
.mega-link.v2 .label { color: #fff; font-weight: 600; font-size: 14px; line-height: 1.3; }
.mega-link.v2 .desc { display: block; margin-top: 2px; line-height: 1.4; }
.mega-link.v2 > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.mega-ico { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #c7aef2; background-color: rgb(150 103 230 / 0.12); border: 1px solid rgb(150 103 230 / 0.22); transition: background .25s ease, color .25s ease, transform .25s ease; }
.mega-ico svg { width: 18px; height: 18px; }
.mega-link.v2:hover .mega-ico { color: #fff; background: linear-gradient(140deg, #5420ac, #9667e6); border-color: transparent; transform: translateY(-1px); }
.nav-item:hover .mega-link.v2, .nav-item.is-open .mega-link.v2 { animation: mega-in .38s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--i, 0) * 28ms); }
@keyframes mega-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.mega-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; min-height: 100%; padding: 20px; border-radius: 16px; overflow: hidden; color: #fff;
  background: radial-gradient(120% 90% at 100% 0%, rgb(150 103 230 / 0.55), transparent 60%), linear-gradient(160deg, #262743 0%, #151524 100%);
  border: 1px solid rgb(177 141 238 / 0.25); transition: transform .25s ease, border-color .25s ease; }
.mega-card:hover { transform: translateY(-2px); border-color: rgb(177 141 238 / 0.55); color: #fff; }
.mega-card .k { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #d6c8ed; }
.mega-card .t { margin-top: 8px; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.3; }
.mega-card .d { margin-top: 6px; font-size: 13px; line-height: 1.5; color: rgb(255 255 255 / 0.72); }
.mega-card .cta { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #fff; }
.mega-card .cta svg { width: 14px; height: 14px; transition: transform .2s ease; }
.mega-card:hover .cta svg { transform: translateX(3px); }
.mega-card .code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; line-height: 1.6; padding: 10px 12px; border-radius: 10px; background: rgb(0 0 0 / 0.35); border: 1px solid rgb(255 255 255 / 0.08); color: #e9e2f5; white-space: pre; overflow: hidden; }
.mega-card .code b { color: #17b26a; font-weight: 600; }
.mega-card .play { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: #fff; color: #5420ac; box-shadow: 0 0 0 8px rgb(255 255 255 / 0.1); }
.mega-card .play svg { width: 16px; height: 16px; fill: currentColor; stroke: none; margin-left: 2px; }
.mega-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; margin-top: 8px; padding: 14px 10px 2px; border-top: 1px solid rgb(255 255 255 / 0.07); font-size: 13px; color: rgb(var(--text-muted)); }
.mega-foot a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: #d6c8ed; }
.mega-foot a:hover { color: #fff; }
.mega-foot a svg { width: 14px; height: 14px; }
.mega-foot .links { display: flex; gap: 18px; flex-wrap: wrap; }

/* Mobile menu */
.mobile-menu { background: #0a0b13; }
.mobile-menu-header img { height: 28px; width: auto; }
.mobile-nav-panel a { display: flex; align-items: center; gap: 10px; padding: 8px 0; color: rgb(var(--text-secondary)); }
.mobile-nav-panel a svg { width: 16px; height: 16px; color: #c7aef2; flex: none; }
.mobile-nav-panel a:hover { color: #fff; }

/* Loader — logo reveal following the logo's arc, left to right */
.site-loader { background: radial-gradient(60% 50% at 50% 45%, rgb(128 70 225 / 0.22), transparent 70%), #0a0b13; flex-direction: column; gap: 28px; transition: opacity .45s ease, visibility .45s; }
html.no-loader .site-loader { display: none; }
.site-loader { z-index: 200; background: radial-gradient(60% 50% at 50% 45%, rgb(152 104 232 / 0.14), transparent 70%), #fff; }
.loader-logo { position: relative; width: min(260px, 62vw); aspect-ratio: 495 / 73; }
.loader-logo img { position: absolute; inset: 0; width: 100%; height: 100%; clip-path: inset(0 100% 0 0); animation: loader-reveal 1s cubic-bezier(.65,0,.35,1) .1s forwards; }
.loader-logo .ghost { opacity: 0.1; clip-path: none; animation: none; }
.loader-sheen { position: absolute; top: -12%; bottom: -12%; left: 0; width: 3px; border-radius: 3px; background: linear-gradient(180deg, transparent, #9868e8, transparent); box-shadow: 0 0 18px 4px rgb(152 104 232 / 0.55); opacity: 0; animation: loader-sheen 1s cubic-bezier(.65,0,.35,1) .1s forwards; }
.loader-bar { width: 120px; height: 2px; border-radius: 2px; background: rgb(24 25 40 / 0.08); overflow: hidden; }
.loader-bar span { display: block; height: 100%; width: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #6a3fd6, #a878e8); animation: loader-bar 1.15s cubic-bezier(.65,0,.35,1) forwards; }
.site-loader.is-done { opacity: 0; visibility: hidden; }
@keyframes loader-reveal { to { clip-path: inset(0 0 0 0); } }
@keyframes loader-sheen { 0% { left: 0; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
@keyframes loader-bar { to { transform: scaleX(1); } }

/* Dark heroes */
.hero-dark { position: relative; overflow: hidden; background-color: #0a0b13; isolation: isolate; }
.hero-dark::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgb(255 255 255 / 0.045) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 0.045) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 80%); }
.hero-dark::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 900px; height: 600px; left: 50%; top: -320px; transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgb(128 70 225 / 0.45), rgb(84 32 172 / 0.18) 55%, transparent); filter: blur(10px); animation: aurora 14s ease-in-out infinite alternate; }
@keyframes aurora { 0% { transform: translateX(-58%) scale(1); } 100% { transform: translateX(-42%) scale(1.12); } }
.hero-dark .hero-glow, .hero-dark .page-hero-glow { background: radial-gradient(circle at 50% 0%, rgb(150 103 230 / 0.22), transparent 60%); }
.hero.hero-dark { padding-bottom: 88px; }
@media (min-width: 1024px) { .hero.hero-dark { padding-bottom: 120px; } }
.page-hero.hero-dark { padding-bottom: 72px; }
@media (min-width: 1024px) { .page-hero.hero-dark { padding-bottom: 96px; } }
.hero-dark .anim-frame, .hero-dark .hero-flow-frame { background-color: rgb(18 19 33 / 0.6); box-shadow: 0 30px 80px -40px rgb(128 70 225 / 0.6), inset 0 1px 0 rgb(255 255 255 / 0.05); }
.hero-dark .hero-flow-frame { border-color: rgb(255 255 255 / 0.1); backdrop-filter: blur(6px); }
.hero-dark .hero-flow-node { background-color: #121321; }
.hero-dark .map-node { fill: #b491ee; }
.hero-dark .platform-module svg { color: #c7aef2; }
.hero-dark .form { box-shadow: 0 30px 80px -40px rgb(128 70 225 / 0.5); }
.hero-dark .form-field input, .hero-dark .form-field textarea { background-color: rgb(255 255 255 / 0.03); }
.legal-hero .page-hero-content { max-width: 760px; margin: 0 auto; }
.legal-hero h1 { margin-top: 20px; }
.legal-hero + .legal-content { padding-top: 32px; }

/* hero flow — each stage lights up as the signal passes */
.hero-flow-stage .hero-flow-node { animation: node-hit 5.4s linear infinite; }
.hero-flow-stage:nth-child(1) .hero-flow-node { animation-delay: 0.25s; }
.hero-flow-stage:nth-child(2) .hero-flow-node { animation-delay: 0.83s; }
.hero-flow-stage:nth-child(3) .hero-flow-node { animation-delay: 1.41s; }
.hero-flow-stage:nth-child(4) .hero-flow-node { animation-delay: 1.99s; }
.hero-flow-stage:nth-child(5) .hero-flow-node { animation-delay: 2.57s; }
.hero-flow-stage:nth-child(6) .hero-flow-node { animation-delay: 3.15s; }
.hero-flow-stage:nth-child(7) .hero-flow-node { animation-delay: 3.73s; }
.hero-flow-stage:nth-child(8) .hero-flow-node { animation-delay: 4.31s; }
.hero-flow-stage:nth-child(9) .hero-flow-node { animation-delay: 4.89s; }
@keyframes node-hit { 0%, 12%, 100% { box-shadow: none; } 3% { box-shadow: 0 0 0 4px rgb(150 103 230 / 0.25), 0 0 24px 2px rgb(150 103 230 / 0.55); color: #fff; border-color: #9667e6; } }

/* Dark section */
.section-dark { position: relative; background: radial-gradient(70% 60% at 50% 0%, rgb(128 70 225 / 0.2), transparent 70%), #0c0c15; overflow: hidden; }
.section-dark .lead { color: rgb(var(--text-secondary)); }

/* Scroll reveal */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--rd, 0s); }
.rv.is-in { opacity: 1; transform: none; }

/* Morph — shield draws itself, inner icon keeps morphing */
.morph { position: relative; width: 100%; max-width: 300px; aspect-ratio: 1; margin: 0 auto; }
.morph svg { width: 100%; height: 100%; overflow: visible; }
.morph .m-ring { fill: none; stroke: rgb(150 103 230 / 0.25); stroke-width: 1; stroke-dasharray: 2 6; }
.morph .m-dot { fill: #9667e6; filter: drop-shadow(0 0 6px #b491ee); }
.morph .m-orbit { transform-origin: 100px 100px; opacity: 0; transition: opacity 1s ease 1.2s; }
.morph.is-in .m-orbit { opacity: 1; animation: spin-slow 12s linear infinite; }
.morph .m-shield { fill: none; stroke-width: 3; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.morph.is-in .m-shield { animation: m-draw 1.5s cubic-bezier(.65,0,.35,1) forwards; }
.morph .m-fill { fill: rgb(150 103 230 / 0.1); opacity: 0; transform-origin: 100px 100px; transform: scale(.94); transition: opacity .8s ease 1.1s, transform .8s ease 1.1s; }
.morph.is-in .m-fill { opacity: 1; transform: none; animation: m-glow 3.2s ease-in-out 2s infinite; }
.morph .m-icon path { fill: none; stroke: #c4a9f2; stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .6s cubic-bezier(.65,0,.35,1); }
.morph .m-icon.on path { stroke-dashoffset: 0; transition-duration: .9s; transition-delay: .35s; }
.morph .m-label { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; color: rgb(var(--brand-violet)); background: rgb(var(--brand-violet) / 0.1); border: 1px solid rgb(var(--brand-violet) / 0.25); }
.morph .m-label:empty { display: none; }
.morph-sm { max-width: 132px; margin: 0 0 32px; }
.morph-sm .m-label { font-size: 10px; padding: 3px 9px; bottom: -14px; }
.morph-frame { display: flex; align-items: center; justify-content: center; padding: 12%; }
@keyframes m-draw { to { stroke-dashoffset: 0; } }
@keyframes m-glow { 0%, 100% { fill: rgb(150 103 230 / 0.08); } 50% { fill: rgb(150 103 230 / 0.18); } }

/* Product tour player */
.tour { max-width: 1040px; margin: 0 auto; }
.tour-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.tour-tab { position: relative; display: flex; align-items: center; gap: 10px; padding: 14px 16px 16px; border-radius: 14px; text-align: left; font-size: 14px; font-weight: 600; color: rgb(var(--text-secondary)); background: rgb(255 255 255 / 0.03); border: 1px solid rgb(255 255 255 / 0.08); overflow: hidden; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.tour-tab svg { width: 18px; height: 18px; flex: none; color: #c4a9f2; }
.tour-tab:hover { color: #fff; border-color: rgb(177 141 238 / 0.35); }
.tour-tab.is-active { color: #fff; background: rgb(150 103 230 / 0.12); border-color: rgb(177 141 238 / 0.45); }
.tour-tab-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgb(255 255 255 / 0.06); }
.tour-tab-bar i { display: block; height: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #8046e1, #cebdea); }
@media (max-width: 639px) { .tour-tab { padding: 10px; font-size: 12px; gap: 6px; } .tour-tab svg { display: none; } }
.tour-player { border-radius: 20px; overflow: hidden; background: #0e0e19; border: 1px solid rgb(255 255 255 / 0.1); box-shadow: 0 40px 100px -40px rgb(128 70 225 / 0.55); }
.tour-viewport { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.tour-stage { position: absolute; left: 0; top: 0; width: 960px; height: 540px; transform-origin: 0 0; font-family: 'Sora', sans-serif; color: #f3f1f7;
  background: radial-gradient(60% 70% at 80% 0%, rgb(128 70 225 / 0.2), transparent 70%), linear-gradient(rgb(255 255 255 / 0.03) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgb(255 255 255 / 0.03) 1px, transparent 1px) 0 0 / 40px 40px, #0e0e19; }
.tour-scene { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility .5s; }
.tour-scene.is-active { opacity: 1; visibility: visible; }
.tour-scene [data-at] { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .6s cubic-bezier(.2,.7,.2,1), background-color .4s, border-color .4s, color .4s, fill .4s, stroke .4s; }
.tour-scene [data-at].on { opacity: 1; transform: none; }
.tour-scene .keep[data-at] { opacity: 1; transform: none; }
.tour-cap { display: none; }
.tour-controls { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-top: 1px solid rgb(255 255 255 / 0.08); background: #0c0c15; }
.tour-play { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 999px; background: #fff; color: #5420ac; }
.tour-play svg { width: 14px; height: 14px; }
.tour-play .i-play { display: none; fill: currentColor; stroke: none; margin-left: 2px; }
.tour.is-paused .tour-play .i-play { display: block; }
.tour.is-paused .tour-play .i-pause { display: none; }
.tour-caption { flex: 1; min-width: 0; font-size: 14px; color: rgb(var(--text-secondary)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tour-time { font-size: 12px; font-variant-numeric: tabular-nums; color: rgb(var(--text-muted)); }
.tour-note { margin-top: 14px; text-align: center; font-size: 12px; color: rgb(var(--text-muted)); }

/* tour scene primitives (960×540 stage) */
.ts-abs { position: absolute; }
.ts-head { left: 40px; top: 32px; }
.ts-kicker { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #c4a9f2; }
.ts-title { margin-top: 6px; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 24px; color: #fff; }
.ts-tag { right: 40px; top: 36px; padding: 6px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgb(255 255 255 / .6); border: 1px solid rgb(255 255 255 / .14); }
.ts-panel { border-radius: 16px; background: rgb(19 20 35 / .92); border: 1px solid rgb(255 255 255 / .09); box-shadow: 0 20px 50px -30px rgb(0 0 0 / .8); padding: 18px; }
.ts-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgb(255 255 255 / .5); }
.ts-field { margin-top: 12px; }
.ts-field small { display: block; font-size: 11px; color: rgb(255 255 255 / .5); }
.ts-field div { margin-top: 4px; padding: 8px 10px; border-radius: 8px; font-size: 14px; background: rgb(255 255 255 / .04); border: 1px solid rgb(255 255 255 / .08); }
.ts-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.ts-pill::before { content: ''; width: 6px; height: 6px; border-radius: 99px; background: currentColor; }
.ts-ok { color: #3fd48f; background: rgb(23 178 106 / .14); }
.ts-warn { color: #ffc15c; background: rgb(245 165 36 / .15); }
.ts-bad { color: #ff7a70; background: rgb(240 68 56 / .16); }
.ts-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 10px; background: rgb(255 255 255 / .03); border: 1px solid rgb(255 255 255 / .07); font-size: 14px; }
.ts-row + .ts-row { margin-top: 10px; }
.ts-row b { font-weight: 600; }
.ts-row em { font-style: normal; font-size: 12px; color: rgb(255 255 255 / .5); margin-left: 8px; }
.ts-spin { width: 16px; height: 16px; border-radius: 99px; border: 2px solid rgb(255 255 255 / .15); border-top-color: #b491ee; animation: spin-slow .8s linear infinite; }
.ts-row:has(.ts-res.on) .ts-spin { display: none; }
.ts-res { display: none; }
.ts-res.on { display: inline-flex; }
.ts-big { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; color: #fff; }
.ts-meter { height: 8px; border-radius: 99px; background: rgb(255 255 255 / .08); overflow: hidden; margin-top: 14px; }
.ts-meter i { display: block; height: 100%; width: 78%; border-radius: 99px; background: linear-gradient(90deg, #17b26a, #f5a524 55%, #f04438); transform-origin: left; transform: scaleX(0); transition: transform 2s cubic-bezier(.2,.7,.2,1); }
.ts-meter.on i { transform: scaleX(1); }
.ts-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff; background: linear-gradient(100deg, #5420ac, #8046e1); }
.ts-pulse.on { animation: ts-pulse 1.6s ease-in-out infinite; }
@keyframes ts-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgb(150 103 230 / .6); } 50% { box-shadow: 0 0 0 10px rgb(150 103 230 / 0); } }
.ts-search { display: flex; align-items: center; gap: 12px; padding: 0 10px 0 18px; height: 56px; border-radius: 14px; background: rgb(19 20 35 / .95); border: 1px solid rgb(177 141 238 / .35); font-size: 18px; }
.ts-search svg { width: 20px; height: 20px; color: #c4a9f2; flex: none; }
.ts-caret { display: inline-block; width: 2px; height: 22px; background: #b491ee; animation: blink 1s step-end infinite; }
.ts-avatar { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 20px; background: linear-gradient(140deg, #5420ac, #9667e6); color: #fff; }
.ts-kv { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid rgb(255 255 255 / .07); font-size: 14px; }
.ts-kv span:first-child { color: rgb(255 255 255 / .55); }
.ts-feed-item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: rgb(255 255 255 / .03); border: 1px solid rgb(255 255 255 / .07); font-size: 14px; }
.ts-feed-item + .ts-feed-item { margin-top: 10px; }
.ts-feed-item time { flex: none; font-size: 12px; font-variant-numeric: tabular-nums; color: rgb(255 255 255 / .45); padding-top: 1px; }
.ts-feed-item.alert { background: rgb(240 68 56 / .1); border-color: rgb(240 68 56 / .4); }
.ts-feed-item small { display: block; margin-top: 2px; color: rgb(255 255 255 / .55); font-size: 12px; }
.ts-radar-sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, rgb(150 103 230 / .45), transparent 22%); animation: spin-slow 4s linear infinite; }
.ts-edge { fill: none; stroke: rgb(177 141 238 / .45); stroke-width: 1.5; stroke-dasharray: 5 6; animation: dash-move 3.6s linear infinite; }
.ts-edge.hot.on { stroke: #f04438; }
.ts-node { fill: #1a1a2d; stroke: #9667e6; stroke-width: 2; }
.ts-node.hot.on { fill: rgb(240 68 56 / .25); stroke: #f04438; }
.ts-ring.on { transform-box: fill-box; transform-origin: center; animation: pulse-ring 1.8s ease-out infinite; }
.ts-svgtext { font-size: 12px; fill: rgb(255 255 255 / .7); font-family:'Sora', sans-serif; }

/* Footer v2 */
.site-footer { background: #090910; border-top: 1px solid rgb(255 255 255 / 0.06); }
.site-footer .footer-network-wrap { position: absolute; left: 0; right: 0; top: 0; height: 200px; opacity: .55; pointer-events: none; }
.site-footer .footer-network-fade { background: linear-gradient(180deg, transparent 0%, #090910 95%); }
.footer-main { position: relative; display: grid; gap: 48px; padding: 80px 0 56px; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .footer-main { grid-template-columns: 1.25fr 2.75fr; gap: 64px; padding-top: 96px; } }
.footer-brand img { height: 36px; width: auto; }
.footer-brand p { margin-top: 20px; max-width: 340px; font-size: 14px; line-height: 1.65; color: rgb(var(--text-secondary)); }
.footer-contact { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.footer-contact a { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 600; }
.footer-contact a:hover { color: #d6c8ed; }
.footer-contact svg { width: 18px; height: 18px; color: #c4a9f2; }
.site-footer .footer-social { margin-top: 24px; }
.site-footer .footer-social a { border-color: rgb(255 255 255 / 0.14); color: rgb(var(--text-secondary)); }
.site-footer .footer-social a:hover { color: #fff; border-color: rgb(177 141 238 / 0.6); background: rgb(150 103 230 / 0.15); }
.footer-cols { display: grid; gap: 36px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.site-footer .footer-col-heading { color: #fff; font-size: 12px; letter-spacing: .12em; margin-bottom: 18px; }
.site-footer .footer-col ul { gap: 12px; }
.site-footer .footer-col a { color: rgb(var(--text-secondary)); transition: color .2s ease; }
.site-footer .footer-col a:hover { color: #fff; }
.footer-legal-bar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 24px 0 32px; border-top: 1px solid rgb(255 255 255 / 0.08); font-size: 13px; color: rgb(var(--text-muted)); }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-legal a:hover { color: #fff; }
.to-top { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgb(255 255 255 / 0.14); font-size: 13px; font-weight: 600; color: rgb(var(--text-secondary)); transition: all .2s ease; }
.to-top:hover { color: #fff; border-color: rgb(177 141 238 / 0.6); }
.to-top svg { width: 14px; height: 14px; }

@media (max-width: 1180px) and (min-width: 1024px) { .header-actions .btn-secondary { display: none; } }
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; } .loader-logo img { clip-path: none; } }

/* =========================================================
   19. v3 — vivid header, hero redesign, sharp visuals
   ========================================================= */



/* anim frames: no more fading bottoms */
.anim-frame { mask-image: none; -webkit-mask-image: none; }

/* Header — deep indigo with brand glow line */
.site-header, .site-header.is-scrolled {
  background: linear-gradient(90deg, #151524 0%, #282946 50%, #151524 100%);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom: 0;
}
.site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, #9667e6 30%, #cebdea 50%, #9667e6 70%, transparent); opacity: .85; }
.site-header.is-scrolled { box-shadow: 0 12px 34px -14px rgb(84 32 172 / 0.55); }
.site-header .nav-toggle { color: #ebe4f7; font-weight: 600; }
.site-header .nav-toggle:hover, .site-header .nav-item:hover .nav-toggle, .site-header .nav-item.is-open .nav-toggle { color: #fff; background-color: rgb(255 255 255 / 0.1); }
.site-header .btn-secondary { color: #fff; border-color: rgb(255 255 255 / 0.28); background: rgb(255 255 255 / 0.06); }
.site-header .btn-primary { background: linear-gradient(100deg, #8046e1 0%, #b491ee 100%); box-shadow: 0 0 0 1px rgb(206 189 234 / 0.35), 0 8px 24px -8px rgb(150 103 230 / 0.8); }
.site-header .theme-toggle, .site-header .mobile-menu-btn { color: #ebe4f7; border-color: rgb(255 255 255 / 0.25); }

/* Hero typography — bold display face, left-to-right word reveal */
.hero-dark h1 { font-family: 'Sora',sans-serif; font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; }
.hero-dark .lead { font-size: 18px; }
.hero-title .w { display: inline-block; clip-path: inset(-15% 100% -25% 0); transform: translateX(-10px); animation: word-in .9s cubic-bezier(.65,0,.35,1) forwards; animation-delay: calc(var(--base, .15s) + var(--wi) * 85ms); }
@keyframes word-in { to { clip-path: inset(-15% -5% -25% 0); transform: none; } }
.hero-fade { opacity: 0; transform: translateY(14px); animation: hero-fade .8s ease forwards; animation-delay: var(--fd, .6s); }
@keyframes hero-fade { to { opacity: 1; transform: none; } }

/* Hero v3 layout */
.hero-v3 { padding-top: 64px; }
@media (min-width: 1024px) { .hero-v3 { padding-top: 88px; } }
.hero-split { position: relative; display: grid; gap: 56px; align-items: center; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .hero-split { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; } }
.hero-copy { text-align: center; }
@media (min-width: 1024px) { .hero-copy { text-align: left; } }
.hero-copy .eyebrow { gap: 10px; }
.hero-copy .h1 { margin-top: 24px; font-size: 42px; }
@media (min-width: 640px) { .hero-copy .h1 { font-size: 56px; } }
@media (min-width: 1280px) { .hero-copy .h1 { font-size: 68px; } }
.hero-copy .hero-sub { margin-top: 24px; max-width: 560px; }
@media (max-width: 1023px) { .hero-copy .hero-sub { margin-left: auto; margin-right: auto; } }
.hero-copy .hero-ctas { margin-top: 36px; }
@media (min-width: 1024px) { .hero-copy .hero-ctas { justify-content: flex-start; } }
.hero-points { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: center; font-size: 14px; font-weight: 500; color: rgb(var(--text-secondary)); }
@media (min-width: 1024px) { .hero-points { justify-content: flex-start; } }
.hero-points li { display: inline-flex; align-items: center; gap: 8px; }
.hero-points svg { width: 18px; height: 18px; color: #3fd48f; }
.hero-v3 .hero-visual { margin-top: 72px; }
.hero-beams { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hero-beams span { position: absolute; top: -20%; width: 1px; height: 60%; background: linear-gradient(180deg, transparent, #b491ee, transparent); opacity: .5; animation: beam 7s linear infinite; }
.hero-beams span:nth-child(1) { left: 18%; animation-delay: 0s; }
.hero-beams span:nth-child(2) { left: 52%; animation-delay: 2.4s; height: 40%; }
.hero-beams span:nth-child(3) { left: 84%; animation-delay: 4.6s; }
@keyframes beam { 0% { transform: translateY(-100%); } 100% { transform: translateY(260%); } }

/* Hero orbit visual */
.hero-orbit { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1; margin: 0 auto; }
.orb-ring { position: absolute; border-radius: 50%; border: 1px solid rgb(177 141 238 / 0.28); }
.orb-ring.r1 { inset: 8%; border-style: dashed; animation: spin-slow 60s linear infinite; }
.orb-ring.r2 { inset: 22%; border-color: rgb(177 141 238 / 0.2); }
.orb-ring.r3 { inset: 0; border-color: rgb(177 141 238 / 0.1); }
.orb-track { position: absolute; inset: 8%; container-type: size; animation: spin-slow 48s linear infinite; }
.orb-chip { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(var(--a)) translateY(-50cqh) rotate(calc(var(--a) * -1)); }
.orb-chip > span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; white-space: nowrap; font-size: 13px; font-weight: 700; color: #fff;
  background: linear-gradient(180deg, #23243f, #19192c); border: 1px solid rgb(177 141 238 / 0.45); box-shadow: 0 10px 30px -10px rgb(128 70 225 / 0.7); animation: spin-slow 48s linear infinite reverse; }
.orb-chip svg { width: 26px; height: 26px; padding: 5px; border-radius: 999px; color: #fff; background: linear-gradient(140deg, #5420ac, #9667e6); }
.orb-hub { position: absolute; inset: 33%; border-radius: 50%; display: grid; place-items: center; overflow: visible;
  background: radial-gradient(circle at 50% 35%, #5a329d, #22233d 70%); border: 1px solid rgb(206 189 234 / 0.55); box-shadow: 0 0 0 10px rgb(128 70 225 / 0.08), 0 0 80px 10px rgb(128 70 225 / 0.45); }
.orb-hub img { position: relative; width: 58%; height: auto; }
.orb-sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, rgb(206 189 234 / 0.4), transparent 25%); animation: spin-slow 3.2s linear infinite; }
.orb-pulse { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgb(206 189 234 / 0.6); animation: orb-pulse 3s ease-out infinite; }
.orb-pulse.p2 { animation-delay: 1.5s; }
@keyframes orb-pulse { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(2.1); opacity: 0; } }
.orb-card { position: absolute; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; font-size: 13px; color: #fff;
  background: rgb(22 23 40 / 0.92); border: 1px solid rgb(255 255 255 / 0.14); box-shadow: 0 20px 40px -18px rgb(0 0 0 / 0.8); backdrop-filter: blur(8px); animation: float-y 6s ease-in-out infinite; }
.orb-card p { display: flex; flex-direction: column; line-height: 1.3; }
.orb-card b { font-weight: 700; }
.orb-card small { color: rgb(255 255 255 / 0.6); font-size: 12px; }
.orb-card.c1 { left: -4%; top: 14%; }
.orb-card.c2 { right: -6%; top: 46%; animation-delay: -2s; }
.orb-card.c3 { left: 4%; bottom: 6%; animation-delay: -4s; flex-direction: column; align-items: stretch; min-width: 170px; }
.orb-meter { height: 6px; border-radius: 99px; background: rgb(255 255 255 / 0.1); overflow: hidden; }
.orb-meter i { display: block; height: 100%; width: 78%; border-radius: 99px; background: linear-gradient(90deg, #17b26a, #f5a524 60%, #f04438); transform-origin: left; animation: meter-fill 4s cubic-bezier(.2,.7,.2,1) infinite; }
@keyframes meter-fill { 0% { transform: scaleX(0); } 45%, 100% { transform: scaleX(1); } }
@keyframes float-y { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (max-width: 639px) { .orb-card { display: none; } .orb-chip > span { font-size: 11px; padding: 6px 10px 6px 6px; } .orb-chip svg { width: 22px; height: 22px; } }

/* Platform diagram v2 — sharp dark card */
.platform-v2 { position: relative; aspect-ratio: 1; border-radius: 24px; overflow: hidden;
  background: radial-gradient(60% 60% at 50% 50%, rgb(128 70 225 / 0.28), transparent 70%), linear-gradient(160deg, #161727 0%, #0e0e18 100%);
  border: 1px solid rgb(177 141 238 / 0.25); box-shadow: 0 30px 70px -30px rgb(84 32 172 / 0.6); }
.platform-v2 > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pv-ring { fill: none; stroke: rgb(177 141 238 / 0.45); stroke-width: 1.2; stroke-dasharray: 3 6; }
.pv-ring.dim { stroke: rgb(177 141 238 / 0.22); stroke-dasharray: none; }
.pv-spoke { stroke: rgb(177 141 238 / 0.55); stroke-width: 1.4; }
.pv-pulse { fill: #e6dff4; filter: drop-shadow(0 0 4px #b491ee); }
.pv-halo { fill: none; stroke: #b491ee; stroke-width: 2; transform-origin: 220px 220px; animation: pv-halo 2.8s ease-out infinite; }
@keyframes pv-halo { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.45); opacity: 0; } }
.pv-hub-t { font-family: 'Sora',sans-serif; font-weight: 800; font-size: 17px; fill: #fff; }
.pv-hub-s { font-family:'Sora', sans-serif; font-weight: 700; font-size: 8.5px; letter-spacing: .18em; fill: #e2d9f2; }
.pv-mod { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 90px; transform: translate(-50%, -50%); text-align: center; }
.pv-ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: #fff; background: linear-gradient(140deg, #5420ac, #9667e6); border: 1px solid rgb(206 189 234 / 0.55); box-shadow: 0 8px 22px -6px rgb(128 70 225 / 0.8); transition: transform .3s ease; }
.pv-ico svg { position: static; display: block; width: 22px; height: 22px; stroke-width: 1.8; }
.pv-mod:hover .pv-ico { transform: translateY(-3px) scale(1.05); }
.pv-lab { font-size: 12px; font-weight: 700; line-height: 1.25; color: #fff; }
@media (max-width: 479px) { .pv-ico { width: 36px; height: 36px; border-radius: 11px; } .pv-ico svg { width: 18px; height: 18px; } .pv-lab { font-size: 10px; } }

/* Coverage — rotating wireframe globe */
.coverage { display: grid; gap: 32px; align-items: center; grid-template-columns: minmax(0, 1fr); padding: 32px; border-radius: 24px;
  background: radial-gradient(50% 70% at 25% 50%, rgb(128 70 225 / 0.3), transparent 70%), linear-gradient(160deg, #161727 0%, #0e0e18 100%);
  border: 1px solid rgb(177 141 238 / 0.25); box-shadow: 0 30px 70px -30px rgb(84 32 172 / 0.6); color: #fff; }
@media (min-width: 900px) { .coverage { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); padding: 48px; gap: 48px; } }
.coverage-globe { max-width: 460px; width: 100%; margin: 0 auto; aspect-ratio: 1; }
.coverage-globe svg { width: 100%; height: 100%; overflow: visible; }
.gl-lat { fill: none; stroke: rgb(180 145 238 / 0.4); stroke-width: 1; }
.gl-mer { fill: none; stroke: rgb(180 145 238 / 0.55); stroke-width: 1.1; transform-origin: 200px 200px; animation: gl-spin 12s linear infinite; }
@keyframes gl-spin { 0% { transform: scaleX(1); } 25% { transform: scaleX(0); } 50% { transform: scaleX(-1); } 75% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
.gl-orbit { fill: none; stroke: rgb(206 189 234 / 0.35); stroke-width: 1; stroke-dasharray: 2 5; transform-origin: 200px 200px; transform: rotate(-18deg); }
.gl-arc { fill: none; stroke: #cebdea; stroke-width: 1.6; stroke-dasharray: 4 5; opacity: .85; animation: dash-move-3 3s linear infinite; }
.gl-dot { fill: #fff; filter: drop-shadow(0 0 5px #cebdea); }
.gl-pin { fill: #cebdea; stroke: #fff; stroke-width: 1.5; }
.gl-pin.alert { fill: #f5a524; }
.gl-pin-ring { fill: none; stroke: #cebdea; stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: pulse-ring 2.4s ease-out infinite; }
.gl-pin-ring.alert { stroke: #f5a524; }
.coverage-k { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #d6c8ed; margin-bottom: 14px; }
.coverage-row { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: rgb(255 255 255 / 0.04); border: 1px solid rgb(255 255 255 / 0.1); animation: cv-hl 7.5s ease-in-out infinite; animation-delay: calc(var(--i) * 1.5s); }
.coverage-row + .coverage-row { margin-top: 10px; }
.cv-dot { width: 10px; height: 10px; border-radius: 99px; background: #17b26a; box-shadow: 0 0 0 4px rgb(23 178 106 / 0.2); flex: none; }
.cv-name { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.cv-name b { font-size: 15px; font-weight: 700; }
.cv-name small { font-size: 12px; color: rgb(255 255 255 / 0.6); }
.cv-state { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #3fd48f; }
.cv-state svg { width: 16px; height: 16px; }
.coverage-note { margin-top: 18px; font-size: 14px; color: rgb(255 255 255 / 0.7); }
@keyframes cv-hl { 0%, 16%, 100% { border-color: rgb(255 255 255 / 0.1); background: rgb(255 255 255 / 0.04); } 6% { border-color: rgb(206 189 234 / 0.7); background: rgb(150 103 230 / 0.16); } }

/* Morph — sharper, fully visible */
.morph { --m-ink: #753cd5; }
.hero-dark .morph, .section-dark .morph, .morph-dark .morph { --m-ink: #ded2f1; }
.morph .m-icon path { stroke: var(--m-ink); stroke-width: 1.35; vector-effect: none; stroke-dasharray: 1 1; }
.morph .m-icon.on path { stroke-dashoffset: 0; }
.morph .m-shield { stroke-width: 4; }
.morph .m-ring { stroke: rgb(150 103 230 / 0.45); stroke-width: 1.3; }
.morph-dark { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 14%; border-radius: 24px;
  background: radial-gradient(55% 55% at 50% 50%, rgb(128 70 225 / 0.32), transparent 70%), linear-gradient(160deg, #161727 0%, #0e0e18 100%);
  border: 1px solid rgb(177 141 238 / 0.25); box-shadow: 0 30px 70px -30px rgb(84 32 172 / 0.6);
  --brand-violet: 206 189 234; }
.morph-dark .morph { max-width: 340px; }
.morph-dark .m-fill { fill: rgb(150 103 230 / 0.18); }
.morph-dark .m-label { color: #fff; background: rgb(150 103 230 / 0.3); border-color: rgb(206 189 234 / 0.5); bottom: -18px; font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .hero-title .w, .hero-fade { clip-path: none; opacity: 1; transform: none; } }

/* =========================================================
   20. v4 — AMLPRO rebrand: white header, new hero background
   ========================================================= */
/* White header */
.site-header {
  --bg: 255 255 255; --bg-subtle: 248 248 249; --bg-muted: 239 239 243;
  --text: 22 23 39; --text-secondary: 67 67 87; --text-muted: 115 115 134;
  --card: 255 255 255; --card-border: 22 23 39; --card-border-opacity: 0.08;
  --brand-violet: 128 70 225; --brand-indigo: 84 32 172;
  color: rgb(var(--text));
}
.site-header, .site-header.is-scrolled { background: #fff; border-bottom: 1px solid rgb(22 23 39 / 0.08); }
.site-header::after { height: 2px; opacity: 1; background: linear-gradient(90deg, #5420ac, #8046e1 50%, #b491ee); transform-origin: left; transform: scaleX(0); transition: transform .4s ease; }
.site-header.is-scrolled::after { transform: scaleX(1); }
.site-header.is-scrolled { box-shadow: 0 10px 30px -18px rgb(22 23 39 / 0.35); }
.site-header .nav-toggle { color: #434357; font-weight: 600; }
.site-header .nav-toggle:hover, .site-header .nav-item:hover .nav-toggle, .site-header .nav-item.is-open .nav-toggle { color: #5420ac; background-color: rgb(128 70 225 / 0.07); }
.site-header .btn-secondary { color: #161727; border-color: rgb(22 23 39 / 0.16); background: #fff; }
.site-header .btn-secondary:hover { border-color: rgb(128 70 225 / 0.5); background: rgb(128 70 225 / 0.05); }
.site-header .btn-primary { background: linear-gradient(100deg, #5420ac 0%, #8046e1 100%); box-shadow: 0 8px 22px -10px rgb(128 70 225 / 0.7); }
.site-header .theme-toggle, .site-header .mobile-menu-btn { color: #434357; border-color: rgb(22 23 39 / 0.14); }
html.dark .site-header .logo-link { background: none; }

/* Light mega menus */
.mega-v2 { background: #fff; border: 1px solid rgb(22 23 39 / 0.08); box-shadow: 0 30px 60px -24px rgb(22 23 39 / 0.28), 0 2px 6px rgb(22 23 39 / 0.04); }
.mega-v2 .mega-col-heading { color: #717182; }
.mega-link.v2:hover { background-color: #f7f5fb; }
.mega-link.v2 .label { color: #161727; }
.mega-link.v2 .desc { color: #717182; }
.mega-ico { color: #8046e1; background-color: rgb(128 70 225 / 0.08); border-color: rgb(128 70 225 / 0.16); }
.mega-foot { border-top-color: rgb(22 23 39 / 0.08); color: #717182; }
.mega-foot a { color: #8046e1; }
.mega-foot a:hover { color: #5420ac; }

.hero-dark .hero-glow { background: radial-gradient(40% 50% at 15% 30%, rgb(84 32 172 / 0.35), transparent 70%), radial-gradient(35% 45% at 85% 70%, rgb(150 103 230 / 0.25), transparent 70%); animation: glow-shift 16s ease-in-out infinite alternate; }
@keyframes glow-shift { to { transform: translate3d(3%, -2%, 0) scale(1.05); } }

/* Loader — dot pulse at the logo's orbit point */
.loader-dot { position: absolute; left: 87.7%; top: 41.8%; width: 7%; aspect-ratio: 1; margin: -3.5% 0 0 -3.5%; border-radius: 50%; border: 2px solid #b491ee; opacity: 0; animation: loader-dot 1.1s ease-out 1s 2; }
@keyframes loader-dot { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(2.4); } }

/* =========================================================
   21. v5 — hero background: live risk-network constellation
   ========================================================= */
.hero-dark::before { display: none; }
.hero-net { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none;
  mask-image: radial-gradient(ellipse 85% 75% at 50% 40%, #000 45%, transparent 100%); -webkit-mask-image: radial-gradient(ellipse 85% 75% at 50% 40%, #000 45%, transparent 100%); opacity: 0; transition: opacity 1.2s ease; }
.hero-net.is-on { opacity: 1; }
.hero-beams { display: none; }

/* 22. v6 — layered hero depth */
.hero-dark { background: radial-gradient(120% 70% at 50% 110%, rgb(84 32 172 / 0.35), transparent 60%), linear-gradient(180deg, #0a0b13 0%, #0f0f1a 100%); }
.hero-dark .hero-glow { position: absolute; inset: 0; height: auto; z-index: -1; background: radial-gradient(30% 40% at 12% 25%, rgb(84 32 172 / 0.45), transparent 70%), radial-gradient(28% 38% at 88% 65%, rgb(150 103 230 / 0.32), transparent 70%); animation: glow-shift 16s ease-in-out infinite alternate; }

/* =========================================================
   23. v7 — smooth mega menu (JS hover-intent controlled)
   ========================================================= */
.main-nav .nav-item .mega-menu,
.main-nav .nav-item:hover .mega-menu {
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, 12px) scale(.985); transform-origin: 50% 0;
  transition: opacity .22s ease, transform .38s cubic-bezier(.16,1,.3,1), visibility 0s linear .38s;
}
.main-nav .nav-item.is-open .mega-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
  transition: opacity .28s ease, transform .42s cubic-bezier(.16,1,.3,1), visibility 0s;
}
/* switching between menus: crossfade in place, no jump */
.main-nav.is-switching .nav-item .mega-menu { transform: translate(-50%, 0) scale(1); transition: opacity .18s ease, visibility 0s linear .18s; }
.main-nav.is-switching .nav-item.is-open .mega-menu { transition: opacity .22s ease, visibility 0s; }
/* hover bridge between button and panel */
.mega-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.mega-menu { padding-top: 10px; }
.mega-v2 { transform-origin: 50% 0; }
/* chevron only rotates when actually open */
.main-nav .nav-item:hover .nav-toggle svg { transform: none; }
.main-nav .nav-item.is-open .nav-toggle svg { transform: rotate(180deg); }
.site-header .nav-item.is-open .nav-toggle { color: #5420ac; background-color: rgb(128 70 225 / 0.08); }
/* staggered items on first open only */
.nav-item:hover .mega-link.v2 { animation: none; }
.main-nav:not(.is-switching) .nav-item.is-open .mega-link.v2 { animation: mega-in .42s cubic-bezier(.16,1,.3,1) both; animation-delay: calc(40ms + var(--i, 0) * 22ms); }
.main-nav:not(.is-switching) .nav-item.is-open .mega-card { animation: mega-in .5s cubic-bezier(.16,1,.3,1) .12s both; }
@keyframes mega-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* page dim behind open menu */
.nav-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 80px; z-index: 45; background: rgb(22 23 39 / 0.28); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
.nav-backdrop.is-on { opacity: 1; visibility: visible; transition: opacity .3s ease, visibility 0s; }
.site-header.menu-open { box-shadow: 0 10px 30px -18px rgb(22 23 39 / 0.35); }
@media (max-width: 1023px) { .nav-backdrop { display: none; } }


/* ===== New footer (AMLPRO v2) ===== */
@media (max-width:1180px) and (min-width:1024px){ .header-actions .btn-credit{ display:inline-flex; } }
.btn-credit{ white-space:nowrap; }
.nf{position:relative;overflow:hidden;background:#0e0e18;color:#f1edf6;font-family:'Sora',system-ui,sans-serif;letter-spacing:-.005em}
.nf-dots{position:absolute;inset:0;background:radial-gradient(#22233c 1px,transparent 1.3px) 0 0/22px 22px;opacity:.55;pointer-events:none}
.nf-line{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(186,167,216,.5),transparent)}
.nf-inner{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:64px 28px 0}
.nf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:40px 32px}
.nf-brand{grid-column:span 2;min-width:0;display:flex;flex-direction:column;gap:18px;max-width:380px}
.nf-brand a{display:inline-flex}
.nf-brand img{display:block;height:28px;width:auto;filter:brightness(0) invert(1)}
.nf-brand p{margin:0;font-size:14px;line-height:1.6;color:#b4b4c3;text-wrap:pretty}
.nf-social{display:flex;gap:10px}
.nf-social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #434358;color:#f1edf6;background:rgba(255,255,255,.03);transition:background .2s,border-color .2s,transform .2s}
.nf-social a:hover{background:#5a2ea9;border-color:#5a2ea9;color:#fff;transform:translateY(-2px)}
.nf-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.nf-col-h{font:500 11px 'Sora',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#baa7d8}
.nf-col a{font-size:14px;color:#b4b4c3;text-decoration:none;transition:color .2s,transform .2s;display:inline-block}
.nf-col a:hover{color:#fff;transform:translateX(3px)}
.nf-status{margin-top:48px;padding:14px 18px;border:1px solid #282946;border-radius:12px;background:rgba(24,24,42,.6);display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;font:400 12px 'Sora',sans-serif;color:#b4b4c3}
.nf-status b{display:inline-flex;align-items:center;gap:8px;color:#f1edf6;font-weight:400}
.nf-pulse{width:8px;height:8px;border-radius:999px;background:#baa7d8;animation:nfPulse 1.8s infinite}
@keyframes nfPulse{0%{box-shadow:0 0 0 0 rgba(186,167,216,.7)}100%{box-shadow:0 0 0 9px rgba(186,167,216,0)}}
.nf-bottom{margin-top:28px;padding:22px 0 28px;border-top:1px solid #282946;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#b4b4c3}
.nf-mark{position:absolute;right:-2%;bottom:0;display:block;width:min(720px,60%);height:auto;transform:translateY(-18%);opacity:.03;filter:brightness(0) invert(1);pointer-events:none}
.nf-top{position:fixed;right:24px;bottom:24px;z-index:60;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:0;background:#472488;color:#fff;cursor:pointer;box-shadow:0 12px 28px -10px rgba(71,36,136,.8);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s}
.nf-top.is-visible{opacity:1;transform:none;pointer-events:auto}
.nf-top:hover{background:#532b9f}
.nf-top:focus-visible,.nf a:focus-visible{outline:2px solid #f3a64a;outline-offset:2px}
@media (max-width:560px){.nf-brand{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.nf-pulse{animation:none}.nf-top,.nf-col a,.nf-social a{transition:none}}

/* ===== Homepage hero: lighter, modern background ===== */
.hero-dark.hero-v3{background:linear-gradient(180deg,#0a0b13 0%,#10111d 100%)}
.hero-v3 .hero-net{display:none}
.hero-v3 .hero-beams{display:block;background:radial-gradient(rgb(194 159 244 / .12) 1px,transparent 1.3px) 0 0/24px 24px;-webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 30%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 85% 70% at 50% 30%,#000 35%,transparent 100%)}
.hero-v3 .hero-beams span{background:linear-gradient(180deg,transparent,rgb(179 140 242 / .75),transparent);opacity:.3}

/* ===== Logo-matched violet touch (accent on top of blue) ===== */
:root{--logo-violet:124 58 237;--logo-violet-2:91 33 182}
.gradient-text{background-image:linear-gradient(100deg,#5420ac 0%,#8046e1 50%,#7c3aed 100%)}
.hero-dark .gradient-text,.section-dark .gradient-text{background-image:linear-gradient(100deg,#a277eb 0%,#c4a8f2 45%,#b69cff 100%)}
.btn-primary{background:linear-gradient(100deg,#5420ac 0%,#8046e1 60%,#6d3cf0 100%);box-shadow:0 0 0 1px rgb(109 60 240 / .15),0 0 40px -8px rgb(109 60 240 / .35)}
.final-cta{background:linear-gradient(135deg,#202139 0%,#5420ac 55%,#4b2bc9 100%)}
.final-cta-blob-b{background-color:rgb(124 58 237 / .45)!important}
.hero-flow-node.is-final{border-color:rgb(var(--logo-violet));background-color:rgb(var(--logo-violet) / .14);color:#a78bfa}
.hero-flow-node.is-final::after{border-color:rgb(var(--logo-violet) / .6)}
.card.hoverable:hover .card-icon{background-color:rgb(var(--logo-violet) / .12);color:rgb(var(--logo-violet))}
.hero-dark .eyebrow,.section-dark .eyebrow{border-color:rgb(167 139 250 / .35);background-color:rgb(124 58 237 / .12);color:#cdc5ed}
.process-line{background:linear-gradient(90deg,transparent,rgb(150 103 230 / .45),rgb(124 58 237 / .45),transparent)!important}
::selection{background:rgb(124 58 237 / .3)}
.nf-line{background:linear-gradient(90deg,transparent,rgba(186,167,216,.5),rgba(167,139,250,.55),transparent)}
.nf-col-h{color:#d2bcec}
.nf-top{background:linear-gradient(135deg,#472488,#6d3cf0)}
.nf-top:hover{background:linear-gradient(135deg,#532b9f,#7c4dff)}
.nf-social a:hover{background:linear-gradient(135deg,#5a2ea9,#6d3cf0);border-color:transparent}

/* ===== Final CTA: match dark hero / footer theme ===== */
.final-cta{background:linear-gradient(180deg,#11111d 0%,#0e0e18 100%)!important;border:1px solid #282946;box-shadow:0 40px 80px -40px rgb(17 17 29 / .7)}
.final-cta::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(186,167,216,.55),rgba(167,139,250,.55),transparent);z-index:1}
.final-cta-blobs{opacity:.28}
.final-cta-blob-a{background-color:rgb(90 46 169 / .55)!important}
.final-cta-blob-b{background-color:rgb(124 58 237 / .4)!important}
.final-cta-dots{background-image:radial-gradient(#22233c 1px,transparent 1.3px)!important;background-size:22px 22px!important;opacity:.8!important}
.final-cta h2{color:#f1edf6}
.final-cta p{color:#b4b4c3}
.final-cta .btn-white{color:#fff;background:linear-gradient(100deg,#5420ac 0%,#8046e1 60%,#6d3cf0 100%);border-color:transparent;box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 12px 28px -12px rgb(128 70 225 / .8)}
.final-cta .btn-white:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px)}
.final-cta .btn-outline-light{color:#f1edf6;border-color:#434358;background:rgb(255 255 255 / .03)}
.final-cta .btn-outline-light:hover{border-color:#baa7d8;background:rgb(255 255 255 / .07);color:#fff}


/* ---- workflow.css ---- */
.wf{--bg:#11111d;--surface:#18182a;--surface-2:#1f2038;--ink:#f1edf6;--ink-2:#b4b4c3;--line:#282946;--line-2:#434358;--brand:#baa7d8;--brand-btn:#5a2ea9;--brand-btn-hover:#6d3bc5;--brand-soft:#22233c;--on-brand:#fff;--accent:#f3a64a;--accent-soft:#3a2710;--dot:#22233c;position:relative;overflow:hidden;background:var(--bg);color:var(--ink);font-family:'Sora',system-ui,sans-serif;letter-spacing:-.005em}
.wf *,.wf *::before,.wf *::after{box-sizing:border-box}
.wf-dots{position:absolute;inset:0;background:radial-gradient(var(--dot) 1px,transparent 1.3px) 0 0/22px 22px;opacity:.7;pointer-events:none}
.wf-edge{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.wf-inner{position:relative;max-width:1440px;margin:0 auto;padding:72px 28px 80px}
.wf-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px 56px;align-items:end}
.wf-eyebrow{margin:0 0 16px;font:500 12px 'Sora',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.wf .wf-h1{margin:0;font:600 clamp(36px,4.6vw,58px)/1.08 'Sora',sans-serif;letter-spacing:-.035em;text-wrap:balance;color:var(--ink)}
.wf-lead{margin:0 0 22px;font-size:17px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.wf-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.wf .wf-btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:10px;background:var(--brand-btn);color:#fff;font:600 15px 'Sora',sans-serif;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px -10px rgba(109,59,197,.9);transition:background .2s,transform .2s,box-shadow .2s}
.wf .wf-btn:hover{background:var(--brand-btn-hover);color:#fff;transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 14px 30px -10px rgba(109,59,197,1)}
.wf .wf-ghost{display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:10px;border:1px solid var(--line-2);color:var(--ink);font:600 15px 'Sora',sans-serif;text-decoration:none;transition:background .2s,border-color .2s}
.wf .wf-ghost:hover{background:rgba(255,255,255,.06);border-color:var(--brand);color:var(--ink)}
.wf-note{font-size:13px;color:var(--ink-2);flex-basis:100%}
.wf-band{margin-top:52px;display:grid;grid-template-columns:minmax(104px,160px) minmax(0,1fr) minmax(84px,140px);border:1px solid var(--line);border-radius:12px;background:rgba(24,24,42,.6);overflow:hidden}
.wf-lanes{display:grid;grid-template-rows:repeat(4,42px);padding:12px 0;border-right:1px solid var(--line)}
.wf-lanes div{display:flex;flex-direction:column;justify-content:center;padding:0 14px}
.wf-lanes b{font:600 11px 'Sora',sans-serif;letter-spacing:.06em;color:var(--ink)}
.wf-lanes span{font:400 11px 'Sora',sans-serif;color:var(--ink-2)}
.wf-band canvas{display:block;width:100%;height:192px}
.wf-out{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;border-left:1px solid var(--line)}
.wf-out b{font:600 11px 'Sora',sans-serif;letter-spacing:.06em;color:var(--brand)}
.wf-out span{font-size:12px;color:var(--ink-2);line-height:1.4}
.wf-app{margin-top:20px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);scroll-margin-top:90px}
.wf-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}
.wf-crumb{font:500 12px 'Sora',sans-serif;color:var(--ink-2)}
.wf-tabs{display:flex;gap:2px;padding:2px;border:1px solid var(--line-2);border-radius:9px}
.wf button{font-family:'Sora',sans-serif}
.wf-tab{border:0;padding:6px 14px;border-radius:7px;font:600 12.5px 'Sora',sans-serif;cursor:pointer;background:transparent;color:var(--ink);transition:background .2s,color .2s}
.wf-tab.is-on{background:var(--brand-btn);color:#fff}
.wf-status{color:var(--ink-2);flex:1;min-width:200px}
.wf-save{border:1px solid var(--line-2);background:transparent;color:var(--ink-2);padding:7px 16px;border-radius:8px;font:600 12.5px 'Sora',sans-serif;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.wf-save.is-dirty{background:var(--brand-btn);color:#fff;border-color:var(--brand-btn)}
.wf-save:disabled{cursor:default}
.wf-palette{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:12px}
.wf-palette-k{font:500 11px 'Sora',sans-serif;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.wf-chip{display:inline-flex;gap:6px;align-items:center;padding:3px 8px;border:1px dashed var(--line-2);border-radius:5px;background:var(--surface);color:var(--ink)}
.wf-chip i{font-style:normal;font-family:'Sora',sans-serif;color:var(--ink-2)}
.wf-scroll{overflow-x:auto;background:var(--bg) radial-gradient(var(--dot) 1px,transparent 1.2px) 0 0/16px 16px}
.wf-board{position:relative;width:1104px;height:388px;margin:0 auto}
.wf-board svg{position:absolute;inset:0}
.wf-lbl{position:absolute;font:500 11px 'Sora',sans-serif}
.wf-lbl.m{color:var(--brand)} .wf-lbl.n{color:var(--ink-2)}
.wf-miss{position:absolute;transform:translateX(-50%);white-space:nowrap;padding:2px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font:500 11px 'Sora',sans-serif}
.wf-node{position:absolute;top:96px;width:220px;height:150px;padding:12px 14px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.wf-node strong{font-size:14px}
.wf-node.first{border:1.5px solid var(--brand)}
.wf-node.result{width:190px;background:var(--brand-soft);border:1.5px solid var(--brand);gap:6px}
.wf-kv{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:12px;margin-top:auto}
.wf-kv span{color:var(--ink-2)} .wf-kv em{font-style:normal;font-family:'Sora',sans-serif;color:var(--ink)}
.wf-cov-h{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-2);margin-bottom:4px}
.wf-cov-h em{font-style:normal;font-family:'Sora',sans-serif;color:var(--ink)}
.wf-track{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.wf-fill{height:100%;background:var(--brand);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.wf-segs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2);border-radius:5px;overflow:hidden}
.wf-seg{border:0;padding:5px 0;font:600 11px 'Sora',sans-serif;cursor:pointer;background:var(--surface);color:var(--ink-2);transition:background .2s,color .2s}
.wf-seg+.wf-seg{border-left:1px solid var(--line-2)}
.wf-seg.is-on{background:var(--brand-btn);color:#fff}
.wf-ex{position:absolute;top:322px;width:120px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:6px;background:var(--surface-2);font-size:13px;font-weight:600;color:var(--ink-2)}
.wf-foot{margin:0;padding:10px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.wf :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.wf .wf-btn,.wf .wf-ghost{white-space:nowrap;flex-shrink:0;flex-grow:0;width:auto}
.wf .wf-ctas{display:flex;flex-wrap:wrap}
.wf .wf-note{flex:1 0 100%}

}

@layer reset {
  :is(body.v2-home, .v2-shell) :is(h1, h2, h3, h4) { color: inherit; font-family: inherit; letter-spacing: normal; line-height: normal; font-weight: inherit; }
  body.v2-home { line-height: normal; }
}

/* ---- Redesign base ---- */

@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:600;font-display:swap;src:url('../fonts/sora-600.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:700;font-display:swap;src:url('../fonts/sora-700.woff2') format('woff2')}
html{scroll-behavior:smooth}
body.v2-home{margin:0;background:#fff;color:#161727;font-family:'Sora',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
h1,h2,h3,p{margin:0}
:where(.v2-home) a{color:#5a29ad;text-decoration:none}
:where(.v2-home) a:hover{color:#642ac3}
pre{margin:0}
@keyframes amlUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes amlPanelIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@keyframes amlGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes amlGlow{from{opacity:.65;transform:translate(0,0) scale(1)}to{opacity:1;transform:translate(-40px,30px) scale(1.08)}}
@keyframes amlTravel{0%{left:calc(12px + (100% - 24px) / 14);opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 12px - (100% - 24px) / 14);opacity:0}}
@keyframes amlMenuIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes amlFade{from{opacity:0}to{opacity:1}}
@keyframes amlFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@keyframes amlPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* layout helpers */
[hidden]{display:none!important}
.v2-shell{font-family:'Sora',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:normal}
:where(.v2-shell) *{box-sizing:border-box}
:where(.v2-shell) a{text-decoration:none}
body{margin:0}
:where(.v2-shell) :where(p,h1,h2,h3){margin:0}
.v2-desk{display:contents}.v2-mob{display:none}
@media (max-width:999px){.v2-desk{display:none}.v2-mob{display:contents}}
aml-orbit,aml-platform,aml-globe,aml-shield{display:block}
.v2-skip{position:absolute;left:-9999px;top:8px;z-index:200;padding:10px 14px;background:#fff;color:#161727;border-radius:8px}
.v2-skip:focus{left:8px}
body.v2-home main{font-family:'Sora',system-ui,sans-serif}
/* hover states */
:is(a,button).h0:hover{background:#f3f3f6!important}
:is(a,button).h1:hover{background:#f3f3f6!important;color:#161727!important}
:is(a,button).h2:hover{background:#511fa4!important;color:#fff!important}
:is(a,button).h3:hover{background:#f7f7f8!important;color:#161727!important}
:is(a,button).h4:hover{background:#1f2037!important;color:#fff!important}
:is(a,button).h5:hover{background:#eae3f6!important;color:#161727!important}
:is(a,button).h6:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
:is(a,button).h7:hover{border-color:#ccbee3!important;box-shadow:0 18px 40px -20px rgba(128,70,225,.35)!important;transform:translateY(-2px)!important;color:#161727!important}
:is(a,button).h8:hover{background:#efecf4!important;color:#161727!important}
:is(a,button).h9:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
:is(a,button).h10:hover{color:#fff!important}
:is(a,button).h11:hover{background:#511fa4!important}
/* Inner-page banners: solid background (replaces grid, aurora and network canvas) */
body.v2-inner .hero-dark{background:radial-gradient(55% 75% at 88% 0%,rgba(124,58,237,.42),transparent 62%),radial-gradient(45% 65% at 0% 100%,rgba(136,71,187,.38),transparent 62%),linear-gradient(180deg,#1c1c31 0%,#21223b 100%)}
body.v2-inner .hero-dark canvas,body.v2-inner .hero-dark .page-hero-glow{display:none}
body.v2-inner .hero-dark::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;width:auto;height:auto;border-radius:0;border:0;background:radial-gradient(ellipse 90% 70% at 50% 115%,transparent 69.6%,rgba(167,139,250,.4) 70%,transparent 70.5%);-webkit-mask-image:none;mask-image:none;animation:sxPulse 8s ease-in-out infinite}
body.v2-inner .hero-dark::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;width:auto;height:auto;left:0;top:0;transform:none;border-radius:0;filter:none;background:linear-gradient(115deg,transparent 30%,rgba(205,197,237,.08) 45%,transparent 60%);background-size:250% 100%;animation:sxSweep 9s ease-in-out infinite}
body.v2-inner .hero-dark .eyebrow{color:#cdc5ed;border-color:rgba(167,139,250,.4);background-color:rgba(124,58,237,.14)}
@keyframes sxPulse{0%,100%{opacity:.6}50%{opacity:1}}
/* Home hero banner — same logo-colour treatment as inner-page banners */
body.v2-home .st-118{background:radial-gradient(55% 75% at 88% 0%,rgba(124,58,237,.42),transparent 62%),radial-gradient(45% 65% at 0% 100%,rgba(136,71,187,.38),transparent 62%),linear-gradient(180deg,#1c1c31 0%,#21223b 100%)}
body.v2-home .st-119{background-image:radial-gradient(ellipse 90% 70% at 50% 115%,transparent 69.6%,rgba(167,139,250,.4) 70%,transparent 70.5%);background-size:auto;-webkit-mask-image:none;mask-image:none;animation:sxPulse 8s ease-in-out infinite}
body.v2-home .st-119::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(205,197,237,.08) 45%,transparent 60%);background-size:250% 100%;animation:sxSweep 9s ease-in-out infinite}
body.v2-home .st-120{background:radial-gradient(circle,rgba(124,58,237,.4),rgba(124,58,237,0) 68%);filter:none}
@keyframes sxSweep{0%,100%{background-position:100% 0}50%{background-position:0 0}}

/* ---- Page styles (moved from inline style attributes) ---- */
.st-1{font-size:34px}
.st-2{stroke:url(#arcGrad3)}
.st-3{color:rgb(var(--brand-violet))}
.st-4{margin-top:16px;font-size:16px}
.st-5{background:#f04438b3}
.st-6{background:#f5a524b3}
.st-7{background:#17b26ab3}
.st-8{margin-top:8px}
.st-9{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.st-10{margin-top:16px}
.st-11{left:40px;top:118px;width:250px;height:330px}
.st-12{left:310px;top:110px;width:370px;height:350px}
.st-13{fill:#fff;font-weight:700}
.st-14{fill:none;stroke:#f04438;stroke-width:2}
.st-15{left:700px;top:118px;width:220px;height:330px}
.st-16{margin-top:10px}
.st-17{font-size:22px;color:rgb(255 255 255 / .45)}
.st-18{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.st-19{margin-top:22px}
.st-20{left:40px;top:108px;width:880px}
.st-21{flex:1;display:flex;align-items:center;gap:2px}
.st-22{padding:9px 18px}
.st-23{left:40px;top:192px;width:470px}
.st-24{left:540px;top:192px;width:380px;height:300px}
.st-25{display:flex;align-items:center;gap:14px}
.st-26{font-family:Sora,sans-serif;font-weight:700;font-size:18px}
.st-27{font-size:13px;color:rgb(255 255 255 / .6)}
.st-28{margin-top:14px}
.st-29{left:60px;top:120px;width:360px;height:360px}
.st-30{position:absolute;inset:0;border-radius:50%;border:1px solid rgb(177 141 238 / .3)}
.st-31{position:absolute;inset:60px;border-radius:50%;border:1px solid rgb(177 141 238 / .22)}
.st-32{position:absolute;inset:120px;border-radius:50%;border:1px solid rgb(177 141 238 / .16)}
.st-33{position:absolute;inset:0;width:100%;height:100%}
.st-34{stroke-width:0;fill:#b491ee}
.st-35{position:absolute;left:0;right:0;bottom:-44px;text-align:center;font-size:14px;color:rgb(255 255 255 / .7)}
.st-36{color:#fff;font-family:Sora,sans-serif;font-size:18px}
.st-37{left:480px;top:112px;width:440px;height:380px}
.st-38{margin-bottom:14px}
.st-39{margin-left:6px}
.st-40{font-family:ui-monospace,monospace}
.st-41{color:rgb(255 255 255 / 0.4)}
.st-42{padding-top:56px}
.st-43{display:flex;align-items:center;gap:12px;margin-top:32px;font-size:14px}
.st-44{font-weight:600}
.st-45{display:none}
.st-46{margin-top:20px;font-size:34px}
.st-47{font-weight:600;color:rgb(var(--text))}
.st-48{background:#0a0b13;color:#c6c6d4}
.st-49{max-width:1440px;margin:0 auto;padding:clamp(56px,8vw,88px) clamp(20px,4vw,32px) 28px;display:flex;flex-direction:column;gap:48px}
.st-50{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:40px 32px}
@media (max-width:1000px){.st-50{grid-template-columns:repeat(4,minmax(0,1fr))}.st-51{grid-column:1 / -1}}
@media (max-width:640px){.st-50{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st-51{min-width:0;display:flex;flex-direction:column;gap:20px;max-width:360px}
.st-52{height:38px;width:auto;display:block}
.st-53{font-size:14.5px;line-height:1.65}
.st-54{display:flex;gap:8px}
.st-55{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#d2d2dd}
.st-56{display:flex;flex-direction:column;gap:12px}
.st-57{font:600 11px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.st-58{font-size:14.5px;color:#c6c6d4}
.st-59{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:16px 20px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025);font:500 12.5px 'Sora',sans-serif;color:#9a9aaa}
.st-60{display:flex;align-items:center;gap:8px;color:#eaeaf0;font-weight:500}
.st-61{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:amlPulse 2s infinite}
.st-62{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#9a9aaa}
.st-63{position:fixed;right:20px;bottom:20px;z-index:40;width:46px;height:46px;border-radius:12px;border:0;background:#642ac3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px -8px rgba(128,70,225,.55)}
.st-64{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column}
.st-65{height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e8e8ec}
.st-66{height:34px;width:auto;display:block}
.st-67{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #e6e6ea;border-radius:10px;background:#fff;color:#161727;cursor:pointer}
.st-68{flex:1;overflow-y:auto;padding:8px 20px}
.st-69{border-bottom:1px solid #efeff1}
.st-70{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 0;border:0;background:transparent;font:600 17px 'Sora',sans-serif;color:#161727;cursor:pointer}
.st-71{color:#737386;transform:none;transition:transform .2s}
.st-72{display:flex;flex-direction:column;gap:2px;padding-bottom:14px}
.st-73{display:flex;align-items:center;gap:12px;padding:10px 4px;font-size:15px;font-weight:500;color:#22233c}
.st-74{width:32px;height:32px;border-radius:9px;background:#f2eefa;color:#5a29ad;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.st-75{display:block;padding:18px 0;border-bottom:1px solid #efeff1;font-size:17px;font-weight:600;color:#161727}
.st-76{display:block;padding:18px 0;font-size:17px;font-weight:600;color:#161727}
.st-77{padding:16px 20px 24px;border-top:1px solid #e8e8ec}
.st-78{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;background:#642ac3;color:#fff;border-radius:10px;font-weight:600;font-size:15px}
.st-79{min-height:100vh;display:flex;flex-direction:column}
.st-80{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #e8e8ec}
.st-81{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,32px);height:72px;display:flex;align-items:center;gap:32px}
.st-82{display:flex;align-items:center;flex-shrink:0}
.st-83{height:36px;width:auto;display:block}
.st-84{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translateX(-50%)}
.hdr-cta{margin-left:auto}
.st-85{display:flex;align-items:center;gap:6px;padding:10px 14px;border:0;background:transparent;border-radius:8px;font:500 15px 'Sora',sans-serif;color:#161727;cursor:pointer}
.st-86{color:#737386}
.st-87{padding:10px 14px;border-radius:8px;font:500 15px 'Sora',sans-serif;color:#161727}
.st-88{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;background:#642ac3;color:#fff;border-radius:10px;font:600 14px 'Sora',sans-serif;box-shadow:0 1px 2px rgba(22,23,39,.12),inset 0 1px 0 rgba(255,255,255,.15)}
.st-89{flex:1}
.st-90{position:absolute;top:64px;transform-origin:top center;animation:amlMenuIn .32s cubic-bezier(.2,.8,.2,1) both;left:clamp(20px,4vw,32px);right:clamp(20px,4vw,32px);max-width:980px;margin:0 auto;background:#fff;border:1px solid #e6e6ea;border-radius:16px;box-shadow:0 24px 60px -12px rgba(22,23,39,.22);display:grid;grid-template-columns:1fr 1fr 300px;overflow:hidden}
.st-91{padding:24px;display:flex;flex-direction:column;gap:2px}
.st-92{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#737386;padding:0 10px 10px}
.st-93{display:flex;gap:12px;padding:10px;border-radius:10px;color:#161727}
.st-94{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:#f2eefa;color:#5a29ad;display:flex;align-items:center;justify-content:center}
.st-95{display:flex;flex-direction:column;gap:2px}
.st-96{font-weight:600;font-size:14px}
.st-97{font-size:13px;color:#545466}
.st-98{padding:24px;display:flex;flex-direction:column;gap:2px;border-left:1px solid #efeff1}
.st-99{margin:12px;padding:22px;border-radius:12px;background:#161727;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.st-100{display:flex;flex-direction:column;gap:8px}
.st-101{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b491ee}
.st-102{font-size:18px;font-weight:600;letter-spacing:-.01em}
.st-103{font-size:13px;line-height:1.5;color:#c6c6d4}
.st-104{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.st-105{width:30px;height:30px;border-radius:50%;background:#642ac3;display:flex;align-items:center;justify-content:center}
.st-106{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 34px;background:#f8f8f9;border-top:1px solid #efeff1;font-size:13px;color:#545466}
.st-107{display:flex;align-items:center;gap:6px;font-weight:600}
.st-108{margin:12px;padding:22px;border-radius:12px;background:#f5f2fa;color:#161727;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.st-109{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#5a29ad}
.st-110{font-size:13px;line-height:1.5;color:#545466}
.st-111{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#5a29ad}
.st-112{position:absolute;top:64px;transform-origin:top center;animation:amlMenuIn .32s cubic-bezier(.2,.8,.2,1) both;left:clamp(20px,4vw,32px);right:clamp(20px,4vw,32px);max-width:680px;margin:0 auto;background:#fff;border:1px solid #e6e6ea;border-radius:16px;box-shadow:0 24px 60px -12px rgba(22,23,39,.22);display:grid;grid-template-columns:1fr 300px;overflow:hidden}
.st-113{margin:12px;padding:22px;border-radius:12px;background:#161727;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.st-114{font:500 12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#d2d2dd}
.st-115{color:#4ADE80}
.st-116{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.st-117{position:fixed;inset:72px 0 0 0;z-index:45;background:rgba(13,13,22,.28);backdrop-filter:blur(7px) saturate(120%);-webkit-backdrop-filter:blur(7px) saturate(120%);animation:amlFade .25s ease both}
.st-118{position:relative;overflow:hidden;background:#0a0b13;color:#fff}
.st-119{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 30%,transparent 80%)}
.st-120{position:absolute;width:760px;height:760px;right:-160px;top:-260px;border-radius:50%;animation:amlGlow 9s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(84,32,172,.45),transparent 62%)}
.st-121{position:relative;max-width:1440px;margin:0 auto;padding:clamp(56px,9vw,112px) clamp(20px,4vw,32px) clamp(40px,6vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(40px,6vw,72px);align-items:center}
.st-122{display:flex;flex-direction:column;gap:28px}
.st-123{animation:amlUp .8s 0s cubic-bezier(.2,.8,.2,1) both;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;line-height:1.5;background:rgba(255,255,255,.04);font:500 12px 'Sora',sans-serif;letter-spacing:.02em;color:#d2d2dd}
.st-124{animation:amlUp .8s 0.08s cubic-bezier(.2,.8,.2,1) both;font-size:clamp(40px,5.6vw,68px);line-height:1.02;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
.st-125{background:linear-gradient(100deg,#a277eb 0%,#c4a8f2 45%,#B69CFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.st-126{animation:amlUp .8s 0.16s cubic-bezier(.2,.8,.2,1) both;font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:#c6c6d4;max-width:560px;text-wrap:pretty}
.st-127{animation:amlUp .8s 0.24s cubic-bezier(.2,.8,.2,1) both;display:flex;flex-wrap:wrap;gap:12px}
.st-128{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;white-space:nowrap;flex-shrink:0;background:#642ac3;color:#fff;border-radius:10px;font-weight:600;font-size:15px;box-shadow:0 1px 2px rgba(22,23,39,.2),inset 0 1px 0 rgba(255,255,255,.12)}
.st-129{display:inline-flex;align-items:center;padding:14px 22px;white-space:nowrap;flex-shrink:0;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;font-weight:600;font-size:15px}
.st-130{animation:amlUp .8s 0.32s cubic-bezier(.2,.8,.2,1) both;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;color:#d2d2dd}
.st-131{display:flex;align-items:center;gap:8px}
.st-132{color:#b491ee}
.st-133{width:100%;max-width:520px;margin:0 auto;animation:amlPanelIn 1s .25s cubic-bezier(.2,.8,.2,1) both}
.st-134{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,32px) clamp(56px,8vw,88px)}
.st-135{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025);overflow-x:auto}
.st-136{position:relative;min-width:700px;display:grid;grid-template-columns:repeat(7,1fr);padding:24px 12px}
.st-137{position:absolute;left:calc(12px + (100% - 24px) / 14);right:calc(12px + (100% - 24px) / 14);top:45px;height:1px;background:linear-gradient(90deg,rgba(177,141,238,.15),rgba(177,141,238,.6),rgba(177,141,238,.15))}
.st-138{position:absolute;top:42px;width:7px;height:7px;margin-left:-3px;border-radius:50%;background:#e3d9f3;box-shadow:0 0 12px 3px rgba(177,141,238,.75);animation:amlTravel 5s linear infinite}
.st-139{position:absolute;top:42px;width:7px;height:7px;margin-left:-3px;border-radius:50%;background:#e3d9f3;box-shadow:0 0 12px 3px rgba(177,141,238,.75);animation:amlTravel 5s 2.5s linear infinite}
.st-140{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.st-141{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(128,70,225,.18);border:1px solid rgba(177,141,238,.3);color:#cebdea}
.st-142{font-size:12.5px;font-weight:500;color:#d2d2dd}
.st-143{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(34,197,94,.14);border:1px solid rgba(74,222,128,.45);color:#4ADE80}
.st-144{background:#f8f8f9;border-bottom:1px solid #efeff1}
.st-145{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}
.st-146{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px 64px;align-items:end}
.st-147{display:flex;flex-direction:column;gap:16px}
.st-148{font:600 12px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#5a29ad}
.st-149{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:600;text-wrap:balance}
.st-150{font-size:17px;line-height:1.6;color:#434357;text-wrap:pretty}
.st-151{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.st-152{display:flex;flex-direction:column;gap:14px;padding:28px;background:#fff;border:1px solid #e6e6ea;border-radius:16px;color:#161727;transition:border-color .2s,box-shadow .2s,transform .2s}
.st-153{width:44px;height:44px;border-radius:12px;background:#f2eefa;color:#5a29ad;display:flex;align-items:center;justify-content:center}
.st-154{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-top:6px}
.st-155{font-size:15px;line-height:1.6;color:#434357;flex:1}
.st-156{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#5a29ad}
.st-157{background:#fff}
.st-158{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(40px,6vw,80px);align-items:center}
.st-159{display:flex;flex-direction:column;gap:18px}
.st-160{background:linear-gradient(100deg,#5420ac 0%,#8046e1 50%,#7C3AED 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.st-161{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.st-162{display:flex;gap:12px;padding:14px 0;border-top:1px solid #efeff1;font-size:15px;line-height:1.55;color:#22233c}
.st-163{flex-shrink:0;color:#5a29ad;margin-top:1px}
.st-164{width:100%;max-width:520px;margin:0 auto}
.st-165{position:relative;overflow:hidden;background:#f8f8f9;color:#161727;border-top:1px solid #efeff1;border-bottom:1px solid #efeff1}
.st-166{position:relative;max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:clamp(36px,5vw,52px)}
.st-167{width:100%}
.st-168{background:#0a0b13;color:#fff}
.st-169{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:clamp(36px,5vw,52px)}
.st-170{max-width:680px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}
.st-171{font:600 12px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b491ee}
.st-172{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:600}
.st-173{font-size:17px;line-height:1.6;color:#c6c6d4;text-wrap:pretty}
.st-174{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03)}
.st-175{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:600 14px 'Sora',sans-serif;cursor:pointer}
.st-176{position:absolute;left:0;bottom:0;height:2px;width:0.0%;background:#b491ee}
.st-177{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border:0;border-radius:10px;background:transparent;color:#9a9aaa;font:600 14px 'Sora',sans-serif;cursor:pointer}
.st-178{position:absolute;left:0;bottom:0;height:2px;width:0%;background:#b491ee}
.st-179{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(180deg,#151525,#0f101c);overflow:hidden}
.st-180{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:24px;min-height:480px}
.st-181{display:flex;flex-direction:column;gap:24px}
.st-182{animation:amlUp .55s cubic-bezier(.2,.8,.2,1) both;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.st-183{display:flex;flex-direction:column;gap:6px}
.st-184{font:600 11px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b491ee}
.st-185{font-size:clamp(18px,2vw,22px);font-weight:600}
.st-186{padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font:500 11px 'Sora',sans-serif;color:#9a9aaa}
.st-187{animation:amlUp .6s .1s cubic-bezier(.2,.8,.2,1) both;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.st-188{padding:20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:14px}
.st-189{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#9a9aaa}
.st-190{display:flex;flex-direction:column;gap:3px}
.st-191{font-size:12px;color:#9a9aaa}
.st-192{font-size:15px;font-weight:500}
.st-193{padding:20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:10px}
.st-194{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);font-size:14px}
.st-195{width:8px;height:8px;border-radius:50%;background:#b491ee}
.st-196{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(240,68,56,.12);border:1px solid rgba(240,68,56,.35);font-size:14px}
.st-197{width:8px;height:8px;border-radius:50%;background:#F04438}
.st-198{padding:20px;border-radius:14px;background:rgba(128,70,225,.12);border:1px solid rgba(177,141,238,.25);display:flex;flex-direction:column;gap:14px}
.st-199{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#cebdea}
.st-200{font-size:48px;font-weight:600;letter-spacing:-.03em;line-height:1}
.st-201{font-size:20px;color:#9a9aaa}
.st-202{height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.st-203{transform-origin:left;animation:amlGrow 1.4s .5s cubic-bezier(.2,.8,.2,1) both;display:block;width:78%;height:100%;background:linear-gradient(90deg,#FBBF24,#F04438);border-radius:99px}
.st-204{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.st-205{padding:5px 10px;border-radius:999px;background:rgba(240,68,56,.15);color:#FF8A80;font-size:12px;font-weight:600}
.st-206{padding:5px 10px;border-radius:999px;background:rgba(245,165,36,.15);color:#FBBF24;font-size:12px;font-weight:600}
.st-207{padding:5px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#4ADE80;font-size:12px;font-weight:600}
.st-208{align-self:flex-start;margin-top:auto;padding:10px 16px;border-radius:9px;background:#642ac3;font-size:13px;font-weight:600}
.st-209{animation:amlUp .55s .05s cubic-bezier(.2,.8,.2,1) both;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.st-210{color:#9a9aaa;flex-shrink:0}
.st-211{flex:1;font-size:16px}
.st-212{padding:9px 18px;border-radius:9px;background:#642ac3;font-size:13px;font-weight:600}
.st-213{animation:amlUp .6s .15s cubic-bezier(.2,.8,.2,1) both;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.st-214{border-radius:14px;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.st-215{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.20s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.st-216{font-size:14px;font-weight:600}
.st-217{font-style:normal;font-size:12px;color:#9a9aaa}
.st-218{padding:5px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#4ADE80;font-size:12px;font-weight:600;white-space:nowrap}
.st-219{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.32s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.st-220{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.44s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.st-221{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.56s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.st-222{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.68s;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.st-223{padding:5px 10px;border-radius:999px;background:rgba(245,165,36,.15);color:#FBBF24;font-size:12px;font-weight:600;white-space:nowrap}
.st-224{padding:20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:16px}
.st-225{width:48px;height:48px;border-radius:50%;background:#292a49;color:#cebdea;display:flex;align-items:center;justify-content:center;font-weight:600}
.st-226{font-weight:600;font-size:18px}
.st-227{font-size:13px;color:#9a9aaa}
.st-228{display:flex;flex-direction:column}
.st-229{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06);font-size:14px}
.st-230{color:#9a9aaa}
.st-231{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06);font-size:14px}
.st-232{padding:4px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#4ADE80;font-size:12px;font-weight:600}
.st-233{align-self:flex-start;padding:10px 16px;border-radius:9px;background:#642ac3;font-size:13px;font-weight:600}
.st-234{animation:amlUp .6s .1s cubic-bezier(.2,.8,.2,1) both;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.st-235{padding:28px;border-radius:14px;background:rgba(128,70,225,.12);border:1px solid rgba(177,141,238,.25);display:flex;flex-direction:column;justify-content:center;gap:10px}
.st-236{font-size:clamp(44px,5vw,60px);font-weight:600;letter-spacing:-.03em;line-height:1}
.st-237{font-size:15px;color:#d2d2dd}
.st-238{padding:20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}
.st-239{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#9a9aaa;margin-bottom:8px}
.st-240{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.20s;display:flex;gap:14px;padding:12px;border-radius:10px;background:transparent;border:1px solid transparent}
.st-241{font:500 12px 'Sora',sans-serif;color:#9a9aaa;padding-top:2px}
.st-242{flex:1;display:flex;flex-direction:column;gap:3px;font-size:14px}
.st-243{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:500}
.st-244{font-size:12.5px;color:#9a9aaa}
.st-245{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.34s;display:flex;gap:14px;padding:12px;border-radius:10px;background:transparent;border:1px solid transparent}
.st-246{padding:3px 9px;border-radius:999px;background:rgba(34,197,94,.14);color:#4ADE80;font-size:11.5px;font-weight:600}
.st-247{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.48s;display:flex;gap:14px;padding:12px;border-radius:10px;background:rgba(240,68,56,.1);border:1px solid rgba(240,68,56,.35)}
.st-248{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600}
.st-249{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.62s;display:flex;gap:14px;padding:12px;border-radius:10px;background:transparent;border:1px solid transparent}
.st-250{animation:amlUp .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:0.76s;display:flex;gap:14px;padding:12px;border-radius:10px;background:transparent;border:1px solid transparent}
.st-251{padding:3px 9px;border-radius:999px;background:rgba(245,165,36,.15);color:#FBBF24;font-size:11.5px;font-weight:600}
.st-252{display:flex;align-items:center;gap:16px;padding:14px clamp(16px,3vw,24px);border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.st-253{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.st-254{flex:1;font-size:14px;line-height:1.5;color:#eaeaf0}
.st-255{font:500 12px 'Sora',sans-serif;color:#9a9aaa;white-space:nowrap}
.st-256{text-align:center;font-size:13px;color:#9a9aaa}
.st-257{text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}
.st-258{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;font-weight:600;text-wrap:balance;max-width:720px}
.st-259{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));border:1px solid #e6e6ea;border-radius:18px;overflow:hidden;background:#e6e6ea;gap:1px}
.st-260{background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:12px}
.st-261{font:600 13px 'Sora',sans-serif;color:#5a29ad}
.st-262{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-top:18px}
.st-263{font-size:14.5px;line-height:1.6;color:#434357}
.st-264{background:#f8f8f9;border-top:1px solid #efeff1;border-bottom:1px solid #efeff1}
.st-265{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,72px);align-items:center}
.st-266{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.st-267{display:flex;gap:12px;padding:12px 0;border-top:1px solid #e8e8ec;font-size:15px;line-height:1.55;color:#22233c}
.st-268{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:13px 20px;background:#642ac3;color:#fff;border-radius:10px;font-weight:600;font-size:15px}
.st-269{min-width:0;animation:amlFloat 7s ease-in-out infinite;background:#0f101c;border-radius:18px;border:1px solid #22233d;box-shadow:0 30px 60px -30px rgba(22,23,39,.5);overflow:hidden}
.st-270{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.st-271{width:10px;height:10px;border-radius:50%;background:rgba(240,68,56,.7)}
.st-272{width:10px;height:10px;border-radius:50%;background:rgba(245,165,36,.7)}
.st-273{width:10px;height:10px;border-radius:50%;background:rgba(23,178,106,.7)}
.st-274{margin-left:10px;font:500 12px 'Sora',sans-serif;color:#9a9aaa;flex:1}
.st-275{display:flex;align-items:center;gap:6px;font:500 12px 'Sora',sans-serif;color:#4ADE80}
.st-276{width:6px;height:6px;border-radius:50%;background:#22C55E;animation:amlPulse 2s infinite}
.st-277{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.st-278{padding:20px;overflow-x:auto;font:400 12.5px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d2d2dd;border-right:1px solid rgba(255,255,255,.06)}
.st-279{padding:20px;overflow-x:auto;font:400 12.5px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:#9a9aaa;background:rgba(255,255,255,.02)}
.st-280{color:#eaeaf0}
.st-281{color:#FBBF24}
.st-282{background:#f8f8f9;border-top:1px solid #efeff1}
.st-283{align-self:flex-start;display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:rgba(128,70,225,.1);border:1px solid rgba(128,70,225,.25);font-family:'Sora',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8046e1}
.st-284{font-family:Sora,sans-serif;font-size:clamp(30px,3.4vw,42px);line-height:1.15;letter-spacing:-.02em;font-weight:600;color:#161727;text-wrap:balance}
.st-285{font-family:'Sora',sans-serif;font-size:17px;line-height:1.65;color:#434357;text-wrap:pretty}
.st-286{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px 32px;margin-top:14px}
.st-287{display:flex;gap:12px}
.st-288{flex-shrink:0;color:#8046e1;margin-top:1px}
.st-289{display:flex;flex-direction:column;gap:4px}
.st-290{font-family:Sora,sans-serif;font-size:14px;font-weight:600;color:#161727}
.st-291{font-family:'Sora',sans-serif;font-size:14px;line-height:1.6;color:#434357}
.st-292{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,120px) clamp(20px,4vw,32px)}
.st-293{position:relative;overflow:hidden;border-radius:20px;background:#161727;border:1px solid #22233d;color:#fff;box-shadow:0 30px 60px -36px rgba(22,23,39,.55)}
.st-294{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 35%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 100%)}
.st-295{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,145,238,.6),transparent)}
.st-296{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px 64px;align-items:center;padding:clamp(40px,6vw,72px) clamp(24px,5vw,64px)}
.st-297{font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:600;text-wrap:balance}
.st-298{font-size:17px;line-height:1.6;color:#c6c6d4;text-wrap:pretty;max-width:560px}
.st-299{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.st-300{display:inline-flex;align-items:center;gap:8px;padding:15px 24px;white-space:nowrap;flex-shrink:0;background:#fff;color:#161727;border-radius:10px;font-weight:600;font-size:15px}
.st-301{display:inline-flex;align-items:center;padding:15px 24px;white-space:nowrap;flex-shrink:0;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;font-weight:600;font-size:15px}
.st-302{color:#161727}
.st-303{position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0b13 0%,#0f0f1a 100%);color:#fff}
.st-304{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 30%,transparent 80%)}
.st-305{position:relative;max-width:760px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px) 150px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.st-306{font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
.st-307{font-size:18px;line-height:1.6;color:#c6c6d4;text-wrap:pretty}
.st-308{display:flex;gap:4px;padding:4px;margin-top:8px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.st-309{padding:2px 8px;border-radius:999px;background:rgba(18,161,80,.18);color:#4ADE80;font-size:12px}
.st-310{background:#f8f8f9}
.st-311{max-width:1440px;margin:-110px auto 0;padding:0 clamp(20px,4vw,32px) clamp(56px,8vw,88px);position:relative;display:flex;flex-direction:column;gap:28px}
.st-312{position:relative;display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:18px;background:#fff;border:1px solid #e6e6ea;box-shadow:0 1px 2px rgba(22,23,39,.04);color:#161727}
.st-313{display:flex;align-items:baseline;gap:6px}
.st-314{font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1}
.st-315{font-size:15px;color:#545466}
.st-316{font-size:12.5px;color:#545466;min-height:18px}
.st-317{font-size:14.5px;line-height:1.55;color:#545466}
.st-318{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:10px;font-weight:600;font-size:14.5px;background:#fff;color:#161727;border:1px solid #d4d4d9}
.st-319{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.st-320{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #efeff1;font-size:13.5px}
.st-321{color:#545466}
.st-322{font-weight:600;text-align:right;white-space:nowrap}
.st-323{color:#12A150}
.st-324{color:#a0a0ab}
.st-325{position:relative;display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:18px;background:#161727;border:1px solid #642ac3;box-shadow:0 30px 60px -30px rgba(100,42,195,.55);color:#fff}
.st-326{position:absolute;top:-12px;left:28px;padding:5px 12px;border-radius:999px;background:#642ac3;color:#fff;font-size:12px;font-weight:600}
.st-327{font-size:15px;color:#c6c6d4}
.st-328{font-size:12.5px;color:#c6c6d4;min-height:18px}
.st-329{font-size:14.5px;line-height:1.55;color:#c6c6d4}
.st-330{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:10px;font-weight:600;font-size:14.5px;background:#642ac3;color:#fff}
.st-331{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px}
.st-332{color:#c6c6d4}
.st-333{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;font-size:14.5px;color:#545466}
.st-334{color:#642ac3;font-weight:600}
.st-335{max-width:1440px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:36px}
.st-336{max-width:720px;display:flex;flex-direction:column;gap:16px}
.st-337{font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.03em;font-weight:600;text-wrap:balance}
.st-338{font-size:17px;line-height:1.6;color:#434357}
.st-339{border:1px solid #e6e6ea;border-radius:16px;overflow-x:auto}
.st-340{width:100%;min-width:680px;border-collapse:collapse;text-align:left}
.st-341{padding:14px 18px;font:600 12px 'Sora',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#545466}
.st-342{padding:14px 18px;border-top:1px solid #efeff1;font-size:14px;vertical-align:top;font-weight:600;color:#161727}
.st-343{padding:14px 18px;border-top:1px solid #efeff1;font-size:14px;vertical-align:top;color:#434357}
.st-344{padding:14px 18px;border-top:1px solid #efeff1;font-size:14px;vertical-align:top;color:#161727;font-weight:600}
.st-345{font-size:14px;color:#545466}
.st-346{max-width:1440px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(36px,5vw,64px);align-items:start}
.st-347{display:flex;flex-direction:column;gap:0;margin-top:8px}
.st-348{display:flex;gap:14px;padding:18px 0;border-top:1px solid #e6e6ea}
.st-349{flex-shrink:0;color:#642ac3;margin-top:2px}
.st-350{font-size:16px;font-weight:600}
.st-351{border-radius:20px;background:#161727;color:#fff;padding:clamp(24px,4vw,36px);display:flex;flex-direction:column;gap:22px;box-shadow:0 30px 60px -36px rgba(22,23,39,.55)}
.st-352{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.st-353{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:14px;font-weight:500}
.st-354{color:#b491ee;flex-shrink:0}
.st-355{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.st-356{font-size:26px;font-weight:600}
.st-357{font-size:13px;color:#c6c6d4}
.st-358{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.st-359{padding:28px;border:1px solid #e6e6ea;border-radius:16px;background:#f8f8f9;display:flex;flex-direction:column;gap:10px}
.st-360{font-size:40px;font-weight:600;letter-spacing:-.03em;color:#642ac3}
.st-361{font-size:17px;font-weight:600}
.st-362{max-width:1440px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(36px,5vw,64px);align-items:center}
.st-363{padding:clamp(24px,4vw,36px);border-radius:20px;background:#fff;border:1px solid #e6e6ea;display:flex;flex-direction:column;gap:22px}
.st-364{font-size:32px;font-weight:600;letter-spacing:-.02em}
.st-365{font-size:14.5px;color:#545466}
.st-366{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px}
.st-367{display:flex;gap:10px;font-size:14.5px;color:#22233c}
.st-368{flex-shrink:0;color:#642ac3}
.st-369{display:flex;flex-wrap:wrap;gap:12px}
.st-370{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:10px;background:#642ac3;color:#fff;font-weight:600;font-size:14.5px}
.st-371{display:inline-flex;align-items:center;padding:13px 20px;border-radius:10px;background:#fff;color:#161727;border:1px solid #d4d4d9;font-weight:600;font-size:14.5px}
.st-372{max-width:860px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:32px}
.st-373{border-top:1px solid #e6e6ea}
.st-374{border-bottom:1px solid #e6e6ea}
.st-375{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:17px;font-weight:600}
.st-376{flex-shrink:0;color:#545466;transition:transform .2s}
.st-377{padding:0 0 20px;font-size:15.5px;line-height:1.65;color:#434357}
.st-378{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,32px) clamp(72px,10vw,120px)}
.st-379{position:relative;overflow:hidden;border-radius:20px;background:#161727;border:1px solid #22233d;color:#fff}
.st-380{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px 64px;align-items:center;padding:clamp(40px,6vw,64px) clamp(24px,5vw,56px)}
.st-381{font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.03em;font-weight:600}
.st-382{font-size:16.5px;line-height:1.6;color:#c6c6d4}
.st-383{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:#d2d2dd}
.st-384{display:inline-flex;align-items:center;gap:8px;padding:15px 24px;white-space:nowrap;background:#fff;color:#161727;border-radius:10px;font-weight:600;font-size:15px}
.st-385{display:inline-flex;align-items:center;padding:15px 24px;white-space:nowrap;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;font-weight:600;font-size:15px}
.st-386{transform-origin:150px 150px;animation: spin-slow 6s linear infinite}
.st-387{position:relative;width:100%;height:100%}
.st-388{display:contents}
.st-389{left:258px;top:150px}
.st-390{left:546px;top:150px}
.st-391{left:834px;top:150px}
.st-392{left:142px;top:276px}
.st-393{left:430px;top:276px}
.st-394{left:718px;top:276px}
.st-395{left:566px;top:51px}
.st-396{left:854px;top:62px}
.st-397{left:24px}
.st-398{display:flex;justify-content:space-between;align-items:baseline}
.st-399{font:500 10px 'Sora',sans-serif;color:var(--ink-2)}
.st-400{font-size:12px;color:var(--ink-2);line-height:1.45}
.st-401{grid-column:1 / -1;font-size:11px}
.st-402{left:312px}
.st-403{width:44.3%}
.st-404{margin-top:auto}
.st-405{font-size:11px;color:var(--ink-2);margin-bottom:4px}
.st-406{left:600px}
.st-407{width:67.5%}
.st-408{left:888px}
.st-409{color:var(--brand)}
.st-410{margin-top:auto;font:500 11px 'Sora',sans-serif;color:var(--ink-2)}
.st-411{left:74px}
.st-412{left:362px}
.st-413{left:650px}
.st-414{stroke:url(#arcGrad2)}
.st-415{color:rgb(var(--brand-violet));flex-shrink:0}
.st-416{margin-top:16px;font-size:18px}
.st-417{padding-top:56px;padding-bottom:56px;position:relative;overflow:hidden}
.st-418{font-size:14px}
.st-419{font-size:13px}
.st-420{font-size:11px;font-weight:700;display:inline-block;margin-top:8px}
.st-421{padding-top:56px;padding-bottom:80px;position:relative;overflow:hidden}
.st-422{text-decoration:none}

/* ---- Page-specific ---- */
/* from header.php */
body{margin:0}

/* from pricing.php */
.pr-grid{display:grid;gap:16px;align-items:start;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.pr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pr-grid{grid-template-columns:minmax(0,1fr)}}
.pr-btn{transition:background .2s,border-color .2s}
.pr-btn:hover{background:#f3f3f6!important;border-color:#a0a0ab!important}
.pr-btn-dark:hover{background:#511fa4!important}
.pr-tg{border:0;background:transparent;padding:9px 16px;border-radius:8px;font:600 14px 'Sora',sans-serif;color:#c6c6d4;cursor:pointer;display:flex;align-items:center;gap:8px}
.pr-tg[aria-pressed="true"]{background:#fff;color:#161727}
.pr-faq summary{list-style:none;cursor:pointer}
.pr-faq summary::-webkit-details-marker{display:none}
.pr-faq[open] .pr-chev{transform:rotate(180deg)}

/* ---- Hero headline: masked word reveal + gradient sheen ---- */
.hx-title{animation:none!important}
.hx-w{display:inline-block;overflow:visible;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.hx-i{display:inline-block;transform:translateX(40px);opacity:0;animation:hxWord .9s cubic-bezier(.19,1,.22,1) forwards}
.hx-grad{background:linear-gradient(100deg,#a277eb 0%,#c4a8f2 30%,#FFFFFF 45%,#B69CFF 60%,#a277eb 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hxWord .9s cubic-bezier(.19,1,.22,1) forwards,hxSheen 6s ease-in-out 1.6s infinite}
.hx-title .hx-w:nth-child(1) .hx-i{animation-delay:0.15s}
.hx-title .hx-w:nth-child(2) .hx-i{animation-delay:0.25s}
.hx-title .hx-w:nth-child(3) .hx-grad{animation-delay:0.35s,1.6s}
.hx-title .hx-w:nth-child(4) .hx-grad{animation-delay:0.45s,1.6s}
.hx-lead{animation:hxLead 1s cubic-bezier(.19,1,.22,1) .6s both!important}
@keyframes hxWord{to{transform:none;opacity:1}}
@keyframes hxSheen{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@keyframes hxLead{from{opacity:0;transform:translateX(48px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.hx-i,.hx-lead{animation:none!important;transform:none;opacity:1;filter:none}}

/* ---- Solutions carousel ---- */
.sx{background:#fff;overflow:hidden}
.sx-in{max-width:1440px;margin:0 auto;padding:clamp(72px,10vw,128px) 0 clamp(72px,10vw,128px) clamp(20px,4vw,32px);display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.sx-copy{display:flex;flex-direction:column;gap:24px}
.sx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#434357}
.sx-dot{width:10px;height:10px;border-radius:50%;background:#642ac3;box-shadow:0 0 0 4px rgba(100,42,195,.15)}
.sx-title{margin:0;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(38px,4.4vw,64px);line-height:.98;letter-spacing:-.04em;text-transform:uppercase;color:#161727;text-wrap:balance}
.sx-lead{margin:0;font-size:17px;line-height:1.6;color:#434357;max-width:400px}
.sx-nav{display:flex;gap:14px;margin-top:12px}
.sx-btn{width:68px;height:68px;border-radius:50%;border:0;background:#642ac3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background .2s,opacity .2s}
.sx-btn:hover{background:#511fa4;transform:scale(1.05)}
.sx-btn[disabled]{opacity:.35;cursor:default;transform:none}
.sx-flip{transform:rotate(180deg)}
.sx-track{display:flex;gap:24px;overflow-x:auto;clip-path:inset(-12px 0 -12px 0);scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px clamp(20px,4vw,32px) 4px 0;overscroll-behavior-x:contain}
.sx-track::-webkit-scrollbar{display:none}
.sx-card{flex:0 0 clamp(280px,27vw,392px);min-height:clamp(440px,38vw,540px);scroll-snap-align:start;border-radius:32px;padding:32px;display:flex;flex-direction:column;background:#161727;color:#cebdea;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.sx-card:nth-child(even){background:#e6dff4;color:#1f2037}
.sx-card:hover{transform:translateY(-6px)}
.sx-ico{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#642ac3;color:#fff;box-shadow:0 0 0 6px rgba(100,42,195,.18)}
.sx-card:nth-child(even) .sx-ico{background:#161727;color:#b491ee;box-shadow:0 0 0 6px rgba(22,23,39,.08)}
.sx-card-t{margin:44px 0 14px;font-family:'Sora',sans-serif;font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.02em;color:#fff}
.sx-card:nth-child(even) .sx-card-t{color:#161727}
.sx-card-d{margin:0;font-size:18px;line-height:1.5;font-weight:500}
.sx-pill{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;background:#b491ee;color:#161727;font-weight:600;font-size:15px;transition:background .2s,gap .2s}
.sx-pill:hover{background:#cebdea;gap:12px}
.sx-card:nth-child(even) .sx-pill{background:#161727;color:#e6dff4}
.sx-card:nth-child(even) .sx-pill:hover{background:#22233d}
@media (max-width:900px){.sx-in{grid-template-columns:minmax(0,1fr);padding-right:0}.sx-lead{max-width:none}.sx-title{font-size:clamp(34px,9vw,52px)}}

/* ---- Pricing page (pz) ---- */
.pz{color:#161727}
.pz-wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,32px)}
.pz-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0b13 0%,#0f0f1a 100%);color:#fff}
.pz-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 20%,#000 30%,transparent 80%)}
.pz-hero-in{position:relative;max-width:760px;margin:0 auto;padding:clamp(64px,9vw,104px) clamp(20px,4vw,32px) 160px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.pz-kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b491ee}
.pz-kicker-dark{color:#642ac3}
.pz-h1{margin:0;font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.035em;font-weight:700;color:#fff}
.pz-sub{margin:0;font-size:18px;line-height:1.6;color:#c6c6d4;max-width:620px}
.pz-plans{background:#f8f8f9;padding-bottom:clamp(56px,8vw,96px)}
.pz-plans .pz-wrap{margin-top:-120px;position:relative;display:flex;flex-direction:column;gap:20px}
.pz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
@media (max-width:1000px){.pz-grid{grid-template-columns:minmax(0,1fr)}}
.pz-card{display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:20px;background:#fff;border:1px solid #e6e6ea;box-shadow:0 1px 2px rgba(22,23,39,.04)}
.pz-card-pro{background:#161727;border-color:#642ac3;color:#fff;box-shadow:0 30px 60px -30px rgba(100,42,195,.55)}
.pz-head-row{display:flex;justify-content:space-between;align-items:center}
.pz-tier{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#737386}
.pz-card-pro .pz-tier{color:#b491ee}
.pz-badge{padding:5px 12px;border-radius:999px;background:#642ac3;color:#fff;font-size:12px;font-weight:600}
.pz-name{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}
.pz-price{margin:6px 0 0;display:flex;align-items:baseline;gap:10px}
.pz-amt{font-size:48px;font-weight:700;letter-spacing:-.04em;line-height:1}
.pz-unit{font-size:15px;color:#545466}
.pz-card-pro .pz-unit{color:#c6c6d4}
.pz-note{margin:0;font-size:14px;line-height:1.5;color:#545466;min-height:42px}
.pz-card-pro .pz-note{color:#c6c6d4}
.pz-list{list-style:none;margin:8px 0 0;padding:18px 0 0;border-top:1px solid #efeff1;display:flex;flex-direction:column;gap:12px;flex:1}
.pz-card-pro .pz-list{border-color:rgba(255,255,255,.12)}
.pz-list li{position:relative;padding-left:24px;font-size:15px;line-height:1.5;color:#434357}
.pz-list li::before{content:'—';position:absolute;left:0;color:#642ac3;font-weight:700}
.pz-card-pro .pz-list li{color:#d2d2dd}
.pz-card-pro .pz-list li::before{color:#b491ee}
.pz-btn{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:10px;font-weight:600;font-size:15px;transition:background .2s,border-color .2s,gap .2s}
.pz-btn:hover{gap:12px}
.pz-btn-ghost{background:#fff;color:#161727;border:1px solid #d4d4d9}
.pz-btn-ghost:hover{background:#f3f3f6;border-color:#a0a0ab}
.pz-btn-solid{background:#642ac3;color:#fff}
.pz-btn-solid:hover{background:#511fa4}
.pz-btn-white{margin-top:0;background:#fff;color:#161727;white-space:nowrap}
.pz-btn-white:hover{background:#efecf4}
.pz-vol{margin-top:6px;padding:16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}
.pz-vol-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#c6c6d4}
.pz-vol-row b{color:#fff;font-weight:600}
.pz-range{--pz-fill:25%;-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,#642ac3 var(--pz-fill),rgba(255,255,255,.14) var(--pz-fill));outline:none;cursor:pointer}
.pz-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid #642ac3;box-shadow:0 2px 10px rgba(100,42,195,.6);transition:transform .15s}
.pz-range::-webkit-slider-thumb:hover{transform:scale(1.12)}
.pz-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #642ac3}
.pz-ticks{display:flex;justify-content:space-between}
.pz-ticks button{border:0;background:none;padding:4px 2px;font:600 12.5px 'Sora',sans-serif;color:#9a9aaa;cursor:pointer}
.pz-ticks button.is-on{color:#fff}
.pz-reseller{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;padding:24px 32px;border-radius:16px;background:#fff;border:1px solid #e6e6ea}
.pz-reseller-t{margin:0;font-size:17px;font-weight:600}
.pz-reseller-d{margin:4px 0 0;font-size:14.5px;color:#545466}
.pz-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#642ac3;transition:gap .2s}
.pz-link:hover{gap:12px;color:#511fa4}
.pz-sec{background:#fff;padding:clamp(64px,9vw,104px) 0}
.pz-sec-alt{background:#f8f8f9;border-top:1px solid #efeff1;border-bottom:1px solid #efeff1}
.pz-h2{margin:0 0 40px;font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
.pz-h2-c{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.pz-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.pz-col{padding:28px;border:1px solid #e6e6ea;border-radius:16px;display:flex;flex-direction:column;gap:12px}
.pz-col h3,.pz-step h3{margin:6px 0 0;font-size:18px;font-weight:600}
.pz-col p,.pz-step p,.pz-feat-b p{margin:0;font-size:15px;line-height:1.65;color:#434357}
.pz-ico{width:44px;height:44px;border-radius:12px;background:#f2eefa;color:#642ac3;display:flex;align-items:center;justify-content:center}
.pz-feats{display:flex;flex-direction:column}
.pz-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px 64px;padding:40px 0;border-top:1px solid #e6e6ea}
.pz-feat:first-child{border-top:0;padding-top:0}
.pz-feat:last-child{padding-bottom:0}
.pz-feat-t{margin:12px 0 0;font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;font-weight:700}
.pz-feat-b{display:flex;flex-direction:column;gap:14px}
.pz-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;counter-reset:s}
.pz-step{padding:28px;border-radius:16px;background:#f8f8f9;display:flex;flex-direction:column;gap:10px}
.pz-num{width:40px;height:40px;border-radius:50%;background:#161727;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.pz-faq-wrap{max-width:900px}
.pz-faq{border-top:1px solid #e6e6ea}
.pz-faq details{border-bottom:1px solid #e6e6ea}
.pz-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:17px;font-weight:600}
.pz-faq summary::-webkit-details-marker{display:none}
.pz-faq summary svg{flex-shrink:0;color:#545466;transition:transform .2s}
.pz-faq details[open] summary svg{transform:rotate(180deg)}
.pz-faq p{margin:0;padding:0 0 20px;font-size:15.5px;line-height:1.65;color:#434357}
.pz-cta{display:flex;justify-content:space-between;align-items:center;gap:24px 48px;flex-wrap:wrap;padding:clamp(32px,5vw,56px);border-radius:20px;background:#161727;color:#fff}
.pz-cta-t{margin:0;font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.02em}
.pz-cta-d{margin:8px 0 0;font-size:16px;color:#c6c6d4}
