.site-legal-links { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; align-items: center; font-size: .85rem; }
.site-legal-links a { color: var(--green, #365848); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.site-legal-links a:focus-visible { outline: 2px solid var(--green, #365848); outline-offset: 4px; }
body[data-page] { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body[data-page] > #main { flex: 1; }
#site-footer { margin-top: auto; }
.maincol { display: flex; flex-direction: column; min-height: 100vh; }
.maincol > .content { flex: 1; }
.member-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; }
.login-screen { display: flex; flex-direction: column; align-items: center; }
.login-card { margin-top: auto; flex-shrink: 0; }
.login-footer { margin-top: auto; width: 100%; border-top: 1px solid var(--line, #d9ddd6); padding-top: 1rem; }
.login-footer .site-legal-links { justify-content: center; }
.standalone-contact { max-width: 44rem; margin-inline: auto; }
.standalone-contact .help-contact { background: var(--paper, white); }
.legal-content { max-width: 52rem; }
.legal-section { margin-top: 2rem; }
.legal-section h2 { font-size: 1.35rem; }
.legal-section p { line-height: 1.75; overflow-wrap: anywhere; }
@media (max-width: 600px) { .site-legal-links { gap: .8rem 1.15rem; } .member-footer { flex-direction: column; align-items: flex-start; } }
@media print { .site-legal-links, .login-footer { display: none !important; } }
