.pricing-lockstep {
  --ink:#0a2a60;
  --muted:#5c6f8c;
  --strip:#dbe8ff;
  --border:#e6ecf5;
  --btn:#0a3e8a;
  --btn-ink:#fff;
  --gradA:#eafaf9; --gradB:#e7f1ff;
  font-family:"Rethink Sans",system-ui,Arial,sans-serif;
}
.pricing-lockstep .wrap{max-width:1040px;margin:auto;padding:12px}

/* ================= DESKTOP (comparison table) ================= */
.pricing-lockstep .scroll{ overflow-x:auto }
.pricing-lockstep table{
  width:100%;
  border-collapse: collapse;   /* single borders */
  border:2px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  font-size:16px;
  table-layout: fixed;
}
.pricing-lockstep col.col-feature{ width:30% }
.pricing-lockstep col.col-plan{ width:24% }

.pricing-lockstep th, .pricing-lockstep td{
  border:2px solid var(--border);
  padding:16px 18px;
  font-size:16px;
  word-wrap:break-word;
}
.pricing-lockstep tbody th{ text-align:left; font-weight:600; color:var(--ink) }
.pricing-lockstep tbody td{ text-align:center }

/* Plans row (desktop top) */
.pricing-lockstep .plan-row th{background:linear-gradient(180deg,var(--gradA),var(--gradB));padding:0}
.pricing-lockstep .plan-row td{background:linear-gradient(180deg,var(--gradA),var(--gradB));padding:24px 18px 22px}
.pricing-lockstep .plan-cell{text-align:center}
.pricing-lockstep .plan-title{font-size:24px;font-weight:700;color:#123a67;margin:0 0 8px}
.pricing-lockstep .plan-sub{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 16px;min-height:44px}
.pricing-lockstep .price{display:inline-flex;gap:6px;align-items:baseline;margin:4px 0 16px;color:#0b2f63}
.pricing-lockstep .price .amt{font-size:36px;font-weight:700}
.pricing-lockstep .price .per{font-size:14px;font-weight:600;color:#4a648a}
.pricing-lockstep .btn{display:inline-block;padding:10px 18px;background:var(--btn);color:var(--btn-ink);border-radius:999px;font-weight:700;font-size:15px;text-decoration:none}

/* Section strips (Products / Services) */
.pricing-lockstep .strip th{background:var(--strip);color:#20406c;font-weight:700;text-align:left;font-size:16px}

/* Icons */
.pricing-lockstep .info{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e8f0ff;color:#1b3971;font-size:13px;margin-left:8px;position:relative}
.pricing-lockstep .info:hover::after{content:attr(data-tip);position:absolute;bottom:125%;left:50%;transform:translateX(-50%);background:#0f2d5a;color:#fff;padding:6px 10px;border-radius:6px;font-size:14px;white-space:nowrap}
.pricing-lockstep .check{width:22px;height:22px;display:inline-block}
.pricing-lockstep .check path{stroke:#0a3e8a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}
.pricing-lockstep .not-available{color:#9fb0c7;font-weight:700;font-size:18px}

/* ================= MOBILE STACKS (per-package lists) ================= */
.pricing-lockstep .mobile-stacks{ display:none; margin-top:12px }
.pricing-lockstep .m-card{
  border:2px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  margin-bottom:14px;
  background:linear-gradient(180deg,var(--gradA),var(--gradB));
}
.pricing-lockstep .m-head{
  text-align:center; padding:20px 16px 14px;
}
.pricing-lockstep .m-title{ font-size:24px; font-weight:700; color:#123a67; margin:0 0 8px }
.pricing-lockstep .m-sub{ font-size:16px; line-height:1.5; color:var(--muted); margin:0 0 14px }
.pricing-lockstep .m-price{ display:inline-flex; gap:6px; align-items:baseline; color:#0b2f63; margin-bottom:14px }
.pricing-lockstep .m-price .amt{ font-size:36px; font-weight:700 }
.pricing-lockstep .m-price .per{ font-size:14px; font-weight:600; color:#4a648a }
.pricing-lockstep .m-cta{ margin-bottom:12px }
.pricing-lockstep .m-cta a{ display:inline-block; padding:10px 18px; background:var(--btn); color:var(--btn-ink); border-radius:999px; font-weight:700; font-size:15px; text-decoration:none }

.pricing-lockstep .m-body{
  background:#fff;
  padding:12px 16px 16px;
  border-top:2px solid var(--border);
}
.pricing-lockstep .m-section{ background:var(--strip); color:#20406c; font-weight:700; padding:10px 12px; border-radius:10px; margin-bottom:10px }
.pricing-lockstep .m-list{ list-style:none; margin:0; padding:0 }
.pricing-lockstep .m-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 4px; border-bottom:2px solid var(--border);
}
.pricing-lockstep .m-item:last-child{ border-bottom:0 }
.pricing-lockstep .m-item .m-name{ flex:1; color:var(--ink); font-weight:600 }
.pricing-lockstep .m-item .m-icon svg{ width:22px; height:22px }
.pricing-lockstep .m-item .m-icon svg path{ stroke:#0a3e8a; stroke-width:3; fill:none; stroke-linecap:round; stroke-linejoin:round }
.pricing-lockstep .m-item .dash{ color:#9fb0c7; font-weight:700; font-size:18px }

/* Switch to mobile stacks under 900px */
@media (max-width:900px){
  .pricing-lockstep .scroll{ display:none }        /* hide desktop table */
  .pricing-lockstep .mobile-stacks{ display:block } /* show mobile lists */
}