.site-footer {
  --footer-width: min(1180px, calc(100% - 48px));
  padding: 80px 0 25px;
  color: #fff;
  background: #082f3a;
  font-family: "Onest", "Segoe UI", sans-serif;
  text-align: left;
}

.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer .container { width: var(--footer-width); margin-inline: auto; }
.site-footer a { color: inherit; text-decoration: none; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 45px; padding-bottom: 65px; }
.footer-brand { min-width: 0; }
.footer-logo-link { display: inline-flex; align-items: center; width: fit-content; min-height: 48px; }
.footer-brand-icon { display: block; width: auto; height: 48px; object-fit: contain; object-position: left center; filter: saturate(1.04) contrast(1.02); }
.footer-logo-link:focus-visible, .footer-grid a:focus-visible, .footer-legal a:focus-visible { outline: 3px solid rgba(142,214,229,.58); outline-offset: 4px; border-radius: 4px; }
.footer-brand p { max-width: 250px; margin: 16px 0 0; color: #8fb0b7; font-size: .78rem; line-height: 1.6; }
.footer-grid nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid nav h2 { margin: 0 0 8px; color: #7ca4ad; font-size: .62rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid nav a { color: #c3d8dc; font-size: .75rem; line-height: 1.45; transition: color .2s ease; }
.footer-grid nav a:hover { color: #fff; }
.footer-grid nav .footer-trial-link { width: fit-content; padding-bottom: 3px; color: #e4f4f6; font-weight: 760; border-bottom: 1px solid rgba(142,214,229,.48); }
.footer-grid nav .footer-trial-link:hover { border-color: #fff; }
.footer-login-link { display: inline-flex; width: fit-content; align-items: center; gap: 6px; }
.footer-login-link span { color: #8ed6e5; font-size: .72em; transition: transform .2s ease; }
.footer-login-link:hover span { transform: translate(2px,-2px); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 24px; color: #72979f; font-size: .65rem; border-top: 1px solid rgba(255,255,255,.1); }
.footer-legal { display: flex; align-items: center; gap: 11px; }
.footer-legal a { color: #86a7ae; text-underline-offset: 3px; transition: color .2s ease; }
.footer-legal a:hover { color: #fff; text-decoration: underline; }
.footer-legal i { color: #496f78; font-size: .6em; font-style: normal; }

@media (max-width: 760px) {
  .site-footer { --footer-width: min(100% - 32px, 680px); padding-top: 62px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 24px; padding-bottom: 50px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 13px; }
  .footer-legal { flex-wrap: wrap; }
}

@media (max-width: 430px) {
  .site-footer { --footer-width: calc(100% - 28px); }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-brand-icon { height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .footer-grid nav a, .footer-login-link span, .footer-legal a { transition: none; }
  .footer-login-link:hover span { transform: none; }
}
