/* Scoped local pricing candidate; no shared layout overrides. */
.pricing-overview { margin-top: 2.5rem; max-width: 64rem; }
.pricing-overview h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.pricing-tax, .pricing-intro { max-width: 68ch; margin-top: .8rem; line-height: 1.6; }
.pricing-tax { font-size: .9375rem; color: var(--muted); }
.pricing-overview ol { list-style: none; padding: 0; margin: 1.4rem 0; border-top: 1px solid var(--line-strong); }
.pricing-overview li { border-bottom: 1px solid var(--line); }
.pricing-overview a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .45fr) auto; align-items: center; gap: 1.25rem; padding-block: 1rem; text-decoration: none; min-height: 44px; }
.pricing-overview a span span { display: block; margin-top: .25rem; font-size: .9375rem; color: var(--muted); }
.pricing-overview__price strong { color: var(--blue); font-variant-numeric: tabular-nums; }
.pricing-overview a > span:last-child { color: var(--blue); }
.pricing-overview > p:last-child { max-width: 65ch; font-size: .9375rem; }
.pricing-packages { margin-top: 1.8rem; }
.pricing-package { padding-block: 1.6rem 2rem; border-top: 1px solid var(--line-strong); scroll-margin-top: calc(var(--header) + 2rem); }
.pricing-package__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); align-items: start; gap: 1.2rem 2rem; }
.pricing-package__heading h3 { margin: 0; max-width: 25ch; font-size: clamp(1.35rem, 2.3vw, 1.8rem); line-height: 1.3; }
.pricing-amount strong { display: block; color: var(--blue); font-size: clamp(1.65rem, 3vw, 2.2rem); line-height: 1.25; font-variant-numeric: tabular-nums; }
.pricing-amount span { display: block; font-size: .9375rem; margin-top: .3rem; color: var(--muted); }
.pricing-fit { margin-top: 1rem; max-width: 65ch; }
.pricing-package ul { padding-left: 1.25rem; margin: 1rem 0; max-width: 70ch; }
.pricing-package li + li { margin-top: .5rem; }
.pricing-package > p { max-width: 70ch; line-height: 1.65; }
.pricing-boundary { padding-top: .8rem; border-top: 1px solid var(--line); }
.pricing-package > p + p { margin-top: .7rem; }
.pricing-package > a { display: inline-flex; min-height: 44px; align-items: center; gap: .6rem; margin-top: .8rem; }
.pricing-terms h2 { max-width: 24ch; }
.pricing-terms dl { margin-top: 2rem; }
.pricing-terms dl > div { display: grid; grid-template-columns: minmax(0, .3fr) minmax(0, .7fr); gap: 1rem 2.5rem; padding-block: 1.2rem; border-top: 1px solid var(--line); }
.pricing-terms dt { font-weight: 700; }
.pricing-terms dd { max-width: 68ch; line-height: 1.65; }
.pricing-next { margin-top: 1.5rem; max-width: 72ch; line-height: 1.65; }
.pricing-next a { color: var(--blue); text-underline-offset: .2em; }
.pricing-route .pricing-packages { max-width: 64rem; }
.pricing-route, .pricing-terms, .pricing-overview { scroll-margin-top: calc(var(--header) + 2rem); }
.pricing-method { margin-top: 1rem; border-block: 1px solid var(--line); padding-block: 1rem; }
.pricing-method summary { cursor: pointer; min-height: 44px; padding-block: .5rem; font-weight: 700; }
.pricing-method[open] summary { color: var(--blue); }
.pricing-overview a:focus-visible, .pricing-package a:focus-visible, .pricing-next a:focus-visible, .pricing-method summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
@media (max-width: 700px) {
  .pricing-package__heading, .pricing-terms dl > div { grid-template-columns: 1fr; gap: .65rem; }
  .pricing-overview a { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
  .pricing-overview__price { grid-column: 1; }
  .pricing-overview a > span:last-child { grid-column: 2; grid-row: 1 / 3; }
  .pricing-package__heading h3 { max-width: none; }
}
@media print { .pricing-method > .service-fact-groups { display: block; } }
