/* Full comparison page. All rules scoped under .fullcmp so nothing leaks. */
.fullcmp{
  --fc-ink:#1c2733; --fc-muted:#5a6b7b; --fc-line:#dce4ec; --fc-tint:#f4f8fb;
  --fc-head:#16344a; --fc-g:#2f6f9f; --fc-gb:#e8f1f9; --fc-gript:#eaf3fb;
  --fc-full:#1f9d6b; --fc-fullbg:#e4f5ee;
  --fc-part:#c98a1e; --fc-partbg:#fbf1de;
  --fc-none:#9aa7b2; --fc-nonebg:#eef2f5;
  --fc-gold:#b98900; --fc-goldbg:#fbf3d8;
  max-width:1240px; margin:0 auto; padding:40px 20px 80px;
  color:var(--fc-ink); line-height:1.55;
}
.fullcmp *{box-sizing:border-box}

/* Hero */
.fullcmp-hero{text-align:center; max-width:760px; margin:0 auto 30px}
.fullcmp-eyebrow{font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--fc-g); margin-bottom:10px}
.fullcmp-hero h1{font-size:clamp(28px,4vw,42px); font-weight:800; color:var(--fc-head); letter-spacing:-.02em; margin:0 0 12px; line-height:1.1}
.fullcmp-lede{font-size:17px; color:var(--fc-muted); margin:0}

/* Legend */
.fullcmp-legend{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:center; margin:0 0 16px; font-size:14px; color:var(--fc-muted)}
.fullcmp-legend .k{display:inline-flex; align-items:center; gap:6px}
.fullcmp .lp{display:inline-block; font-weight:700; font-size:12.5px; padding:2px 8px; border-radius:5px}
.fullcmp .lp.f{background:var(--fc-fullbg); color:var(--fc-full)}
.fullcmp .lp.p{background:var(--fc-partbg); color:var(--fc-part)}
.fullcmp .lp.n{background:var(--fc-nonebg); color:var(--fc-none)}
.fullcmp .tag-uniq{display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--fc-gold); background:var(--fc-goldbg); border:1px solid #ecdca6; border-radius:20px; padding:1px 7px; vertical-align:middle; margin-left:4px}

/* Competitor picker */
.fullcmp-select{display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0 0 14px; padding:14px 16px; border:1px solid var(--fc-line); border-radius:12px; background:var(--fc-tint)}
.fullcmp-select-lbl{font-weight:800; color:var(--fc-head); font-size:14.5px}
.fullcmp-chips{display:flex; flex-wrap:wrap; gap:8px}
.fullcmp-chip{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--fc-line); border-radius:999px; padding:6px 13px; font-size:13.5px; font-weight:600; color:var(--fc-ink); cursor:pointer; user-select:none; background:#fff; transition:border-color .15s,background .15s,color .15s,opacity .15s}
.fullcmp-chip:hover{border-color:var(--fc-g)}
.fullcmp-chip input{margin:0; accent-color:var(--fc-g); cursor:pointer; width:15px; height:15px}
.fullcmp-chip--on{border-color:var(--fc-g); background:var(--fc-gript); color:var(--fc-head)}
.fullcmp-chip--dis{opacity:.42; cursor:not-allowed}
.fullcmp-chip--dis input{cursor:not-allowed}
.fullcmp-hint{font-size:13px; color:var(--fc-muted); margin-left:auto}

/* Expand controls */
.fullcmp-exp{font-size:13.5px; color:var(--fc-muted); margin:0 0 10px}
.fullcmp-exp a{color:var(--fc-g); font-weight:600; cursor:pointer}
.fullcmp-exp a:hover{text-decoration:underline}
.fullcmp-exp-note{margin-left:12px}

/* Table */
.fullcmp-scroll{overflow-x:auto; border:1px solid var(--fc-line); border-radius:12px}
.fullcmp table#fullcmp{width:100%; border-collapse:collapse; font-size:15px; min-width:680px}
.fullcmp #fullcmp thead th{background:var(--fc-head); color:#fff; font-weight:600; font-size:13.5px; padding:11px 8px; text-align:center}
.fullcmp #fullcmp thead th.feat-h{text-align:left; width:290px; min-width:230px}
.fullcmp #fullcmp thead th.me{background:#0f2a3d}
.fullcmp #fullcmp tbody td{border-top:1px solid var(--fc-line); padding:9px 10px; vertical-align:middle}
.fullcmp #fullcmp tr.group td{background:var(--fc-gb); border-top:2px solid var(--fc-g); border-left:4px solid var(--fc-g); padding:10px 12px; cursor:pointer; user-select:none}
.fullcmp .group-name{font-weight:800; font-size:14px; color:var(--fc-g)}
.fullcmp .group-sub{font-weight:400; font-size:13.5px; color:var(--fc-muted); margin-left:8px}
.fullcmp .gcount{font-weight:400; font-size:12.5px; color:var(--fc-muted); margin-left:10px}
.fullcmp .gcaret{display:inline-block; color:var(--fc-g); font-size:12.5px; margin-right:8px; transform:rotate(90deg); transition:transform .15s}
.fullcmp tr.group.collapsed .gcaret{transform:rotate(0deg)}
/* Animated section collapse (grid-rows 1fr -> 0fr). #fullcmp prefix keeps these
   at the same specificity as the base "#fullcmp tbody td" rule so padding/border win. */
