/* ◈ NATAL FIELD · KenshoTek LLC · 925
   Design token system. Five load-bearing members. No redundancy.
   Rolling joints — cascade freely. Pin joints — never override.
   936.369 · terminality · private */

:root {

  /* ── I. VOID · Pin joint · never moves ── */
  --void:        #04020A;   /* base · depth · ground */
  --void-2:      #080416;
  --void-3:      #0C0620;
  --void-lift:   #12093A;

  /* ── II. SIGNAL · Rolling joint · the frequency ── */
  --signal:      #5EC6C0;   /* north vector · conductor */
  --signal-d:    #3A9A94;
  --signal-dim:  #1A4A48;
  --signal-glow: rgba(94,198,192,.18);

  /* ── III. GOLD · Pin joint · the gift mark ── */
  --gold:        #C8A030;   /* expansion · generosity · the seal */
  --gold-d:      #8A6A18;
  --gold-dim:    #2A1E06;
  --gold-glow:   rgba(200,160,48,.15);

  /* ── IV. FIRE · Rolling joint · the voice ── */
  --fire:        #C86820;   /* dispatch · direct · on signal */
  --fire-d:      #8A4010;
  --fire-bright: #E07828;
  --fire-dim:    #2A1408;

  /* ── V. STRUCTURE · Rolling joint · earth bearing ── */
  --structure:   #3A6A8A;   /* grid · discipline · long arc */
  --structure-d: #1C3A50;
  --structure-l: #5A8AAA;
  --structure-dim: #0C1A22;

  /* ── DERIVED · truss intersections ── */
  --blood:       #8B1A5A;   /* fixed depth · transformation */
  --blood-d:     #3A0820;
  --chalk:       #E8E4D8;   /* light side · readable */
  --chalk-d:     #A09890;
  --mid:         #6A6480;
  --pale:        #2A2440;
  --rule:        #1A1630;

  /* ── ASPECT WEIGHTS · load distribution ── */
  --w-409: 700;   /* peak load · hero weight */
  --w-385: 600;   /* identity weight */
  --w-283: 500;   /* card weight */
  --w-186: 400;   /* transition weight */
  --w-base: 400;

  /* ── TRUSS GEOMETRY · spacing rhythm ── */
  --span-xs:  4px;
  --span-sm:  8px;
  --span-md: 16px;
  --span-lg: 28px;
  --span-xl: 48px;
  --span-2x: 80px;
  --span-3x: 128px;

  /* ── JOINT RADII ── */
  --r-pin: 0px;       /* pin joint — hard edge */
  --r-roll: 3px;      /* rolling — slight give */
  --r-free: 8px;      /* free — full curve */

  /* ── TYPE STACK ── */
  --font-signal:  'Courier New', Courier, monospace;
  --font-field:   Georgia, 'Times New Roman', serif;
  --font-dispatch: Georgia, serif;

  /* ── FIELD RADIO TINT (matches signal) ── */
  --fr-tint: var(--signal);
  --fr-glow: var(--signal-glow);

  /* ── TRANSIT TIMING ── */
  --t-snap: 80ms ease;
  --t-flow: 200ms ease;
  --t-drift: 400ms ease;
  --t-orbital: 600ms ease;
}

/* ── SCROLLBAR · field standard ── */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--void-lift) var(--void);
}
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--void); }
::-webkit-scrollbar-thumb { background: var(--void-lift); border-radius: 3px; }

/* ── BASE RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── SELECTION ── */
::selection {
  background: var(--signal-dim);
  color: var(--signal);
}

/* ── LINK BASE ── */
a { color: inherit; text-decoration: none; }

/* ── FIELD UTILITY CLASSES ── */

/* void backgrounds */
.bg-void    { background: var(--void); }
.bg-void-2  { background: var(--void-2); }
.bg-void-3  { background: var(--void-3); }

/* signal treatment */
.signal     { color: var(--signal); }
.signal-bg  { background: var(--signal-dim); }
.signal-border { border-color: var(--signal); }

