footer.td-footer { background:#111d17; color:#c4d5c9; padding:64px 0 24px; border-top:1px solid #304337; }
.td-footer-main { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:64px; padding-bottom:48px; }
.td-footer .nav-logo { display:inline-flex; font-size:1.5rem; }
.td-footer-brand p { color:#9bb0a3; margin:20px 0 24px; font-size:.95rem; line-height:1.75; }
.td-footer a { text-decoration:none; transition:color .2s,background .2s; }
.td-footer a:hover { color:#a2f1bf; }
.td-footer .td-footer-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 18px; border:1px solid #43594a; border-radius:8px; color:#e1ece4; font-size:.9rem; }
.td-footer .td-footer-cta:hover { background:#21392b; border-color:#77e2a0; }
.td-footer h2 { color:#95ad9d; text-transform:none; font-size:.78rem; letter-spacing:.06em; font-weight:500; margin:4px 0 22px; }
.td-footer-nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.td-footer-nav h2 { margin-bottom:10px; }
.td-footer-nav a { font-size:.92rem; color:#e0e9e2; }
.td-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; }
.td-footer-contact h2 { margin-bottom:12px; }
.td-footer .td-footer-phone { color:#f3f8f4; font-size:clamp(1.05rem,2vw,1.45rem); font-weight:600; letter-spacing:-.025em; }
.td-footer-mail { font-size:1rem; overflow-wrap:anywhere; }
.td-footer-contact p { color:#90a697; margin-top:8px; font-size:.85rem; }
.td-footer-bottom { border-top:1px solid #304337; padding-top:24px; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#8da395; font-size:.78rem; }
.td-footer-bottom a { color:#a8bdaf; }
#scrollTopBtn { width:42px; height:42px; padding:0; bottom:20px; right:20px; border:1px solid #43594a; border-radius:10px; background:#182c20; color:#b1e8c1; box-shadow:none; font-size:16px; }
#scrollTopBtn:hover { background:#274431; box-shadow:none; }
@media(max-width:900px) { .td-footer-main { gap:32px; grid-template-columns:1fr 1fr; } .td-footer-brand { grid-column:1/-1; } }
@media(max-width:540px) { footer.td-footer { padding:42px 0 22px; } .td-footer-main { grid-template-columns:1fr; gap:32px; padding-bottom:32px; } .td-footer-brand { grid-column:auto; } .td-footer h2 { margin-top:0; } .td-footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; padding-right:40px; line-height:1.65; } }
@media(prefers-reduced-motion:reduce) { .td-footer a { transition:none; } }
