.hm-public-info { margin: 0; background: #f7faf9; color: #243c35; min-height: 80vh; font-family: system-ui, sans-serif; line-height: 1.7; }
.hm-public-info * { box-sizing: border-box; }
.hm-public-main { width: min(1060px, 100%); padding: 28px 24px 48px; margin: auto; }
.hm-public-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.hm-public-info a { color: #047857; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hm-public-info a:focus-visible { outline: 3px solid #059669; outline-offset: 4px; border-radius: 3px; }
.hm-public-intro { max-width: 800px; padding: 34px 0 24px; }
.hm-public-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 750; color: #047857; }
.hm-public-info h1 { font-size: clamp(28px, 4vw, 42px); color: #102c24; line-height: 1.15; letter-spacing: -.035em; margin: 12px 0 20px; font-weight: 750; }
.hm-public-intro > p:last-child { font-size: 18px; }
.hm-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; font-style: normal; margin-bottom: 28px; }
.hm-contact-grid > div, .hm-public-sections > section { background: white; border: 1px solid #dce7e2; border-radius: 14px; padding: 22px; }
.hm-public-info h2 { font-size: 20px; line-height: 1.4; font-weight: 750; margin: 0 0 12px; color: #173c30; }
.hm-contact-grid h2 { font-size: 14px; color: #486459; margin-bottom: 8px; }
.hm-contact-grid p { margin: 0; }
.hm-contact-grid .hm-contact-action { margin-top: 8px; font-size: 14px; }
.hm-public-sections { display: grid; gap: 18px; }
.hm-public-sections p { margin: 12px 0; max-width: 82ch; }
.hm-public-sections .hm-public-links { margin-top: 16px; }
.hm-public-footer { background: #ecf3ef; padding: 28px max(24px, calc((100% - 1012px) / 2)); font-size: 14px; }
.hm-public-footer p { margin: 6px 0 12px; }
.hm-public-topbar { background: white; border-bottom: 1px solid #dce7e2; padding: 12px max(20px, calc((100% - 1012px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hm-public-topbar img { width: 168px; height: 44px; object-fit: contain; }
.hm-public-topbar a { color: #047857; font-weight: 650; }
@media (max-width: 640px) {
  .hm-public-main { padding: 20px 16px 32px; }
  .hm-public-intro { padding: 24px 0 18px; }
  .hm-public-intro > p:last-child { font-size: 17px; }
  .hm-contact-grid { grid-template-columns: 1fr; gap: 10px; }
  .hm-contact-grid > div, .hm-public-sections > section { padding: 18px; }
  .hm-public-links { gap: 10px 20px; font-size: 15px; }
}
