body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    &>header {
        display: flex;
        column-gap: var(--pico-spacing);
        padding-top: calc(var(--pico-spacing) * 4);

        &>figure,
        &>hgroup {
            display: flex;
            flex-direction: column;
            justify-content: end;
            margin-bottom: 0;
        }
    }

    &>main {
        flex: 1;
    }

    &>footer {
        padding-bottom: var(--pico-spacing);
    }
}

.link-icon {
    width: var(--pico-spacing);
    height: var(--pico-spacing);
    vertical-align: calc(var(--pico-typography-spacing-vertical) / 8 * -1);
    margin-inline-end: calc(var(--pico-nav-link-spacing-horizontal) / 2);
}