html,
body {
    overflow-x: clip;
}

body.home {
    margin: 0;
}

#root {
    min-width: 0 !important;
}

/*
 * Mixed-media editorial grade.
 *
 * Photography remains recognisably documentary while a restrained saturation
 * and contrast pass brings different licensed sources into one visual family.
 * Illustrations receive a lighter treatment so their warm palette does not
 * overpower neighbouring photographs.
 */
#root img[src*="/assets/images/home-v2/"] {
    filter: saturate(.86) contrast(1.055) brightness(.985);
}

#root img[src*="/assets/images/home-editorial-v4/"] {
    filter: saturate(.92) contrast(1.025);
}

#root img[src*="/assets/images/home-mixed-v6/"] {
    filter: saturate(.94) contrast(1.035) brightness(.995);
}

@media (max-width: 1300px) {
    #root header nav {
        justify-content: flex-start !important;
        overflow-x: auto;
        padding-right: 18px !important;
        padding-left: 18px !important;
        scrollbar-width: none;
    }

    #root header nav::-webkit-scrollbar {
        display: none;
    }
}

.fl-noscript,
.fl-content {
    max-width: 760px;
    margin: 64px auto;
    padding: 0 24px;
    font-family: system-ui, sans-serif;
}

@media (max-width: 1024px) {
    :root {
        --gutter-page-lg: 24px;
        --section-gap: 40px;
    }

    #root header nav {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    #root main section [style*="grid-template-columns: repeat(6"] {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    #root main section [style*="grid-template-columns: repeat(4"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #root footer [style*="grid-template-columns"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    :root {
        --gutter-page: 18px;
        --gutter-page-lg: 18px;
        --space-8: 36px;
        --space-9: 48px;
        --space-10: 64px;
        --size-display-1: 42px;
        --size-display-2: 36px;
        --size-display-3: 30px;
        --size-head-1: 25px;
    }

    #root > div > header > div:first-child {
        display: flex !important;
        height: 72px !important;
        justify-content: space-between !important;
        padding: 0 18px !important;
    }

    #root > div > header > div:first-child > div:first-child {
        gap: 12px !important;
    }

    #root > div > header > div:first-child > div:first-child > span:nth-child(2),
    #root > div > header > div:first-child > div:last-child {
        display: none !important;
    }

    #root > div > header > div:first-child > a span:first-child {
        font-size: 23px !important;
    }

    #root > div > header > div:first-child > a span:last-child {
        font-size: 8px !important;
        margin-top: 4px !important;
    }

    #root header nav {
        height: 50px !important;
        gap: 20px !important;
        padding: 0 18px !important;
    }

    #root header nav > span {
        font-size: 13px !important;
    }

    #root main > section {
        margin-top: 64px !important;
    }

    #root main > section:first-child {
        margin-top: 0 !important;
    }

    #root main > section:first-child > div {
        height: 620px !important;
    }

    #root main > section:first-child h1 {
        font-size: 42px !important;
    }

    #root main > section:first-child p {
        font-size: 17px !important;
    }

    #root main > section:first-child [style*="max-width: 820px"] {
        width: calc(100% - 36px) !important;
    }

    #root main > section[style*="max-width"] {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #root main section [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #root main section [style*="grid-template-areas"] {
        grid-template-areas: none !important;
        grid-template-rows: none !important;
        min-height: 0 !important;
    }

    #root main section [style*="grid-area"] {
        grid-area: auto !important;
        min-height: 220px;
    }

    #root main section header[style*="display: flex"] {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    #root main section h2 {
        font-size: 32px !important;
    }

    #root main > section:nth-of-type(2) > div {
        padding: 28px !important;
        border-radius: 28px 10px !important;
    }

    #root main > section:nth-of-type(14) > div > img {
        height: 620px !important;
    }

    #root main > section:nth-of-type(14) [style*="padding: 0px var(--space-9)"],
    #root main > section:nth-of-type(14) [style*="padding: 0 var(--space-9)"] {
        padding: 28px !important;
    }

    #root footer {
        margin-top: 64px !important;
    }

    #root footer [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #root footer [style*="justify-content: space-between"] {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}
