/* ============================================================
   TaxFlo global footer  —  use on every page, unchanged
   Layout matches the current blog footer.
   Colours and logo corrected to the brand palette.
   ============================================================ */
:root{
  --tf-deep-ink:#172554;
  --tf-teal:#14B8A6;
  --tf-surface:#FFFFFF;
  --tf-primary-ink:#1F2937;
  --tf-footer-text:#C5CDD9;
  --tf-footer-muted:#94A3C4;
  --tf-footer-subtle:#7C8AA8;
  --tf-footer-focus:#60A5FA;
  --tf-footer-print-rule:#D8DEE8;
}
.tf-footer{
  background:var(--tf-deep-ink);
  border:0;
  color:var(--tf-footer-text);
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:15px;line-height:1.6;
  padding:56px 0 32px;
}
.tf-footer-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
@media(min-width:1024px){
  .tf-footer{padding:72px 0 40px}
  .tf-footer-wrap{padding:0 80px}
}

/* four-column grid: brand + 3 link columns */
.tf-footer-grid{display:grid;gap:36px}
@media(min-width:640px){.tf-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){
  .tf-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
}

/* brand block */
.tf-footer .tf-footer-logo{display:inline-flex;align-items:center;gap:1px;
  text-decoration:none;min-height:44px;padding:0}
.tf-footer-logo:hover{text-decoration:none}
.tf-f-wordmark{font-family:'Inter',system-ui,sans-serif;font-size:26px;
  font-weight:700;letter-spacing:.01em;color:var(--tf-surface);line-height:1;
  white-space:nowrap}
.tf-f-mark{width:26px;height:26px;display:block;flex:0 0 auto;margin-left:1px}
.tf-logo-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tf-footer-tagline{margin:16px 0 0;color:var(--tf-footer-muted);font-size:15px;max-width:34ch}

/* link columns */
.tf-footer-col h3{
  font-family:'Inter',system-ui,sans-serif;
  font-size:13px;font-weight:700;
  color:var(--tf-teal);
  text-transform:uppercase;letter-spacing:.06em;
  margin:0 0 10px;
}
.tf-footer .tf-footer-col a,.tf-footer .tf-footer-col span{
  display:flex;align-items:center;min-height:44px;
  color:var(--tf-footer-text);text-decoration:none;font-size:15px;padding:0;
}
.tf-footer-col a:hover{color:var(--tf-surface);text-decoration:underline}

/* legal */
.tf-footer-legal{
  margin-top:40px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);
}
.tf-footer-legal p{margin:0 0 12px;color:var(--tf-footer-muted);font-size:14px;max-width:78ch}
.tf-footer-legal p:last-child{margin-bottom:0;color:var(--tf-footer-subtle)}

.tf-footer a:focus-visible{outline:2px solid var(--tf-footer-focus);outline-offset:3px;border-radius:3px}

@media print{
  .tf-footer{background:var(--tf-surface)!important;color:var(--tf-primary-ink)!important;
    border-top:1pt solid var(--tf-footer-print-rule);padding:12pt 0 0}
  .tf-footer *{color:var(--tf-primary-ink)!important}
  .tf-footer-col h3{color:var(--tf-primary-ink)!important}
  .tf-footer-grid{display:block}
  .tf-footer-col a{display:inline;min-height:0;margin-right:10pt}
}
