/* Shared public contact section. Legacy case/service hooks remain compatible.
   Page-to-footer joins belong here; unrelated hero/footer rules stay in their owners. */
.case-closing-cta { background:var(--accent);color:#17191a;padding-block:clamp(var(--fs-space-12),7vw,var(--fs-space-24));
 --foreground:#17191a;--muted-foreground:#34383a;--border:#17191a;--background:var(--accent);
}
.case-closing-cta .fs-section { background:transparent!important;color:inherit;padding-block:0!important;min-height:0; }
.case-closing-cta :is(h2,p,.fs-eyebrow) { color:#17191a!important; }
#site-content:has(.case-closing-cta) { padding-bottom:0; margin-bottom:0; }
.work-post:has(> .case-closing-cta),.case-closing-cta { margin-bottom:0; }
@media(max-width:767px){ .case-closing-cta .fs-button { width:100%; } }
.case-closing-cta :is(.fs-button--primary,.case-closing-cta__primary) { background:#17191a;color:#fff;border-color:#17191a; }
.case-closing-cta :is(.fs-button--secondary,.case-closing-cta__secondary) { color:#17191a;background:transparent;border:1px solid #17191a; }
.case-closing-cta :is(.service-post-kicker,.block-eyebrow) { color:#17191a; }
#site-content:has(.case-closing-cta) :is(.service-post,.work-post,.about-page) { padding-bottom:0;margin-bottom:0; }
.case-closing-cta .service-next-step__primary { background:transparent;border:0;box-shadow:none;padding:0;min-height:0; }
.case-closing-cta.service-next-step .service-next-step__inner { display:flex;flex-direction:column;align-items:center;width:100%;max-width:48rem;gap:0;text-align:center; }
.case-closing-cta.service-next-step .service-next-step__actions { justify-content:center;margin-top:1.75rem;padding-top:0; }
.case-closing-cta.service-next-step h2 { margin-top:.65rem; }
.case-closing-cta.service-next-step p { max-width:42rem; }
.closing-contact { padding-inline:var(--fs-gutter,1.25rem); }
.closing-contact__inner { width:100%;max-width:48rem;margin-inline:auto;text-align:center; }
.closing-contact h2 { margin-top:var(--fs-space-3);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.08;text-wrap:balance; }
.closing-contact p { max-width:42rem;margin:var(--fs-space-5) auto 0;font-size:1.0625rem;line-height:1.6; }
.closing-contact__actions { display:flex;justify-content:center;flex-wrap:wrap;gap:var(--fs-space-3);margin-top:1.75rem; }
@media(max-width:767px) { .closing-contact__actions { flex-direction:column;align-items:stretch; } }
