.site-footer { --sf-muted:#657889; width:calc(100% - clamp(10px,2.2vw,32px)*2); max-width:1600px; margin:24px auto 28px; padding:38px 36px 20px; color:#1f2936; background:#eff3f7; border-radius:32px; font-family:"Open Sans",Arial,sans-serif; }
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing:border-box; }
.site-footer a { color:inherit; text-decoration:none; }
.site-footer a:focus-visible { outline:2px solid #0d839f; outline-offset:5px; }
.site-footer h3 { margin:0 0 5px; font-size:13px; font-weight:600; }
.site-footer svg { width:15px; height:15px; flex:none; }
.sf-brand { display:block; width:min(260px,100%); }
.sf-brand img { display:block; width:100%; height:auto; }
.sf-signature p { margin:22px 0 0; font-size:12px; line-height:1.85; color:var(--sf-muted); }
.sf-columns-main { display:grid; grid-template-columns:minmax(220px,1.05fr) minmax(320px,1.45fr) minmax(250px,1fr); gap:40px; align-items:start; }
.sf-navigation { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.sf-navigation > div { display:grid; gap:11px; align-content:start; }
.sf-navigation a { width:fit-content; font-size:13px; line-height:1.6; color:#536879; }
.sf-direct { display:grid; gap:7px; }
.sf-phone { font-size:clamp(20px,1.7vw,25px); font-weight:600; letter-spacing:-.035em; white-space:nowrap; }
.sf-email { width:fit-content; font-size:14px; color:var(--sf-muted)!important; }
.sf-connect { justify-self:end; }
.sf-messengers { display:flex; flex-wrap:wrap; gap:8px; }
.sf-messengers a { display:flex; align-items:center; justify-content:center; min-height:40px; gap:8px; padding:8px 11px; border:1px solid #dce5ec; border-radius:12px; font-size:12px; background:#ffffffb3; }
.sf-messengers img { width:23px; height:23px; }
.sf-messengers svg { width:11px; height:11px; margin-left:4px; opacity:.6; }
.sf-connect .sf-messengers { margin-top:19px; }
.sf-legal { display:flex; align-items:center; gap:24px; border-top:1px solid #dce4eb; padding-top:18px; margin-top:30px; color:var(--sf-muted); font-size:10px; line-height:1.6; }
.sf-legal a { margin-left:auto; display:flex; align-items:center; gap:6px; }
.sf-legal svg { width:11px; height:11px; }
.sf-columns { background:#f7f9fb; border:0; }
.sf-contact { padding:30px 36px 20px; }
.sf-contact-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:25px; border-bottom:1px solid #dce4eb; }
.sf-contact-top .sf-direct { display:flex; align-items:center; gap:28px; }
.sf-contact-top .sf-phone { font-size:28px; }
.sf-contact-bottom { display:grid; grid-template-columns:1fr auto; gap:50px; padding-top:25px; }
.sf-contact-bottom .sf-navigation { max-width:640px; }
.sf-contact-bottom .sf-connect { min-width:280px; }
.sf-contact-bottom .sf-messengers { margin-top:13px; }
.sf-compact { background:white; border-top:1px solid #dce4eb; border-radius:0; padding:27px 8px 8px; }
.sf-compact-top { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.sf-compact .sf-brand { width:230px; }
.sf-compact .sf-direct { display:flex; align-items:center; gap:24px; }
.sf-compact .sf-phone { font-size:20px; }
.sf-compact .sf-messengers a { background:#f0f4f7; border-color:transparent; }
.sf-compact .sf-navigation { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:28px; }
.sf-compact .sf-navigation > div { display:contents; }
.sf-compact .sf-navigation h3 { display:none; }
.sf-compact .sf-legal { margin-top:23px; }
@media(hover:hover) { .site-footer a:hover { color:#0c829d; } .sf-messengers a:hover { background:#fff; border-color:#aac8d6; } }
@media(max-width:1100px) {
 .site-footer { padding:30px 26px 20px; }
 .sf-columns-main { grid-template-columns:1fr 1.4fr; gap:30px; }
 .sf-columns-main > .sf-connect { grid-column:1/-1; justify-self:stretch; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid #dce4eb; }
 .sf-columns-main > .sf-connect .sf-messengers { margin:0; }
 .sf-contact-top .sf-direct { display:grid; gap:6px; }
 .sf-contact-top .sf-phone { font-size:24px; }
 .sf-contact-bottom { gap:25px; }
 .sf-contact-bottom .sf-connect { min-width:0; }
 .sf-compact .sf-direct { display:grid; gap:5px; }
 .sf-compact { padding-inline:6px; }
 .sf-compact-top { gap:20px; flex-wrap:wrap; }
}
@media(max-width:620px) {
 .site-footer { margin-top:18px; margin-bottom:14px; padding:25px 20px 18px; border-radius:26px; }
 .sf-columns-main { grid-template-columns:1fr; gap:25px; }
 .sf-brand { width:220px; }
 .sf-signature p { margin-top:12px; font-size:11px; }
 .sf-columns-main > .sf-connect { display:block; padding-top:22px; }
 .sf-columns-main > .sf-connect .sf-messengers { margin-top:17px; }
 .sf-navigation { gap:14px; }
 .sf-navigation a, .sf-navigation h3 { font-size:12px; }
 .sf-navigation > div { gap:9px; }
 .sf-connect { justify-self:start; }
 .sf-phone { font-size:23px; }
 .sf-email { font-size:13px; }
 .sf-messengers a { min-height:42px; }
 .sf-legal { display:flex; flex-wrap:wrap; column-gap:12px; row-gap:7px; margin-top:24px; padding-top:15px; font-size:9px; }
 .sf-legal a { width:100%; margin-left:0; }
 .sf-contact-top { display:grid; gap:24px; padding-bottom:23px; }
 .sf-contact-top .sf-phone { font-size:26px; }
 .sf-contact-bottom { grid-template-columns:1fr; gap:25px; }
 .sf-compact { border-radius:0; padding:24px 10px 8px; }
 .sf-compact-top { display:grid; gap:21px; }
 .sf-compact .sf-direct { gap:7px; }
 .sf-compact .sf-navigation { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; row-gap:8px; margin-top:24px; }
}
@media(prefers-reduced-motion:no-preference) { .site-footer a { transition:color 150ms ease,background-color 150ms ease,border-color 150ms ease; } }

/* Selected footer: one independent panel, flush with the page bottom. */
body:has(> [data-site-footer] > .sf-columns) { padding-bottom:0; }
.site-footer.sf-columns { margin-bottom:0; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.sf-columns .sf-brand-symbol { width:60px; }
.sf-columns .sf-signature p { margin-top:16px; }
.sf-columns-main { grid-template-columns:minmax(175px,.8fr) minmax(300px,1.3fr) minmax(390px,1.1fr); }
.sf-contact-buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sf-contact-buttons a { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px 11px; border:1px solid #dce5ec; border-radius:12px; background:#ffffffb3; font-size:12px; white-space:nowrap; }
.sf-contact-buttons img { flex:none; width:23px; height:23px; }
.sf-contact-buttons svg { flex:none; width:11px; height:11px; margin-left:auto; opacity:.6; }
@media(hover:hover) { .sf-contact-buttons a:hover { background:#fff; border-color:#aac8d6; } }
@media(max-width:1100px) {
 .sf-columns-main { grid-template-columns:1fr 1.4fr; }
 .sf-columns-main > .sf-connect { display:block; width:100%; max-width:440px; justify-self:end; }
}
@media(max-width:620px) {
 .sf-columns-main { grid-template-columns:1fr; }
 .sf-columns .sf-brand-symbol { width:51px; }
 .sf-columns-main > .sf-connect { max-width:none; }
 .sf-contact-buttons .sf-contact-primary { grid-column:1/-1; }
}

