/* Montserrat, self-hosted (SIL OFL). Brand face for every page: 700 display,
   600 labels, 500 text. Variable file, latin + latin-ext. */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/montserrat-italic-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: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/montserrat-italic-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: 'Montserrat';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/fonts/montserrat-normal-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: 'Montserrat';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(/fonts/montserrat-normal-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;
}

/* ReliaSim design tokens (v7.242)
   One scale for radii, reading measure and heading size, so pages stop
   inventing their own. Values chosen to sit on the existing design rather
   than restyle it — every mapping below is within a few pixels of what the
   page already had. */

:root {
  /* Corner radii — was 13 distinct values across the site */
  --r-sm:   4px;   /* chips, small badges, inline code   (absorbed 2, 3, 5) */
  --r-md:   8px;   /* buttons, inputs, small cards       (absorbed 6, 10)   */
  --r-lg:  12px;   /* cards, figures, panels             (absorbed 14, 16)  */
  --r-xl:  20px;   /* large feature panels                                  */
  --r-pill: 999px; /* pills and avatars                  (absorbed 99)      */

  /* Reading measure */
  --measure:      68ch;   /* body prose */
  --measure-wide: 1180px; /* figures, tables, card grids */

  /* Heading scale, by role rather than by page */
  --h1-hero:  clamp(38px, 6vw, 72px);  /* landing hero only */
  --h1-page:  clamp(32px, 5vw, 50px);  /* every other page  */
  --h2:       clamp(25px, 3vw, 32px);
  --h3:       19px;
}

/* ── ReliaSim brand roles (v7.512) ─────────────────────────────────────────
   docs/brand-style-guide.md is the source. The ground is the booth graphic's
   navy family (ReliaSIM-Booth-FINAL.pdf): Harbor at the top left deepening to
   #15222D at the bottom left. One accent (Sky), one action (Signal Red).
   Pages used to carry their own :root palette (the ChiAha blues, greens,
   amber, purple and slate grounds). Those blocks are gone; the old names
   below map onto the roles so page CSS written against them follows. */
:root {
  /* palette (PDF p.1) */
  --sky:        #70CEEF;
  --reliablue:  #2A95BA;
  --signal-red: #CC4E4E;
  --harbor:     #2C5977;

  /* roles */
  --ground:       #1B2D3B;  /* navy ground: dark sections                   */
  --ground-deep:  #131F29;  /* nav, footer                                  */
  --ground-2:     #22384A;  /* cards on the ground                          */
  --ground-3:     #2A4458;
  --ground-grad:  linear-gradient(162deg, #2C5977 0%, #264A66 26%, #1D3447 62%, #15222D 100%);
  --band:         #E8EDF1;  /* Mist: light reading band (UI-only)            */
  --paper:        #F3F6F8;  /* soft off-white reading band, never pure #FFF  */
  --card-light:   #FAFBFC;  /* cards on Mist                                 */
  --head-on-ground: #F2F6F9;
  --warm:         #2C5977;  /* Harbor: closers, once or twice a page         */
  --accent:       #70CEEF;  /* Sky on the ground                             */
  --accent-band:  #2C5977;  /* accent text on Mist / white                   */
  --stroke:       #2A95BA;  /* icon strokes and rules on the band            */
  --action:       #B43F3F;  /* button fill: white label passes at 5.6:1      */
  --action-hi:    #CC4E4E;  /* hover, ribbons with large text                */
  --on-ground:    #EAF1F5;  /* light text on navy: off-white cuts halation */
  --on-ground-2:  #D3DEE6;
  --ink:          #16232E;  /* text on Mist / white                          */
  --ink-2:        #34495A;
  --status-error: #F28B8B;  /* UI-only light red that passes on the ground   */

  --font:      'Montserrat', Arial, sans-serif;
  --font-mono: 'Roboto Mono', ui-monospace, monospace;
  --rs-shadow: 0 2px 10px rgba(21,34,45,0.08);

  /* legacy names -> roles (ground context) */
  --blue:       var(--sky);
  --blue-dk:    var(--harbor);
  --blue-mid:   var(--reliablue);
  --green:      var(--sky);
  --green-dk:   var(--action);
  --amber:      var(--sky);
  --purple:     var(--sky);
  --red:        var(--signal-red);
  --bg0:        var(--ground);
  --bg1:        #182836;
  --bg2:        var(--ground-2);
  --bg3:        var(--ground-3);
  --border:     #36536B;
  --border-lt:  #44637D;
  --text:       #EAF1F5;
  --text-dim:   var(--on-ground-2);
  --text-faint: #B9C9D5;
  --rounded:    14px;
  --rounded-sm: 10px;
}
