/* Pricing is a comparison surface; editorial page spacing stays elsewhere. */
.pricing-page .pricing-page-intro { padding-block: 3rem 2.5rem; }
.pricing-page .pricing-page-intro h1 { font-size: clamp(2.5rem, 5vw, 4rem); margin-block: 1.5rem; }
.pricing-page .pricing-page-intro > p { max-width: 65ch; }
.pricing-page .pricing-help-link { margin-top: .75rem; }
.pricing-page .pricing-contents a { padding-block: 1.5rem; }
.pricing-page .section-space { padding-block: clamp(3.5rem, 6vw, 5rem); }
.pricing-page .section-intro { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2rem 4rem; max-width: none; margin-bottom: 2.5rem; }
.pricing-page .section-intro h2 { font-size: clamp(2rem, 3vw, 2.75rem); max-width: 22ch; }
.pricing-page .section-intro > div { padding: 0; margin: 0; max-width: 55ch; }
.pricing-page .section-intro p { font-size: 1rem; line-height: 1.7; }
.pricing-page .section-intro p + p { margin-top: 1rem; }
.pricing-page .section-intro .text-link { margin-top: 1rem; }

.pricing-page .synthesis-comparison { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-top: 0; }
.pricing-page .synthesis-comparison .consulting-rate { display: flex; flex-direction: column; gap: 0; padding-block: 1.5rem; }
.synthesis-comparison .consulting-rate h3 { font-size: clamp(1.25rem, 1.9vw, 1.6rem); }
.synthesis-comparison .consulting-rate .rate-number { text-align: left; margin-top: 1.25rem; font-size: 2rem; }
.synthesis-comparison .consulting-rate .rate-number span { min-height: 3.4em; max-width: 24ch; font-size: .8125rem; line-height: 1.5; margin-top: .4rem; }
.pricing-page .synthesis-comparison .consulting-rate > p { font-size: .9375rem; line-height: 1.7; margin-block: 1rem 1.25rem; }
.synthesis-comparison .consulting-rate > p strong { display: block; color: var(--paper); font-weight: 400; margin-top: .5rem; }
.synthesis-comparison .consulting-rate .text-link { margin-top: auto; min-height: 44px; }
.pricing-page .assessment-inclusions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 3rem; margin-top: 1.5rem; padding-top: 1.75rem; border-top: 1px solid var(--line); }
.assessment-inclusions h3 { grid-column: 1/-1; font-size: 1.4rem; }
.pricing-page .assessment-inclusions p { margin: 0; max-width: 60ch; font-size: .875rem; }
.assessment-inclusions > .text-link { grid-column: 1/-1; justify-self: start; font-size: .875rem; min-height: 44px; }

.catalog-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 2rem; margin-bottom: .75rem; }
.catalog-actions p { font-size: .875rem; }
.catalog-actions button { background: none; border: 0; color: var(--copper-light); font: inherit; font-size: .875rem; text-decoration: underline; text-underline-offset: 5px; min-height: 44px; padding: .5rem 0; cursor: pointer; }
.catalog-actions button[hidden] { display: none; }
.pricing-page .review-price-group > summary { padding-block: 1.5rem; font-size: clamp(1.25rem, 2.3vw, 1.75rem); }
.review-price-group > summary small { display: block; font: .875rem/1.5 var(--sans); color: var(--copper-light); margin-top: .5rem; }
.pricing-page .review-price-group th, .pricing-page .review-price-group td { padding-block: 1rem; }
.pricing-page .review-price-group table { table-layout: fixed; }
.pricing-page .review-price-group th:last-child, .pricing-page .review-price-group td { width: 30%; min-width: 0; overflow-wrap: anywhere; }
.pricing-page .review-price-footer { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem 3rem; }
.pricing-page .review-price-footer .text-link { margin-top: 0; min-height: 44px; flex-shrink: 0; }

