.hero { background: linear-gradient(180deg, var(--neutral-50), #fff); }
.hero .container { padding-top: 4rem; padding-bottom: 4rem; max-width: 820px; }
.hero p.sub { font-size: 1.2rem; color: var(--neutral-500); margin: 1rem 0 2rem; }
.hero .cta-row { display: flex; gap: .8rem; flex-wrap: wrap; }
.benefits .card .ico { font-size: 1.6rem; }
.steps-teaser { background: var(--plum); color: #fff; }
.steps-teaser h2, .steps-teaser .eyebrow { color: #fff; }
.steps-teaser ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; list-style: none; padding: 0; counter-reset: step; }
.steps-teaser li { counter-increment: step; }
.steps-teaser li::before { content: counter(step); font-family: var(--font-serif); font-size: 2rem; display: block; opacity: .7; }
.steps-teaser .inverse-link { margin-top: 1.5rem; }
.steps-teaser .inverse-link .btn { border-color: #fff; color: #fff; }
.steps-teaser .btn-ghost:hover { background: rgba(255,255,255,.15); }
.testimonials .quote { font-family: var(--font-serif); font-size: 1.25rem; font-style: italic; }
.testimonials .who { color: var(--neutral-500); font-family: var(--font-mono); font-size: .8rem; text-transform: uppercase; }
.testimonials .stars { color: #e0a800; font-size: 1.1rem; letter-spacing: 1px; margin: 0 0 .5rem; }
.testimonials .testimonials-more { margin-top: 1.5rem; }
.secondary-cta { text-align: center; }
@media (max-width: 720px) { .steps-teaser ol { grid-template-columns: 1fr; } }
