/* Pricing only: established type, surfaces and clear links, without extra JS. */
.pricing-page .pricing-opening { padding-block: clamp(48px, 4.5vw, 64px); }
.pricing-opening h1 { font-size: clamp(42px, 5vw, 72px); margin-bottom: 24px; }
.pricing-opening .opening-copy { max-width: 66ch; }
.pricing-opening .opening-copy p { font-size: 18px; line-height: 1.65; margin-bottom: 16px; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.pricing-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3vw, 44px);
  background: var(--paper);
}
.pricing-card .eyebrow { margin: 0 0 16px; }
.pricing-card h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.12; margin: 0 0 20px; }
.pricing-card p { max-width: 58ch; }
.pricing-card .pricing-amount { margin: 0 0 24px; font-size: 22px; line-height: 1.4; }
.pricing-amount strong { font-size: clamp(32px, 3.2vw, 46px); font-weight: 500; white-space: nowrap; }
.pricing-amount span { display: block; font-size: 15px; }
.pricing-card > .content-link { align-self: flex-start; margin-top: auto; padding-top: 20px; }
.pricing-page .proto-contact-closer .proto-button { max-width: 100%; white-space: normal; }
@media (max-width: 700px) {
  .pricing-grid { grid-template-columns: minmax(0, 1fr); }
  .pricing-card h2 { overflow-wrap: break-word; hyphens: auto; }
  .pricing-card > .content-link { font-size: 15px; }
}
@media print {
  .pricing-grid { display: block; }
  .pricing-card { break-inside: avoid; padding: 20px 0; }
}
