/* Outliyr site chrome: logo treatment, dark-mode reactions, footer, back-to-top.
 * Served as a static, filemtime-versioned file (was an inline <style> of ~73 KB
 * on every page, including the 27 KB logo data URI emitted twice).
 * The white logo is a base64 data URI so the swap never depends on the
 * Content-Type the server sends for .svg assets (2026-09-05 broken-logo defect);
 * tests/DarkModeLogoDataUriTest.php asserts it decodes to the committed SVG.
 */
/* 0. Kill the global wp-block-image drop-shadow + radius on LOGOS.
     custom-styles.css line ~1330 applies
         box-shadow: 0 0 40px rgb(0 0 0/20%);
         border-radius: 5px;
     to every `.wp-block-image:not(.is-style-rounded)>img`, which is
     correct for article body images but wrong for logos. Target the
     header `.site-logo img` plus any image-block sitting inside the
     footer (which in practice is only the footer logo). */
.site-logo img,
.site-logo img.is-logo-image,
.site-footer .wp-block-image > img,
img.is-logo-image {
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Footer logo size cap. The footer-widget logo block ships as
   `wp-block-image size-full` (the 512px source), which rendered ~5x too
   large below the footer. Constrain to a sane footer size; header logos
   above are unaffected (they are `.site-logo`, not `.site-footer`). */
.site-footer .wp-block-image > img {
	max-width: 130px !important;
	height: auto !important;
}

/* 1. Logo swap under dark theme. The light-mode logo (black text on transparent)
     is set via the Customizer; we replace its src with the white-text SVG. */
html[data-theme="dark"] .site-logo img.is-logo-image,
html[data-theme="dark"] .site-logo.mobile-header-logo img.is-logo-image,
html[data-theme="dark"] .outliyr-site-footer .osf-logo img,
body.outliyr-public-dark .outliyr-site-footer .osf-logo img {
	content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xNDYuMTAyIC0zMy4xMDQgNjQ2LjEwMiAxNDAuNTc4IiB4bWxuczpieD0iaHR0cHM6Ly9ib3h5LXN2Zy5jb20iIHdpZHRoPSI2NDYuMTAycHgiIGhlaWdodD0iMTQwLjU3OHB4Ij48ZGVmcz48Yng6ZXhwb3J0PjxieDpmaWxlIGZvcm1hdD0ic3ZnIiBwYXRoPSJPdXRsaXlyLUxvZ28tMjAyNS1CbGFjay1UZXh0LnN2ZyIvPjxieDpmaWxlIGZvcm1hdD0ic3ZnIiBleGNsdWRlZD0idHJ1ZSIvPjwvYng6ZXhwb3J0PjxieDpleHBvcnQ+PGJ4OmZpbGUgZm9ybWF0PSJzdmciIGV4Y2x1ZGVkPSJ0cnVlIi8+PC9ieDpleHBvcnQ+PC9kZWZzPjxkZXNjPkNyZWF0ZWQgd2l0aCBGYWJyaWMuanMgNS4yLjQ8L2Rlc2M+PGcgaWQ9IjMwODQ5OThlLWU2MjItNDYxYy1iM2FkLTkwMDhjMzg3NWMyMSIgdHJhbnNmb3JtPSJtYXRyaXgoMC40NjI5NjIsIDAsIDAsIDAuNDYyOTYyLCAyNTEuOTUxMTIzLCAzNC42OTIxMzQpIi8+PGcgaWQ9ImEwZTM0YzY3LTdmZWMtNDVjMC1iYTA1LTBlNmY3YTJhYzFiZCIgdHJhbnNmb3JtPSJtYXRyaXgoMC40NjI5NjMsIDAsIDAsIDAuNDYyOTYzLCAyNTEuOTUxMTIzLCAzNC42OTIxMzQpIi8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMS41MzI0MDcsIDAsIDAsIDEuNTMyNDA3LCAyNTIuNzI4ODk0LCAzNC40NDIxMzQpIj48ZyBzdHlsZT0iIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjYxIDAgMCAwLjYxIC0xNDYuNDggMCkiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTSA1MS41MTU2MjUgLTUwLjgyODEyNSBDIDUyLjgxNjQwNiAtNDkuMjAzMTI1IDUzLjc4NTE1NiAtNDYuOTkyMTg4IDU0LjQyMTg3NSAtNDQuMjAzMTI1IEMgNTQuNjkxNDA2IC00Mi44OTA2MjUgNTQuOTA2MjUgLTQxLjQyMTg3NSA1NS4wNjI1IC0zOS43OTY4NzUgQyA1NS4yMTg3NSAtMzguMTcxODc1IDU1LjI5Njg3NSAtMzYuNDM3NSA1NS4yOTY4NzUgLTM0LjU5Mzc1IEwgNTUuMjk2ODc1IC0yMS4xODc1IEMgNTUuMjk2ODc1IC0xOS4yODkwNjIgNTUuMjE4NzUgLTE3LjUzMTI1IDU1LjA2MjUgLTE1LjkwNjI1IEMgNTQuOTA2MjUgLTE0LjI4MTI1IDU0LjY5MTQwNiAtMTIuODEyNSA1NC40MjE4NzUgLTExLjUgQyA1My43ODUxNTYgLTguNzUgNTIuODE2NDA2IC02LjUxOTUzMSA1MS41MTU2MjUgLTQuODEyNSBDIDUwLjEwOTM3NSAtMy4wNTA3ODEgNDguMzQ3NjU2IC0xLjgwNDY4OCA0Ni4yMzQzNzUgLTEuMDc4MTI1IEMgNDQuMDY2NDA2IC0wLjMxNjQwNiA0MS41MTU2MjUgMC4wNjI1IDM4LjU3ODEyNSAwLjA2MjUgTCAyMi4wNjI1IDAuMDYyNSBDIDE5LjA4MjAzMSAwLjA2MjUgMTYuNTU0Njg4IC0wLjMxNjQwNiAxNC40ODQzNzUgLTEuMDc4MTI1IEMgMTIuMzU5Mzc1IC0xLjgwNDY4OCAxMC41OTc2NTYgLTMuMDcwMzEyIDkuMjAzMTI1IC00Ljg3NSBDIDcuODQ3NjU2IC02LjYzMjgxMiA2Ljg3ODkwNiAtOC44NDM3NSA2LjI5Njg3NSAtMTEuNSBDIDUuOTg0Mzc1IC0xMi44MTI1IDUuNzU3ODEyIC0xNC4yODEyNSA1LjYyNSAtMTUuOTA2MjUgQyA1LjQ4ODI4MSAtMTcuNTMxMjUgNS40MjE4NzUgLTE5LjI4OTA2MiA1LjQyMTg3NSAtMjEuMTg3NSBMIDUuNDIxODc1IC0zNC41OTM3NSBDIDUuNDIxODc1IC0zOC40Njg3NSA1LjcxMDkzOCAtNDEuNjcxODc1IDYuMjk2ODc1IC00NC4yMDMxMjUgQyA2Ljg3ODkwNiAtNDYuODU5Mzc1IDcuODQ3NjU2IC00OS4wNjY0MDYgOS4yMDMxMjUgLTUwLjgyODEyNSBDIDEwLjU5NzY1NiAtNTIuNTQ2ODc1IDEyLjM1OTM3NSAtNTMuODEyNSAxNC40ODQzNzUgLTU0LjYyNSBDIDE2LjY0ODQzOCAtNTUuMzk0NTMxIDE5LjE3NTc4MSAtNTUuNzgxMjUgMjIuMDYyNSAtNTUuNzgxMjUgTCAzOC41NzgxMjUgLTU1Ljc4MTI1IEMgNDEuNTE1NjI1IC01NS43ODEyNSA0NC4wNjY0MDYgLTU1LjM5NDUzMSA0Ni4yMzQzNzUgLTU0LjYyNSBDIDQ4LjM0NzY1NiAtNTMuODEyNSA1MC4xMDkzNzUgLTUyLjU0Njg3NSA1MS41MTU2MjUgLTUwLjgyODEyNSBaIE0gNDUuMjE4NzUgLTM1LjczNDM3NSBDIDQ1LjIxODc1IC0zNi43MzQzNzUgNDUuMTkxNDA2IC0zNy42NDg0MzggNDUuMTQwNjI1IC0zOC40ODQzNzUgQyA0NS4wOTc2NTYgLTM5LjMxNjQwNiA0NS4wMDc4MTIgLTQwLjA3MDMxMiA0NC44NzUgLTQwLjc1IEMgNDQuNjk1MzEyIC00Mi4wMDc4MTIgNDQuMzEyNSAtNDMuMDIzNDM4IDQzLjcxODc1IC00My43OTY4NzUgQyA0My4yNjk1MzEgLTQ0LjQyMTg3NSA0Mi41OTc2NTYgLTQ0LjkxNDA2MiA0MS43MDMxMjUgLTQ1LjI4MTI1IEMgNDEuMjQyMTg4IC00NS40MTQwNjIgNDAuNzM0Mzc1IC00NS41MjM0MzggNDAuMTcxODc1IC00NS42MDkzNzUgQyAzOS42MDkzNzUgLTQ1LjcwMzEyNSAzOC45Njg3NSAtNDUuNzUgMzguMjUgLTQ1Ljc1IEwgMjIuNDA2MjUgLTQ1Ljc1IEMgMjEuNjg3NSAtNDUuNzUgMjEuMDM5MDYyIC00NS43MDMxMjUgMjAuNDY4NzUgLTQ1LjYwOTM3NSBDIDE5LjkwNjI1IC00NS41MjM0MzggMTkuMzk4NDM4IC00NS40MTQwNjIgMTguOTUzMTI1IC00NS4yODEyNSBDIDE4LjA0Njg3NSAtNDQuOTE0MDYyIDE3LjM2NzE4OCAtNDQuNDIxODc1IDE2LjkyMTg3NSAtNDMuNzk2ODc1IEMgMTYuNjQ4NDM4IC00My40Mjk2ODggMTYuNDIxODc1IC00Mi45ODgyODEgMTYuMjM0Mzc1IC00Mi40Njg3NSBDIDE2LjA1NDY4OCAtNDEuOTU3MDMxIDE1Ljg5ODQzOCAtNDEuMzgyODEyIDE1Ljc2NTYyNSAtNDAuNzUgQyAxNS42Nzk2ODggLTQwLjA3MDMxMiAxNS42MDE1NjIgLTM5LjMxNjQwNiAxNS41MzEyNSAtMzguNDg0Mzc1IEMgMTUuNDY4NzUgLTM3LjY0ODQzOCAxNS40Mzc1IC0zNi43MzQzNzUgMTUuNDM3NSAtMzUuNzM0Mzc1IEwgMTUuNDM3NSAtMTkuOTY4NzUgQyAxNS40Mzc1IC0xOC45NzY1NjIgMTUuNDY4NzUgLTE4LjA2MjUgMTUuNTMxMjUgLTE3LjIxODc1IEMgMTUuNjAxNTYyIC0xNi4zODI4MTIgMTUuNjc5Njg4IC0xNS42Mjg5MDYgMTUuNzY1NjI1IC0xNC45NTMxMjUgQyAxNS44OTg0MzggLTE0LjM2NzE4OCAxNi4wNTQ2ODggLTEzLjgxNjQwNiAxNi4yMzQzNzUgLTEzLjI5Njg3NSBDIDE2LjQyMTg3NSAtMTIuNzczNDM4IDE2LjY0ODQzOCAtMTIuMzM1OTM4IDE2LjkyMTg3NSAtMTEuOTg0Mzc1IEMgMTcuMzY3MTg4IC0xMS4yNTM5MDYgMTguMDQ2ODc1IC0xMC43NTM5MDYgMTguOTUzMTI1IC0xMC40ODQzNzUgQyAxOS43NjU2MjUgLTEwLjE3MTg3NSAyMC45MTQwNjIgLTEwLjAxNTYyNSAyMi40MDYyNSAtMTAuMDE1NjI1IEwgMzguMjUgLTEwLjAxNTYyNSBDIDM5LjczODI4MSAtMTAuMDE1NjI1IDQwLjg5MDYyNSAtMTAuMTcxODc1IDQxLjcwMzEyNSAtMTAuNDg0Mzc1IEMgNDIuNTk3NjU2IC0xMC43NTM5MDYgNDMuMjY5NTMxIC0xMS4yNTM5MDYgNDMuNzE4NzUgLTExLjk4NDM3NSBDIDQ0LjI1NzgxMiAtMTIuNjYwMTU2IDQ0LjY0NDUzMSAtMTMuNjQ4NDM4IDQ0Ljg3NSAtMTQuOTUzMTI1IEMgNDUuMDA3ODEyIC0xNS42Mjg5MDYgNDUuMDk3NjU2IC0xNi4zODI4MTIgNDUuMTQwNjI1IC0xNy4yMTg3NSBDIDQ1LjE5MTQwNiAtMTguMDYyNSA0NS4yMTg3NSAtMTguOTc2NTYyIDQ1LjIxODc1IC0xOS45Njg3NSBaIE0gNDUuMjE4NzUgLTM1LjczNDM3NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMwLjM2LCAyNy44NikiIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMTsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogNDsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyBmaWxsOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ii8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjEgMCAwIDAuNjEgLTkyLjc1IC0wLjAyKSI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNIDUyLjE4NzUgLTU1Ljc4MTI1IEMgNTIuNSAtNTUuNzgxMjUgNTIuODkwNjI1IC01NS42NTYyNSA1My4zNTkzNzUgLTU1LjQwNjI1IEMgNTMuODM1OTM4IC01NS4xNTYyNSA1NC4wNzgxMjUgLTU0LjUwNzgxMiA1NC4wNzgxMjUgLTUzLjQ2ODc1IEwgNTQuMDc4MTI1IC0yMS4xODc1IEMgNTQuMDc4MTI1IC0xOS4yODkwNjIgNTQuMDA3ODEyIC0xNy41MzEyNSA1My44NzUgLTE1LjkwNjI1IEMgNTMuNzM4MjgxIC0xNC4yODEyNSA1My41MTU2MjUgLTEyLjgxMjUgNTMuMjAzMTI1IC0xMS41IEMgNTIuNTY2NDA2IC04LjcwNzAzMSA1MS41OTc2NTYgLTYuNSA1MC4yOTY4NzUgLTQuODc1IEMgNDguOTg0Mzc1IC0zLjE1NjI1IDQ3LjIyMjY1NiAtMS44OTA2MjUgNDUuMDE1NjI1IC0xLjA3ODEyNSBDIDQyLjk4NDM3NSAtMC4zNTkzNzUgNDAuNDI5Njg4IDAgMzcuMzU5Mzc1IDAgTCAyMi4xNDA2MjUgMCBDIDE5LjA2NjQwNiAwIDE2LjUxNTYyNSAtMC4zNTkzNzUgMTQuNDg0Mzc1IC0xLjA3ODEyNSBDIDEzLjQ0MTQwNiAtMS40ODQzNzUgMTIuNDY4NzUgLTIuMDAzOTA2IDExLjU2MjUgLTIuNjQwNjI1IEMgMTAuNjY0MDYyIC0zLjI3MzQzOCA5Ljg5ODQzOCAtNC4wMTk1MzEgOS4yNjU2MjUgLTQuODc1IEMgNy44NjcxODggLTYuNTkzNzUgNi44Nzg5MDYgLTguODAwNzgxIDYuMjk2ODc1IC0xMS41IEMgNS45ODQzNzUgLTEyLjgxMjUgNS43NTc4MTIgLTE0LjI4MTI1IDUuNjI1IC0xNS45MDYyNSBDIDUuNDg4MjgxIC0xNy41MzEyNSA1LjQyMTg3NSAtMTkuMjg5MDYyIDUuNDIxODc1IC0yMS4xODc1IEwgNS40MjE4NzUgLTUzLjQ2ODc1IEMgNS40MjE4NzUgLTU0LjUwNzgxMiA1LjY2NDA2MiAtNTUuMTU2MjUgNi4xNTYyNSAtNTUuNDA2MjUgQyA2LjY1NjI1IC01NS42NTYyNSA3LjA2MjUgLTU1Ljc4MTI1IDcuMzc1IC01NS43ODEyNSBMIDEzLjUzMTI1IC01NS43ODEyNSBDIDEzLjg1MTU2MiAtNTUuNzgxMjUgMTQuMjUgLTU1LjY1NjI1IDE0LjcxODc1IC01NS40MDYyNSBDIDE1LjE5NTMxMiAtNTUuMTU2MjUgMTUuNDM3NSAtNTQuNTA3ODEyIDE1LjQzNzUgLTUzLjQ2ODc1IEwgMTUuNDM3NSAtMjAuMTA5Mzc1IEMgMTUuNDM3NSAtMTkuMTA5Mzc1IDE1LjQ2ODc1IC0xOC4xNjQwNjIgMTUuNTMxMjUgLTE3LjI4MTI1IEMgMTUuNjAxNTYyIC0xNi40MDYyNSAxNS42Nzk2ODggLTE1LjY1NjI1IDE1Ljc2NTYyNSAtMTUuMDMxMjUgQyAxNi4wMzUxNTYgLTEzLjgxMjUgMTYuNDIxODc1IC0xMi43OTY4NzUgMTYuOTIxODc1IC0xMS45ODQzNzUgQyAxNy40NjA5MzggLTExLjMwNDY4OCAxOC4xNDA2MjUgLTEwLjgwNDY4OCAxOC45NTMxMjUgLTEwLjQ4NDM3NSBDIDE5LjM5ODQzOCAtMTAuMzQ3NjU2IDE5LjkxNDA2MiAtMTAuMjM0Mzc1IDIwLjUgLTEwLjE0MDYyNSBDIDIxLjA5Mzc1IC0xMC4wNTQ2ODggMjEuNzUgLTEwLjAxNTYyNSAyMi40Njg3NSAtMTAuMDE1NjI1IEwgMzcuMDkzNzUgLTEwLjAxNTYyNSBDIDM3LjgxMjUgLTEwLjAxNTYyNSAzOC40NjA5MzggLTEwLjA1NDY4OCAzOS4wNDY4NzUgLTEwLjE0MDYyNSBDIDM5LjY0MDYyNSAtMTAuMjM0Mzc1IDQwLjE2MDE1NiAtMTAuMzQ3NjU2IDQwLjYwOTM3NSAtMTAuNDg0Mzc1IEMgNDEuNDIxODc1IC0xMC44MDQ2ODggNDIuMDk3NjU2IC0xMS4zMDQ2ODggNDIuNjQwNjI1IC0xMS45ODQzNzUgQyA0Mi44NjcxODggLTEyLjMzNTkzOCA0My4wODIwMzEgLTEyLjc3MzQzOCA0My4yODEyNSAtMTMuMjk2ODc1IEMgNDMuNDg4MjgxIC0xMy44MTY0MDYgNDMuNjMyODEyIC0xNC4zOTQ1MzEgNDMuNzE4NzUgLTE1LjAzMTI1IEMgNDMuODEyNSAtMTUuNjU2MjUgNDMuODkwNjI1IC0xNi40MDYyNSA0My45NTMxMjUgLTE3LjI4MTI1IEMgNDQuMDIzNDM4IC0xOC4xNjQwNjIgNDQuMDYyNSAtMTkuMTA5Mzc1IDQ0LjA2MjUgLTIwLjEwOTM3NSBMIDQ0LjA2MjUgLTUzLjQ2ODc1IEMgNDQuMDYyNSAtNTQuNTA3ODEyIDQ0LjI5Njg3NSAtNTUuMTU2MjUgNDQuNzY1NjI1IC01NS40MDYyNSBDIDQ1LjI0MjE4OCAtNTUuNjU2MjUgNDUuNjQwNjI1IC01NS43ODEyNSA0NS45NTMxMjUgLTU1Ljc4MTI1IFogTSA1Mi4xODc1IC01NS43ODEyNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI5Ljc1LCAyNy44OSkiIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMTsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogNDsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyBmaWxsOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ii8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjEgMCAwIDAuNjEgLTM5LjM3IC0wLjAyKSI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNIDUyLjE4NzUgLTU1Ljc4MTI1IEMgNTIuNSAtNTUuNzgxMjUgNTIuOTA2MjUgLTU1LjY1NjI1IDUzLjQwNjI1IC01NS40MDYyNSBDIDUzLjkwNjI1IC01NS4xNTYyNSA1NC4xNTYyNSAtNTQuNTA3ODEyIDU0LjE1NjI1IC01My40Njg3NSBMIDU0LjE1NjI1IC00OC4xODc1IEMgNTQuMTU2MjUgLTQ3LjA2MjUgNTMuOTA2MjUgLTQ2LjM3NSA1My40MDYyNSAtNDYuMTI1IEMgNTIuOTA2MjUgLTQ1Ljg3NSA1Mi41IC00NS43NSA1Mi4xODc1IC00NS43NSBMIDM0Ljc5Njg3NSAtNDUuNzUgTCAzNC43OTY4NzUgLTIuMjk2ODc1IEMgMzQuNzk2ODc1IC0xLjI2NTYyNSAzNC41NTQ2ODggLTAuNjI1IDM0LjA3ODEyNSAtMC4zNzUgQyAzMy42MDkzNzUgLTAuMTI1IDMzLjIxMDkzOCAwIDMyLjg5MDYyNSAwIEwgMjYuNjcxODc1IDAgQyAyNi4zOTg0MzggMCAyNi4wMTU2MjUgLTAuMTI1IDI1LjUxNTYyNSAtMC4zNzUgQyAyNS4wMjM0MzggLTAuNjI1IDI0Ljc4MTI1IC0xLjI2NTYyNSAyNC43ODEyNSAtMi4yOTY4NzUgTCAyNC43ODEyNSAtNDUuNzUgTCA3LjM3NSAtNDUuNzUgQyA3LjA2MjUgLTQ1Ljc1IDYuNjU2MjUgLTQ1Ljg3NSA2LjE1NjI1IC00Ni4xMjUgQyA1LjY2NDA2MiAtNDYuMzc1IDUuNDIxODc1IC00Ny4wNjI1IDUuNDIxODc1IC00OC4xODc1IEwgNS40MjE4NzUgLTUzLjQ2ODc1IEMgNS40MjE4NzUgLTU0LjUwNzgxMiA1LjY2NDA2MiAtNTUuMTU2MjUgNi4xNTYyNSAtNTUuNDA2MjUgQyA2LjY1NjI1IC01NS42NTYyNSA3LjA2MjUgLTU1Ljc4MTI1IDcuMzc1IC01NS43ODEyNSBaIE0gNTIuMTg3NSAtNTUuNzgxMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOS43OSwgMjcuODkpIiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtZGFzaG9mZnNldDogMDsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLW1pdGVybGltaXQ6IDQ7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsgZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpOyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjYxIDAgMCAwLjYxIDExLjY0IDApIj48cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0gNDQuNDY4NzUgLTEwLjAxNTYyNSBDIDQ0Ljc4MTI1IC0xMC4wMTU2MjUgNDUuMTcxODc1IC05Ljg3ODkwNiA0NS42NDA2MjUgLTkuNjA5Mzc1IEMgNDYuMTE3MTg4IC05LjMzNTkzOCA0Ni4zNTkzNzUgLTguNjg3NSA0Ni4zNTkzNzUgLTcuNjU2MjUgTCA0Ni4zNTkzNzUgLTIuMjk2ODc1IEMgNDYuMzU5Mzc1IC0xLjI2NTYyNSA0Ni4xMTcxODggLTAuNjEzMjgxIDQ1LjY0MDYyNSAtMC4zNDM3NSBDIDQ1LjE3MTg3NSAtMC4wNzAzMTI1IDQ0Ljc4MTI1IDAuMDYyNSA0NC40Njg3NSAwLjA2MjUgTCAyMi4xNDA2MjUgMC4wNjI1IEMgMTkuMTYwMTU2IDAuMDYyNSAxNi42Mjg5MDYgLTAuMzE2NDA2IDE0LjU0Njg3NSAtMS4wNzgxMjUgQyAxMi40Mjk2ODggLTEuODA0Njg4IDEwLjY3MTg3NSAtMy4wNzAzMTIgOS4yNjU2MjUgLTQuODc1IEMgNy45NjA5MzggLTYuNSA2Ljk5MjE4OCAtOC43MDcwMzEgNi4zNTkzNzUgLTExLjUgQyA1LjczNDM3NSAtMTQuMjU3ODEyIDUuNDIxODc1IC0xNy40ODgyODEgNS40MjE4NzUgLTIxLjE4NzUgTCA1LjQyMTg3NSAtNTMuNDA2MjUgQyA1LjQyMTg3NSAtNTQuNDg4MjgxIDUuNjY0MDYyIC01NS4xNTYyNSA2LjE1NjI1IC01NS40MDYyNSBDIDYuNjU2MjUgLTU1LjY1NjI1IDcuMDYyNSAtNTUuNzgxMjUgNy4zNzUgLTU1Ljc4MTI1IEwgMTMuNjA5Mzc1IC01NS43ODEyNSBDIDEzLjg3ODkwNiAtNTUuNzgxMjUgMTQuMjU3ODEyIC01NS42NTYyNSAxNC43NSAtNTUuNDA2MjUgQyAxNS4yNSAtNTUuMTU2MjUgMTUuNSAtNTQuNDg4MjgxIDE1LjUgLTUzLjQwNjI1IEwgMTUuNSAtMjAuMDMxMjUgQyAxNS41IC0xOS4wMzkwNjIgMTUuNTE5NTMxIC0xOC4xMTMyODEgMTUuNTYyNSAtMTcuMjUgQyAxNS42MTMyODEgLTE2LjM5NDUzMSAxNS43MDcwMzEgLTE1LjYyODkwNiAxNS44NDM3NSAtMTQuOTUzMTI1IEMgMTYuMDE5NTMxIC0xMy43MzQzNzUgMTYuMzk4NDM4IC0xMi43NDIxODggMTYuOTg0Mzc1IC0xMS45ODQzNzUgQyAxNy40NDE0MDYgLTExLjI1MzkwNiAxOC4wOTc2NTYgLTEwLjc1MzkwNiAxOC45NTMxMjUgLTEwLjQ4NDM3NSBDIDE5Ljg1OTM3NSAtMTAuMTcxODc1IDIxLjAzMTI1IC0xMC4wMTU2MjUgMjIuNDY4NzUgLTEwLjAxNTYyNSBaIE0gNDQuNDY4NzUgLTEwLjAxNTYyNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI1Ljg5LCAyNy44NikiIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMTsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogNDsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyBmaWxsOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ii8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjEsIDAsIDAsIDAuMzY0Njg3LCA1MC44Mzk5OTksIDYuODQ5NzYpIiBzdHlsZT0iIj48cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0gMTMuNTMxMjUgLTU1Ljc4MTI1IEMgMTMuODAwNzgxIC01NS43ODEyNSAxNC4xODc1IC01NS42NDQ1MzEgMTQuNjg3NSAtNTUuMzc1IEMgMTUuMTg3NSAtNTUuMTAxNTYyIDE1LjQzNzUgLTU0LjQ0NTMxMiAxNS40Mzc1IC01My40MDYyNSBMIDE1LjQzNzUgLTIuMjk2ODc1IEMgMTUuNDM3NSAtMS4yNjU2MjUgMTUuMTg3NSAtMC42MTMyODEgMTQuNjg3NSAtMC4zNDM3NSBDIDE0LjE4NzUgLTAuMDcwMzEyNSAxMy44MDA3ODEgMC4wNjI1IDEzLjUzMTI1IDAuMDYyNSBMIDcuMzEyNSAwLjA2MjUgQyA3LjAzOTA2MiAwLjA2MjUgNi42NTYyNSAtMC4wNzAzMTI1IDYuMTU2MjUgLTAuMzQzNzUgQyA1LjY2NDA2MiAtMC42MTMyODEgNS40MjE4NzUgLTEuMjY1NjI1IDUuNDIxODc1IC0yLjI5Njg3NSBMIDUuNDIxODc1IC01My40MDYyNSBDIDUuNDIxODc1IC01NC40NDUzMTIgNS42NjQwNjIgLTU1LjEwMTU2MiA2LjE1NjI1IC01NS4zNzUgQyA2LjY1NjI1IC01NS42NDQ1MzEgNy4wMzkwNjIgLTU1Ljc4MTI1IDcuMzEyNSAtNTUuNzgxMjUgWiBNIDEzLjUzMTI1IC01NS43ODEyNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwLjQzLCAyNy44NikiIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMTsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogNDsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyBmaWxsOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ii8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjEgMCAwIDAuNjEgOTMuMjIgLTAuMDIpIj48cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0gNTUuNSAtNTUuNzgxMjUgQyA1Ni4wOTM3NSAtNTUuNzgxMjUgNTYuNSAtNTUuNDg0Mzc1IDU2LjcxODc1IC01NC44OTA2MjUgQyA1Ni44NTE1NjIgLTU0LjM0NzY1NiA1Ni43ODUxNTYgLTUzLjgzMjAzMSA1Ni41MTU2MjUgLTUzLjM0Mzc1IEwgMzYuMDE1NjI1IC0xNy4xMjUgTCAzNi4wMTU2MjUgLTIuMjk2ODc1IEMgMzYuMDE1NjI1IC0xLjI2NTYyNSAzNS43NjU2MjUgLTAuNjI1IDM1LjI2NTYyNSAtMC4zNzUgQyAzNC43NjU2MjUgLTAuMTI1IDM0LjM3ODkwNiAwIDM0LjEwOTM3NSAwIEwgMjcuODkwNjI1IDAgQyAyNy42MTcxODggMCAyNy4yMzQzNzUgLTAuMTI1IDI2LjczNDM3NSAtMC4zNzUgQyAyNi4yMzQzNzUgLTAuNjI1IDI1Ljk4NDM3NSAtMS4yNjU2MjUgMjUuOTg0Mzc1IC0yLjI5Njg3NSBMIDI1Ljk4NDM3NSAtMTcuMTI1IEwgNS42ODc1IC01My4zNDM3NSBDIDUuNDE0MDYyIC01My44MzIwMzEgNS4zNDc2NTYgLTU0LjMyODEyNSA1LjQ4NDM3NSAtNTQuODI4MTI1IEMgNS42MTcxODggLTU1LjQ2MDkzOCA2LjAyMzQzOCAtNTUuNzgxMjUgNi43MDMxMjUgLTU1Ljc4MTI1IEwgMTQuNDIxODc1IC01NS43ODEyNSBDIDE0LjczNDM3NSAtNTUuNzgxMjUgMTUuMDY2NDA2IC01NS42OTUzMTIgMTUuNDIxODc1IC01NS41MzEyNSBDIDE1Ljc4NTE1NiAtNTUuMzc1IDE2LjEwMTU2MiAtNTUuMDIzNDM4IDE2LjM3NSAtNTQuNDg0Mzc1IEwgMzEuMTQwNjI1IC0yNy40MDYyNSBMIDQ2LjAzMTI1IC01NC41NjI1IEMgNDYuMzAwNzgxIC01NS4wNTA3ODEgNDYuNjEzMjgxIC01NS4zNzUgNDYuOTY4NzUgLTU1LjUzMTI1IEMgNDcuMzMyMDMxIC01NS42OTUzMTIgNDcuNjcxODc1IC01NS43ODEyNSA0Ny45ODQzNzUgLTU1Ljc4MTI1IFogTSA1NS41IC01NS43ODEyNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMxLjEsIDI3Ljg5KSIgc3R5bGU9InN0cm9rZTogbm9uZTsgc3Ryb2tlLXdpZHRoOiAxOyBzdHJva2UtZGFzaGFycmF5OiBub25lOyBzdHJva2UtbGluZWNhcDogYnV0dDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IHN0cm9rZS1saW5lam9pbjogbWl0ZXI7IHN0cm9rZS1taXRlcmxpbWl0OiA0OyBmaWxsLXJ1bGU6IG5vbnplcm87IG9wYWNpdHk6IDE7IGZpbGw6IHJnYigyNTUsIDI1NSwgMjU1KTsiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC42MSAwIDAgMC42MSAxNDcuMTMgMCkiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTSAxNS4yNjIgLTExLjczNCBMIDE1LjI2MiAtMTEuMzI3IEMgMTUuMjYyIC0xMS4zNzggMTUuMjYyIC0xMS40MTMgMTUuMjYyIC0xMS40MzcgQyAxNS4yNjIgLTExLjQ1NiAxNS4yNjIgLTExLjQ4OCAxNS4yNjIgLTExLjUzMSBDIDE1LjI2MiAtMTEuNTgxIDE1LjI2MiAtMTEuNjE3IDE1LjI2MiAtMTEuNjQgQyAxNS4yNjIgLTExLjY2IDE1LjI2MiAtMTEuNjkxIDE1LjI2MiAtMTEuNzM0IFogTSAxNi41NDMgMjQuOTU0IEMgMTYuODEzIDI1LjMwOSAxNi45MDYgMjUuODUyIDE2LjgyNCAyNi41NzkgQyAxNi42ODggMjcuNDc3IDE2LjE2OCAyNy45MjMgMTUuMjYyIDI3LjkyMyBMIDcuODA5IDI3LjkyMyBDIDcuMjIzIDI3LjkyMyA2Ljc1IDI3Ljc5IDYuMzg3IDI3LjUxNiBDIDYuMjUgMjcuNDM0IDYuMTI1IDI3LjMwNSA2LjAxMiAyNy4xMjYgQyA1LjkwNiAyNi45MzggNS43ODUgMjYuNzU4IDUuNjUzIDI2LjU3OSBMIC02LjU5NyA0Ljg0NCBMIC0yMC44NzkgNC44NDQgTCAtMjAuODc5IDI1LjU2MyBDIC0yMC44NzkgMjYuNTk0IC0yMS4xMjEgMjcuMjQ3IC0yMS41OTcgMjcuNTE2IEMgLTIyLjA2NiAyNy43OSAtMjIuNDY1IDI3LjkyMyAtMjIuNzg1IDI3LjkyMyBMIC0yOC45NDEgMjcuOTIzIEMgLTI5LjI1NCAyNy45MjMgLTI5LjY2IDI3Ljc5IC0zMC4xNiAyNy41MTYgQyAtMzAuNjUyIDI3LjI0NyAtMzAuODk0IDI2LjU5NCAtMzAuODk0IDI1LjU2MyBMIC0zMC44OTQgLTIuODc0IEMgLTMwLjg5NCAtMy45MDYgLTMwLjY1MiAtNC41NDYgLTMwLjE2IC00Ljc5NiBDIC0yOS42NiAtNS4wNDYgLTI5LjI1NCAtNS4xNzEgLTI4Ljk0MSAtNS4xNzEgTCAwLjUxMiAtNS4xNzEgQyAyLjIxOSAtNS4xNzEgMy40MSAtNS42NjMgNC4wOSAtNi42NTYgQyA0LjgxNyAtNy42NTYgNS4xODQgLTkuMjgxIDUuMTg0IC0xMS41MzEgQyA1LjE4NCAtMTMuNzg4IDQuODE3IC0xNS40MTMgNC4wOSAtMTYuNDA2IEMgMy40MSAtMTcuMzk0IDIuMjE5IC0xNy44OSAwLjUxMiAtMTcuODkgTCAtMjguOTQxIC0xNy44OSBDIC0yOS4yNTQgLTE3Ljg5IC0yOS42NiAtMTguMDE1IC0zMC4xNiAtMTguMjY1IEMgLTMwLjY1MiAtMTguNTE1IC0zMC44OTQgLTE5LjE2IC0zMC44OTQgLTIwLjIwMiBMIC0zMC44OTQgLTI1LjU0NiBDIC0zMC44OTQgLTI2LjYyOCAtMzAuNjUyIC0yNy4yOTYgLTMwLjE2IC0yNy41NDYgQyAtMjkuNjYgLTI3Ljc5NiAtMjkuMjU0IC0yNy45MjEgLTI4Ljk0MSAtMjcuOTIxIEwgMi4yNjIgLTI3LjkyMSBDIDYuOTA2IC0yNy45MjEgMTAuMjQ2IC0yNi40NzIgMTIuMjc4IC0yMy41NzcgQyAxNC4yMjMgLTIwLjc4NSAxNS4yMTkgLTE2Ljc2OSAxNS4yNjIgLTExLjUzMSBDIDE1LjIxOSAtNi4zIDE0LjIyMyAtMi4yODUgMTIuMjc4IDAuNTE2IEMgMTAuNTY3IDIuODYgOC4wNDMgNC4yMzUgNC42OTkgNC42NDEgTCAxNi41NDMgMjQuOTU0IFogTSAxNi41NDMgMjQuOTU0IiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtZGFzaG9mZnNldDogMDsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLW1pdGVybGltaXQ6IDQ7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsgZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpOyIvPjwvZz48cGF0aCBkPSJNIDUwLjg5NiAtMTYuMjg0IEwgNTIuMzcyIC0xMi41MjUgTCA1Ni44NjUgLTEyLjQ0NCBMIDUzLjI4NCAtMTAuMDM5IEwgNTQuNTg1IC02LjIyOSBMIDUwLjg5NiAtOC41MDMgTCA0Ny4yMDcgLTYuMjI5IEwgNDguNTA4IC0xMC4wMzkgTCA0NC45MjcgLTEyLjQ0NCBMIDQ5LjQyIC0xMi41MjUgWiIgYng6c2hhcGU9InN0YXIgNTAuODk2IC0xMC43MjYgNi4yNzYgNS41NTggMC40IDUgMUA4YTQ0NGMxNSIgc3R5bGU9ImZpbGw6IHJnYigyNTAsIDE4NSwgMTApOyBmaWxsLXJ1bGU6IG5vbnplcm87IHN0cm9rZTogcmdiKDI1MCwgMTg1LCAxMCk7Ii8+PGcgaWQ9InN2ZzIiIHRyYW5zZm9ybT0ibWF0cml4KDAuMzY1NzMyLCAwLCAwLCAwLjM2NTczMiwgLTI2MS4zNDQ0NDgsIC00OC4xMzAzOTMpIiBzdHlsZT0iIj48ZyBpZD0iZzgiIHRyYW5zZm9ybT0ibWF0cml4KDAuNDg4MjgxLCAwLCAwLCAtMC40ODgyODEsIC0xMzguMjY5NjM2LCAzMTIuODIyNDQ0KSI+PGcgaWQ9ImcxMCIgdHJhbnNmb3JtPSJzY2FsZSgwLjEpIj48cGF0aCBkPSJNIDcwNjcuNiAyNDgwLjAzNSBMIDYwNzkuNTcgMTkwOC40OTkgTCA1MTExLjg5OSAxMzU1LjA3NSBMIDMxNTUuMTkyIDI0ODYuMDIgTCAzMTYwLjE3MSA0NzM4LjIxMyBMIDQxNTguNzI0IDUzMDcuMTYxIEwgNTExNC40MDggNTg1Ny42MDQgTCA2MTA1LjEzNiA1MzAwLjc3MSBMIDcwNDguMzg1IDQ3MzcuMzY5IiBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDEyIi8+PHBhdGggZD0iTSAzMTc3LjE0LDI0OTQuMDcgNTExMCwxMzc4LjE0IDcwNDIuODYsMjQ5NC4wNyBWIDQ3MjUuOTMgTCA1MTEwLDU4NDEuODggMzE3Ny4xNCw0NzI1LjkzIFogTSA1MTEwLDEzMjQuNzMgMzEzMC45MSwyNDY3LjM2IFYgNDc1Mi42NCBMIDUxMTAsNTg5NS4yNyA3MDg5LjA5LDQ3NTIuNjQgViAyNDY3LjM2IEwgNTExMCwxMzI0LjczIiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDE0Ii8+PHBhdGggZD0ibSA2NjIzLjM0LDMyMDUuNTMgLTU5LjQyLDIzOC4wNSAtNTUuNSwtNjAuNzcgaCAtMTc2LjczIHYgNDYuMjQgaCAxNTYuMzUgbCA5OS44NSwxMDkuMzggNDQuNjMsLTE3OC44NSAxMTEuODUsMjkzLjY4IDU3LjI4LC0yNjguMzMgNDEuMiw1Ni44NCAyMjMuMjIsLTAuODIgLTAuMTcsLTQ2LjI0IC0xOTkuNTIsMC43NSAtODguMjYsLTEyMS43NiAtNDYuMjYsMjE2Ljc2IC0xMDguNTIsLTI4NC45MyIgc3R5bGU9ImZpbGw6IzEwMGYwZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGgxNiIvPjxwYXRoIGQ9Im0gMzQ5Ni44NCwzMTIzLjAzIC02OS4xNywzNzkuOTMgLTg0LjMyLC0yNjMuMTcgLTU1LjAzLDE2OS4zMSAtNTQuOTgsLTEwNi44NyBoIC03OS4zMiB2IDQ2LjIzIGggNTEuMTIgbCA5Mi44NiwxODAuNTEgNDUuMDQsLTEzOC42NCA5Ny4wMSwzMDIuNzUgNjMuODQsLTM1MC42MiAyMC43NCw4My4xNyBoIDI2OS4xOCB2IC00Ni4yNCBoIC0yMzMuMDYgbCAtNjMuOTEsLTI1Ni4zNiIgc3R5bGU9ImZpbGw6IzEwMGYwZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGgxOCIvPjxwYXRoIGQ9Im0gNTExMCw1MDMzLjgxIC0xOTUuNDQsLTEzNiA2OC45NywyMjcuOSAtMTg5Ljc0LDE0My44NiAyMzguMDQsNC44NCA3OC4xNywyMjQuOTEgNzguMTcsLTIyNC45MSAyMzguMDcsLTQuODQgLTE4OS43NCwtMTQzLjg2IDY4Ljk0LC0yMjcuOSAtMTk1LjQ0LDEzNiIgc3R5bGU9ImZpbGw6I2ZhYjkwYTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGgyMCIvPjxwYXRoIGQ9Im0gNTE5Mi40OSw0NTE2LjM2IHYgLTgxNS4xNSBsIDU5LjEsMjguMSBjIDAuOTEsMC40MSAxLjUzLDEuNTIgMS41MywyLjczIDUuMjksMjk3LjczIDE1MS45MSw0NTguMzkgMjg3LjIxLDQ1OC4zOSA4OS4wNiwwIDE1Ni4xMiwtMzEuMjEgMTg4LjM0LC00OS45NSAtMC4zOCwwLjM3IDQuNDIsLTAuOTMgMTguODksLTIuMTMgMjYuMDYsLTIuMjIgNTIuOTQsLTEuMzIgNzkuOSwyLjY3IDQuMTYsMC42NyA2Mi41NSwxMS41MSAxMTUuMDgsMjEuMjkgLTExNi44NiwxNTQuMDcgLTM1MC4wNywxODAuMzMgLTM1Mi41NSwxODAuNiBsIC0yOS45OCwzLjE0IDEwMS44NywyNjQuODkgYyAtNDMuNTgsNDAuNSAtMTIxLjczLDQ5LjE2IC0xNTUuMjcsNTEuMDIgbCAtMTMwLjczLC0zNzYuNTEgLTkyLjgsLTIzLjIgLTMuNDcsMjUuNTkgYyAtMTAuNTIsNzcuOTcgLTUzLjU0LDE2Ny44MSAtODcuMTIsMjI4LjUyIHogbSAtNDYuMjQsLTg4OC4yOSB2IDEwNDcuNTcgbCA0Mi4zMSwtNjIuOTMgYyA0LjUyLC02LjcyIDEwNC43MywtMTU3LjAyIDEzMi41NCwtMjkzLjMxIGwgMTkuMyw0LjgzIDEzMy40MiwzODQuMjMgMTYuMiwwLjIyIGMgNi4xNiwtMC4xNiAxNTAuMzksMS4xOCAyMTYuMzksLTc3LjU5IGwgOC43MiwtMTAuNDQgLTkwLjc5LC0yMzYuMSBjIDc2LjIyLC0xMy40IDI3OC40OSwtNjMuNDIgMzc2LjkyLC0yMjYuNTQgbCAxNy4yNCwtMjguNTUgLTMyLjc4LC02LjEzIGMgLTI0LjM1LC00LjU0IC0xNDYuMDUsLTI3LjI1IC0xNTEuNDksLTI4LjA1IC0zMC41LC00LjUxIC02MC45MiwtNS41MSAtOTAuNTcsLTMuMDEgLTIzLjQsMS45NyAtMzIuMDksNC42NiAtMzgsOC4xIC0yOC4wNCwxNi4zNyAtODYuODcsNDMuODIgLTE2NS4zMyw0My44MiAtOTcuMDQsMCAtMjM1LjkzLC0xMjguMTMgLTI0MC45OCwtNDEyLjk5IC0wLjM0LC0xOC45MSAtMTEuMDQsLTM1LjY0IC0yNy45MSwtNDMuNjUgbCAtMTI1LjE5LC01OS40OCIgc3R5bGU9ImZpbGw6IzEwMGYwZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGgyMiIvPjxwYXRoIGQ9Im0gNTE5Mi40OSwyMzk3LjA2IGMgNjguNTIsLTgwLjg2IDI1MS4wOCwtMjU2LjU5IDM1Ni42OSwtMTk0LjIzIDQ2OS40OSwyNzcuNzggNjgwLjY3LDc4Mi45NyA2ODAuNjcsMTA1Mi45OSAwLDE0Ny44NCAtNDUuMTUsMjMyLjQxIC04My4wMiwyNzcuMzMgLTI5LjM5LDM0Ljg2IC03Mi45Nyw1NS41IC0xMTkuNjEsNTYuNjYgbCAtMTU0LjQ4LDMuODEgYyAtMjUuNzUsMC42MyAtNDcuODYsMTguMTEgLTUzLjgxLDQyLjQ4IC04LjY4LDM1LjUxIC05LjE0LDEwOC41NCA4NS4zMiwxOTguNjkgMTEyLjg4LDEwNy43NCAzNzAuMTgsMTU0Ljg4IDQ0NS41NCwxNjYuNjggLTMuNjMsNjcuNDEgLTI0LjczLDEyNC45MiAtMzYuODYsMTUzIC0zMzkuODksLTEyOS44MSAtNTcxLjk0LC0xNDkuMDYgLTcwNy43NiwtMTQyLjA0IC00OS4yOCwyLjU1IC05My43MywxNi4yNCAtMTE1LjU5LDI0LjA1IC0xOS4wNiwtMTguMjggLTM1LjEyLC0zOS4xMSAtNDcuODEsLTYyLjEzIDQ4LjE0LC0xNy4xOSAxNDIuMjksLTYyLjc1IDE0Mi4yOSwtMTU2LjI3IDAsLTE1MC45OSAtMzA4LjM1LC0yNTcuODQgLTM5MS41NywtMjgzLjkyIHogbSAzMDYuNzEsLTI1My42NCBjIC0xNTUuNywwIC0zMzguNzMsMjE5LjY5IC0zNDcuNjYsMjMwLjU3IGwgLTUuMjksNi40IFYgMzU2OC42IGwgMTYuNjEsNC44OCBjIDEwNC4yOSwzMC41OSAzNzQuOTYsMTM0LjE4IDM3NC45NiwyNDQuNiAwLDg2LjQ2IC0xMzIuODcsMTE5LjM3IC0xMzQuMjEsMTE5LjY5IGwgLTI3LjYzLDYuNjMgMTYuMTgsMzQuNDIgYyAxNy4zMywzNi44MyA0MS40Myw2OS40MiA3MS41OSw5Ni44MSBsIDE2LjEyLDE0LjY0IDEzLjY2LC01LjggYyAwLjU0LC0wLjIyIDU0LjIzLC0yMi43NiAxMTQuMDQsLTI1Ljg2IDEwOS41NSwtNS42NiAzNDcuMzgsNS44IDcwOC43MSwxNDYuNzMgbCAxOS4wNCw3LjQxIDkuNzEsLTE3Ljk3IGMgMi4xMSwtMy45IDUxLjU0LC05Ni44MSA1MS41NCwtMjEzLjIgdiAtMjAuMjYgbCAtMjAuMSwtMi42NiBjIC0zLjE5LC0wLjQyIC0zMjEuMDMsLTQzLjQ2IC00NDAuMzEsLTE1Ny4zIC03Ny42MywtNzQuMDkgLTc4LjYxLC0xMjguNDcgLTcyLjMxLC0xNTQuMyAxLC00LjA3IDUuMiwtNy4xIDEwLjAzLC03LjI0IGwgMTU0LjQ3LC0zLjc5IGMgNTkuODUsLTEuNDggMTE1LjkyLC0yOC4xMiAxNTMuODMsLTczLjA3IDQyLjgyLC01MC44MiA5My45LC0xNDUuMzQgOTMuOSwtMzA3LjE0IDAsLTI4MC45OCAtMjE4LjIyLC04MDUuNzYgLTcwMy4zNywtMTA5Mi43NyAtMjMuMTcsLTEzLjcgLTQ3Ljk5LC0xOS42MyAtNzMuNTEsLTE5LjYzIiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDI0Ii8+PHBhdGggZD0ibSA0ODIzLjg1LDI2NzguOTEgYyAtMi45MiwwIC00LjczLDAuMDcgLTUuMjUsMC4wOSBsIDIuMDQsNDYuMiBjIDEuMDQsLTAuMTEgODcuODksLTIuODggMTQ2LjMyLDUzLjMgMzYuNDEsMzQuOTYgNTQuODgsODYuMTcgNTQuODgsMTUyLjI0IHYgMTQwNy4zOSBjIDAsMTM0Ljk5IC0xNTMuOTMsMjkxLjkgLTM1Mi4zOSwyOTEuOSAtMjAyLjk5LDAgLTMwMC4wMSwtMTk4LjIzIC0zMDAuOTYsLTIwMC4yNCBsIC01LjA4LC0xMC42NSAtMTEuNjYsLTIuMTMgYyAtMTIuODgsLTIuMzYgLTMxNC44LC02MS4xMSAtMjY1LjYzLC0zNTQuNSBsIDIuNTMsLTE1LjExIC0xMi45NSwtOC4yMyBjIC0xLjYsLTEuMDIgLTE2MC40NiwtMTAzLjU0IC0xODEuMDYsLTI0Ny45NCAtMTAuMjMsLTcxLjUzIDE1LjM3LC0xNDIuODUgNzYuMDUsLTIxMS45NCBsIC0zNC43MiwtMzAuNTMgYyAtNzAuMDgsNzkuOCAtOTkuMzksMTYzLjY2IC04Ny4wOCwyNDkuMjQgMjAuMzMsMTQxLjQzIDE0OC4wNCwyNDIuMzMgMTg5LjQsMjcxLjYzIC0zOS41MiwyOTEuODkgMjMzLjczLDM3NS41NyAyOTMuNzcsMzkwLjMxIDI0LjM2LDQ0LjY4IDEzMS4zNSwyMTYuMzMgMzM3LjM5LDIxNi4zMyAyMjguMTYsMCAzOTguNjMsLTE3OC41MiAzOTguNjMsLTMzOC4xNCBWIDI5MzAuNzQgYyAwLC03OS4zMyAtMjMuMzgsLTE0MS45MiAtNjkuNDYsLTE4NS45NCAtNjQuNTgsLTYxLjc0IC0xNTIuMzgsLTY1Ljg5IC0xNzQuNzcsLTY1Ljg5IiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDI2Ii8+PHBhdGggZD0ibSA0MzA2LjM2LDI2NzIuOTIgYyAtMTcuNTcsMCAtMzUuMjIsMS43NiAtNTIuNzEsNS42MiAtMTI2LjExLDI3LjgyIC0yMTMuNiw4NS4wOSAtMjYwLjA3LDE3MC4yNCAtNjAuMDQsMTEwLjEyIC0zMi4xLDIzMS43NCAtMjAuMiwyNzEuNjcgLTQsNC41NiAtNy45OCw5LjA1IC0xMS45LDEzLjUxIC01NC42OSw2MS44OCAtMTA2LjM3LDEyMC4zMyAtMTA2LjM3LDI2OS40MiAwLDI0Ni45OSAzNDQuNjksMjk0LjE0IDM1OS4zNywyOTYuMDIgbCA1LjkxLC00NS44NSBjIC0zLjE5LC0wLjQxIC0zMTkuMDUsLTQzLjggLTMxOS4wNSwtMjUwLjE3IDAsLTEzMS41OCA0MS44MiwtMTc4LjkxIDk0Ljc2LC0yMzguOCA2LjksLTcuOCAxMy44OSwtMTUuNyAyMC44OCwtMjMuOTEgbCA4Ljc1LC0xMC4yOCAtNC42OCwtMTIuNzEgYyAtMC40OCwtMS4zNSAtNDguMjcsLTEzNC42MyAxMy4zMiwtMjQ3LjA3IDM5LjgxLC03Mi43NCAxMTYuOTMsLTEyMi4xNCAyMjkuMjQsLTE0Ni45MiAxMjEuNDcsLTI2Ljg4IDI2MC41OSw3MC4zOSAzMDYuODUsMTUxLjgyIDQzLjYyLDc2LjczIDI0LjQ1LDE2MS4zNiAyNC4yOCwxNjIuMiBsIDQ0Ljk0LDEwLjc3IGMgMSwtNC4xNiAyMy44NiwtMTAyLjggLTI5LjAzLC0xOTUuODMgLTQ2LC04MC45NCAtMTczLjU2LC0xNzkuNzMgLTMwNC4yOSwtMTc5LjczIiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDI4Ii8+PHBhdGggZD0ibSA0NDYwLjk5LDIzMTkuNSBjIC04My41LDAgLTE2Ny42Niw1MS41IC0yMTMuMTIsMTMxLjg1IC00OC4yNyw4NS4zNCAtNDEuNTEsMTgyLjkyIDE4LjU1LDI2Ny43MyBsIDM3LjcyLC0yNi43NCBjIC00OS4yOCwtNjkuNTggLTU1LjE0LC0xNDkuMSAtMTYuMDIsLTIxOC4yNCAzOC45MSwtNjguNzkgMTE0LjcxLC0xMTMuMDggMTg0LjQyLC0xMDcuOTUgMTM4LjUyLDEwLjQyIDIwOS4yNSwxMTkuMDUgMjA5Ljk0LDEyMC4xMyBsIDM5LjA5LC0yNC42NyBjIC0zLjMzLC01LjI2IC04My4xOCwtMTI5LjM2IC0yNDUuNTcsLTE0MS41NCAtNSwtMC4zOCAtMTAuMDEsLTAuNTcgLTE1LjAxLC0wLjU3IiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDMwIi8+PHBhdGggZD0ibSA0ODQ3LjM3LDIxNDMuMjggYyAtMTkxLjA1LDAgLTM4MC45MSwxNzUuNDcgLTM4OC44OCwxODIuOTYgbCAzMS41NSwzMy43NyBjIDEuODMsLTEuNyAxODQuNjUsLTE3MC40OSAzNTcuMzMsLTE3MC40OSAxNjAuMDcsMCAxNzUuMDksMTcxLjAxIDE3NS42MywxNzguMjggbCAtMC4wNSw3MjguMDQgaCA0Ni4yMyB2IC03MjkuOCBjIC01LjYzLC03OC4xNCAtNTkuMTMsLTIyMi43NiAtMjIxLjgxLC0yMjIuNzYiIHN0eWxlPSJmaWxsOiMxMDBmMGQ7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGlkPSJwYXRoMzIiLz48cGF0aCBkPSJtIDQyMDQuOTYsMzAxMC41NSBoIC00Ni4yMyBjIDAsMTg2Ljg3IDE1OS45NCwzMzguOTEgMzU2LjUzLDMzOC45MSAxMTguNDEsMCAyMjguODEsLTU1LjY3IDI5NS4zLC0xNDguOTMgbCAtMzcuNjUsLTI2LjgzIGMgLTU3Ljg0LDgxLjEgLTE1NC4xNSwxMjkuNTMgLTI1Ny42NSwxMjkuNTMgLTE3MS4wNywwIC0zMTAuMywtMTMxLjMgLTMxMC4zLC0yOTIuNjgiIHN0eWxlPSJmaWxsOiMxMDBmMGQ7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIGlkPSJwYXRoMzQiLz48cGF0aCBkPSJtIDQ3ODYuNzUsMzYzMi44NSBjIC05OS41OSwwIC0xOTUuNTgsMzkuNjkgLTI2My4zMywxMDguOTEgLTYxLjkyLDYzLjI2IC05NS4wMiwxNDUuMTIgLTkzLjIxLDIzMC41MSAwLjUxLDI0LjExIDcuMDQsNjAuMiA3LjMyLDYxLjcyIGwgNDUuNDksLTguMjYgYyAtMC4wOCwtMC4zNSAtNi4xNCwtMzQuMDIgLTYuNTgsLTU0LjQ0IC0xLjU1LC03Mi44NiAyNi44NiwtMTQyLjg4IDgwLjAzLC0xOTcuMTggNTkuMTIsLTYwLjM5IDE0My4wNCwtOTUuMDMgMjMwLjI4LC05NS4wMyB2IC00Ni4yMyIgc3R5bGU9ImZpbGw6IzEwMGYwZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGgzNiIvPjxwYXRoIGQ9Im0gNDUzMS41NywzMzIzLjY3IC00NS4zOCw4Ljc5IGMgMC45OCw1LjExIDMuNTksMjAuMjYgMy43NywyOS4xMyAwLjg1LDM2LjU0IC0xMy44OSw3Mi4yMiAtNDEuNDYsMTAwLjQzIC0zNC4zMiwzNS4wOCAtODQuMjQsNTUuMjEgLTEzNy4wMyw1NS4yMSB2IDQ2LjIzIGMgNjUuMTQsMCAxMjcuMTQsLTI1LjIgMTcwLjA4LC02OS4xIDM2LjM1LC0zNy4yIDU1Ljc1LC04NC43MyA1NC42NCwtMTMzLjg0IC0wLjMzLC0xNC4zMyAtNC4xOCwtMzQuNTggLTQuNjIsLTM2Ljg1IiBzdHlsZT0iZmlsbDojMTAwZjBkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiBpZD0icGF0aDM4Ii8+PHBhdGggZD0ibSA0MzY3LjY5LDM5OTUuMjUgdiA0Ni4yNCBjIDE3MS4xMSwwIDMxMC4zMSwxMzEuMzEgMzEwLjMxLDI5Mi43MSBoIDQ2LjIzIGMgMCwtMTg2LjkgLTE1OS45NCwtMzM4Ljk1IC0zNTYuNTQsLTMzOC45NSIgc3R5bGU9ImZpbGw6IzEwMGYwZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgaWQ9InBhdGg0MCIvPjwvZz48L2c+PC9nPjwvZz48L2c+PC9zdmc+');
}

/* Only the footer guarantees a dark background for the body-only signal.
   A light html theme keeps #masthead and #mobile-header white. */
html[data-theme="dark"] .outliyr-site-footer .osf-logo img,
body.outliyr-public-dark .outliyr-site-footer .osf-logo img {
	filter: none !important;
}

/* 1b. Footer GenerateBlocks container background hardening. The block
     ships with `background-color: var(--contrast)` in its inline GB
     CSS. Renderers that strip or remap CSS custom properties (Perplexity
     Comet's auto-color-correction, dark-reader-style extensions, Brave
     Shields in some modes) then drop the background entirely, leaving
     white text on the white body background - the visible bug. The
     literal hex below matches `--contrast` in light mode and survives
     custom-property stripping. */
.site-footer .gb-container-d49a7a1c {
	background-color: #222222 !important;
}

.outliyr-site-footer {
	--osf-bg: var(--surface-inverse);
	--osf-panel: color-mix(in srgb, var(--surface-inverse) 90%, var(--accent-primary) 10%);
	--osf-panel-strong: color-mix(in srgb, var(--surface-inverse) 82%, var(--accent-primary) 18%);
	--osf-text: var(--text-inverse);
	--osf-muted: color-mix(in srgb, var(--text-inverse) 72%, transparent);
	--osf-border: color-mix(in srgb, var(--text-inverse) 16%, transparent);
	--osf-link: var(--text-inverse);
	--osf-link-hover: var(--accent-secondary);
	background: var(--osf-bg) !important;
	color: var(--osf-text);
	font-family: var(--font, inherit);
}

:root[data-theme="dark"] .outliyr-site-footer,
body.outliyr-public-dark .outliyr-site-footer {
	/* The public body class can precede or disagree with html's theme.
	   Pin only this footer's tokens to the existing public dark palette.
	   Capture inputs and opt-in copy inherit the same readable pairings. */
	--surface: #13161b;
	--surface-elevated: #1f232c;
	--text-primary: #e8ebf0;
	--text-secondary: #aab3be;
	--text-muted: #8b95a3;
	--text-on-accent: #0a0b0d;
	--border-default: #383d47;
	--accent-primary: #3da5ff;
	/* NOT --bg-canvas: that matches the page background exactly, which
	   erased the content/footer banding dark mode is supposed to keep
	   (light mode: white content vs near-black footer). An elevated
	   blue-tinted dark + a hairline restores the band. Hex literal so
	   var-stripping renderers keep the contrast. */
	--osf-bg: #10151d;
	--osf-panel: var(--surface);
	--osf-panel-strong: var(--surface-elevated);
	--osf-text: var(--text-primary);
	--osf-muted: var(--text-secondary);
	--osf-border: var(--border-default);
	--osf-link: var(--text-primary);
	--osf-link-hover: var(--accent-primary);
	border-top: 1px solid #2a2f38;
}

/* Echo light mode's navy newsletter band vs darker link columns. */
:root[data-theme="dark"] .outliyr-site-footer .osf-newsletter,
body.outliyr-public-dark .outliyr-site-footer .osf-newsletter {
	background: #0e1826;
}

.outliyr-site-footer *,
.outliyr-site-footer *::before,
.outliyr-site-footer *::after {
	box-sizing: border-box;
}

.outliyr-site-footer a {
	color: var(--osf-link);
	text-decoration: none;
}

.outliyr-site-footer a:hover,
.outliyr-site-footer a:focus-visible {
	color: var(--osf-link-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.osf-inner {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.osf-newsletter {
	border-bottom: 1px solid var(--osf-border);
}

.osf-newsletter-inner {
	display: grid;
	grid-template-columns: minmax(0, 440px) minmax(360px, 520px);
	gap: clamp(42px, 8vw, 112px);
	justify-content: space-between;
	align-items: center;
	padding: 42px 0;
}

.osf-newsletter-copy {
	max-width: 440px;
	display: grid;
	gap: 10px;
}

.osf-newsletter h2 {
	margin: 0 0 8px;
	color: var(--osf-text);
	font-size: clamp(1.55rem, 1.3rem + .8vw, 2.2rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0;
}

.osf-newsletter p {
	margin: 0;
	color: var(--osf-muted);
	font-size: 1rem;
	line-height: 1.5;
}

.osf-newsletter .ocap-proof {
	color: var(--osf-text);
	margin-top: 2px;
}

.osf-newsletter .ocap-proof strong {
	color: var(--osf-text);
}

:root[data-theme="dark"] .olhp .olhp-capband .ocap-proof {
	color: var(--olhp-text) !important;
}

:root[data-theme="dark"] .olhp .olhp-capband .ocap-proof strong {
	color: var(--olhp-ink) !important;
}

.osf-newsletter .outliyr-capture-newsletter .ocap-form-row {
	grid-template-columns: minmax(0, 1fr) auto;
}

.osf-newsletter .outliyr-capture-newsletter .ocap-input {
	background: var(--surface);
	color: var(--text-primary);
	border-color: var(--osf-border);
}

.osf-newsletter .outliyr-capture-newsletter .ocap-button {
	background: var(--accent-primary);
	color: var(--text-on-accent);
	border-radius: 8px !important;
	box-shadow: none;
}

.osf-main {
	--osf-main-gap: 28px;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--osf-main-gap);
	align-items: start;
	padding: 42px 0 34px;
}

.osf-brand {
	display: grid;
	gap: 16px;
	align-content: start;
}

.osf-logo {
	display: block;
	margin-bottom: 0;
	transform: translateX(calc(var(--osf-main-gap) / 2));
}

.osf-logo img {
	display: block;
	width: 92px;
	max-width: 100%;
	height: auto;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.osf-logo-col {
	align-self: start;
	display: flex;
	justify-content: center;
	padding-top: 4px;
}

.osf-brand p {
	margin: 0;
	max-width: 24rem;
	color: var(--osf-muted);
	font-size: .95rem;
	line-height: 1.55;
}

.osf-column h3 {
	margin: 0 0 14px;
	color: var(--osf-text);
	font-size: .78rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.osf-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Reset the theme's inherited 10px li margin-bottom - it stacked on top of
   the grid gap and made the footer items far too airy. */
.osf-list li {
	margin: 0;
	padding: 0;
}

.osf-list a,
.osf-phone {
	color: var(--osf-muted);
	font-size: .95rem;
	line-height: 1.35;
}

.osf-social {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	margin-top: 18px;
}

/* Phone: separate it clearly from the social row and flag it as a phone number. */
.osf-phone {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}

.osf-phone::before {
	content: "";
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11.4 11.4 0 0 0 3.6.58 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.58 3.6a1 1 0 0 1-.24 1z'/%3E%3C/svg%3E");
	mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11.4 11.4 0 0 0 3.6.58 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.58 3.6a1 1 0 0 1-.24 1z'/%3E%3C/svg%3E");
}

.osf-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	color: var(--osf-muted);
	background: var(--osf-panel);
	border: 1px solid var(--osf-border);
	border-radius: 8px;
}

.osf-social a:hover,
.osf-social a:focus-visible {
	color: var(--osf-link-hover);
	background: var(--osf-panel-strong);
	text-decoration: none;
}

.osf-social svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.osf-legal {
	border-top: 1px solid var(--osf-border);
}

.osf-legal-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0 24px;
	color: var(--osf-muted);
	font-size: .88rem;
	line-height: 1.4;
}

.osf-legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
}

.osf-legal-links a {
	color: var(--osf-muted);
}

@media (max-width: 1180px) {
	.osf-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.osf-logo {
		transform: none;
	}

	.osf-logo-col {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
}

/* Legal row: the middot separators are sibling spans, so whenever the
   row wraps one lands orphaned at the end of a line (measured 2026-09-23
   at 390/430/768/800px). The row only fits on one line from ~900px up,
   so below that the separators are hidden and a 12px row / 18px column
   gap does the separating instead. */
@media (max-width: 899px) {
	.osf-legal-links {
		gap: 12px 18px;
	}

	.osf-legal-links > span[aria-hidden="true"] {
		display: none;
	}
}

@media (max-width: 760px) {
	/* 16px side gutter, same as the content gutter (SPACING-CONTRACT). */
	.osf-inner {
		width: min(100% - 32px, 1180px);
	}

	.osf-newsletter-inner {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 34px 0;
	}

	.osf-newsletter-copy {
		max-width: none;
	}

	.osf-newsletter .outliyr-capture-newsletter .ocap-form-row {
		grid-template-columns: 1fr;
	}

	.osf-newsletter .outliyr-capture-newsletter .ocap-button {
		width: 100%;
	}

	/* Keep TWO columns on mobile (was 1) so the footer uses the width
	   instead of one tall column with wasted space beside it. */
	.osf-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 20px;
		padding: 34px 0 28px;
	}

	.osf-main > .osf-column:last-child {
		grid-column: 1 / -1;
	}

	.osf-legal-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}

/* 2. Footer recolor under dark theme. GeneratePress footer widgets use
     a dark text color on a light bg; when SPA dark mode inverts the body
     background to ~#0A0B0D the navy/dark text becomes unreadable. */
html[data-theme="dark"] #footer-widgets,
html[data-theme="dark"] #footer-widgets .inside-footer-widgets,
html[data-theme="dark"] .site-info {
	color: #e4e6eb;
}
html[data-theme="dark"] #footer-widgets .widget-title,
html[data-theme="dark"] #footer-widgets h1,
html[data-theme="dark"] #footer-widgets h2,
html[data-theme="dark"] #footer-widgets h3,
html[data-theme="dark"] #footer-widgets h4 {
	color: #ffffff;
}
html[data-theme="dark"] #footer-widgets a,
html[data-theme="dark"] .site-info a {
	color: #9db5ff;
}
html[data-theme="dark"] #footer-widgets a:hover,
html[data-theme="dark"] .site-info a:hover {
	color: #c6d4ff;
}

/* 3. Hide GeneratePress back-to-top. The AI assistant widget (rendered
     separately at bottom-right) already serves as the "jump" action,
     and the back-to-top button stacks visually underneath it. */
.generate-back-to-top,
a.generate-back-to-top,
#generate-back-to-top {
	display: none !important;
}
