.site-footer {
  background: var(--color-deep-teal);
  color: var(--color-limestone-highlight);
}
.site-footer a { color: inherit; }
.site-footer__statement { padding: clamp(4rem, 10vw, 9rem) var(--gutter-desktop) clamp(3rem, 6vw, 5rem); }
.site-footer__inner, .site-footer__content, .site-footer__legal-inner { width: min(100%, var(--container-max)); margin-inline: auto; }
.site-footer__eyebrow, .site-footer__nav-title, .site-age-modal__eyebrow { margin: 0; color: var(--color-seafoam-green); font-size: var(--text-label); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.site-footer__statement h2 { margin: var(--space-4) 0 0; color: var(--color-limestone-highlight); font-family: var(--font-heading); font-size: clamp(3rem, 8.2vw, 8rem); font-weight: 400; line-height: .88; letter-spacing: -.045em; }
.site-footer__collage { display: grid; grid-template-columns: 1.45fr .9fr 1.1fr .8fr 1.2fr; height: clamp(13rem, 27vw, 23rem); overflow: hidden; border-block: 1px solid rgba(251,248,241,.35); }
.site-footer__image { min-width: 0; margin: 0; overflow: hidden; }
.site-footer__image:nth-child(2n) { transform: translateY(1.25rem); }
.site-footer__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-image), filter var(--transition-image); }
.site-footer__image:hover img { transform: scale(1.025); filter: sepia(.12); }
.site-footer__content { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: var(--space-8); padding: clamp(3rem, 6vw, 5.5rem) 0; }
.site-footer__brand { max-width: 19rem; }
.site-footer__brand-name { margin: 0 0 var(--space-3); color: var(--color-limestone-highlight); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.site-footer__brand p:not(.site-footer__brand-name) { margin: 0; color: rgba(251,248,241,.78); }
.site-footer__nav ul { display: grid; gap: .55rem; padding: 0; margin: var(--space-3) 0 0; list-style: none; }
.site-footer__nav li, .site-footer__nav li + li { margin: 0; }
.site-footer__nav a { text-decoration: none; text-decoration-thickness: 2px; text-underline-offset: .35rem; transition: color var(--transition-fast), text-decoration-color var(--transition-fast); }
.site-footer__nav a:hover { color: var(--color-burnt-orange); text-decoration: underline; }
.site-footer__contact { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); border-radius: var(--radius-xl); background: var(--color-burnt-orange); color: var(--color-deep-teal); }
.site-footer__contact .site-footer__nav-title { color: var(--color-deep-teal); }
.site-footer__contact a { font-weight: var(--weight-semibold); }
.site-footer__contact address { margin: var(--space-2) 0; font-size: .9rem; line-height: 1.45; }
.site-footer__contact-cta { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2); text-decoration: none; text-decoration-thickness: 2px; text-underline-offset: .3rem; }
.site-footer__contact-cta:hover { text-decoration: underline; }
.site-footer__legal { padding: var(--space-3) var(--gutter-desktop); background: var(--color-seafoam-green); color: var(--color-deep-teal); font-size: .75rem; }
.site-footer__legal-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3) var(--space-6); }
.site-footer__legal a { text-decoration: none; }
.site-footer__legal a:hover { text-decoration: underline; }
.site-consent { position: fixed; z-index: 90; right: var(--space-4); bottom: var(--space-4); display: flex; width: min(34rem, calc(100vw - 2rem)); align-items: end; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-limestone-highlight); box-shadow: var(--shadow-floating); }
.site-consent[hidden] { display: none !important; }
.site-consent__content { flex: 1; }
.site-consent__content p { margin: 0; font-size: .875rem; line-height: 1.45; }
.site-consent__content .site-consent__title { margin-bottom: var(--space-1); color: var(--color-deep-teal); font-weight: var(--weight-semibold); }
.site-consent__actions { display: flex; flex: 0 0 auto; gap: var(--space-2); }
.site-consent__button { min-height: 2.75rem; padding: .7rem .85rem; border: 1px solid var(--color-deep-teal); border-radius: var(--radius-sm); background: var(--color-deep-teal); color: var(--color-limestone-highlight); font-size: .8125rem; font-weight: var(--weight-semibold); }
.site-consent__button--quiet { background: transparent; color: var(--color-deep-teal); }
.site-age-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: var(--space-4); overflow-y: auto; background: rgba(18,63,69,.78); }
.site-age-modal[data-age-modal][hidden] { display: none !important; }
.site-age-modal__panel { width: min(100%, 32rem); padding: clamp(2rem, 6vw, 3.5rem); border: 1px solid var(--color-satin-silver); border-radius: var(--radius-xl); background: var(--color-limestone-highlight); box-shadow: var(--shadow-floating); }
.site-age-modal__panel h2 { margin: var(--space-3) 0 var(--space-4); }
.site-age-modal__panel p:not(.site-age-modal__eyebrow) { margin: 0; }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.site-age-modal__confirm, .site-age-modal__decline { min-height: 2.75rem; padding: .8rem 1rem; border: 1px solid var(--color-deep-teal); border-radius: var(--radius-sm); font-size: var(--text-button); font-weight: var(--weight-semibold); }
.site-age-modal__confirm { background: var(--color-burnt-orange); color: var(--color-deep-teal); }
.site-age-modal__decline { background: transparent; color: var(--color-deep-teal); }
@media (max-width: 79.9375rem) { .site-footer__content { grid-template-columns: 1.2fr .8fr .8fr; } .site-footer__contact { grid-column: 1 / -1; max-width: 31rem; } }
@media (max-width: 47.9375rem) { .site-footer__statement, .site-footer__legal { padding-inline: var(--gutter-mobile); } .site-footer__collage { grid-template-columns: repeat(5, 42vw); height: 12rem; overflow-x: auto; } .site-footer__image:nth-child(2n) { transform: none; } .site-footer__content { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8) var(--space-4); width: min(100% - (2 * var(--gutter-mobile)), var(--container-max)); } .site-footer__brand, .site-footer__contact { grid-column: 1 / -1; } .site-footer__legal-inner { justify-content: flex-start; } .site-consent { flex-direction: column; align-items: stretch; } .site-consent__actions { justify-content: flex-end; } }
@media (prefers-reduced-motion: reduce) { .site-footer__image:hover img { transform: none; } }