@layer components {
    .ui-layout-center {
        max-width: 800px;
        width: 100%;
        margin: 0 auto;
        padding: 0 var(--spaceing);

        &.wide { max-width: 1000px; }
        &.wider { max-width: 1200px; }
        &.widest { max-width: 1600px; }

    }

    @media (min-width: 814px) {
        .ui-layout-center {
            padding: 0;
        }
    }


    .ui-centered-header {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        > div  {
            display: flex;
            align-items: center;
            height: 100%;
        }
        > div.middle {
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
        > div.right {
            justify-content: flex-end;
        }
        .tagline {
            font-size: var(--font-size-base);
            letter-spacing: var(--spaceing-xxs);
        }
        .title {
            font-size: var(--font-size-4xl);
            font-family: var(--font-serif), serif;
            line-height: 1.1em;
        }
    }

    .ui-square-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        grid-auto-rows: 200px;
        gap: var(--spaceing-md);

        .row-span-2 {
            grid-row: span 2;
        }
    }
}