body {
    min-height: 100dvh;
    margin: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    font-family: Arial, sans-serif;
    color: #1e3644;
    background: #fff9f4;
}

header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.75rem clamp(1rem, 4vw, 3rem);
    color: white;
    background: #1e3644;
    border-block-end: 3px solid #ff5b5b;
}

h1 {
    margin: 0;
    font-size: 1.25rem;
}

a {
    color: inherit;
    text-underline-offset: 0.2em;
}

main {
    display: grid;
    min-height: 0;
}

header nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

header nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

header nav img {
    display: block;
}

@media (max-width: 42rem) {
    header nav {
        order: 1;
        flex-basis: 100%;
    }
}

header a:focus-visible {
    outline: 2px solid #ffb547;
    outline-offset: 3px;
}

iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 24rem;
    border: 0;
    background: white;
}
