.footer{background-color:var(--felt-dark);color:var(--card-cream);margin-top:0;padding:3rem 1rem 1.5rem}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;display:grid}@media (min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.footer-grid{grid-template-columns:2fr repeat(5,1fr)}}.footer-section{flex-direction:column;gap:.75rem;display:flex}.footer-brand{font-family:var(--font-display),"Playfair Display",serif;color:var(--gold);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.footer-tagline{font-family:var(--font-body),sans-serif;color:var(--card-cream);margin:0;font-size:.875rem;line-height:1.5}.footer-heading{font-family:var(--font-body),sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--card-cream);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.footer-links{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.footer-links a{font-family:var(--font-body),sans-serif;color:var(--card-cream);align-items:center;min-height:44px;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.footer-links a:hover,.footer-link-button:hover{color:var(--gold);text-decoration:underline}.footer-links a.footer-link-active{color:var(--gold);font-weight:700}.footer-link-button{font-family:var(--font-body),sans-serif;color:var(--card-cream);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;min-height:44px;padding:0;font-size:.875rem;display:inline-flex}.footer-links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.footer-link-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (min-width:1024px){.footer-links{gap:0}.footer-links a,.footer-link-button{min-height:32px}}.footer-bottom{text-align:center;border-top:1px solid #ffffff1a;padding-top:1.5rem}.footer-copyright{font-family:var(--font-body),sans-serif;color:var(--neutral-300);margin:0;font-size:.875rem}
