/* Public pricing shares the light Home, Features, and role-page design. */
body[data-landing-view="pricing"] { background: #fff; }
body[data-landing-view="pricing"] .landing-background { display: none; }
body.landing-fullscreen[data-landing-view="pricing"] .landing-fullscreen-main { height: calc(100dvh - 88px); padding: 0; }
body.landing-fullscreen .price-page.is-active { display: block; height: 100%; min-height: 0; width: 100%; max-width: none; margin: 0; padding: 0 48px 48px; overflow: auto; background: #fff; color: #183442; font-family: Arial,sans-serif; }
.price-page *, .price-page *::before, .price-page *::after { box-sizing: border-box; letter-spacing: 0; }
.price-page :is(h1,h2,h3,p) { margin: 0; font-family: Arial,sans-serif; }
.price-container { max-width: 1280px; margin: 0 auto; padding-top: 32px; }
body .price-page h1 { margin: 8px 0 12px; font-size: 36px; line-height: 1.2; color: #183442; }
.price-header > p:last-child { color: #526674; font-size: 17px; line-height: 1.6; }
.price-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 28px; align-items: stretch; }
body.landing-fullscreen .price-page .price-plan { display: flex; flex-direction: column; gap: 0; min-width: 0; min-height: 0; height: auto; padding: 24px; margin: 0; border: 1px solid #dce6ea; border-top: 3px solid #8c9ba4; border-radius: 8px; background: #fafcfd; color: #183442; box-shadow: none; backdrop-filter: none; transform: none; overflow: visible; }
body.landing-fullscreen .price-page .price-plan::before,
body.landing-fullscreen .price-page .price-plan::after { display: none; }
body.landing-fullscreen .price-page .price-plan-featured { border-color: #087f8c; background: #f6fbfb; }
body.landing-fullscreen .price-page .price-plan[data-plan="premium"] { border-top-color: #42795b; }
.price-plan-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; min-height: 32px; }
body .price-page .price-plan h2 { font: 700 24px/1.3 Arial,sans-serif; color: #183442; margin: 0; }
.price-plan-label { color: #526674; font-size: 12px; line-height: 1.5; }
.price-plan-featured .price-plan-label { color: #006c7a; font-weight: 700; }
.price-amount { display: flex; gap: 8px; align-items: baseline; margin-top: 16px !important; }
.price-amount strong { color: #183442; font: 700 38px/1.2 Arial,sans-serif; }
.price-amount > span { color: #526674; font-size: 14px; }
.price-description { min-height: 48px; margin-top: 12px !important; color: #526674; font-size: 15px; line-height: 1.6; }
.price-limits { min-height: 32px; display: flex; flex-wrap: wrap; align-content: center; align-items: center; gap: 4px 8px; color: #263f4c; font-size: 14px; line-height: 1.5; margin: 8px 0 !important; }
.price-cta { display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px; border: 1px solid #b7d6dc; border-radius: 6px; color: #006c7a; background: #fff; text-decoration: none; text-align: center; font-size: 15px; line-height: 1.5; font-weight: 700; }
.price-plan-featured .price-cta { color: #fff; background: #087f8c; border-color: #087f8c; }
.price-cta:hover { background: #edf7f8; border-color: #087f8c; }
.price-plan-featured .price-cta:hover { background: #006c7a; }
.price-includes { margin: 20px 0 14px !important; color: #263f4c; font-size: 14px; font-weight: 700; line-height: 1.5; }
body.landing-fullscreen .price-page .price-feature-list { display: grid; align-content: start; gap: 8px; list-style: none; margin: 0; padding: 0; }
body.landing-fullscreen .price-page .price-feature-list li { display: flex; align-items: start; gap: 10px; padding: 0; margin: 0; color: #365361; font: 400 14px/1.5 Arial,sans-serif; }
body.landing-fullscreen .price-page .price-feature-list li::before,
body.landing-fullscreen .price-page .price-feature-list li::after { display: none; }
.price-feature-list svg, .compare-status svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; fill: none; stroke: #28745a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.price-terms { padding: 20px 0 28px; border-bottom: 1px solid #dce6ea; }
.price-terms p { font-size: 13px; line-height: 1.7; color: #526674; }
.price-terms p + p { margin-top: 4px; }
.price-terms strong { color: #263f4c; }
.price-comparison { padding-top: 28px; }
.price-comparison h2 { color: #183442; font-size: 24px; line-height: 1.4; margin-bottom: 20px; }
.price-table-scroll { overflow: visible; }
.price-page :is(a,.price-table-scroll):focus-visible { outline: 3px solid #13b6bc; outline-offset: 3px; }
.price-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 14px; line-height: 1.5; }
.price-table th, .price-table td { padding: 14px 16px; border-bottom: 1px solid #dce6ea; text-align: center; vertical-align: middle; color: #365361; }
.price-table th:first-child { width: 43%; text-align: left; }
.price-table thead th { position: sticky; top: 0; z-index: 2; background: #f2f7f8; color: #183442; font-weight: 700; box-shadow: 0 1px 0 #dce6ea; }
.price-table tbody th { font-weight: 500; }
.compare-status { display: inline-flex; align-items: center; justify-content: center; }
.compare-unavailable { color: #74858d; }
.price-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* Share natural row heights so short descriptions do not reserve blank lines. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 761px) {
    .price-plans { row-gap: 0; }
    body.landing-fullscreen .price-page .price-plan { display: grid; grid-template-rows: subgrid; grid-row: span 7; }
    .price-page .price-description { min-height: 0; }
    .price-page .price-limits { min-height: 32px; }
  }
}
@media (max-width: 1100px) {
  .price-plans { gap: 12px; }
  body.landing-fullscreen .price-page .price-plan { padding: 20px; }
  .price-plan-heading { flex-direction: column; align-items: start; min-height: 60px; }
  .price-description { min-height: 72px; }
  .price-limits { min-height: 64px; }
}
@media (max-width: 760px) {
  body.landing-fullscreen[data-landing-view="pricing"] { overflow: visible; }
  .price-container { padding-top: 0; }
  body.landing-fullscreen[data-landing-view="pricing"] .landing-fullscreen-main { height: auto; overflow: visible; }
  body.landing-fullscreen .price-page.is-active { height: auto; padding: 24px 20px 36px; overflow: visible; }
  body .price-page h1 { font-size: 30px; }
  .price-header > p:last-child { font-size: 16px; }
  .price-plans { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .price-plan-heading { flex-direction: row; align-items: center; min-height: 32px; }
  .price-description { min-height: 0; }
  .price-limits { min-height: 44px; }
  .price-table th, .price-table td { padding: 12px 6px; font-size: 12px; overflow-wrap: anywhere; }
  .price-table th:first-child { width: 40%; }
}
