.footer{border-top:1px solid rgba(15,118,110,0.7);background:radial-gradient(circle at top,rgba(6,78,59,0.4),rgba(2,6,23,1));padding-block:2.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.footer-upper{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:2rem}.footer-brand{max-width:360px}.footer-brand-mark{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem}.footer-brand-glyph{width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border-brass);background:radial-gradient(circle at 30% 0,#eab308,transparent 55%),radial-gradient(circle at 80% 100%,#059669,transparent 60%),radial-gradient(circle at 10% 100%,#0f172a,transparent 65%);box-shadow:0 0 0 1px rgba(5,46,22,0.9),0 0 24px rgba(250,204,21,0.35)}.footer-brand-text{display:flex;flex-direction:column;gap:0.1rem}.footer-brand-name{font-family:var(--font-display);font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-50)}.footer-brand-tagline{font-size:0.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.footer-copy{margin-top:0.5rem;max-width:30rem}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;flex:1}.footer-heading{font-size:0.9rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:0.75rem;color:var(--gray-50)}.footer-links{display:flex;flex-direction:column;gap:0.4rem}.footer-links a{color:var(--color-text-muted);font-size:0.85rem}.footer-links a:hover{color:var(--color-text)}.footer-contact-line{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.4rem}.footer-contact-line i{color:var(--color-warning);font-size:0.85rem}.footer-contact-line a{color:var(--color-text-muted)}.footer-contact-line a:hover{color:var(--color-text)}.footer-cta{margin-top:0.75rem;font-size:0.8rem;padding-inline:1.25rem}.footer-lower{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:space-between;align-items:center;border-top:1px solid rgba(15,118,110,0.6);padding-top:1.25rem}.footer-meta{font-size:0.75rem;color:var(--color-text-muted)}@media (max-width:960px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.footer-upper{flex-direction:column}.footer-columns{grid-template-columns:1fr}.footer-lower{flex-direction:column;align-items:flex-start}}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(2,6,23,0.98);border-top:1px solid rgba(15,118,110,0.8);box-shadow:0 -10px 30px rgba(0,0,0,0.75);transform:translateY(100%);opacity:0;transition:transform var(--transition-base),opacity var(--transition-base)}.cookie-banner.is-visible{transform:translateY(0);opacity:1}.cookie-banner-inner{max-width:1120px;margin:0 auto;padding:0.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.cookie-banner-text{max-width:640px}.cookie-title{font-size:0.95rem;margin-bottom:0.25rem}.cookie-description{font-size:0.8rem;margin:0;color:var(--color-text-muted)}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-end}.cookie-btn{font-size:0.75rem;padding-inline:1.1rem;padding-block:0.5rem}@media (max-width:640px){.cookie-banner-inner{flex-direction:column;align-items:flex-start}.cookie-banner-actions{width:100%;justify-content:flex-start}}.age-gate-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,0.82);display:flex;align-items:center;justify-content:center;padding:1.5rem;transition:opacity var(--transition-base),visibility var(--transition-base)}.age-gate-overlay[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none}.age-gate-modal{max-width:480px;width:100%;background:radial-gradient(circle at 0 0,rgba(34,197,94,0.18),transparent 55%),radial-gradient(circle at 100% 100%,rgba(6,78,59,0.75),transparent 60%),linear-gradient(145deg,#020617,#022c22 50%,#020617 100%);border-radius:var(--radius-xl);border:1px solid var(--color-border-brass);box-shadow:var(--shadow-elevated);padding:1.75rem 1.75rem 1.5rem}.age-gate-header h2{font-size:1.3rem;margin-bottom:0.75rem}.age-gate-body p{font-size:0.9rem;margin-bottom:1rem;color:var(--color-text-muted)}.age-gate-actions{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:flex-end}.age-gate-actions .btn{font-size:0.8rem;padding-inline:1.4rem;padding-block:0.6rem}@media (max-width:480px){.age-gate-modal{padding:1.4rem}.age-gate-actions{flex-direction:column;align-items:stretch}.age-gate-actions .btn{width:100%}}