/* ============================================================
   MAIN SITE FOOTER for this page (brand, newsletter, Get in touch,
   copyright). No Book Now row: "More Than Filing" is the call to action.
   Dark charcoal with a gold top line,
   matching the main site's footer. Only affects the footer.
   ============================================================ */
.site-footer {
  --footer-fg: #ededed;
  --footer-muted: rgba(237, 237, 237, .7);
  position: relative; overflow: hidden; color: var(--footer-fg); text-align: left;
  border-top: 3px solid var(--gold, #C9A54B);
  padding: 34px 0 26px;
  /* Charcoal swirl: exact copy of the site-wide footer swirl (slate.css). */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23444444'/%3E%3Cstop offset='1' stop-color='%231c1c1c'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0'/%3E%3Cstop offset='.6' stop-color='%23d0d0d0' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='.2'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M560 300 C760 200 960 150 1200 140 L1200 300 Z' fill='url(%23a)' opacity='.85'/%3E%3Cpath d='M700 300 C860 230 1020 200 1200 196 L1200 300 Z' fill='%23262626'/%3E%3Cpath d='M540 300 C760 190 960 140 1200 128' fill='none' stroke='url(%23b)' stroke-width='3'/%3E%3Cpath d='M690 300 C860 224 1020 192 1200 188' fill='none' stroke='%239a9a9a' stroke-opacity='.55' stroke-width='1.5'/%3E%3C/svg%3E") right bottom / 75% 42% no-repeat,
    radial-gradient(ellipse at 20% 0%, #2c2c2c 0%, #1a1a1a 65%);
  background-color: #1a1a1a;
}
.site-footer__inner { width: min(1120px, calc(100% - 2 * clamp(18px, 4.5vw, 48px))); margin: 0 auto; position: relative; }

/* Book Now row: text left, button right */
.footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid rgba(201, 165, 75, .35); }
.footer-cta__text { display: flex; align-items: center; gap: 16px; }
.footer-cta .cta-icon { flex: none; width: 52px; height: 52px; padding: 12px; border-radius: 50%; border: 1px solid rgba(201,165,75,.5); color: var(--gold, #C9A54B); }
.footer-cta h2 { margin: 0 0 2px; font-family: var(--font-heading); font-style: italic; font-size: 24px; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.footer-cta p { margin: 0; color: #e6e6e6; }

/* Main site footer info: two columns */
.site-footer__cols { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.site-footer__brand { margin: 0 0 8px; font-family: var(--font-heading); font-size: 22px; font-weight: 700; color: var(--footer-fg); }
.site-footer__tag, .site-footer__place, .site-footer__reach, .site-footer__copy, .site-footer__credit { margin: 0; color: var(--footer-muted); font-size: 14px; line-height: 1.45; }
.site-footer__tag { max-width: 28rem; }
.site-footer__place { margin-top: 14px; font-weight: 600; color: var(--footer-fg); }
.site-footer__reach { margin-top: 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b89a52; }
.site-footer__heading { margin: 0 0 14px; font-family: var(--font-body); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #cdb06a; }
.site-footer__people { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.site-footer__people li { display: grid; gap: 2px; }
.site-footer__name { font-weight: 700; color: var(--footer-fg); }
.site-footer__people a { color: var(--footer-muted); text-decoration: none; width: fit-content; }
.site-footer__people a:hover { color: var(--footer-fg); text-decoration: underline; }
.site-footer__social { margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 10px 18px; }
.site-footer__social a { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--footer-fg); text-decoration: none; border-bottom: 1px solid rgba(201,165,75,.45); }
.site-footer__social a:hover { color: var(--gold, #C9A54B); }

/* Newsletter (same look as the main site) */
.site-footer__newsletter { margin-top: 18px; max-width: 420px; }
.site-footer__newsletter-label { display: block; margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold, #C9A54B); }
.site-footer__newsletter-row { display: flex; align-items: center; gap: 4px; padding: 4px 4px 4px 16px; border: 1px solid rgba(201,165,75,.5); border-radius: 999px; background: rgba(255,255,255,.05); }
.site-footer__newsletter-row:focus-within { border-color: var(--gold, #C9A54B); box-shadow: 0 0 0 3px rgba(201,165,75,.22); }
.site-footer__newsletter input[type="email"] { flex: 1; min-width: 0; margin: 0; padding: 8px 0; border: 0; background: transparent; color: var(--footer-fg); font: inherit; font-size: 15px; outline: none; }
.site-footer__newsletter input[type="email"]::placeholder { color: rgba(237,237,237,.48); }
.site-footer__newsletter button { flex: none; margin: 0; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--gold, #C9A54B); color: #111; font: inherit; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; }
.site-footer__newsletter button:hover { background: var(--gold-light, #E8D49A); }

/* Bottom line: copyright left, credit right */
.site-footer__legal { display: flex; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; margin-top: 24px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.site-footer__credit a { color: var(--footer-muted); text-decoration: none; border-bottom: 1px solid rgba(201,165,75,.45); }
.site-footer__credit a:hover { color: var(--footer-fg); }

@media (max-width: 900px) {
  .site-footer__cols { grid-template-columns: 1fr; gap: 28px; }
  .footer-cta { flex-direction: column; align-items: flex-start; }
}
