/* ==========================================================
   NERUC PRIME - DESIGN SYSTEM v2.0 "Premium 2027"
   Linear / Raycast / Stripe / Vercel tier
   Capa 1: Tokens globales (aplica a TODO nerucprime.com)
   Capa 2: Identidades por pagina (cada una sobreescribe --accent)
   Capa 3: Premium effects (grain, glass, glow, spotlights)
   ========================================================== */


/* ── CAPA 1: TOKENS GLOBALES ── */
:root {
  --font-body:    'DM Sans', 'DM Sans Fallback', 'Segoe UI', sans-serif;
  --font-display: 'DM Sans', 'DM Sans Fallback', sans-serif;
  --font-mono:    'DM Mono', 'DM Mono Fallback', 'Fira Code', 'Courier New', monospace;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;

  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   16px;
  --radius-xl:   20px;
  --radius-2xl:  28px;
  --radius-full: 9999px;

  --shadow-sm:  0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
  --shadow-md:  0 4px 12px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);
  --shadow-lg:  0 8px 24px rgba(0,0,0,.10), 0 4px 10px rgba(0,0,0,.06);
  --shadow-xl:  0 16px 40px rgba(0,0,0,.12), 0 6px 16px rgba(0,0,0,.07);

  --bg-base:    #f0f4f9;
  --bg-card:    #ffffff;
  --bg-glass:   rgba(255,255,255,0.75);
  --bg-overlay: rgba(0,0,0,0.40);

  --text-primary:   #1f2937;
  --text-secondary: #6b7280;
  --text-muted:     #9ca3af;
  --text-on-accent: #ffffff;

  --border:        rgba(0,0,0,0.08);
  --border-strong: rgba(0,0,0,0.15);

  --transition-fast:   all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:   all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   all 0.40s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);

  --space-1:  0.25rem;  --space-2:  0.5rem;   --space-3:  0.75rem;
  --space-4:  1rem;     --space-5:  1.25rem;   --space-6:  1.5rem;
  --space-8:  2rem;     --space-10: 2.5rem;    --space-12: 3rem;
  --space-16: 4rem;     --space-20: 5rem;

  --glass-blur:   blur(20px);
  --glass-border: 1px solid rgba(255,255,255,0.3);

  --accent:        #8b5cf6;
  --accent-light:  #a78bfa;
  --accent-dark:   #784fd4;
  --accent-bg:     rgba(139, 92, 246, 0.08);
  --accent-border: rgba(139, 92, 246, 0.20);

  /* Premium 2027 dark palette */
  --dark-base:     #050510;
  --dark-elevated: #0a0a1a;
  --dark-surface:  #0f0f24;
  --dark-border:   rgba(255,255,255,0.06);
  --dark-text:     #ffffff;
  --dark-dim:      rgba(255,255,255,0.5);
  --dark-dimmer:   rgba(255,255,255,0.3);
  --dark-glass:    rgba(255,255,255,0.03);
  --dark-glass-hi: rgba(255,255,255,0.06);
  --accent-glow:   rgba(139,92,246,0.15);
  --gold:          #d4a847;
  --success:       #10b981;
}

/* ── CAPA 2: IDENTIDADES POR PAGINA ── */

