/* Public pricing chooser: shared by /pricing/ and pricing.html. */
body.pricing-selection-page { --pricing-pin: clamp(100px, calc(var(--public-promo-height, 44px) + 102px), 160px); background: #fffaf4; color: #171719; }
body.pricing-selection-page .setup-claim { display: none !important; }
.pricing-selection-page .pricing-page-main { overflow: clip; }
.pricing-selection-page .pricing-choice-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(144px, 15vw, 196px) 0 clamp(58px, 7vw, 96px); background: linear-gradient(125deg, #f8ddc9 0%, #f7dfdc 54%, #e7e4ff 100%); }
.pricing-selection-page .pricing-choice-hero::before { content: ""; position: absolute; z-index: -1; width: min(68vw, 920px); aspect-ratio: 1; top: -70%; right: -19%; border-radius: 50%; background: conic-gradient(from 32deg at 50% 50%, #a9e99b, #9ec5ed, #827ded, #cba4dc, #fa9d81, #f2b790, #a9e99b); filter: blur(2px); opacity: .75; pointer-events: none; }
.pricing-selection-page .pricing-choice-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(#49372c0d 1px, transparent 1px), linear-gradient(90deg, #49372c0d 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(100deg, #0007, transparent 78%); pointer-events: none; }
.pricing-selection-page .pricing-choice-intro { max-width: 780px; }
.pricing-selection-page .pricing-choice-intro .pricing-private-kicker { margin-bottom: 17px; color: #384f38; }
.pricing-selection-page .pricing-choice-intro h1 { max-width: 11ch; margin: 0; font: 640 clamp(48px, 6.8vw, 96px)/.94 'Instrument Sans', Arial, sans-serif; letter-spacing: -.067em; text-wrap: balance; }
.pricing-selection-page .pricing-choice-intro>p:last-child { max-width: 57ch; margin: 24px 0 0; color: #514e4d; font: 440 clamp(16px, 1.6vw, 20px)/1.58 'Instrument Sans', Arial, sans-serif; }
.pricing-selection-page .pricing-choice-grid { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr); gap: 16px; margin-top: clamp(38px, 5vw, 70px); }
.pricing-selection-page .pricing-choice { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 300px; padding: clamp(24px, 3vw, 40px); border: 1px solid #17171930; border-radius: 19px; background: #fffaf2; color: #171719; box-shadow: 0 20px 60px #39342b13; cursor: pointer; text-align: left; font-family: 'Instrument Sans', Arial, sans-serif; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pricing-selection-page .pricing-choice:hover, .pricing-selection-page .pricing-choice:focus-visible { transform: translateY(-4px); border-color: #171719a6; box-shadow: 0 24px 65px #39342b25; }
.pricing-selection-page .pricing-choice:focus-visible { outline: 3px solid #365caa; outline-offset: 4px; }
.pricing-selection-page .pricing-choice[aria-expanded="true"] { border-color: #30483e; box-shadow: inset 0 0 0 2px #30483e, 0 24px 65px #39342b1e; }
.pricing-selection-page .pricing-choice--system { background: linear-gradient(138deg, #e2f3cf 0%, #e6f3e8 56%, #e5efff 100%); }
.pricing-selection-page .pricing-choice--services { background: linear-gradient(135deg, #fffaf4, #f5edff 100%); }
.pricing-selection-page .pricing-choice__top { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 16px; color: #3f5945; font-size: 11px; font-weight: 780; letter-spacing: .13em; text-transform: uppercase; }
.pricing-selection-page .pricing-choice__icon { display: grid; place-items: center; flex: none; width: 43px; height: 43px; border: 1px solid #1717192b; border-radius: 12px; background: #fff9; color: #273c35; }
.pricing-selection-page .pricing-choice__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pricing-selection-page .pricing-choice strong { display: block; max-width: 14ch; margin-top: auto; font-size: clamp(30px, 3vw, 43px); font-weight: 660; line-height: 1.05; letter-spacing: -.052em; }
.pricing-selection-page .pricing-choice__description { display: block; max-width: 45ch; margin-top: 14px; color: #505b51; font-size: 14px; line-height: 1.55; }
.pricing-selection-page .pricing-choice__footer { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 16px; margin-top: 25px; padding-top: 15px; border-top: 1px solid #17171930; font-size: 12px; font-weight: 750; }
.pricing-selection-page .pricing-choice__footer>span:last-child { font-size: 23px; line-height: .8; }
.pricing-selection-page [data-pricing-panel][hidden] { display: none !important; }
.pricing-selection-page .pricing-selection-panel { scroll-margin-top: 90px; }

/* The plan comparison is a full section after the visitor chooses software. */
body.pricing-selection-page #workspace-plans.enterprise-pricing { background: linear-gradient(135deg, #fffaf1, #f2f4ff 55%, #f4eaff) !important; padding: clamp(62px, 7vw, 100px) max(4%, calc((100% - 1320px) / 2)) clamp(72px, 8vw, 112px) !important; }
body.pricing-selection-page #workspace-plans .enterprise-price-heading { max-width: 880px; margin-bottom: 30px; }
body.pricing-selection-page #workspace-plans .enterprise-price-heading h2 { font-size: clamp(46px, 5.7vw, 78px); }
body.pricing-selection-page #workspace-plans .enterprise-price-scroll { position: sticky; top: var(--pricing-pin); max-height: calc(100dvh - var(--pricing-pin) - 12px); min-height: 0; overflow: auto; border: 1px solid #1717191d; border-radius: 16px; background: #fffdfb; box-shadow: 0 20px 60px #3a335012; }
body.pricing-selection-page #workspace-plans .enterprise-price-table thead { position: sticky; top: 0; z-index: 5; background: #fffdfb; box-shadow: 0 6px 14px #17171914; }
body.pricing-selection-page #workspace-plans .enterprise-price-table thead th { background: #fffdfb; }
body.pricing-selection-page #workspace-plans .enterprise-price-table thead td { position: static; background: #fffdfb; }
body.pricing-selection-page #workspace-plans .enterprise-price-table tbody th { position: static; background: #fffdfb; box-shadow: none; }
body.pricing-selection-page #workspace-plans .enterprise-price-table tbody tr:nth-child(even) { background: #f8f7f3; }
body.pricing-selection-page #workspace-plans .enterprise-plan { min-height: 158px; padding: 12px 13px 10px; }
body.pricing-selection-page #workspace-plans .enterprise-plan.is-featured { border-color: #99aee5; background: linear-gradient(145deg, #e7f0ff, #f7eafd); }
body.pricing-selection-page #workspace-plans .enterprise-plan-amount strong { font-size: clamp(30px, 3vw, 43px); }
body.pricing-selection-page #workspace-plans .enterprise-plan-cta { min-height: 42px; }
body.pricing-selection-page #workspace-plans .enterprise-price-foot { margin-top: 30px; }

.pricing-selection-page .pricing-services { padding: clamp(70px, 8vw, 116px) 0 clamp(90px, 10vw, 150px); background: #fffaf4; }
.pricing-selection-page .pricing-services__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 30px; align-items: end; margin-bottom: 54px; }
.pricing-selection-page .pricing-services__head h2 { max-width: 13ch; margin: 0; font: 620 clamp(46px, 6vw, 84px)/.96 'Instrument Sans', Arial, sans-serif; letter-spacing: -.065em; text-wrap: balance; }
.pricing-selection-page .pricing-services__head>p { max-width: 50ch; margin: 0; color: #606059; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.6; }
.pricing-selection-page .pricing-service-group + .pricing-service-group { margin-top: 74px; }
.pricing-selection-page .pricing-service-group__head { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #17171950; }
.pricing-selection-page .pricing-service-group__head span { color: #496d51; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.pricing-selection-page .pricing-service-group__head h3 { margin: 0; font-size: clamp(23px, 2.3vw, 32px); font-weight: 650; letter-spacing: -.04em; }
.pricing-selection-page .pricing-service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.pricing-selection-page .pricing-service-list li { min-width: 0; }
.pricing-selection-page .pricing-service-list a { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 14px; min-height: 170px; height: 100%; padding: 21px; border: 1px solid #1717191f; border-radius: 13px; background: #fff; color: #171719; text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.pricing-selection-page .pricing-service-list a:hover, .pricing-selection-page .pricing-service-list a:focus-visible { transform: translateY(-3px); border-color: #97a5cf; background: #f4f1ff; }
.pricing-selection-page .pricing-service-list a:focus-visible { outline: 3px solid #365caa; outline-offset: 3px; }
.pricing-selection-page .pricing-service-icon { display: grid; grid-row: 1 / 3; place-items: center; width: 42px; height: 42px; border: 1px solid #17171921; border-radius: 10px; background: #e8def7; color: #36444c; }
.pricing-selection-page .pricing-service-list li:nth-child(3n+2) .pricing-service-icon { background: #dce9f8; }
.pricing-selection-page .pricing-service-list li:nth-child(3n) .pricing-service-icon { background: #f6d7c3; }
.pricing-selection-page .pricing-service-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pricing-selection-page .pricing-service-list strong { display: block; align-self: end; min-width: 0; font-size: 17px; font-weight: 700; line-height: 1.24; }
.pricing-selection-page .pricing-service-list small { display: block; margin-top: 5px; color: #686c65; font-size: 12px; line-height: 1.45; }
.pricing-selection-page .pricing-service-price { display: flex; grid-column: 2; grid-row: 3; align-self: end; align-items: baseline; flex-wrap: wrap; gap: 4px; padding-top: 16px; color: #303d35; font-size: 16px; font-weight: 780; }
.pricing-selection-page .pricing-service-price em { color: #656c63; font-size: 11px; font-style: normal; font-weight: 550; }
.pricing-selection-page .pricing-services__note { margin: 28px 0 0; color: #62665f; font-size: 12px; line-height: 1.6; }

@media (max-width: 980px) {
  .pricing-selection-page .pricing-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-selection-page .pricing-choice-hero::before { width: 760px; right: -400px; top: -300px; }
}
@media (max-width: 700px) {
  .pricing-selection-page .pricing-choice-hero { padding: 126px 0 64px; }
  .pricing-selection-page .pricing-choice-grid, .pricing-selection-page .pricing-services__head { grid-template-columns: 1fr; }
  .pricing-selection-page .pricing-choice { min-height: 250px; }
  .pricing-selection-page .pricing-service-list { grid-template-columns: 1fr; }
  .pricing-selection-page .pricing-service-list a { min-height: 144px; }
  body.pricing-selection-page #workspace-plans.enterprise-pricing { padding-inline: 20px !important; }
  body.pricing-selection-page #workspace-plans .enterprise-price-table { min-width: 690px; }
  body.pricing-selection-page #workspace-plans .enterprise-plan { min-height: 146px; }
  body.pricing-selection-page #workspace-plans .enterprise-price-table thead td, body.pricing-selection-page #workspace-plans .enterprise-price-table tbody th { position: sticky; left: 0; z-index: 2; background: #fffdfb; }
  body.pricing-selection-page #workspace-plans .enterprise-price-table tbody tr:nth-child(even) th { background: #f8f7f3; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-selection-page .pricing-choice, .pricing-selection-page .pricing-service-list a { transition: none; }
}
