.app-footer[data-v-cd2cddbd]{background:var(--color-card-bg);border-top:1px solid var(--color-card-border);padding:3rem 0 1.5rem}.footer-inner[data-v-cd2cddbd]{margin:0 auto;max-width:var(--container-wide);padding:0 1.5rem}.footer-grid[data-v-cd2cddbd]{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:2rem}@media(max-width:767px){.footer-grid[data-v-cd2cddbd]{gap:2rem;grid-template-columns:1fr 1fr}.footer-brand[data-v-cd2cddbd]{grid-column:1/-1}}.footer-logo-wrap[data-v-cd2cddbd]{margin-bottom:.75rem}.footer-tagline[data-v-cd2cddbd]{color:var(--color-text-muted);font-family:var(--font-heading);font-size:.92rem;font-style:italic;letter-spacing:.01em;margin-bottom:1rem}.footer-description[data-v-cd2cddbd]{line-height:1.6;margin-bottom:1.15rem;max-width:280px}.footer-contact[data-v-cd2cddbd],.footer-description[data-v-cd2cddbd]{color:var(--color-text-body);font-size:.9rem}.footer-contact[data-v-cd2cddbd]{margin-bottom:.4rem}.footer-contact a[data-v-cd2cddbd]{color:var(--color-primary);font-weight:500;text-decoration:none}.footer-contact a[data-v-cd2cddbd]:hover{text-decoration:underline}.footer-socials[data-v-cd2cddbd]{display:flex;gap:.5rem;margin-top:1rem}.footer-social[data-v-cd2cddbd]{align-items:center;background:var(--color-mint-wash);border-radius:var(--r-circle);color:var(--color-primary);display:flex;height:40px;justify-content:center;text-decoration:none;transition:var(--transition-smooth);width:40px}.footer-social[data-v-cd2cddbd]:hover{background:var(--color-primary);color:var(--color-white)}.footer-col h4[data-v-cd2cddbd]{color:var(--color-primary);font-family:var(--font-heading);font-size:var(--fs-h4);font-weight:600;margin-bottom:.75rem}.footer-col ul[data-v-cd2cddbd]{list-style:none;margin:0;padding:0}.footer-col a[data-v-cd2cddbd]{color:var(--color-text-muted);display:block;font-size:.9rem;line-height:2;text-decoration:none;transition:color var(--dur-fast)}.footer-col a[data-v-cd2cddbd]:hover{color:var(--color-primary)}.footer-bottom[data-v-cd2cddbd]{align-items:center;border-top:1px solid var(--color-card-border);color:var(--color-text-muted);display:flex;font-size:.8rem;justify-content:space-between;padding-top:1.5rem}
