
/* ── Comparison v2 ──────────────────────────────────────── */
.ncp2-hero{background:var(--nli-hero);padding:50px 24px 42px;text-align:center;position:relative;overflow:hidden}
.ncp2-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='28'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.ncp2-hero-inner{position:relative;z-index:1;max-width:700px;margin:0 auto}
.ncp2-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.9);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:20px;margin-bottom:20px}
.ncp2-hero h1{font-family:var(--font-head);font-size:clamp(24px,4.5vw,40px);font-weight:700;color:#fff;line-height:1.15;margin-bottom:12px;letter-spacing:-.02em}
.ncp2-hero h1 em{color:#93C5FD;font-style:italic}
.ncp2-hero-sub{font-size:14.5px;color:rgba(255,255,255,.65);line-height:1.7}

/* Hero jump nav — two-path chooser; guides visitors to either tool with clear intent */
.ncp2-hero-jump{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:12px}
.ncp2-jump-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ncp2-jump-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%}
.ncp2-jump-card{display:inline-flex;align-items:center;gap:13px;text-align:left;text-decoration:none;padding:14px 18px;border-radius:15px;min-width:270px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.ncp2-jump-card:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.28);text-decoration:none}
.ncp2-jump-ic{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:21px;border-radius:11px;background:rgba(255,255,255,.12)}
.ncp2-jump-tx{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.ncp2-jump-tx strong{font-size:14.5px;font-weight:700;color:#fff}
.ncp2-jump-tx small{font-size:11.5px;color:rgba(255,255,255,.62)}
.ncp2-jump-arrow{flex-shrink:0;width:18px;height:18px;color:rgba(255,255,255,.55);transition:transform .18s ease,color .18s ease}
.ncp2-jump-card:hover .ncp2-jump-arrow{transform:translateY(3px);color:#fff}
/* Primary card — the campaign's active intent: term vs endowment */
.ncp2-jump-card--primary{background:var(--red,#c0392b);border-color:var(--red,#c0392b);box-shadow:0 8px 22px rgba(192,57,43,.42)}
.ncp2-jump-card--primary:hover{background:var(--red-d,#a93226);border-color:var(--red-d,#a93226);box-shadow:0 14px 32px rgba(192,57,43,.5)}
.ncp2-jump-card--primary .ncp2-jump-ic{background:rgba(255,255,255,.2)}
.ncp2-jump-card--primary .ncp2-jump-tx small{color:rgba(255,255,255,.85)}
.ncp2-jump-card--primary .ncp2-jump-arrow{color:rgba(255,255,255,.85)}
@media(max-width:600px){.ncp2-jump-row{flex-direction:column;align-items:stretch}.ncp2-jump-card{min-width:0;width:100%}}

/* How-to strip */
.ncp2-howto-strip{display:flex;align-items:flex-start;gap:0;background:#f8fafc;border-bottom:1px solid var(--border);padding:16px 24px;justify-content:center;flex-wrap:wrap}
.ncp2-howto-step{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:180px;max-width:300px;padding:8px 12px}
.ncp2-howto-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--red,#c0392b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:1px}
.ncp2-howto-step strong{display:block;font-size:12.5px;font-weight:700;color:var(--ink,#1f2937);margin-bottom:3px}
.ncp2-howto-step p{font-size:11.5px;color:var(--ink-s,#6b7280);line-height:1.5;margin:0}
.ncp2-howto-divider{align-self:center;color:var(--border,#e5e7eb);font-size:20px;padding:0 4px;flex-shrink:0}
@media(max-width:600px){.ncp2-howto-divider{display:none}.ncp2-howto-strip{gap:4px}.ncp2-howto-step{min-width:100%}}

/* Steps */
.ncp2-steps{background:var(--white);border-bottom:2px solid var(--border);display:flex;justify-content:center;position:sticky;top:64px;z-index:40}
.ncp2-step{display:flex;align-items:center;gap:9px;padding:14px 18px;font-size:13px;font-weight:500;color:var(--ink-s);border-right:1px solid var(--border);transition:color .2s}
.ncp2-step>span:last-child{display:none}
@media(min-width:641px){.ncp2-step{padding:14px 28px}.ncp2-step>span:last-child{display:inline}}
.ncp2-step:last-child{border-right:none}
.ncp2-step.active{color:var(--ink)}
.ncp2-step.done{color:var(--green)}
.ncp2-sn{width:24px;height:24px;border-radius:50%;background:var(--border);color:var(--ink-s);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;transition:background .2s,color .2s}
.ncp2-step.active .ncp2-sn{background:var(--red);color:#fff}
.ncp2-step.done .ncp2-sn{background:var(--green);color:#fff}

/* Wrap — holds only the results now; no vertical padding so it doesn't leave an
   empty band before the comparison runs (the results block adds its own). */
.ncp2-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* Step 1 */
.ncp2-step1{display:none}
.ncp2-step1.active{display:block}

/* Quick-preset styles removed with the presets themselves (unified layout) */

/* Filters */
.ncp2-filter-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px}
.ncp2-fg{display:flex;flex-direction:column;gap:5px}
.ncp2-fg label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-m)}
.ncp2-fsel{padding:9px 12px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--font-body);font-size:13px;color:var(--ink);background:var(--off) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236B7280' d='M5 6L0 0h10z'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;appearance:none;outline:none;cursor:pointer;transition:border-color .2s}
.ncp2-fsel:focus{border-color:var(--red)}

/* Selection instruction */
.ncp2-sel-inst{background:var(--off);border:1px solid var(--border);border-radius:10px;padding:12px 16px;font-size:12.5px;color:var(--ink-s);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ncp2-sel-inst strong{color:var(--red)}

/* Plan grid */
.ncp2-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:20px}
.ncp2-plan-card{border:1.5px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:border-color .2s,background .2s,transform .15s,box-shadow .15s;user-select:none;position:relative}
.ncp2-plan-card:hover{border-color:rgba(192,57,43,.4);background:var(--red-bg);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.ncp2-plan-card.selected{border-color:var(--red);background:var(--red-bg);box-shadow:0 0 0 3px rgba(192,57,43,.1)}
.ncp2-plan-card.disabled{opacity:.4;cursor:not-allowed;transform:none!important}
.ncp2-plan-badge{width:44px;height:38px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:9px;font-weight:800;letter-spacing:-.02em;text-align:center;line-height:1.2}
.ncp2-plan-info{flex:1;min-width:0}
.ncp2-plan-co{font-size:10.5px;color:var(--ink-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ncp2-plan-nm{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.3;margin-top:1px}
.ncp2-plan-claim{font-size:10px;margin-top:3px;font-weight:600}
.ncp2-plan-chk{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;transition:background .2s,border-color .2s;color:transparent}
.ncp2-plan-card.selected .ncp2-plan-chk{background:var(--red);border-color:var(--red);color:#fff}

/* Footer / sticky shortlist bar — hidden until 1+ insurer is picked.
   Top-level standalone bar now, so it carries its own card styling + centering. */
.ncp2-sel-footer{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1100px;margin:22px auto;padding:14px 20px;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.07)}
.ncp2-sel-footer.is-active{display:flex}
body.ncp2-comparing .ncp2-sel-footer{display:none!important}   /* hide on the results view */
.ncp2-sel-count{font-size:13px;color:var(--ink-s)}
.ncp2-sel-count strong{color:var(--red);font-size:16px;font-family:var(--font-head)}
.ncp2-sel-pills{display:flex;flex-wrap:wrap;gap:6px;flex:1;margin:0 12px}
.ncp2-sel-pill{display:inline-flex;align-items:center;gap:5px;background:var(--red-bg);border:1px solid rgba(192,57,43,.2);color:var(--red);font-size:11px;font-weight:600;padding:4px 10px;border-radius:16px}
.ncp2-sel-pill-x{cursor:pointer;font-size:13px;line-height:1;opacity:.7}
.ncp2-sel-pill-x:hover{opacity:1}
.ncp2-cmp-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff!important;font-family:var(--font-body);font-size:14px;font-weight:700;padding:13px 24px;border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}
.ncp2-cmp-btn:hover:not(:disabled){background:var(--red-d);transform:translateY(-1px);box-shadow:0 6px 20px rgba(192,57,43,.3)}
.ncp2-cmp-btn:disabled{background:var(--border);color:var(--ink-s)!important;cursor:not-allowed}

/* Step 2 table */
.ncp2-step2{display:none}
.ncp2-step2.active{display:block;padding:28px 0 56px}
.ncp2-tbl-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.ncp2-tbl-title{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--ink)}
.ncp2-tbl-actions{display:flex;gap:8px}
.ncp2-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-s);background:var(--white);border:1.5px solid var(--border);padding:8px 16px;border-radius:9px;cursor:pointer;transition:border-color .2s,color .2s}
.ncp2-back:hover{border-color:var(--red);color:var(--red)}
.ncp2-print-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-s);background:var(--white);border:1.5px solid var(--border);padding:8px 14px;border-radius:9px;cursor:pointer;transition:border-color .2s,color .2s}
.ncp2-print-btn:hover{border-color:var(--red);color:var(--red)}
.ncp2-print-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.ncp2-share-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-s);background:var(--white);border:1.5px solid var(--border);padding:8px 14px;border-radius:9px;cursor:pointer;transition:border-color .2s,color .2s}
.ncp2-share-btn:hover{border-color:var(--red);color:var(--red)}
.ncp2-share-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.75}
.ncp2-type-chk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--ink-m);cursor:pointer;padding:6px 10px;border:1.5px solid var(--border);border-radius:8px;transition:border-color .15s,color .15s,background .15s}
.ncp2-type-chk:hover{border-color:var(--red);color:var(--red)}
.ncp2-type-chk input{accent-color:var(--red);width:14px;height:14px;cursor:pointer;flex-shrink:0}
.ncp2-type-chk:has(input:checked){background:var(--red-bg);border-color:var(--red);color:var(--red)}
.ncp2-scroll-hint{text-align:center;font-size:12px;color:var(--ink-s);padding:8px;margin-bottom:8px;background:var(--off);border-radius:8px;display:block}
@media(min-width:701px){.ncp2-scroll-hint{display:none}}

/* Table */
.ncp2-tbl-scroll{overflow-x:auto;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);scroll-snap-type:x mandatory}
@media(max-width:700px){.ncp2-tbl thead tr th,.ncp2-tbl tbody tr td{scroll-snap-align:start}}
.ncp2-tbl{width:100%;border-collapse:collapse;font-size:13px}

/* Header row */
.ncp2-tbl thead tr th{background:var(--navy);color:#fff;padding:18px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:10}
.ncp2-tbl thead tr th:first-child{text-align:left;width:170px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.ncp2-tbl thead tr th.win{background:#065F46}
.ncp2-th-inner{display:flex;flex-direction:column;align-items:center;gap:6px}
.ncp2-th-badge{width:50px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:9px;font-weight:800;letter-spacing:-.02em;text-align:center;line-height:1.2}
.ncp2-th-name{font-size:11px;font-weight:600;line-height:1.3;text-align:center;color:#fff}
.ncp2-th-plan{font-size:10px;color:rgba(255,255,255,.5);text-align:center}
.ncp2-th-pill{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.15);color:#fff}
.ncp2-th-pill.best{background:var(--green-l)}
.ncp2-th-pill.top-claim{background:var(--navy)}

/* Section rows */
.ncp2-tbl .ncp2-sec td{background:linear-gradient(90deg,var(--off),var(--white));font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-s);padding:9px 20px;border-top:1px solid var(--border)}
.ncp2-sec-icon{display:inline-flex;vertical-align:middle;opacity:.6;margin-right:6px;margin-top:-1px}

/* Body rows */
.ncp2-tbl tbody tr td{padding:12px 20px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}
.ncp2-tbl tbody tr td:first-child{font-weight:500;color:var(--ink-m);background:var(--off);font-size:12px;white-space:nowrap;position:sticky;left:0;z-index:5}
.ncp2-tbl tbody tr td:not(:first-child){text-align:center}
.ncp2-tbl tbody tr:hover td{background:#FAFAFA}
.ncp2-tbl tbody tr:hover td:first-child{background:var(--off)}
.ncp2-tbl tbody tr td.win{background:rgba(16,185,129,.06)!important}
.ncp2-tbl tbody tr td.win-val{background:rgba(59,130,246,.05)!important}

/* Value styles */
.vp{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--ink)}
.vsub{font-size:10px;color:var(--ink-s);margin-top:2px}
.vg{color:#065F46;font-weight:700}
.vm{color:#92400E;font-weight:700}
.vr{color:#991B1B;font-weight:700}
.vstars{color:#B45309;font-size:12px;letter-spacing:2px}
.vchk{color:var(--green);font-size:15px;font-weight:700}
.vx{color:var(--ink-xs);font-size:13px}
.vclaim-bar{height:5px;border-radius:3px;margin-top:5px;overflow:hidden;background:var(--border)}
.vclaim-fill{height:100%;border-radius:3px}
.vsavings{font-size:10px;color:#EF4444;margin-top:3px}

/* Footer */
.ncp2-tbl tfoot td{padding:14px 20px;background:var(--navy);text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.ncp2-tbl tfoot td:first-child{text-align:left;color:rgba(255,255,255,.3);font-size:11px}
.ncp2-qbtn{display:inline-block;background:linear-gradient(135deg,#B45309,var(--gold));color:#fff!important;font-size:11px;font-weight:700;padding:9px 16px;border-radius:8px;text-decoration:none;transition:opacity .2s}
.ncp2-qbtn:hover{opacity:.85}

/* Winner legend */
.ncp2-legend{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px;font-size:11.5px;color:var(--ink-s)}
.ncp2-legend-item{display:flex;align-items:center;gap:5px}
.ncp2-legend-dot{width:10px;height:10px;border-radius:2px}

/* Lead */
.ncp2-lead{margin-top:24px;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12)}
.ncp2-lead-hd{background:var(--nli-hero);padding:24px 28px}
.ncp2-lead-hd h3{font-family:var(--font-head);font-size:20px;color:#93C5FD;margin-bottom:6px}
.ncp2-lead-hd p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.65}
.ncp2-lead-body{background:var(--navy-d);padding:20px 28px 28px}
.ncp2-lead-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:521px){.ncp2-lead-grid{grid-template-columns:1fr 1fr}}
.ncp2-inp{padding:11px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:#fff;font-family:var(--font-body);font-size:13.5px;outline:none;transition:border-color .2s;width:100%}
.ncp2-inp::placeholder{color:rgba(255,255,255,.3)}
.ncp2-inp:focus{border-color:#93C5FD}
.ncp2-inp.full{grid-column:1/-1}
.ncp2-plans-summary{grid-column:1/-1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 14px;font-size:12px;color:rgba(255,255,255,.55);line-height:1.5}
.ncp2-lead-btn{grid-column:1/-1;padding:14px;background:linear-gradient(135deg,var(--navy),var(--navy));color:#fff;border:none;border-radius:10px;font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s}
.ncp2-lead-btn:hover{opacity:.9;transform:translateY(-1px)}
.ncp2-wa-btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:rgba(37,211,102,.1);color:#25D366!important;border:1px solid rgba(37,211,102,.2);border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s}
.ncp2-wa-btn:hover{background:rgba(37,211,102,.2)}
.ncp2-ok{display:none;grid-column:1/-1;text-align:center;padding:20px}
.ncp2-ok.on{display:block}
.ncp2-ok-icon{font-size:36px;margin-bottom:8px}
.ncp2-ok p{color:#4ade80;font-weight:600;font-size:15px}

.nli-print-credit{display:none}
@media print{
  .ncp2-hero,.ncp2-steps,.ncp2-tbl-actions,.ncp2-lead{display:none!important}
  .ncp2-step2{display:block!important}
  .ncp2-tbl-scroll{overflow:visible!important;border:none!important;box-shadow:none!important}
  .ncp2-tbl thead tr th{background:#333!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .nli-print-credit{display:block!important;margin-top:24px;padding-top:12px;border-top:1px solid #ccc;font-size:9pt;color:#555;text-align:center}
}

/* ── Quick Overview Table (Relocated) ───────────────────── */
.section-compare { --rule: var(--border); background:#fff; border-top:1px solid var(--border); padding:48px 16px; }
.section-compare-inner { max-width:var(--max); margin:0 auto; }
.section-head { margin-bottom:32px; }
.section-head h2 { font-family:var(--font-head); font-size:32px; margin-bottom:12px; }
.section-head p { color:var(--ink-s); font-size:15px; }

@media screen and (max-width: 767px) {
    .wp-block-table {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

.tbl-wrap {
  border: 1px solid var(--rule); border-radius: 18px;
  overflow: hidden;
  background: var(--white);
  width: 100%;
}

.tbl-toolbar {
  display: flex; gap: 8px; padding: 14px 18px; border-bottom: 1px solid var(--rule);
  background: var(--navy-bg); align-items: center; flex-wrap: wrap;
  width: 100%;
}
.tbl-toolbar .label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-s); margin-right: 6px;
}

/* Sort chips — converted from a <select> to match the other tools' sort pattern */
.chip {
  font-family: inherit; font-size: 13px; padding: 7px 14px; border-radius: 999px;
  background: var(--white); border: 1.5px solid var(--border); color: var(--ink-m); cursor: pointer;
  font-weight: 600;
  transition: background 140ms, border-color 140ms, color 140ms;
}
.chip:hover { border-color: var(--red-l); color: var(--red); }
.chip.on { background: var(--red-bg); color: var(--red); border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
.chip:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }

table.compare-table {
  width: 100%; border-collapse: collapse; font-size: 14px;
  background: var(--white);
  min-width: max-content;
  table-layout: auto;
}
.compare-table thead th {
  font-family: var(--font-mono); font-weight: 500;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  text-align: left; color: var(--ink-s);
  padding: 16px 20px; border-bottom: 1px solid var(--rule);
  background: var(--navy-bg);
  white-space: nowrap;
}
.compare-table thead th.num, .compare-table tbody td.num { text-align: right; }
.compare-table tbody td {
  padding: 22px 20px; border-bottom: 1px solid var(--rule);
  vertical-align: middle; color: var(--ink-m);
  white-space: nowrap;
}
.compare-table tbody tr:last-child td { border-bottom: 0; }
.compare-table tbody tr:hover td { background: var(--navy-bg); }

.compare-table .insurer { display: flex; align-items: center; gap: 14px; }
.compare-table .insurer .logo {
  width: 40px; height: 40px; border-radius: 10px;
  display: grid; place-items: center;
  font-family: var(--font-head); font-size: 18px; font-weight: 500;
  color: #fff; flex-shrink: 0;
}
.compare-table .insurer .meta { line-height: 1.3; }
.compare-table .insurer .nm { font-weight: 700; color: var(--ink); font-size: 15px; }
.compare-table .insurer .yr { font-size: 12px; color: var(--ink-s); margin-top: 2px; }

.compare-table .num .big {
  font-family: var(--font-head); font-size: 22px; color: var(--ink); letter-spacing: -0.01em; font-weight: 600;
}
.compare-table .num .unit { font-size: 11px; color: var(--ink-s); margin-left: 4px; }

.compare-table .bar {
  height: 6px; width: 100px; background: var(--border); border-radius: 3px; overflow: hidden;
  display: inline-block; vertical-align: middle; margin-right: 10px;
}
.compare-table .bar > i { display: block; height: 100%; background: var(--green); border-radius: 3px; }
.compare-table .bar > i.bar-high { background: var(--green); }
.compare-table .bar > i.bar-mid  { background: var(--gold); }
.compare-table .bar > i.bar-low  { background: var(--red-l); }
.compare-table .bar-row { display: flex; align-items: center; }
.compare-table .bar-val { font-family: var(--font-mono); font-size: 12px; color: var(--ink-m); min-width: 38px; }

.compare-table .cta-cell .btn {
  padding: 8px 16px; font-size: 13px; font-weight: 700; border-radius: 8px; border: none; cursor: pointer;
  background: var(--red); color: #fff; transition: opacity 0.2s, background 0.2s; text-decoration: none; display: inline-block;
}
.compare-table .cta-cell .btn:hover { opacity: 0.9; }
.compare-table .cta-cell .btn-ghost { background: transparent; color: var(--red); border: 1.5px solid var(--border); }
.compare-table .cta-cell .btn-ghost:hover { border-color: var(--red); }

.compare-table .tag {
  display: inline-block; font-size: 10px; padding: 2px 6px; border-radius: 4px;
  font-family: var(--font-mono); letter-spacing: 0.05em; text-transform: uppercase;
  margin-left: 8px; vertical-align: middle;
}
.compare-table .tag.pop { background: var(--red-bg); color: var(--red); }
.compare-table .tag.gov { background: var(--navy-bg); color: var(--navy); border: 1px solid var(--border); }

.compare-disclaimer {
  font-size: 11px; color: var(--ink-s); padding: 14px 20px;
  border-top: 1px solid var(--rule); background: var(--navy-bg);
  font-family: var(--font-mono); letter-spacing: 0.04em;
}

.ncp2-quick-label{font-size:13px;font-weight:700;color:var(--ink-m);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}
.ncp2-legend-dot-green{background:var(--green-l)}
.ncp2-legend-dot-blue{background:var(--navy)}
.ncp2-legend-check{color:var(--green);font-weight:700}
.ncp2-legend-dash{color:var(--ink-xs)}
.ncp2-sort-label{margin-left:auto}
.cmp-sort-chips{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(max-width:600px){.ncp2-sort-label{margin-left:0}}   /* let the sort cluster wrap naturally instead of being forced right */

/* Secondary side-by-side intro (the picker now sits below the all-14 table) */
.ncp2-deepdive-head{max-width:var(--max);margin:0 auto;padding:44px 16px 0;text-align:center}
.ncp2-deepdive-head h2{font-family:var(--font-head);font-size:26px;color:var(--ink);margin:0 0 8px}
.ncp2-deepdive-head p{color:var(--ink-s);font-size:14px;max-width:560px;margin:0 auto;line-height:1.6}

/* ── Mobile-first hardening (≤520px) ───────────────────────── */
@media (max-width: 520px) {
  .ncp2-hero { padding: 40px 16px 34px; }
  .ncp2-badge { max-width: 100%; flex-wrap: wrap; justify-content: center; text-align: center; letter-spacing: .06em; font-size: 10px; }
  .ncp2-wrap { padding: 0 14px; }
  .ncp2-filter-row { padding: 16px; }
  .ncp2-tbl-hd { align-items: flex-start; }
  .ncp2-tbl-actions { flex-wrap: wrap; }
}

/* ── Sticky compare bar (≤768px) ──────────────────────────────
   The old footer sat at the bottom of step 1, so after picking insurers the
   user had to scroll past all 14 cards to find "Compare". Pin it to the
   viewport bottom and reveal it (.is-active) the moment 1+ is selected — the
   action is always one tap away. It lives inside #ncp2-s1, so it disappears
   automatically once the comparison table (step 2) opens. */
@media (max-width: 768px) {
  .section-compare { padding-bottom: 88px; }   /* clear room so the fixed bar can't hide the last card */
  .ncp2-sel-footer {
    display: flex;   /* always rendered on mobile; shown/hidden via transform */
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    margin: 0; gap: 10px;
    flex-wrap: nowrap; align-items: center;
    padding: 11px 14px calc(11px + env(safe-area-inset-bottom, 0px));
    background: var(--white); border-top: 1px solid var(--border);
    box-shadow: 0 -6px 22px rgba(0, 0, 0, .13);
    transform: translateY(130%); transition: transform .26s cubic-bezier(.4, 0, .2, 1);
  }
  .ncp2-sel-footer.is-active { transform: translateY(0); }
  .ncp2-sel-count { flex-shrink: 0; }
  .ncp2-sel-pills { flex: 1; min-width: 0; flex-wrap: nowrap; overflow-x: auto; margin: 0; -webkit-overflow-scrolling: touch; }
  .ncp2-sel-pill { flex-shrink: 0; }
  .ncp2-cmp-btn { flex-shrink: 0; width: auto; padding: 12px 18px; }
}

/* ── Unified flow: select straight from the All-14 leaderboard ── */
/* Comparison settings bar (plan type / age / coverage / term) */
.ncp2-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:0 0 18px;padding:14px 16px;background:var(--navy-bg);border:1px solid var(--border);border-radius:12px}
.ncp2-settings-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-s);align-self:center}
.ncp2-settings .ncp2-fg{gap:5px}
.ncp2-settings .ncp2-fg label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-m)}
@media (max-width: 560px){
  .ncp2-settings{gap:10px}
  .ncp2-settings-label{width:100%}
  .ncp2-settings .ncp2-fg{flex:1;min-width:130px}
  .ncp2-settings .ncp2-fsel{width:100%}
}

/* Solo hero CTA (one path now) */
.ncp2-jump-card--solo{max-width:430px}

/* "+ Compare" toggle inside the leaderboard rows + cards */
.cmp-add{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--red);color:#fff;border:1.5px solid var(--red);font-family:var(--font-body);font-size:13px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,opacity .15s}
.cmp-add:hover{background:var(--red-d);border-color:var(--red-d)}
.cmp-add.is-on{background:#fff;color:var(--red);border-color:var(--red)}
.cmp-add.is-disabled{opacity:.45;cursor:not-allowed}
.cmp-add.is-na{background:transparent;color:var(--ink-xs);border-color:var(--border);cursor:not-allowed;font-weight:600}
/* Can't be priced here (not sold / no public price / outside the plan's cover or
   term limits) — the row offers a route to the insurer instead of a dead chip.
   Clickable, so no not-allowed cursor; muted, so it never outranks + Compare. */
.cmp-add.is-contact{background:#fff;color:var(--ink-m);border-color:var(--border);font-weight:600;text-decoration:none}
.cmp-add.is-contact:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}
.ncp2-omit-note{margin:0 0 10px;padding:9px 14px;background:#FFF7ED;border:1px solid #FED7AA;border-radius:8px;color:#9A3412;font-size:12.5px;font-weight:600}
.cmp-details-link{display:inline-block;font-size:12px;font-weight:600;color:var(--ink-s);text-decoration:none;margin-left:10px;white-space:nowrap}
.cmp-details-link:hover{color:var(--red)}
.compare-table tbody tr.is-selected td{background:var(--red-bg)!important}
.cmp-card.is-sel{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(192,57,43,.25)}
.cmp-card-actions{display:flex;align-items:center;gap:10px}
.cmp-card-actions .cmp-add{flex:1}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}