/* Skyfield Footer */

#sdFooter, #sdFooter * { box-sizing: border-box; margin: 0; padding: 0; }
#sdFooter {
  --sdf-ink: #f4f4f5;
  --sdf-muted: #a1a1aa;
  --sdf-dim: #7a7a82;
  --sdf-rule: rgba(255,255,255,.1);
  --sdf-hover: #e879f9;
  --sdf-grad: linear-gradient(135deg, #a422e7 0%, #d802b3 100%);
  position: relative;
  background: #000;
  color: var(--sdf-ink);
  font-family: 'Quicksand', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
}
#sdFooter::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--sdf-grad); }
#sdFooter a { color: inherit; text-decoration: none; box-shadow: none; transition: color .15s; }
#sdFooter a:focus-visible, #sdFooter summary:focus-visible { outline: 2px solid var(--sdf-hover); outline-offset: 3px; border-radius: 2px; }
#sdFooter ul { list-style: none; }
#sdFooter img { max-width: none; border: 0; }
#sdFooter svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

#sdFooter .sdf-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; }

#sdFooter .sdf-main { display: grid; grid-template-columns: minmax(280px, 1fr) 2.2fr; gap: 64px; padding: 60px 0 48px; }
#sdFooter .sdf-logo { display: inline-block; }
#sdFooter .sdf-logo img { display: block; height: 36px; width: auto; }
#sdFooter .sdf-about { margin: 20px 0 22px; color: var(--sdf-muted); max-width: 38ch; font-size: 15px; }
#sdFooter .sdf-about strong { color: var(--sdf-ink); font-weight: 600; }
#sdFooter .sdf-nap { font-style: normal; display: grid; gap: 12px; margin-bottom: 24px; }
#sdFooter .sdf-nap a { display: flex; gap: 10px; align-items: flex-start; color: var(--sdf-muted); }
#sdFooter .sdf-nap a:hover { color: var(--sdf-ink); }
#sdFooter .sdf-nap svg { margin-top: 3px; }
#sdFooter .sdf-social { display: flex; gap: 18px; }
#sdFooter .sdf-social a { display: inline-flex; padding: 2px; color: var(--sdf-muted); }
#sdFooter .sdf-social a:hover { color: var(--sdf-hover); }
#sdFooter .sdf-social svg { width: 20px; height: 20px; }

#sdFooter .sdf-nav { display: grid; grid-template-columns: 1.25fr 1fr 1.25fr; gap: 40px; }
#sdFooter .sdf-col { display: flex; flex-direction: column; gap: 36px; }
#sdFooter .sdf-group summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: default; margin-bottom: 18px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sdf-ink); }
#sdFooter .sdf-group summary::-webkit-details-marker { display: none; }
#sdFooter .sdf-group summary svg { display: none; }
#sdFooter .sdf-group ul { display: grid; gap: 11px; }
#sdFooter .sdf-group ul.sdf-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
#sdFooter .sdf-group a { color: var(--sdf-muted); font-size: 14.5px; line-height: 1.4; }
#sdFooter .sdf-group a:hover { color: var(--sdf-hover); }
#sdFooter .sdf-vantage { display: inline-block; width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; }

#sdFooter .sdf-proof { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 48px; padding: 32px 0; border-top: 1px solid var(--sdf-rule); }
#sdFooter .sdf-facts { display: grid; grid-template-columns: repeat(4, auto); gap: 4px 36px; }
#sdFooter .sdf-facts div { display: flex; flex-direction: column; }
#sdFooter .sdf-facts dt { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sdf-dim); }
#sdFooter .sdf-facts dd { color: var(--sdf-ink); font-size: 14.5px; font-weight: 600; }
#sdFooter .sdf-badges { display: flex; align-items: center; gap: 28px; }
#sdFooter .sdf-badges img { display: block; height: 48px; width: auto; opacity: .92; transition: opacity .15s; }
#sdFooter .sdf-badges a:hover img { opacity: 1; }

#sdFooter .sdf-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding: 22px 0 28px; border-top: 1px solid var(--sdf-rule); font-size: 13.5px; color: var(--sdf-dim); }
#sdFooter .sdf-bl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; }
#sdFooter .sdf-legal, #sdFooter .sdf-langs { display: flex; flex-wrap: wrap; gap: 6px 20px; }
#sdFooter .sdf-legal a, #sdFooter .sdf-langs a { color: var(--sdf-dim); }
#sdFooter .sdf-legal a:hover, #sdFooter .sdf-langs a:hover { color: var(--sdf-ink); }
#sdFooter .sdf-langs a[aria-current] { color: var(--sdf-ink); font-weight: 600; }

@media (max-width: 1100px) {
  #sdFooter .sdf-main { grid-template-columns: 1fr; gap: 44px; }
  #sdFooter .sdf-about { max-width: 60ch; }
  #sdFooter .sdf-facts { grid-template-columns: repeat(2, auto); }
}

@media (max-width: 767px) {
  #sdFooter .sdf-inner { padding: 0 20px; }
  #sdFooter .sdf-main { padding: 44px 0 28px; gap: 32px; }
  #sdFooter .sdf-nav { grid-template-columns: 1fr; gap: 0; }
  #sdFooter .sdf-col { display: contents; }
  #sdFooter .sdf-group { border-top: 1px solid var(--sdf-rule); }
  #sdFooter .sdf-group summary { cursor: pointer; margin: 0; padding: 16px 0; font-size: 13px; }
  #sdFooter .sdf-group summary svg { display: block; transition: transform .2s; }
  #sdFooter .sdf-group[open] summary svg { transform: rotate(180deg); }
  #sdFooter .sdf-group ul { gap: 13px; padding-bottom: 18px; }
  #sdFooter .sdf-group a { font-size: 15px; }
  #sdFooter .sdf-proof { flex-direction: column; align-items: flex-start; }
  #sdFooter .sdf-facts { grid-template-columns: 1fr 1fr; gap: 14px 24px; }
  #sdFooter .sdf-badges { flex-wrap: wrap; gap: 20px 24px; }
  #sdFooter .sdf-badges img { height: 42px; }
  #sdFooter .sdf-bottom { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  #sdFooter * { transition: none !important; }
}
