.ts-footer { margin-top: 72px;
     padding: 0 0 24px; 
     color: var(--ts-primary); 
    background: linear-gradient(130deg, #edf3fb, #f9fafc 48%, #eef7f2);
    box-shadow: inset 0 2px 10px #ffffffb0;
    }
.ts-footer__panel { position: relative; overflow: hidden; padding: 36px;  border-radius: 26px;}
.ts-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 26px;}
.ts-footer__logo img { display: block; max-width: 180px; max-height: 56px; width: auto; height: auto; }
.ts-footer__social { display: flex; align-items: center; gap: 8px; }
.ts-footer__social-label { font-size: 12px; color: #798293; margin-inline-end: 10px; }
.ts-footer__social a, .ts-footer__social-placeholder { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: #fff; color: #677997; }
.ts-footer__social svg { width: 20px; height: 20px; }
.ts-footer__social a { transition: background-color .2s, color .2s, transform .2s; }
.ts-footer__social a:hover { background: #22274d; color: #fff; transform: translateY(-3px); }
.ts-footer__social-placeholder { opacity: .45; }
.ts-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)) 1.4fr; gap: 28px; padding-block: 30px; }
.ts-footer__grid > * { min-width: 0; }
.ts-footer__heading { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; margin: 0 0 18px; color: #22274d; }
.ts-footer__heading::before { content: ''; flex: 0 0 5px; width: 5px; height: 14px; border-radius: 4px; background: #98afd0; }
.ts-footer__about .ts-footer__heading::before { background: #8cc4ad; }
.ts-footer__contact .ts-footer__heading::before { background: #edb98d; }
.ts-footer__about p { color: #727b88; font-size: 12px; line-height: 2.3; margin: 0; white-space: pre-line; }
.ts-footer .ts-footer-menu, .ts-footer .sub-menu { list-style: none; padding: 0; margin: 0; }
.ts-footer .sub-menu { padding-inline-start: 12px; }
.ts-footer-menu li + li { margin-top: 10px; }
.ts-footer-menu a { display: inline-block; color: #727b88; font-size: 12px; line-height: 1.9; transition: color .2s; }
.ts-footer-menu a:hover { color: #2f9e74; }
.ts-footer__contact dl { margin: 0; }
.ts-footer__contact dt { font-size: 11px; color: #8c95a2; font-weight: 400; }
.ts-footer__contact dd { margin: 3px 0 14px; font-size: 12px; line-height: 1.9; color: #505f75; white-space: pre-line; overflow-wrap: anywhere; }
.ts-footer__contact a { color: inherit; }
.ts-footer__contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.ts-footer__contact-item > div { min-width: 0; }
.ts-footer__contact-item dd { margin-bottom: 0; }
.ts-footer__contact-icon { display: inline-flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: #fff; color: #647fa5; }
.ts-footer__contact-icon svg { display: block; width: 17px; height: 17px; }
.ts-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 20px; border-top: 1px solid #22274d0d; }
.ts-footer__copyright { margin: 0; color: #89919d; font-size: 11px; }
.ts-footer__home { font-size: 11px; color: #657a99; white-space: nowrap; }
@media (max-width: 1199px) { .ts-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ts-footer__about { grid-column: span 2; } .ts-footer__contact { grid-column: 3; grid-row: 1; } }
@media (max-width: 575px) {
 .ts-footer { margin-top: 40px; padding-bottom: 12px; }
 .ts-footer__panel { padding: 24px 18px; border-radius: 20px; }
 .ts-footer__top { flex-direction: column; align-items: flex-start; gap: 20px; }
 .ts-footer__social { flex-wrap: wrap; }
 .ts-footer__social-label { flex-basis: 100%; margin: 0 0 4px; }
 .ts-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
 .ts-footer__about { grid-column: 1 / -1; }
 .ts-footer__contact { grid-column: 1 / -1; grid-row: auto; }
 .ts-footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ts-footer__social a { transition: none; } }
