/* The original logo, photographs, and product screenshots retain their colors. */
:root { color-scheme: light; }
:root[data-gf-appearance="dark"] {
    color-scheme: dark;
    --gf-paper: #171a20;
    --gf-ink: #f1eee8;
    --gf-muted: #b9c1cc;
    --gf-blue: #94b4ff;
    --gf-line: #46515f;
    --gf-soft: #222833;
}
@media screen and (prefers-color-scheme: dark) {
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) {
        color-scheme: dark;
        --gf-paper: #171a20;
        --gf-ink: #f1eee8;
        --gf-muted: #b9c1cc;
        --gf-blue: #94b4ff;
        --gf-line: #46515f;
        --gf-soft: #222833;
    }
}
/* WordPress global styles may put the preset variables directly on body. */
:root body {
    --wp--preset--color--paper: var(--gf-paper);
    --wp--preset--color--ink: var(--gf-ink);
    --wp--preset--color--muted: var(--gf-muted);
    --wp--preset--color--blue: var(--gf-blue);
    --wp--preset--color--soft: var(--gf-soft);
    background-color: var(--gf-paper);
    color: var(--gf-ink);
}
.gf-case-figure > img, .gf-case-image-crop { background-color: #fff; }
.gf-skip-link { background: var(--gf-ink); color: var(--gf-paper); }
.gf-header .wp-block-navigation__responsive-container.is-menu-open,
.gf-header .wp-block-navigation__submenu-container {
    background-color: var(--gf-paper) !important;
    color: var(--gf-ink) !important;
}
.gf-footer { flex-wrap: wrap; }
.gf-appearance-control {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--gf-muted);
    font: 400 .875rem/1.5 var(--gf-sans);
}
.gf-appearance-control[hidden] { display: none !important; }
.gf-appearance-control label { cursor: pointer; }
.gf-appearance-select-wrap {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}
.gf-appearance-control select {
    appearance: auto;
    min-height: 44px;
    min-width: 100px;
    max-width: 100%;
    padding: .45rem .65rem;
    border: 1px solid var(--gf-muted);
    border-radius: .5rem;
    background: var(--gf-paper);
    color: var(--gf-ink);
    font: inherit;
    cursor: pointer;
}
.gf-appearance-control select:hover { border-color: var(--gf-blue); }
.gf-appearance-control select:focus-visible {
    outline: 3px solid var(--gf-blue);
    outline-offset: 4px;
}
/* Desktop: remove WordPress flow margins that stagger successive footer groups. */
@media (min-width: 601px) {
    .gf-footer.gf-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 20px 28px;
    }
    .gf-footer.gf-shell > *,
    .gf-footer.gf-shell .gf-footer-links > * {
        margin-block: 0 !important;
        min-width: 0;
    }
    .gf-footer.gf-shell .gf-footer-links {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 12px 22px;
    }
    .gf-footer.gf-shell .gf-footer-links a { white-space: nowrap; }
    .gf-footer.gf-shell .gf-appearance-control {
        justify-self: end;
        align-self: center;
        white-space: nowrap;
        gap: 10px;
    }
    .gf-appearance-control select {
        -webkit-appearance: none;
        appearance: none;
        background-image: none;
        min-width: 108px;
        padding-inline: .8rem 2.1rem;
        line-height: 1.5;
        margin: 0;
    }
    .gf-appearance-select-wrap::after {
        content: '';
        position: absolute;
        inset-inline-end: 14px;
        top: 50%;
        width: 7px;
        height: 7px;
        border-right: 1.5px solid var(--gf-ink);
        border-bottom: 1.5px solid var(--gf-ink);
        transform: translateY(-70%) rotate(45deg);
        pointer-events: none;
    }
}
@media (min-width: 601px) and (max-width: 1100px) {
    .gf-footer.gf-shell { grid-template-columns: minmax(0, 1fr) auto; }
    .gf-footer.gf-shell > p { grid-column: 1 / -1; }
    .gf-footer.gf-shell .gf-footer-links {
        justify-self: start;
        justify-content: flex-start;
    }
}
@media (min-width: 601px) and (forced-colors: active) {
    .gf-appearance-control select { -webkit-appearance: menulist; appearance: auto; padding-inline: .8rem; }
    .gf-appearance-select-wrap::after { display: none; }
}
.gf-appearance-fallback {
    width: min(1180px, calc(100% - 80px));
    margin: 0 auto;
    padding: 0 0 28px;
}
@media (max-width: 900px) {
    .gf-appearance-fallback { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
    .gf-footer .gf-appearance-control { margin-top: 20px; }
    .gf-appearance-fallback { width: calc(100% - 36px); }
}
/* Explicit dark-mode text also covers saved WordPress block colors. */
@media screen {

    :root[data-gf-appearance="dark"] body {
        --wp--preset--color--black: var(--gf-ink);
        --wp--preset--color--white: var(--gf-paper);
    }
    :root[data-gf-appearance="dark"] .gf-shell :is(h1, h2, h3, h4, h5, h6) {
        color: var(--gf-ink) !important;
    }
    :root[data-gf-appearance="dark"] .gf-shell :is(p, li, td, th, dt, dd, summary).has-text-color[style] {
        color: var(--gf-ink) !important;
    }
    :root[data-gf-appearance="dark"] .gf-shell :is(.gf-kicker, .gf-work-period, .gf-work-number, .has-blue-color).has-text-color[style] {
        color: var(--gf-blue) !important;
    }
    :root[data-gf-appearance="dark"] .gf-shell :is(.gf-brand-role, .gf-work-meta, .gf-standfirst, .gf-disclosure, figcaption, .has-muted-color).has-text-color[style] {
        color: var(--gf-muted) !important;
    }
    :root[data-gf-appearance="dark"] .gf-actions a:is(:hover, :active) {
        background-color: var(--gf-blue);
        color: var(--gf-paper);
    }
}
@media screen and (prefers-color-scheme: dark) {

    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) body {
        --wp--preset--color--black: var(--gf-ink);
        --wp--preset--color--white: var(--gf-paper);
    }
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) .gf-shell :is(h1, h2, h3, h4, h5, h6) {
        color: var(--gf-ink) !important;
    }
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) .gf-shell :is(p, li, td, th, dt, dd, summary).has-text-color[style] {
        color: var(--gf-ink) !important;
    }
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) .gf-shell :is(.gf-kicker, .gf-work-period, .gf-work-number, .has-blue-color).has-text-color[style] {
        color: var(--gf-blue) !important;
    }
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) .gf-shell :is(.gf-brand-role, .gf-work-meta, .gf-standfirst, .gf-disclosure, figcaption, .has-muted-color).has-text-color[style] {
        color: var(--gf-muted) !important;
    }
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) .gf-actions a:is(:hover, :active) {
        background-color: var(--gf-blue);
        color: var(--gf-paper);
    }
}
/* A dark screen preference must not produce dark printed pages or PDFs. */
@media print {
    :root, :root[data-gf-appearance] {
        color-scheme: light;
        --gf-paper: #fff;
        --gf-ink: #15191f;
        --gf-muted: #515b68;
        --gf-blue: #5573b4;
        --gf-line: #cbd2dc;
        --gf-soft: #fafbfc;
    }
    .gf-appearance-control { display: none !important; }
    body { background: #fff !important; color: #15191f !important; }
}
