.cp-contact { color: #17324b; }
.cp-contact__heading { padding: 1.5rem; margin-bottom: 2rem; border-left: 4px solid #6aaa35; border-radius: 8px; background: #f0f5fa; }
.cp-contact__eyebrow { color: #237c4b; font-size: .78rem; font-weight: 700; }
.cp-contact__heading h1 { font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 800; }
.cp-contact__heading > p:last-child { color: #536577; margin-bottom: 0; max-width: 800px; }
.cp-contact__section-title, .cp-contact__links h2 { font-size: 1.35rem; font-weight: 700; margin-bottom: 1rem; }
.cp-contact__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cp-contact__card { display: flex; align-items: start; gap: 1rem; min-width: 0; padding: 1.25rem; border: 1px solid #dbe4e9; border-radius: 9px; background: #fff; }
.cp-contact__icon { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border-radius: 10px; background: #edf5ee; color: #237c4b; font-size: 1.3rem; }
.cp-contact__card > div { min-width: 0; overflow-wrap: anywhere; }
.cp-contact__card h3 { font-size: 1rem; font-weight: 700; margin-bottom: .5rem; }
.cp-contact__card p { margin: 0; color: #536577; }
.cp-contact__card a, .cp-contact__links a { color: #236443; }
.cp-contact__links-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.cp-contact__links { padding: 1.5rem; border-radius: 9px; background: #f4f7f9; min-width: 0; overflow-wrap: anywhere; }
.cp-contact__links ul { list-style: none; padding: 0; margin: 0; }
.cp-contact__links li + li { margin-top: .75rem; }
.cp-contact__links a { display: inline-flex; align-items: baseline; gap: .6rem; text-decoration: none; }
.cp-contact__links a:hover { text-decoration: underline; }
.cp-contact__links small { color: #536577; }
.cp-contact a:focus-visible { outline: 3px solid #f29327; outline-offset: 3px; }
@media (max-width: 767px) {
  .cp-contact__grid, .cp-contact__links-grid { grid-template-columns: minmax(0, 1fr); }
  .cp-contact__heading, .cp-contact__card, .cp-contact__links { padding: 1rem; }
}
