:root {
    --footer-green: #123f35;
    --footer-deep: #0a2b24;
    --footer-gold: #d6ad70;
    --footer-text: rgba(255, 255, 255, .74);
    --footer-line: rgba(255, 255, 255, .16);
}

.site-footer { position: relative; z-index: 3; overflow: hidden; color: #fff; background: var(--footer-green); }
.site-footer::before { content: ""; position: absolute; top: -210px; right: -120px; width: 500px; height: 500px; border: 1px solid rgba(214, 173, 112, .17); border-radius: 50%; box-shadow: 0 0 0 28px rgba(214, 173, 112, .05), 0 0 0 58px rgba(214, 173, 112, .035); pointer-events: none; }
.site-footer__inner { position: relative; width: min(1200px, calc(100% - 48px)); margin: 0 auto; padding: 78px 0 25px; }
.site-footer__top { display: grid; grid-template-columns: minmax(280px, 1.35fr) repeat(2, minmax(190px, 1fr)); gap: clamp(40px, 8vw, 120px); padding-bottom: 72px; }
.site-footer__brand { max-width: 340px; }
.site-footer__logo { display: inline-flex; align-items: center; color: #fff !important; font-size: 1.12rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; }
.site-footer__brand > p { max-width: 260px; margin: 27px 0 34px; color: var(--footer-text); font-size: .92rem; line-height: 1.7; }
.site-footer__contact { display: inline-flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(214,173,112,.75); padding-bottom: 9px; color: #fff !important; font-size: .78rem; font-weight: 750; text-decoration: none; transition: gap .2s ease, color .2s ease; }
.site-footer__contact:hover { gap: 17px; color: var(--footer-gold) !important; }
.site-footer__contact i { color: var(--footer-gold); font-size: .7rem; }
.site-footer__heading { display: flex; align-items: center; gap: 13px; margin-bottom: 25px; }
.site-footer__heading span { color: var(--footer-gold); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.site-footer__heading h2 { margin: 0; color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 400; }
.site-footer__nav { display: grid; align-content: start; gap: 14px; }
.site-footer__nav a { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid transparent; padding: 4px 0; color: var(--footer-text) !important; font-size: .8rem; line-height: 1.4; text-decoration: none; transition: color .2s ease, border-color .2s ease, padding .2s ease; }
.site-footer__nav a i { color: var(--footer-gold); font-size: .68rem; opacity: 0; transform: translateX(-5px); transition: opacity .2s ease, transform .2s ease; }
.site-footer__nav a:hover { border-color: var(--footer-gold); padding-left: 6px; color: #fff !important; }
.site-footer__nav a:hover i { opacity: 1; transform: translateX(0); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--footer-line); padding-top: 21px; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .03em; }
.site-footer__bottom a { display: inline-flex; align-items: center; gap: 8px; color: var(--footer-text) !important; text-decoration: none; }
.site-footer__bottom a:hover { color: var(--footer-gold) !important; }
.site-footer__bottom a i { color: var(--footer-gold); }
@media (max-width: 800px) { .site-footer__top { grid-template-columns: 1.2fr 1fr; gap: 48px 35px; } .site-footer__brand { grid-column: 1 / -1; max-width: 470px; } }
@media (max-width: 540px) { .site-footer__inner { width: min(100% - 32px, 1200px); padding-top: 58px; } .site-footer__top { grid-template-columns: 1fr 1fr; gap: 38px 20px; padding-bottom: 50px; } .site-footer__brand { grid-column: 1 / -1; } .site-footer__heading h2 { font-size: 1.3rem; } .site-footer__nav a { font-size: .74rem; } .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 10px; } .site-footer__bottom span:nth-child(2) { display: none; } }