.consulting-catalog { border-bottom: 1px solid var(--line); }
.consulting-option { border-top: 1px solid var(--line); }
.consulting-option > summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, auto) 20px; column-gap: 2rem; row-gap: .4rem; align-items: center; padding-block: 1.3rem; list-style: none; cursor: pointer; }
.consulting-option > summary::-webkit-details-marker { display: none; }
.consulting-option-name { font: 1.4rem/1.3 var(--serif); color: var(--paper); }
.consulting-option .rate-number { grid-column: 2; grid-row: 1/3; color: var(--copper-light); font: 1.75rem/1.2 var(--serif); text-align: right; font-variant-numeric: tabular-nums; }
.consulting-option .rate-number span { display: block; margin-top: .4rem; color: var(--muted); font: .8125rem/1.5 var(--sans); }
.consulting-option-scope { grid-column: 1; color: var(--muted); font: .875rem/1.5 var(--sans); }
.consulting-option .expand { grid-column: 3; grid-row: 1/3; }
.consulting-option[open] .expand::after { transform: rotate(0); }
.consulting-option > summary:hover .consulting-option-name,
.consulting-option[open] .consulting-option-name { color: var(--copper-light); }
.consulting-option-body { display: flex; justify-content: space-between; align-items: start; gap: 2rem 3rem; padding: 0 3.25rem 1.75rem 0; }
.consulting-option-body p { max-width: 65ch; font-size: 1rem; line-height: 1.7; }
.consulting-option-body .text-link { color: var(--copper-light); font-size: .875rem; min-height: 44px; flex-shrink: 0; }
.pricing-page .pricing-footnote { max-width: 85ch; margin-top: 1.5rem; border: 0; padding-top: 0; }
.pricing-page .pricing-questions .section-intro { margin-bottom: 1.5rem; }
.pricing-page .scope-questions { max-width: none; margin: 0; }
.pricing-page .scope-questions summary { padding-block: 1.25rem; font-size: 1.125rem; }
.pricing-page .scope-questions details > div { max-width: 70ch; padding-bottom: 1.5rem; }
.pricing-page .pricing-next { padding-block: 3rem; }
.pricing-page .pricing-next p { margin-top: 1rem; }

@media (max-width: 1050px) {
  .pricing-page .synthesis-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .synthesis-comparison .consulting-rate h3 { font-size: 1.5rem; }
  .pricing-page .section-intro { gap: 1.5rem 2.5rem; }
  .consulting-option-body, .pricing-page .review-price-footer { flex-direction: column; gap: 1rem; }
}
@media (max-width: 600px) {
  .pricing-page .pricing-page-intro { padding-block: 2rem; }
  .pricing-page .pricing-page-intro > p { font-size: 1rem; }
  .pricing-page .pricing-contents a, .pricing-page .pricing-contents a + a { padding-block: 1rem; }
  .pricing-page .pricing-contents span { font-size: 1.25rem; }
  .pricing-page .pricing-contents small { margin-top: .25rem; }
  .pricing-page .section-intro { display: block; }
  .pricing-page .section-intro > div { margin-top: 1.25rem; }
  .pricing-page .synthesis-comparison { grid-template-columns: 1fr; gap: 0; }
  .pricing-page .synthesis-comparison .consulting-rate { display: grid; grid-template-columns: 1fr auto; gap: 1rem; }
  .synthesis-comparison .consulting-rate h3 { font-size: 1.25rem; }
  .synthesis-comparison .consulting-rate .rate-number { margin: 0; text-align: right; font-size: 1.5rem; }
  .synthesis-comparison .consulting-rate .rate-number span { min-height: 0; max-width: 17ch; }
  .pricing-page .synthesis-comparison .consulting-rate > p { margin: 0; grid-column: 1/-1; }
  .synthesis-comparison .consulting-rate .text-link { grid-column: 1/-1; }
  .pricing-page .assessment-inclusions { display: block; }
  .pricing-page .assessment-inclusions p { margin-top: 1rem; }
  .assessment-inclusions > .text-link { margin-top: 1rem; }
  .consulting-option > summary { grid-template-columns: minmax(0, 1fr) minmax(5rem, auto) 16px; column-gap: .8rem; }
  .consulting-option-name { font-size: 1.125rem; }
  .consulting-option .rate-number { font-size: 1.4rem; grid-row: 1; }
  .consulting-option .rate-number span { max-width: 14ch; }
  .consulting-option-scope { grid-column: 1/3; margin-top: .4rem; }
  .consulting-option-body { padding-right: 0; }
}
@supports (interpolate-size: allow-keywords) {
  @media screen and (prefers-reduced-motion: no-preference) {
    html:not(.motion-paused) .pricing-page main details::details-content {
      interpolate-size: allow-keywords;
      height: 0;
      overflow: clip;
      transition: height 260ms cubic-bezier(.16,1,.3,1), content-visibility 260ms allow-discrete;
    }
    html:not(.motion-paused) .pricing-page main details[open]::details-content { height: auto; }
  }
}
@media print {
  .pricing-page main details::details-content { content-visibility: visible; height: auto; overflow: visible; }
  .pricing-page details > :not(summary) { display: revert; }
  .catalog-actions, .pricing-contents, .pricing-help-link { display: none; }
  .pricing-page .section-space { padding-block: 1.5rem; }
  .consulting-option, .review-price-group tr { break-inside: avoid; }
}
