.cm-pricing-page { background: var(--rd-paper); color: var(--rd-ink); }
.cm-pricing-page main { overflow: hidden; }
.cm-price-hero { max-width: 1440px; min-height: 670px; margin: 0 auto; padding: clamp(76px, 8vw, 118px) 36px 84px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(400px, .72fr); gap: clamp(54px, 8vw, 124px); align-items: center; }
.cm-price-hero h1 { max-width: 850px; margin: 0 0 28px; font: 400 clamp(58px, 7vw, 104px)/.94 "DM Serif Display", Georgia, serif; letter-spacing: -.045em; }
.cm-price-hero h1 em { color: var(--rd-green); }
.cm-price-lede { max-width: 720px; margin: 0; color: var(--rd-muted); font-size: clamp(18px, 1.5vw, 22px); line-height: 1.58; }
.cm-price-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 31px; }
.cm-price-ledger { border: 1px solid #343832; background: #151814; color: #eef1e8; box-shadow: 18px 18px 0 var(--rd-blue); }
.cm-price-ledger-head { min-height: 50px; padding: 0 17px; border-bottom: 1px solid #353a33; display: flex; align-items: center; justify-content: space-between; color: #8f968b; font: 700 9px/1 Manrope, sans-serif; letter-spacing: .12em; }
.cm-price-ledger-head b { color: #d9f55d; font-weight: 700; }
.cm-price-ledger-primary { min-height: 150px; padding: 24px 20px; border-bottom: 1px solid #353a33; display: flex; flex-direction: column; justify-content: space-between; }
.cm-price-ledger-primary span { color: #8f968b; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.cm-price-ledger-primary strong { color: #fff; font: 400 clamp(42px, 4vw, 62px)/1 "DM Serif Display", serif; }
.cm-price-ledger-row { min-height: 64px; padding: 0 20px; border-bottom: 1px solid #353a33; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.cm-price-ledger-row span { color: #858c82; }
.cm-price-ledger-row strong { color: #eef1e8; font-weight: 600; }
.cm-price-ledger > p { margin: 0; padding: 17px 20px; color: #777f74; font-size: 10px; line-height: 1.55; }
.cm-price-strip { max-width: 1440px; margin: 0 auto; border-top: 1px solid var(--rd-rule); border-bottom: 1px solid var(--rd-rule); background: var(--rd-paper-deep); display: grid; grid-template-columns: repeat(4, 1fr); }
.cm-price-strip div { padding: 22px 24px; border-right: 1px solid var(--rd-rule); font-size: 12px; font-weight: 600; }
.cm-price-strip div:last-child { border: 0; }
.cm-price-strip span { margin-right: 10px; color: var(--rd-red); font: 700 9px/1 Manrope, sans-serif; }
.cm-price-plans-section { max-width: 1440px; margin: 0 auto; padding: clamp(88px, 9vw, 132px) 36px; }
.cm-price-section-head { display: flex; align-items: end; justify-content: space-between; gap: 42px; margin-bottom: 52px; }
.cm-price-section-head h2, .cm-price-fit h2, .cm-price-questions h2 { margin: 0; font: 400 clamp(42px, 4.7vw, 70px)/1 "DM Serif Display", Georgia, serif; letter-spacing: -.035em; }
.cm-price-cycle { display: inline-flex; gap: 4px; padding: 5px; border: 1px solid #dfe3e7; border-radius: 999px !important; background: #f8f9fb; box-shadow: 0 5px 18px rgba(20, 28, 24, .045); }
.cm-price-cycle button { min-width: 142px; min-height: 44px; margin: 0; padding: 7px 20px; border: 0; border-radius: 999px !important; background: transparent; color: #686f7d; cursor: pointer; font: 700 12px/1.15 "DM Sans", sans-serif; transition: background .15s ease, color .15s ease, box-shadow .15s ease; }
.cm-price-cycle button span { display: block; margin-top: 3px; color: var(--rd-green); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.cm-price-cycle button:hover:not(.active) { background: #eef2f0; color: var(--rd-ink); }
.cm-price-cycle button.active { background: #176f64; color: #fff; box-shadow: 0 5px 13px rgba(15, 66, 57, .16); }
.cm-price-cycle button.active span { color: #d7eee7; }
.cm-price-cycle button:focus-visible { outline: 3px solid color-mix(in srgb, #176f64 20%, transparent); outline-offset: 2px; }
.cm-price-checkout-notice { margin: -24px 0 24px; padding: 14px 18px; border: 1px solid #d2d9d3; border-radius: 16px !important; background: #fff; color: var(--rd-muted); font-size: 12px; line-height: 1.5; }
.cm-price-checkout-notice strong { color: var(--rd-ink); }
.cm-price-checkout-notice[hidden] { display: none; }
.cm-price-offer { margin: 0 0 24px; padding: 18px 22px; border: 1px solid #237253; background: #1d6e4d; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cm-price-offer[hidden] { display: none; }
.cm-price-offer span { color: #bfe6d1; font: 700 9px/1 Manrope, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.cm-price-offer strong { display: block; margin: 6px 0 2px; font: 400 23px/1.1 "DM Serif Display", serif; }
.cm-price-offer p { margin: 0; color: #d4eadf; font-size: 12px; }
.cm-price-offer > b { padding: 10px 13px; border: 1px dashed rgba(255,255,255,.55); font: 700 11px/1 Manrope, sans-serif; white-space: nowrap; }
.cm-price-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--rd-rule); background: #fff; }
.cm-price-loading { grid-column: 1/-1; padding: 54px; color: var(--rd-muted); text-align: center; }
.cm-price-plan { position: relative; min-width: 0; min-height: 640px; padding: 29px 28px 26px; border-right: 1px solid var(--rd-rule); display: flex; flex-direction: column; background: #fff; }
.cm-price-plan:last-child { border-right: 0; }
.cm-price-plan[data-plan="pro"] { background: #f5f8f3; box-shadow: inset 0 4px 0 var(--rd-green); }
.cm-price-plan-index { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; color: var(--rd-muted); font: 700 9px/1 Manrope, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.cm-price-current { padding: 5px 7px; border-radius: 999px; background: #e8f4ef; color: #0b695e; font-size: 8px; letter-spacing: .07em; }
.cm-price-plan h3 { margin: 0 0 11px; font: 400 38px/1 "DM Serif Display", Georgia, serif; letter-spacing: -.025em; }
.cm-price-plan-desc { min-height: 70px; margin: 0; color: var(--rd-muted); font-size: 14px; line-height: 1.58; }
.cm-price-value { min-height: 90px; margin-top: 27px; display: flex; align-items: end; gap: 9px; }
.cm-price-value strong { font: 400 50px/1 "DM Serif Display", Georgia, serif; }
.cm-price-value span { padding-bottom: 7px; color: var(--rd-muted); font-size: 11px; }
.cm-price-tax { margin: 7px 0 20px; color: var(--rd-muted); font-size: 10px; letter-spacing: .02em; }
.cm-price-feature-label { padding: 13px 0 9px; border-top: 1px solid var(--rd-rule); color: var(--rd-muted); font: 700 8px/1 Manrope, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.cm-price-features { margin: 0 0 25px; padding: 0; list-style: none; }
.cm-price-features li { position: relative; padding: 10px 0 10px 22px; border-bottom: 1px solid var(--rd-rule); color: #242720; font-size: 12px; line-height: 1.42; }
.cm-price-features li::before { content: "✓"; position: absolute; left: 0; color: var(--rd-green); font-weight: 800; }
.cm-price-plan-cta {
  min-height: 52px;
  margin-top: auto;
  padding: 0 18px;
  border: 1px solid var(--rd-ink);
  border-radius: 12px !important;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #fff;
  color: var(--rd-ink);
  box-shadow: 0 8px 20px rgba(16, 18, 15, .04);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.cm-price-plan-cta b { font-size: 16px; font-weight: 500; transition: transform .18s ease; }
.cm-price-plan-cta:hover,
.cm-price-plan-cta:focus-visible {
  border-color: #0b695e;
  background: #f4f8f5;
  color: #0b695e;
  box-shadow: 0 12px 28px rgba(16, 18, 15, .08);
  text-decoration: none;
  transform: translateY(-2px);
}
.cm-price-plan-cta:hover b,
.cm-price-plan-cta:focus-visible b { transform: translateX(3px); }
.cm-price-plan-cta:focus-visible { outline: 3px solid color-mix(in srgb, #0b695e 18%, transparent); outline-offset: 2px; }
.cm-price-plan[data-plan="pro"] .cm-price-plan-cta { border-color: #0b695e; background: #0b695e; color: #fff; box-shadow: 0 10px 24px rgba(11, 105, 94, .16); }
.cm-price-plan[data-plan="pro"] .cm-price-plan-cta:hover,
.cm-price-plan[data-plan="pro"] .cm-price-plan-cta:focus-visible { border-color: #08584f; background: #08584f; color: #fff; }
.cm-price-plan .cm-price-plan-cta:disabled,
.cm-price-plan[data-plan="pro"] .cm-price-plan-cta:disabled { border-color: #cbd1cc; background: #eef1ee; color: #8a908a; box-shadow: none; cursor: not-allowed; opacity: 1; transform: none; }
.cm-price-plan .cm-price-plan-cta:disabled b { transform: none; }
.cm-price-fineprint { max-width: 920px; margin: 0; padding: 28px 4px 0; color: var(--rd-muted); font-size: 10px; line-height: 1.6; }
.cm-price-fit { max-width: 1440px; margin: 0 auto; padding: clamp(90px, 9vw, 132px) 36px; border-top: 1px solid var(--rd-rule); background: var(--rd-paper-deep); }
.cm-price-fit-head { max-width: 920px; margin-bottom: 52px; }
.cm-price-fit-head > p:last-child { max-width: 700px; margin: 24px 0 0; color: var(--rd-muted); font-size: 16px; line-height: 1.65; }
.cm-price-fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--rd-rule); }
.cm-price-fit-grid article { min-height: 290px; padding: 30px 28px; border-right: 1px solid var(--rd-rule); background: var(--rd-paper); display: flex; flex-direction: column; }
.cm-price-fit-grid article:last-child { border: 0; }
.cm-price-fit-grid span { color: var(--rd-red); font: 700 9px/1 Manrope, sans-serif; letter-spacing: .1em; }
.cm-price-fit-grid h3 { margin: 26px 0 13px; font-size: 25px; line-height: 1.1; }
.cm-price-fit-grid p { margin: 0 0 25px; color: var(--rd-muted); font-size: 13px; line-height: 1.6; }
.cm-price-fit-grid a { margin-top: auto; color: var(--rd-green); font-size: 11px; font-weight: 700; text-decoration: none; }
.cm-price-questions { max-width: 1440px; margin: 0 auto; padding: clamp(90px, 9vw, 132px) 36px; display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(58px, 9vw, 140px); }
.cm-price-question-list { border-top: 1px solid var(--rd-rule); }
.cm-price-question-list details { border-bottom: 1px solid var(--rd-rule); }
.cm-price-question-list summary { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; font-weight: 700; list-style: none; }
.cm-price-question-list summary::-webkit-details-marker { display: none; }
.cm-price-question-list summary span { color: var(--rd-green); font-size: 20px; font-weight: 400; transition: transform .18s ease; }
.cm-price-question-list details[open] summary span { transform: rotate(45deg); }
.cm-price-question-list p { max-width: 700px; margin: -4px 40px 23px 0; color: var(--rd-muted); font-size: 13px; line-height: 1.65; }
.cm-price-final { max-width: none; }
@media (max-width: 980px) {
  .cm-price-hero { grid-template-columns: 1fr; min-height: 0; }
  .cm-price-ledger { max-width: 650px; }
  .cm-price-plan-grid, .cm-price-fit-grid { grid-template-columns: 1fr; }
  .cm-price-plan { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rd-rule); }
  .cm-price-plan:last-child, .cm-price-fit-grid article:last-child { border-bottom: 0; }
  .cm-price-fit-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rd-rule); }
  .cm-price-questions { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .cm-price-hero, .cm-price-plans-section, .cm-price-fit, .cm-price-questions { padding-left: 20px; padding-right: 20px; }
  .cm-price-hero { padding-top: 58px; gap: 48px; }
  .cm-price-hero h1 { font-size: clamp(48px, 14vw, 70px); }
  .cm-price-ledger { margin-right: 12px; box-shadow: 12px 12px 0 var(--rd-blue); }
  .cm-price-strip { grid-template-columns: 1fr 1fr; }
  .cm-price-strip div:nth-child(2) { border-right: 0; }
  .cm-price-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--rd-rule); }
  .cm-price-section-head { align-items: stretch; flex-direction: column; }
  .cm-price-cycle { width: 100%; }
  .cm-price-cycle button { flex: 1; min-width: 0; }
  .cm-price-offer { align-items: flex-start; flex-direction: column; }
  .cm-price-plan { padding: 26px 22px 24px; }
  .cm-price-plan-desc { min-height: 0; }
}
