.site-footer { background: var(--color-terrazzo); color: var(--color-ink); }
.site-footer__scene { position: relative; min-height: 31rem; overflow: hidden; background: var(--color-burgundy); color: var(--color-limestone); }
.site-footer__scene::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(72 28 42 / 92%), rgb(72 28 42 / 49%) 58%, rgb(23 71 166 / 55%)); content: ""; }
.site-footer__scene-inner { position: relative; z-index: 1; display: flex; min-height: 31rem; max-width: 55rem; flex-direction: column; justify-content: center; align-items: flex-start; padding-block: var(--space-9); }
.site-footer__scene h2 { margin-bottom: var(--space-6); font-size: clamp(3.25rem, 7vw, 6.5rem); }
.site-footer__table { position: absolute; inset: 0; background: linear-gradient(112deg, #8d6144 0 25%, #b98960 25.2% 41%, #496b57 41.2% 100%); transform: perspective(62rem) rotateX(16deg) scale(1.13); transform-origin: center bottom; }
.site-footer__table::before { position: absolute; inset: 9% 9% 8% 36%; border: 2px solid rgb(255 253 252 / 46%); border-radius: 44% 44% 38% 38%; content: ""; }
.site-footer__table-line { position: absolute; display: block; height: 2px; background: rgb(255 253 252 / 55%); transform-origin: left center; }
.site-footer__table-line--one { top: 34%; left: -5%; width: 74%; transform: rotate(22deg); }
.site-footer__table-line--two { top: 68%; left: 5%; width: 87%; transform: rotate(-14deg); }
.site-footer__felt { position: absolute; top: 20%; right: 10%; width: 18%; aspect-ratio: 1; border: 1px solid rgb(255 253 252 / 42%); border-radius: 50%; }

.site-footer__content { padding-block: var(--space-8); }
.site-footer__grid { display: grid; grid-template-columns: 1.15fr 1fr 1.35fr; gap: var(--space-7); }
.site-footer__identity p { max-width: 24rem; margin-top: var(--space-5); color: var(--color-slate); }
.site-footer__brand { align-items: flex-start; }
.site-footer__brand img { width: 3.5rem; height: 3.5rem; flex: 0 0 3.5rem; object-fit: contain; }
.site-footer__brand span { display: grid; gap: var(--space-1); }
.site-footer__brand strong { font-size: 0.96rem; letter-spacing: 0.11em; line-height: 1.2; }
.site-footer__brand small { color: var(--color-slate); font-size: 0.59rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.35; }
.site-footer__nav h3,.site-footer__contact h3 { margin: 0 0 var(--space-4); }
.site-footer__nav 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__nav li { margin: 0; padding: 0; }
.site-footer__nav a { color: var(--color-ink); font-size: var(--text-label); font-weight: 700; letter-spacing: 0.08em; text-decoration: none; }
.site-footer__contact p { max-width: 30rem; margin: 0; color: var(--color-slate); }
.site-footer__contact a { color: var(--color-cobalt); }
.site-footer__contact span { color: var(--color-mandarin); }
.site-footer__legal { background: var(--color-burgundy); color: var(--color-limestone); }
.site-footer__legal-inner { display: flex; min-height: 4.5rem; justify-content: space-between; gap: var(--space-5); align-items: center; font-size: var(--text-label); font-weight: 700; letter-spacing: 0.08em; }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.site-footer__legal a { color: var(--color-limestone); text-decoration: none; }

.site-consent { position: fixed; z-index: 190; right: var(--gutter); bottom: var(--gutter); width: min(38rem, calc(100% - (var(--gutter) * 2))); border: 1px solid var(--color-steel); background: var(--color-linen); box-shadow: var(--shadow-layered); }
.site-consent[hidden] { display: none !important; }
.site-consent__inner { display: flex; gap: var(--space-5); align-items: center; padding: var(--space-4); }
.site-consent p { margin: 0; color: var(--color-slate); font-size: var(--text-meta); line-height: 1.5; }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-consent .button { min-height: 2.5rem; font-size: 0.61rem; }

.site-age-modal { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: var(--gutter); overflow-y: auto; background: rgb(32 37 34 / 78%); }
.site-age-modal[hidden] { display: none !important; }
.site-age-modal__panel { width: min(100%, 34rem); padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid rgb(255 253 252 / 25%); background: var(--color-burgundy); box-shadow: var(--shadow-layered); color: var(--color-limestone); }
.site-age-modal__panel h2 { margin-bottom: var(--space-4); font-size: clamp(2.5rem, 6vw, 4.25rem); }
.site-age-modal__panel p:not(.eyebrow) { color: var(--color-limestone); }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

@media (max-width: 900px) { .site-footer__grid { grid-template-columns: 1fr 1fr; } .site-footer__contact { grid-column: 1 / -1; } }
@media (max-width: 600px) { .site-footer__scene,.site-footer__scene-inner { min-height: 28rem; } .site-footer__content { padding-block: var(--space-7); } .site-footer__grid { grid-template-columns: 1fr; gap: var(--space-6); } .site-footer__contact { grid-column: auto; } .site-footer__nav ul { grid-template-columns: 1fr; } .site-footer__legal-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: var(--space-4); } .site-consent { right: var(--gutter); bottom: var(--gutter); } .site-consent__inner { align-items: stretch; flex-direction: column; } .site-consent__actions .button { flex: 1 1 auto; } .site-age-modal__actions .button { width: 100%; } }
