/* Research uses the homepage's Favorit typography and photographic treatment. */
.research-page { --research-ink: #262626; --research-muted: #626262; --research-line: #dededb; background: #fff; }
body.research-page main.research-main { overflow: clip; background: #fff; color: var(--research-ink); font-family: "Progress Favorit", Arial, sans-serif; font-weight: 300; }
body.research-page .research-main *,
body.research-page .research-main :is(h1,h2,h3,p,a,button) { box-sizing: border-box; font-family: inherit; }
body.research-page .research-main :is(h1,h2,h3,p,figure) { margin: 0; }
body.research-page .research-main :is(h1,h2,h3,strong,b) { font-weight: 300; }
body.research-page .research-main h2 { font-size: clamp(34px,3.35vw,48px); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
body.research-page .research-main h3 { font-size: clamp(25px,2.2vw,32px); line-height: 1.16; letter-spacing: -.035em; }
body.research-page .research-main p { color: var(--research-muted); font-size: 17px; line-height: 1.6; letter-spacing: -.012em; }
body.research-page main.research-main > section { position: relative; width: 100%; max-width: none; height: auto; min-height: 0; margin: 0; padding: 96px 0; background: #fff; font-family: inherit; }
.research-shell, .chapter-stage, .research-hero-content, .research-hero-photo, .partnership-cta-shell { width: min(1200px,calc(100% - 80px)); margin-inline: auto; }
body.research-page .research-main .depth-eyebrow { margin-bottom: 24px; color: #777; font-size: 13px; line-height: 1.4; letter-spacing: .035em; }
.research-blur-defs { position: absolute; pointer-events: none; }
.research-main a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }

/* A quiet introduction followed by one wide photograph. */
body.research-page main.research-main > .research-hero { padding-top: 180px; padding-bottom: 0; }
.research-hero-content { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 80px; margin-bottom: 56px; }
body.research-page .research-main h1 { max-width: 640px; font-size: clamp(48px,5.2vw,76px); line-height: 1.02; letter-spacing: -.055em; text-wrap: balance; }
body.research-page .research-main .hero-summary { max-width: 510px; padding-bottom: 5px; font-size: 18px; line-height: 1.5; }
.research-photo { position: relative; isolation: isolate; overflow: hidden; border-radius: 8px; background: #242424; }
.research-main .research-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.35) contrast(1.04); }
.research-main .research-photo > .research-photo-motion { position: absolute; inset: 0; filter: saturate(.35) contrast(1.04) url(#research-photo-blur); mask-image: var(--photo-mask, linear-gradient(90deg,#000,transparent 34%,transparent 49%,#000 82%)); transform: scaleX(1.08); }
body.research-page .research-main .research-hero-photo { height: clamp(280px,32vw,460px); margin-inline: auto; }
.research-hero-photo { --photo-mask: linear-gradient(90deg,#000,rgba(0,0,0,.75) 20%,transparent 35%,transparent 49%,#000 76%); }
.research-hero-photo img { object-position: center 40%; }

/* Readable article and sticky contents rail. */
.research-thesis-section .depth-shell { display: grid; grid-template-columns: 280px minmax(0,704px); justify-content: space-between; gap: 64px; }
.research-thesis-heading { position: sticky; top: 116px; align-self: start; }
body.research-page .research-main h2.research-thesis-rail-title { font-size: 16px; line-height: 1.5; letter-spacing: -.01em; padding-bottom: 24px; border-bottom: 1px solid var(--research-line); }
.research-thesis-toc { display: grid; gap: 22px; margin-top: 26px; }
.research-thesis-toc-link { display: block; padding-left: 14px; border-left: 1px solid transparent; color: #767676; font-size: 15px; line-height: 1.5; text-decoration: none; transition: color 180ms, border-color 180ms; }
.research-thesis-toc-link:hover,.research-thesis-toc-link[aria-current="true"] { color: #222; border-color: #222; }
.research-thesis-intro { margin-bottom: 52px; }
body.research-page .research-main .research-thesis-copy p { margin-bottom: 18px; }
body.research-page .research-main .research-thesis-block { max-width: none; padding: 0 0 44px; margin: 0 0 44px; border-bottom: 1px solid var(--research-line); scroll-margin-top: 116px; }
body.research-page .research-main .research-thesis-block h3 { margin-bottom: 24px; font-size: clamp(30px,2.7vw,38px); }
body.research-page .research-main .research-thesis-callout { padding-left: 20px; margin-top: 26px; border-left: 1px solid #888; color: #262626; }
.research-thesis-statement { margin: 0; font-size: clamp(25px,2.4vw,34px); line-height: 1.3; letter-spacing: -.03em; }

/* Readable chapter layouts; scroll choreography is progressively enabled below. */
body.research-page main.research-main > .research-chapter { border-top: 1px solid var(--research-line); }
.chapter-stage { position: relative; }
.chapter-statement { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 48px; align-items: start; }
body.research-page .research-main .chapter-caption { max-width: 760px; margin: 28px 0 0 auto; font-size: 16px; }
.context-system { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--research-line); }
/* An editorial figure: shared baseline, continuous connectors, no floating cards. */
.comparison-system { background: #fff; border-block-color: #b8b8b0; }
body.research-page .research-main .comparison-side { min-width: 0; max-width: none; margin: 0; padding: 32px 36px 28px; background: transparent; text-align: center; }
.comparison-side + .comparison-side { border-left: 1px solid var(--research-line); }
.comparison-heading { display: flex; align-items: baseline; gap: 16px; text-align: left; }
.comparison-index { flex-shrink: 0; color: #77776d; font-size: 11px; letter-spacing: .08em; }
body.research-page .research-main .comparison-heading h3 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px,2.4vw,33px); font-weight: 400; line-height: 1.2; letter-spacing: -.04em; }
.comparison-flow { display: flex; flex-direction: column; align-items: center; margin-top: 34px; }
body.research-page .research-main .comparison-query { width: 100%; padding-bottom: 16px; color: #494941; font-size: 15px; line-height: 1.4; }
.comparison-drawing { display: block; width: 100%; max-width: 528px; height: auto; overflow: visible; }
.comparison-drawing .diagram-lines { fill: none; stroke: #79796f; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.comparison-drawing marker path { fill: none; stroke: #57574e; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.comparison-drawing .diagram-labels { fill: #383830; font-size: 15px; text-anchor: middle; }
.comparison-drawing .diagram-decision { fill: #f5f4ef; stroke: #57574e; }
.comparison-drawing .diagram-junction { fill: #79796f; }
.comparison-result { padding-top: 12px; }
.comparison-result small { display: block; margin-bottom: 9px; color: #73736b; font-size: 10px; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; }
body.research-page .research-main .comparison-result b { font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px,2.5vw,35px); font-weight: 400; line-height: 1.15; letter-spacing: -.04em; }
body.research-page .research-main .comparison-note { margin-top: 25px; padding-top: 16px; border-top: 1px solid var(--research-line); color: #73736b; font-size: 12px; line-height: 1.4; text-align: left; }
.research-problems-photo { height: 400px; }
.research-problems-photo img { object-position: center 48%; }
.understanding-visual img { object-position: center 82%; }
.partnership-photo img { object-position: center 48%; }
.research-problems-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent,#000b); }
.research-problems-photo figcaption { position: absolute; z-index: 1; left: 40px; right: 40px; bottom: 36px; color: #fff; }
.research-problems-photo strong { font-size: 28px; letter-spacing: -.03em; }
body.research-page .research-main .research-problems-photo p { color: #ddd; margin-top: 10px; }
.problem-list { display: grid; grid-template-columns: repeat(4,1fr); list-style: none; padding: 0; margin: 28px 0 0; gap: 24px; }
.problem-list li { padding-top: 18px; border-top: 1px solid var(--research-line); font-size: 18px; }

/* Restrained grids, consistent with the homepage's section scale. */
.depth-heading { max-width: 780px; }
.depth-heading > p:last-child { margin-top: 24px !important; }
.research-program-grid,.investigations-grid,.evaluation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 64px; margin-top: 48px; }
.research-program-act,.investigations-grid article,.evaluation-grid article { padding: 32px 0; border-top: 1px solid var(--research-line); }
.research-act-label { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 24px; color: #737373; font-size: 13px; }
.research-act-label small { font: inherit; }
body.research-page .research-main .research-program-act > p,
body.research-page .research-main .investigations-grid p,
body.research-page .research-main .evaluation-grid p { margin-top: 20px; font-size: 16px; }
body.research-page .research-main .research-question { border-left: 1px solid #aaa; padding-left: 18px; font-size: 15px; }
.research-question strong { display: block; margin-bottom: 8px; color: #262626; font-size: 13px; }
body.research-page main.research-main > .research-program-section,
body.research-page main.research-main > .research-principles-section { background: #f5f5f2; }
.chapter-stage-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; align-items: start; }
.grid-copy { grid-row: span 2; }
.position-sequence { margin-top: 36px; }
.position-sequence article { padding: 24px 0; border-top: 1px solid var(--research-line); }
body.research-page .research-main .position-sequence p { margin-top: 16px; font-size: 16px; }
.research-main .position-visual-card { padding: 16px; border: 1px solid var(--research-line); border-radius: 8px; background: #fafafa; }
.position-visual-card + .position-visual-card { margin-top: 24px !important; }
.position-visual-card img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.chapter-architecture .chapter-stage { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.architecture-copy { grid-column: 1; grid-row: 1; }
body.research-page .research-main .architecture-copy > p { margin-top: 24px; }
.architecture-flow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.architecture-flow span { border-bottom: 1px solid #aaa; padding: 8px 10px; font-size: 14px; }
.governance-scene { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 24px; border: 1px solid var(--research-line); border-radius: 8px; background: #f7f7f5; }
.governance-network,.governance-pulse { display: none; }
.governance-source-card { height: 100%; display: flex; align-items: center; gap: 10px; padding: 14px 10px; background: #fff; border: 1px solid var(--research-line); border-radius: 4px; }
.governance-source-card > img { width: 24px; height: 24px; object-fit: contain; }
.governance-source-card strong { display: block; font-size: 12px; line-height: 1.4; }
.source-state { display: block; margin-top: 5px; color: #777; font-size: 10px; }
.governance-engine-card { grid-column: 1/-1; background: #fff; border: 1px solid var(--research-line); border-radius: 4px; padding: 20px; }
.governance-engine-head { display: flex; gap: 12px; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--research-line); }
.governance-logo img { width: 24px; height: 24px; }
body.research-page .research-main .governance-engine-head p { font-size: 15px; line-height: 1.3; color: #262626; }
.governance-event { display: flex; gap: 12px; margin-top: 20px; }
.governance-event > span { width: 20px; flex-shrink: 0; color: #777; }
.governance-event strong,.governance-event small { display: block; font-size: 13px; line-height: 1.4; }
.governance-event small { color: #777; margin-top: 4px; font-size: 12px; }
body.research-page main.research-main > .chapter-understanding { padding: 0; border: 0; background: #111; color: #fff; }
.chapter-understanding .chapter-stage { width: 100%; padding: 96px max(40px,calc((100vw - 1200px)/2)); isolation: isolate; }
.research-main .understanding-visual { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.understanding-visual::after { content: ''; position: absolute; inset: 0; background: #000b; }
.understanding-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; margin-top: 64px; }
.understanding-grid article { padding-top: 24px; border-top: 1px solid #ffffff55; }
body.research-page .research-main .understanding-grid p { color: #ddd; margin-top: 18px; font-size: 16px; }
.evaluation-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.evaluation-grid article > span,.investigations-grid article > span { display: block; color: #777; font-size: 13px; margin-bottom: 26px; }
body.research-page .research-main .evaluation-grid h3 { font-size: 25px; }
.evaluation-grid small { display: block; margin-top: 24px; color: #555; font-size: 12px; }
.evaluation-method { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; border-top: 1px solid var(--research-line); padding-top: 24px; color: #626262; font-size: 14px; }
.evaluation-method i { font-style: normal; }
body.research-page main.research-main > .research-investigations-section { border-top: 1px solid var(--research-line); }
.principles-layout,.text-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; }
.principles-heading { position: sticky; top: 116px; align-self: start; }
.research-principles-list { margin: 0; padding: 0; list-style: none; }
.research-principles-list li { display: grid; grid-template-columns: 28px 1fr; gap: 20px; border-top: 1px solid var(--research-line); padding: 24px 0; }
.research-principles-list li > span { padding-top: 5px; color: #777; font-size: 12px; }
body.research-page .research-main .research-principles-list h3 { font-size: 27px; }
body.research-page .research-main .research-principles-list p { margin-top: 12px; font-size: 16px; }
body.research-page main.research-main > .partnership-section { padding-top: 0; }
.partnership-cta-card { position: relative; overflow: hidden; min-height: 400px; display: grid; place-items: center; border-radius: 8px; isolation: isolate; background: #222; }
.partnership-photo { position: absolute; inset: 0; z-index: -2; }
.partnership-cta-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: #0009; }
.partnership-cta-action { padding: 48px 24px; text-align: center; }
body.research-page .research-main .partnership-cta-action h2 { color: #fff; }
.partnership-cta-action a { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; max-width: 100%; margin-top: 32px; padding: 14px 22px; border-radius: 40px; background: #fff; color: #222; font-size: 15px; text-decoration: none; transition: background 180ms; }
.partnership-cta-action a:hover { background: #e6e6e2; }

@media (min-width: 1600px) {
  .research-shell,.chapter-stage,.research-hero-content,.research-hero-photo,.partnership-cta-shell { width: min(1480px,calc(100% - 112px)); }
  .chapter-understanding .chapter-stage { width: 100%; padding-inline: max(56px,calc((100vw - 1480px)/2)); }
  .research-thesis-section .depth-shell { grid-template-columns: 320px minmax(0,800px); }
}
@media (max-width: 1000px) {
  .research-hero-content,.chapter-statement,.chapter-architecture .chapter-stage,.chapter-stage-grid,.principles-layout,.text-layout { gap: 36px; }
  .research-thesis-section .depth-shell { grid-template-columns: 220px minmax(0,1fr); gap: 36px; }
  .research-program-grid,.investigations-grid { column-gap: 36px; }
  .evaluation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .governance-scene { grid-template-columns: 1fr; padding: 16px; }
  .governance-engine-card { grid-column: auto; }
}
@media (max-width: 720px) {
  body.research-page main.research-main > section { padding: 64px 0; }
  .research-shell,.chapter-stage,.research-hero-content,.research-hero-photo,.partnership-cta-shell { width: calc(100% - 40px); }
  body.research-page main.research-main > .research-hero { padding-top: 132px; }
  .research-hero-content,.chapter-statement,.research-thesis-section .depth-shell,.chapter-stage-grid,.chapter-architecture .chapter-stage,.principles-layout,.text-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
  .research-hero-content { margin-bottom: 32px; }
  body.research-page .research-main h1 { font-size: clamp(44px,10.5vw,64px); }
  body.research-page .research-main .hero-summary { font-size: 17px; }
  body.research-page .research-main .research-hero-photo { height: 290px; }
  .research-thesis-heading,.principles-heading { position: static; }
  .research-thesis-heading { padding-bottom: 28px; border-bottom: 1px solid var(--research-line); }
  .research-thesis-toc { gap: 16px; }
  .research-thesis-intro { margin-bottom: 36px; }
  body.research-page .research-main .research-thesis-block { scroll-margin-top: 100px; }
  .context-system { grid-template-columns: 1fr; }
  body.research-page .research-main .comparison-side { padding: 28px 16px; }
  .comparison-side + .comparison-side { border-left: 0; border-top: 1px solid var(--research-line); }
  .research-problems-photo { height: 340px; }
  .research-problems-photo figcaption { left: 24px; right: 24px; bottom: 24px; }
  .research-problems-photo strong { font-size: 25px; }
  .problem-list { grid-template-columns: 1fr 1fr; gap: 16px; }
  .research-program-grid,.investigations-grid,.evaluation-grid,.understanding-grid { grid-template-columns: 1fr; gap: 0; margin-top: 36px; }
  .grid-copy { grid-row: auto; }
  .position-visual-card + .position-visual-card { margin-top: 0 !important; }
  .architecture-copy,.governance-scene { grid-column: auto; grid-row: auto; }
  .governance-scene { grid-template-columns: 1fr 1fr; }
  .governance-engine-card { grid-column: 1/-1; }
  .chapter-understanding .chapter-stage { width: 100%; padding: 64px 20px; }
  .understanding-grid article { padding: 24px 0; }
  .evaluation-method { flex-direction: column; gap: 12px; }
  .evaluation-method i { align-self: flex-start; transform: rotate(90deg); }
  .partnership-cta-card { min-height: 340px; }
}
@media (prefers-reduced-motion: reduce) {
  .research-main *, .research-main *::before, .research-main *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Scroll choreography layered over the minimal, fully readable base layout. */
@media (prefers-reduced-motion: no-preference) {
  .research-motion-active [data-scroll-reveal] {
    opacity: var(--reveal, 1);
    translate: 0 calc((1 - var(--reveal, 1)) * 32px);
  }
  .research-motion-active [data-scroll-reveal]:focus-within {
    opacity: 1;
    translate: none;
  }
  .research-motion-active .research-photo > img {
    transform: scale(calc(1.08 - var(--photo-progress, .5) * .08));
  }
  .research-motion-active .research-photo > .research-photo-motion {
    transform: translateX(calc((var(--photo-progress, .5) - .5) * 3%)) scaleX(1.1) scaleY(1.04);
    opacity: calc(.65 + var(--photo-progress, .5) * .35);
  }
  @media (min-width: 1001px) {
    body.research-page main.research-main > .research-chapter-pinned {
      height: var(--chapter-height);
    }
    .research-chapter-pinned .chapter-stage {
      position: sticky;
      top: 100px;
    }
  }
}

/* Keep the position narrative beside a single, bounded visual stage. */
@media (min-width: 1001px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .research-motion-active .chapter-positions .chapter-stage {
    height: calc(100svh - 160px);
    min-height: 520px;
    grid-template-rows: 1fr;
    align-items: center;
  }
  .research-motion-active .chapter-positions .grid-copy { grid-column: 1; grid-row: 1; }
  .research-motion-active .chapter-positions .position-sequence { position: relative; height: 310px; }
  .research-motion-active .chapter-positions .position-sequence article {
    position: absolute; inset: 0; margin: 0;
  }
  .research-motion-active .chapter-positions .position-visual-card {
    grid-column: 2; grid-row: 1; width: 100%; height: min(580px,calc(100svh - 200px));
    margin: 0 !important; overflow: hidden;
  }
  .research-motion-active .chapter-positions .position-visual-card img { height: 100%; max-height: 100%; object-fit: contain; }
  .research-motion-active .research-chapter-pinned [data-scroll-reveal] { opacity: 1; translate: none; }
  .research-motion-active .chapter-positions .position-sequence article:nth-child(1) { opacity: var(--step-one,1); transform: translateY(calc((1 - var(--step-one,1)) * -45px)); }
  .research-motion-active .chapter-positions .position-sequence article:nth-child(2) { opacity: var(--step-two,0); transform: translateY(calc((1 - var(--step-two,0)) * 45px)); }
  .research-motion-active .chapter-positions .position-sequence article:nth-child(3) { opacity: var(--step-three,0); transform: translateY(calc((1 - var(--step-three,0)) * 45px)); }
  .research-motion-active .chapter-positions .grid-image-one { opacity: var(--step-one,1); transform: scale(calc(.92 + var(--step-one,1) * .08)); }
  .research-motion-active .chapter-positions .grid-image-two { opacity: calc(1 - var(--step-one,1)); transform: translateY(calc(var(--step-one,1) * 60px)) scale(calc(1 - var(--step-one,1) * .08)); }
  .research-chapter-pinned.chapter-problems .research-problems-photo { transform: scale(calc(.86 + var(--chapter-progress,0) * .14)); transform-origin: center; }
  .research-chapter-pinned.chapter-problems .problem-list { opacity: clamp(.2,calc(var(--chapter-progress,0) * 2.5),1); transform: translateY(calc((1 - clamp(0,var(--chapter-progress,0) * 2,1)) * 35px)); }
  .research-chapter-pinned.chapter-architecture .governance-source { opacity: clamp(.15,calc(var(--chapter-progress,0) * 3),1); transform: translateX(calc((1 - clamp(0,var(--chapter-progress,0) * 2.5,1)) * 60px)); }
  .research-chapter-pinned.chapter-architecture .governance-engine-card { opacity: clamp(.1,calc((var(--chapter-progress,0) - .15) * 3),1); transform: translateY(calc((1 - clamp(0,(var(--chapter-progress,0) - .15) * 2,1)) * 65px)); }
  .research-chapter-pinned.chapter-understanding .understanding-grid article { --delay: 0; opacity: clamp(.12,calc((var(--chapter-progress,0) - var(--delay)) * 3),1); transform: translateY(calc((1 - clamp(0,(var(--chapter-progress,0) - var(--delay)) * 3,1)) * 70px)); }
  .research-chapter-pinned.chapter-understanding .understanding-grid article:nth-child(2) { --delay: .2; }
  .research-chapter-pinned.chapter-understanding .understanding-grid article:nth-child(3) { --delay: .4; }
}
@media (max-width: 1000px), (max-height: 699px), (prefers-reduced-motion: reduce) {
  .chapter-positions .chapter-stage-grid { grid-template-columns: 1fr; }
  .chapter-positions .grid-copy { grid-row: auto; }
  .chapter-positions .position-visual-card { max-width: 640px; margin-inline: auto; width: 100%; }
}

@media (max-width: 960px) {
  .comparison-system { grid-template-columns: minmax(0,1fr); }
  .comparison-side + .comparison-side { border-left: 0; border-top: 1px solid var(--research-line); }
}
@media (max-width: 480px) {
  .comparison-drawing .diagram-labels { font-size: 20px; }
}

/* One decision told through three distinct photographic scenes. */
.decision-story-stage { display: flex; flex-direction: column; gap: 40px; }
.decision-story-heading { flex: none; }
body.research-page .research-main .decision-story-heading .depth-eyebrow { margin-bottom: 18px; }
.decision-story-scenes { display: grid; gap: 56px; }
.decision-story-scene { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; min-width: 0; }
.decision-story-copy { max-width: 510px; }
body.research-page .research-main .decision-story-step { display: flex; gap: 28px; padding-top: 20px; margin-bottom: 24px; border-top: 1px solid var(--research-line); font-size: 13px; color: #757575; }
.decision-story-step span { color: #393939; }
body.research-page .research-main .decision-story-copy h3 { font-size: clamp(30px,2.6vw,40px); line-height: 1.13; margin-bottom: 24px; }
body.research-page .research-main .decision-story-copy > p:last-child { max-width: 500px; font-size: 17px; line-height: 1.6; }
.decision-story-visual { position: relative; isolation: isolate; min-height: 430px; overflow: hidden; border-radius: 8px; display: flex; align-items: center; padding: 36px; background: #222; }
.research-main .decision-story-photo { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.decision-story-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#080808b8,#08080866); }
.decision-story-photo img { object-position: center 45%; }
.decision-story-scene-02 .decision-story-photo img { object-position: center 80%; }
.decision-story-flow { width: min(100%,390px); padding: 24px; background: #1119; border: 1px solid #ffffff38; border-radius: 6px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; }
body.research-page .research-main .decision-flow-label { font-size: 12px; color: #e1e1e1; margin-bottom: 24px; letter-spacing: .035em; }
.decision-story-flow ol { padding: 0; margin: 0; list-style: none; }
.decision-story-flow li { position: relative; display: grid; grid-template-columns: 10px 1fr; gap: 16px; padding-bottom: 28px; }
.decision-story-flow li:last-child { padding-bottom: 0; }
.decision-story-flow li:not(:last-child)::after { content: ''; position: absolute; width: 1px; left: 4px; top: 13px; bottom: 4px; background: #ffffff50; }
.decision-flow-dot { width: 9px; height: 9px; margin-top: 6px; border: 1px solid #fff9; border-radius: 50%; }
.decision-story-flow li:last-child .decision-flow-dot { background: #eee; }
.decision-story-flow strong { display: block; color: #fff; font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
.decision-story-flow li div > span { display: block; margin-top: 7px; color: #d0d0d0; font-size: 13px; line-height: 1.4; }
@media (min-width: 1001px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .research-motion-active .chapter-positions .decision-story-stage { display: flex; gap: 28px; align-items: stretch; }
  .research-motion-active .decision-story-scenes { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr; gap: 0; }
  .research-motion-active .decision-story-scene { grid-area: 1 / 1; min-height: 0; --scene-visibility: var(--step-one,1); opacity: var(--scene-visibility); pointer-events: none; }
  .research-motion-active .decision-story-scene-02 { --scene-visibility: var(--step-two,0); }
  .research-motion-active .decision-story-scene-03 { --scene-visibility: var(--step-three,0); }
  .research-motion-active .decision-story-copy { transform: translateY(calc((1 - var(--scene-visibility)) * 36px)); }
  .research-motion-active .decision-story-visual { min-height: 0; height: 100%; max-height: 540px; transform: scale(calc(.97 + var(--scene-visibility) * .03)); }
  .research-motion-active .decision-story-flow { transform: translateY(calc((1 - var(--scene-visibility)) * 48px)); }
}
@media (max-width: 1000px), (max-height: 699px), (prefers-reduced-motion: reduce) {
  .decision-story-scene { grid-template-columns: 1fr; gap: 28px; }
  .decision-story-copy { max-width: 680px; }
  .decision-story-visual { min-height: 400px; }
}
@media (max-width: 720px) {
  .decision-story-stage { gap: 36px; }
  .decision-story-scenes { gap: 56px; }
  .decision-story-visual { padding: 22px; min-height: 390px; }
  .decision-story-flow { padding: 22px 18px; }
  .decision-story-flow strong { font-size: 19px; }
}

/* Full-width research closer flows directly into the shared dark footer. */
body.research-page main.research-main > .partnership-section {
  padding: 0;
  background: #080808;
}
.partnership-section .partnership-cta-shell {
  width: 100%;
  margin: 0;
}
.partnership-section .partnership-cta-card {
  min-height: clamp(560px, 43vw, 820px);
  border-radius: 0;
  background: #080808;
}
.partnership-section .partnership-photo { border-radius: 0; }
.partnership-section .partnership-cta-card::after {
  background: linear-gradient(180deg, #08080812 0%, transparent 35%, #08080855 65%, #080808d9 88%, #080808 100%);
}
.partnership-section .partnership-cta-action {
  padding: 100px 24px 150px;
}
body.research-page .research-main .partnership-cta-action h2 {
  color: #f5f5f5;
  font-size: clamp(34px, 3.2vw, 56px);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.partnership-section .partnership-cta-action a {
  min-height: 52px;
  margin-top: 36px;
  padding: 14px 28px;
  font-size: 16px;
}
@media (max-width: 760px) {
  .partnership-section .partnership-cta-card { min-height: 540px; }
  .partnership-section .partnership-cta-action { padding: 80px 24px 120px; }
  .partnership-section .partnership-cta-action a {
    min-height: 48px;
    margin-top: 28px;
    padding: 14px 24px;
    gap: 16px;
  }
}
