.site-footer { position: relative; margin-top: var(--space-8); overflow: hidden; background: var(--color-azure-100); color: var(--color-navy-950); }
.site-footer__landscape { height: clamp(5.5rem, 12vw, 9.5rem); color: var(--color-emerald-700); }
.site-footer__landscape svg { width: 100%; height: 100%; }
.site-footer__landscape path:nth-child(2) { color: var(--color-sun-400); }
.site-footer__landscape circle { color: var(--color-pearl-50); }
.site-footer__top { padding: var(--space-6) 0 var(--space-8); background: var(--color-pearl-50); }
.site-footer__grid { display: grid; gap: var(--space-7); grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); }
.site-footer__identity h2,.site-footer__links h2,.site-footer__contact h2 { margin: 0 0 var(--space-3); font-size: var(--text-xl); text-transform: uppercase; }
.site-footer__identity p,.site-footer__contact p { margin: 0; }
.site-footer__identity,.site-footer__contact { display: grid; align-content: start; gap: var(--space-3); }
.site-footer__eyebrow { color: var(--color-emerald-700); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-footer__game-note { padding-left: var(--space-3); border-left: 3px solid var(--color-sun-400); color: var(--color-muted); font-size: var(--text-sm); line-height: 1.5; }
.site-footer__links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); margin: 0; padding: 0; list-style: none; }
.site-footer__links li,.site-footer__links li + li { margin: 0; padding: 0; }
.site-footer__links a { font-size: var(--text-sm); font-weight: 600; }
.site-footer__contact address { display: grid; gap: var(--space-2); margin: 0; font-style: normal; }
.site-footer__bottom { padding: var(--space-5) 0; background: var(--color-navy-950); color: var(--color-pearl-50); }
.site-footer__bottom-inner { display: grid; gap: var(--space-4); }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom-inner > p:first-child { max-width: 68rem; color: #dce7ef; font-size: var(--text-sm); }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; color: var(--color-sun-400); font-family: var(--font-heading); font-size: var(--text-xs); font-weight: 700; letter-spacing: .035em; line-height: 1.45; text-transform: uppercase; }
.site-footer__legal a { color: var(--color-pearl-50); }
.site-footer__legal a:hover { color: var(--color-sun-400); }
.site-footer__copyright { color: #b9cad8; font-size: var(--text-sm); }

.consent-banner { position: fixed; z-index: 200; right: var(--space-3); bottom: var(--space-3); left: var(--space-3); max-width: 70rem; margin-inline: auto; padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-pearl-50); box-shadow: var(--shadow-raised); }
.consent-banner[hidden] { display: none; }
.consent-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }
.consent-banner__copy { min-width: 0; }
.consent-banner__copy h2 { margin: 0 0 var(--space-2); font-size: var(--text-xl); }
.consent-banner__copy p { margin: 0 0 var(--space-2); max-width: 48rem; font-size: var(--text-sm); }
.consent-banner__copy a { font-size: var(--text-sm); font-weight: 600; }
.consent-banner__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }

@media (max-width: 48rem) { .site-footer__grid { grid-template-columns: 1fr; gap: var(--space-6); } .site-footer__top { padding-bottom: var(--space-7); } .consent-banner__inner { align-items: stretch; flex-direction: column; gap: var(--space-4); } .consent-banner__actions { display: grid; grid-template-columns: 1fr 1fr; } .consent-banner__actions .button { width: 100%; } }
@media (max-width: 30rem) { .site-footer__links ul { grid-template-columns: 1fr; } .consent-banner { right: var(--space-2); bottom: var(--space-2); left: var(--space-2); } }