/* ════════════════════════════════════════════════════════════════
   PRESNSE — INDUSTRY · SPECIALIST CLINICS  ·  bespoke SIGNATURE only
   ----------------------------------------------------------------
   Reuses the shared .ind-* module layer (homepage/assets/industry.css).
   The one invented module here is the SIGNATURE: a referral-route map.
   Specialists get patients via referral + self-referral search; the
   coded route diagram shows where search visibility bridges the gap
   between the referral and the booking. Lives on the one mid-page dark
   .entity band — light panels glow on the substrate (DNA §13b/§13d),
   lime is rationed to the single search-visibility node only.
   Consumes tokens from foundation.css ONLY — no raw colour.
   ════════════════════════════════════════════════════════════════ */

/* ── SIGNATURE · referral-route map (dark band) ── */
.rrt-wrap{margin-top:44px;}
.rrt-root{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:var(--label-md);
  letter-spacing:.06em;text-transform:uppercase;color:var(--white);border:1px solid var(--line-on-mid);
  border-radius:var(--radius-sm);padding:11px 18px;margin-bottom:26px;}
.rrt-root .d{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}

/* the route: two entry lanes → discovery search → specialist entity → assessment */
.rrt{display:grid;grid-template-columns:1fr;gap:0;}

/* a stage = a light panel glowing on the dark substrate */
.rrt-stage{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2.4vw,30px);align-items:stretch;
  padding:clamp(16px,2.2vw,26px) 0;border-top:1px dashed var(--line-on-dash);}
.rrt-stage:first-child{border-top:none;}
.rrt-stage .stg-rail{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:4px;width:clamp(48px,6vw,72px);}
.rrt-stage .stg-no{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.07em;color:var(--tx-on-50);}
.rrt-stage .stg-line{flex:1;width:1px;border-left:1px dashed var(--line-on-dash);}

/* the search-visibility node — the ONLY lime stage, where PRESNSE bridges the gap */
.rrt-stage.bridge .stg-no{color:var(--lime);}
.rrt-stage.bridge .stg-rail::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px var(--lime-glow-2);}

/* entry lanes (referral + self-referral search) sit side by side inside stage 01 */
.rrt-lanes{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.lane{border:1px solid var(--line-on-mid);background:var(--wash-on);padding:16px 18px;border-radius:var(--radius-sm);}
.lane .lbl{font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--tx-on-55);display:flex;align-items:center;gap:8px;}
.lane .lbl .ic{width:14px;height:14px;color:var(--tx-on-60);flex:0 0 auto;}
.lane h3{font-size:.98rem;font-weight:600;color:var(--white);letter-spacing:-.01em;margin-top:10px;}
.lane p{font-size:.84rem;color:var(--tx-on-62);line-height:1.5;margin-top:7px;}
.lane .qn{font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;color:var(--tx-on-50);margin-top:11px;display:block;}
.lane .qn .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);}

/* a single glowing panel for stages 02–04 */
.rrt-panel{border:1px solid var(--line-on-mid);background:var(--paper-card);box-shadow:var(--shadow-card);
  padding:clamp(18px,2.4vw,28px);border-radius:var(--radius-sm);display:grid;grid-template-columns:1fr;gap:0;}
.rrt-panel .ph{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.rrt-panel h3{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);}
.rrt-panel .tag{font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.rrt-panel.lime .tag{color:var(--lime-ink);border:1px dashed var(--green-line);border-radius:var(--radius-tag);padding:3px 8px;}
.rrt-panel p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;margin-top:10px;max-width:60ch;}

/* the search-check rows: what a referred patient checks, with a visibility meter */
.rrt-checks{margin-top:16px;border-top:1px dashed var(--line-dash);}
.rrc{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line-soft);}
.rrc:last-child{border-bottom:none;}
.rrc .ck{font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--lime-ink);white-space:nowrap;}
.rrc .lab{font-size:.86rem;color:var(--ink);}
.rrc .lab small{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.rrc .lab .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);}

/* horizontal visibility bar — [data-w] inner <i> (foundation reveal trigger) */
.vbar{width:clamp(70px,12vw,124px);height:6px;background:var(--wash-hair);border-radius:var(--radius-bar);overflow:hidden;flex:0 0 auto;position:relative;}
.vbar i{display:block;height:100%;width:0;background:var(--lime);border-radius:var(--radius-bar);
  transition:width 1s var(--ease-omnius);}
.rrt-panel.in .vbar i[data-w]{width:var(--vw,0);}
.vbar i[data-w="strong"]{--vw:88%;}
.vbar i[data-w="mid"]{--vw:54%;}
.vbar i[data-w="thin"]{--vw:22%;background:var(--amber);}

/* the gap callout — where visibility decides the convert/drift */
.rrt-gap{margin-top:14px;border-left:2px solid var(--lime);padding-left:16px;
  font-family:var(--mono);font-size:var(--label-sm);color:var(--tx-on-62);line-height:1.6;letter-spacing:.01em;max-width:72ch;}
.rrt-gap b{color:var(--white);font-weight:600;}

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

/* ── RESPONSIVE ── */
@media(max-width:760px){
  .rrt-lanes{grid-template-columns:1fr;}
  .rrt-stage{grid-template-columns:auto 1fr;gap:14px;}
  .rrt-stage .stg-rail{width:34px;}
  .rrc{grid-template-columns:1fr auto;}
  .rrc .ck{grid-column:1;}
  .rrc .lab{grid-column:1;}
  .rrc .vbar{grid-column:2;grid-row:1 / span 2;}
}
@media(prefers-reduced-motion:reduce){
  .vbar i{transition:none;}
}