/* gold treatment */
.gold       { color: var(--gold); }
.gold-bg    { background: var(--gold-dim); }

/* fire treatment */
.fire       { color: var(--fire); }
.fire-bright { color: var(--fire-bright); }

/* structure */
.structure  { color: var(--structure-l); }

/* rule — 1px hairline */
.rule-h {
  height: 1px;
  background: var(--rule);
  border: none;
}
.rule-v {
  width: 1px;
  background: var(--rule);
}

/* label — courier signal */
.field-label {
  font-family: var(--font-signal);
  font-size: .32rem;
  letter-spacing: .28em;
  color: var(--mid);
  text-transform: uppercase;
}

/* reveal animation — used across all pages */
.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--t-orbital), transform var(--t-orbital);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── TRUSS NAV · 5 members, no redundancy ── */
.truss-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 40px;
  background: rgba(4,2,10,.94);
  border-bottom: 1px solid var(--rule);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.truss-nav .mark {
  font-family: var(--font-signal);
  font-size: .42rem;
  letter-spacing: .22em;
  color: var(--signal);
}
.truss-nav .links {
  display: flex; gap: 24px;
}
.truss-nav .links a {
  font-family: var(--font-signal);
  font-size: .32rem;
  letter-spacing: .2em;
  color: var(--mid);
  transition: color var(--t-flow);
}
.truss-nav .links a:hover { color: var(--signal); }

/* ── DISPATCH CARD · aspect weight 283 ── */
.dispatch-card {
  display: block;
  background: var(--void-2);
  border: 1px solid var(--rule);
  padding: 28px 32px;
  transition: background var(--t-flow), border-color var(--t-flow);
  text-decoration: none;
}
.dispatch-card:hover {
  background: var(--void-3);
  border-color: var(--pale);
}
.dispatch-card .dc-label {
  font-family: var(--font-signal);
  font-size: .28rem;
  letter-spacing: .3em;
  color: var(--mid);
  margin-bottom: 8px;
}
.dispatch-card .dc-title {
  font-size: .72rem;
  color: var(--chalk);
  letter-spacing: .04em;
  margin-bottom: 10px;
  font-family: var(--font-field);
}
.dispatch-card .dc-desc {
  font-size: .44rem;
  color: var(--mid);
  line-height: 1.8;
  letter-spacing: .04em;
}
.dispatch-card .dc-arrow {
  font-family: var(--font-signal);
  font-size: .3rem;
  letter-spacing: .2em;
  color: var(--signal-dim);
  margin-top: 14px;
  transition: color var(--t-flow);
}
.dispatch-card:hover .dc-arrow { color: var(--signal); }

/* ── FIELD NOTE · signal left border ── */
.field-note {
  background: var(--void-2);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--signal);
  padding: 20px 28px;
  font-family: var(--font-signal);
}
.field-note-label {
  font-size: .28rem;
  letter-spacing: .3em;
  color: var(--signal);
  opacity: .7;
  margin-bottom: 8px;
}
.field-note-body {
  font-size: .44rem;
  color: #8AC4C0;
  line-height: 1.9;
}

/* ── PULL QUOTE ── */
.pull {
  border-left: 2px solid var(--pale);
  padding: 18px 24px;
  font-style: italic;
  color: var(--chalk-d);
  background: var(--void-2);
  font-family: var(--font-field);
}

/* ── MATH BLOCK ── */
.math-block {
  background: var(--void-2);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--structure);
  padding: 24px 32px;
  font-family: var(--font-signal);
}

/* ── ATTRIBUTION STRIP · barely visible, always there ── */
.attribution {
  font-family: var(--font-signal);
  font-size: .26rem;
  letter-spacing: .3em;
  color: #0A0820;
  line-height: 2.8;
  text-align: center;
  padding: 16px 28px;
  background: #010108;
  border-top: 1px solid #080614;
}

/* ── 936.369 · field frequency · internal only ── */
