.site-footer {
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--color-border-copper);
    background: var(--color-charcoal);
    color: var(--color-warm-white)
}

.site-footer::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(23, 20, 22, .94), rgba(23, 20, 22, .72) 52%, rgba(23, 20, 22, .9)), url('/assets/images/footer-night.webp') center/cover no-repeat;
    content: ""
}

.site-footer__inner {
    position: relative;
    width: min(100% - (2 * var(--gutter)), var(--container-max));
    margin-inline: auto;
    padding-block: var(--space-9) var(--space-6)
}

.site-footer__statement {
    max-width: 46rem;
    margin: 0 0 var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: var(--border-hairline);
    color: var(--color-champagne);
    font-family: var(--font-heading);
    font-size: clamp(2.25rem, 4vw, 3.5rem);
    font-weight: 500;
    line-height: 1.02
}

.site-footer__grid {
    display: grid;
    grid-template-columns: minmax(14rem, 1.45fr) repeat(3, minmax(8rem, 1fr));
    gap: var(--space-6)
}

.site-footer__brand {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    color: var(--color-champagne);
    font-family: var(--font-heading);
    font-size: 1.5rem;
    line-height: 1
}

.site-footer__brand img {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: contain
}

.site-footer__copy {
    max-width: 25rem;
    margin: 0;
    color: var(--color-muted-text)
}

.site-footer__heading {
    margin: 0 0 var(--space-3);
    color: var(--color-champagne);
    font-family: var(--font-body);
    font-size: var(--text-eyebrow);
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase
}

.site-footer__list {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none
}

.site-footer__list li {
    margin: 0;
    padding: 0
}

.site-footer__list a {
    color: var(--color-warm-white);
    font-size: var(--text-caption)
}

.site-footer__contact {
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--color-muted-text);
    font-size: var(--text-caption)
}

.site-footer__contact li+li {
    margin-top: var(--space-2)
}

.site-footer__contact a {
    color: var(--color-warm-white)
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-8);
    padding-top: var(--space-4);
    border-top: var(--border-hairline);
    color: var(--color-muted-text);
    font-size: var(--text-caption)
}

.site-footer__bottom p {
    margin: 0
}

.site-footer__bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none
}

.site-footer__bottom-links a {
    color: var(--color-muted-text)
}

.site-consent {
    position: fixed;
    z-index: 850;
    right: var(--space-4);
    bottom: var(--space-4);
    width: min(calc(100% - (2 * var(--space-4)), 31rem)); padding:var(--space-5); border:var(--border-copper); background:var(--surface-glass); box-shadow:var(--shadow-panel)
    }

    .site-consent[hidden] {
        display:none !important
    }

    .site-consent__title {
        margin:0 0 var(--space-2); color:var(--color-champagne); font-family:var(--font-heading); font-size:1.5rem; line-height:1.1
    }

    .site-consent__copy {
        margin:0; color:var(--color-muted-text); font-size:var(--text-caption); line-height:var(--line-caption)
    }

    .site-consent__actions {
        display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-4)
    }

    .site-consent__button {
        min-height:2.75rem; padding:.75rem 1rem; border:1px solid var(--color-burnt-copper); border-radius:0; background:transparent; color:var(--color-warm-white); font-size:var(--text-nav); font-weight:600; letter-spacing:.04em; line-height:1.2; transition:background-color var(--transition-fast), color var(--transition-fast)
    }

    .site-consent__button:hover {
        background:var(--color-burnt-copper)
    }

    .site-consent__button--reject {
        border-color:var(--color-border); color:var(--color-muted-text)
    }

    .site-consent__button--reject:hover {
        background:var(--color-walnut); color:var(--color-warm-white)
    }

    [data-age-modal] {
        position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:var(--space-4); overflow:auto; background:rgba(23, 20, 22, .88)
    }

    [data-age-modal][hidden] {
        display:none !important
    }

    .site-age-modal__dialog {
        width:min(100%, 32rem); padding:var(--space-6); border:1px solid var(--color-champagne); background:var(--color-walnut); box-shadow:var(--shadow-panel)
    }

    .site-age-modal__eyebrow {
        display:block; margin-bottom:var(--space-3); color:var(--color-burnt-copper); font-size:var(--text-eyebrow); font-weight:700; letter-spacing:.14em; text-transform:uppercase
    }

    .site-age-modal__title {
        margin:0 0 var(--space-3); color:var(--color-champagne); font-size:clamp(2rem, 5vw, 2.5rem); line-height:1.08
    }

    .site-age-modal__copy {
        margin:0; color:var(--color-warm-white)
    }

    .site-age-modal__actions {
        display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-top:var(--space-5)
    }

    .site-age-modal__button {
        min-height:2.75rem; padding:.75rem 1rem; border:1px solid var(--color-burnt-copper); border-radius:0; background:transparent; color:var(--color-warm-white); font-size:var(--text-nav); font-weight:600; letter-spacing:.04em; line-height:1.2; transition:background-color var(--transition-fast), color var(--transition-fast)
    }

    .site-age-modal__button:hover {
        background:var(--color-burnt-copper)
    }

    .site-age-modal__button--decline {
        border-color:var(--color-border); color:var(--color-muted-text)
    }

    .site-age-modal__button--decline:hover {
        background:var(--color-charcoal); color:var(--color-warm-white)
    }

    @media (max-width:63.9375rem) {
        .site-footer__grid {
            grid-template-columns:repeat(2, minmax(0, 1fr))
        }

        .site-footer__intro {
            grid-column:1/-1
        }
    }

    @media (max-width:47.9375rem) {
        .site-footer__inner {
            padding-block:var(--space-7) var(--space-5)
        }

        .site-footer__statement {
            margin-bottom:var(--space-6)
        }

        .site-footer__grid {
            grid-template-columns:1fr; gap:var(--space-5)
        }

        .site-footer__bottom {
            align-items:flex-start; flex-direction:column; margin-top:var(--space-6)
        }

        .site-consent {
            right:var(--gutter-mobile); bottom:var(--gutter-mobile); width:calc(100% - (2 * var(--gutter-mobile)))
        }

        [data-age-modal] {
            place-items:start center;
            padding:var(--gutter-mobile)
        }

        .site-age-modal__dialog {
            width:100%;
            margin-block:auto;
            padding:var(--space-5);
            max-height:calc(100vh - (2 * var(--gutter-mobile)));
            overflow-y:auto
        }

        .site-age-modal__actions {
            grid-template-columns:1fr
        }
    }