/* Pricing sidecar: the existing survey-form identity, scoped to this page. */
.pricing-page { --stamp: #ad3b0c; /* Darker print of the same accent for small-text/hover contrast. */ }
/* The shared site script prepends its own skip link; retain this page's no-JS fallback. */
.pricing-page > .skip-link + .skip-link { display: none; }
.pricing-page main { background: var(--paper); }
.pricing-page main section { padding: 64px 0; }
.pricing-page .pricing-intro { padding-top: 36px; }
.pricing-page main p { max-width: 72ch; }
.pricing-page h3 { margin: 0 0 12px; }
.pricing-page p { font-size: .88rem; line-height: 1.75; }
.pricing-page a { text-underline-offset: 4px; }
.pricing-page .pricing-small { font-size: .76rem; color: var(--ink-soft); }
.pricing-page [aria-current="page"] { text-decoration: underline; text-decoration-color: var(--stamp); text-decoration-thickness: 2px; }
.pricing-edition { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--ink); padding-bottom: 12px; font-size: .74rem; color: var(--ink-soft); }
.pricing-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; align-items: end; margin: 36px 0 28px; }
.pricing-heading h1 { font-size: clamp(2.35rem, 4.8vw, 3.6rem); margin: 0; }
.pricing-page .pricing-lead { margin: 0; font-size: .95rem; color: var(--ink-soft); }
.pricing-status { border: 1px solid var(--line); padding: 14px 18px; background: var(--paper-raised); margin: 0 0 28px; max-width: none !important; }
.research-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 2px solid var(--ink); }
.research-plan { padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; min-width: 0; }
.team-plan { background: var(--paper-raised); border-left: 1px solid var(--ink); }
.plan-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
.plan-heading h2 { font-size: 1.8rem; }
.plan-heading > span { font-size: .7rem; color: var(--ink-soft); }
.pricing-page .research-price { display: flex; gap: 12px; align-items: baseline; margin: 22px 0 0; line-height: 1.1; }
.research-price strong { font-family: var(--serif); font-size: 3.8rem; letter-spacing: -.025em; }
.research-price span { font-size: .86rem; color: var(--ink-soft); }
.pricing-page .plan-cadence { font-size: .74rem; margin: 8px 0 18px; color: var(--ink-soft); }
.plan-purpose { margin: 0 0 18px; min-height: 3.5em; }
.plan-allowances { margin: 0 0 28px; font-size: .8rem; }
.plan-allowances > div { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.plan-allowances dt { color: var(--ink-soft); }
.plan-allowances dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.research-plan .btn-primary { margin-top: auto; justify-content: space-between; }
.pricing-page .plan-footnote { font-size: .72rem; margin: 12px 0 0; color: var(--ink-soft); }
.paid-baseline { padding: 26px 0 20px; border-bottom: 1px solid var(--ink); }
.paid-baseline h3 { font-size: 1.35rem; }
.paid-baseline p { margin: 8px 0; }
.enterprise-jump { display: inline-block; margin-top: 18px; padding: 6px 0; font-size: .8rem; }
.usage-section { border-top: 1px solid var(--line); }
.usage-layout { display: grid; grid-template-columns: .9fr 1.35fr; gap: 64px; }
.usage-layout h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.25; }
.usage-rules > div { border-bottom: 1px solid var(--line); padding: 0 0 22px; margin-bottom: 22px; }
.usage-rules h3 { font-size: 1.3rem; }
.usage-rules p { margin: 8px 0 0; color: var(--ink-soft); }
.pricing-page .deployment-section { background: var(--paper-raised); border-top: 2px solid var(--ink); }
.section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 48px; align-items: end; margin-bottom: 32px; }
.section-heading h2 { max-width: 24ch; }
.section-heading p { max-width: 46ch !important; margin: 0; color: var(--ink-soft); }
.enterprise-offer { background: var(--ink); color: var(--paper); display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 30px; }
.enterprise-offer h3 { font-size: 1.6rem; }
.proposal-label { display: inline-block; font-family: var(--mono); font-size: .65rem; font-weight: 400; border: 1px solid currentColor; padding: 3px 6px; vertical-align: middle; }
.enterprise-offer p { margin: 12px 0; }
.enterprise-offer .enterprise-price { margin-top: 0; }
.enterprise-price strong { font-family: var(--serif); font-size: 2.3rem; }
.enterprise-offer a { font-size: .8rem; }
.enterprise-offer :focus-visible { outline-color: var(--paper); }
.deployment-ledger { margin-top: 30px; border-top: 1px solid var(--ink); }
.deployment-row { display: grid; grid-template-columns: .65fr 1.3fr 1fr; gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.deployment-row h3 { font-size: 1.35rem; }
.deployment-row p { margin: 0 0 12px; }
.deployment-row .deployment-cost { font-weight: 700; color: var(--ink); }
.deployment-responsibility { color: var(--ink-soft); font-size: .82rem; }
.deployment-boundaries { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 16px 0 44px; }
.deployment-boundaries p { font-size: .76rem; color: var(--ink-soft); }
.byoc-worksheet { display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--ink); background: var(--paper); }
.worksheet-inputs { padding: 28px; min-width: 0; }
.worksheet-inputs h3 { font-size: 1.5rem; }
.worksheet-inputs > p { font-size: .82rem; }
.pricing-page .worksheet-baseline { font-size: .74rem; border-block: 1px solid var(--line); padding: 12px 0; }
.worksheet-inputs form { display: flex; flex-direction: column; align-items: stretch; }
.worksheet-inputs label { font-size: .78rem; margin: 16px 0 8px; }
.worksheet-inputs input { font: inherit; background: var(--paper); color: var(--ink); border: 1px solid var(--ink-soft); border-radius: 0; padding: 12px; width: 100%; min-height: 48px; }
.worksheet-inputs button { cursor: pointer; justify-content: center; }
.worksheet-inputs button:disabled { cursor: default; opacity: .65; }
.budget-sheet { padding: 28px; border-left: 1px solid var(--ink); min-width: 0; background: var(--paper-deep); }
.pricing-page .budget-caption { margin: 0 0 20px; color: var(--ink-soft); font-size: .74rem; }
.budget-sheet h4 { font-family: var(--serif); font-size: 1.5rem; margin: 0 0 24px; }
.budget-sheet dl { margin: 0; }
.budget-sheet dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; font-size: .8rem; border-bottom: 1px solid var(--line); }
.budget-sheet dt { min-width: 0; }
.budget-sheet dd { margin: 0; flex-shrink: 0; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.budget-sheet .budget-total { border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); margin-top: 12px; flex-direction: column; gap: 4px; }
.budget-total dd { text-align: left; font-family: var(--serif); font-size: clamp(2rem, 3.4vw, 2.8rem); font-weight: 700; line-height: 1.25; }
.pricing-page .budget-formula { font-size: .74rem; overflow-wrap: anywhere; }
.pricing-page .budget-hosted { font-size: .76rem; border-top: 1px solid var(--line); padding-top: 16px; }
.pricing-context h2 { margin-bottom: 18px; }
.pricing-sources { list-style: none; margin: 28px 0 20px; padding: 0; border-top: 1px solid var(--line); }
.pricing-sources li { display: grid; grid-template-columns: .8fr 1.5fr; gap: 30px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.pricing-sources span { color: var(--ink-soft); }
.pricing-context > .wrap > a { display: inline-block; font-size: .82rem; padding: 8px 0; }
.pricing-page .btn-primary { transition: background-color 160ms ease-out, border-color 160ms ease-out; }
.pricing-page :focus-visible { outline: 3px solid var(--stamp); outline-offset: 4px; }
@media (max-width: 800px) {
  .pricing-heading { grid-template-columns: 1fr; gap: 22px; }
  .usage-layout { grid-template-columns: 1fr; gap: 28px; }
  .usage-layout h2 br { display: none; }
  .enterprise-offer { gap: 24px; }
  .deployment-row { grid-template-columns: .7fr 1.3fr; }
  .deployment-responsibility { grid-column: 2; }
  .byoc-worksheet { grid-template-columns: 1fr; }
  .budget-sheet { border-left: 0; border-top: 1px solid var(--ink); }
}
@media (max-width: 560px) {
  .pricing-page main section { padding: 42px 0; }
  .pricing-page .pricing-intro { padding-top: 24px; }
  .pricing-heading { margin-top: 26px; }
  .research-plans, .enterprise-offer, .deployment-boundaries, .deployment-row, .pricing-sources li { grid-template-columns: 1fr; }
  .team-plan { border-left: 0; border-top: 1px solid var(--ink); }
  .research-plan { padding: 24px 20px; }
  .enterprise-offer { padding: 24px 20px; }
  .deployment-row { gap: 8px; }
  .deployment-responsibility { grid-column: auto; }
  .deployment-boundaries { gap: 0; }
  .pricing-sources li { gap: 10px; }
  .worksheet-inputs, .budget-sheet { padding: 24px 18px; }
  .pricing-page header.site nav { align-items: start; }
  .pricing-page .nav-links { width: 100%; }
  .pricing-page .nav-links a { min-height: 32px; display: inline-flex !important; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-page .btn-primary { transition: none; }
}
