.hetero-hero { position: relative; min-width: 0; min-height: 600px; display: flex; flex-direction: column; justify-content: center; padding: 100px 0 72px; }
.hetero-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 -24vw; background: radial-gradient(circle at 76% 32%, rgba(124,108,255,.28), transparent 24rem), radial-gradient(circle at 58% 70%, rgba(64,224,200,.12), transparent 20rem); }
.hetero-hero h1 { max-width: 980px; font-size: clamp(44px, 7vw, 84px); letter-spacing: -.05em; }
.hetero-hero .sub { max-width: 820px; font-size: 20px; }
.hetero-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.hetero-tags span { padding: 7px 12px; border: 1px solid rgba(139,124,255,.38); border-radius: 999px; color: #cbd0e8; background: rgba(124,108,255,.08); font: 11.5px var(--mono); }

.hetero-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 8px; }
.hetero-status article { min-width: 0; padding: 21px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, rgba(24,25,37,.9), rgba(12,13,20,.94)); }
.hetero-status strong { display: block; color: var(--accent2); font: 22px var(--mono); }
.hetero-status span { display: block; margin-top: 7px; color: var(--muted); font-size: 12.5px; }

.hetero-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hetero-flow article { position: relative; min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: rgba(13,14,22,.82); }
.hetero-flow article:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 29px; right: -12px; color: #737aa6; font: 16px var(--mono); }
.hetero-flow b { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #0b0d14; background: var(--accent2); font: 12px var(--mono); }
.hetero-flow small { margin-left: 9px; color: #9ba3c9; font: 10px var(--mono); letter-spacing: .12em; }
.hetero-flow strong { display: block; margin: 16px 0 7px; font-size: 16px; }
.hetero-flow p { color: var(--muted); font-size: 13px; }

.hetero-table td:nth-child(2) { color: #d4d6e7; }
.hetero-table .win { color: var(--accent2); }
.hetero-table .loss { color: #ffbd77; }
.gate-callout { margin-top: 18px; padding: 20px 22px; border: 1px solid rgba(255,189,119,.38); border-radius: 12px; background: rgba(255,189,119,.06); }
.gate-callout strong { color: #ffbd77; font: 13px var(--mono); }
.gate-callout p { margin-top: 7px; color: var(--muted); font-size: 13.5px; }

.finding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.finding-card { position: relative; overflow: hidden; padding: 27px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, rgba(23,24,36,.92), rgba(11,12,19,.96)); }
.finding-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: var(--accent2); }
.finding-card.warn::before { background: var(--accent); }
.finding-card.no::before { background: #ff7f83; }
.finding-card > span { color: #9ba3c9; font: 10px var(--mono); letter-spacing: .13em; }
.finding-card h3 { margin: 9px 0; font-size: 20px; }
.finding-card p { color: var(--muted); font-size: 14px; }

.simulation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.simulation-grid article { min-width: 0; padding: 22px; border: 1px dashed rgba(139,124,255,.38); border-radius: 14px; background: rgba(124,108,255,.045); }
.simulation-grid strong { display: block; color: #b7aaff; font: 25px var(--mono); }
.simulation-grid span { display: block; min-height: 44px; margin: 6px 0 12px; color: #d4d6e7; font-size: 13px; }
.simulation-grid p { color: var(--muted); font-size: 12.5px; }

.evidence-contract { margin-top: 72px; padding: 44px; border: 1px solid rgba(64,224,200,.3); border-radius: 20px; background: radial-gradient(circle at 86% 28%, rgba(64,224,200,.11), transparent 22rem), rgba(14,16,24,.9); }
.evidence-contract h2 { font-size: clamp(30px, 4vw, 46px); }
.evidence-contract > p { max-width: 900px; color: #b5b9ce; }
.evidence-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; font: 12px var(--mono); }

@media (max-width: 900px) {
  .hetero-status,.simulation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hetero-flow { grid-template-columns: 1fr 1fr; }
  .hetero-flow article:nth-child(2)::after { display: none; }
}
@media (max-width: 620px) {
  .hetero-hero { width: 100%; max-width: 100%; min-height: 520px; padding: 70px 0 48px; }
  .hetero-hero > * { min-width: 0; }
  .hetero-hero h1 { width: 100%; max-width: 100%; font-size: clamp(38px, 11vw, 48px); overflow-wrap: anywhere; }
  .hetero-hero .sub { width: 100%; max-width: 100%; font-size: 17px; overflow-wrap: anywhere; }
  .hetero-status,.hetero-flow,.finding-grid,.simulation-grid { grid-template-columns: 1fr; }
  .hetero-flow article::after { display: none; }
  .evidence-contract { padding: 28px 22px; }
}
