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

  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-feature-settings: "kern", "liga", "calt";
    font-variant-numeric: tabular-nums lining-nums;
  }

  body {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  img,
  svg {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
  }

  button,
  input,
  textarea,
  select {
    font: inherit;
    color: inherit;
    background: transparent;
    border: 0;
  }

  button {
    cursor: pointer;
  }

  a {
    color: inherit;
  }

  ul,
  ol {
    list-style: none;
  }

  hr {
    border: 0;
    border-block-end: 1px solid currentColor;
  }

  summary {
    list-style: none;
    cursor: pointer;
  }

  summary::-webkit-details-marker {
    display: none;
  }

  summary::marker {
    content: "";
  }

  .visually-hidden {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
