/* ════════════════════════════════════════════════════════════════
   PRESNSE — INDUSTRY LANDING  ·  shared per-category module layer
   ----------------------------------------------------------------
   Shared by the 6 industry pages (dental master + 5 divergences), per
   homepage/wireframe-industry.html. Copy source of truth: the matching
   project/handoff/seo-page-packs/NN-industry-*.md (verbatim).
   Common modules are prefixed .ind-* ; each category adds ONE bespoke
   SIGNATURE module (dental treatment-ledger, aesthetic compliance-risk,
   specialist referral-route, physio condition-journey, TCM bilingual
   split, private-clinic multi-service selector) — its own classes below.
   Consumes tokens from foundation.css ONLY — no raw colour.
   ════════════════════════════════════════════════════════════════ */

/* ── M01 · CATEGORY-TENSION HERO (micro-story + SERP/trust instrument) ── */
.ind-hero{padding-top:clamp(20px,3vw,40px);}
.ind-hero .mod-body{padding-block:clamp(var(--sp-xl),4vw,var(--sp-4xl));}
.ind-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start;}
.ind-hero h1{font-size:clamp(2.1rem,4.2vw,3.7rem);line-height:1.04;letter-spacing:-.035em;font-weight:600;margin-top:20px;}
.ind-hero h1 .sym{font-family:var(--serif);font-style:italic;font-weight:400;}
.ind-hero .lede{margin-top:22px;max-width:54ch;font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.6;color:var(--ink-soft);}
.ind-hero .lede .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);}
.ind-hero .lede.two{margin-top:14px;font-size:.98rem;color:var(--muted);}
.ind-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

/* the patient-shortlist instrument: trust filter decides the call */
.shortfig{border:1px dashed var(--line-em);background:var(--paper-card);box-shadow:var(--shadow-card);}
.shortfig-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 18px;border-bottom:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.shortfig-head .q{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:500;text-transform:none;letter-spacing:.02em;}
.shortfig-head .q .mag{width:13px;height:13px;color:var(--faint);}
.shortfig-head .t{color:var(--faint);}
.srow{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;
  padding:14px 18px;border-bottom:1px dashed var(--line-soft);}
.srow:last-of-type{border-bottom:none;}
.srow .rk{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--faint);}
.srow .nm{font-size:.92rem;color:var(--ink);}
.srow .nm small{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.srow .badge{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime-ink);
  border:1px solid var(--green-line);border-radius:var(--radius-tag);padding:3px 7px;white-space:nowrap;}
.srow.win{background:var(--wash-soft);position:relative;}
.srow.win::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lime);}
.srow.win .rk{color:var(--lime-ink);}
.srow.weak .badge{color:var(--muted);border-color:var(--line-rule);}
.srow.you{background:var(--amber-veil);}
.srow.you .rk{color:var(--amber);}
.srow.you .badge{color:var(--amber);border-color:var(--amber-line);}
.shortfig-foot{padding:11px 18px;border-top:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:var(--label-xs);letter-spacing:.05em;color:var(--faint);display:flex;align-items:center;gap:8px;}
.shortfig-foot .d{width:5px;height:5px;border-radius:50%;background:var(--faint);flex:0 0 auto;}

/* ── M02 · EXPERT ANGLE — 2 paras + extractable blockquote (answer card) ── */
.ind-expert{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4.5vw,60px);margin-top:40px;align-items:start;}
.ind-expert .body p{font-size:1rem;color:var(--ink-soft);line-height:1.62;margin-top:16px;max-width:62ch;}
.ind-expert .body p:first-child{margin-top:0;}
.ind-expert .body p .em{color:var(--ink);font-weight:600;}
.ind-quote{align-self:start;border:1px solid var(--line-mid);border-left:3px solid var(--lime);background:var(--paper-card);padding:clamp(24px,3vw,38px);}
.ind-quote .qmark{font-family:var(--serif);font-size:3rem;line-height:.5;color:var(--lime-deep);display:block;}
.ind-quote blockquote{font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.36;letter-spacing:-.01em;font-weight:500;color:var(--ink);margin-top:10px;}
.ind-quote blockquote .sym{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--lime-ink);}

