/* ============================================================================
   Nidus Technica — Design Tokens
   The single source of truth. Drop this file in, then build with the variables.
   Spelling: the brand is always written "Nidus Technica" in full.
   ============================================================================ */
:root {
  /* ---- Core palette ------------------------------------------------------ */
  --nt-charcoal:    #1A1A1A;   /* primary ink, dark grounds              */
  --nt-deep-gray:   #3D3D40;   /* secondary text, fine detail            */
  --nt-warm-gray:   #B8B6B0;   /* rules, borders, captions               */
  --nt-stone:       #F5F3EE;   /* light ground                           */
  --nt-paper:       #FBFAF7;   /* page background                        */
  --nt-olive:       #5B6B4E;   /* THE accent — nature & intent           */
  --nt-olive-deep:  #46543C;   /* accent on light, the TECHNICA line     */
  --nt-gold:        #B7995A;   /* foil / premium — light & dark safe     */
  --nt-gold-light:  #E7D6A8;   /* gold highlight on dark grounds         */
  --nt-core:        #C9A968;   /* emblem living-core highlight           */

  /* ---- Semantic (light theme) ------------------------------------------- */
  --nt-bg:            var(--nt-paper);
  --nt-surface:       #ffffff;
  --nt-surface-alt:   var(--nt-stone);
  --nt-text:          var(--nt-charcoal);
  --nt-text-muted:    #5b584f;
  --nt-text-subtle:   #9a978e;
  --nt-border:        #E4E1D8;
  --nt-accent:        var(--nt-olive);
  --nt-accent-strong: var(--nt-olive-deep);
  --nt-on-accent:     var(--nt-stone);

  /* ---- Typography -------------------------------------------------------- */
  --nt-font-display: 'Jost', system-ui, sans-serif;     /* headings, the TECHNICA line */
  --nt-font-text:    'Montserrat', system-ui, sans-serif;/* body, UI                    */
  --nt-font-mono:    ui-monospace, 'SF Mono', Menlo, monospace;
  --nt-font-script:  'Mr De Haviland', cursive;          /* founder signature only       */

  --nt-text-xs:   12px;
  --nt-text-sm:   14px;
  --nt-text-base: 16px;
  --nt-text-lg:   20px;
  --nt-text-xl:   26px;
  --nt-text-2xl:  34px;
  --nt-text-3xl:  46px;
  --nt-text-4xl:  64px;

  --nt-leading-tight: 1.15;
  --nt-leading-snug:  1.4;
  --nt-leading-body:  1.75;

  --nt-tracking-tight:  -0.01em;
  --nt-tracking-normal:  0;
  --nt-tracking-wide:    0.04em;
  --nt-tracking-eyebrow: 0.3em;   /* eyebrows / labels */
  --nt-tracking-display: 0.22em;  /* the wordmark feel */

  /* ---- Spacing (4px base) ------------------------------------------------ */
  --nt-space-1: 4px;   --nt-space-2: 8px;   --nt-space-3: 12px;
  --nt-space-4: 16px;  --nt-space-5: 24px;  --nt-space-6: 32px;
  --nt-space-7: 48px;  --nt-space-8: 64px;  --nt-space-9: 96px;
  --nt-space-10: 128px;

  /* ---- Radii ------------------------------------------------------------- */
  --nt-radius-sm: 4px;
  --nt-radius-md: 6px;
  --nt-radius-lg: 10px;
  --nt-radius-pill: 999px;

  /* ---- Elevation --------------------------------------------------------- */
  --nt-shadow-sm: 0 1px 2px rgba(26,26,26,.06);
  --nt-shadow-md: 0 1px 2px rgba(26,26,26,.05), 0 14px 38px rgba(26,26,26,.07);
  --nt-shadow-lg: 0 20px 60px rgba(26,26,26,.16);

  /* ---- Motion ------------------------------------------------------------ */
  --nt-ease: cubic-bezier(.2,.6,.2,1);
  --nt-dur-fast: 120ms;
  --nt-dur: 220ms;
  --nt-dur-slow: 420ms;

  /* ---- Layout ------------------------------------------------------------ */
  --nt-container: 1120px;
  --nt-gutter: 40px;
}

/* ---- Dark theme: flip semantics, keep gold/olive accents ---------------- */
[data-theme="dark"] {
  --nt-bg:            var(--nt-charcoal);
  --nt-surface:       #232323;
  --nt-surface-alt:   #2a2a2a;
  --nt-text:          var(--nt-stone);
  --nt-text-muted:    #b8b6ad;
  --nt-text-subtle:   #8d8a82;
  --nt-border:        rgba(255,255,255,.14);
  --nt-accent:        var(--nt-gold);
  --nt-accent-strong: var(--nt-gold-light);
  --nt-on-accent:     var(--nt-charcoal);
}
