.public-page { color: #172c49; font-family: Manrope, 'Segoe UI', Arial, sans-serif; line-height: 1.7; }
.public-page header, .public-page main, .public-page footer { max-width: 1200px; margin: auto; padding: 24px 28px; }
.public-page header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; border-bottom: 1px solid #dce4ef; }
.public-page nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.public-page a { color: #244fb8; text-underline-offset: 3px; }
.public-page .public-brand { display: flex; align-items: center; gap: 12px; color: #172c49; text-decoration: none; font-size: 23px; }
.public-page main { min-height: 55vh; }
.public-page h1 { max-width: 850px; margin: 20px 0; font-size: clamp(30px, 4.5vw, 46px); line-height: 1.2; }
.public-page h2 { margin: 32px 0 14px; font-size: 24px; }
.public-page h3 { font-size: 20px; }
.public-page p, .public-page li { max-width: 850px; overflow-wrap: anywhere; }
.public-page article { padding: 20px; margin: 16px 0; border: 1px solid #dce4ef; border-radius: 16px; background: white; }
.public-page .public-cta { display: inline-flex; padding: 12px 22px; border-radius: 999px; background: #285bd4; color: white; text-decoration: none; font-weight: 700; }
.public-page footer { margin-top: 32px; border-top: 1px solid #dce4ef; font-size: 13px; }
@media (max-width: 600px) { .public-page header, .public-page main, .public-page footer { padding: 20px 16px; } }
