/* Keyboard access, search and responsive corrections. */
/* Keep full-width backgrounds while controlling the inner content measure. */
:root { --content-gutter:var(--site-gutter); --content-max:none; }
.site-main.content:not(.has-section-pattern),
.site-main .pattern-hero,
.site-main .pattern-content,
.site-main .listing-pattern-content,
.site-main .home-events-section,
.site-main .home-news-section,
.site-main .home-pattern-content {
    padding-inline:var(--content-gutter);
}
.site-main .wrap { max-width:var(--content-max); }
:where(a,button,input,select,textarea,summary):focus-visible  {
    outline:3px solid #b44b00;
    outline-offset:4px
}
.site-footer :focus-visible  {
    outline-color:#fff
}
.skip-link  {
    position:fixed;
    top:8px;
    left:12px;
    z-index:10000;
    transform:translateY(-180%);
    padding:14px 20px;
    background:#fff;
    color:#012e67;
    font-weight:700
}
.skip-link:focus  {
    transform:none
}
[id]  {
    scroll-margin-top:120px
}
.site-main  {
    overflow-wrap:anywhere
}
.site-main a:not(.button)  {
    text-decoration:underline;
    text-underline-offset:.18em
}
.site-main .pattern-link a  {
    color:#08677b
}
.site-main h1  {
    font-size:clamp(30px,5vw,48px);
    line-height:1.15
}
.pattern-hero  {
    height:auto;
    min-height:108px;
    padding-block:24px
}
.pattern-content-row summary  {
    font-size:clamp(26px,4vw,40px)
}
.search-form  {
    max-width:none;
    margin-block:24px
}
.search-form label  {
    display:block;
    font-weight:700;
    margin-bottom:10px
}
.search-form-controls  {
    display:flex;
    flex-wrap:wrap;
    gap:12px
}
.search-form input  {
    flex:1 1 180px;
    min-width:0;
    width:100%;
    background:#fff;
    color:#102f45
}
.search-form input,.search-form button  {
    font:inherit;
    min-height:48px;
    padding:10px 14px;
    border:1px solid #5f7480;
    border-radius:0
}
.search-form button  {
    background:#012e67;
    color:#fff;
    cursor:pointer
}
.site-footer .search-form button  {
    border-color:#fff
}
.footer-search  {
    width:calc(100% - 2 * var(--site-gutter));
    margin:24px auto 0
}
.footer-search .search-form  {
    margin-inline:auto
}
.search-result  {
    padding-block:24px;
    border-bottom:1px solid var(--line)
}
.search-result h2  {
    margin:8px 0 12px;
    font-size:clamp(24px,4vw,32px)
}
.search-result p  {
    line-height:1.65
}
.recovery-links  {
    display:flex;
    flex-wrap:wrap;
    gap:12px 28px;
    padding:0;
    list-style:none
}
.recovery-links a,.pagination a,.pagination .current  {
    display:inline-block;
    padding:12px 4px
}
.site-footer .footer-site-title>span  {
    white-space:normal
}
.site-footer .footer-contacts  {
    overflow-wrap:anywhere;
    min-width:0
}
.site-footer .footer-contacts p  {
    color:#d7dedb
}
.site-footer nav a  {
    display:inline-flex;
    align-items:center;
    min-height:32px
}
.search-form input::placeholder  {
    color:#5f7480;
    opacity:1
}
.site-main pre  {
    max-width:100%;
    overflow-x:auto
}
.site-main iframe,.site-main video  {
    max-width:100%
}
.page-links a,.page-links .post-page-numbers  {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    min-height:32px;
    padding:4px
}
@media(max-width:900px)  {
    /* The first layer is the full-height light overlay; only the image layer is scaled. */
  .site-main  {
        background-size:100% 100%,100% auto;
        background-position:center top;
        background-repeat:no-repeat;
        background-attachment:scroll
    }
}
@media(max-width:600px)  {
    .contact-columns  {
        gap:24px!important
    }
    .pattern-hero  {
        height:auto;
        min-height:86px
    }
}
@media(prefers-reduced-motion:reduce)  {
    html  {
        scroll-behavior:auto
    }
    *,*::before,*::after  {
        animation:none!important;
        transition:none!important
    }
    .home-event-row:hover,.home-event-row:focus-within,.home-news-card:hover,.home-news-card:focus-within  {
        transform:none
    }
    .site-main  {
        background-attachment:scroll
    }
}
