body.public-site { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; max-width: none; margin: 0; padding: 0; }
.public-site > .public-content, .public-site > main { flex: 1; width: 100%; max-width: 1080px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.public-site > .public-navigation { width: 100%; max-width: 1080px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.public-site .platform-footer, .platform-footer { flex: none; width: 100%; max-width: none; margin: 0; display: grid; grid-template-columns:minmax(280px,2fr) minmax(140px,1fr) minmax(140px,1fr); align-items: start; gap: 32px 56px; border-top: 1px solid var(--brand-grey); padding: 32px max(40px, calc((100% - 1000px) / 2)); background: #fff; color: var(--brand-ink); font: 16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.platform-footer { --ink: var(--brand-ink); --accent: var(--brand-primary); --line: var(--brand-grey); }
.platform-footer .platform-footer-title { font-size: 20px; font-weight: 700; color: var(--brand-ink); text-decoration: none; }
.platform-footer p { margin: 8px 0 0; max-width: 440px; }
.platform-footer nav { display:grid; gap:6px; }
.platform-footer nav a { color: var(--brand-primary); }
@media(max-width:600px) { .public-site .platform-footer, .platform-footer { padding: 24px 20px; grid-template-columns:1fr; gap:28px; } }
@media(max-width:700px) { .public-site > .public-content, .public-site > main, .public-site > .public-navigation { padding-left: 24px; padding-right: 24px; } }
