html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    overflow-x: hidden;
    overflow-x: clip;
    text-rendering: optimizeLegibility;
}

img,
svg,
video {
    max-width: 100%;
}

body :is(h1, h2, h3, h4, h5, h6) {
    text-wrap: balance;
}

body :is(p, li, blockquote) {
    text-wrap: pretty;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-sm {
    font-size: 0.92rem;
    line-height: 1.7;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-base {
    font-size: 1rem;
    line-height: 1.8;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-lg {
    font-size: clamp(1.02rem, 0.98rem + 0.35vw, 1.16rem);
    line-height: 1.85;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-xl {
    font-size: clamp(1.12rem, 1.02rem + 0.72vw, 1.34rem);
    line-height: 1.75;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-2xl {
    font-size: clamp(1.3rem, 1.12rem + 1.1vw, 1.72rem);
    line-height: 1.58;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-3xl {
    font-size: clamp(1.5rem, 1.22rem + 1.5vw, 2.08rem);
    line-height: 1.34;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-4xl {
    font-size: clamp(1.82rem, 1.42rem + 2vw, 2.72rem);
    line-height: 1.18;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-5xl {
    font-size: clamp(2.12rem, 1.7rem + 2.8vw, 3.5rem);
    line-height: 1.08;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-6xl {
    font-size: clamp(2.45rem, 1.95rem + 3.45vw, 4.45rem);
    line-height: 1.03;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-7xl {
    font-size: clamp(2.75rem, 2.15rem + 4vw, 5.2rem);
    line-height: 1.01;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, a, button, span, div):not(.material-symbols-outlined).text-8xl {
    font-size: clamp(3rem, 2.3rem + 5vw, 6.4rem);
    line-height: 0.96;
}

body :is(main, header, section, article, aside, footer) p:not(.material-symbols-outlined) {
    line-height: 1.88;
}

body :is(main, header, section, article, aside, footer) li:not(.material-symbols-outlined) {
    line-height: 1.75;
}

body :is(a, button) {
    line-height: 1.45;
}

@media (max-width: 1023px) {
    body .px-12 {
        padding-inline: 1.75rem;
    }

    body .gap-24 {
        gap: 4rem;
    }

    body .gap-20 {
        gap: 3rem;
    }

    body .py-32 {
        padding-block: 6rem;
    }

    body .h-\[819px\] {
        height: min(72vh, 42rem);
    }

    body .h-\[85vh\] {
        height: auto;
        min-height: 38rem;
        padding-block: 7rem 5rem;
    }
}

@media (max-width: 767px) {
    body .px-14,
    body .px-12,
    body .px-10,
    body .px-8,
    body .px-6,
    body .px-4 {
        padding-inline: 1.25rem;
    }

    body .py-32 {
        padding-block: 4.75rem;
    }

    body .py-24 {
        padding-block: 4rem;
    }

    body .py-20 {
        padding-block: 3.5rem;
    }

    body .py-6 {
        padding-block: 1rem;
    }

    body .py-5,
    body .py-4 {
        padding-block: 0.92rem;
    }

    body .p-16 {
        padding: 1.75rem;
    }

    body .p-12 {
        padding: 1.5rem;
    }

    body .p-10 {
        padding: 1.25rem;
    }

    body .p-8 {
        padding: 1rem;
    }

    body .gap-24 {
        gap: 2.5rem;
    }

    body .gap-20 {
        gap: 2rem;
    }

    body .gap-16 {
        gap: 1.75rem;
    }

    body .gap-12 {
        gap: 1.25rem;
    }

    body .mb-20 {
        margin-bottom: 3rem;
    }

    body .mb-16 {
        margin-bottom: 2.5rem;
    }

    body .mb-12 {
        margin-bottom: 1.75rem;
    }

    body .pt-24 {
        padding-top: 6rem;
    }

    body .pt-20 {
        padding-top: 5.25rem;
    }

    body .-mt-20 {
        margin-top: -2.5rem;
    }

    body .-mt-12 {
        margin-top: -1.5rem;
    }

    body .-left-24,
    body .-left-12,
    body .-left-10,
    body .-left-8 {
        left: 1rem;
    }

    body .-right-12,
    body .-right-10,
    body .-right-8 {
        right: 1rem;
    }

    body .-top-24,
    body .-top-12 {
        top: 1rem;
    }

    body .-bottom-10,
    body .-bottom-8 {
        bottom: 1rem;
    }

    body .h-\[819px\] {
        height: min(78vh, 38rem);
    }

    body .h-\[614px\] {
        height: min(70vh, 31rem);
    }

    body .h-\[500px\] {
        height: 18rem;
    }

    body .h-\[450px\] {
        height: 22rem;
    }

    body .h-\[85vh\] {
        height: auto;
        min-height: 30rem;
        padding-block: 6.25rem 4rem;
    }

    body .min-h-\[600px\] {
        min-height: auto;
    }

    body .max-w-\[800px\],
    body .max-w-\[600px\],
    body .max-w-\[500px\],
    body .max-w-2xl,
    body .max-w-4xl,
    body .max-w-5xl {
        max-width: 100%;
    }

    body .rounded-\[3rem\] {
        border-radius: 2rem;
    }

    body .rounded-\[2rem\] {
        border-radius: 1.5rem;
    }

    body .text-\[400px\] {
        font-size: 14rem;
    }

    body .text-\[40rem\],
    body .text-\[30rem\] {
        font-size: 12rem;
    }

    body .w-72,
    body .h-72 {
        width: 15rem;
        height: 15rem;
    }

    body .min-w-\[280px\] {
        min-width: 15.25rem;
    }
}

@media (max-width: 639px) {
    body article .grid-cols-2 {
        grid-template-columns: minmax(0, 1fr);
    }

    body .sm\:flex-row > * {
        width: 100%;
    }

    body .text-\[400px\] {
        font-size: 10rem;
    }

    body .w-20 {
        width: 4rem;
    }

    body .h-20 {
        height: 4rem;
    }
}
