/* Vendored reset — adapted from Josh W. Comeau's "A Modern CSS Reset"
   (joshwcomeau.com/css/custom-css-reset) and Andy Bell's "A (more) modern CSS
   reset" (piccalil.li). Owned in-repo; never updated from upstream.

   The upstream reduced-motion rule uses !important; this copy does not need it —
   reset is the first layer, the site declares no animations of its own, and any
   later transition must opt itself out of reduced motion where it is written. */

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

    * {
        margin: 0;
    }

    html {
        /* Respect the user's font size; don't let mobile browsers inflate text. */
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }

    body {
        min-block-size: 100svh;
        line-height: 1.5;
    }

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

    input,
    button,
    textarea,
    select {
        font: inherit;
    }

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

    @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
            animation-duration: 0.01ms;
            animation-iteration-count: 1;
            transition-duration: 0.01ms;
            scroll-behavior: auto;
        }
    }
}
