/* Compact public navigation and privacy utilities. */
.site-footer { background:#080c0e; border-top:2px solid #23865e; color:#dbe5e0; }
.site-footer .footer-main { display:grid; grid-template-columns:minmax(240px,1.15fr) minmax(0,2fr); gap:clamp(32px,5vw,80px); padding-block:40px 32px; }
.site-footer .footer-brand .brand-plate { width:218px; height:49px; background:transparent; }
.site-footer .footer-brand > p { max-width:320px; margin:18px 0 0; color:#b9c8c1; font-size:14px; line-height:1.6; }
.site-footer .footer-brand .footer-boundary { margin-top:6px; color:#e1e9e5; font-size:13px; }
.footer-navigation { display:grid; grid-template-columns:.85fr 1.15fr 1fr; gap:clamp(20px,3vw,48px); min-width:0; }
.footer-group { min-width:0; }
.footer-group > summary { list-style:none; cursor:default; }
.footer-group > summary::-webkit-details-marker { display:none; }
.footer-group h2 { margin:0 0 13px; color:#f2f6f4; font-size:14px; font-weight:650; line-height:1.5; letter-spacing:0; }
.footer-links { display:flex; flex-direction:column; align-items:start; gap:9px; }
.site-footer .footer-links a { color:#b9c8c1; font-size:13px; line-height:1.55; text-decoration:none; text-underline-offset:4px; }
.site-footer .footer-links a:hover { color:#8de1b6; text-decoration:underline; }
.site-footer .footer-bottom { display:flex; flex-wrap:wrap; min-height:64px; gap:12px 24px; padding-block:12px; border-color:#2b3a34; color:#a9bbb1; font-size:12px; }
.footer-utilities { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-left:auto; }
.site-footer .footer-top { min-height:44px; padding:8px 0; border:0; background:transparent; color:#c4d5cb; font:inherit; font-size:12px; cursor:pointer; }
.site-footer .footer-top:hover { color:#8de1b6; }
.footer-top span { margin-left:6px; }
.footer-feedback:empty { display:none; }
.footer-feedback { flex-basis:100%; color:#a9e0c0; }
.site-footer :is(a,button,summary):focus-visible { outline:2px solid #8de1b6; outline-offset:5px; border-radius:3px; }
@media(max-width:900px) {
 .site-footer .footer-main { grid-template-columns:1fr; gap:28px; }
 .footer-navigation { grid-template-columns:1fr 1fr 1fr; }
}
@media(max-width:600px) {
 .site-footer .footer-main { padding-block:28px 16px; gap:22px; }
 .footer-navigation { display:block; }
 .footer-group { border-top:1px solid #2b3a34; }
 .footer-group:last-child { border-bottom:1px solid #2b3a34; }
 .footer-group > summary { display:flex; align-items:center; justify-content:space-between; min-height:52px; cursor:pointer; }
 .footer-group > summary::after { content:'+'; color:#a9c6b6; font-size:22px; font-weight:400; }
 .footer-group[open] > summary::after { content:'−'; }
 .footer-group h2 { margin:0; }
 .footer-links { gap:0; padding-bottom:12px; }
 .site-footer .footer-links a { display:flex; align-items:center; min-height:44px; width:100%; font-size:14px; }
 .site-footer .footer-bottom { align-items:stretch; flex-direction:column; padding-block:16px; gap:8px; }
 .footer-utilities { justify-content:space-between; margin-left:0; gap:8px 16px; }
}

/* Icons reinforce destinations while text remains visible. */
.footer-group h2, .site-footer .footer-links a { display:flex; align-items:center; gap:8px; }
.footer-group h2 .public-icon { width:18px; height:18px; color:#8de1b6; }
.site-footer .footer-links .public-icon { width:16px; height:16px; color:#9ab9a6; }
.analytics-preferences-button { display:inline-flex; align-items:center; gap:8px; }
.analytics-preferences-button[hidden] { display:none; }
.analytics-preferences-button .public-icon, .footer-top .public-icon { width:16px; height:16px; }
.footer-top .public-icon { margin-left:5px; }
