.site-footer { color: var(--color-limestone-100); background: var(--color-lagoon-deep); }
.site-footer__tables { padding: var(--section-space) 0; background: var(--color-lagoon-deep); }
.site-footer__eyebrow { margin: 0 0 var(--space-3); color: var(--color-champagne-silver); font-size: var(--font-size-utility); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.site-footer__statement {  margin-bottom: var(--space-7); color: var(--color-limestone-100); font-size: var(--font-size-editorial); line-height: var(--line-height-editorial); }
.site-footer__table-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.site-footer__table { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-4); border: 1px solid rgb(199 185 163 / 75%); border-radius: 50%; background: var(--color-limestone-100); color: var(--color-charcoal); text-decoration: none; transition: transform var(--transition-base), border-color var(--transition-base); text-align:center;}
.site-footer__table::after { position: absolute; inset: .5rem; border: 1px solid rgb(36 50 56 / 20%); border-radius: inherit; content: ""; pointer-events: none; }
.site-footer__table--felt { background: var(--color-lagoon-blue); color: var(--color-limestone-100); }
.site-footer__table--felt::after { border-color: rgb(255 253 248 / 40%); }
.site-footer__table:hover { border-color: var(--color-champagne-silver); transform: scale(1.02); }
.site-footer__table span { position: relative; z-index: 1; font-size: var(--font-size-utility); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.site-footer__table strong { position: relative; z-index: 1; font-family: var(--font-heading); font-size: var(--font-size-card-heading); font-weight: var(--weight-medium); letter-spacing: var(--tracking-heading); line-height: var(--line-height-card-heading); }
.site-footer__contact { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding-top: var(--space-7); }
.site-footer__contact p { max-width: 48rem; margin: 0; color: var(--color-limestone-25); }
.site-footer__contact a { color: inherit; }
.site-footer__contact .button { flex: 0 0 auto; color: var(--color-white); }
.site-footer__legal { padding: var(--space-4) 0; background: var(--color-lagoon-blue); }
.site-footer__legal-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.site-footer__legal p { margin: 0; font-size: var(--font-size-utility); }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.site-footer__legal a { font-size: var(--font-size-utility); color: var(--color-limestone-100); }
.site-consent { position: fixed; z-index: 150; right: var(--gutter); bottom: var(--gutter); left: var(--gutter); }
.site-consent[hidden] { display: none !important; }
.site-consent__inner { display: flex; width: min(100%, 52rem); align-items: center; justify-content: space-between; gap: var(--space-5); margin-inline: auto; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--color-limestone-100); box-shadow: var(--shadow-floating); }
.site-consent__copy h2 { margin: 0 0 var(--space-2); font-size: var(--font-size-lead); }
.site-consent__copy p { margin: 0; color: var(--color-slate-muted); font-size: var(--font-size-label); line-height: var(--line-height-label); }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-age-modal { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: var(--gutter); overflow-y: auto; background: rgb(14 74 86 / 82%); }
[data-age-modal][hidden] { display: none !important; }
.site-age-modal__panel { width: min(100%, 31rem); padding: var(--space-6); border: var(--border-subtle); border-radius: var(--radius-card); background: var(--color-limestone-100); box-shadow: var(--shadow-floating); }
.site-age-modal__eyebrow { margin: 0 0 var(--space-3); color: var(--color-lagoon-blue); font-size: var(--font-size-utility); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.site-age-modal__panel h2 { margin-bottom: var(--space-3); }
.site-age-modal__panel p:not(.site-age-modal__eyebrow) { margin-bottom: var(--space-5); color: var(--color-slate-muted); }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 899px) { .site-footer__table-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer__contact { align-items: flex-start; flex-direction: column; } }
@media (max-width: 599px) { .site-footer__tables { padding-block: var(--space-8); } .site-footer__statement { font-size: clamp(2.625rem, 12vw, 3.25rem); } .site-footer__table-nav { grid-template-columns: 1fr; } .site-footer__table { min-height: 10rem; border-radius: var(--radius-card); aspect-ratio: auto; } .site-footer__legal-inner, .site-consent__inner { align-items: flex-start; flex-direction: column; } .site-footer__legal nav { gap: var(--space-2) var(--space-3); } .site-consent__actions { width: 100%; } .site-consent__actions .button { flex: 1 1 8rem; } .site-age-modal { padding: var(--space-4); } .site-age-modal__panel { padding: var(--space-5); } .site-age-modal__actions .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .site-footer__table { transition: none; } .site-footer__table:hover { transform: none; } }
