.footer{background-color:var(--color-gray-900);color:var(--color-gray-300);padding:var(--space-16) 0 var(--space-8)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--space-8);margin-bottom:var(--space-12)}.footer-brand p{color:var(--color-gray-400);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:var(--space-4);max-width:300px}.footer-social{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background-color:rgb(255 255 255 / .1);color:var(--color-gray-300);transition:all var(--transition-fast)}.footer-social a:hover{background-color:var(--color-primary);color:var(--color-white)}.footer-social a svg{width:18px;height:18px}.footer h4{color:var(--color-white);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.footer-links li+li{margin-top:var(--space-2)}.footer-links a{font-size:var(--font-size-sm);color:var(--color-gray-400);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-primary)}.footer-newsletter p{font-size:var(--font-size-sm);color:var(--color-gray-400);margin-bottom:var(--space-4)}.newsletter-form{display:flex;gap:var(--space-2)}.newsletter-form input{flex:1;padding:var(--space-2) var(--space-3);background-color:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-sm);color:var(--color-white);font-size:var(--font-size-sm)}.newsletter-form input::placeholder{color:var(--color-gray-400)}.newsletter-form input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.newsletter-form button{padding:var(--space-2) var(--space-4);background-color:var(--color-primary);color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.newsletter-form button:hover{background-color:var(--color-primary-dark)}.footer-bottom{border-top:1px solid rgb(255 255 255 / .1);padding-top:var(--space-8);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.footer-bottom p{font-size:var(--font-size-sm);color:var(--color-gray-400)}.footer-bottom a{color:var(--color-primary)}.footer-bottom a:hover{text-decoration:underline}