.cp-comparison-section {
  --plan-blue: var(--co-blue, #2155e8);
  --plan-blue-hover: var(--co-blue-hover, #1942b9);
  --plan-ink: var(--co-ink, #142c4b);
  --plan-muted: #53647c;
  --plan-line: #d9e3f2;
  color: var(--plan-ink);
  font-family: Poppins, sans-serif;
}
.ma-sections .ma-price-preview { padding-top: 84px; scroll-margin-top: 110px; }
.cp-intro { display: grid; gap: 20px; margin-bottom: 30px; }
.ma-sections .cp-intro h2 { margin: 0; font: 400 clamp(28px, 4vw, 42px)/1.25 Poppins, sans-serif; letter-spacing: -.03em; text-wrap: balance; }
.ma-sections .cp-intro p { margin: 0; max-width: 46ch; font-size: 15px; line-height: 1.8; color: var(--plan-muted); }
.cp-intro a, .cp-included a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--plan-blue); font-size: 14px; font-weight: 500; text-decoration: none; }
.cp-intro a { margin-top: 10px; }
.cp-intro a:hover, .cp-included a:hover { text-decoration: underline; text-underline-offset: 5px; }
.cp-intro svg, .cp-included svg { width: 19px; height: 19px; flex: none; }
.cp-grid { display: grid; gap: 16px; align-items: stretch; }
.cp-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--plan-line); border-radius: 16px; padding: 24px; background: #fff; color: var(--plan-ink); }
.cp-card-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.cp-card .cp-card-header h2, .cp-card .cp-card-header h3 { margin: 0; font: 500 21px/1.4 Poppins, sans-serif; letter-spacing: -.025em; color: inherit; }
.cp-discount { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 4px 10px; border-radius: 100px; background: #e8f0ff; color: #1942b9; font-size: 11px; font-weight: 500; line-height: 1.5; white-space: nowrap; }
.cp-discount strong { font-size: 13px; font-weight: 600; }
.cp-discount-neutral { background: #f2f6fc; color: var(--plan-muted); }
.cp-card p.cp-description { margin: 12px 0 0; color: var(--plan-muted); font-size: 13px; line-height: 1.7; }
.cp-price-block { margin-top: 28px; font-variant-numeric: tabular-nums; }
.cp-card p.cp-comparison { margin: 0 0 8px; color: var(--plan-muted); font-size: 12px; line-height: 1.7; }
.cp-comparison s { white-space: nowrap; text-decoration-thickness: 1px; }
.cp-card p.cp-price { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; margin: 0; color: inherit; line-height: 1.1; }
.cp-price>span { font-size: 20px; font-weight: 400; }
.cp-price>strong { font-size: 54px; font-weight: 500; letter-spacing: -.03em; }
.cp-price>small { flex-basis: 100%; font-size: 13px; font-weight: 400; line-height: 1.7; margin-top: 1px; }
.cp-card p.cp-equivalent { margin: 14px 0 0; color: var(--plan-muted); font-size: 13px; line-height: 1.75; }
.cp-equivalent strong { color: var(--plan-ink); font-weight: 500; white-space: nowrap; }
.cp-savings { display: flex; align-items: flex-start; gap: 9px; margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--plan-line); }
.cp-savings>svg { width: 19px; height: 19px; flex: none; margin-top: 2px; color: var(--plan-blue); }
.cp-card .cp-savings p { margin: 0; font-size: 13px; line-height: 1.65; color: inherit; }
.cp-savings strong { display: block; font-weight: 500; }
.cp-savings span { display: block; color: var(--plan-muted); font-size: 12px; margin-top: 3px; }
.cp-card-features { border-top: 1px solid var(--plan-line); padding-top: 20px; margin-bottom: 26px; }
.cp-card p.cp-feature-heading { margin: 0 0 12px; color: inherit; font-size: 12px; line-height: 1.6; font-weight: 500; }
.cp-feature-group+.cp-feature-group { margin-top: 22px; }
.cp-feature-group ul { display: grid; gap: 11px; list-style: none; padding: 0; margin: 0; }
.cp-feature-group li { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.65; }
.cp-feature-group li>svg { width: 17px; height: 17px; flex: none; margin-top: 2px; color: var(--plan-blue); }
.cp-feature-group-planned li, .cp-feature-group-planned li>svg { color: var(--plan-muted); }
.cp-card-annual .cp-card-features { border-color: rgb(255 255 255 / 30%); }
.cp-card-annual .cp-feature-group li>svg { color: #fff; }
.cp-card-annual .cp-feature-group-planned li, .cp-card-annual .cp-feature-group-planned li>svg { color: #edf3ff; }
.cp-card .cp-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 13px 17px; border: 1px solid var(--plan-line); border-radius: 12px; margin-top: auto; background: #fff; color: var(--plan-blue); font-size: 14px; font-weight: 500; line-height: 1.5; text-decoration: none; transition: background .18s ease-out, border-color .18s ease-out; }
.cp-card .cp-button:hover { background: #e8f0ff; border-color: var(--plan-blue); }
.cp-button svg { width: 19px; height: 19px; flex: none; }
.cp-card p.cp-billing { margin: 12px 0 0; color: var(--plan-muted); text-align: center; font-size: 11px; line-height: 1.7; }
.cp-card-annual { background: var(--plan-blue); border-color: var(--plan-blue); color: #fff; }
.cp-card-annual .cp-discount { background: #fff; color: var(--plan-blue); }
.cp-card-annual p.cp-description, .cp-card-annual p.cp-comparison, .cp-card-annual p.cp-equivalent, .cp-card-annual p.cp-billing, .cp-card-annual .cp-savings span { color: #edf3ff; }
.cp-card-annual .cp-equivalent strong, .cp-card-annual .cp-savings>svg { color: #fff; }
.cp-card-annual .cp-savings { border-color: rgb(255 255 255 / 30%); }
.cp-card-annual .cp-button { border-color: #fff; }
.cp-card-annual .cp-button:hover { background: #e8f0ff; border-color: #e8f0ff; }
.cp-comparison-section a:focus-visible { outline: 3px solid var(--plan-blue); outline-offset: 4px; }
.cp-card-annual a:focus-visible { outline-color: #fff; }
.cp-notes { margin-top: 20px; }
.cp-comparison-section .cp-notes p { font-size: 11px; line-height: 1.8; color: var(--plan-muted); max-width: 100ch; margin: 6px 0 0; }
.cp-included { display: grid; gap: 12px; padding: 22px 0; border-top: 1px solid var(--plan-line); border-bottom: 1px solid var(--plan-line); margin-top: 28px; }
.cp-included strong { font-size: 14px; font-weight: 500; line-height: 1.7; }
.cp-comparison-section .cp-included p { font-size: 13px; color: var(--plan-muted); margin: 5px 0 0; line-height: 1.8; }
.cp-included a { font-size: 13px; }
@media (min-width: 760px) {
  .cp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .cp-card { padding: 24px 20px; }
  .cp-card-header { align-items: flex-start; flex-direction: column; gap: 9px; }
  .cp-card p.cp-description { min-height: 3.4em; }
  .cp-card p.cp-equivalent { min-height: 3.5em; }
  .cp-price>strong { font-size: 56px; }
  .cp-savings { margin-top: 20px; }
  .cp-included { grid-template-columns: 1fr auto; align-items: center; gap: 28px; }
  .cp-intro { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; margin-bottom: 38px; }
}
@media (min-width: 1050px) {
  .ma-sections .ma-price-preview { padding-top: 115px; }
  .cp-card { padding: 28px; }
  .cp-card-header { flex-direction: row; align-items: center; }
  .cp-card p.cp-description, .cp-card p.cp-equivalent { min-height: 0; }
  .cp-price>strong { font-size: 60px; }
}
@media (min-width: 760px) and (max-width: 1049px) {
  .cp-card .cp-button { padding-inline: 12px; gap: 6px; font-size: 12px; }
  .cp-button svg { width: 16px; height: 16px; }
  .cp-card p.cp-billing { min-height: 3.4em; }
}
@media (max-width: 359px) {
  .cp-card { padding: 22px 18px; }
  .cp-card .cp-card-header h2, .cp-card .cp-card-header h3 { font-size: 20px; }
  .cp-discount { padding-inline: 8px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .cp-button { transition: none; } }
