.footer{border-top:1px solid rgba(39,39,42,0.9);background:radial-gradient(circle at 0 0,rgba(24,24,27,0.95) 0,#020617 80%);padding-top:var(--space-8);padding-bottom:var(--space-8);font-size:var(--text-sm);margin-top:var(--space-16)}.footer-main{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:var(--space-8);align-items:flex-start}.footer-heading{font-family:var(--font-serif-display);font-size:1rem;margin-bottom:var(--space-3);color:var(--gray-100)}.footer-link{display:block;margin-bottom:0.5rem;color:var(--gray-400);font-size:var(--text-sm)}.footer-link:hover{color:var(--gray-100)}.footer-contact-meta{display:flex;flex-direction:column;gap:0.25rem;font-size:var(--text-sm);color:var(--gray-400)}.footer-contact-meta i{margin-right:0.5rem;color:var(--color-primary)}.footer-bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgba(39,39,42,0.9);display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--gray-500)}.footer-age-note{color:var(--gray-300)}@media (max-width:1100px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.footer-main{grid-template-columns:1fr}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;transform:translateY(100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base);background:radial-gradient(circle at 0 0,rgba(24,24,27,0.97) 0,#020617 80%);border-top:1px solid var(--color-border-subtle);box-shadow:0 -18px 35px rgba(0,0,0,0.7)}.cookie-banner.is-visible{transform:translateY(0);opacity:1;visibility:visible}.cookie-banner-inner{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.cookie-banner-title{font-size:var(--text-base);margin-bottom:var(--space-2)}.cookie-banner-text p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.cookie-btn{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}.cookie-btn-reject{border:1px solid var(--color-border-subtle);padding:0.55rem 1.25rem;border-radius:999px;background:rgba(24,24,27,0.9);color:var(--gray-100)}.cookie-btn-reject:hover{border-color:var(--gray-500)}.cookie-btn-accept{padding:0.55rem 1.5rem}.cookie-banner[aria-hidden="true"]{display:none}@media (max-width:640px){.cookie-banner-inner{flex-direction:column;align-items:flex-start}}.age-gate-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.age-gate-overlay.is-visible{opacity:1;visibility:visible}.age-gate-modal{width:100%;max-width:480px;border-radius:var(--radius-xl);border:1px solid var(--color-border-gold);background:radial-gradient(circle at 0 0,rgba(212,175,55,0.2) 0,#020617 70%);box-shadow:var(--shadow-soft);padding:var(--space-6);color:var(--color-text)}.age-gate-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.age-gate-title{font-size:var(--text-2xl);margin:0}.age-gate-description{color:var(--color-text-muted);margin-bottom:var(--space-5)}.age-gate-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.25rem 0.8rem;border-radius:999px;border:1px solid var(--color-border-gold);background:radial-gradient(circle at 0 0,rgba(212,175,55,0.7) 0,#1c1917 70%);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:#fefce8}.age-gate-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.age-gate-btn{min-width:0}.age-gate-no{border-color:var(--color-border-subtle);color:var(--color-text-muted)}.age-gate-no:hover{color:var(--color-text)}@media (max-width:480px){.age-gate-modal{margin:0 var(--space-4);padding:var(--space-5)}.age-gate-header{flex-direction:column;align-items:flex-start}}.age-gate-overlay[aria-hidden="true"]{display:none}