.pricing-page { max-width: 1040px; }
.pricing-hero { padding: clamp(28px, 6vw, 64px) 0 clamp(18px, 3vw, 28px); max-width: 760px; }
.pricing-hero h1 { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: clamp(42px, 7vw, 76px); line-height: .98; letter-spacing: -.02em; margin: 10px 0 18px; }
.pricing-body { max-width: none; }
.pricing-body .help-section { margin-top: clamp(28px, 5vw, 48px); }
.pricing-free { display: flex; align-items: center; gap: 18px; padding: 18px 20px; border: 1px solid #e3e5da; border-radius: 14px; background: #fbfaf5; }
.pricing-free strong { flex: none; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 54px; line-height: 1; color: #46623f; font-variant-numeric: tabular-nums; }
.pricing-amount { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; color: #3f5638; }
.pricing-grid table { min-width: 560px; }
.pricing-grid td { text-align: right; }
.pricing-grid th[scope="col"]:not(:first-child) { text-align: right; }
.pricing-body code { font-size: .86em; padding: 1px 6px; border-radius: 5px; background: #f0f1ea; color: #4b5545; }
.pricing-notes { margin-top: 32px; color: #6b7364; }
@media (max-width: 600px) { .pricing-free { align-items: flex-start; } .pricing-free strong { font-size: 44px; } }
.pricing-body .help-table { margin-top: 18px; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e3e5da; border-radius: 14px; background: #fffefa; }
.pricing-body table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.55; }
.pricing-body th, .pricing-body td { padding: 13px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #ecede4; }
.pricing-body tbody tr:last-child > * { border-bottom: 0; }
.pricing-body thead th { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #7d8572; background: #f6f5ee; }
.pricing-body tbody th { font-weight: 600; color: #3a4235; }
.pricing-body td { color: #555c50; }
.pricing-grid th:first-child { position: sticky; left: 0; background: #fffefa; z-index: 1; }
.pricing-grid thead th:first-child { background: #f6f5ee; }
.pricing-grid td, .pricing-grid thead th:not(:first-child) { text-align: right; }
.pricing-page { overflow-x: clip; }
@media (max-width: 600px) { .pricing-body th, .pricing-body td { padding: 11px 12px; font-size: 13.5px; } .pricing-grid table { min-width: 480px; } }
.pricing-grid tbody th { white-space: nowrap; }
.pricing-body tbody th { min-width: 6.5em; }
