/* /contact (WS96, spec 86 P0-2): the about entity layout (entity-* classes) and the footer expert-team card
   (cm-fexp) on the light page background. Design tokens only (templates/cmsmart/css/tokens.css). */
.cm-contact .entity-wrap { max-width: calc(var(--sp-80) * 12); margin: 0 auto; padding: var(--sp-40) var(--sp-20) var(--sp-64); box-sizing: border-box; }
.cm-contact h1 { font-family: var(--font-heading); font-size: var(--fs-40); line-height: var(--lh-tight); color: var(--c-navy-500); margin: 0 0 var(--sp-16); }
.cm-contact .entity-lede { font-size: var(--fs-18); line-height: var(--lh-base); color: var(--c-ink-700); border-left: var(--bw-4) solid var(--c-brand-500); padding: var(--sp-4) 0 var(--sp-4) var(--sp-20); margin: 0 0 var(--sp-32); }
.cm-contact h2 { font-family: var(--font-heading); font-size: var(--fs-24); line-height: var(--lh-tight); color: var(--c-navy-500); margin: var(--sp-40) 0 var(--sp-16); }
.cm-contact h3 { font-size: var(--fs-18); line-height: var(--lh-tight); color: var(--c-navy-500); margin: 0 0 var(--sp-8); }
.cm-contact p { font-size: var(--fs-16); line-height: var(--lh-base); color: var(--c-ink-700); }
.cm-contact ul.entity-contact { list-style: none; margin: var(--sp-16) 0 0; padding: var(--sp-16) var(--sp-20); background: var(--c-surface-50); border: var(--bw-1) solid var(--c-line); border-radius: var(--r-12); }
.cm-contact ul.entity-contact li { margin: var(--sp-8) 0; font-size: var(--fs-16); line-height: var(--lh-base); overflow-wrap: anywhere; }
.cm-contact ul.entity-contact a,
.cm-contact .entity-lede a,
.cm-contact .entity-card h3 a,
.cm-contact .cm-contact__faq a { color: var(--color-link); font-weight: var(--fw-semibold); }
.cm-contact .entity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--sp-60) * 4)), 1fr)); gap: var(--sp-20); }
.cm-contact .entity-card { background: var(--c-surface-0); border: var(--bw-1) solid var(--c-line); border-radius: var(--r-12); padding: var(--sp-20); }
.cm-contact .entity-card p { margin: 0; font-size: var(--fs-15); color: var(--c-ink-500); }
/* Expert-team card: same markup as the footer (CmsmartCommunityPersona::footerCard()), light surface here. */
.cm-contact .cm-fexp { display: flex; align-items: center; gap: var(--sp-20); margin-top: var(--sp-24); padding: var(--sp-16) var(--sp-20); background: var(--c-surface-50); border: var(--bw-1) solid var(--c-line); border-radius: var(--r-16); box-shadow: var(--shadow-1); }
.cm-contact .cm-fexp__media { flex: none; display: block; line-height: 0; }
.cm-contact .cm-fexp__stack { display: inline-flex; }
.cm-contact .cm-fexp__stack img { width: var(--cm-avatar-md); height: var(--cm-avatar-md); border-radius: var(--r-circle); object-fit: cover; object-position: center 30%; border: var(--bw-2) solid var(--c-surface-0); margin-left: calc(-1 * var(--sp-8)); }
.cm-contact .cm-fexp__stack img:first-child { margin-left: 0; }
.cm-contact .cm-fexp__body { min-width: 0; }
.cm-contact .cm-fexp p { margin: 0; }
.cm-contact .cm-fexp__title a { font-weight: var(--fw-semibold); color: var(--c-navy-500); }
.cm-contact .cm-fexp__line { font-size: var(--fs-14); color: var(--c-ink-500); margin-top: var(--sp-4); }
.cm-contact .cm-fexp__more { display: inline-block; margin-top: var(--sp-8); font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--c-brand-700); }
.cm-contact .cm-contact__faq-item { padding: var(--sp-16) 0; border-top: var(--bw-1) solid var(--c-line); }
.cm-contact .cm-contact__faq-item p { margin: 0; }
.cm-contact .entity-meta { margin-top: var(--sp-24); font-size: var(--fs-15); color: var(--c-ink-500); }
@media (max-width: 560px) {
	.cm-contact h1 { font-size: var(--fs-30); }
	.cm-contact .cm-fexp { flex-direction: column; text-align: center; }
}
