/* Breakpoints (Figma: styles / text styles) */
:root {
  --dk-breakpoint-m: 1024px;
  --dk-breakpoint-l: 1280px;
}

html, body {
  z-index: 1;
  font-size: var(--font-size-1);
  padding: 0;
  width: 100vw;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html {
  /* Mobile Safari/Chrome auto-inflate font sizes in narrow columns
     (e.g. the news ticker's flex track) unless explicitly disabled —
     this is why text renders too large only on real devices, never in
     desktop-simulated viewports (SD-120 revision). */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul, li {
  list-style: none;
  margin: 0;
  padding: 0
}
img {
  width: 100%;
  display: block;
}
h2 {
  margin: 0;
  padding: 0;
  display: inline-block;
}
a, button, input, label {
  color: var(--color-1);
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}
button {
  background: transparent;
  border: none;
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0
}
p, h1, h2, h3, h4, ul, li {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
}
a {
  -ms-user-select: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}
