.cf-container { width: min(var(--cf-container), calc(100% - 40px)); margin: 0 auto; }
.cf-main { overflow: hidden; }
.cf-section { padding: clamp(52px, 6.2vw, 88px) 0; position: relative; }
.cf-section-full { position: relative; }
.cf-soft { background: linear-gradient(180deg, #fbfdf8 0%, var(--cf-cream-2) 100%); }
.cf-dark { background: radial-gradient(circle at 20% 20%, rgba(139,195,74,.2), transparent 28%), linear-gradient(135deg, #06381f 0%, #0d4b2e 55%, #08321e 100%); color: var(--cf-white); }
.cf-dark h2, .cf-dark h3, .cf-dark p, .cf-dark .cf-section-kicker { color: var(--cf-white); }
.cf-grid { display: grid; gap: clamp(22px, 3vw, 48px); }
.cf-grid--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); }
.cf-grid--middle { align-items: center; }
.cf-copy { max-width: 560px; }
.cf-section-head { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.cf-section-head p { font-size: 1rem; }
.cf-section-kicker, .cf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 11px;
  color: var(--cf-green-main);
  font: 800 .72rem/1 var(--cf-font-heading);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cf-section-kicker::before, .cf-eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--cf-green-main); display: inline-block; }
.cf-actions { display: flex; gap: 13px; flex-wrap: wrap; align-items: center; }
.cf-actions--right { justify-content: flex-end; }
.cf-narrow { max-width: 820px; margin-left: auto; margin-right: auto; }
