/* STRH 2.0 Community section (1.1.0). Uses the same site-wide tokens as STRH Hero. */
.strh-cm {
  --strh-cm-ink: var(--strh-color-ink, #16231d);
  --strh-cm-green: var(--strh-color-primary, #3c6d43);
  --strh-cm-paper: var(--strh-color-card, #f5f6f2);
  --strh-cm-radius: var(--strh-radius-card, 10px);
  width: min(100%, var(--strh-container-wide, 1170px));
  margin: 30px auto 38px;
  color: var(--strh-cm-ink);
  font-family: var(--strh-font-body, inherit);
  box-sizing: border-box;
}
.strh-cm *, .strh-cm *::before, .strh-cm *::after { box-sizing: border-box; }
.strh-cm__heading {
  display:flex; justify-content:space-between; align-items:end;
  gap:18px; padding:0 1px 15px; border-bottom:1px solid #dfe5dc;
  margin-bottom:16px;
}
.strh-cm__heading h2 { margin:0 0 3px !important; color:var(--strh-cm-ink) !important; font-family:var(--strh-font-body, inherit); font-size:clamp(21px, 2vw, 27px) !important; line-height:1.2 !important; font-weight:800 !important; letter-spacing:.005em; text-transform:uppercase; }
.strh-cm__heading p { margin:0 !important; color:#586459; font-size:13px; line-height:1.5; }
.strh-cm__all { white-space:nowrap; font-size:13px; font-weight:700; color:var(--strh-cm-green) !important; text-decoration:none !important; }
.strh-cm__all:hover { text-decoration:underline !important; }
.strh-cm__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); }
.strh-cm__card {
  display:grid; grid-template-columns:40% minmax(0,1fr);
  min-width:0; min-height:190px; height:100%;
  overflow:hidden; border-radius:var(--strh-cm-radius);
  background:var(--strh-cm-paper);
  border:1px solid #e5ebe2;
  color:var(--strh-cm-ink) !important; text-decoration:none !important;
  transition:box-shadow .18s ease;
}
.strh-cm__card:hover { box-shadow:0 5px 22px rgb(16 40 21 / .11); }
.strh-cm__card:focus-visible { outline:3px solid var(--strh-cm-green); outline-offset:3px; }
.strh-cm__visual { display:block; position:relative; min-width:0; background:#dce7d7; overflow:hidden; }
.strh-cm__image { display:block; width:100%; height:100%; min-height:190px; object-fit:cover; transition:transform .3s ease; }
.strh-cm__card:hover .strh-cm__image { transform:scale(1.03); }
.strh-cm__placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#42674b; font-weight:800; font-size:24px; letter-spacing:.04em; }
.strh-cm__body { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; min-width:0; padding:clamp(12px, 1.5vw, 20px); }
.strh-cm__date { color:#4b7252; font-size:10px; letter-spacing:.07em; text-transform:uppercase; font-weight:750; }
.strh-cm__title { color:var(--strh-cm-ink); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; font-family:var(--strh-font-heading, Georgia, serif); font-size:clamp(17px,1.5vw,21px); line-height:1.21; font-weight:700; letter-spacing:-.015em; }
.strh-cm__deck { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; color:#526057; font-size:12px; line-height:1.45; }
.strh-cm__read { color:var(--strh-cm-green); font-size:11px; font-weight:750; margin-top:1px; }
@media(max-width:850px) { .strh-cm__grid { grid-template-columns:1fr; } .strh-cm__card { min-height:155px; } .strh-cm__image { min-height:155px; } }
@media(max-width:600px) {
  .strh-cm { margin:24px auto 28px; }
  .strh-cm__heading { align-items:start; }
  .strh-cm__heading p { font-size:12px; }
  .strh-cm__all { font-size:11px; margin-top:5px; }
  .strh-cm__card { min-height:142px; grid-template-columns:36% minmax(0,1fr); }
  .strh-cm__image { min-height:142px; }
  .strh-cm__body { padding:12px; gap:6px; }
  .strh-cm__title { font-size:17px; }
  .strh-cm__deck { -webkit-line-clamp:2; }
}
@media(max-width:390px) {
  .strh-cm__heading { flex-wrap:wrap; gap:4px; }
  .strh-cm__all { margin-top:0; }
  .strh-cm__deck { display:none; }
}
@media(prefers-reduced-motion:reduce) { .strh-cm__card, .strh-cm__image { transition:none; } }
