/* Whistler Skibus webfonts — ALL REAL. NO SUBSTITUTIONS.
 *
 * Resolved 2026-08-08. Every face below is the brand's own file, copied from
 *   07 DESIGN & CONCEPTS — heritage/PRINT & ADDS 2018/SB Fonts/
 * and identified by rendering each archive font against the brand sheet rather
 * than guessed at. The Google Fonts stand-ins (Anton, Big Shoulders Stencil,
 * Caveat Brush, Barlow) are GONE — nothing here loads from a CDN.
 *
 *   ROLE       FACE                            IDENTIFIED FROM
 *   system     DIN (300–900)                   the 2018 print system; the manual names it
 *   poster     Helvetica Neue Condensed Bold   brand sheet items 1 & 4 (WHISTLER SNOWBUS,
 *                                              SNOWBUS.com) — tight apertures, squarish S
 *   stencil    Rafika                          brand sheet item 2 — the chunky cut stencil
 *   distress   Dirty Ego                       brand sheet item 3 — the eroded SNOWBUS
 *   hand       Bleeding Cowboys                brand sheet item 9 — LOVE THE RIDE brush
 *   bespoke    Snowgus                         cut for this brand; ships with a .vfb source.
 *                                              Appears to be a Rafika derivative.
 *   alt-sten   Gunplay                         narrower, rougher stencil. Alternate only.
 *
 * ── LICENSING ────────────────────────────────────────────────────────────────
 * DIN and Helvetica Neue are LICENSED typefaces; Rafika, Dirty Ego, Bleeding
 * Cowboys and Gunplay are third-party display faces. They are here because the
 * brand holds its licences. A consuming project must not redistribute these
 * files or serve them from a public origin outside that licence. If this system
 * is ever published to an untrusted host, swap in webfont subsets under a
 * webfont licence — do not simply upload these TTFs.
 *
 * ── ⚠️ SPARSE PUNCTUATION COVERAGE ───────────────────────────────────────────
 * These are 2000s-era display TTFs with incomplete glyph sets. Observed live:
 *   ·  (middot, U+00B7)  renders as ∑ in DIN
 *   –  (en dash, U+2013) renders as ñ in DIN
 * So do NOT put typographic punctuation inside text set in DIN, Rafika, Dirty
 * Ego, Bleeding Cowboys or Snowgus. Either use ASCII (- instead of –, "to"
 * instead of a range dash) or wrap the separator in a system stack:
 *   <span style="font-family:Helvetica,Arial,sans-serif">&middot;</span>
 * Always eyeball new punctuation in these faces rather than trusting it.
 *
 * ── ⚠️ QUOTING IN INLINE STYLES ──────────────────────────────────────────────
 * Family names with spaces need quotes, and a DOUBLE-quoted family name inside a
 * double-quoted style="" attribute truncates the attribute — silently dropping
 * every declaration after it. Use single quotes in inline styles:
 *   style="font-family:'HelveticaNeue Condensed',Impact,sans-serif"
 *
 * ── ⚠️ SCREENSHOT TOOLS MISRENDER THESE FACES ────────────────────────────────
 * DOM-rerendering capture (html-to-image and friends) does not reliably load
 * these local TTFs. It measures a box with one font and paints with another, so
 * captures show phantom text wraps and apparent overlaps that do not exist in
 * the live page. Verify layout by MEASURING — Range.getClientRects() for line
 * count, getBoundingClientRect() for box geometry — not by eye on a screenshot.
 * (Observed: a single-line route title captured as two overlapping lines while
 * the live DOM reported 7 client rects all on one line and a 4.7px gap below.)
 *
 * ── NOT AVAILABLE ────────────────────────────────────────────────────────────
 * · No italic DIN anywhere in the archive, though the manual asks for DIN-Black
 *   Italic. Not faked — a synthetic oblique on a face that heavy looks wrong.
 * · HelveticaNeue-CondensedBlack is a `.0` resource-fork file, not a TTF, so the
 *   heaviest poster weight is Condensed BOLD. The brand sheet's very heavy cuts
 *   may be Black; if that weight matters, the file needs recovering.
 * · The illustrated SNOWBUS wordmark is DRAWN ARTWORK, not a font — place
 *   assets/wordmark-snowbus-illustrated.png or the true-vector
 *   assets/heritage/SB-MAIN-LANDING-LOGO.svg. Never set it in type.
 */

@font-face{font-family:"DIN";src:url("../assets/fonts/DIN-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"DIN";src:url("../assets/fonts/DIN-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DIN";src:url("../assets/fonts/DIN-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DIN";src:url("../assets/fonts/DIN-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"DIN";src:url("../assets/fonts/DIN-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"DIN Alternate";src:url("../assets/fonts/DIN-BlackAlternate.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}

@font-face{font-family:"HelveticaNeue Condensed";src:url("../assets/fonts/HelveticaNeue-CondensedBold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Rafika";src:url("../assets/fonts/Rafika.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Dirty Ego";src:url("../assets/fonts/DirtyEgo.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bleeding Cowboys";src:url("../assets/fonts/BleedingCowboys.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Snowgus";src:url("../assets/fonts/Snowgus.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gunplay";src:url("../assets/fonts/Gunplay.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

/* TYPOGRAPHIC-GLYPH RESCUE - load-bearing, do not remove.
   These archive TTFs map the codepoints below to the WRONG glyph rather than
   leaving them undefined:  U+00B7 renders as the sigma, U+2013 as n-tilde,
   U+2014 as o-acute.  A fallback stack does NOT help - the browser sees a glyph
   present and never falls through.  So each family is re-declared over ONLY
   these codepoints and pointed at a system face, excluding them from the
   archive font.  This is why the licence attribution and every "A - B - C"
   separator render correctly with no span wrapping in the markup. */
@font-face{font-family:"DIN";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"DIN Alternate";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"HelveticaNeue Condensed";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"Rafika";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"Dirty Ego";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"Bleeding Cowboys";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"Snowgus";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
@font-face{font-family:"Gunplay";src:local("Helvetica Neue"),local("Helvetica"),local("Arial"),local("Segoe UI");unicode-range:U+00A9,U+00AE,U+00B7,U+2013,U+2014,U+2018-201D,U+2026,U+00D7}
