/* ════════════════════════════════════════════════════════════════
   PRESNSE — INDUSTRY · PHYSIOTHERAPY CLINICS  ·  bespoke SIGNATURE only
   ----------------------------------------------------------------
   Everything else reuses .ind-* from industry.css. This file holds ONE
   invented signature module: the CONDITION-JOURNEY MAP — a physio patient
   searches by condition/pain, then journeys condition search → clinic
   discovery → assessment → treatment programme → recovery/return. A coded
   horizontal journey map, each stage a node with a mono label, showing
   where search visibility (lime entry node) enters the journey. Light
   panel glowing on the dark .entity band (the page's single premium
   moment), modelled on the dental signature's "light panel on dark".
   Consumes tokens from foundation.css ONLY — no raw colour.
   ════════════════════════════════════════════════════════════════ */

/* root chip + condition legend ─ how patients enter (search by pain) */
.jmap-wrap{margin-top:44px;}
.jmap-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.jmap-cond{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:var(--label-sm);letter-spacing:.05em;color:var(--tx-on-62);
  border:1px solid var(--line-on-mid);border-radius:var(--radius-sm);padding:9px 13px;}
.jmap-cond .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);color:var(--tx-on-75);}
.jmap-cond .ld{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}

/* the journey instrument — light panel on substrate (glows on dark) */
.jmap-panel{background:var(--paper-card);border:1px solid var(--line-mid);box-shadow:var(--shadow-card);}
.jmap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 20px;border-bottom:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.jmap-head .hq{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-transform:none;letter-spacing:.02em;font-weight:500;}
.jmap-head .hq .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);}
.jmap-head .hq .mag{width:13px;height:13px;color:var(--faint);}
.jmap-head .stage-of{color:var(--faint);}

/* the horizontal stage track — 5 nodes, search visibility marks the entry */
.jmap-track{display:grid;grid-template-columns:repeat(5,1fr);}
.jstage{position:relative;padding:22px 18px 24px;border-right:1px dashed var(--line-soft);transition:background .2s;}
.jstage:last-child{border-right:none;}
.jstage:hover{background:var(--wash-soft);}
.jstage .jn-top{display:flex;align-items:center;gap:9px;}
.jstage .jn{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-rule);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.66rem;font-weight:600;color:var(--muted);flex:0 0 auto;}
.jstage .jlbl{font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);}
.jstage h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-top:13px;line-height:1.24;}
.jstage h3 .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);color:var(--ink-soft);font-size:.86em;}
.jstage p{font-size:.84rem;color:var(--ink-soft);line-height:1.5;margin-top:9px;}

/* the connector arrow between stages (left-to-right journey flow) */
.jstage .jconn{position:absolute;top:34px;right:-6px;z-index:2;color:var(--faint);
  background:var(--paper-card);line-height:0;}
.jstage:hover .jconn{color:var(--lime-deep);}
.jstage .jconn svg{width:12px;height:12px;}

/* the ENTRY node — where search visibility enters; lime marks it */
.jstage.entry{background:var(--wash-soft);}
.jstage.entry .jn{border-color:var(--lime);color:var(--lime-ink);box-shadow:0 0 0 3px var(--lime-glow);}
.jstage.entry .jlbl{color:var(--lime-ink);}
.jstage.entry::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lime);}
.jstage .entry-tag{display:inline-flex;align-items:center;gap:7px;margin-top:12px;
  font-family:var(--mono);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;color:var(--lime-ink);
  border:1px dashed var(--green-line);border-radius:var(--radius-tag);padding:4px 8px;}
.jstage .entry-tag .ld{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 2px var(--lime-glow);}

.jmap-foot{padding:12px 20px;border-top:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.05em;color:var(--muted);
  display:flex;align-items:center;gap:9px;}
.jmap-foot .d{width:5px;height:5px;border-radius:50%;background:var(--lime);flex:0 0 auto;box-shadow:0 0 0 3px var(--lime-glow);}

.jmap-note{margin-top:20px;font-family:var(--mono);font-size:var(--label-sm);color:var(--tx-on-60);
  border-left:2px solid var(--lime);padding-left:16px;max-width:78ch;line-height:1.6;letter-spacing:.01em;}

/* ── responsive (signature) ── */
@media(max-width:860px){
  .jmap-track{grid-template-columns:1fr;}
  .jstage{border-right:none;border-bottom:1px dashed var(--line-soft);}
  .jstage:last-child{border-bottom:none;}
  .jstage .jconn{top:auto;right:auto;left:32px;bottom:-7px;transform:rotate(90deg);}
}
