/* Shared footer. Kept separate from page-specific layout and typography. */
footer:is(.cl-site-footer, #gyp-concept .cl-site-footer) {
  display:block; width:100%; max-width:none; margin:0; padding:40px 48px;
  border:0; border-top:1px solid #d9dfd5; background:#faf9f5;
  color:#566154; box-sizing:border-box; text-align:left;
  font:400 14px/1.65 'DM Sans',Arial,sans-serif;
}
:is(.cl-site-footer, #gyp-concept .cl-site-footer) .cl-footer-inner { width:100%; max-width:1160px; margin:0 auto; }
:is(.cl-site-footer, #gyp-concept .cl-site-footer) .cl-footer-brand {
  display:inline-block; margin:0 0 16px; color:#18321c;
  font:700 29px/1.2 'DM Sans',Arial,sans-serif; letter-spacing:-1.5px;
  text-decoration:none;
}
:is(.cl-site-footer, #gyp-concept .cl-site-footer) p { max-width:760px; margin:0 0 12px; font:inherit; color:inherit; }
:is(.cl-site-footer, #gyp-concept .cl-site-footer) nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin:20px 0 0; }
:is(.cl-site-footer, #gyp-concept .cl-site-footer) nav a,:is(.cl-site-footer, #gyp-concept .cl-site-footer) nav button {
  display:inline; width:auto; max-width:100%; min-width:0; margin:0; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  color:#18321c; font:inherit; letter-spacing:normal; text-align:left;
  text-decoration:none; overflow-wrap:anywhere; cursor:pointer;
}
:is(.cl-site-footer, #gyp-concept .cl-site-footer) a { cursor:pointer; }
:is(.cl-site-footer, #gyp-concept .cl-site-footer) a:focus-visible,:is(.cl-site-footer, #gyp-concept .cl-site-footer) button:focus-visible {
  outline:3px solid #2466db; outline-offset:4px;
}
@media(hover:hover) and (pointer:fine) {
  :is(.cl-site-footer, #gyp-concept .cl-site-footer) nav a:hover,:is(.cl-site-footer, #gyp-concept .cl-site-footer) nav button:hover,:is(.cl-site-footer, #gyp-concept .cl-site-footer) .cl-footer-brand:hover {
    color:#527536; text-decoration:none;
  }
}
@media(max-width:700px) { footer:is(.cl-site-footer, #gyp-concept .cl-site-footer) { padding:32px 24px; } }

/* Retain the existing intake footer hook while overriding legacy homepage rules. */
#gyp-concept footer.cl-site-footer.gyp-footer {
  width:100%!important; max-width:none!important; margin:0!important;
  padding:40px 48px!important; background:#faf9f5!important; color:#566154!important;
}
#gyp-concept footer.cl-site-footer.gyp-footer p,
#gyp-concept footer.cl-site-footer.gyp-footer nav a,
#gyp-concept footer.cl-site-footer.gyp-footer nav button {
  font:400 14px/1.65 'DM Sans',Arial,sans-serif!important;
}
:is(.cl-site-footer, #gyp-concept .cl-site-footer)[hidden] { display:none!important; }
@media(max-width:700px) {
  #gyp-concept footer.cl-site-footer.gyp-footer { padding:32px 24px!important; }
}
#gyp-concept footer.cl-site-footer.gyp-footer .cl-footer-brand {
  font:700 29px/1.2 'DM Sans',Arial,sans-serif!important;
}
