/* Regional navigation, shared by the public Vite pages and static guides. */
.footer-regions { display: grid; grid-template-columns: 1fr 2fr; gap: clamp(2rem, 5vw, 5rem); border-top: 1px solid rgba(255,255,255,.2); padding-block: 2.5rem; margin-top: 2.5rem; }
.footer-regions h2 { font-family: var(--font-body, Archivo, sans-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.3; letter-spacing: normal; margin: 0 0 .7rem; color: inherit; }
.footer-regions__intro p { color: rgba(255,255,255,.76); font-size: .95rem; line-height: 1.6; max-width: 34ch; }
.footer-regions__intro > a { display: inline-flex; gap: .6rem; align-items: center; margin-top: .5rem; min-height: 44px; font-size: .95rem; }
.footer-regions__group { border-bottom: 1px solid rgba(255,255,255,.2); }
.footer-regions__group summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; gap: 1rem; padding-block: .7rem; cursor: pointer; font-weight: 600; list-style: none; }
.footer-regions__group summary::-webkit-details-marker { display: none; }
.footer-regions__group summary span { transition: transform .2s; }
.footer-regions__group[open] summary span { transform: rotate(45deg); }
.footer-regions__group ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: .3rem 0 1.2rem; gap: .2rem 1rem; }
.footer-regions__group li a { display: flex; align-items: center; min-height: 44px; padding-block: .5rem; line-height: 1.4; font-size: .9rem; color: rgba(255,255,255,.8); overflow-wrap: anywhere; }
.footer-regions a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-regions :is(a, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 760px) { .footer-regions { grid-template-columns: 1fr; gap: 1.5rem; } }
@media (max-width: 540px) { .footer-regions__group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .footer-regions__group summary span { transition: none; } }
