@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;
        }
    }
}