/* A two-colour ring stays visible on the site's light and dark surfaces. */
body :is(a[href], button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px #1d262c !important;
    scroll-margin-block: 24px;
}
html { scroll-padding-block: 24px var(--mm-consent-clearance, 24px); }
body { padding-bottom: var(--mm-consent-clearance, 0px); }
#wp-skip-link:focus {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000001;
    background: #fff;
    color: #1d262c;
    padding: 12px 18px;
}
.wp-site-blocks .mm-readable-dark { color: #1d262c !important; }
.wp-site-blocks .mm-readable-green { color: #397747 !important; }
.wp-site-blocks header .wp-block-navigation .wp-block-navigation-item__content:is(:hover, :focus-visible, [aria-current="page"]),
.wp-site-blocks header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-site-blocks header .wp-block-navigation .current_page_item > .wp-block-navigation-item__content {
    color: var(--mm-nav-accent, #397747) !important;
}
.wp-site-blocks header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
    text-decoration: underline;
    text-underline-offset: 0.25em;
}
.wp-site-blocks :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}
.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}
/* A focused item must not be obscured by an ancestor or image animation. */
.wp-site-blocks header .wp-block-navigation__responsive-container.is-menu-open:has(:focus-visible),
.wp-site-blocks a:focus-visible .mm-reveal-in {
    animation: none !important;
}
/* Only one overlay can be operated at a time; consent state is preserved. */
html.has-modal-open #wpconsent-root { visibility: hidden; }
@media (forced-colors: active) {
    body :is(a[href], button, input, textarea, select, summary, [tabindex]):focus-visible {
        outline-color: Highlight !important;
    }
}
/* Long cookie identifiers must wrap instead of widening the mobile page. */
main .wpconsent-cookie-policy-table {
    width: 100%;
    table-layout: fixed;
}
main .wpconsent-cookie-policy-table :is(th, td) {
    overflow-wrap: anywhere;
    padding: 8px;
}
/* Keep the photograph bright, with a local gradient behind the hero copy. */
.home main .wp-block-cover:has(:is(h1, h2)) > .wp-block-cover__background {
    opacity: 0 !important;
}
.home main .wp-block-cover:has(:is(h1, h2))::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    height: min(62%, 560px);
    background: linear-gradient(
        to bottom,
        rgb(29 38 44 / 0%) 0%,
        rgb(29 38 44 / 55%) 34%,
        rgb(29 38 44 / 92%) 100%
    );
    pointer-events: none;
}
.home main .wp-block-cover:has(:is(h1, h2)) > .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}
