/* Canonical footer styles, scoped to the shared footer only. */

    #inplex-public-footer .footer-brand-mark {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
        flex: none;
    }

    #inplex-public-footer .footer-brand-mark img {
        display: block;
        position: relative;
        z-index: 10;
        object-fit: contain;
        transform: scale(0.75);
        width: 100% !important;
        height: 100% !important;
    }

    #inplex-public-footer .footer-brand-mark::before {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 50%;
        border: 2px solid rgba(34, 211, 238, 0.4);
        border-top-color: transparent;
        z-index: 1;
        /* FIX: Apply animation directly, remove .js-ready dependency */
        animation: publicFooterSpin 8s linear infinite;
        will-change: transform;
    }

    @keyframes publicFooterSpin {
        0% { transform: rotate(0); }
        100% { transform: rotate(360deg); }
    }

    /* --- FOOTER SPECIFIC STYLES --- */
    #inplex-public-footer .footer-heading {
        font-size: 0.75rem;
        line-height: 1rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #94a3b8; /* Slate-400 */
        margin-bottom: 1.5rem;
    }

    #inplex-public-footer .footer-link {
        font-size: 0.875rem;
        color: #cbd5e1; /* Slate-300 */
        transition: color 0.2s;
        display: block;
        margin-bottom: 0.75rem;
    }

    #inplex-public-footer .footer-link:hover {
        color: #22d3ee; /* Cyan-400 */
    }

    #inplex-public-footer .footer-social-icon {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.05);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #cbd5e1;
        transition: all 0.2s;
    }

    #inplex-public-footer .footer-social-icon:hover {
        background: rgba(34, 211, 238, 0.1);
        color: #22d3ee;
    }

    #inplex-public-footer .footer-cta-card {
        background: rgba(30, 41, 59, 0.4);
        border: 1px solid rgba(255, 255, 255, 0.05);
        border-radius: 1rem;
        padding: 1.5rem;
    }

    #inplex-public-footer .back-to-top {
        font-size: 0.75rem;
        font-weight: 600;
        color: #22d3ee;
        display: inline-flex;
        align-items: center;
        margin-top: 1rem;
        cursor: pointer;
    }

    #inplex-public-footer .back-to-top:hover {
        text-decoration: underline;
    }

    @media (hover: none) {
        #inplex-public-footer .footer-link:active { color: #22d3ee !important; }
    }

#inplex-public-footer {
  font-family: "Inter", sans-serif;
  border-top-color: rgba(148, 163, 184, 0.12);
  background: radial-gradient(circle at top left, rgba(34, 211, 238, 0.08), transparent 30rem), #0b1120;
}
#inplex-public-footer .content-shell {
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 60px;
}
@media (max-width: 640px) {
  #inplex-public-footer .content-shell { padding-inline: 16px; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  #inplex-public-footer .content-shell { padding-inline: 24px; }
}
#inplex-public-footer .footer-heading {
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}
#inplex-public-footer .footer-link {
  width: fit-content;
  border-radius: 8px;
  font-weight: 400;
  padding: 0.12rem 0.22rem;
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}
#inplex-public-footer .footer-link:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateX(2px);
}
#inplex-public-footer .footer-link:active { transform: translateX(0); }
#inplex-public-footer .footer-social-icon { border: 1px solid rgba(148, 163, 184, 0.14); }
#inplex-public-footer .footer-cta-card a { border-radius: 10px; font-weight: 700; }
