.footer{background-color:var(--color-bg-primary);border-top:1px solid var(--color-bg-hover);padding:var(--spacing-xl) 0;margin-top:auto}@media (min-width:768px){.footer{padding:var(--spacing-xxl) 0 var(--spacing-xl)}}.footer__content{display:grid;gap:var(--spacing-xl)}@media (min-width:768px){.footer__content{grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-xxl)}}.footer__brand{text-align:center}@media (min-width:768px){.footer__brand{text-align:left}}.footer__logo{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm)}.footer__logo,.footer__logo:hover{color:var(--color-text-primary)}.footer__logo-icon{display:block;width:32px;height:32px;border-radius:var(--radius-md)}.footer__tagline{color:var(--color-text-muted);font-size:var(--font-sm)}.footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);text-align:center}@media (min-width:768px){.footer__links{text-align:left}}.footer__links-group h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.footer__links-group a{display:block;padding:var(--spacing-xs) 0;color:var(--color-text-muted);font-size:var(--font-sm);transition:color var(--transition-fast)}.footer__links-group a:hover{color:var(--color-primary)}.footer__social{text-align:center}@media (min-width:768px){.footer__social{text-align:right}}.footer__social h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.footer__social-links{display:flex;justify-content:center;gap:var(--spacing-md)}@media (min-width:768px){.footer__social-links{justify-content:flex-end}}.footer__social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-hover);border-radius:var(--radius-full);color:var(--color-text-secondary);transition:all var(--transition-fast)}.footer__social-links a:hover{background-color:var(--color-primary);color:var(--color-text-primary)}.footer__social-links svg{width:18px;height:18px}.footer__bottom{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-bg-hover);text-align:center}.footer__bottom p{color:var(--color-text-muted);font-size:var(--font-sm)}