/* =====================================================================
   Tailwind base layer (preflight + palette tokens).

   MUST load BEFORE site.css and any page CSS, exactly like
   Tailwind's own base layer. Utilities live in tw-utils.css and
   must load LAST -- see the note there.

   The whole site used exactly 86 utility classes, and was loading a
   runtime JIT compiler on all five pages to produce them — a
   render-blocking third-party script that re-scanned the DOM and
   generated this same CSS on every single page load.

   It also never worked properly. `tailwind.config` was assigned in a
   script BEFORE the CDN script, but Play CDN only reads it afterwards,
   so the veltrix-* palette was never registered and every
   `bg-veltrix-*` / `text-veltrix-*` class resolved to nothing. The
   sticky navbar had been fully transparent on every page as a result
   (measured: header background rgba(0,0,0,0)). about.html and
   services.html had no config block at all.

   Adding a utility: put it here. Keep it alphabetical within a group.
   ===================================================================== */

:root {
  --vx-bg:      #050e0b;
  --vx-card:    #0a1910;
  --vx-card-hi: #0e2218;
  --vx-fg1:     #f0f0ee;
  --vx-fg2:     #7da898;
  --vx-fg3:     #3d6a5a;
  --vx-deep:    #0f4538;
  --vx-forest:  #0f6e56;
  --vx-emerald: #109e75;
  --vx-sage:    #7da898;
  --vx-mint:    #e1f5ee;
}

/* ---------------------------------------------------------------------
   Preflight subset. Dropping the Tailwind CDN also drops its reset, and
   the pages were written against it — without this the UA's default
   margins on h1-h6/p/dl and the default inline-image baseline gap come
   back and shift every layout.
   --------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; border: 0 solid #e5e7eb; }
html { -webkit-text-size-adjust: 100%; tab-size: 4; line-height: 1.5; }
body { margin: 0; line-height: inherit; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
p, figure, blockquote, dl, dd, pre, hr { margin: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
button, input, optgroup, select, textarea {
  font-family: inherit; font-size: 100%; font-weight: inherit;
  line-height: inherit; color: inherit; margin: 0; padding: 0;
}
button, [type="button"], [type="submit"] { -webkit-appearance: button; background-color: transparent; background-image: none; cursor: pointer; }
:-moz-focusring { outline: auto; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
summary { display: list-item; }
[hidden] { display: none; }

