.lf-hero {
    padding: 2.75rem 0 1.75rem;
    background:
        radial-gradient(ellipse 70% 50% at 80% 0%, rgba(45, 106, 79, 0.14), transparent 55%),
        linear-gradient(180deg, #f3f7f4 0%, #fff 100%);
}

.lf-hero-inner h1 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    margin: 0.35rem 0 0.75rem;
    color: var(--brand, #1b4332);
}

.lf-eyebrow {
    margin: 0;
    font-weight: 700;
    color: var(--brand-accent, #2d6a4f);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

.lf-lead {
    max-width: 40rem;
    line-height: 1.65;
    margin: 0;
}

.lf-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.lf-steps,
.lf-why {
    padding: 1.75rem 0;
}

.lf-steps h2,
.lf-why h2 {
    margin: 0 0 1rem;
    color: var(--brand, #1b4332);
}

.lf-step-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1rem;
}

.lf-step-list li {
    display: grid;
    gap: 0.25rem;
    padding: 1rem 1.1rem;
    border-inline-start: 3px solid var(--brand-accent, #2d6a4f);
    background: #f7faf8;
}

.lf-step-list strong {
    font-size: 1.05rem;
}

.lf-note {
    margin-top: 1.25rem;
    color: var(--text-muted, #5a6b5e);
}

.lf-bullets {
    margin: 0 0 1.25rem;
    padding-inline-start: 1.2rem;
    line-height: 1.75;
    max-width: 40rem;
}

.lf-faq {
    padding: 1rem 0 3rem;
}
