.pricing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr);
    align-items: end;
    gap: 2rem;
    padding: clamp(1rem, 3vw, 3rem) 0 1rem;
}

.pricing-hero h1 { max-width: 12ch; margin: .35rem 0 .9rem; }
.pricing-hero .lead { max-width: 42rem; color: var(--ink-muted); font-size: 1.1rem; }
.pricing-hero img { width: 100%; max-height: 18rem; object-fit: contain; object-position: center bottom; }

.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pricing-plan { min-height: 15rem; padding: 1.6rem; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow-soft); }
.pricing-plan h2 { margin: .35rem 0 .8rem; font-size: clamp(1.25rem, 2.4vw, 1.8rem); }
.pricing-plan p { color: var(--ink-muted); }
.pricing-plan-free { border-top: 4px solid #9a8c7a; }
.pricing-plan-paid { border-top: 4px solid var(--brand-red); }
.pricing-price { display: block; margin-top: 1.5rem; color: var(--brand-red); font-size: 1.45rem; font-weight: 800; }
.pricing-price small { color: var(--ink-muted); font-size: .78rem; font-weight: 500; }

.pricing-calculator { margin-top: 1rem; }
.pricing-plan-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.4rem 0; }
.pricing-steps { padding-bottom: 2rem; }
.process-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.process-list li { display: flex; gap: .85rem; align-items: flex-start; padding: 1.1rem; border-inline-start: 3px solid var(--brand-red); background: rgba(255,255,255,.58); }
.process-list strong { color: var(--brand-red); font-size: 1.25rem; }

@media (max-width: 720px) {
    .pricing-hero, .pricing-grid, .pricing-plan-choice, .process-list { grid-template-columns: 1fr; }
    .pricing-hero img { max-height: 11rem; }
}
