/* ============================================================
   Bifrost Forge — sub-brand
   ------------------------------------------------------------
   GENERATED by tokens/build-tokens.mjs from tokens/bifrost.tokens.json.
   Do not hand-edit. Edit the tokens file and re-run the generator.
   Structural CSS that is not a token lives in forge.extra.css.

   Load after bifrost/_house.css.

   The one that breaks the family frame, on purpose. Orange IS the
   ink, and titles are a grotesque. Reads product-like and modern
   where its siblings read formal.

   Accent is bound to ink, so switching a template to Forge turns the
   whole thing orange in one move.

   GT Standard L Light or Medium at 0% tracking. A grotesque wants
   Light at large sizes where Concrette uses Regular.
   ============================================================ */
:root {
  /* Display face. Forge overrides the house serif. */
  --font-display: "GT Standard", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --tr-display:   -0.02em;
  /* The weight this display FACE actually owns. Emitted because
     font-synthesis is off house-wide, so asking a face for a weight
     it does not have renders the nearest one it does. See
     shared.font_weights in the token source. */
  --fw-display:   300;

  /* This brand overrides the house grounds. */
  --c-bg-base: #DED9D6;
  --c-bg-core: #EFEBE9;
  --c-bg-high: #EFEBE9;

  /* Ink/100% and its four alpha tints (60 / 40 / 20 / 10%). */
  --c-ink:   #FF5001;
  --c-ink-1: rgba(255, 80, 1, 0.6);
  --c-ink-2: rgba(255, 80, 1, 0.4);
  --c-ink-3: rgba(255, 80, 1, 0.2);
  --c-ink-4: rgba(255, 80, 1, 0.1);

  /* A SECOND ink, for running copy — web only. This brand's ink is a
     saturated mid-tone: it carries a title and fails as prose. The web
     source gives it a separate Colors/Black ramp and binds body text and
     links to that. Measured on the base ground: the ink at 60% is 1.79:1,
     this at 60% is 5.15:1. The other three brands leave --c-ink-body on
     its contract default, which is the ink itself. */
  --c-ink-body:   #000000;
  --c-ink-body-1: rgba(0, 0, 0, 0.6);
  --c-ink-body-3: rgba(0, 0, 0, 0.2);

  /* The oversized footer watermark: a 10% step the web ramp otherwise
     lacks. Emitted rather than aliased to --c-ink-4 because the source
     specifies 10% BLACK on every light-ground brand, including the one
     whose ink is not black. */
  --c-footer-logo: rgba(0, 0, 0, 0.102);

  /* Inverted Primary — ink for an inverted web section. Web only:
     the deck's dark slide reuses the light ground as its ink, the
     website has a ramp of its own. Stops are 100 / 60 / 20. */
  --c-ink-inverse:   #FFFFFF;
  --c-ink-inverse-1: rgba(255, 255, 255, 0.6);
  --c-ink-inverse-3: rgba(255, 255, 255, 0.2);

  /* Accent: Forge orange. Bound to ink — this brand is monochrome. */
  --c-accent:    #FF5001;
  --c-accent-80: #FF5001CC;
  --c-accent-60: #FF500199;
  --c-accent-40: #FF500166;
  --c-accent-20: #FF500133;

  /* Website-only corner rounding. No deck or document primitive
     consumes these; validate.mjs errors if an artifact uses one.
     The Master UI Radius frame names two values per brand, not a
     ramp: Components Background Radius and Buttons/Cards Radius.
     --radius-web stays as the coarse legacy handle (= component).
     Master UI Radius frame: two named values per brand pair — "Components Background Radius" and "Buttons/Cards Radius". 20px / 30px. Not a 4-step ramp. */
  --radius-web:       20px;
  --radius-component: 20px;
  --radius-button:    30px;

  /* Team portraits run full colour for Forge. */
  --bf-portrait-filter: saturate(1.05);
  --bf-portrait-dots: 0.28;
}

/* Letterbox around the slide. */
.deck-stage { background: #000000; }

/* ---------- from forge.extra.css (hand-maintained) ---------- */
/* Forge's display face is a grotesque, so it wants Light at large sizes
   where Concrette uses Regular. Structural, not a token — the other three
   brands must NOT inherit this. */
.h-display, .h1, .h2, .h3,
h1, h2, h3 { font-weight: 300; }