/* ── M03 · MARKET PRESSURE — 2 paras + trust-reply callout ── */
.ind-cap{font-family:var(--mono);font-size:var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:9px;}
.ind-cap .d{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.ind-press{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4.5vw,60px);margin-top:36px;align-items:start;}
.ind-press p{font-size:1rem;color:var(--ink-soft);line-height:1.62;margin-top:16px;max-width:60ch;}
.ind-press p:first-child{margin-top:0;}
.ind-reply{align-self:start;border:1px dashed var(--line-rule);background:var(--bg);padding:clamp(22px,3vw,32px);}
.ind-reply .seg-lbl{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--lime-ink);display:block;margin-bottom:12px;}
.ind-reply .big{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.34;color:var(--ink);font-weight:500;letter-spacing:-.01em;}
.ind-reply .big .sym{font-family:var(--serif);font-style:italic;font-weight:400;}
.ind-reply p{font-size:.92rem;color:var(--ink-soft);line-height:1.55;margin-top:12px;}

/* ── M04 · SEARCH-BEHAVIOUR / DIAGNOSTIC CARDS (grid, auto-fit) ── */
.ind-diag{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));border:1px solid var(--line-mid);margin-top:40px;background:var(--bg);}
.ind-dcard{padding:clamp(22px,2.6vw,32px);border-right:1px dashed var(--line-soft);border-bottom:1px dashed var(--line-soft);transition:background .2s;}
.ind-dcard:hover{background:var(--wash-soft);}
.ind-dcard .dc-top{display:flex;align-items:center;gap:11px;}
.ind-dcard .dc-no{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;color:var(--lime-ink);}
.ind-dcard .dc-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.ind-dcard h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;margin-top:14px;line-height:1.25;}
.ind-dcard p{font-size:.88rem;color:var(--ink-soft);line-height:1.5;margin-top:9px;}

/* ── M06 · COMPLIANCE PRINCIPLES — lead panel + principle rows ── */
.ind-comp{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4.5vw,60px);margin-top:40px;align-items:start;}
.ind-comp .lead p{font-size:1rem;color:var(--ink-soft);line-height:1.62;margin-top:16px;max-width:52ch;}
.ind-comp .lead p:first-child{margin-top:0;}
.ind-princ{border-top:2px solid var(--ink);}
.ind-pr{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line-dash);align-items:start;}
.ind-pr:last-child{border-bottom:none;}
.ind-pr .pn{font-family:var(--mono);font-size:.72rem;color:var(--lime-ink);padding-top:3px;}
.ind-pr h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;}
.ind-pr p{font-size:.9rem;color:var(--ink-soft);line-height:1.5;margin-top:6px;max-width:56ch;}

/* ── M07 · VISIBILITY STACK — service route cards ── */
.ind-stack{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-mid);margin-top:40px;background:var(--bg);}
.ind-scard{padding:clamp(24px,3vw,40px);border-right:1px dashed var(--line-soft);border-bottom:1px dashed var(--line-soft);display:flex;flex-direction:column;transition:background .2s;}
.ind-scard:nth-child(2n){border-right:none;}
.ind-scard:nth-last-child(-n+2){border-bottom:none;}
.ind-scard:hover{background:var(--wash-soft);}
.ind-scard .sc-no{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--lime-ink);}
.ind-scard h3{font-size:1.18rem;font-weight:600;letter-spacing:-.01em;margin-top:12px;}
.ind-scard p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;margin-top:11px;flex:1;}
.ind-scard .go{margin-top:18px;font-family:var(--mono);font-size:.74rem;display:inline-flex;gap:8px;align-items:center;color:var(--ink);}
.ind-scard .go .arr{color:var(--lime-deep);transition:transform .25s var(--ease);}
.ind-scard:hover .go .arr{transform:translateX(4px);}

/* ── M08 · METHOD — spec rows + anonymity closing ── */
.ind-spec{margin-top:40px;border-top:2px solid var(--ink);}
.ind-srow{display:grid;grid-template-columns:auto 1.1fr 1fr;gap:clamp(18px,3vw,44px);align-items:start;padding:24px 0;border-bottom:1px dashed var(--line-dash);}
.ind-srow:last-child{border-bottom:none;}
.ind-srow .cn{font-family:var(--sans);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.05em;line-height:.85;color:var(--ink);}
.ind-srow .cn .z{color:var(--faint);}
.ind-srow .act h3{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;}
.ind-srow .act p{font-size:.92rem;color:var(--ink-soft);line-height:1.55;margin-top:9px;max-width:52ch;}
.ind-srow .imp{border-left:1px dashed var(--line-rule);padding-left:clamp(18px,3vw,32px);}
.ind-srow .imp .seg-lbl{font-family:var(--mono);font-size:var(--label-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--lime-ink);margin-bottom:8px;display:block;}
.ind-srow .imp p{font-size:.88rem;color:var(--ink-soft);line-height:1.55;max-width:34ch;}
.ind-anon{margin-top:clamp(28px,3.5vw,44px);border-top:1px dashed var(--line-mid);padding-top:clamp(22px,3vw,32px);
  font-family:var(--mono);font-size:var(--label-md);color:var(--muted);border-left:2px solid var(--lime);padding-left:18px;max-width:74ch;line-height:1.6;text-transform:none;letter-spacing:.01em;}
