/* The footer of every page of the websites (server/site.js → siteFooter): on ink, the logo with a line about the
   service, the company's contact details, the other website, four columns of links and the legal line. */
.sf { --sf-paper: #ffffff; --sf-soft: rgba(255, 255, 255, .7); --sf-line: rgba(255, 255, 255, .14);
  background: #0e1a2b; color: var(--sf-soft); font-size: .93rem; line-height: 1.55; border-top: 1px solid var(--sf-line); }
.sf-in { max-width: 1320px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }
.sf a { color: inherit; text-decoration: none; }
.sf a:hover { color: var(--sf-paper); }
.sf-top { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 2.5rem 2rem; padding: clamp(56px, 7vw, 88px) 0 clamp(44px, 5vw, 64px); }
.sf-logo { display: inline-block; margin-bottom: 1.1rem; }
.sf-logo img { display: block; height: 27px; width: auto; }
.sf-brand p { margin: 0 0 1rem; max-width: 290px; }
.sf-brand .sf-contact { margin: 0 0 .25rem; }
.sf-contact a { color: var(--sf-paper); font-weight: 600; }
.sf-contact a:hover { text-decoration: underline; text-underline-offset: .25em; }
.sf-lang { display: inline-flex; align-items: center; gap: .5rem; margin-top: .9rem; padding: .5rem 1rem; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px;
  color: var(--sf-paper) !important; font-weight: 600; font-size: .9rem; transition: background .25s, color .25s, border-color .25s; }
.sf-lang:hover { background: var(--sf-paper); color: #0e1a2b !important; border-color: var(--sf-paper); }
.sf nav { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.sf nav b { color: var(--sf-paper); font-size: .9rem; font-weight: 700; margin-bottom: .45rem; }
.sf nav a { transition: color .2s; }
.sf-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem 2rem; border-top: 1px solid var(--sf-line);
  padding: 1.4rem 0 1.8rem; font-size: .85rem; }
.sf-credits { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; }
.sf a.walkup { display: inline-flex; align-items: center; gap: .4rem; }
.sf a.walkup img { filter: brightness(0) invert(1); opacity: .8; }
.sf-up { font-weight: 600; color: var(--sf-paper) !important; }
@media (max-width: 1080px) {
  .sf-top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sf-brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.6rem; }
  .sf-brand p:not(.sf-contact) { flex-basis: 100%; max-width: none; margin-bottom: .6rem; }
  .sf-logo { flex-basis: 100%; margin-bottom: .3rem; }
  .sf-lang { margin-top: .2rem; }
}
@media (max-width: 760px) { .sf-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem 1.2rem; } }
@media (max-width: 420px) { .sf { font-size: .9rem; } .sf-bottom { flex-direction: column; align-items: flex-start; } }
