/* Existing Postlane pricing layout, recovered without changing tariffs. */

    .pricing-testimonial {
      max-width: 1280px; margin: 72px auto; background: #d6edff; border-radius: 20px;
      padding: 72px; display: grid; grid-template-columns: 1fr auto; gap: 72px; align-items: center;
    }
    .pricing-testimonial blockquote {
      margin: 0; font-size: 28px; line-height: 1.35; letter-spacing: -.5px; font-weight: 400;
    }
    .pricing-testimonial cite { display: block; margin-top: 24px; font-size: 18px; font-style: normal; }
    .pricing-testimonial cite strong { display: block; }
    .pricing-testimonial cite span { color: var(--buffer-muted); font-size: 15.5px; }
    .feature-compare tr:hover td { background: #f8f8f2; }
    .feature-compare td, .feature-compare th { font-size: 15.5px; }
    .feature-compare td:first-child { font-size: 16px; }
    .compare-check { color: #418929; font-weight: 700; font-size: 20px; }
    .compare-dash { color: var(--buffer-muted); }
    .compare-note-small { display: block; margin-top: 3px; color: var(--buffer-muted); font-size: 13px; line-height: 1.3; }
    .feature-compare-wrap { max-width: 1280px; margin: 0 auto; overflow-x: auto; overflow-y: hidden; border: 1px solid var(--buffer-line); border-radius: 16px; background: var(--buffer-bg); position: relative; }
    /* The table's own (square) border-collapse grid paints a rectangle at the
       very perimeter that peeks past the wrapper's rounded corners — drop the
       outer edge of that grid so the wrapper's rounded border is the only
       visible boundary. */
    .feature-compare-wrap .feature-compare thead tr:first-child th { border-top: 0; }
    .feature-compare-wrap .feature-compare th:first-child,
    .feature-compare-wrap .feature-compare td:first-child { border-left: 0; }
    .feature-compare-wrap .feature-compare th:last-child,
    .feature-compare-wrap .feature-compare td:last-child { border-right: 0; }
    .feature-compare-wrap .feature-compare thead tr:first-child th:first-child { border-top-left-radius: 15px; }
    .feature-compare-wrap .feature-compare thead tr:first-child th:last-child { border-top-right-radius: 15px; }
    /* Bottom row differs by collapse state — the real last <tr> stays in the
       DOM (just hidden) when collapsed, so JS tags the actually-visible last
       row with one of these two classes per state (see renderCompare). */
    .feature-compare-wrap.is-collapsed .feature-compare tbody tr.compare-collapsed-bottom-row td { border-bottom: 0; }
    .feature-compare-wrap.is-collapsed .feature-compare tbody tr.compare-collapsed-bottom-row td:first-child { border-bottom-left-radius: 15px; }
    .feature-compare-wrap.is-collapsed .feature-compare tbody tr.compare-collapsed-bottom-row td:last-child { border-bottom-right-radius: 15px; }
    .feature-compare-wrap:not(.is-collapsed) .feature-compare tbody tr.compare-bottom-row td { border-bottom: 0; }
    .feature-compare-wrap:not(.is-collapsed) .feature-compare tbody tr.compare-bottom-row td:first-child { border-bottom-left-radius: 15px; }
    .feature-compare-wrap:not(.is-collapsed) .feature-compare tbody tr.compare-bottom-row td:last-child { border-bottom-right-radius: 15px; }
    .feature-compare-wrap .feature-compare { margin: 0; width: 100%; min-width: 1080px; border: 0; table-layout: fixed; }
    /* Collapsed state: only the first sections show; the rest expand on demand. */
    .feature-compare-wrap.is-collapsed .compare-extra { display: none; }
    .feature-compare-wrap.is-collapsed::after {
      content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
      background: linear-gradient(to bottom, rgba(255,255,255,0), var(--buffer-bg)); pointer-events: none; border-radius: 0 0 16px 16px;
    }
    .compare-toggle-wrap { max-width: 1280px; margin: 18px auto 90px; text-align: center; }
    .compare-toggle {
      display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 24px;
      border: 1px solid var(--buffer-ink); border-radius: 999px; background: var(--buffer-bg);
      font: 600 15px inherit; color: var(--buffer-ink); cursor: pointer; transition: background .15s;
    }
    .compare-toggle:hover { background: #f0eee7; }
    .compare-toggle svg { transition: transform .2s; }
    .compare-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
    .feature-compare-wrap .feature-compare th:first-child,
    .feature-compare-wrap .feature-compare td:first-child { width: 19%; }
    .feature-compare-wrap .feature-compare .compare-title { font-size: 38px; line-height: 42px; }
    .compare-plan-price { color: var(--buffer-muted); font-size: 13px; line-height: 1.25; }
    .compare-plan-pill { display: inline-flex; align-items: center; justify-content: center; height: 40px; min-height: 40px; padding: 0 8px; font-size: 12px; white-space: nowrap; width: 100%; box-sizing: border-box; margin-top: auto; }
    .pricing-plans-block { max-width: 1280px; margin: 0 auto 70px; display: grid; gap: 28px; }
    .pricing-row-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
    .pricing-row-head h2 { margin: 0; font-size: 28px; line-height: 1.15; font-weight: 500; }
    .pricing-row-head p { margin: 0; color: var(--buffer-muted); font-size: 15px; line-height: 1.45; max-width: 520px; text-align: right; }
    .pricing-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
    .pricing-plan-grid.team { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .plans.pricing-shell { max-width: none; margin: 0; display: block; }
    .plans.pricing-shell.pricing-plan-grid { display: grid; }
    .plan { min-height: 100%; }
    .plan.featured { box-shadow: 0 0 0 2px rgba(33,49,48,.08); }
    .plan h2 { min-height: 32px; }
    .plan .price { min-height: 82px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
    .plan .price strong { font-size: inherit; font-weight: 400; }
    .plan .price small { white-space: nowrap; }
    .plan-desc { min-height: 42px; }
    .pricing-plan-grid .plan-top { display: grid; grid-template-rows: 34px 54px 92px 58px auto; align-items: start; }
    .pricing-plan-grid .plan h2 { margin: 8px 0 0; }
    .pricing-plan-grid .plan .price { margin-bottom: 0; align-content: start; }
    .pricing-plan-grid .plan-desc { margin-bottom: 0; }
    .plan-cta { white-space: nowrap; min-width: 0; }
    .plan ul { list-style: none; padding-left: 0; }
    .plan li { position: relative; padding-left: 18px; }
    .plan li::before { content: "\2713"; position: absolute; left: 0; color: #418929; font-weight: 700; }
    .plan li.plan-divider { height: 1px; padding: 0; margin: 8px 0; background: #e0dfd8; }
    .plan li.plan-divider::before { content: ""; }
    .badge.placeholder { visibility: hidden; }
    .pricing-addons { max-width: 1280px; margin: 0 auto 76px; display: grid; gap: 26px; }
    .pricing-addon-head h2 { margin: 0 0 8px; font-size: 36px; line-height: 1.1; font-weight: 400; }
    .pricing-addon-head p { margin: 0; color: var(--buffer-muted); font-size: 16px; line-height: 1.45; max-width: 720px; }
    .credit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .credit-card, .seats-card { border: 1px solid var(--buffer-line); border-radius: 10px; background: var(--buffer-bg); padding: 24px; }
    .credit-card.featured { border-color: var(--buffer-ink); }
    .credit-card h3, .seats-card h3 { margin: 0 0 8px; font-size: 24px; font-weight: 500; }
    .credit-card .credit-amount { font-size: 34px; line-height: 1.1; margin: 0 0 8px; }
    .credit-card p, .seats-card p { color: var(--buffer-muted); line-height: 1.45; }
    .credit-card p { min-height: 44px; margin: 0 0 18px; }
    .credit-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 16px; }
    .credit-price strong { font-size: 30px; font-weight: 500; }
    .credit-price span { color: var(--buffer-muted); }
    .addon-cta { min-height: 40px; font-size: 15px; padding: 8px 18px; }
    .seat-plan-toggle { display: inline-flex; width: max-content; border: 1px solid var(--buffer-line); border-radius: 999px; padding: 4px; background: #f0eee7; gap: 4px; margin: 14px 0 0; }
    .seat-plan-toggle button { border: 0; border-radius: 999px; padding: 8px 16px; background: transparent; color: var(--buffer-ink); cursor: pointer; }
    .seat-plan-toggle button.active { background: white; box-shadow: inset 0 0 0 1px var(--buffer-ink); }
    .seats-card { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
    .seats-summary { display: grid; gap: 8px; justify-items: end; min-width: 320px; }
    .seats-price { margin: 0; font-size: 28px; line-height: 1.1; }
    .seats-price small { font-size: 14px; color: var(--buffer-muted); }
    .seats-note { margin: 0; color: var(--buffer-muted); font-size: 14px; line-height: 1.35; text-align: right; }
    .feature-compare-wrap .feature-compare th,
    .feature-compare-wrap .feature-compare td { vertical-align: middle; text-align: center; }
    .feature-compare-wrap .feature-compare td:first-child { text-align: left; }
    .feature-compare-wrap .feature-compare thead th { vertical-align: top; overflow: visible; }
    .feature-compare-wrap .compare-col-inner { min-height: 154px; justify-content: flex-start; padding-top: 34px; }
    .feature-compare-wrap .compare-badge-float { top: 8px; }
    @media (max-width: 1100px) {
      .pricing-plan-grid, .pricing-plan-grid.team, .credit-grid { grid-template-columns: 1fr 1fr; }
      .seats-card { grid-template-columns: 1fr; }
      .seats-summary { justify-items: start; }
    }
    @media (max-width: 760px) {
      .pricing-row-head { display: grid; align-items: start; }
      .pricing-row-head p { text-align: left; }
      .pricing-plan-grid, .pricing-plan-grid.team, .credit-grid { grid-template-columns: 1fr; }
    }
  