/* Public footer only; keep space below links for the fixed WhatsApp control. */
.site-footer {
    padding:64px 0 100px;
    border-top:1px solid #d2dfd1;
    background:linear-gradient(115deg,#f4f6ed,#edf3e9 65%,#f7f7f0);
    color:#20382b;
}
.site-footer .footer-grid {
    grid-template-columns:1.35fr 1.15fr 1.65fr 1.1fr .8fr .85fr;
    gap:clamp(24px,3vw,48px);
    align-items:start;
}
.site-footer .footer-grid > div { min-width:0; }
.site-footer .footer-intro { padding-right:12px; }
.site-footer .footer-social { display:flex; gap:12px; margin-top:22px; }
.site-footer .footer-social a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #c8d8c8; border-radius:50%; background:#ffffffb3; color:#245c45; text-decoration:none; }
.site-footer .footer-social a[title="Facebook"] { background:#1877f2; border-color:#1877f2; color:#fff; }
.site-footer .footer-social a[title="Instagram"] { background:radial-gradient(circle at 30% 105%,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%); border-color:transparent; color:#fff; }
.site-footer .footer-social a:hover { filter:brightness(1.08); }
.site-footer .footer-intro .brand { display:inline-block; max-width:100%; }
.site-footer .footer-intro .brand-logo { width:280px; max-width:100%; height:auto; }
.site-footer .footer-intro p { font-size:23px; line-height:1.5; color:#20382b; margin:25px 0 18px; letter-spacing:-.025em; }
.site-footer .footer-intro .eyebrow { display:block; font-size:12px; line-height:1.75; letter-spacing:.08em; color:#245c45; max-width:28ch; }
.site-footer .footer-grid h2 { font-size:18px; line-height:1.4; font-weight:700; color:#193d2b; margin:5px 0 20px; letter-spacing:0; }
.site-footer .footer-grid h2::after { content:""; display:block; width:28px; height:3px; border-radius:3px; background:#8aab8b; margin-top:12px; }
.site-footer .footer-grid a + h2 { margin-top:27px; }
.site-footer .footer-grid > div > a:not(.brand) {
    display:block; width:fit-content; max-width:100%; box-sizing:border-box;
    min-height:38px; padding:7px 0; margin:0;
    font-size:16px; line-height:1.5; font-weight:400; color:#354b3b;
    text-decoration:none; text-underline-offset:5px; overflow-wrap:break-word;
}
.site-footer .footer-grid > div > a:not(.brand):hover { color:#145537; text-decoration:underline; }
.site-footer a:focus-visible { outline:3px solid #245c45; outline-offset:5px; border-radius:3px; }
.site-footer .footer-bottom { align-items:center; margin-top:44px; padding-block:24px 0; border-color:#cddcca; color:#4d6253; font-size:14px; line-height:1.6; }
.site-footer .footer-bottom > a { display:inline-flex; align-items:center; gap:14px; padding:11px 18px; border:1px solid #438760; border-radius:12px; background:#438760; color:#fff !important; font-size:15px; font-weight:650; text-decoration:none; }
.site-footer .footer-bottom > a:hover { background:#438760; border-color:#438760; }
@media(max-width:1200px) {
    .site-footer .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
    .site-footer .footer-intro { grid-column:1 / -1; padding:0 0 28px; border-bottom:1px solid #d6e1d2; }
    .site-footer .footer-intro p { margin-top:16px; }
    .site-footer .footer-intro .eyebrow { max-width:none; }
}
@media(max-width:600px) {
    .site-footer { padding-top:40px; padding-bottom:90px; }
    .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; row-gap:32px; }
    .site-footer .footer-intro .brand-logo { width:250px; }
    .site-footer .footer-intro p { font-size:22px; }
    .site-footer .footer-grid h2 { font-size:17px; margin-bottom:14px; }
    .site-footer .footer-grid > div > a:not(.brand) { font-size:15px; min-height:44px; padding-block:10px; }
    .site-footer .footer-bottom { align-items:flex-start; flex-direction:column; gap:18px; margin-top:32px; font-size:13px; }
}
