/* Shared footer card and content-aware column spacing. */
footer#contact{
  background:#fff;
  color:#30302a;
  padding:80px 0 0;
}
footer#contact .foot-grid{
  position:relative;isolation:isolate;border-bottom:0;
  box-sizing:border-box;width:100%;max-width:1200px;margin-inline:auto;
  padding:0 32px 72px;
}
footer#contact .foot-grid::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  top:-64px;bottom:0;left:calc(50% - 50vw + 24px);right:calc(50% - 50vw + 24px);
  background:#f5f5eb;
  border-radius:28px;
}
footer#contact .foot-grid h4{color:#064e04;}
footer#contact .foot-grid h5,footer#contact .c-row b{color:#14140f;}
footer#contact .foot-grid a,footer#contact .c-row{color:#6e6e64;}
footer#contact .foot-grid a.hl{color:#064e04;border-bottom-color:#064e04;}
footer#contact .foot-grid a:hover,footer#contact .c-row .c-ico{color:#064e04;}
footer#contact .foot-mid{
  background:transparent;border-bottom:0;padding:28px 32px 12px;gap:24px;
}
footer#contact .foot-mid>a{display:inline-flex;align-items:center;flex-shrink:0;}
footer#contact .foot-mid img{display:block;height:40px;width:auto;}
footer#contact .foot-socials{gap:8px;}
footer#contact .foot-socials a{
  width:36px;height:36px;background:#f5f5eb;color:#496344;
}
footer#contact .foot-socials a:hover{color:#fff;background:#064e04;}
footer#contact .foot-socials a:focus-visible,
footer#contact .foot-mid>a:focus-visible,
footer#contact .copyright a:focus-visible{outline:2px solid #064e04;outline-offset:4px;}
footer#contact .copyright{
  background:transparent;color:#77776d;padding:8px 32px 28px;
  align-items:baseline;gap:12px;font-size:12px;line-height:1.6;
}
footer#contact .copyright>span:last-child{display:flex;gap:20px;flex-shrink:0;}
footer#contact .copyright a{margin-left:0;}
footer#contact .copyright a:hover{color:#064e04;}
@media(min-width:1201px){
  footer#contact .foot-grid{
    --footer-column-gap:48px;
    /* Fill the original 1200px container with its original 32px side padding.
       All five text columns share the same gutter, including the Products pair. */
    grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr) max-content minmax(0,1.4fr);
    column-gap:var(--footer-column-gap);
    justify-content:normal;
  }
  footer#contact .foot-grid>div{min-width:0;}
  footer#contact .foot-grid>div:first-child{
    grid-column:span 2;display:grid;grid-template-columns:subgrid;
    column-gap:var(--footer-column-gap);align-content:start;
  }
  footer#contact .foot-grid>div:first-child>h4{grid-column:1 / -1;}
  footer#contact .foot-cols{
    grid-column:1 / -1;display:grid;grid-template-columns:subgrid;
    column-gap:var(--footer-column-gap);
  }
  footer#contact .foot-cols>div{min-width:0;}
  footer#contact .c-row>div{min-width:0;overflow-wrap:anywhere;}
}
@media(min-width:641px) and (max-width:1200px){
  footer#contact .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
}
@media(max-width:640px){
  footer#contact .foot-grid::before{left:12px;right:12px;border-radius:22px;}
  footer#contact .foot-mid{padding:24px 24px 12px;gap:16px;flex-wrap:wrap;}
  footer#contact .foot-mid img{height:36px;}
  footer#contact .foot-socials{gap:6px;}
  footer#contact .foot-socials a{width:32px;height:32px;}
  footer#contact .copyright{padding:8px 24px 24px;align-items:flex-start;gap:8px;}
}
