@layer reset {
  *, *::before, *::after {
    box-sizing: border-box;
  }

  * {
    margin: 0;
    padding: 0;
  }

  body {
    line-height: 1.5;
  }

  img, picture, video, canvas, svg {
    display: block;
    max-inline-size: 100%;
  }

  input, button, textarea, select {
    font: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    color: currentColor;
  }

  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }

  ol, ul {
    list-style: none;
  }

  :not([class]) {
    h1&, h2&, h3&, h4&, h5&, h6& {
      margin-block: 0.75em;
      line-height: 1.25;
      text-wrap: balance;
      letter-spacing: -0.05ch;
    }

    p&, ol&, ul& {
      margin-block: 1em;
    }

    ol&, ul& {
      padding-inline-start: 1.5em;
      list-style: revert;
    }

    li& {
      margin-block: 0.5em;
    }
  }
}