/* footer.css — design-system.md §4.3 (own @media blocks live here, not in responsive.css) */
.site-footer{background:var(--c-black);color:var(--c-white);padding:20px;font-family:var(--font-sans)}
.site-footer a{color:inherit}
.site-footer__inner{max-width:var(--container-max);margin:0 auto;padding:10px}
.site-footer__cols{display:grid;grid-template-columns:minmax(0,1fr) 281px 271px;gap:20px;margin-bottom:40px;align-items:start} /* measured: Contact x=838, Social x=1139; row 1 → copyright 40px */
.site-footer__contact,.site-footer__social{padding-top:10px}          /* measured: column headings sit 10px below the logo top (Elementor column padding) */
.site-footer__logo{display:block;width:250px;height:auto;margin-bottom:30px}
.site-footer__heading{margin:0;font:800 18px/30px var(--font-sans);color:var(--c-white)}
.site-footer__nav{list-style:none;display:flex;flex-wrap:wrap;margin:0 -8px;padding:0}
.site-footer__nav li{margin:0 8px}
.site-footer__nav a{display:block;font:400 16px/1.6 var(--font-sans);transition:color var(--dur) ease}
.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--c-teal)}
.site-footer__contact .arrow-link{margin-top:16px;font-size:18px}   /* measured: heading glyphs → link glyphs 43px */
.site-footer__social .site-footer__heading{padding-left:10px}
.site-footer__social .social{margin-top:5px}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.site-footer__copy{margin:0;font:400 12px/1.6 var(--font-sans)}
.back-to-top{display:inline-flex;align-items:center;gap:18px;font:400 11px/1 var(--font-sans);color:var(--c-white);
  transition:color var(--dur) ease}
.back-to-top svg{width:20px;height:20px;fill:currentColor;transition:transform var(--dur) ease}   /* measured: link is 86px wide at 1440 */
.back-to-top:hover,.back-to-top:focus-visible{color:var(--c-teal)}
.back-to-top:hover svg{transform:translateY(-3px)}                 /* original "slide-up" icon hover */

@media (max-width:1200px){
  .site-footer__cols{grid-template-columns:1fr 1fr;row-gap:30px}
  .site-footer__brand{grid-column:1 / -1}
}
@media (max-width:767px){
  .site-footer__cols{grid-template-columns:1fr;row-gap:20px}
  .site-footer__contact,.site-footer__social{padding-top:0}
  .site-footer__bottom{flex-direction:column;align-items:flex-start;gap:20px}
}
