.site-footer{padding:var(--space-8) 0 var(--space-5);border-top:var(--border);background:var(--color-warm-white);color:var(--color-ink)}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:var(--space-6);padding-bottom:var(--space-7)}.site-footer__brand,.site-footer__column{min-width:0}.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.site-footer__lockup{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-ink);font-family:var(--font-heading);font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none}.site-footer__logo{width:4.25rem;height:4.25rem;flex:0 0 auto;object-fit:contain}.site-footer__copy{max-width:31rem;margin:0;color:var(--color-muted-ink)}.site-footer__note{margin:0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-turquoise);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-pale-turquoise);font-size:var(--text-sm);line-height:var(--leading-caption)}.site-footer__cta{width:auto}.site-footer__title{margin:0 0 var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}.site-footer__nav{margin:0;padding:0;list-style:none}.site-footer__nav li{margin:0}.site-footer__nav li+li{margin-top:var(--space-2)}.site-footer__nav a{font-size:var(--text-sm);line-height:1.45}.site-footer__bottom{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:var(--border);color:var(--color-muted-ink);font-size:var(--text-xs);line-height:var(--leading-caption)}.site-footer__bottom p{margin:0}.site-consent{position:fixed;z-index:1100;right:max(var(--space-4),env(safe-area-inset-right));bottom:max(var(--space-4),env(safe-area-inset-bottom));left:max(var(--space-4),env(safe-area-inset-left));width:min(100% - 2rem,43rem);margin-inline:auto;opacity:1;transform:translateY(0);transition:opacity var(--transition-base),transform var(--transition-base);pointer-events:auto}.site-consent[hidden]{display:none}.site-consent.is-hiding{opacity:0;transform:translateY(1rem);pointer-events:none}.site-consent__inner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:var(--border);border-radius:var(--radius-lg);background:var(--color-warm-white);box-shadow:var(--shadow-elevated)}.site-consent__copy{min-width:0;flex:1}.site-consent__title{margin:0 0 var(--space-1);font-family:var(--font-heading);font-size:var(--text-lg);line-height:1.1}.site-consent__text{margin:0;color:var(--color-muted-ink);font-size:var(--text-sm);line-height:var(--leading-caption)}.site-consent__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--space-2)}.site-consent__button{min-height:2.75rem;padding:.625rem .875rem;border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-warm-white);font-size:var(--text-sm);font-weight:700;line-height:1.2;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.site-consent__button:hover{transform:translateY(-2px);border-color:var(--color-turquoise);background:var(--color-pale-turquoise)}.site-consent__button--accept{border-color:var(--color-coral-deep);background:var(--color-coral);color:var(--color-ink)}.site-consent__button--accept:hover{border-color:var(--color-coral-deep);background:var(--color-coral-deep);color:var(--color-warm-white)}@media (max-width:899px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand{grid-column:1/-1}}@media (max-width:699px){.site-footer{padding-top:var(--space-7)}.site-footer__grid{grid-template-columns:1fr;gap:var(--space-5);padding-bottom:var(--space-6)}.site-footer__brand{grid-column:auto}.site-footer__cta{width:100%}.site-footer__bottom{flex-direction:column}.site-consent{width:auto}.site-consent__inner{align-items:stretch;flex-direction:column}.site-consent__actions{display:grid;grid-template-columns:1fr 1fr}.site-consent__button{width:100%}}