.research-main .inner-masthead { min-height: 0; }
.research-main .inner-title-block { padding: 24px 32px; gap: 12px; }
.research-main .inner-title-block h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.15; text-transform: none; }
.research-lead { max-width: 80ch; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.research-jump-links { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--rule); }
.research-jump-links a { display: flex; align-items: center; gap: 14px; padding: 14px 20px; color: var(--blue); font-size: 14px; }
.research-jump-links a + a { border-left: 1px solid var(--rule); }
.research-jump-links a span:first-child { font-family: var(--mono); }
.research-jump-links a span:last-child { margin-left: auto; }
.research-detail { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(0, 2.7fr); gap: 28px; padding: 28px 8px; scroll-margin-top: 16px; }
.research-detail + .research-detail { border-top: 1px solid var(--rule); }
.research-detail-image { margin: 0; align-self: start; border: 1px solid var(--rule); }
.research-detail-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.research-detail-image figcaption { display: flex; justify-content: space-between; gap: 8px; padding: 7px; border-top: 1px solid var(--rule); font: 500 10px/1.4 var(--mono); }
.research-detail-copy { min-width: 0; }
.research-detail-copy header { display: flex; align-items: baseline; gap: 14px; }
.research-detail-copy h2 { margin: 0; font: 600 clamp(22px, 2.3vw, 30px)/1.25 var(--display); }
.research-detail-intro { margin: 12px 0 20px; max-width: 90ch; font-size: 15px; line-height: 1.6; }
.research-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.research-topics h3 { margin: 0 0 7px; color: var(--blue); font-size: 14px; font-weight: 600; }
.research-topics p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.research-flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--hairline); font-size: 12px; }
.research-flow li:not(:last-child)::after { content: "→"; color: var(--blue); margin-left: 8px; }
.research-closing { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; border-top: 1px solid var(--rule); padding: 20px 8px; font-size: 14px; }
.research-closing p { margin: 0; flex: 1 1 300px; }
@media (max-width: 900px) {
  .research-detail { grid-template-columns: minmax(160px, .75fr) minmax(0, 2fr); gap: 20px; }
  .research-topics { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 760px) {
  .research-main .inner-title-block { padding: 20px 0; }
  .research-jump-links { grid-template-columns: 1fr; }
  .research-jump-links a { padding: 12px 0; }
  .research-jump-links a + a { border-left: 0; border-top: 1px solid var(--hairline); }
  .research-detail { grid-template-columns: 1fr; padding: 24px 0; gap: 18px; }
  .research-detail-image { max-width: 440px; }
  .research-topics p { font-size: 14px; }
}
