/* 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, .2);
  --card-on-dark: rgba(23, 33, 60, .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: .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: .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: .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);
  }
}
