.site-footer {
  --brand-focus: #ff8792;
  margin-top: 48px;
  border-top: 1px solid #ffffff12;
  background: #16252e;
  color: #bdcbd4;
}
.footer-inner { width: calc(100% - 80px); max-width: var(--page); margin-inline: auto; }
.footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr; align-items: start; gap: 48px; padding: 36px 0 28px; }
.footer-intro { min-width: 0; }
.site-footer .footer-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 23px; font-weight: 750; letter-spacing: -.7px; line-height: 1; text-decoration: none; }
.footer-brand > svg { width: 32px; height: 32px; flex: none; overflow: hidden; border-radius: var(--radius-control); }
.footer-domain { color: #a7b8c2; font-size: .68em; letter-spacing: -.2px; }
.site-footer .footer-description { max-width: 330px; margin: 14px 0 0; color: #a7b8c2; font-size: 13px; line-height: 1.7; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.site-footer .footer-heading { margin: 0 0 8px; color: #f0f5f7; font-size: 13px; font-weight: 650; line-height: 24px; letter-spacing: 0; }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 34px; color: #bdcbd4; font-size: 14px; line-height: 1.5; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 14px 0 18px; border-top: 1px solid #ffffff18; color: #a7b8c2; font-size: 12px; line-height: 1.6; }
.footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 24px; }
.site-footer .footer-legal a { display: inline-flex; align-items: center; min-height: 30px; color: #a7b8c2; }
.site-footer :is(.footer-links,.footer-legal) a { gap:9px; }
.site-footer .footer-link-icon { display:block;width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#8fa8b8; }
.site-footer .footer-legal .footer-link-icon { width:14px;height:14px;flex-basis:14px; }
.site-footer :is(.footer-links,.footer-legal) a:is(:hover,:focus-visible) .footer-link-icon { color:inherit; }
.site-footer a { transition: color .16s ease, text-decoration-color .16s ease; text-decoration: none; }
.site-footer :is(.footer-links, .footer-legal) a:is(:hover, :focus-visible) { color: #ff8792; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 4px; }
.site-footer .footer-brand:hover { color: #ff8792; }
.site-footer a:focus-visible { outline: 2px solid #ff8792; outline-offset: 4px; border-radius: var(--radius-detail); }
@media (max-width: 1100px) {
  .footer-inner { width: calc(100% - 48px); }
  .footer-main { grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; }
}
@media (max-width: 700px) {
  .site-footer { margin-top: 40px; }
  .footer-inner { width: calc(100% - 40px); }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; padding: 28px 0 24px; }
  .footer-intro { grid-column: 1 / -1; }
  .site-footer .footer-brand { font-size: 22px; }
  .site-footer .footer-description { margin-top: 12px; }
  .site-footer .footer-links a { min-height: 40px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 4px; padding-block: 14px 18px; }
  .footer-legal { gap: 4px 20px; }
  .site-footer .footer-legal a { min-height: 36px; }
}
@media (max-width: 380px) {
  .footer-inner { width: calc(100% - 32px); }
  .footer-main { column-gap: 16px; }
  .site-footer .footer-links a { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .site-footer a { transition: none; } }
