/* Footer on navy: the closing CTA on a textured sky panel, links, then the wordmark across the full width. */
.site-footer { margin: 16px !important; padding: 24px; border-radius: 40px; background: var(--ink); color: #fff; overflow: hidden; }
.footer-cta { display: flex; max-width: 1340px; margin: 0 auto; align-items: center; justify-content: center; overflow: hidden;
  padding: 120px 32px; text-align: center; border-radius: 36px;
  background: radial-gradient(60% 80% at 15% 20%, var(--canvas-sky), transparent 70%), radial-gradient(50% 70% at 90% 10%, var(--canvas-lilac), transparent 70%),
    radial-gradient(60% 80% at 80% 100%, var(--canvas-aqua), transparent 70%), #C9DAFF; }
.footer-cta-content { display: flex; max-width: 680px; flex-direction: column; align-items: center; gap: 18px; }
.footer-cta-title { margin: 0; font: 800 64px/1.02 var(--font-sans); letter-spacing: -2.4px; color: var(--ink); }
.footer-cta-text { margin: 0; max-width: 460px; color: var(--slate); font-size: 19px; line-height: 1.5; }
.footer-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
.footer-cta-button, .footer-cta-ghost { display: inline-flex; align-items: center; height: 54px; padding: 0 28px; border-radius: 999px; font: 600 16px/1 var(--font-sans);
  transition: background-color 160ms var(--ease-out-soft), transform 90ms var(--ease-out-soft); }
.footer-cta-button { background: var(--blue); box-shadow: var(--shadow-glow); color: #fff; }
.footer-cta-button:hover { background: var(--blue-deep); }
.footer-cta-ghost { background: var(--paper); box-shadow: var(--shadow-lift); color: var(--ink); }
.footer-cta-button:active, .footer-cta-ghost:active { transform: scale(0.97); }
.footer-cta-fine { font: 400 14px/1 var(--font-sans); color: var(--slate); }
.footer-main { max-width: 1340px; margin: 0 auto; padding: 88px 32px 0; }
.footer-inner { display: flex; justify-content: space-between; gap: 48px; }
.footer-tag { margin: 0; max-width: 320px; font: 700 30px/1.15 var(--font-sans); letter-spacing: -0.8px; color: #fff; }
.footer-columns { display: grid; grid-template-columns: auto auto; gap: 96px; }
.footer-col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.footer-col-title { margin-bottom: 8px; color: rgba(234,240,255,0.5); font-weight: 500; }
.footer-col a { color: rgba(234,240,255,0.85); transition: color 160ms var(--ease-out-soft); }
.footer-col a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 72px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.12);
  font: 400 14px/1 var(--font-sans); color: rgba(234,240,255,0.55); }
/* The wordmark at full width; the viewBox already carries its own side space, so it bleeds to the edges. */
.footer-giant { display: block; width: calc(100% + 48px); max-width: none; margin: 56px -24px -2%; height: auto; }
@media (max-width: 991px) { .footer-columns { gap: 48px; } }
@media (max-width: 767px) {
  .site-footer { padding: 12px; }
  .footer-cta { padding: 72px 20px; border-radius: 26px; }
  .footer-cta-title { font-size: 40px; letter-spacing: -1.4px; }
  .footer-main { padding: 56px 12px 0; }
  .footer-inner { flex-direction: column; }
  .footer-columns { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; }
}
