/* ---------- Industry page ---------- */
.ihero { padding-block:56px 120px; }
.ihero h1 { max-width:14ch; font-size:clamp(42px, 4.8vw, 68px); line-height:1; }
.ihero .sub { max-width:34ch; }
.chainvis { grid-column:7 / span 6; padding:28px; border-radius:var(--r-lg); background-color:var(--app-tint); background-image:radial-gradient(circle at 1px 1px, var(--app-dot) 1px, transparent 1.5px); background-size:22px 22px; box-shadow:inset 0 0 0 1px var(--app-edge); }
.cv-top { display:flex; align-items:center; gap:10px; padding:16px 20px; border-radius:16px 16px 0 0; background:var(--paper); border:1px solid var(--line); border-bottom:0; font-size:14px; font-weight:600; }
.cv-top img { width:18px; height:18px; }
.cv-s { margin-left:auto; font-weight:500; color:var(--ink-subtle); font-size:13px; }
.chainvis ol { list-style:none; margin:0; padding:6px 20px; background:var(--paper); border:1px solid var(--line); border-top:1px solid var(--line); }
.chainvis li { display:grid; grid-template-columns:150px 1fr auto auto; gap:14px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.chainvis li:last-child { border-bottom:0; }
.cv-k { font-size:14.5px; font-weight:500; }
.cv-bar { height:8px; border-radius:999px; background:var(--frost); overflow:hidden; }
.cv-bar i { display:block; height:100%; width:calc(var(--w) * 1%); border-radius:inherit; background:var(--signal); transition:width 1.2s var(--ease); }
.chainvis li b { font-size:22px; font-weight:500; letter-spacing:-.02em; font-variant-numeric:tabular-nums; min-width:62px; text-align:right; }
.chainvis .pill.flat { background:var(--frost); color:var(--ink-muted); }
.chainvis .pill.risk { background:var(--risk-soft); color:var(--risk); }
.cv-foot { padding:12px 20px; border-radius:0 0 16px 16px; background:var(--mist); border:1px solid var(--line); border-top:0; font-size:12.5px; color:var(--ink-subtle); box-shadow:var(--shadow-float); }
.chainvis.armed .cv-bar i { width:0; }

.chain { padding-block:120px; background:var(--mist); }
.links { margin-top:64px; display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:stretch; gap:0; }
.node { display:flex; flex-direction:column; justify-content:center; gap:4px; width:148px; padding:18px 16px; border-radius:var(--r-md); background:var(--paper); border:1.5px solid var(--ink); }
.node-k { font-size:17px; font-weight:600; letter-spacing:-.01em; }
.node-d { font-size:13.5px; line-height:19px; color:var(--ink-muted); }
.gap { --t:var(--tint-rose); --ti:var(--rose-ink); position:relative; display:flex; flex-direction:column; gap:6px; margin:16px 0; padding:18px 18px 16px; border-radius:0; background:var(--t); color:var(--ink); text-decoration:none; transition:transform .25s var(--ease), box-shadow .25s; }
.gap.sky { --t:var(--tint-sky); --ti:var(--sky-ink); }
.gap.iris { --t:var(--tint-iris); --ti:var(--iris-ink); } .gap.aqua { --t:var(--tint-aqua); --ti:var(--aqua-ink); } .gap.rose { --t:var(--tint-rose); --ti:var(--rose-ink); }
.gap::before, .gap::after { content:""; position:absolute; top:50%; width:10px; height:10px; border-radius:50%; background:var(--ink); transform:translateY(-50%); }
.gap::before { left:-5px; } .gap::after { right:-5px; }
.gap:hover { box-shadow:var(--shadow-float); transform:translateY(-3px); }
.gap:focus-visible { outline:2px solid var(--signal); outline-offset:3px; }
.gap-app { font-size:13.5px; font-weight:600; color:var(--ti); }
.gap b { font-size:17px; line-height:23px; font-weight:600; letter-spacing:-.01em; }
.gap-who { font-size:13.5px; color:var(--ink-muted); }
.gap-go { margin-top:auto; padding-top:8px; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; }
.gap-go svg { width:14px; height:14px; transition:transform .2s; }
.gap:hover .gap-go svg { transform:translateX(3px); }

.buyers { padding-block:128px 112px; }
.bgrid { margin-top:56px; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.buyer { display:flex; flex-direction:column; gap:8px; padding-top:20px; border-top:2px solid var(--ink); }
.buyer span { font-size:13.5px; font-weight:600; color:var(--app-ink); }
.buyer b { font-size:19px; line-height:25px; font-weight:600; letter-spacing:-.01em; }
.buyer p { margin:0; font-size:15px; line-height:23px; color:var(--ink-muted); }

.comply { padding-block:120px; background:var(--mist); }
.cgrid { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:24px; row-gap:40px; align-items:start; }
.cgrid > div { grid-column:1 / span 5; display:flex; flex-direction:column; gap:20px; }
.comply h2 { margin:0; font-size:clamp(32px, 3.6vw, 48px); line-height:1.06; font-weight:500; letter-spacing:-.03em; text-wrap:balance; }
.c-lead { margin:0; font-size:18px; line-height:28px; color:var(--ink-muted); }
.qlist { grid-column:7 / span 6; list-style:none; margin:0; padding:0; counter-reset:q; }
.qlist li { counter-increment:q; display:grid; grid-template-columns:36px 1fr; gap:4px 12px; padding:22px 0; border-top:1px solid var(--line); }
.qlist li:last-child { border-bottom:1px solid var(--line); }
.qlist li::before { content:counter(q); grid-row:1 / span 2; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--paper); border:1px solid var(--line-control); font-size:12.5px; font-weight:600; color:var(--ink-muted); }
.qlist b { font-size:18px; line-height:26px; font-weight:600; letter-spacing:-.01em; }
.qlist span { font-size:15.5px; line-height:24px; color:var(--ink-muted); }

@media (max-width: 1180px) {
  .links { grid-template-columns:1fr; gap:0; }
  .node { width:auto; flex-direction:row; align-items:baseline; gap:12px; }
  .gap { margin:0 0 0 28px; border-left:1.5px dashed var(--ink); }
  .gap::before { left:-6px; top:-5px; transform:none; } .gap::after { left:-6px; right:auto; top:auto; bottom:-5px; transform:none; }
}
@media (max-width: 1080px) {
  .chainvis { grid-column:1 / -1; max-width:640px; }
  .bgrid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .cgrid > div, .qlist { grid-column:1 / -1; }
}
@media (max-width: 640px) {
  .chain, .comply { padding-block:80px; } .buyers { padding-block:80px; }
  .chainvis { padding:14px; } .chainvis li { grid-template-columns:1fr auto; } .cv-bar { grid-column:1 / -1; grid-row:2; } .chainvis .pill { display:none; }
  .bgrid { grid-template-columns:1fr; }
  .node { flex-direction:column; gap:2px; }
}
@media (prefers-reduced-motion: reduce) { .cv-bar i, .gap { transition:none; } }
