.site-footer { color: var(--color-ink); }
.site-footer__shelf { position: relative; overflow: hidden; padding: var(--space-10) 0 var(--space-8); background: var(--color-limestone); }
.site-footer__shelf-grid { position: absolute; inset: 0; pointer-events: none; opacity: .82; background: repeating-linear-gradient(to bottom, transparent 0, transparent 7.8rem, #b8ab95 7.8rem, #b8ab95 calc(7.8rem + 2px)); }
.site-footer__shelf-grid::before, .site-footer__shelf-grid::after { position: absolute; top: 0; bottom: 0; width: 2px; background: #c3b69f; content: ""; }
.site-footer__shelf-grid::before { left: 12%; }
.site-footer__shelf-grid::after { right: 12%; }
.site-footer__object { position: absolute; bottom: 1.2rem; display: block; color: var(--color-cornflower-blue); }
.site-footer__object--plate { left: 7%; width: 4.2rem; height: 4.2rem; border: .55rem solid currentColor; border-radius: 50%; }
.site-footer__object--glass { left: 20%; width: 1.4rem; height: 4.2rem; border: 2px solid var(--color-rosewood); border-radius: 0 0 50% 50%; }
.site-footer__object--menu { right: 24%; width: 2.7rem; height: 4.1rem; border: 2px solid var(--color-ink); background: var(--color-paper-white); transform: rotate(-4deg); }
.site-footer__object--bottle { right: 9%; width: 1.8rem; height: 5rem; border-radius: .5rem .5rem .2rem .2rem; background: var(--color-moss-green); }
.site-footer__object--plant { left: 34%; width: 3.2rem; height: 3.2rem; border-radius: 70% 30% 70% 30%; background: var(--color-moss-green); transform: rotate(25deg); }
.site-footer__object--cards { left: 45%; width: 2.7rem; height: 3.8rem; border: 2px solid var(--color-cornflower-blue); background: var(--color-paper-white); transform: rotate(10deg); }
.site-footer__object--chips { left: 59%; width: 3.2rem; height: 1rem; border: 3px solid var(--color-rosewood); border-radius: 50%; }
.site-footer__object--lamp { right: 39%; width: 2.4rem; height: 3.7rem; border-bottom: 4px solid var(--color-ink); background: var(--color-tangerine); clip-path: polygon(18% 0, 82% 0, 100% 65%, 0 65%); }
.site-footer__object--books { right: 54%; width: 3.8rem; height: 2.2rem; border-bottom: .7rem solid var(--color-cornflower-blue); border-top: .7rem solid var(--color-rosewood); }
.site-footer__inner { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; }
.site-footer__eyebrow { margin: 0 0 var(--space-3); color: var(--color-cornflower-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .1em; }
.site-footer__statement { max-width: 52rem; margin: 0 auto var(--space-6); font-size: clamp(3rem, 6.5vw, 6.5rem); letter-spacing: -.045em; line-height: .94; }
.site-footer__cta { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: var(--space-8); padding: .9rem 1.15rem; background: var(--color-tangerine); color: var(--color-ink); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: transform var(--transition-fast); }
.site-footer__cta:hover { color: var(--color-ink); transform: translateY(-2px); }
.site-footer__nav { display: flex; max-width: 54rem; flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; }
.site-footer__nav a { color: var(--color-ink); font-size: var(--font-size-label); font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-footer__contact { padding: var(--space-5) 0; background: var(--color-bone-white); }
.site-footer__contact-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); }
.site-footer__contact a, .site-footer__contact address { color: var(--color-ink); font-size: var(--font-size-meta); font-style: normal; }
.site-footer__legal { padding: var(--space-3) 0; background: var(--color-cornflower-blue); color: var(--color-paper-white); }
.site-footer__legal-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); font-size: var(--font-size-fine); }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.site-footer__legal a { color: var(--color-paper-white); }
.site-consent { position: fixed; right: 1rem; bottom: 1rem; z-index: 90; width: min(100% - 2rem, 34rem); border: var(--border); background: var(--color-paper-white); box-shadow: var(--shadow-ticket); }
.site-consent[hidden] { display: none !important; }
.site-consent__inner { display: grid; gap: var(--space-3); padding: var(--space-4); }
.site-consent__title, .site-consent__copy { margin: 0; }
.site-consent__title { font-weight: 700; }
.site-consent__copy { font-size: var(--font-size-fine); }
.site-consent__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.site-consent__button { min-height: 2.75rem; padding: .65rem .9rem; background: var(--color-cornflower-blue); color: var(--color-paper-white); font-size: var(--font-size-label); font-weight: 700; }
.site-consent__button--secondary { border: var(--border); background: transparent; color: var(--color-ink); }
.site-age-modal { position: fixed; z-index: 200; inset: 0; display: grid; overflow-y: auto; place-items: center; padding: 1.25rem; background: rgb(30 41 38 / 68%); }
.site-age-modal[hidden] { display: none !important; }
.site-age-modal__panel { width: min(100%, 32rem); padding: var(--space-6); border: var(--border); background: var(--color-paper-white); box-shadow: var(--shadow-ticket); }
.site-age-modal__panel h2, .site-age-modal__panel p { margin-top: 0; }
.site-age-modal__eyebrow { color: var(--color-cornflower-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: .1em; }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.site-age-modal__confirm, .site-age-modal__decline { min-height: 2.75rem; padding: .7rem 1rem; font-size: var(--font-size-label); font-weight: 700; }
.site-age-modal__confirm { background: var(--color-tangerine); color: var(--color-ink); }
.site-age-modal__decline { border: var(--border); background: transparent; color: var(--color-ink); }
@media (max-width: 767px) { .site-footer__shelf { padding-block: var(--space-8); } .site-footer__object:nth-child(n+6) { display: none; } .site-footer__statement { font-size: clamp(3rem, 14vw, 4.8rem); } .site-footer__contact-inner, .site-footer__legal-inner { align-items: flex-start; flex-direction: column; } .site-footer__legal nav { gap: .5rem .8rem; } .site-consent { right: .75rem; bottom: .75rem; width: calc(100% - 1.5rem); } }