/* ============================================================
   GTM Services M&A Map — project styles
   Loaded AFTER leanscale.css. Reuses the tokens; adds only the
   market-map grid, ownership tiles, deal-tracker, target cards.
   ============================================================ */

/* ---------- ownership legend ---------- */
.legend2{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 22px}
.legend2 span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ls-dark-gray)}
.legend2 i{width:14px;height:14px;border-radius:4px;display:inline-block;flex:0 0 14px}
.sw-ind{background:#fff;border:1.5px solid var(--ls-light-gray)}
.sw-pe{background:var(--ls-purple-soft);border:1.5px solid #e3cded}
.sw-acq{background:var(--ls-strong-purple)}
.sw-merge{background:var(--ls-medium-purple)}

/* ---------- market map grid ---------- */
.mmgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mmbox{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px 22px 24px;display:flex;flex-direction:column}
.mmbox__h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}
.mmbox__name{font-size:1.02rem;font-weight:800;letter-spacing:-.02em;color:var(--ls-dark-purple)}
.mmbox__n{font-size:1.35rem;font-weight:800;color:var(--ls-strong-purple);letter-spacing:-.03em;line-height:1}
.mmbox__sub{font-size:12px;color:var(--ls-dark-gray);font-weight:600;line-height:1.45;margin:0 0 15px}
.mmtiles{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.mmtile{font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;white-space:nowrap;
  border:1.5px solid var(--ls-light-gray);background:#fff;color:var(--ls-ink);line-height:1.2;
  display:inline-flex;align-items:center;gap:5px}
.mmtile.is-pe{background:var(--ls-purple-soft);border-color:#e3cded;color:var(--ls-strong-purple)}
.mmtile.is-acq{background:var(--ls-strong-purple);border-color:var(--ls-strong-purple);color:#fff}
.mmtile.is-merge{background:var(--ls-medium-purple);border-color:var(--ls-medium-purple);color:var(--ls-dark-purple)}
.mmtile .g{font-size:10px;opacity:.85;font-weight:800}

/* ---------- deal tracker: extra pills ---------- */
.pill--revops{background:var(--ls-purple-soft);color:#642585}
.pill--hub{background:#faecf5;color:#a24b8f}
.pill--sf{background:#ece3ef;color:#301934}
.pill--mops{background:#eef7e2;color:#5a7d2a}
.pill--method{background:#fff1e8;color:#b5632a}
.dt-terms{font-weight:800;color:var(--ls-dark-purple);white-space:nowrap}
.dt-terms.mut{font-weight:600;color:var(--ls-dark-gray)}
table.dt .backer{font-size:11.5px;color:var(--ls-dark-gray);font-weight:600;display:block;margin-top:2px}
table.dt tbody td .thesis{font-size:12.5px;color:var(--ls-dark-gray);line-height:1.5}
.count-note b{color:var(--ls-strong-purple)}

/* ---------- target / scenario cards ---------- */
.targs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.targ{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px 26px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.targ:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--ls-medium-purple)}
.targ__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}
.targ__name{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;color:var(--ls-dark-purple)}
.targ__tag{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;
  border-radius:100px;white-space:nowrap}
.tt-crown{background:var(--ls-lime);color:var(--ls-dark-purple)}
.tt-plat{background:var(--ls-purple-soft);color:var(--ls-strong-purple)}
.tt-tuck{background:#eceaec;color:var(--ls-dark-gray)}
.targ__meta{font-size:12.5px;color:var(--ls-dark-gray);font-weight:600;margin:0 0 15px}
.targ__row{display:flex;gap:10px;font-size:13px;padding:9px 0;border-top:1px solid var(--ls-light-gray)}
.targ__k{flex:0 0 96px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ls-strong-purple);padding-top:2px}
.targ__v{color:var(--ls-ink);line-height:1.5;font-weight:500}
.targ__v strong{color:var(--ls-dark-purple);font-weight:800}

/* ---------- playbook steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;counter-reset:s}
.step{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:24px 22px;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--ls-medium-purple)}
.step__n{font-size:12px;font-weight:800;color:var(--ls-strong-purple);letter-spacing:.08em;margin-bottom:11px}
.step__h{font-size:1.06rem;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.02em;margin-bottom:8px;line-height:1.2}
.step__b{font-size:13.5px;line-height:1.55;color:var(--ls-dark-gray)}
.step__b strong{color:var(--ls-strong-purple);font-weight:800}

/* ---------- valuation ladder ---------- */
.valbars{display:flex;flex-direction:column;gap:14px}
.valrow{display:grid;grid-template-columns:210px 1fr;gap:14px;align-items:center}
.valrow__lab{font-size:13px;font-weight:700;color:var(--ls-ink)}
.valrow__lab .sub{display:block;font-size:11px;color:var(--ls-dark-gray);font-weight:600}
.valrow__track{position:relative;height:26px;background:var(--track);border-radius:8px;overflow:hidden}
.valrow__fill{position:absolute;top:0;height:100%;border-radius:8px;
  background:linear-gradient(90deg,var(--ls-medium-purple),var(--ls-strong-purple));display:flex;align-items:center;
  justify-content:flex-end;padding-right:10px;color:#fff;font-size:11.5px;font-weight:800}
.valrow__fill.lo{background:var(--ls-medium-purple);color:var(--ls-dark-purple)}

/* disclosed deal points row */
.deals-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.dp{background:var(--ls-purple-soft);border:1px solid #e6d4ec;border-radius:14px;padding:16px 18px}
.dp__v{font-size:1.45rem;font-weight:800;color:var(--ls-strong-purple);letter-spacing:-.03em;line-height:1}
.dp__k{font-size:12px;font-weight:700;color:var(--ls-dark-purple);margin-top:7px}
.dp__k span{display:block;font-size:11px;color:var(--ls-dark-gray);font-weight:600}

@media(max-width:960px){
  .mmgrid{grid-template-columns:1fr}
  .targs{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .deals-strip{grid-template-columns:repeat(2,1fr)}
  .valrow{grid-template-columns:150px 1fr}
}
@media(max-width:640px){
  .deals-strip{grid-template-columns:1fr}
  .valrow{grid-template-columns:1fr;gap:6px}
  .targ__k{flex-basis:80px}
}
