/* Pricing uses the shared page, typography, buttons, and theme tokens. */
.pricing-hero { padding-bottom: 2.5rem; }
.pricing-hero h1 { max-width: 850px; }
.pricing-options { padding-top: 2rem; padding-bottom: 3rem; }
.pricing-options .section-head { margin-bottom: 1rem; }
.pricing-explanation { max-width: 880px; margin-bottom: 1.75rem; }
.pricing-explanation p { margin: 0 0 .65rem; color: var(--muted-text); }
.pricing-explanation .text-link { font-size: .88rem; }
.pricing-monthly, .pricing-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.pricing-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pricing-card { min-width: 0; padding: 1.35rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--background); color: var(--text); }
.pricing-card-combined { border-top: 4px solid var(--accent); padding-top: calc(1.35rem - 3px); background: var(--surface); }
.pricing-card h3 { margin: 0 0 .75rem; font: 600 1.08rem/1.45 "Poppins", sans-serif; color: var(--text); letter-spacing: -.02em; }
.pricing-card .eyebrow { margin-bottom: .6rem; font-size: .62rem; color: var(--primary); }
.pricing-card .pricing-rate { margin: 0; font: 600 1.15rem/1.5 "Poppins", sans-serif; color: var(--primary); }
.pricing-card > p { margin: 1rem 0; font-size: .9rem; color: var(--muted-text); }
.pricing-card details { margin: 1rem 0 1.25rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); font-size: .85rem; }
.pricing-card summary { padding: .8rem 0; cursor: pointer; font-weight: 600; color: var(--text); }
.pricing-card ul { margin: 0 0 1rem; padding-left: 1.1rem; color: var(--muted-text); }
.pricing-card li + li { margin-top: .45rem; }
.pricing-card .button { font-size: .82rem; }
.pricing-boundary, .pricing-adhoc { color: var(--muted-text); font-size: .85rem; }
.pricing-boundary { max-width: 900px; margin: 1.25rem 0 0; }
.pricing-options .pricing-project-heading { margin-top: 2.5rem; }
.pricing-adhoc { margin: 1.5rem 0 0; }
.pricing-page main :is(a, summary):focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
@media (min-width: 761px) and (max-width: 1250px) {
  .pricing-monthly { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-card-combined { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .pricing-monthly, .pricing-projects { grid-template-columns: 1fr; }
  .pricing-page main .wrap { width: calc(100% - 2rem); }
  .pricing-card { padding: 1.15rem; }
  .pricing-hero h1 { font-size: clamp(2rem, 8vw, 3.5rem); }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-page main .button { transition: none; transform: none; }
}
