/* ============================================================================
   Radikal — self-hosted web fonts (woff2, no CDN)
   ----------------------------------------------------------------------------
   Radikal is the JasonWalker.design brand typeface: it governs the portfolio
   shell — navigation, homepage, manifesto, headings, body, labels, controls,
   modals, captions, footers, work index, Field Notes, Vitae, Atlas and the
   shared case-study shells.

   It does NOT govern the identities being presented. Project typefaces are
   declared explicitly by their own pages and stylesheets and continue to win:
     Frontline21  Quantico · Poppins · Figtree
     Radiant      IBM Plex Sans
     Victory      Victory Public Sans · Victory Source Serif 4
     artefacts    type set inside campaign images, video, PDFs
   plus Vorn and Projekt Display where they are the artwork.

   FOUR GENUINE CUTS. ALL FOUR FILES ARE REAL.
     300  Light     radikal-light.woff2     usWeightClass 300
     400  Regular   radikal-regular.woff2   usWeightClass 400
     500  Medium    radikal-medium.woff2    usWeightClass 500
     700  Bold      radikal-bold.woff2      usWeightClass 700
   Verified against each file's OS/2 table on 2026-08-14; 727 glyphs, 1000 upem,
   italicAngle 0 in every cut.

   NO ITALICS EXIST IN THE LICENSED SET. `font-synthesis: none` is declared
   globally in tokens.css so the browser can never manufacture one, and no
   intermediate weight is ever synthesised. Where a true italic voice is
   required the system uses Satoshi through `--font-meaning`, which ships real
   italic cuts.

   font-display:block on the display weights (Medium, Bold) so the monumental
   hero typography never paints in a fallback and reflows; swap on the reading
   weights so body copy is never invisible.

   THE CONVENTIONAL K AND k — 'ss01', DECLARED ON THE FAMILY
   Radikal's default uppercase K and lowercase k are drawn with one junction:
   the leg branches off the arm at a vertex set away from the stem, and the
   stem itself stops there. The family also ships the conventional two-
   junction construction, where the arm and the leg each meet the stem, and
   it is reached through STYLISTIC SET 1.

   Read from the shipped woff2 binaries on 2026-08-15 with fontTools. All
   four cuts carry the same GSUB feature list -- aalt calt case dlig dnom
   frac liga locl numr onum ordn sinf ss01 ss02 ss03 ss04 subs sups tnum
   zero -- and ss01 is a single-substitution lookup of exactly ten members:
     K -> K.alt        k -> k.alt        f_k -> f_k.alt
     uni0136/0137 (K,k with cedilla) and the Cyrillic Ka set 040C 041A
     043A 045C plus ka-cy.loclBGR, each to its own .alt
   ss02 is the M alternate and is deliberately NOT enabled; ss03/ss04 are
   Bulgarian and Serbian localisation and are untouched.

   It is declared as an @font-face DESCRIPTOR, not as a property on a
   selector, for three reasons.
     1. It cannot leak. The descriptor belongs to this family, so Quantico,
        Poppins, Figtree, IBM Plex Sans, Source Serif 4 and Public Sans are
        physically incapable of receiving it. A selector-based rule would
        have had to be fenced off from every project environment by hand.
     2. It reaches the canvas. hero-type.js measures WALKER's native glyph
        origins with canvas measureText and publishes the word's silhouette
        to the ring renderer by drawing it with fillText. Canvas2D has no
        font-feature-settings, so a CSS property would have left the DOM
        drawing K.alt (685/1000) while the measurement and the alpha mask
        still used K (680/1000). The descriptor is part of the font
        selection, so canvas gets it too and the two stay identical.
     3. It is additive. An element that declares its own kern/liga/calt
        keeps ss01, because a feature list on an element overrides the
        descriptor only for tags it names. Only the literal value `normal`,
        or an explicit `'ss01' 0`, cancels it.
   ========================================================================== */

@font-face{
  font-family:'Radikal';
  src:url('../fonts/radikal/radikal-light.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
  font-feature-settings:'ss01' 1
}
@font-face{
  font-family:'Radikal';
  src:url('../fonts/radikal/radikal-regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
  font-feature-settings:'ss01' 1
}
@font-face{
  font-family:'Radikal';
  src:url('../fonts/radikal/radikal-medium.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:block;
  font-feature-settings:'ss01' 1
}
@font-face{
  font-family:'Radikal';
  src:url('../fonts/radikal/radikal-bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:block;
  font-feature-settings:'ss01' 1
}
