.public-page { margin: 0; background: #f6f8f7; color: #243b35; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.public-site { box-sizing: border-box; max-width: 1040px; margin: 0 auto; padding: 32px 28px 48px; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: #243b35; }
.public-site a { color: #326348; text-underline-offset: 3px; }
.public-site header, .public-site footer, .public-site nav { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.public-site header { justify-content: space-between; margin-bottom: 64px; }
.public-site .public-brand { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; text-decoration: none; }
.public-site .public-brand img { border-radius: 9px; }
.public-site .public-eyebrow { color: #567d63; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.public-site h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.15; max-width: 800px; margin: 16px 0 24px; letter-spacing: -.025em; }
.public-site h2 { font-size: 20px; line-height: 1.3; margin: 0 0 12px; }
.public-site p { line-height: 1.7; }
.public-site .public-intro { font-size: 19px; color: #52675e; max-width: 750px; }
.public-site .public-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.public-site article { border: 1px solid #d8e3dc; background: #fff; border-radius: 12px; padding: 24px; }
.public-site article p { margin-bottom: 0; }
.public-site section { margin-top: 36px; }
.public-site footer { padding-top: 26px; margin-top: 44px; border-top: 1px solid #d8e3dc; }
@media (max-width: 620px) { .public-site { padding: 24px 20px 36px; } .public-site header { margin-bottom: 40px; } .public-site .public-grid { grid-template-columns: 1fr; } }
