/* Poppins is licensed under SIL OFL 1.1; see fonts/OFL.txt. */
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/poppins-300-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: Poppins;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/poppins-300-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: Poppins;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/poppins-500-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: Poppins;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/poppins-500-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: Poppins;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/poppins-700-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: Poppins;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/poppins-700-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: Poppins;
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/poppins-300-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: Poppins;
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/poppins-300-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;
}

:root {
  font-family: Poppins, ui-sans-serif, system-ui, sans-serif;
  font-weight: var(--weight-body);
  color-scheme: light;
  --brand-blue: #006fb7;
  --brand-navy: #17213c;
  --brand-charcoal: #3d3d3c;
  --brand-white: #fff;
  --muted-on-light: #5f6a78;
  --line-on-light: #dbe2ea;
  --accent-on-dark: #6ac0f2;
  --muted-on-dark: #b2c1d4;
  --line-on-dark: rgba(255, 255, 255, 0.2);
  --card-on-dark: rgba(23, 33, 60, 0.88);
  --accent: var(--brand-blue);
  --ink: var(--brand-charcoal);
  --muted: var(--muted-on-light);
  --line: var(--line-on-light);
  --surface: var(--brand-white);
  --surface-alt: #f3f5f8;
  --canvas: var(--brand-white);
  --font-small: 0.875rem;
  --font-body: 1rem;
  --font-heading: 1.75rem;
  --weight-body: 300;
  --weight-heading: 500;
  --weight-strong: 700;
  --leading-body: 1.6;
  --leading-heading: 1.3;
  --space-8: 0.5rem;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --radius: 10px;
  --content-width: 1160px;
  --gutter: 24px;
  --section-space: var(--space-64);
  --card-padding: var(--space-32);
  --control-height: 44px;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --accent: var(--accent-on-dark);
  --ink: var(--brand-white);
  --muted: var(--muted-on-dark);
  --line: var(--line-on-dark);
  --surface: var(--card-on-dark);
  --canvas: var(--brand-navy);
}

:where(*) {
  box-sizing: border-box;
}
:where(body) {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-size: var(--font-body);
  line-height: var(--leading-body);
}
:where(button, input, select, textarea) {
  font: inherit;
}
:where(h1, h2, h3) {
  color: var(--accent);
  font-size: var(--font-heading);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
}
:where(strong, b) {
  font-weight: var(--weight-strong);
}
:where(a) {
  color: var(--accent);
  text-underline-offset: 0.2em;
}
:where(a:hover) {
  text-decoration-thickness: 2px;
}
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
:where(.back-link, .side-events-ui .button, .downloads a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  padding: var(--space-8) var(--space-16);
  border-radius: var(--radius);
  font-size: var(--font-small);
  font-weight: var(--weight-heading);
  line-height: var(--leading-body);
  text-decoration: none;
}

@media (max-width: 700px) {
  :root {
    --font-heading: var(--font-body);
    --gutter: 16px;
    --section-space: var(--space-48);
    --card-padding: var(--space-24);
  }
}