[data-theme="neruc-prime"] {
  --accent: #8b5cf6; --accent-light: #a78bfa; --accent-dark: #784fd4;
  --accent-bg: rgba(139,92,246,0.08); --accent-border: rgba(139,92,246,0.20);
}
[data-theme="neruc-one"] {
  --accent: #d4a847; --accent-light: #e2c06e; --accent-dark: #b8922e;
  --accent-bg: rgba(212,168,71,0.08); --accent-border: rgba(212,168,71,0.20);
}
[data-theme="neruc-technologies"] {
  --accent: #1a73e8; --accent-light: #4285f4; --accent-dark: #1558b0;
  --accent-bg: rgba(26,115,232,0.08); --accent-border: rgba(26,115,232,0.20);
}
[data-theme="headhunting"] {
  --accent: #e37400; --accent-light: #f9ab00; --accent-dark: #b35c00;
  --accent-bg: rgba(227,116,0,0.08); --accent-border: rgba(227,116,0,0.20);
}
[data-theme="ecommerce"] {
  --accent: #f43f5e; --accent-light: #fb7185; --accent-dark: #be123c;
  --accent-bg: rgba(244,63,94,0.08); --accent-border: rgba(244,63,94,0.20);
}
[data-theme="hosting"] {
  --accent: #0ea5e9; --accent-light: #38bdf8; --accent-dark: #0369a1;
  --accent-bg: rgba(14,165,233,0.08); --accent-border: rgba(14,165,233,0.20);
}
[data-theme="dominioweb"] {
  --accent: #8b5cf6; --accent-light: #a78bfa; --accent-dark: #784fd4;
  --accent-bg: rgba(139,92,246,0.08); --accent-border: rgba(139,92,246,0.20);
}
[data-theme="correoselectronicos"] {
  --accent: #3b82f6; --accent-light: #60a5fa; --accent-dark: #1d4ed8;
  --accent-bg: rgba(59,130,246,0.08); --accent-border: rgba(59,130,246,0.20);
}
[data-theme="paidmedia"] {
  --accent: #ef4444; --accent-light: #f87171; --accent-dark: #b91c1c;
  --accent-bg: rgba(239,68,68,0.08); --accent-border: rgba(239,68,68,0.20);
}
[data-theme="webintelligence"] {
  --accent: #06b6d4; --accent-light: #22d3ee; --accent-dark: #0e7490;
  --accent-bg: rgba(6,182,212,0.08); --accent-border: rgba(6,182,212,0.20);
}
[data-theme="suscripciones"] {
  --accent: #14b8a6; --accent-light: #2dd4bf; --accent-dark: #0f766e;
  --accent-bg: rgba(20,184,166,0.08); --accent-border: rgba(20,184,166,0.20);
}

/* ── RESET Y BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body); font-size: var(--text-base);
  color: var(--text-primary); background-color: var(--bg-base);
  line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: var(--transition-fast); }
a:hover { color: inherit; }

/* ── CAPA 3: PREMIUM 2027 EFFECTS ── */

/* Grain overlay — add class to a wrapper div, grain renders as ::before */
.grain-overlay { position: relative; }
.grain-overlay::before {
  content: "";
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0.035;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 9999;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

/* Dark glass card — the signature 2027 card */
.glass-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-lg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 0 0 0.5px rgba(255,255,255,0.03),
    0 2px 8px rgba(0,0,0,0.3),
    0 8px 32px rgba(0,0,0,0.2);
  transition: var(--transition-base);
}
.glass-card:hover {
  border-color: rgba(255,255,255,0.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 0 0 0.5px rgba(255,255,255,0.05),
    0 4px 16px rgba(0,0,0,0.35),
    0 12px 48px rgba(0,0,0,0.25);
  transform: translateY(-2px);
}

/* Elevated card — multi-layer premium shadows */
.elevated-card {
  background: var(--dark-elevated);
  border: 1px solid var(--dark-border);
  border-radius: var(--radius-xl);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 0 0 1px rgba(0,0,0,0.3),
    0 4px 24px rgba(0,0,0,0.4),
    0 0 80px -20px var(--accent-glow);
  transition: var(--transition-base);
}
.elevated-card:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 0 0 1px rgba(139,92,246,0.15),
    0 8px 40px rgba(0,0,0,0.5),
    0 0 100px -16px var(--accent-glow);
  transform: translateY(-3px);
}

/* Gradient heading — white fading to dim */
.gradient-heading {
  background: linear-gradient(145deg, #ffffff 30%, rgba(255,255,255,0.4) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

/* Premium button with glow */
.premium-btn {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 14px 40px; border-radius: var(--radius-full);
  font-family: var(--font-body); font-size: 16px; font-weight: 700;
  background: var(--accent); color: #ffffff; border: none; cursor: pointer;
  transition: var(--transition-spring);
  box-shadow:
    0 0 0 1px rgba(139,92,246,0.3),
    0 4px 16px rgba(139,92,246,0.3),
    0 0 40px -8px rgba(139,92,246,0.25);
}
.premium-btn:hover {
  transform: scale(1.03) translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(139,92,246,0.5),
    0 6px 24px rgba(139,92,246,0.4),
    0 0 60px -4px rgba(139,92,246,0.35);
}

/* Ghost button with glass hover */
.ghost-btn {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 14px 40px; border-radius: var(--radius-full);
  font-family: var(--font-body); font-size: 16px; font-weight: 600;
  background: transparent; color: #ffffff; cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.12);
  transition: var(--transition-base);
}
.ghost-btn:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.2);
  backdrop-filter: blur(8px);
}

