.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.is-hidden {
    display: none !important;
}

.no-scroll {
    overflow: hidden !important;
}

.flow > * {
    margin-block: 0;
}

.flow > * + * {
    margin-block-start: var(--flow-space, var(--space-4));
}

.flow-tight {
    --flow-space: var(--space-2);
}

.flow-loose {
    --flow-space: var(--space-8);
}

.text-start {
    text-align: start !important;
}

.text-center {
    text-align: center !important;
}

.text-end {
    text-align: end !important;
}

.text-muted {
    color: var(--color-text-muted) !important;
}

.text-soft {
    color: var(--color-text-soft) !important;
}

.text-accent {
    color: var(--color-accent) !important;
}

.text-success {
    color: var(--color-success) !important;
}

.text-error {
    color: var(--color-error) !important;
}

.text-small {
    font-size: var(--text-sm) !important;
}

.text-large {
    font-size: var(--text-lg) !important;
}

.font-medium {
    font-weight: var(--font-weight-medium) !important;
}

.font-bold {
    font-weight: var(--font-weight-bold) !important;
}

.uppercase {
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

.text-balance {
    text-wrap: balance;
}

.text-pretty {
    text-wrap: pretty;
}

.break-word {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
}

.width-full {
    width: 100% !important;
}

.max-reading {
    max-width: var(--container-reading);
}

.margin-inline-auto {
    margin-inline: auto !important;
}

.margin-0 {
    margin: 0 !important;
}

.margin-top-0 {
    margin-top: 0 !important;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.margin-top-4 {
    margin-top: var(--space-4) !important;
}

.margin-top-8 {
    margin-top: var(--space-8) !important;
}

.margin-bottom-4 {
    margin-bottom: var(--space-4) !important;
}

.margin-bottom-8 {
    margin-bottom: var(--space-8) !important;
}

.padding-4 {
    padding: var(--space-4) !important;
}

.padding-6 {
    padding: var(--space-6) !important;
}

.surface {
    background: var(--color-surface) !important;
}

.surface-raised {
    background: var(--color-surface-raised) !important;
}

.border-top {
    border-top: var(--border-width) solid var(--color-border) !important;
}

.border-bottom {
    border-bottom: var(--border-width) solid var(--color-border) !important;
}

.radius-small {
    border-radius: var(--radius-sm) !important;
}

.radius-medium {
    border-radius: var(--radius-md) !important;
}

.shadow-large {
    box-shadow: var(--shadow-lg) !important;
}

.aspect-square {
    aspect-ratio: 1;
    object-fit: cover;
}

.mobile-only {
    display: initial !important;
}

.desktop-only {
    display: none !important;
}

.prose {
    max-width: var(--container-reading);
    color: var(--color-text-soft);
}

.prose > :first-child {
    margin-top: 0;
}

.prose > :last-child {
    margin-bottom: 0;
}

.prose :is(p, li) {
    text-wrap: pretty;
}

.prose :is(h2, h3, h4) {
    margin-top: var(--space-10);
    margin-bottom: var(--space-4);
}

.prose a {
    color: var(--color-text);
}

.prose :is(ul, ol) {
    margin-block: var(--space-4);
}

.prose li + li {
    margin-top: var(--space-2);
}

.prose :is(img, figure, table, blockquote) {
    margin-block: var(--space-8);
}

.table-scroll {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.table-scroll table {
    min-width: 36rem;
}

@media (min-width: 64rem) {
    .mobile-only {
        display: none !important;
    }

    .desktop-only {
        display: initial !important;
    }
}

@media print {
    .no-print,
    .site-header,
    .site-footer,
    .floating-actions {
        display: none !important;
    }

    body {
        background: transparent;
        color: var(--brand-black);
    }

    a {
        color: inherit;
        text-decoration: underline;
    }
}
