    /* Minimal, self-contained styles to reproduce the footer look */
    :root{
      --bg-from: #f8fafc;
      --bg-to: #f3f4f6;
      --border: #e5e7eb;
      --muted: #6b7280;
      --muted-strong: #374151;
      --accent-blue: #2563eb;
      --accent-emerald: #10b981;
      --accent-purple: #7c3aed;
      --accent-amber: #f59e0b;
      --accent-green: #16a34a;
      --accent-rose: #ef4444;
      --radius: 12px;
      --container: 1200px;
      --gap: 1.25rem;
      --link-hover: 0.92;
    }

    *{box-sizing:border-box}
    html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:#fff;color:var(--muted-strong);-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    .container{max-width:var(--container);margin:0 auto;padding:0 1rem}

    footer {
      background: linear-gradient(to bottom, var(--bg-from), var(--bg-to));
      border-top: 1px solid var(--border);
      padding: 4rem 0;
      color: var(--muted-strong);
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 1.25rem;
    }
    @media (min-width: 640px) { .grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
    @media (min-width: 768px) { .grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }
    @media (min-width: 1024px) { .grid { grid-template-columns: repeat(5, minmax(0,1fr)); } }

    .col { display:flex; flex-direction:column; gap:1rem; }
    .col h3 { display:flex; align-items:center; gap:.5rem; margin:0; font-size:1rem; font-weight:700; color:var(--muted-strong); }
    .col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; }
    .col li { line-height:1; }
    .link {
      display:flex; align-items:center; gap:.6rem; color:var(--muted); font-size:.95rem; transition: color .18s ease, transform .12s ease;
    }
    .link svg { flex:0 0 auto; display:block; }
    .link .dot { width:.6rem; height:.6rem; border-radius:999px; display:inline-block; margin-right:.5rem; flex:0 0 auto; }

    .link:hover { color: var(--muted-strong); transform: translateY(-2px); }
    .link .group-hover-font { transition: font-weight .12s ease; }
    .link:hover .group-hover-font { font-weight:600; }

    /* Footer bottom */
    .footer-bottom { margin-top: 3rem; border-top:1px solid var(--border); padding-top:1.5rem; display:flex; flex-direction:column; gap:1rem; align-items:center; }
    @media(min-width:768px){ .footer-bottom { flex-direction:row; justify-content:space-between; align-items:center; } }

    .brand {
      display:flex; align-items:center; gap:.75rem;
    }
    .brand-badge { width:40px; height:40px; border-radius:999px; display:inline-grid; place-items:center; color:#fff; font-weight:700; background: linear-gradient(90deg,var(--accent-blue),var(--accent-emerald),var(--accent-purple)); }
    .copyright { font-size:.9rem; color:var(--muted); margin:0; }

    .footer-links { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
    .footer-links a { display:inline-flex; gap:.4rem; align-items:center; color:var(--muted); font-size:.9rem; transition: color .12s ease; }
    .footer-links a:hover { color:var(--muted-strong); }

    .badge-row { margin-top:1rem; display:flex; justify-content:center; }
    .badge { display:inline-flex; align-items:center; gap:.6rem; padding:.5rem .9rem; border-radius:999px; border:1px solid var(--border); background: linear-gradient(90deg,#eff6ff,#ecfdf5,#f5f3ff); color:var(--muted-strong); font-size:.95rem; }
    .badge svg { opacity:.95; }

    /* small utilities */
    .muted { color:var(--muted); }
    .mt-6 { margin-top:1.5rem; }
    .flex { display:flex; }
    .items-center { align-items:center; }
    .justify-between { justify-content:space-between; }
    .space-x-6 > * + * { margin-left:1.5rem; }
