.research-section { padding: 72px 0 86px; scroll-margin-top: 90px; }
.research-heading { text-align: left; max-width: 850px; margin: 0 0 54px; }
.research-heading h2 {margin-top: 24px;}
.research-heading > p:last-child { max-width: 670px; margin: 25px 0 0; font-size: 15px; line-height: 1.85; color: #65786f; }
.research-grid { display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.research-row { --marketing-subtitle-size: clamp(20px, 1.7vw, 22px); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-radius: 18px; background: #eaf0e5; }
.research-visual { position: relative; isolation: isolate; overflow: hidden; min-height: 156px; padding: 17px 24px; background: radial-gradient(ellipse at 85% 110%, #44675185, transparent 70%), #173c32; color: #f0f4e9; }
.research-visual::before { content: ''; position: absolute; z-index: -1; width: 130%; height: 145%; border: 1px solid #b8cda02b; border-radius: 50%; left: -15%; top: -86%; transform: rotate(-12deg); }
.research-visual::after { content: ''; position: absolute; z-index: -1; width: 130%; height: 145%; border: 1px solid #b8cda014; border-radius: 50%; left: -15%; top: -76%; transform: rotate(-12deg); }
.research-visual > svg { position: absolute; top: 22px; right: 24px; width: 28px; height: 28px; fill: none; stroke: #b9cbaa; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.research-visual strong { display: block; padding-right: 45px; font-size: clamp(25px, 2.6vw, 37px); line-height: 1.13; letter-spacing: -.04em; font-weight: 400; }
.research-visual .research-number { padding-right: 0; font-size: clamp(42px, 3.8vw, 52px); line-height: 1; letter-spacing: -.065em; }
.research-number > span { font-size: .72em; }
.research-stat-label { display: block; margin-top: 8px; color: #d7e1cc; font-size: 13px; }
.research-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.research-tags span { padding: 5px 8px; border: 1px solid #b9cbaa35; border-radius: 20px; color: #d7e1cc; font-size: 9px; line-height: 1.2; }
.research-copy { align-self: center; padding: 17px 24px; }
.research-copy h3 { margin: 7px 0 8px; }
.research-copy > p:last-child { font-size: 13px; line-height: 1.6; color: #506c5d; }
.research-row:nth-child(even) .research-visual { grid-column: 2; grid-row: 1; }
.research-row:nth-child(even) .research-copy { grid-column: 1; grid-row: 1; }
.research-footnote { margin: 27px auto 0; text-align: center; max-width: 710px; font-size: 11px; line-height: 1.8; color: #65786f; }

.research-visual:has(.research-combined) > svg { display: none; }
.research-visual .research-combined { font-size: clamp(34px, 3.3vw, 48px); white-space: nowrap; padding-top: 3px; letter-spacing: -.055em; }
.research-combined > span { font-size: .65em; vertical-align: .08em; color: #b9cbaa; }

@media (max-width: 1000px) {
  .research-visual, .research-copy { padding: 17px 20px; }
  .research-visual > svg { right: 22px; }
}
@media (max-width: 760px) {
  .research-section { padding: 55px 0 65px; scroll-margin-top: 75px; }
  .research-heading { margin-bottom: 34px; }
  .research-heading > p:last-child { font-size: 14px; }
  .research-row { grid-template-columns: 1fr; border-radius: 16px; }
  .research-row:nth-child(even) .research-visual, .research-row:nth-child(even) .research-copy { grid-column: auto; grid-row: auto; }
  .research-visual { min-height: 0; padding: 17px 20px; }
  .research-tags { margin-top: 14px; }
  .research-tags span { font-size: 8px; }
  .research-copy { padding: 17px 20px; }
  .research-visual .research-number { font-size: 46px; }
  .research-stat-label { font-size: 13px; }
  .research-visual .research-combined { font-size: clamp(32px, 9vw, 46px); }
}

.research-source-note { margin: 9px auto 0; text-align: center; max-width: 710px; font-size: 10px; line-height: 1.7; color: #65786f; }
