/* SIMAR design tokens — editorial data-hub system.
   Brand palette adopted from simar.cz's own site (2026-07 landing redesign):
   blue #368cbf, green #7ebc59, red #e64646, ink #33363b. The logo SVG itself
   keeps its original (slightly more saturated) blue/green fill — unchanged. */

/* Bricolage Grotesque — self-hosted (no Google Fonts CDN; GDPR requirement for
   this client). Vendored (Google Fonts release v9), weights 600/800, latin +
   latin-ext subsets (latin-ext covers Czech diacritics). */
/* Rubik — SELF-HOSTED, no Google Fonts CDN (GDPR; same rule as Bricolage).
   This is the client's OWN typeface: simar.cz serves Rubik for text and Libre
   Baskerville as a serif accent (assets/site/css/main.*.css). Our body was
   system-ui, which is exactly the "looks like pure HTML" Marek reported.
   latin-ext is not optional here — it carries the Czech diacritics. */
@font-face{
  font-family:'Rubik'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/rubik-400-latin-ext.15c3dca723cb.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:'Rubik'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/rubik-400-latin.b65daadded74.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:'Rubik'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/static/web/fonts/rubik-500-latin-ext.15c3dca723cb.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:'Rubik'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/static/web/fonts/rubik-500-latin.b65daadded74.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:'Rubik'; font-style:normal; font-weight:700; font-display:swap;
  src:url("/static/web/fonts/rubik-700-latin-ext.15c3dca723cb.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:'Rubik'; font-style:normal; font-weight:700; font-display:swap;
  src:url("/static/web/fonts/rubik-700-latin.b65daadded74.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:'Rubik'; font-style:normal; font-weight:600; font-display:swap;
  src:url("/static/web/fonts/rubik-600-latin-ext.15c3dca723cb.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:'Rubik'; font-style:normal; font-weight:600; font-display:swap;
  src:url("/static/web/fonts/rubik-600-latin.b65daadded74.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:'Rubik'; font-style:normal; font-weight:800; font-display:swap;
  src:url("/static/web/fonts/rubik-800-latin-ext.15c3dca723cb.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:'Rubik'; font-style:normal; font-weight:800; font-display:swap;
  src:url("/static/web/fonts/rubik-800-latin.b65daadded74.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;
}

/* Libre Baskerville — the client's READING face. Measured, not inferred: their
   article paragraphs compute to "Libre Baskerville", 16px/26px, on every page
   checked. Reading their stylesheet I saw Rubik declared most often and took it
   for the body font; it is their UI and heading face. The pairing is a serif
   body under a sans display, and the serif is what the pages actually read as. */
@font-face{
  font-family:'Libre Baskerville'; font-style:italic; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-400-italic-latin-ext.91da567b504b.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:'Libre Baskerville'; font-style:italic; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-400-italic-latin.8c81de4cdf14.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:'Libre Baskerville'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-400-latin-ext.87e83407f959.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:'Libre Baskerville'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-400-latin.9e3a6b8702fd.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:'Libre Baskerville'; font-style:normal; font-weight:700; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-700-latin-ext.87e83407f959.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:'Libre Baskerville'; font-style:normal; font-weight:700; font-display:swap;
  src:url("/static/web/fonts/librebaskerville-700-latin.9e3a6b8702fd.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:'Bricolage Grotesque'; font-style:normal; font-weight:600; font-display:swap;
  src:url("/static/web/fonts/bricolage-grotesque-600-latin.72280bf66ee0.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:'Bricolage Grotesque'; font-style:normal; font-weight:600; font-display:swap;
  src:url("/static/web/fonts/bricolage-grotesque-600-latin-ext.53c897f50891.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:'Bricolage Grotesque'; font-style:normal; font-weight:800; font-display:swap;
  src:url("/static/web/fonts/bricolage-grotesque-800-latin.5beb2f653e74.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:'Bricolage Grotesque'; font-style:normal; font-weight:800; font-display:swap;
  src:url("/static/web/fonts/bricolage-grotesque-800-latin-ext.5215ee10ba9f.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{
  --blue:#368cbf;        --blue-soft:#368cbf;   --blue-tint:#eaf3fa;
  --green:#7ebc59;       --green-soft:#7ebc59;  --green-tint:#eef7e9;  --green-ink:#3f6b28;
  --red:#e64646;         --red-tint:#fdeaea;   --red-ink:#a32f2f;
  /* --red-ink is the red for SMALL text on --red-tint: #e64646 there is
     3.3:1, under the 4.5:1 body text needs; #a32f2f is 6.5:1. Used by the
     complaints form's error messages, which sit on that tint. Mirrors
     --green-ink, which exists for the same reason. */

  --ink:#33363b; --muted:#5c6b7a; --line:#e6ebf0; --bg:#ffffff; --surface:#f5f8fa;

  --radius:14px; --radius-sm:9px; --maxw:1240px; --maxw-wide:1560px;

  /* Height of the sticky .site-head. Anything that sticks BELOW the header
     offsets by this instead of hardcoding a number — .standards-nav used a
     bare top:70px, which silently became wrong the moment the header grew a
     second row (the sub-nav would have slid under it). Measured, not guessed;
     see the two-tier header in base.html. */
  --head-h:127px;  /* re-measured 2026-08-25, logo 36->44px */

  --space-3xs:4px; --space-2xs:8px; --space-xs:12px; --space-sm:16px;
  --space-md:24px; --space-lg:40px; --space-xl:64px; --space-2xl:96px;

  /* Rubik for display too. Bricolage was OUR pick from the July sales demo;
     simar.cz sets Rubik on headings as well as text, and applying it to body
     copy alone left every heading, nav item, rail link and card title in the
     old face — i.e. exactly the text that carries the page's character, which
     is why the change did not read. Bricolage stays vendored: putting it back
     on display is a one-line change to this token. */
  --font-head:'Rubik',system-ui,sans-serif;
  --font-body:'Rubik',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* Long-form reading copy only — never nav, cards, rails or buttons. */
  --font-read:'Libre Baskerville','Palatino Linotype','Book Antiqua',Palatino,serif;

  --shadow-card:0 1px 2px rgba(22,32,43,.05);
  --shadow-card-hover:0 16px 28px -16px rgba(22,32,43,.22);
  --ease:cubic-bezier(.2,.8,.2,1);
}
