.footer-cta { position: relative; padding: 84px 0; overflow: hidden; background: linear-gradient(135deg,#f6f3ec,#ebe5d8); border-top: 1px solid var(--ps-line); }
.footer-cta::before { content: ""; position: absolute; top: -150px; right: -100px; width: 420px; height: 420px; border: 1px solid rgba(154,121,61,.16); border-radius: 50%; box-shadow: inset 0 0 0 62px rgba(255,255,255,.25),inset 0 0 0 124px rgba(255,255,255,.13); }
.footer-cta__card { position: relative; z-index: 1; display: grid; grid-template-columns: 1.18fr auto; gap: 40px; align-items: center; padding: 43px 45px; border: 1px solid rgba(25,25,24,.11); border-radius: 27px; background: rgba(255,255,255,.9); box-shadow: var(--ps-shadow); }
.footer-cta__card::before { content: ""; position: absolute; top: 0; left: 45px; width: 80px; height: 3px; background: linear-gradient(90deg,var(--ps-gold),transparent); }
.footer-cta__kicker { color: var(--ps-gold-deep); font-size: .72rem; font-weight: 850; letter-spacing: .16em; }
.footer-cta h2 { margin: 13px 0 0; color: var(--ps-ink); font-family: var(--ps-serif); font-size: clamp(1.8rem,3.4vw,2.8rem); font-weight: 560; line-height: 1.34; letter-spacing: -.055em; }
.footer-cta p { max-width: 740px; margin: 14px 0 0; color: var(--ps-muted); font-size: .94rem; line-height: 1.72; }
.footer-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.site-footer { position: relative; padding: 64px 0 52px; overflow: hidden; color: #fff; text-align: center; background: #161615; border-top: 1px solid rgba(255,255,255,.08); }
.site-footer::before { content: ""; position: absolute; top: 0; left: 50%; width: min(740px,72%); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg,transparent,rgba(199,166,97,.65),transparent); }
.footer-logo { display: inline-flex; margin-bottom: 23px; }
.footer-logo img { width: 210px; max-height: 68px; object-fit: contain; }
.footer-realtor { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; margin-bottom: 24px; padding: 0 17px; color: rgba(255,255,255,.84); background: rgba(255,255,255,.05); border: 1px solid rgba(199,166,97,.4); border-radius: 8px; font-size: .82rem; font-weight: 700; }
.footer-realtor:hover { color: #fff; background: rgba(255,255,255,.09); }
.footer-title { margin: 0 0 12px; color: #ead8b1; font-size: 1.02rem; font-weight: 830; }
.footer-copy { max-width: 980px; margin: 9px auto 0; color: rgba(255,255,255,.52); font-size: .76rem; line-height: 1.75; }
.footer-info { margin: 14px 0 0; color: rgba(255,255,255,.78); font-size: .87rem; line-height: 1.6; }
.footer-info a { font-weight: 820; }
.footer-copyright { display: block; margin-top: 18px; color: rgba(255,255,255,.34); font-style: normal; }

.sticky-menu { position: fixed; right: 15px; bottom: 15px; z-index: 2500; }
.sticky-menu ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.sticky-btn { width: 88px; height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #fff; background: #1d1d1c; border: 2px solid rgba(199,166,97,.65); border-radius: 50%; box-shadow: 0 16px 34px rgba(0,0,0,.22); font-size: .76rem; font-weight: 850; text-align: center; }
.sticky-btn i { font-size: 1.14rem; color: #ead8b1; }
.sticky-btn--gold { color: #171716; background: #d8bd84; border-color: #f1dfb8; }
.sticky-btn--gold i { color: #171716; }
.sticky-number { display: none; }

@media (max-width: 991.98px) {
    .footer-cta__card { grid-template-columns: 1fr; gap: 25px; }
    .footer-cta__actions { justify-content: flex-start; }
}

@media (max-width: 575.98px) {
    .footer-cta { padding: 60px 0 64px; }
    .footer-cta__card { padding: 29px 21px 25px; border-radius: 21px; }
    .footer-cta__card::before { left: 21px; width: 65px; }
    .footer-cta__actions { display: grid; grid-template-columns: 1fr; }
    .site-footer { padding: 52px 0 43px; }
    .footer-logo img { width: 184px; }
    .footer-copy { font-size: .72rem; }
    .sticky-menu { left: 0; right: 0; bottom: 0; width: 100%; padding-bottom: env(safe-area-inset-bottom); background: rgba(20,20,19,.98); border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 -10px 28px rgba(0,0,0,.18); }
    .sticky-menu ul { display: grid; grid-template-columns: repeat(var(--sticky-count,3),minmax(0,1fr)); gap: 0; }
    .sticky-menu li { border-right: 1px solid rgba(255,255,255,.09); }
    .sticky-menu li:last-child { border-right: 0; }
    .sticky-btn, .sticky-btn--gold { width: 100%; height: 64px; flex-direction: row; gap: 7px; color: #fff; background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: .78rem; }
    .sticky-btn i, .sticky-btn--gold i { color: #ead8b1; font-size: 1rem; }
    .sticky-number { display: inline; font-size: .75rem; }
}
