.cf-card-grid { display: grid; gap: 18px; }
.cf-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cf-card-grid--areas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cf-card, .cf-area-card, .cf-update-card, .cf-contact-card, .cf-content-grid article {
  background: rgba(255,255,255,.96);
  border: 1px solid var(--cf-border);
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 16px 38px rgba(13,75,46,.065);
}
.cf-card h3, .cf-area-card h3 { line-height: 1.12; }
.cf-area-card { min-height: 204px; transition: transform .2s ease, box-shadow .2s ease; }
.cf-area-card:hover { transform: translateY(-4px); box-shadow: var(--cf-shadow); }
.cf-card-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: rgba(76,175,42,.1); color: var(--cf-green-main); margin-bottom: 14px; }
.cf-card-icon svg { width: 31px; height: 31px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.cf-area-card p, .cf-card p { margin-bottom: 0; font-size: .94rem; }
.cf-status { display: inline-flex; margin-top: 14px; padding: 7px 11px; border-radius: 999px; background: rgba(76,175,42,.1); color: var(--cf-green-deep); font-weight: 800; font-size: .76rem; }
.cf-chip-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.cf-chip-grid span { padding: 10px 14px; border-radius: 999px; background: var(--cf-white); border: 1px solid var(--cf-border); box-shadow: 0 8px 20px rgba(13,75,46,.055); color: var(--cf-green-deep); font-weight: 700; }
.cf-update-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cf-update-card span { color: var(--cf-green-main); font-weight: 800; font-size: .78rem; text-transform: uppercase; }
.cf-update-card h3 { margin-top: 10px; }
.cf-update-card p { margin-bottom: 0; }
.cf-content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cf-card-grid--areas-compact .cf-area-card { min-height: 180px; }
.cf-card-grid--areas-compact .cf-area-card p { font-size: .9rem; }


.cf-update-card {
  overflow: hidden;
  padding: 0;
}
.cf-update-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg, #edf6e7, #dcefd5);
}
.cf-update-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .28s ease;
}
.cf-update-card:hover .cf-update-card__image img {
  transform: scale(1.04);
}
.cf-update-card__body {
  padding: 22px;
}
.cf-update-card__body span {
  color: var(--cf-green-main);
  font-weight: 800;
  font-size: .78rem;
  text-transform: uppercase;
}
.cf-update-card__body h3 {
  margin-top: 10px;
}
.cf-update-card__body p {
  margin-bottom: 0;
}
