/* BACS site design tokens — high-tech industrial.
   In Velo, paste this into global CSS. CSS custom properties inherit through
   the shadow DOM, so the custom-element components pick them up.
   Brand colours are the REAL palette, taken from the logo SVG. */

/* ---------------------------------------------------------------------------
   Webfonts — self-hosted, no Google/CDN call at runtime (privacy + speed).
   Both faces are VARIABLE fonts: one file per subset covers every weight,
   which is why there are 4 files and not 14. The browser only downloads
   latin-ext if a page actually uses a character from that range.
   MIGRATION: these src: url() paths must be repointed once the files live in
   Wix Media — same repointing step as the images. See MIGRATION.md.
--------------------------------------------------------------------------- */
@font-face{
  font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/velo/public/assets/fonts/inter-latin.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:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/velo/public/assets/fonts/inter-latin-ext.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:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/velo/public/assets/fonts/grotesk-latin.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:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/velo/public/assets/fonts/grotesk-latin-ext.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;
}

:root{
  --bacs-bg:#0a0f1a;
  --bacs-surface:#111827;
  --bacs-surface-2:#161f31;
  --bacs-border:rgba(255,255,255,.09);
  --bacs-text:#e9eef7;
  --bacs-muted:#9aa7bd;
  --bacs-faint:#606d85;
  --bacs-accent:#36a9e1;      /* BACS sky blue (from logo) */
  --bacs-accent-2:#2f6fb0;    /* mid blue for gradients */
  --bacs-navy:#33527f;        /* BACS navy (from logo) */
  --bacs-accent-ink:#052033;
  --bacs-radius:14px;

  /* TYPE — body vs display. SIGNED OFF by James 2026-08-02: Option A,
     Space Grotesk headings + Inter body. To change the look later, edit ONLY
     these two lines; every component reads them. Compare at /preview/fonts.html. */
  --bacs-font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --bacs-font-display:"Space Grotesk","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* Focus ring — one definition so keyboard focus looks identical sitewide. */
  --bacs-focus:2px solid #6fc9f2;
  --bacs-focus-offset:3px;
}
html,body{margin:0;background:var(--bacs-bg);color:var(--bacs-text);
  font-family:var(--bacs-font);-webkit-font-smoothing:antialiased}

/* Headings use the display face by default (components can still override). */
h1,h2,h3{font-family:var(--bacs-font-display);letter-spacing:-.01em}

/* Visible keyboard focus. Light-DOM elements only; each shadow-DOM component
   carries the same rule internally because shadow roots don't inherit it. */
:focus-visible{outline:var(--bacs-focus);outline-offset:var(--bacs-focus-offset);
  border-radius:4px}

/* Skip link — first tab stop on every page, hidden until focused. */
.bacs-skip{position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--bacs-accent);color:var(--bacs-accent-ink);
  padding:12px 20px;border-radius:0 0 10px 0;font-weight:600;text-decoration:none}
.bacs-skip:focus{left:0}
