/* ==========================================================================
   KNŌ Events Design System — design tokens
   Carried over verbatim from the design-system project
   (kno-events-design-system-f5e67962-d4f2-4e31-a17f-f92926419c11).
   Do not invent new values here; every page style resolves to one of these.
   ========================================================================== */

/* --- Typeface -------------------------------------------------------------
   Avenir (Black + Roman) is the KNŌ brand typeface per the 06.24.22 usage
   guide. No Avenir binaries were supplied, so Nunito Sans stands in as the
   nearest available humanist-geometric substitute.

   The design system loads it from Google Fonts; it is self-hosted here so the
   page renders correctly on networks that block third-party font CDNs (common
   inside large organizations) and so no viewer request leaves the host.
   To move to licensed Avenir, repoint these five @font-face srcs at the Avenir
   files and change nothing else.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-400-normal.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-600-normal.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-700-normal.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-900-normal.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-400-italic.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Latin Extended — carries the Ō in "KNŌ". */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-ext-400-normal.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: "Nunito Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-ext-600-normal.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: "Nunito Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-ext-700-normal.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: "Nunito Sans";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-ext-900-normal.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 {
  /* ---- Primary brand palette (print + digital, usage guide p.03) ---- */
  --kno-blue: #09659F;        /* PMS 2945U — R9 G101 B159 */
  --kno-coral: #FF765F;       /* PMS 7417U — R255 G118 B95 */
  --kno-pink: #FFD2CD;        /* PMS 196U  — R255 G210 B205 */

  /* ---- Secondary brand palette (digital) ---- */
  --kno-yellow: #F5D159;
  --kno-orange: #F54214;
  --kno-green: #266638;
  --kno-navy: #05364F;
  --kno-teal: #94C2C2;
  --kno-white: #FFFFFF;
  --kno-black: #000000;

  /* ---- Derived tints & shades (interaction states only; never new hues) ---- */
  --kno-blue-700: #075381;
  --kno-blue-900: #05364F;
  --kno-blue-100: #E4F0F8;
  --kno-blue-050: #F2F8FC;
  --kno-coral-600: #F2593F;
  --kno-coral-100: #FFE7E3;
  --kno-pink-050: #FFF3F1;
  --kno-yellow-100: #FDF3D7;
  --kno-green-100: #E3EFE7;
  --kno-teal-100: #EAF3F3;

  /* ---- Neutrals — every step is KNŌ Navy #05364F tinted with white ---- */
  --kno-ink-900: #05364F;   /* 100% navy */
  --kno-ink-700: #375E72;   /* 80%  */
  --kno-ink-500: #648292;   /* 62%  */
  --kno-ink-300: #9BAFB9;   /* 40%  */
  --kno-ink-200: #C8D3D8;   /* 22%  */
  --kno-ink-100: #E6EBED;   /* 10%  */
  --kno-ink-050: #F5F7F8;   /* 4%   */

  /* ---- Semantic aliases ---- */
  --text-heading: var(--kno-navy);
  --text-body: var(--kno-ink-700);
  --text-muted: var(--kno-ink-500);
  --text-inverse: var(--kno-white);
  --text-link: var(--kno-blue);
  --text-link-hover: var(--kno-blue-700);
  --text-accent: var(--kno-coral);

  --surface-page: var(--kno-ink-050);
  --surface-card: var(--kno-white);
  --surface-sunken: var(--kno-blue-050);
  --surface-brand: var(--kno-blue);
  --surface-brand-deep: var(--kno-navy);
  --surface-accent-soft: var(--kno-pink);
  --surface-accent: var(--kno-coral);

  --border-subtle: var(--kno-ink-100);
  --border-default: var(--kno-ink-200);
  --border-strong: var(--kno-ink-300);
  --border-brand: var(--kno-blue);

  --action-primary-bg: var(--kno-blue);
  --action-primary-bg-hover: var(--kno-blue-700);
  --action-primary-fg: var(--kno-white);
  --action-accent-bg: var(--kno-coral);
  --action-accent-bg-hover: var(--kno-coral-600);
  --action-accent-fg: var(--kno-navy);
  --action-focus-ring: var(--kno-coral);

  /* ---- Typography ---- */
  --font-core: "Nunito Sans", "Avenir Next", "Avenir", "Segoe UI", system-ui, sans-serif;
  --font-display: var(--font-core);
  --font-body: var(--font-core);
  --font-mono: "SFMono-Regular", Menlo, Consolas, monospace;

  /* Weights — the guide specifies only Avenir Black (display) and Roman (body) */
  --weight-body: 400;
  --weight-medium: 600;
  --weight-bold: 700;
  --weight-black: 900;

  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
  --tracking-body: 0em;
  --tracking-overline: 0.14em;

  /* ---- Spacing ---- */
  --gutter-page: clamp(20px, 4vw, 32px);
  --max-width-content: 1200px;

  /* ---- Radius ---- */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* ---- Elevation — soft, navy-tinted, never a dark grey drop shadow ---- */
  --shadow-xs: 0 1px 2px rgba(5, 54, 79, .05);
  --shadow-card-hover: 0 18px 40px -22px rgba(5, 54, 79, .30);
  --shadow-frame: 0 16px 40px -26px rgba(5, 54, 79, .42);
  --shadow-rail: 0 18px 44px -26px rgba(5, 54, 79, .36);
  --ring-focus: 0 0 0 3px rgba(255, 118, 95, .45);

  /* ---- Motion — calm and confident. No bounce, no spring. ---- */
  --duration-instant: 80ms;
  --duration-fast: 140ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --ease-standard: cubic-bezier(.2, 0, .2, 1);
  --press-scale: .985;
}
