/* Product pricing uses the shared site palette, with distinct offer accents. */
body[data-page="pricing"] .pricing-hero {
  padding-block: clamp(3rem, 6vw, 5rem) 2.5rem;
}
body[data-page="pricing"] .pricing-hero h1 {
  max-width: 22ch;
  margin: 1.25rem 0;
  font-size: clamp(2.25rem, 4.5vw, 4rem);
  line-height: 1.08;
}
body[data-page="pricing"] .pricing-hero .lede { max-width: 60ch; }
.pricing-comparison { padding-block: 1rem 3rem; }
.pricing-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--rule); border-radius: .5rem; }
.pricing-table { width: 100%; min-width: 52rem; border-collapse: collapse; table-layout: fixed; font-size: .9375rem; }
.pricing-table caption { padding: 1rem 1.25rem; text-align: left; color: var(--dim); border-bottom: 1px solid var(--rule); }
.pricing-table :is(th,td) { padding: 1rem 1.25rem; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pricing-table thead th { color: var(--white); background: var(--panel); border-bottom: 1px solid var(--rule); font-size: 1.125rem; }
.pricing-table th:first-child { width: 32%; }
.pricing-table tbody th { color: var(--white); font-weight: 500; }
.pricing-table td { color: var(--dim); }
.plan-unavailable { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.plan-check { display: inline-block; width: 1.25rem; height: 1.25rem; vertical-align: middle; color: var(--cyan); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pricing-table tbody tr + tr > * { border-top: 1px solid var(--rule); }
.pricing-table tbody tr:first-child > * { background: var(--panel); }
.pricing-scroll-hint { display: none; margin-bottom: .75rem; color: var(--dim); font-size: .875rem; }
.pricing-plan-note { max-width: 85ch; margin-top: 1rem; color: var(--dim); font-size: .875rem; }
.pricing-plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.pricing-card {
  --plan-accent: var(--cyan);
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  gap: .75rem;
  min-width: 0;
  padding: clamp(1.125rem, 2vw, 1.5rem);
  background: var(--panel);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--plan-accent);
  border-radius: .5rem;
}
.pricing-enterprise { --plan-accent: var(--magenta); }
body[data-page="pricing"] .pricing-card :is(h2,p,ul) { margin: 0; }
body[data-page="pricing"] .pricing-card h2 { font-size: 1.625rem; }
body[data-page="pricing"] .pricing-card .eyebrow,
body[data-page="pricing"] .pricing-card .team-benefits li::before { color: var(--plan-accent); }
.pricing-amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; }
.pricing-amount strong { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; color: var(--white); letter-spacing: -.04em; }
.pricing-amount span { font-size: .875rem; color: var(--dim); }
.pricing-card .team-benefits { align-content: start; gap: .5rem; }
.pricing-action { display: grid; gap: .625rem; margin-top: .25rem; }
.pricing-action .btn { text-align: center; justify-content: center; white-space: normal; }
.pricing-explore { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 2rem 3rem; }
.pricing-explore p { max-width: 70ch; font-size: .875rem; }
.pricing-explore strong { color: var(--white); }
.pricing-explore > a { flex-shrink: 0; font-size: .875rem; }
#enterprise { scroll-margin-top: 6rem; }
.pricing-requirements { margin: 0; border-top: 1px solid var(--rule); }
.pricing-requirements > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 2rem; padding-block: 1.5rem; border-bottom: 1px solid var(--rule); }
.pricing-requirements dt { color: var(--white); font-weight: 600; }
.pricing-requirements dd { margin: 0; max-width: 75ch; }
.pricing-contact { margin-top: 2rem; }
.pricing-details { padding-block: 1rem 3rem; }
.pricing-details h2 { font-size: clamp(1.5rem,2.5vw,2rem); }
.pricing-start { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding: 0; list-style: none; counter-reset: start; margin: 2rem 0; }
.pricing-start li { border-top: 1px solid var(--rule); padding-top: 1rem; counter-increment: start; }
.pricing-start li::before { content: "0" counter(start); display: block; margin-bottom: .75rem; color: var(--cyan); font: .75rem/1 var(--mono); }
.pricing-start strong { color: var(--white); }
.pricing-start p, .pricing-usage p { font-size: .875rem; }
.pricing-usage { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.pricing-usage h3 { font-size: 1.125rem; }
@media (max-width: 900px) {
  .pricing-scroll-hint { display: block; }
  .pricing-explore { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .pricing-start, .pricing-usage { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .pricing-plans { grid-template-columns: minmax(0, 1fr); }
  .pricing-requirements > div { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
}
