.pricing-page { margin: 0 auto; max-width: 1120px; padding: 3rem 1.5rem 4rem; }
.pricing-page h1, .pricing-page h2, .pricing-page h3 { color: var(--ink); font-family: Georgia, serif; line-height: 1.15; }
.pricing-page h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); margin: .25rem 0 1rem; }
.pricing-page h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); margin: 0 0 1rem; }
.pricing-page h3 { font-size: 1.6rem; margin: .4rem 0; }
.pricing-page__intro { border-bottom: 1px solid var(--rule); margin-bottom: 3.5rem; max-width: 760px; padding-bottom: 3rem; }
.pricing-page__intro > p:not(.eyebrow), .pricing-comparison > div > p, .pricing-page__closing > p { color: var(--ink-soft); font-size: 1.15rem; max-width: 680px; }
.eyebrow { color: var(--earth); font-size: .78rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.pricing-page__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.5rem; }
.pricing-page__primary, .pricing-page__secondary { border: 1px solid var(--rock); display: inline-block; font-weight: 700; padding: .7rem 1rem; text-decoration: none; }
.pricing-page__primary { background: var(--rock); color: var(--paper); }
.pricing-page__secondary { background: transparent; color: var(--rock); }
.pricing-plan-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.5rem 0 4.5rem; }
.pricing-plan { background: var(--paper); border: 1px solid var(--rule); display: flex; flex-direction: column; padding: 1.35rem; }
.pricing-plan .eyebrow { margin: 0; }
.pricing-plan__popular { color: var(--rock); font-size: .8rem; font-weight: 700; margin: .75rem 0 0; }
.pricing-plan__price { color: var(--rock); font-family: Georgia, serif; font-size: 2rem; font-weight: 700; margin: .75rem 0; }
.pricing-plan__price span { color: var(--ink-soft); font-family: Inter, system-ui, sans-serif; font-size: .85rem; font-weight: 400; }
.pricing-plan__note { color: var(--ink-soft); font-size: .92rem; }
.pricing-plan ul { margin: .5rem 0 1.5rem; padding-left: 1.2rem; }
.pricing-plan li { margin-bottom: .45rem; }
.pricing-plan .pricing-page__primary { margin-top: auto; text-align: center; }
.pricing-comparison, .pricing-faq, .pricing-page__closing { border-top: 1px solid var(--rule); padding: 3.5rem 0; }
.pricing-table-wrap { overflow-x: auto; }
.pricing-table-wrap:focus { outline: 3px solid var(--faxflower); outline-offset: 3px; }
.pricing-table-wrap table { border-collapse: collapse; min-width: 760px; width: 100%; }
.pricing-table-wrap th, .pricing-table-wrap td { border-bottom: 1px solid var(--rule); padding: .85rem; text-align: left; vertical-align: top; }
.pricing-table-wrap thead th { background: var(--rock); color: var(--paper); }
.pricing-table-wrap thead th span { display: block; font-family: Inter, system-ui, sans-serif; font-size: .8rem; font-weight: 400; margin-top: .25rem; }
.pricing-table-wrap tbody th { font-weight: 600; min-width: 260px; }
.pricing-table-wrap td { font-size: 1.05rem; font-weight: 700; }
.pricing-table__tick { color: var(--rock); }
.pricing-table__cross { color: var(--earth); }
.pricing-faq { max-width: 760px; }
.pricing-faq details { border-bottom: 1px solid var(--rule); padding: 1rem 0; }
.pricing-faq summary { color: var(--rock); cursor: pointer; font-weight: 700; }
.pricing-faq details p { color: var(--ink-soft); margin-bottom: 0; }
.pricing-page__closing { text-align: center; }
.pricing-page__closing > p, .pricing-page__closing .pricing-page__actions { justify-content: center; margin-left: auto; margin-right: auto; }
.visually-hidden { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 900px) { .pricing-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pricing-page { padding: 2rem 1rem 3rem; } .pricing-plan-grid { grid-template-columns: 1fr; } }