.ind-anon a{color:var(--lime-ink);text-decoration:underline;}

/* ── entity index (compact mono route list) ── */
.ind-index{margin-top:clamp(30px,3.5vw,46px);border-top:1px dashed var(--line-mid);padding-top:clamp(26px,3vw,40px);}
.ind-index .chip-label{margin-bottom:16px;}
.iix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));border:1px dashed var(--line-soft);}
.iix{display:flex;align-items:center;gap:10px;padding:13px 16px;border-right:1px dashed var(--line-soft);border-bottom:1px dashed var(--line-soft);
  font-family:var(--mono);font-size:.78rem;color:var(--ink);transition:background .2s,padding-left .2s var(--ease);}
.iix:hover{background:var(--wash-soft);padding-left:22px;}
.iix .ar{color:var(--lime-deep);}

/* ════ SIGNATURE · DENTAL — treatment-page architecture ledger (dark) ════
   motif: the one mid-page dark band (10a); the architecture ledger glows
   on the substrate (13b); panels stay light (13d). */
.sig-wrap{margin-top:44px;}
.archroot{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:24px;}
.archroot .d{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.dent-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(20px,3vw,40px);align-items:start;}
.dent-tree{background:var(--paper-card);border:1px solid var(--line-mid);box-shadow:var(--shadow-card);}
.dent-tree .th{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);display:flex;align-items:center;gap:9px;}
.dent-tree .th .d{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.trow{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 20px;border-bottom:1px dashed var(--line-soft);}
.trow:last-child{border-bottom:none;}
.trow .nm{font-size:.92rem;color:var(--ink);display:flex;align-items:center;gap:10px;}
.trow .nm .br{font-family:var(--mono);color:var(--faint);}
.trow .nm .zh{font-family:"Noto Sans HK","PingFang HK",var(--sans);color:var(--muted);font-size:.82em;}
.trow .job{font-family:var(--mono);font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:var(--lime-ink);
  border:1px dashed var(--green-line);border-radius:var(--radius-tag);padding:3px 8px;white-space:nowrap;}
.trow.sub .nm{padding-left:14px;color:var(--ink-soft);}
.trow.branch .nm{font-weight:600;}
.dent-side{align-self:start;display:flex;flex-direction:column;gap:0;}
.dent-side .ds{border-top:1px dashed var(--line-on-dash);padding:16px 0;}
.dent-side .ds:first-child{border-top:none;}
.dent-side .ds h3{font-size:.98rem;font-weight:600;color:var(--white);letter-spacing:-.01em;}
.dent-side .ds p{font-size:.86rem;color:var(--tx-on-62);line-height:1.55;margin-top:6px;max-width:42ch;}
.sig-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:76ch;line-height:1.6;letter-spacing:.01em;}

/* ── RESPONSIVE (shared) ── */
@media(max-width:960px){
  .ind-hero-grid{grid-template-columns:1fr;gap:36px;}
  .ind-expert{grid-template-columns:1fr;gap:28px;}
  .ind-press{grid-template-columns:1fr;gap:28px;}
  .ind-comp{grid-template-columns:1fr;gap:28px;}
  .ind-stack{grid-template-columns:1fr;}
  .ind-scard{border-right:none;}
  .ind-scard:nth-last-child(2){border-bottom:1px dashed var(--line-soft);}
  .ind-srow{grid-template-columns:auto 1fr;gap:18px 22px;}
  .ind-srow .imp{grid-column:2;border-left:none;border-top:1px dashed var(--line-rule);padding-left:0;padding-top:14px;margin-top:4px;}
  .dent-grid{grid-template-columns:1fr;gap:28px;}
}
@media(max-width:560px){
  .ind-diag{grid-template-columns:1fr;}
  .ind-dcard{border-right:none;}
  .trow{grid-template-columns:1fr;gap:8px;}
  .trow .job{justify-self:start;}
}
