
.bg-pmb { background-color: var(--bg-pmb); }
.bg-dns { background-color: var(--bg-dns); }
.bg-dark .progress {background: #fff;}


html {
  -webkit-font-smoothing: antialiased;
}
  
  html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Work Sans', sans-serif;
    overflow-x: hidden; /* prevent horizontal scroll */
    background-color: var(--bg-dark);
}


/* Make body a flex column to keep footer at bottom */
body {
  display: flex;
  flex-direction: column;
  font-size: var(--font-base);
  line-height: 1.6;
  font-weight: 400;
  color: var(--text-light);
  letter-spacing: .25px;
  min-height: 100dvh;   /* вместо 100vh → учитывает мобильные панели */
  display: flex;
}


/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1rem 0;
}


h1 { font-size: 4.125rem; font-weight: 800; line-height: 1.05; }
h2 { font-size: 2.1rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; color: var(--text-light); }
h3 { font-size: 1.925rem; font-weight: 700; line-height: 1.25; color: #cbd5e1; }
h4 { font-size: 1.325rem; font-weight: 600; line-height: 1.2; color: var(--text-muted); }
h5 { font-size: 1.125rem; font-weight: 500; color: var(--primary); }
h6 { font-size: 0.7rem; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--text-gray); }

/* Links */
a {
  color: var(--primary);
  transition: color 0.3s ease;
  font-size: var(--font-small);
  text-decoration: none;
  -webkit-transition: color .3s ease-out;
       -o-transition: color .3s ease-out;
          transition: color .3s ease-out;
}

a:hover, a:focus, a:active {
  color: var(--text-light);
  text-decoration: underline dashed var(--primary);
  outline: none;
}