.method-map {
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(13, 21, 27, .78), rgba(8, 14, 19, .96));
}

.recognition-line {
  max-width: 900px;
  margin: 30px 0 0;
  color: var(--text);
  font-size: clamp(19px, 2.4vw, 27px);
  line-height: 1.45;
}

.action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}

.action {
  min-width: 0;
  padding: 24px;
  background: var(--surface);
}

.action span {
  color: var(--green);
  font: 11px ui-monospace, SFMono-Regular, Consolas, monospace;
}

.action h3 { margin-top: 24px; }
.action p { margin: 0; color: var(--muted); }

.arrival-label,
.bridge-kicker {
  color: var(--green);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.arrival-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.arrival,
.branch,
.claim-path article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(3, 6, 9, .72);
}

.arrival span,
.branch span,
.claim-path span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font: 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.arrival strong,
.branch strong,
.claim-path strong {
  display: block;
  line-height: 1.35;
}

.arrival small,
.claim-path small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}

.arrival.missing { border-style: dashed; }
.flow-arrow { padding: 13px 0; color: var(--cyan); text-align: center; }

.bridge {
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(103, 182, 208, .58);
  border-left: 4px solid var(--cyan);
  border-radius: 5px;
  background: rgba(103, 182, 208, .06);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .18);
}

.bridge h3 {
  margin: 8px 0 10px;
  max-width: 820px;
  color: var(--text);
  font-size: clamp(25px, 3.5vw, 40px);
  font-weight: 520;
  line-height: 1.18;
}

.bridge > p { max-width: 760px; margin: 0; color: var(--soft); }
.bridge-tests { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.bridge-tests li { padding: 6px 9px; border: 1px solid rgba(103, 182, 208, .24); border-radius: 3px; color: var(--soft); font-size: 12px; }
.bridge-inequalities { display: grid; gap: 5px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(103, 182, 208, .18); }
.bridge-inequalities span { color: var(--muted); font: 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }

.branch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.branch p { margin: 9px 0 0; color: var(--muted); font-size: 13px; }
.branch.proceed { border-top: 2px solid var(--green); }
.branch.hold { border-top: 2px solid var(--gold); }
.branch.refuse { border-top: 2px solid var(--red); }

.claim-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.2fr);
  align-items: stretch;
  margin-top: 18px;
}

.claim-path article { border-color: rgba(102, 188, 146, .22); }
.claim-path .qualification { border-color: rgba(102, 188, 146, .46); background: rgba(102, 188, 146, .05); }
.path-arrow { display: grid; place-items: center; padding: 0 7px; color: var(--green); }

.method-note {
  max-width: 900px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(212, 180, 102, .28);
  border-left: 3px solid var(--gold);
  background: rgba(212, 180, 102, .04);
}

.method-note h2 { margin-top: 12px; }
.method-note p { margin: 12px 0 0; color: var(--soft); }

@media (max-width: 900px) {
  .action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .claim-path { grid-template-columns: 1fr; gap: 0; }
  .path-arrow { padding: 7px 0; transform: rotate(90deg); }
}

@media (max-width: 620px) {
  .method-map { padding: 17px; }
  .action-grid,
  .arrival-grid,
  .branch-grid { grid-template-columns: 1fr; }
  .bridge-tests { gap: 6px; }
  .bridge-inequalities span { overflow-wrap: anywhere; }
}
