.pricing-page :is(h1, h2, h3, p) { margin: 0; }
.pricing-page main [id] { scroll-margin-top: 28px; }
.pricing-page .pricing-hero { padding: 64px 0 72px; }
.pricing-page .pricing-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr); gap: 96px; align-items: end; }
.pricing-page h1 { max-width: 15ch; font-size: clamp(2.8rem, 5.4vw, 4.5rem); font-weight: 750; letter-spacing: -.05em; line-height: 1.08; text-wrap: balance; }
.pricing-page .pricing-intro { max-width: 53ch; margin-top: 24px; color: var(--color-muted); font-size: 1rem; line-height: 1.8; }
.pricing-page .pricing-index { border-top: 1px solid var(--color-line); }
.pricing-page .pricing-index a { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 60px; border-bottom: 1px solid var(--color-line); color: var(--color-text); font-size: .875rem; text-decoration: none; }
.pricing-page .pricing-index a:hover { color: var(--color-accent-light); }
.pricing-page .pricing-index span { color: var(--color-accent-light); }
.pricing-page .pricing-custom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.pricing-page .pricing-custom-grid article { padding-top: 24px; border-top: 1px solid var(--color-line); }
.pricing-page .pricing-custom-grid article p { max-width: 55ch; margin-top: 12px; font-size: .875rem; }
.pricing-page .pricing-custom-grid article a { margin-top: 12px; }
.pricing-page .pricing-custom-grid + .pr-link { margin-top: 28px; }
.pricing-page .pricing-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 64px; }
.pricing-page .pricing-faq article { padding-top: 24px; border-top: 1px solid var(--color-line); }
.pricing-page .pricing-faq article p { max-width: 60ch; margin-top: 12px; font-size: .875rem; }
.pricing-page .pricing-faq article a { color: var(--color-accent-light); text-underline-offset: 4px; }
.pricing-page .pricing-final { padding-block: 64px; background: var(--color-surface); }
.pricing-page .pricing-final .container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.pricing-page .pricing-final h2 { font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.2; letter-spacing: -.04em; }
.pricing-page .pricing-final p { max-width: 60ch; margin-top: 16px; color: var(--color-muted); }
.pricing-page .pricing-final .btn { flex-shrink: 0; }
.pricing-page .pricing-index a:focus-visible { outline-offset: 4px; }
@media (max-width: 1000px) { .pricing-page .pricing-hero-grid { gap: 48px; } }
@media (max-width: 760px) {
  .pricing-page .pricing-hero { padding-block: 40px 48px; }
  .pricing-page .pricing-hero-grid, .pricing-page .pricing-custom-grid, .pricing-page .pricing-faq { grid-template-columns: 1fr; gap: 32px; }
  .pricing-page .pricing-index a { min-height: 52px; }
  .pricing-page .pricing-final .container { align-items: start; flex-direction: column; gap: 24px; }
}
