/* Research — question-led, like a working notebook */

.res-hero { padding: 64px 0 0; }

.res-hero__title {
  max-width: 1100px;
  font-size: 96px;
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.res-hero__title span {
  display: block;
  color: #9a9a9a;
}

.hero--strip { margin-top: 56px; aspect-ratio: 1306 / 340; }

.block--first { margin-top: 0; border-top: 0; }

/* Findings flow */
.flow { grid-column: 1 / -1; margin-top: 64px; }

.flow__track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--col-gap);
  list-style: none;
  border-top: 1px solid var(--ink);
}

.flow__node {
  position: relative;
  padding-top: 28px;
}

.flow__node::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--ink);
}

.flow__node:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--ink);
  transform: translateY(-6.5px);
}

.flow__num {
  font-size: 15px;
  line-height: 20px;
  color: var(--muted);
}

.flow__title,
.outcome__title {
  margin-top: 6px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 29px;
  letter-spacing: 0.009em;
}

.flow__text,
.outcome__text {
  margin-top: 7px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0.014em;
  color: var(--ink-soft);
}

.flow__label {
  margin-top: 48px;
  font-size: 15px;
  line-height: 20px;
  color: var(--muted);
}

.flow__outcomes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--col-gap);
  row-gap: 24px;
  margin-top: 14px;
  list-style: none;
}

.outcome {
  padding: 20px 24px 26px;
  background: #f3f2ee;
}

.outcome__title { margin-top: 0; }

/* Judging criteria */
.judge { list-style: none; border-bottom: 1px solid var(--rule); }

.judge li {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding: 18px 0 20px;
  border-top: 1px solid var(--rule);
  font-size: 44px;
  line-height: 50px;
  letter-spacing: -0.025em;
}

.judge span {
  flex: none;
  width: 40px;
  font-size: 16px;
  letter-spacing: 0;
  color: var(--muted);
}

@media (max-width: 1000px) {
  .res-hero__title { font-size: 68px; }
  .judge li { font-size: 34px; line-height: 40px; }
}

@media (max-width: 760px) {
  .flow__track, .flow__outcomes { grid-template-columns: 1fr; row-gap: 20px; }
  .flow__track { border-top: 0; }
  .flow__node { border-top: 1px solid var(--ink); }
  .flow__node:last-child::after { display: none; }
}

@media (max-width: 640px) {
  .res-hero { padding-top: 32px; }
  .res-hero__title { font-size: 46px; }
  .hero--strip { margin-top: 32px; }
  .hero--strip { aspect-ratio: 16 / 9; }
  .judge li { font-size: 26px; line-height: 32px; gap: 16px; }
}
