/* Independent footer groups; legal and copyright styling stays in existing CSS. */
.public-footer-nav.cache-footer-managed{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;width:100%;align-items:start}
.cache-footer-group{min-width:0}.cache-footer-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:750;list-style:none;cursor:default;padding:0 0 12px}
.cache-footer-group>summary::-webkit-details-marker{display:none}.cache-footer-chevron{display:none}
.cache-footer-children{display:flex;flex-direction:column;gap:12px}.cache-footer-children a{overflow-wrap:anywhere}.cache-footer-parent-link a{font-weight:650}
.cache-footer-group>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
@media(min-width:701px){.cache-footer-group:not([open])>.cache-footer-children{display:flex}}
@media(max-width:700px){.public-footer-nav.cache-footer-managed{display:flex;flex-direction:column;gap:0}.cache-footer-group{width:100%;border-bottom:1px solid rgba(128,148,150,.35)}.cache-footer-group>summary{cursor:pointer;min-height:56px;padding:12px 0;box-sizing:border-box}.cache-footer-chevron{display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px;transition:transform .15s}.cache-footer-group[open]>summary .cache-footer-chevron{transform:rotate(225deg)}.cache-footer-children{padding:0 0 16px 14px;gap:4px}.cache-footer-children a{display:block;padding:10px 0;min-height:44px;box-sizing:border-box}.cache-footer-managed>a{padding:14px 0;width:100%;border-bottom:1px solid rgba(128,148,150,.35)}}
@media(prefers-reduced-motion:reduce){.cache-footer-chevron{transition:none}}
.public-footer-main .public-footer-nav.cache-footer-managed{grid-column:1/-1;margin-top:24px;justify-content:stretch}
.public-footer-main:has(.cache-footer-managed){grid-template-columns:auto minmax(0,1fr);text-align:left}
.public-home-footer>.public-footer-main:has(.cache-footer-managed){display:grid;justify-content:stretch}
@media(max-width:700px){.public-home-footer>.public-footer-main:has(.cache-footer-managed){display:block}}
/* Phase 15.4.1: CACHE footer colour treatment; scoped to public footer. */
.public-home-footer.cache-footer-refined{max-width:none;width:100%;box-sizing:border-box;margin:48px 0 0;padding:0;border-top:0;background:#edf7f6;text-align:left}
.public-home-footer.cache-footer-refined>.public-footer-main{display:block;max-width:1096px;box-sizing:content-box;margin:0 auto;padding:48px clamp(22px,5vw,72px) 28px}
.public-home-footer.cache-footer-refined .public-footer-nav{margin:0;justify-content:flex-start;gap:24px 48px;text-align:left}
.public-home-footer.cache-footer-refined .cache-footer-managed{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.public-home-footer.cache-footer-refined .cache-footer-group>summary{color:#05686f;font-weight:750}
.public-home-footer.cache-footer-refined .public-footer-nav a{color:#334047;font-weight:500;line-height:1.5}
.public-home-footer.cache-footer-refined .public-footer-nav>a{color:#05686f;font-weight:700}
.public-home-footer.cache-footer-refined a:hover{color:#034b50;text-decoration:underline;text-underline-offset:4px}
.public-home-footer.cache-footer-refined>.cache-footer-social{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;max-width:1096px;margin:0 auto;padding:22px clamp(22px,5vw,72px) 26px;border-top:1px solid #c8dfdd}
.cache-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:6px}
.cache-footer-social img{display:block;width:26px;height:26px;object-fit:contain}
.cache-footer-social a:hover img{filter:brightness(.75)}
.public-home-footer.cache-footer-refined a:focus-visible,.public-home-footer.cache-footer-refined button:focus-visible{outline:2px solid #05686f;outline-offset:4px;border-radius:4px}
.public-home-footer.cache-footer-refined>.public-footer-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 22px;margin:0;padding:22px max(22px,calc((100% - 1096px)/2));border:0;background:#e1f0ee;font-size:.86rem;color:#334047}
.public-home-footer.cache-footer-refined>.public-footer-legal::before{margin-right:auto;color:#53676a;line-height:1.5}
@media(max-width:700px){
 .public-home-footer.cache-footer-refined{margin-top:32px}
 .public-home-footer.cache-footer-refined>.public-footer-main{padding:28px 22px 20px}
 .public-home-footer.cache-footer-refined .cache-footer-managed{display:flex;gap:0}
 .public-home-footer.cache-footer-refined>.cache-footer-social{gap:6px;padding:18px 16px 22px;margin:0 22px}
 .public-home-footer.cache-footer-refined>.public-footer-legal{justify-content:flex-start;gap:14px 18px;padding:22px}
 .public-home-footer.cache-footer-refined>.public-footer-legal::before{flex-basis:100%;order:2;margin:8px 0 0}
}

/* Only divide real adjacent mobile groups; social separator remains independent. */
@media(max-width:700px){.cache-footer-managed>:last-child{border-bottom:0}}
@media(max-width:700px){.public-footer-main:has(.public-footer-nav:empty)+.cache-footer-social{border-top:0}}

/* Content-independent responsive tracks: future edits wrap instead of resizing neighbours. */
@media(min-width:701px){.public-home-footer.cache-footer-refined .cache-footer-managed{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:28px clamp(24px,3vw,48px)}
 .public-home-footer.cache-footer-refined .cache-footer-group>summary{align-items:flex-start;overflow-wrap:anywhere;line-height:1.5}
 .public-home-footer.cache-footer-refined .cache-footer-children a{white-space:normal;overflow-wrap:anywhere}
}
