.ps-footer {
  border-top: 1px solid var(--ps-line, #e4e8ec);
  background: var(--ps-ink, #1F2937);
  color: #cdd6de;
}
.ps-footer .sectionwrap { padding: 56px 28px 40px; }
.ps-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; align-items: start; }
.ps-footer-logo { color: #fff; font-size: 1.25rem; font-weight: 800; margin: 0 0 14px; }
.ps-footer-tag { color: #9fb0bd; line-height: 1.9; max-width: 28em; margin: 0; }
.ps-footer-col h3 { color: var(--ps-support, #E1A948); font-size: .95rem; font-weight: 700; margin: 0 0 18px; }
.ps-footer-links { display: flex; flex-direction: column; gap: 12px; }
.ps-footer-links a { color: #cdd6de; text-decoration: none; }
.ps-footer-links a:hover { color: #fff; }
.ps-footer-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; font-size: .95rem; line-height: 1.9; }
.ps-footer-contact a { color: var(--ps-support, #E1A948); text-decoration: none; }
.ps-footer-contact a:hover { color: #f0c268; }
.ps-footer-bar { border-top: 1px solid rgba(255, 255, 255, .12); }
.ps-footer-bar .sectionwrap { padding: 18px 28px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; color: #9fb0bd; font-size: .85rem; }
.ps-footer-bar p { margin: 0; }
@media (max-width: 900px) {
  .ps-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .ps-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ps-footer-grid { grid-template-columns: 1fr; }
  .ps-footer .sectionwrap { padding: 48px 20px 32px; }
  .ps-footer-bar .sectionwrap { padding: 16px 20px; flex-direction: column; }
}