:root {
  /* Tipografía */
  --bindu-font: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bindu-weight-light: 300;
  --bindu-weight-regular: 400;
  --bindu-weight-medium: 500;
  --bindu-weight-semibold: 600;
  --bindu-logo-weight: 500;
  --bindu-logo-tracking: .32em;
  --bindu-logo-gap: 7px;
  --bindu-logo-mark-small: 40px;
  --bindu-logo-mark-min: 36px;
  --bindu-logo-wordmark-min: 17px;
  --bindu-panel-padding: 24px;
  --bindu-panel-padding-sm: 16px;
  --bindu-small-text-weight: 500;
  --bindu-filter-radius: 7px;
  --bindu-filter-active-bg: rgba(185, 248, 90, .10);

  /* Color */
  --bindu-ink-950: #02090d;
  --bindu-ink-900: #041015;
  --bindu-ink-850: #071820;
  --bindu-ink-800: #0b1d24;
  --bindu-line: #12313a;
  --bindu-line-soft: rgba(76, 228, 210, .14);
  --bindu-text: #dfe8e8;
  --bindu-text-secondary: #82969a;
  --bindu-text-muted: #5c7277;
  --bindu-aqua: #4ce4d2;
  --bindu-cta-gradient: linear-gradient(100deg, #6edbfa 0%, #55e6ea 46%, #49e6bf 100%);
  --bindu-cta-gradient-hover: linear-gradient(100deg, #8ae6fb 0%, #72efed 46%, #67efcb 100%);
  --bindu-aqua-deep: #22c4af;
  --bindu-cyan: #6ee7ed;
  --bindu-aqua-soft: rgba(76, 228, 210, .1);
  --bindu-lime: #b9f85a;
  --bindu-lime-soft: rgba(185, 248, 90, .12);

  /* Fondos */
  --bindu-bg-solid: #02090d;
  --bindu-bg-focus: radial-gradient(circle at 72% 18%, rgba(76, 228, 210, .2), transparent 40%), #02090d;
  --bindu-bg-panel: linear-gradient(145deg, #0b1d24, #041015 65%, #02090d);

  /* Espaciado: base 8 */
  --bindu-space-1: 4px;
  --bindu-space-2: 8px;
  --bindu-space-3: 12px;
  --bindu-space-4: 16px;
  --bindu-space-6: 24px;
  --bindu-space-8: 32px;
  --bindu-space-12: 48px;
  --bindu-space-16: 64px;
  --bindu-space-24: 96px;
  --bindu-space-32: 128px;

  /* Forma */
  --bindu-radius-sm: 8px;
  --bindu-radius-md: 12px;
  --bindu-radius-lg: 18px;
  --bindu-radius-pill: 999px;

  /* Efectos */
  --bindu-glow-sm: 0 0 12px rgba(76, 228, 210, .32);
  --bindu-glow-md: 0 0 34px rgba(76, 228, 210, .18);
  --bindu-shadow-panel: 0 30px 90px rgba(0, 0, 0, .34);
  --bindu-motion-petals: 24s;
  --bindu-motion-orbits: 34s;
  --bindu-motion-halo: 5.4s;
  --bindu-motion-particles: 36s;
  --bindu-motion-radial: 9s;
  --bindu-motion-spiral: 28s;

  /* Layout */
  --bindu-content: 1180px;
  --bindu-copy: 720px;

  /* Escala tipográfica */
  --bindu-h1-size: clamp(42px, 5vw, 64px);
  --bindu-h1-line: 1.08;
  --bindu-h1-tracking: -.03em;
  --bindu-h2-size: clamp(32px, 4vw, 48px);
  --bindu-h2-line: 1.1;
  --bindu-h2-tracking: -.025em;
  --bindu-h3-size: 24px;
  --bindu-body-size: 16px;
  --bindu-body-line: 1.7;
}

.bindu-display {
  font-family: var(--bindu-font);
  font-size: clamp(48px, 7vw, 82px);
  font-weight: var(--bindu-weight-regular);
  line-height: var(--bindu-h1-line);
  letter-spacing: var(--bindu-h1-tracking);
}

.bindu-title {
  font-family: var(--bindu-font);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: var(--bindu-weight-regular);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.bindu-eyebrow {
  color: var(--bindu-aqua);
  font: var(--bindu-weight-semibold) 11px/1 var(--bindu-font);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bindu-button-primary {
  color: #04201d;
  border: 0;
  border-radius: var(--bindu-radius-pill);
  background: var(--bindu-cta-gradient);
  box-shadow: var(--bindu-glow-md);
}

.bindu-button-secondary {
  color: var(--bindu-text);
  border: 1px solid var(--bindu-line);
  border-radius: var(--bindu-radius-pill);
  background: transparent;
}

/* Componentes compactos y controles de filtro — v1.1 */
.bindu-filter { min-height: 34px; padding: 6px 11px; border: 1px solid transparent; border-bottom-color: var(--bindu-line); border-radius: var(--bindu-filter-radius); background: transparent; color: var(--bindu-text-secondary); font-size: 12px; font-weight: var(--bindu-weight-medium); cursor: pointer; }
.bindu-filter:hover { color: var(--bindu-text); border-bottom-color: var(--bindu-aqua); }
.bindu-filter[aria-selected="true"], .bindu-filter.is-active { color: var(--bindu-lime); background: var(--bindu-filter-active-bg); border-bottom-color: var(--bindu-lime); }
.bindu-filter:focus-visible { outline: 2px solid var(--bindu-cyan); outline-offset: 2px; }
.bindu-panel { padding: var(--bindu-panel-padding); border: 1px solid var(--bindu-line); border-radius: var(--bindu-radius-md); }
.bindu-small-on-dark { font-weight: var(--bindu-weight-medium); color: var(--bindu-text-secondary); }

/* Bajadas descriptivas: Regular, diferenciadas de etiquetas pequeñas Medium. */
.bindu-module-description, .bindu-icon-description { font-size: 14px; line-height: 1.55; font-weight: var(--bindu-weight-regular); }
