.pricing-page { max-width: 1120px; margin: 0 auto; padding: 52px 28px 80px; }
.pricing-intro { display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: end; margin-bottom: 48px; }
.pricing-page h1 { font-family: var(--display); font-size: clamp(2.8rem, 5vw, 4.5rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.1; margin: 18px 0 0; }
.pricing-page p { color: var(--ink-soft); line-height: 1.65; }
.pricing-intro > p { margin: 0 0 4px; max-width: 34ch; }
.pricing-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pricing-options section { background: var(--surface); border-radius: 24px; padding: clamp(26px, 4vw, 44px); display: flex; flex-direction: column; }
.pricing-options section + section { background: var(--accent-soft); }
.pricing-page .package-kicker { font-size: 13px; color: var(--accent-hover); margin: 0 0 18px; }
.pricing-options h2 { font-family: var(--display); font-weight: 400; font-size: 34px; margin: 0; line-height: 1.2; }
.pricing-options .package-price { font-size: 48px; letter-spacing: -.04em; color: var(--ink); margin: 22px 0 12px; line-height: 1.2; }
.package-price span { font-size: 14px; letter-spacing: 0; color: var(--ink-soft); }
.pricing-options section > p:not([class]) { margin: 12px 0 32px; font-size: 17px; }
.pricing-options form { margin-top: auto; }
.pricing-options .button { white-space: normal; width: 100%; }
.pricing-page .pricing-note { font-size: 15px; margin: 28px 0 12px; max-width: 78ch; }
.pricing-footnote { font-size: 15px; margin: 0; }
@media (max-width: 680px) {
  .pricing-page { padding: 28px 20px 56px; }
  .pricing-intro, .pricing-options { grid-template-columns: 1fr; gap: 24px; }
  .pricing-intro { margin-bottom: 32px; }
}
