/* Shared footer: brand, project links and documents. */
#site-footer {
  --color-base-content: #dce6f3;
  --color-primary: #8ddcff;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr) minmax(0, 1fr);
  grid-auto-flow: row;
  gap: 32px clamp(30px, 4vw, 64px);
  align-items: start;
}
#site-footer > * { min-width: 0; }
#site-footer .site-footer-brand { width: 100%; max-width: 385px; gap: 14px; }
#site-footer .site-footer-top { display: flex; width: 100%; gap: 18px; }
#site-footer .site-footer-top img { width: 245px; max-width: calc(100% - 65px); }
#site-footer .age-badge { flex: none; min-width: 42px; height: 31px; font-size: 14px; }
#site-footer .site-footer-intro { margin: 0; max-width: 355px; color: #8f9eae; font-size: 12px; line-height: 1.8; }
#site-footer .site-footer-nav { gap: 11px; padding-top: 3px; }
#site-footer .sf-footer-title { margin: 0 0 8px; opacity: 1; color: var(--color-base-content); font: 700 11px/1.4 var(--display); letter-spacing: .1em; }
#site-footer .site-footer-nav a, #site-footer .site-footer-nav button { padding: 0; border: 0; background: none; color: #95a3b4; font: 500 13px/1.65 Manrope, sans-serif; text-decoration: none; text-align: left; cursor: pointer; transition: color .15s; }
#site-footer .site-footer-nav a:hover, #site-footer .site-footer-nav button:hover { color: var(--color-primary); }
#site-footer .site-footer-nav a:focus-visible, #site-footer .site-footer-nav button:focus-visible { outline: 1px solid var(--color-primary); outline-offset: 5px; border-radius: 2px; }
#site-footer .site-footer-nav a span { margin-left: 5px; color: #6f8b9d; }
#site-footer .site-footer-bottom { display: flex; grid-column: 1 / -1; width: 100%; gap: 12px; margin-top: 0; padding-top: 18px; align-items: center; color: #687b8e; border-top-color: #8ddcff17; }
#site-footer .site-footer-bottom.has-company-details { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; padding-top: 22px; }
#site-footer .site-footer-company { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 20px 40px; width: 100%; }
#site-footer .site-footer-company-name { margin: 0 0 7px; color: var(--color-base-content); font: 600 13px/1.5 Manrope, sans-serif; letter-spacing: 0; text-transform: none; opacity: .85; }
#site-footer .site-footer-company-address p { max-width: 610px; margin: 0; color: color-mix(in srgb, var(--color-base-content) 64%, transparent); font-size: 11px; line-height: 1.8; }
#site-footer .site-footer-company-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 30px; margin: 0; }
#site-footer .site-footer-company-details dt { margin-bottom: 7px; color: color-mix(in srgb, var(--color-base-content) 50%, transparent); font-size: 10px; line-height: 1.8; }
#site-footer .site-footer-company-details dd { margin: 0; color: color-mix(in srgb, var(--color-base-content) 75%, transparent); font-size: 12px; line-height: 1.65; font-variant-numeric: tabular-nums; white-space: nowrap; }
#site-footer .site-footer-copyright { display: flex; justify-content: space-between; gap: 12px; width: 100%; }
@media (max-width: 900px) {
  #site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 30px; }
  #site-footer .site-footer-brand { grid-column: 1 / -1; max-width: none; }
  #site-footer .site-footer-top { max-width: 385px; }
  #site-footer .site-footer-intro { max-width: 460px; }
  #site-footer .site-footer-company { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  #site-footer .site-footer-company-details { width: max-content; max-width: 100%; }
}
@media (max-width: 540px) {
  #site-footer { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  #site-footer .site-footer-top { max-width: none; }
  #site-footer .site-footer-top img { width: 190px; }
  #site-footer .site-footer-nav { gap: 10px; }
  #site-footer .site-footer-nav a, #site-footer .site-footer-nav button { font-size: 12px; }
  #site-footer .site-footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; }
  #site-footer .site-footer-bottom.has-company-details { gap: 22px; }
  #site-footer .site-footer-copyright { align-items: flex-start; flex-direction: column; gap: 5px; }
}