/* Frosted header */
.frosted-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(5,5,16,0.7);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Hairline divider that fades at edges */
.hairline-divider {
  height: 1px; border: none; max-width: 1200px; margin: 0 auto;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.06) 20%,
    rgba(255,255,255,0.06) 80%,
    transparent 100%
  );
}



/* Glow ring — ambient brand halo */
.glow-ring {
  box-shadow:
    0 0 0 1px rgba(139,92,246,0.08),
    0 0 80px -16px rgba(139,92,246,0.2),
    0 0 120px -24px rgba(139,92,246,0.1);
}

/* ── EXISTING COMPONENTS (preserved) ── */

.btn-primary {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  background: var(--accent); color: var(--text-on-accent); border: none;
  border-radius: var(--radius-full);
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600;
  cursor: pointer; transition: var(--transition-spring);
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}
.btn-primary:hover {
  background: var(--accent-dark); transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.20); color: var(--text-on-accent);
}

.btn-secondary {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  background: transparent; color: var(--accent);
  border: 1.5px solid var(--accent-border); border-radius: var(--radius-full);
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600;
  cursor: pointer; transition: var(--transition-base);
}
.btn-secondary:hover { background: var(--accent-bg); border-color: var(--accent); color: var(--accent); }

.card {
  background: var(--bg-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md); border: 1px solid var(--border);
  transition: var(--transition-base); overflow: hidden;
}
.card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }

.badge {
  display: inline-flex; align-items: center; gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  background: var(--accent-bg); color: var(--accent);
  border: 1px solid var(--accent-border); border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.02em;
}

.glass {
  background: var(--bg-glass);
  backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border); border-radius: var(--radius-xl);
}

.section { padding: var(--space-20) var(--space-8); max-width: 1200px; margin: 0 auto; }
.section-title {
  font-family: var(--font-display); font-size: var(--text-4xl); font-weight: 800;
  color: inherit; line-height: 1.2; letter-spacing: -0.02em;
}
.section-subtitle { font-size: var(--text-lg); color: var(--text-secondary); max-width: 600px; line-height: 1.7; }
.accent { color: var(--accent); }
.divider { height: 1px; background: var(--border); border: none; margin: var(--space-8) 0; }

