/* Footer — negro y dorado del logo */
.site-footer { background: #0e0d0a !important; color: #f6f0e1; padding: 0 !important; clear: both; font-family: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 1rem; line-height: 1.55; }
.site-footer .jj-footer, .site-footer .jj-footer * { box-sizing: border-box; }
.site-footer .jj-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer .jj-footer a { color: inherit; text-decoration: none; }
.site-footer .jj-footer :focus-visible { outline: 3px solid #e7be1e; outline-offset: 3px; }
.jj-footer__wrap { width: min(100% - 2.5rem, 1240px); margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3rem); display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
.jj-footer__logo { display: inline-flex; align-items: center; gap: .9rem; }
.jj-footer__logoimg { width: 4.5rem; height: 4.5rem; border-radius: 50%; }
.jj-footer__logo span { font: 600 1.6rem/1.1 'Fraunces', Georgia, serif; letter-spacing: -.02em; }
.jj-footer__brand p { margin: 1rem 0 1.25rem; max-width: 36ch; color: rgba(246, 240, 225, .85); }
.jj-footer__social { display: flex; flex-wrap: wrap; gap: .5rem; }
.jj-footer__social a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: .4rem 1rem; border: 1px solid rgba(246, 240, 225, .4); font-weight: 600; transition: background-color .25s, color .25s, border-color .25s; }
.jj-footer__social a:hover { background: #e7be1e; color: #0e0d0a; border-color: #e7be1e; }
.site-footer .jj-footer__col h2 { font: 600 .8125rem/1.2 'Instrument Sans', system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #e7be1e; margin: 0 0 1rem; padding: 0; }
.jj-footer__col li + li { margin-top: .15rem; }
.jj-footer__col a { display: inline-block; padding: .3rem 0; color: rgba(246, 240, 225, .92); background: linear-gradient(#e7be1e, #e7be1e) 0 100% / 0 2px no-repeat; transition: background-size .35s cubic-bezier(.16, 1, .3, 1), color .2s; }
.jj-footer__col a:hover { color: #fff; background-size: 100% 2px; }
.jj-footer__bar { border-top: 1px solid rgba(246, 240, 225, .2); }
.jj-footer__barwrap { width: min(100% - 2.5rem, 1240px); margin: 0 auto; padding: 1.5rem 0 2rem; display: grid; gap: 1rem; grid-template-columns: 1fr; font-size: .875rem; }
.site-footer .jj-footer__barwrap p { margin: 0; color: rgba(246, 240, 225, .8); }
.jj-footer__links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.jj-footer__links a:hover, .jj-footer__credit a:hover { color: #e7be1e; }
.jj-footer__credit a { color: #f6f0e1; font-weight: 600; text-decoration: underline; text-decoration-color: #e7be1e; text-decoration-thickness: 2px; text-underline-offset: .25em; }
@media (min-width: 700px) { .jj-footer__wrap { grid-template-columns: repeat(2, 1fr); } .jj-footer__brand { grid-column: 1 / -1; } }
@media (min-width: 1000px) {
	.jj-footer__wrap { grid-template-columns: 1.5fr 1fr 1.3fr 1fr; gap: clamp(2rem, 4vw, 4rem); }
	.jj-footer__brand { grid-column: auto; }
	.jj-footer__barwrap { grid-template-columns: 1fr auto auto; align-items: center; gap: 1.5rem 2rem; }
}
@media (prefers-reduced-motion: reduce) { .site-footer * { transition: none !important; } }
