/* Responsive footer system: consistent two-column link grid on every page */
footer#site-footer,footer{position:relative;isolation:isolate;background:#faf8f1!important;background-image:none!important;color:#173b30!important;border-top:1px solid #d5dfd5!important;padding:34px 0 calc(136px + env(safe-area-inset-bottom))!important;box-shadow:0 -8px 28px rgba(23,59,48,.04)}
footer>.wrap:first-child{display:grid!important;grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;align-items:start!important;gap:clamp(26px,5vw,68px)!important}
footer>.wrap:first-child>.brand{display:inline-flex!important;align-self:start!important;width:max-content!important;max-width:100%!important;margin:0!important}
footer .footer-logo{position:relative!important;display:block!important;flex:0 0 auto!important;width:min(260px,100%)!important;max-width:100%!important;height:58px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden!important;box-sizing:border-box!important;mix-blend-mode:multiply!important}
footer .footer-logo img{position:absolute!important;width:270px!important;height:270px!important;max-width:none!important;left:-12px!important;top:-103px!important;object-fit:contain!important}
footer>.wrap:first-child>.footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:start!important;gap:0 clamp(22px,3vw,42px)!important;min-width:0!important;margin:0!important;padding:0!important;font-size:14px!important}
footer .footer-links a{display:flex!important;align-items:center!important;min-width:0!important;min-height:45px!important;padding:9px 2px!important;border:0!important;border-bottom:1px solid #d9e2d7!important;border-radius:0!important;background:transparent!important;color:#173b30!important;font-size:13.5px!important;font-weight:600!important;line-height:1.4!important;text-decoration:none!important;text-decoration-thickness:initial!important;text-underline-offset:initial!important;overflow-wrap:anywhere!important;box-shadow:none!important;transition:color .18s ease,border-color .18s ease!important}
footer .footer-links a:hover{color:#0d724b!important;border-bottom-color:#0d724b!important;text-decoration:none!important}
footer .footer-links a:focus-visible,footer .footer-inner a:focus-visible{outline:2px solid #0d724b!important;outline-offset:3px!important}
footer>.footer-inner,footer>.wrap.footer-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px 24px!important;margin-top:25px!important;padding-top:18px!important;border-top:1px solid #d9e2d7!important;color:#425c4d!important;font-size:12.5px!important;line-height:1.55!important}
footer .footer-inner span{max-width:100%!important}
footer .footer-inner a{color:#173b30!important;font-weight:600!important;text-decoration:underline!important;text-decoration-color:#88a58e!important;text-underline-offset:4px!important}
@media(max-width:980px){footer>.wrap:first-child{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}footer>.wrap:first-child>.brand{margin-bottom:3px!important}footer>.wrap.footer-inner{justify-content:flex-start!important;gap:9px 20px!important}}
@media(max-width:760px){footer{padding:25px 0 calc(136px + env(safe-area-inset-bottom))!important}footer>.wrap:first-child{gap:11px!important}footer .footer-logo{width:min(260px,calc(100vw - 56px))!important;height:56px!important}footer .footer-logo img{width:270px!important;height:270px!important;left:-12px!important;top:-103px!important}footer>.wrap:first-child>.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 14px!important;margin-top:2px!important}footer .footer-links a{min-height:42px!important;padding:8px 1px!important;font-size:12.5px!important;line-height:1.35!important}footer>.footer-inner,footer>.wrap.footer-inner{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:7px!important;margin-top:14px!important;padding-top:14px!important;font-size:12px!important}}
@media(prefers-reduced-motion:reduce){footer .footer-links a{transition:none!important}}
/* Keep the cropped logo window sized even inside the intrinsic-width brand link. */
footer .footer-logo{width:260px!important;max-width:calc(100vw - 56px)!important}
@media(max-width:760px){footer .footer-logo{width:min(260px,calc(100vw - 56px))!important}}
/* Blend the white pixels in the supplied bitmap into the page surface. */
header .brand .logo-window{background:transparent!important;border:0!important;padding:0!important;mix-blend-mode:normal!important}
header .brand .logo-window img{mix-blend-mode:normal!important}
footer .footer-logo img{mix-blend-mode:multiply!important}
/* Keep the whole header on the same white surface as the supplied logo bitmap. */
header{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
