/* Footer and sitemap share one compact grid in the existing site palette. */
.footer{background:var(--color-bg-subtle);border-top:1px solid var(--color-border)}
.footer-grid{display:grid;grid-template-columns:.9fr 1.1fr 1.25fr;gap:56px;padding-block:38px 30px}
.footer-grid h2{font-size:16px;line-height:24px;letter-spacing:-.02em;font-weight:600;margin:0 0 12px}
.footer-brand .brand{width:148px}
.footer-brand .logo-window{width:148px;height:55px}
.footer-brand .logo-window img{width:337px;left:-94px;top:-29px}
.footer-brand>p{font-size:17px;line-height:1.45;letter-spacing:-.02em;max-width:210px;margin-top:12px;color:var(--color-text-heading)}
.footer-socials{display:flex;gap:12px;list-style:none;margin:20px 0 0;padding:0}
.social-placeholder{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-navy-700)}
.social-placeholder img{width:22px;height:22px;object-fit:contain;display:block}
.social-link{transition:background-color .2s ease,transform .2s ease}
.social-link:hover{background:var(--color-blue-700);transform:translateY(-2px)}
.social-link:active{transform:scale(.98)}
.social-link:focus-visible{outline:2px solid var(--color-blue-700);outline-offset:4px}
/* YouTube's official PNG includes clear space within its canvas. */
.social-placeholder img[src$="youtube.png"]{width:34px;height:30px}
.footer-contact address{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.footer-contact address a,.footer-contact address p{font-size:13px;line-height:1.7;color:var(--color-text-secondary);padding:0}
.footer-contact address a{display:flex;align-items:center;min-height:32px}
.footer-contact address p{max-width:285px;margin-top:6px}
.footer-contact a:hover{color:var(--color-link);text-decoration:underline;text-underline-offset:4px}
.footer-navigation .sitemap-links{gap:28px}
.footer-navigation .sitemap-links a{display:flex;align-items:center;min-height:32px;font-size:13px;line-height:1.6;padding:0}
.footer-bottom{min-height:58px;padding-block:8px}
.footer-utility{display:flex;align-items:center;gap:26px}
.footer-utility .footer-back-top{display:grid;place-items:center;min-width:44px;height:44px;font-size:22px;text-decoration:none;border:1px solid var(--color-border-strong);border-radius:50%;padding:0}
@media(max-width:1000px){.footer-grid{grid-template-columns:.85fr 1fr;gap:32px 44px}.footer-navigation{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1fr;gap:44px;padding-top:22px;border-top:1px solid var(--color-border)}.footer-navigation h2{margin:0}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px;padding-block:28px 22px}.footer-brand{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-items:center}.footer-brand>p{margin:0;font-size:16px;max-width:180px}.footer-socials{grid-column:1/-1;margin:0}.footer-contact{padding-top:22px;border-top:1px solid var(--color-border)}.footer-contact address p{max-width:330px}.footer-navigation{grid-column:auto;display:block;padding-top:22px}.footer-navigation h2{margin-bottom:12px}.footer-navigation .sitemap-links{gap:22px}.footer-bottom{gap:4px 20px;font-size:11px}.footer-utility{gap:16px}}