/* ── UTILITIES ── */
.text-center { text-align: center; }
.text-left   { text-align: left; }
.text-right  { text-align: right; }
.flex         { display: flex; }
.flex-center  { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-col     { display: flex; flex-direction: column; }
.gap-2  { gap: var(--space-2); }
.gap-4  { gap: var(--space-4); }
.gap-6  { gap: var(--space-6); }
.gap-8  { gap: var(--space-8); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .section { padding: var(--space-12) var(--space-4); }
  .section-title { font-size: var(--text-3xl); }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .section-title { font-size: var(--text-2xl); }
  .btn-primary, .btn-secondary { width: 100%; justify-content: center; }
}

/* Respaldo con las MISMAS metricas que DM Sans. Medido el 28-ago-2026 en el
   navegador: a peso 800, DM Sans es 5.5% mas estrecha que Helvetica/Arial, que
   es lo que de verdad se usa aqui ('Segoe UI' no existe fuera de Windows). Por
   eso el H1 se pintaba en CUATRO lineas con el respaldo y en TRES al llegar la
   fuente: 66 px de salto y CLS 0.143, casi el doble del umbral. `size-adjust`
   hace que el respaldo ocupe exactamente lo mismo, y el cambio deja de moverse.
   El valor no es de catalogo: sale de medir las dos fuentes con el mismo texto. */
@font-face{font-family:'DM Sans Fallback';src:local('Helvetica Neue'),local('Arial'),local('Segoe UI');font-weight:100 900;font-style:normal;size-adjust:94.5%;ascent-override:97%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:'DM Mono Fallback';src:local('Menlo'),local('Consolas'),local('Courier New');font-weight:100 900;font-style:normal;size-adjust:96%;line-gap-override:0%}/* Fuentes propias (SIL OFL). Alojarlas elimina de la ruta critica dos origenes
   ajenos: el CSS de fonts.googleapis y luego los woff2 de fonts.gstatic. Se
   conservan los unicode-range para que el navegador siga bajando solo lo que usa. */
@font-face{font-family:'DM Mono';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/aFTR7PB1QTsUX8KYvrGyEY2tbYf-Vlh3uA.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/aFTR7PB1QTsUX8KYvrGyEYOtbYf-Vlg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/aFTR7PB1QTsUX8KYvumzEY2tbYf-Vlh3uA.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/aFTR7PB1QTsUX8KYvumzEYOtbYf-Vlg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/dm-sans-latin-w300-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
.np-home,.np-page{--np-accent:#8b5cf6;--np-accent-cta:#784fd4;--np-accent-ink:#784fd4;--np-accent-l:#a78bfa;--np-accent-xl:#c4b5fd;--np-gold:#d4a847;--np-ink:#f3f1fb;--np-body:rgba(255,255,255,.72);--np-quiet:rgba(255,255,255,.62);--np-glass:rgba(255,255,255,.04);--np-glass-2:rgba(255,255,255,.06);--np-glass-brd:rgba(255,255,255,.1);--np-r:16px;--np-card-pad:22px 24px;background:#050510;color:var(--np-ink)}.np-home a,.np-page a{text-decoration:none}.np-band{position:relative;overflow:hidden;padding:clamp(3.2rem,7.6vw,6rem) clamp(1rem,5vw,3rem)}.np-band>.np-wrap{position:relative;z-index:2;max-width:1140px;margin:0 auto}.np-band-dark{background:#060a16}.np-band-dark2{background:#0a0a1a}.np-band-light{background:#f8f7fb;color:#4a4658;border-top:1px solid rgba(20,18,37,.06)}.np-band-purple{background:linear-gradient(160deg,#0a0618 0%,#1c0f42 46%,#0c0722 100%)}.np-band-purple::after{content:'';position:absolute;width:520px;height:520px;background:radial-gradient(circle,rgba(139,92,246,.2),transparent 68%);top:-170px;right:-120px;pointer-events:none;z-index:0}.np-band+.np-band::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.22),transparent);z-index:3}.np-eyebrow{font-family:'DM Mono', 'Fira Code', monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.np-eyebrow::before{content:'';width:22px;height:2px;border-radius:2px;background:currentColor;opacity:.85}.np-h2{font-weight:800;letter-spacing:-.02em;line-height:1.12;font-size:clamp(1.6rem,4.4vw,2.5rem);margin:0}.np-accbar{display:block;width:54px;height:3px;margin-top:16px;border-radius:2px;background:linear-gradient(90deg,var(--np-accent),var(--np-accent-l))}.np-lead{font-size:clamp(.98rem,2vw,1.08rem);line-height:1.7;margin:18px 0 0;max-width:600px}.np-band-dark .np-lead,.np-band-dark2 .np-lead,.np-band-purple .np-lead{color:var(--np-body)}.np-band-light{--np-ink:#141225;--np-body:#4a4658;--np-quiet:#5a566b;--np-accent:#784fd4;--np-accent-l:#784fd4;--np-accent-xl:#784fd4;--np-glass:rgba(20,18,37,.04);--np-glass-2:rgba(20,18,37,.06);--np-glass-brd:rgba(20,18,37,.12)}.np-band-light .np-btn-primary{background:var(--np-accent-cta,var(--np-accent));color:#fff}.np-band-light label,.np-band-light legend{color:#141225}.np-band-light .np-lead{color:#4a4658}summary{min-height:24px}@media(max-width:768px){summary{min-height:44px}}.np-card{position:relative;display:flex;flex-direction:column;padding:var(--np-card-pad);background:var(--np-glass);border:1px solid var(--np-glass-brd);border-radius:var(--np-r);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 44px -22px rgba(0,0,0,.6);transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease}.np-card:hover{transform:translateY(-6px);border-color:rgba(167,139,250,.4);box-shadow:0 30px 60px -22px rgba(139,92,246,.3),0 12px 24px rgba(0,0,0,.4)}.np-band-light .np-card{background:#fff;border:1px solid #ececf4;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 30px rgba(30,20,70,.07),0 2px 8px rgba(30,20,70,.04)}.np-band-light .np-card:hover{transform:translateY(-6px);border-color:#ddd6ef;box-shadow:0 20px 46px rgba(30,20,70,.13),0 5px 14px rgba(30,20,70,.06)}.np-band-purple .np-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);box-shadow:0 20px 44px rgba(0,0,0,.42)}.np-grid{display:grid;gap:16px;grid-auto-rows:1fr;margin-top:36px}.np-grid-4{grid-template-columns:repeat(4,1fr)}.np-grid-3{grid-template-columns:repeat(3,1fr)}.np-grid-2{grid-template-columns:repeat(2,1fr)}@media(max-width:960px){.np-grid-4{grid-template-columns:repeat(2,1fr)}.np-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.np-grid-4,.np-grid-3,.np-grid-2{grid-template-columns:1fr}}.np-reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}html.np-js .np-reveal{opacity:0;transform:translateY(24px)}html.np-js .np-reveal.np-in{opacity:1;transform:none}html.np-js .np-hero .np-reveal,html.np-js .np-band:first-of-type .np-reveal{opacity:1;transform:none;transition:none}@media(prefers-reduced-motion:reduce){html.np-js .np-reveal{opacity:1!important;transform:none!important;transition:none}}.np-hero{background:linear-gradient(180deg,#020c18 0%,#0a1224 100%);color:#fff;padding:clamp(6rem,12vw,8.5rem) clamp(1rem,5vw,3rem) clamp(3rem,7vw,5rem)}.np-hero-grid{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(2.4rem,5vw,3.6rem);align-items:center}@media(min-width:920px){.np-hero-grid{grid-template-columns:1.05fr .95fr}}.np-hero-copy{text-align:center}@media(min-width:920px){.np-hero-copy{text-align:left}}.np-hero-center .np-hero-grid{grid-template-columns:1fr;max-width:900px}.np-hero-center .np-hero-copy{text-align:center}.np-hero-center .np-hero-eyebrow{justify-content:center}.np-hero-center .np-hero-sub{margin-left:auto;margin-right:auto}.np-hero-center .np-btn-row{justify-content:center}.np-hero-center .np-trust{justify-content:center}.np-hero-eyebrow{color:var(--np-accent-xl);justify-content:center}@media(min-width:920px){.np-hero-eyebrow{justify-content:flex-start}}.np-h1{font-size:clamp(2.2rem,5.8vw,4rem);font-weight:900;line-height:1.04;letter-spacing:-.035em;margin:0 0 14px;background:linear-gradient(180deg,#fff 42%,#d9cffb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.np-h1-accent{display:block;font-size:clamp(1.35rem,3.4vw,2.1rem);font-weight:400;letter-spacing:-.02em;margin-top:8px;background:linear-gradient(120deg,var(--np-accent-l),var(--np-accent-xl));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.np-hero-sub{font-size:clamp(1rem,2.2vw,1.18rem);color:rgba(255,255,255,.82);line-height:1.65;margin:0 auto 30px;max-width:560px}@media(min-width:920px){.np-hero-sub{margin-left:0;margin-right:0}}.np-btn-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}@media(min-width:1024px){.np-btn-row .np-btn{padding-left:1.65rem;padding-right:1.65rem}}@media(min-width:920px){.np-btn-row{justify-content:flex-start}}.np-btn{display:inline-flex;align-items:center;justify-content:center;padding:.92rem 1.9rem;border-radius:14px;font-weight:700;font-size:.98rem;cursor:pointer;font-family:'DM Sans','DM Sans Fallback',sans-serif;transition:transform .16s ease,box-shadow .22s ease,background .22s ease}.np-btn-primary{background:var(--np-accent-cta,var(--np-accent));color:#fff;border:none;box-shadow:0 14px 36px rgba(139,92,246,.35)}.np-btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(139,92,246,.5)}.np-btn-ghost{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.28)}.np-btn-ghost:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}.np-trust{display:flex;flex-wrap:wrap;gap:.5rem .6rem;justify-content:center;margin-top:24px}@media(min-width:920px){.np-trust{justify-content:flex-start}}.np-trust span{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Mono', 'Fira Code', monospace;font-size:.7rem;letter-spacing:.04em;color:rgba(255,255,255,.82);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:.42rem .8rem;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.np-trust span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--np-accent-l)}.np-mock{position:relative;z-index:2;width:100%;max-width:460px;margin:0 auto;animation:npFloaty 7s ease-in-out infinite}@keyframes npFloaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.np-mock{animation:none}}.np-win{background:linear-gradient(155deg,rgba(24,18,42,.92),rgba(12,10,26,.94));border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(139,92,246,.08),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.np-winbar{display:flex;align-items:center;gap:.4rem;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.07)}.np-winbar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16)}.np-winbar i:nth-child(1){background:rgba(255,95,86,.55)}.np-winbar i:nth-child(2){background:rgba(255,189,46,.55)}.np-winbar i:nth-child(3){background:rgba(39,201,102,.55)}.np-winbar span{margin-left:.5rem;font-family:'DM Mono', 'Fira Code', monospace;font-size:.62rem;letter-spacing:.08em;color:rgba(255,255,255,.42)}.np-win-body{padding:1rem;background:linear-gradient(200deg,rgba(139,92,246,.08),transparent 60%)}.np-win-title{font-family:'DM Mono', 'Fira Code', monospace;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:.7rem}.np-osc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.np-osc{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:.7rem .6rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .3s,background .3s}.np-osc:hover{border-color:rgba(167,139,250,.4);background:rgba(255,255,255,.07)}.np-osc i{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center}.np-osc i b{width:9px;height:9px;border-radius:3px;display:block}.np-osc span{font-size:.6rem;font-weight:600;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-osc em{font-family:'DM Mono', 'Fira Code', monospace;font-size:.5rem;font-style:normal;color:rgba(255,255,255,.35)}.np-osc-bar{height:4px;border-radius:3px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:.2rem}.np-osc-bar b{display:block;height:100%;border-radius:3px}.np-sylvia-line{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.6rem .7rem;border-radius:10px;background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.22)}.np-sylvia-line i{width:7px;height:7px;border-radius:50%;background:#25d366;box-shadow:0 0 8px rgba(37,211,102,.6);flex-shrink:0}.np-sylvia-line span{font-size:.6rem;color:rgba(255,255,255,.78);line-height:1.4}.np-mock-tag{position:absolute;font-family:'DM Mono', 'Fira Code', monospace;font-size:.56rem;font-weight:500;color:#fff;padding:.32rem .58rem;border-radius:9px;background:rgba(20,14,38,.92);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 26px -8px rgba(0,0,0,.6);z-index:3;display:flex;align-items:center;gap:.34rem;animation:npFloaty 7s ease-in-out infinite}.np-mock-tag i{width:6px;height:6px;border-radius:50%;background:var(--np-accent-l)}.np-mock-tag.t1{top:-14px;right:-6px;animation-delay:-1.5s}.np-mock-tag.t2{bottom:22px;left:-16px;animation-delay:-3.5s}@media(prefers-reduced-motion:reduce){.np-mock-tag{animation:none}}@media(max-width:480px){.np-mock-tag.t2{left:-4px}.np-mock-tag.t1{right:0}}.np-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(2.4rem,5vw,3.4rem);grid-auto-rows:1fr}.np-stats-3{grid-template-columns:repeat(3,1fr)}@media(max-width:560px){.np-stats,.np-stats-3{grid-template-columns:repeat(2,1fr)}}.np-stat{text-align:center;padding:1.2rem .7rem}.np-stat b{display:block;font-family:'DM Mono', 'Fira Code', monospace;font-size:clamp(1.4rem,4vw,2rem);font-weight:500;color:var(--np-accent-xl);letter-spacing:-.02em;line-height:1}.np-stat span{display:block;margin-top:.55rem;font-family:'DM Mono', 'Fira Code', monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42)}.np-fc{padding:1.4rem 1.35rem}.np-fc .np-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}.np-fc .np-ic b{width:12px;height:12px;border-radius:3px;display:block}.np-fc h3{margin:0 0 .4rem;font-size:1.02rem;font-weight:700;color:var(--np-ink)}.np-band-light .np-fc h3{color:#141225}.np-fc p{margin:0;font-size:.9rem;line-height:1.6;color:var(--np-quiet)}.np-band-light .np-fc p{color:#5a566b}.np-band-light .np-fc .np-sub{color:#5a566b}.np-fc .np-sub{font-family:'DM Mono', 'Fira Code', monospace;font-size:.75rem;letter-spacing:.04em;color:var(--np-quiet);margin:0 0 .4rem}.np-fc .np-link{margin-top:auto;padding-top:.9rem;font-size:.82rem;font-weight:700;color:var(--np-accent-xl)}.np-band-light .np-fc .np-link{color:var(--np-accent-ink)}.np-band-light .np-link{color:var(--np-accent-ink)}.np-band-light .np-eyebrow{color:var(--np-accent-ink)}.np-band-light .np-sub{color:#5a566b}.np-band-light .np-th{color:#141225}.np-band-light .np-arrow{color:var(--np-accent-ink)}.np-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:26px}.np-chip{font-family:'DM Mono', 'Fira Code', monospace;font-size:.74rem;letter-spacing:.02em;padding:.5rem .9rem;border-radius:999px;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--np-glass-brd);background:var(--np-glass-2);color:var(--np-body);transition:border-color .2s,background .2s,transform .2s}.np-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--np-accent-l)}.np-chip:hover{transform:translateY(-2px);border-color:rgba(167,139,250,.4)}.np-band-light .np-chip{background:#fff;border:1px solid #e4dff3;color:#4a4658}.np-chip-plain::before{display:none}.np-tier{padding:2rem 1.7rem}.np-tier.pop{border-color:rgba(139,92,246,.5)!important;box-shadow:0 24px 52px rgba(139,92,246,.18)!important}.np-band-light .np-tier.pop{border-color:var(--np-accent)!important}.np-tier .badge{align-self:flex-start;background:var(--np-accent-cta,var(--np-accent));color:#fff;font-family:'DM Mono', 'Fira Code', monospace;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;margin-bottom:.9rem}.np-tier .tname{font-size:.78rem;color:var(--np-quiet);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}.np-tier .price{font-size:clamp(2rem,5vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff}.np-tier .per{font-family:'DM Mono', 'Fira Code', monospace;font-size:.72rem;color:var(--np-quiet);margin:.4rem 0 1.4rem}.np-tier .feat{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem 0;font-size:.9rem;color:var(--np-body);border-top:1px solid rgba(255,255,255,.07)}.np-tier .feat u{font-style:normal;color:var(--np-accent-l);font-weight:900;text-decoration:none;flex-shrink:0}.np-tier .feat u.ok{color:#25d366}.np-arrow{font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;min-height:24px;transition:opacity .15s}@media(max-width:768px){.np-arrow{min-height:44px}}.np-arrow:hover{opacity:.75}.np-table{width:100%;overflow:hidden}.np-trow{display:grid;align-items:center}.np-thead{background:rgba(255,255,255,.04);border-bottom:1px solid var(--np-glass-brd)}.np-band-light .np-thead{background:rgba(139,92,246,.04);border-bottom:1px solid #ececf4}.np-th{font-family:'DM Mono', 'Fira Code', monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--np-quiet);padding:.9rem 1.3rem}.np-td{font-size:.88rem;color:var(--np-body);padding:.85rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.06)}.np-band-light .np-td{color:#4a4658;border-bottom:1px solid #f0edf6}.np-input{width:100%;padding:.9rem 1.1rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;font-size:.95rem;font-family:'DM Sans','DM Sans Fallback',sans-serif;outline:none;transition:border-color .2s,background .2s}.np-input:focus{border-color:var(--np-accent-l);background:rgba(255,255,255,.06)}.np-input::placeholder{color:rgba(255,255,255,.3)}.np-proof{font-family:'DM Mono', 'Fira Code', monospace;font-size:clamp(2.6rem,8vw,4.6rem);font-weight:500;letter-spacing:-.03em;line-height:1;background:linear-gradient(120deg,var(--np-accent-l),var(--np-accent-xl));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}nav[aria-label=breadcrumb]{background:linear-gradient(180deg,rgba(12,18,34,.55),rgba(6,11,22,.82))!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)!important}nav[aria-label=breadcrumb]>div{font-family:"DM Sans","DM Sans Fallback",sans-serif!important;font-size:.8rem!important;font-weight:500!important;letter-spacing:.01em!important}nav[aria-label=breadcrumb] a{color:rgba(255,255,255,.55)!important;text-decoration:none;outline:none;transition:color .18s;border-radius:5px}nav[aria-label=breadcrumb] a:hover{color:#c4b5fd!important}nav[aria-label=breadcrumb] a:focus-visible{outline:1.5px solid #8b5cf6!important;outline-offset:3px}nav[aria-label=breadcrumb] span[style*=opacity]{font-size:0!important;margin:0!important}nav[aria-label=breadcrumb] span[style*=opacity]::before{content:"";display:inline-block;width:.42em;height:.42em;border-right:1.6px solid rgba(255,255,255,.3);border-bottom:1.6px solid rgba(255,255,255,.3);transform:rotate(-45deg);margin:0 .5rem;position:relative;top:-1px}nav[aria-label=breadcrumb] span[style*=accent]{color:rgba(255,255,255,.9)!important;font-weight:600}