.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* The footer (partials/footer.html) and its pickers: used by every page, the landing page included. Tokens come from site.css. */
.site-footer { container-type: inline-size; padding: 0; text-align: left; color: #FFFFFF; font-size: 13px; }
.site-footer .ridge { display: block; width: 100%; height: clamp(56px, 8vw, 116px); margin-bottom: -1px; fill: var(--foot); }
.site-footer .base { background: var(--foot); padding: clamp(24px, 3vw, 40px) 24px calc(32px + env(safe-area-inset-bottom)); }
.site-footer .wrap { max-width: 1200px; margin: 0 auto; padding: 0; }
.site-footer a { color: #FFFFFF; }
.site-footer :focus-visible { outline-color: #FFFFFF; }
.site-footer .cols { display: flex; flex-wrap: wrap; gap: 40px 64px; justify-content: space-between; }
.site-footer .brandcol { flex: 1 1 280px; min-width: 0; }
.site-footer .brandcol .vw { font-size: 60px; }
.site-footer .tag { max-width: 300px; margin: 16px 0 0; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .88); }
.site-footer nav.cols2 { flex: 2 1 520px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 28px 32px; }
.site-footer h3 { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .75); font-family: inherit; }
.site-footer h3 .vw { font-size: 17px; }
.site-footer .links { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.site-footer .links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; overflow-wrap: anywhere; }
.site-footer .links a:hover, .site-footer .links a:focus-visible, .site-footer .links a[aria-current="page"] { text-decoration: underline; }
.site-footer .credits { font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .88); display: flex; flex-direction: column; gap: 10px; }
.site-footer .credits p { margin: 0; color: inherit; }
.site-footer .credits a { display: inline-block; padding: 8px 0; margin: -8px 0; }
.site-footer .legal { margin-top: clamp(36px, 4vw, 56px); padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: 13px; color: rgba(255, 255, 255, .8); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.site-footer .legal p { margin: 0; color: inherit; }
.lang, .picker { position: relative; display: inline-block; color: #FFFFFF; }
.lang[hidden], .picker[hidden] { display: none; }
.lang select, .picker select { appearance: none; -webkit-appearance: none; min-height: 44px; padding: 0 38px 0 40px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 10px; background: transparent; color: #FFFFFF; font: 600 15px var(--font); }
.lang select option, .picker select option { color: #111111; }
.lang svg, .picker svg { position: absolute; top: 50%; margin-top: -9px; pointer-events: none; }
.lang .globe, .picker .globe { left: 12px; }
.lang .chev, .picker .chev { right: 14px; }

/* Theme picker: white-on-green in the footer (.picker), ink-on-page in the header (.picker.hdr). */
.picker select { padding-left: 38px; padding-right: 32px; cursor: pointer; }
.picker .chev { right: 10px; }
