/* Native Elementor footer, shared by all pages. */
body.gr-footer-design-2 .gr-footer.gf-footer {
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  background:#272b27;color:#f5f3ed;border:0!important;gap:0!important;
}
body.gr-footer-design-2 .gf-footer .gf-inner {
  width:min(calc(100% - 80px),1200px)!important;max-width:none!important;margin:0 auto!important;
  padding:0!important;gap:0!important;
}
body.gr-footer-design-2 .gf-footer :is(.e-con,.elementor-widget) { min-width:0; }
body.gr-footer-design-2 .gf-footer .gf-cta {
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;
  width:100%!important;padding:62px 0 52px!important;gap:48px!important;border-bottom:1px solid #ffffff26;
}
body.gr-footer-design-2 .gf-footer .gf-cta-copy { width:min(100%,620px)!important;padding:0!important;gap:0!important; }
body.gr-footer-design-2 .gf-kicker { color:#efb27f!important;font-size:10px!important;line-height:1.5!important;letter-spacing:.14em;font-weight:600; }
body.gr-footer-design-2 .gf-kicker p { margin:0 0 19px; }
body.gr-footer-design-2 .gf-footer .gf-cta-title .elementor-heading-title { color:#fff!important;font-size:clamp(29px,3.2vw,43px)!important;line-height:1.12!important;font-weight:500;letter-spacing:-.04em; }
body.gr-footer-design-2 .gf-intro { margin-top:18px!important;max-width:510px!important;color:#c9cec5!important;font-size:13px!important;line-height:1.85!important; }
body.gr-footer-design-2 .gf-intro p { margin-bottom:0; }
body.gr-footer-design-2 .gf-footer .gf-cta-button { width:auto!important;flex-shrink:0; }
body.gr-footer-design-2 .gf-cta-button .elementor-button { background:#e99451!important;color:#20251e!important;border:1px solid #e99451;padding:18px 25px!important;border-radius:3px!important;font-size:12px!important;font-weight:600!important;line-height:1.5; }
body.gr-footer-design-2 .gf-cta-button .elementor-button:hover { background:#f5ab71!important; }
body.gr-footer-design-2 .gf-footer .gf-columns { display:grid!important;grid-template-columns:1.3fr .65fr 1fr 1.25fr;gap:48px!important;width:100%!important;padding:48px 0 42px!important;align-items:start!important; }
body.gr-footer-design-2 .gf-footer :is(.gf-brand,.gf-column) { width:100%!important;display:flex!important;flex-direction:column!important;padding:0!important;gap:21px!important;align-items:flex-start!important; }
body.gr-footer-design-2 .gf-footer .gf-logo { width:138px!important; }
body.gr-footer-design-2 .gf-footer .gf-logo img { width:138px!important;height:auto!important;filter:brightness(0) invert(1); }
body.gr-footer-design-2 .gf-brand-copy { max-width:265px!important;font-size:12px!important;line-height:1.9!important;color:#c9cec5!important; }
body.gr-footer-design-2 .gf-brand-copy p { margin-bottom:12px; }
body.gr-footer-design-2 .gf-brand-copy .gf-location { font-size:11px;color:#e9a875; }
body.gr-footer-design-2 .gf-footer .gf-label .elementor-heading-title { color:#fff!important;font-size:12px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important; }
body.gr-footer-design-2 .gf-links { display:flex;flex-direction:column;align-items:flex-start;gap:12px; }
body.gr-footer-design-2 .gf-links a { color:#c9cec5;font-size:12px;line-height:1.6; }
body.gr-footer-design-2 .gf-footer a:hover { color:#f4b786; }
body.gr-footer-design-2 .gf-contact .gr-contact { display:flex!important;flex-direction:column;gap:18px;font-size:12px;line-height:1.8; }
body.gr-footer-design-2 .gf-contact .gr-contact>div { min-width:0; }
body.gr-footer-design-2 .gf-contact .gr-eyebrow { font-size:9px!important;color:#aeb8a9;letter-spacing:.1em;margin:0 0 6px; }
body.gr-footer-design-2 .gf-contact .gr-contact p:not(.gr-eyebrow) { color:#c9cec5;margin:0 0 7px; }
body.gr-footer-design-2 .gf-contact .gr-contact a { display:block;color:#f0f1eb;font-size:12px;overflow-wrap:anywhere; }
body.gr-footer-design-2 .gf-contact .gr-contact .gr-text-link { display:inline-flex;min-height:28px;font-size:10px;border-bottom-color:#7d8875; }
body.gr-footer-design-2 .gf-contact .gr-social { display:flex!important;flex-direction:row;gap:17px; }
body.gr-footer-design-2 .gf-footer .gf-bottom { border-top:1px solid #ffffff26;padding:22px 0 25px!important;gap:0!important;width:100%!important; }
body.gr-footer-design-2 .gf-legal-widget { width:100%!important;font-size:10px!important;line-height:2!important;color:#b2bbad!important; }
body.gr-footer-design-2 .gf-legal-widget p { margin:0; }
body.gr-footer-design-2 .gf-legal-widget :is(a,.gr-cookie-settings) { color:#d5dccf!important;font-size:10px!important; }
body.gr-footer-design-2 .gf-footer :is(a,button):focus-visible { outline:2px solid #efb27f;outline-offset:4px; }
body.gr-footer-design-2 :is(.gh-closing,.gx-cta) { display:none!important; }
body.gr-footer-design-2.gr-quote-page .gf-footer .gf-cta { display:none!important; }
@media(max-width:1000px) {
  body.gr-footer-design-2 .gf-footer .gf-columns { grid-template-columns:1fr 1fr;gap:38px 48px!important; }
  body.gr-footer-design-2 .gf-footer .gf-cta { gap:30px!important; }
}
@media(max-width:767px) {
  body.gr-footer-design-2 .gf-footer .gf-inner { width:calc(100% - 40px)!important; }
  body.gr-footer-design-2 .gf-footer .gf-cta { flex-direction:column!important;align-items:flex-start!important;padding:43px 0 35px!important;gap:25px!important; }
  body.gr-footer-design-2 .gf-footer .gf-columns { padding:35px 0!important;gap:32px 24px!important; }
  body.gr-footer-design-2 .gf-footer .gf-brand { grid-column:1/-1; }
  body.gr-footer-design-2 .gf-brand-copy { max-width:430px!important; }
  body.gr-footer-design-2 .gf-footer .gf-contact { grid-column:1/-1; }
  body.gr-footer-design-2 .gf-footer .gf-column { gap:16px!important; }
  body.gr-footer-design-2 .gf-links a { padding-block:4px; }
  body.gr-footer-design-2 .gf-contact .gr-contact { display:grid!important;grid-template-columns:1fr 1fr;gap:20px; }
  body.gr-footer-design-2 .gf-contact .gr-social { grid-column:1/-1; }
  body.gr-footer-design-2 .gf-legal-widget :is(a,.gr-cookie-settings) { display:inline-block;min-height:30px;padding-block:4px; }
}
@media(max-width:380px) {
  body.gr-footer-design-2 .gf-footer .gf-columns { grid-template-columns:1fr; }
  body.gr-footer-design-2 .gf-contact .gr-contact { grid-template-columns:1fr; }
}
