/* Shared site footer. Markup lives in partials/footer.html; tools/sync-footer.py copies it into every page.
   Self-contained colors so it renders the same on the homepage and every blog theme. */
.sf { background: #0a0a0a; border-top: 1px solid #2c2c2c; color: #ededed; font-family: 'Manrope', system-ui, sans-serif; padding: 56px 24px 40px; position: relative; z-index: 1; }
.sf-inner { max-width: 1120px; margin: 0 auto; }
.sf-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.sf-head { margin: 0 0 18px; font-family: 'JetBrains Mono', Menlo, monospace; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #d4ae52; }
.sf ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sf a { color: #ededed; text-decoration: none; transition: color 0.2s; }
.sf a:hover, .sf a:focus-visible { color: #d4ae52; }
.sf-col li a { display: inline-block; padding: 6px 0; font-size: 15px; font-weight: 600; }
.sf address { font-style: normal; display: grid; gap: 4px; font-size: 15px; line-height: 1.5; color: #b9b4aa; }
.sf address strong { color: #ededed; font-weight: 700; }
.sf address a { display: inline-block; padding: 6px 0; font-weight: 600; }
.sf-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; min-height: 40px; padding: 0 16px; border: 1px solid #3a3a3a; border-radius: 8px; font-size: 14px; font-weight: 700; }
.sf-cta:hover, .sf-cta:focus-visible { border-color: #d4ae52; }
.sf-socials { display: flex; gap: 12px; }
.sf-socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #2c2c2c; border-radius: 50%; }
.sf-socials a:hover, .sf-socials a:focus-visible { border-color: #d4ae52; }
/* ANCHOR: google-reviews */
.sf-rating { display: inline-flex; flex-direction: column; gap: 4px; margin-top: 18px; color: #f6f1e6; font-weight: 600; font-size: 15px; }
.sf-stars { color: #d4ae52; letter-spacing: 0.12em; font-size: 15px; }
.sf-rating-sub { font-family: 'JetBrains Mono', Menlo, monospace; font-size: 12px; font-weight: 400; letter-spacing: 0.08em; color: #b9b3a6; }
.sf-rating:hover .sf-rating-sub, .sf-rating:focus-visible .sf-rating-sub { color: #d4ae52; }
.sf-bottom { margin-top: 48px; padding-top: 32px; border-top: 1px solid #2c2c2c; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.sf-bottom p { margin: 0; font-family: 'JetBrains Mono', Menlo, monospace; font-size: 12px; letter-spacing: 0.08em; color: #9b968c; }
.sf-logo img { height: 30px; width: auto; display: block; margin-bottom: 6px; }
.sf-legal { display: flex; gap: 10px; align-items: center; }
.sf-legal a { color: #9b968c; padding: 6px 0; }
@media (max-width: 860px) { .sf-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; } }
@media (max-width: 380px) { .sf-cols { grid-template-columns: 1fr; } }