.fullcmp #fullcmp tr.frow td{padding:0}
.fullcmp #fullcmp .frow td .cw{display:grid; grid-template-rows:1fr; transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1)}
.fullcmp #fullcmp .frow td .cwi{overflow:hidden; min-height:0; padding:9px 10px; transition:padding .32s cubic-bezier(.4,0,.2,1)}
.fullcmp #fullcmp .frow.collapsed td .cw{grid-template-rows:0fr}
.fullcmp #fullcmp .frow.collapsed td .cwi{padding-top:0; padding-bottom:0}
.fullcmp #fullcmp .frow.collapsed td{border-top-width:0}
.fullcmp td.feat{width:290px}
.fullcmp .feat-name{font-weight:600; color:var(--fc-ink)}
.fullcmp .fsub{font-size:12.5px; color:var(--fc-muted); margin-top:3px; line-height:1.3}
.fullcmp td.cell{text-align:center; font-weight:700; font-size:13px; border-left:2px solid #fff; width:84px}
.fullcmp .cell.f{background:var(--fc-fullbg); color:var(--fc-full)}
.fullcmp .cell.p{background:var(--fc-partbg); color:var(--fc-part)}
.fullcmp .cell.n{background:var(--fc-nonebg); color:var(--fc-none)}
.fullcmp .cell.gme.f{background:#cbeddf; color:#137a52}
.fullcmp .cell.gme.p{background:#f7e7c8; color:#a9741a}
.fullcmp .cell.gme.n{background:#e6ebf0; color:#8593a0}

/* Question-mark tooltip trigger */
.fullcmp .q{position:relative; display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; margin-left:6px; border-radius:50%; background:#dfe8f0; color:#42627c; font-size:11px; font-weight:800; cursor:help; vertical-align:middle}
.fullcmp .q .tip{display:none}
#fullcmp-tt{position:fixed; z-index:99999; max-width:320px; background:#0f2a3d; color:#eaf2f8; font-size:14px; line-height:1.5; padding:11px 13px; border-radius:9px; box-shadow:0 12px 34px rgba(15,42,61,.42); pointer-events:none; opacity:0; display:none; transition:opacity .1s}
#fullcmp-tt b{color:#fff; font-weight:700; display:block; margin-bottom:3px}

/* What it costs (pricing cards) */
.fullcmp-pricing{margin:26px 0 6px}
.fullcmp-pricing h2{font-size:22px; font-weight:800; color:var(--fc-head); margin:0 0 4px}
.fullcmp-pricing-sub{font-size:14px; color:var(--fc-muted); margin:0 0 14px}
.fullcmp-price-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 8px}
.fullcmp .pc{border:1px solid var(--fc-line); border-radius:11px; padding:13px 13px; background:#fff; display:flex; flex-direction:column; position:relative}
.fullcmp .pc.me{border:2px solid var(--fc-g); background:var(--fc-gript)}
.fullcmp .pc .nm{font-weight:800; font-size:15.5px; color:var(--fc-head); margin-bottom:6px}
.fullcmp .pc .freeline{display:flex; align-items:center; gap:5px; margin:0 0 9px}
.fullcmp .pc .free{color:var(--fc-full); font-weight:700; font-size:13px}
.fullcmp .pc .nofree{color:var(--fc-part); font-weight:700; font-size:13px}
.fullcmp .pc ul.tiers{list-style:none; margin:0 0 9px; padding:8px 0 0; border-top:1px solid var(--fc-line)}
.fullcmp .pc ul.tiers li{display:flex; justify-content:space-between; align-items:baseline; gap:6px; padding:4px 0}
.fullcmp .pc ul.tiers li + li{border-top:1px dotted #e6edf3}
.fullcmp .pc ul.tiers li span{color:var(--fc-muted); font-size:13px}
.fullcmp .pc ul.tiers li b{color:var(--fc-ink); font-weight:800; font-size:14.5px; white-space:nowrap}
.fullcmp .pc ul.tiers li b.quote{color:var(--fc-muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.04em}
.fullcmp .pc .foot{font-size:11px; color:var(--fc-muted); line-height:1.4; margin-top:auto}
.fullcmp-price-note{font-size:13px; color:var(--fc-muted); margin:8px 0 0; line-height:1.5}
@media (max-width:900px){ .fullcmp-price-cards{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Summary */
.fullcmp-summary{margin-top:40px}
.fullcmp-summary h2{font-size:22px; font-weight:800; color:var(--fc-head); margin:0 0 12px}
.fullcmp-tally{width:100%; border-collapse:collapse; font-size:15px; border:1px solid var(--fc-line); border-radius:10px; overflow:hidden}
.fullcmp-tally th,.fullcmp-tally td{padding:9px 12px; text-align:center; border-top:1px solid var(--fc-line)}
.fullcmp-tally th{background:var(--fc-head); color:#fff; font-size:13.5px; font-weight:600}
.fullcmp-tally td:first-child,.fullcmp-tally th:first-child{text-align:left; font-weight:600}
.fullcmp-tally tr.me td{background:var(--fc-gript); font-weight:700}
.fullcmp-note{font-size:13.5px; color:var(--fc-muted); margin:10px 0 0}

/* CTA */
.fullcmp-cta{text-align:center; margin-top:48px; padding:36px 20px; border:1px solid var(--fc-line); border-radius:16px; background:var(--fc-gript)}
.fullcmp-cta h2{font-size:26px; font-weight:800; color:var(--fc-head); margin:0 0 8px}
.fullcmp-cta p{font-size:16px; color:var(--fc-muted); margin:0 0 18px}

@media (max-width:640px){
  .fullcmp-hint{margin-left:0; width:100%}
  .fullcmp-legend{justify-content:flex-start}
}
